亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于企業(yè)知識圖譜構(gòu)建的實體關(guān)聯(lián)查詢系統(tǒng)

        2021-09-18 06:21:46余敦輝
        計算機(jī)應(yīng)用 2021年9期
        關(guān)鍵詞:關(guān)聯(lián)度圖譜關(guān)聯(lián)

        余敦輝,萬 鵬,王 社

        (1.湖北大學(xué)計算機(jī)與信息工程學(xué)院,武漢 430062;2.湖北省教育信息化工程技術(shù)研究中心(湖北大學(xué)),武漢 430062;3.武漢城市職業(yè)學(xué)院計算機(jī)與電子信息工程學(xué)院,武漢 430061)

        (*通信作者電子郵箱369921179@qq.com)

        0 引言

        伴隨互聯(lián)網(wǎng)的迅猛發(fā)展,為滿足用戶信息獲取的需求,查詢和搜索系統(tǒng)的應(yīng)用日趨普及。但是,目前查詢系統(tǒng)大多建立在關(guān)系型數(shù)據(jù)庫的基礎(chǔ)之上,通過用戶輸入的檢索詞返回查詢到的網(wǎng)頁、圖片、音視頻等數(shù)據(jù)資源。而使用關(guān)系型數(shù)據(jù)庫存儲數(shù)據(jù)所存在的問題:一是在查詢層面,圖這種數(shù)據(jù)結(jié)構(gòu)具有強(qiáng)大的語義表達(dá)能力,而傳統(tǒng)的關(guān)系數(shù)據(jù)庫在處理“圖”型數(shù)據(jù)上卻存在著諸多困難,針對表結(jié)構(gòu)數(shù)據(jù)去做圖結(jié)構(gòu)層面的基于關(guān)系、屬性的關(guān)聯(lián)計算,導(dǎo)致在時間和空間的開銷均比較大;二是存儲層面,關(guān)系型數(shù)據(jù)庫存儲的數(shù)據(jù)量越大,對查詢速度的影響就越明顯,而且關(guān)系型數(shù)據(jù)庫難以適應(yīng)有實時性的數(shù)據(jù)關(guān)系;三是在數(shù)據(jù)展示層面,圖數(shù)據(jù)庫返回結(jié)果是圖結(jié)構(gòu)的知識,不需要額外的數(shù)據(jù)處理開銷,就可以直接在頁面上做圖形渲染,實現(xiàn)知識圖譜的可視化展示。

        因此,考慮到近年來發(fā)展迅猛的圖數(shù)據(jù)庫在存儲關(guān)系數(shù)據(jù)上的優(yōu)勢,本文從應(yīng)用角度出發(fā),以實際開發(fā)項目——企業(yè)信用認(rèn)證服務(wù)平臺為項目背景,分析并設(shè)計了基于知識圖譜的外貿(mào)企業(yè)查詢系統(tǒng),并在此基礎(chǔ)上提出一種實體關(guān)聯(lián)的查詢方法。

        本文的主要工作如下:

        1)針對現(xiàn)有的關(guān)系型數(shù)據(jù)庫數(shù)據(jù),設(shè)計一種自動化構(gòu)建方法,根據(jù)圖數(shù)據(jù)存儲規(guī)范,生成節(jié)點關(guān)系映射圖,完成表數(shù)據(jù)到圖數(shù)據(jù)的轉(zhuǎn)換,并實現(xiàn)數(shù)據(jù)實時更新;

        2)提出了一種基于實體關(guān)聯(lián)的查詢方法,該方法同時考慮實體之間的屬性和關(guān)系兩類語義信息,并采用分層過濾模型提高查詢效率,在查詢速度和過濾性能上均有明顯提升。

        1 相關(guān)工作

        在知識圖譜的構(gòu)建方面,目前國外許多機(jī)構(gòu)都構(gòu)建了千萬級甚至上億級的大規(guī)模知識圖譜,如DBpedia、Freebase、GraphDB、Wikidata、WordNet、Yago 等;與此同時,國內(nèi)也出現(xiàn)越來越多成熟的知識圖譜產(chǎn)品,從早期上海交通大學(xué)構(gòu)建的zhishi.me 知識庫,到百度的知識圖譜開放平臺、搜狗的知立方、OpenKG中文知識圖譜、Ownthink通用知識圖譜等,越來越多的國內(nèi)平臺也已經(jīng)投入到知識圖譜的研究中,為開展知識圖譜的各方面研究提供了數(shù)據(jù)支持。關(guān)于知識圖譜構(gòu)建的研究[1-2],已經(jīng)有比較成熟的理論基礎(chǔ),而目前針對關(guān)系型數(shù)據(jù)庫的表數(shù)據(jù)構(gòu)建知識圖譜也有比較成熟的方法,包括本文使用的Neo4j 也有自己的構(gòu)建工具,但是還無法完全解決數(shù)據(jù)同步更新的問題。一般來說目前絕大多數(shù)商業(yè)平臺主要還是以關(guān)系數(shù)據(jù)庫存儲為主,用戶進(jìn)行操作后,需要將數(shù)據(jù)更新到圖數(shù)據(jù)庫中,更新時需要考慮實體鏈接、實體消歧等問題,以及在更新時存在增、刪、改等多種情況,因此結(jié)合實際項目的關(guān)系型數(shù)據(jù)庫數(shù)據(jù)來構(gòu)建知識圖譜仍然具有很大的研究價值。

        在知識圖譜查詢和搜索方面,目前主要研究搜索意圖的理解以及實體搜索兩大方面的內(nèi)容,通過實體搜索可以發(fā)現(xiàn)更多相關(guān)實體或展示實體間的屬性和關(guān)系。近年來,國內(nèi)關(guān)于知識圖譜相關(guān)的研究日益增多,李陽等[3]研究了知識圖譜實體相似度計算的通用方法,為知識圖譜查詢和計算提供了參考依據(jù);王鑫等[4]研究了目前知識圖譜可視化查詢領(lǐng)域主流的方法和技術(shù),為知識圖譜的可視化提供了理論支持;張玲玉等[5]和趙展浩等[6]分別從節(jié)點相關(guān)系數(shù)、圖的拓?fù)浣Y(jié)構(gòu)兩個方面來實現(xiàn)對圖譜的查詢,雖然在查詢性能上實現(xiàn)了優(yōu)化,但是查詢時間較長,實時性較差;楊榮等[7]和蘇永浩等[8]設(shè)計并實現(xiàn)了知識圖譜查詢系統(tǒng),但是并沒有發(fā)揮圖數(shù)據(jù)庫的強(qiáng)大的計算能力來進(jìn)一步改進(jìn)查詢性能。目前知識圖譜的查詢[9-12]手段主要是以節(jié)點相似度[13-18]作為衡量標(biāo)準(zhǔn),查詢時會將相似度最高的實體作為返回結(jié)果,因此加強(qiáng)查詢的語義關(guān)聯(lián)性是研究重點。

        2 系統(tǒng)整體構(gòu)建流程

        本文所實現(xiàn)的企業(yè)知識圖譜的實體關(guān)聯(lián)查詢系統(tǒng)框架如圖1所示,按構(gòu)建流程順序主要分為以下3個方面:

        圖1 系統(tǒng)框架Fig.1 System framework

        1)企業(yè)知識圖譜的構(gòu)建:本文主要研究的知識圖譜構(gòu)建方法是根據(jù)圖數(shù)據(jù)庫的存儲格式標(biāo)準(zhǔn),定義節(jié)點屬性和關(guān)系,并建立節(jié)點關(guān)系映射圖,通過自動化腳本完成傳統(tǒng)關(guān)系型數(shù)據(jù)庫的表數(shù)據(jù)轉(zhuǎn)化為圖數(shù)據(jù)庫的圖數(shù)據(jù)任務(wù)。

        2)基于實體關(guān)聯(lián)的查詢方法:構(gòu)建好圖數(shù)據(jù)庫后,基于關(guān)聯(lián)分析的查詢會查詢數(shù)據(jù)庫中與目標(biāo)實體在結(jié)構(gòu)或?qū)傩陨舷嗨频膱D集合。在本文所實現(xiàn)的企業(yè)查詢系統(tǒng)中,將節(jié)點相似度作為衡量企業(yè)關(guān)聯(lián)度的一個標(biāo)準(zhǔn),在此基礎(chǔ)上,為了解決查詢語義程度不高的問題,該方法不僅考慮了節(jié)點本身屬性,還考慮了不同節(jié)點之間的關(guān)聯(lián)關(guān)系,以此來發(fā)掘出與目標(biāo)企業(yè)關(guān)聯(lián)度最高的多家企業(yè)實體。本文實現(xiàn)的關(guān)聯(lián)查詢方法使用一種改進(jìn)的相似度相關(guān)系數(shù)來進(jìn)行計算,該方法將查詢圖中的特征提取出來,構(gòu)建特征向量或特征集合,如果特征集合的維度相同,則考慮使用Jaccard、Overlap 等相關(guān)系數(shù)的計算;如果特征集合的維度不同,則考慮使用Cosine、Pearson等相關(guān)系數(shù)的計算。通過相關(guān)系數(shù)公式計算兩個實體之間的相似性之后,再通過動態(tài)閾值完成對查詢集合的過濾,就可以得到與目標(biāo)節(jié)點相關(guān)聯(lián)的查詢結(jié)果集。

        3)知識圖譜前端可視化展示:本文使用節(jié)點鏈接的方法實現(xiàn)圖譜的可視化表達(dá),它將本體表示為互連節(jié)點,用點或圓等形狀表示節(jié)點,節(jié)點間的邊用連線表示,當(dāng)前端獲取到服務(wù)器發(fā)送的數(shù)據(jù)后,會按照圖的數(shù)據(jù)格式標(biāo)準(zhǔn),將數(shù)據(jù)以圖的形式展示出來。同時在Web 端使用數(shù)據(jù)驅(qū)動文檔(Data-Driven Documents,D3)為知識圖譜數(shù)據(jù)構(gòu)建力導(dǎo)向圖物理模型,當(dāng)用戶拖動或者數(shù)據(jù)變化時,瀏覽器自動進(jìn)行渲染,實現(xiàn)動態(tài)調(diào)整數(shù)據(jù)的排布。

        3 系統(tǒng)架構(gòu)設(shè)計與實現(xiàn)

        3.1 外貿(mào)企業(yè)知識圖譜的構(gòu)建

        要使用知識圖譜作企業(yè)關(guān)聯(lián)分析,首先需要構(gòu)建知識圖譜,本文以平臺中查詢所涉及到的表作為數(shù)據(jù)源,將傳統(tǒng)關(guān)系型數(shù)據(jù)庫中的表轉(zhuǎn)化為圖數(shù)據(jù)庫的圖結(jié)構(gòu)數(shù)據(jù)。通過Python的pandas 庫來對數(shù)據(jù)作預(yù)處理,使處理過后的數(shù)據(jù)滿足圖數(shù)據(jù)庫存儲的格式規(guī)范;再通過Python 的py2neo 庫和pymysql庫分別與圖數(shù)據(jù)庫neo4j 和關(guān)系型數(shù)據(jù)庫mysql 進(jìn)行連接,建立數(shù)據(jù)庫通信管道,將數(shù)據(jù)從關(guān)系型數(shù)據(jù)庫導(dǎo)入到圖數(shù)據(jù)庫中,最終構(gòu)建出外貿(mào)企業(yè)的知識圖譜。

        其中企業(yè)知識圖譜構(gòu)建步驟如圖2 所示,具體的構(gòu)建步驟如下:

        圖2 外貿(mào)企業(yè)知識圖譜構(gòu)建步驟Fig.2 Steps for constructing knowledge graph of foreign trade enterprise

        1)數(shù)據(jù)預(yù)處理:首先將企業(yè)信用認(rèn)證平臺中存儲在關(guān)系數(shù)據(jù)庫中的相關(guān)表TB_ENTERPRISEINFO_FUSE(企業(yè)信息融合表)和TB_COMPANY_REGISTER(公司注冊信息表)去除掉數(shù)據(jù)類型為BLOB、CLOB 等非必要字段、敏感字段以及空數(shù)據(jù)較多的數(shù)據(jù)行,將數(shù)據(jù)以逗號分隔值(Comma-Separated Values,CSV)格式導(dǎo)出,最終導(dǎo)出約11萬家外貿(mào)企業(yè)數(shù)據(jù)。

        2)定義實體和關(guān)系,分析表字段之間的關(guān)系,根據(jù)表字段定義構(gòu)建的知識圖譜的實體和關(guān)系如下:

        a)實 體:企業(yè)(enterprise)、地區(qū)(region)、出口國家(country)、企業(yè)類型(enterprise_type)。

        b)關(guān)系:位于(locate)、出口(export)、類型(type)。

        3)數(shù)據(jù)導(dǎo)入:通過Python 讀取到CSV 格式數(shù)據(jù)后,根據(jù)上述的實體和關(guān)系對生成實體關(guān)系映射圖,將數(shù)據(jù)格式化為py2neo 庫中的Node、Relation 類數(shù)據(jù),分別作為實體和關(guān)系類數(shù)據(jù)存儲到圖數(shù)據(jù)庫中,并在本地日志中記錄構(gòu)建信息。

        4)數(shù)據(jù)同步:以上為通用構(gòu)建過程,之后程序會根據(jù)本地的圖數(shù)據(jù)庫構(gòu)建日志信息,判斷是否是第一次構(gòu)建,是則會進(jìn)行定時監(jiān)聽,通過表的時間戳字段和日志的時間比較檢查是否有新的數(shù)據(jù),完成數(shù)據(jù)同步。

        最終構(gòu)建的知識圖譜存儲的節(jié)點與關(guān)系信息如圖3所示。

        圖3 外貿(mào)企業(yè)圖數(shù)據(jù)庫查詢界面Fig.3 Foreign trade enterprise graph database query interface

        3.2 外貿(mào)企業(yè)關(guān)聯(lián)查詢方法

        企業(yè)關(guān)聯(lián)查詢從實體本身和實體之間的關(guān)聯(lián)關(guān)系兩個維度去考慮,計算出目標(biāo)企業(yè)實體和待查詢的企業(yè)實體之間的實體關(guān)聯(lián)度和關(guān)系關(guān)聯(lián)度,通過求和公式得到總的關(guān)聯(lián)度得分,最終根據(jù)關(guān)聯(lián)度得分的高低,篩選出得分最高的K(K>0)家企業(yè)作為查詢的結(jié)果集,并返回給用戶。

        該企業(yè)關(guān)聯(lián)分析總體分4個階段:

        1)路徑過濾階段。通過限制節(jié)點的公共關(guān)系個數(shù)將關(guān)聯(lián)程度較低的節(jié)點先過濾出來,用來初步確定與目標(biāo)企業(yè)有一定關(guān)聯(lián)度的候選集,減少計算量,提高查詢性能。

        2)關(guān)系發(fā)掘階段。根據(jù)實體之間的關(guān)聯(lián)關(guān)系計算基于關(guān)系的關(guān)聯(lián)度,同時設(shè)定關(guān)系閾值T1,將候選集中滿足關(guān)系關(guān)聯(lián)度>T1的查詢實體篩選出來,作為查詢候選集。

        3)實體發(fā)掘階段。將查詢候選集作為輸入,根據(jù)實體的本體標(biāo)簽計算基于實體的關(guān)聯(lián)度,同時設(shè)定實體閾值T2,對候選集作進(jìn)一步篩選和過濾。

        4)總關(guān)聯(lián)度排序階段。根據(jù)關(guān)系關(guān)聯(lián)度和實體關(guān)聯(lián)度來對查詢候選集中的實體進(jìn)行總關(guān)聯(lián)度計算,按總關(guān)聯(lián)度得分高低進(jìn)行排序,將排序后的結(jié)果作為查詢結(jié)果集。

        最終該企業(yè)關(guān)聯(lián)分析計算方法流程如圖4所示。

        圖4 關(guān)聯(lián)分析計算流程Fig.4 Association analysis calculation flow

        3.2.1 路徑過濾階段

        當(dāng)圖數(shù)據(jù)庫存儲到百萬甚至千萬的數(shù)據(jù)量時,對每一個查詢節(jié)點都進(jìn)行關(guān)聯(lián)分析會產(chǎn)生巨大的計算消耗,這就會使方法的時間復(fù)雜度大大提高,從而導(dǎo)致對企業(yè)的關(guān)聯(lián)分析計算不再適用于對實時性要求比較高的外貿(mào)企業(yè)查詢系統(tǒng)。所以在企業(yè)關(guān)聯(lián)分析前先通過路徑過濾方法快速過濾,用來初步篩選出一個待查詢集合。

        路徑過濾階段通過圖的路徑搜索方法快速找到和查詢節(jié)點之間的關(guān)系路徑,并計算路徑的個數(shù),則可以得到路徑個數(shù)即為兩個不同節(jié)點之間總的公共關(guān)系個數(shù),并且以公共關(guān)系個數(shù)作為過濾條件,過濾出查詢候選集。該過濾條件是下一階段關(guān)系發(fā)掘階段的充要條件,原因有兩點:一是如果無公共關(guān)系,則可以近似認(rèn)為兩實體的關(guān)聯(lián)度為0;二是如果兩個節(jié)點之間的公共關(guān)系個數(shù)很少,則可以認(rèn)為兩實體之間的關(guān)聯(lián)度較低,不在查詢集合范圍之內(nèi)。如果關(guān)聯(lián)節(jié)點之間滿足至少有N(N>0)條公共關(guān)系的節(jié)點,則N越大過濾效果越好,以此來保證搜索到的節(jié)點能滿足過濾條件。

        由上可定義路徑過濾階段的過濾方法如圖5 所示,記目標(biāo)節(jié)點的自身關(guān)系個數(shù)為self以及與查詢節(jié)點的公共路徑個數(shù)為U,考慮到不同節(jié)點的self和U都不相同,則取U>self/2作為過濾條件。如圖5所示,假設(shè)查詢的目標(biāo)企業(yè)節(jié)點有3個鄰居節(jié)點,則自身關(guān)系個數(shù)為3,與目標(biāo)關(guān)聯(lián)的企業(yè)節(jié)點的公共路徑個數(shù)為2 滿足過濾條件,而非關(guān)聯(lián)節(jié)點的公共路徑個數(shù)為1 即不滿足過濾條件。這樣通過路徑搜索過濾就大大減少了待計算的查詢實體,提高方法效率和查詢的實時性。

        圖5 路徑過濾階段的過濾方法Fig.5 Filtering method for path filtering stage

        3.2.2 實體關(guān)系發(fā)掘階段

        根據(jù)企業(yè)的外貿(mào)出口、所在地區(qū)以及企業(yè)類型三種關(guān)聯(lián)關(guān)系作為關(guān)系發(fā)掘的條件。首先設(shè)定過濾閾值,若待查詢企業(yè)計算出的關(guān)系關(guān)聯(lián)度大于該閾值,則將該企業(yè)作為備選結(jié)果集中的一個。針對不同種類的關(guān)聯(lián)關(guān)系,所采取的計算方法也不同,在計算關(guān)聯(lián)度時需要考慮三種關(guān)系的權(quán)重值。

        由上可定義關(guān)系發(fā)掘的計算方法:將目標(biāo)企業(yè)節(jié)點記為q,待查詢企業(yè)節(jié)點記為g,計算權(quán)重表示為wi,兩個節(jié)點所對應(yīng)的關(guān)系集合記為Rq和Rg,其中集合中所對應(yīng)的外貿(mào)出口、所在地區(qū)以及企業(yè)類型三個關(guān)聯(lián)關(guān)系分別為Rq1、Rq2、Rq3和Rg1、Rg2、Rg3。則兩節(jié)點的關(guān)聯(lián)相似度得分可表示為:

        在傳統(tǒng)相似度的查詢過濾方法中,一般會定義閾值作為過濾條件,設(shè)關(guān)系發(fā)掘的閾值為T1,那么過濾的不等式就可以表示為sim(q,g) >T1,但是在本系統(tǒng)中考慮到不同節(jié)點之間的三種關(guān)系總和存在差異,閾值應(yīng)該不是唯一的,所以定義企業(yè)查詢過濾的動態(tài)閾值Tdynamic隨節(jié)點關(guān)系總數(shù)n的變化而變化,可以得到公式:

        最后,總的過濾不等式就可以表示為:

        如果查詢的企業(yè)滿足以上過濾條件,就將該查詢企業(yè)作為查詢候選集中的一個。

        3.2.3 實體屬性發(fā)掘階段

        經(jīng)過關(guān)系發(fā)掘后,再對以上備選結(jié)果集中的企業(yè)進(jìn)行本體發(fā)掘,根據(jù)備選結(jié)果集中企業(yè)節(jié)點的標(biāo)簽屬性,包括成立時間、注冊資本、注冊地址以及公司名稱一共4 個標(biāo)簽屬性,其中標(biāo)簽屬性的數(shù)據(jù)類型分為數(shù)值類型、日期類型、字符串類型,那么根據(jù)標(biāo)簽數(shù)據(jù)類型分別作不同的關(guān)聯(lián)度計算,來綜合進(jìn)行實體關(guān)聯(lián)度評價,設(shè)定實體關(guān)聯(lián)相似度的閾值為T2,若計算的關(guān)聯(lián)度小于T2,則將該企業(yè)從備選結(jié)果集中刪除。

        由此可定義本體發(fā)掘的計算方法:將目標(biāo)企業(yè)節(jié)點記為q,待查詢企業(yè)節(jié)點記為g,根據(jù)實體屬性數(shù)據(jù)類型,記目標(biāo)企業(yè)節(jié)點q數(shù)值類型、日期類型、字符串類型的標(biāo)簽分別為Lnum、Ldate、Lstring;待查詢企業(yè)節(jié)點g數(shù)值類型、日期類型、字符串類型的標(biāo)簽分別為Lnum'、Ldate'、Lstring'。

        則對數(shù)值型標(biāo)簽屬性的關(guān)聯(lián)相似度得分計算公式可表示為:

        對日期型標(biāo)簽屬性,可以考慮先將日期轉(zhuǎn)化為時間戳的格式,即當(dāng)前日期與指定日期所相差的毫秒數(shù),此時日期型標(biāo)簽屬性就轉(zhuǎn)化為數(shù)值類型值,再通過以上數(shù)值型標(biāo)簽的關(guān)聯(lián)度計算公式計算得到日期型的關(guān)聯(lián)度得分Scoredate(q,g)。

        對字符串類型標(biāo)簽屬性,考慮使用萊文斯坦距離進(jìn)行計算和度量,萊文斯坦是一種文本編輯距離的計算方法,它針對兩個不同文本之間的直接差異程度制定量化規(guī)則來進(jìn)行量測,量測的方式是看至少需要多少次編輯操作才能將其中一個字符串變成另外一個字符串,允許的編輯操作一般包括單個字符的替換、插入和刪除操作。記兩個文本之間的萊文斯坦距離為Distance(Lstring,Lstring'),且該值不等于0,則所有備選結(jié)果集中的最小萊文斯坦距離可表示為Min({d:Distance})。最終字符串類型標(biāo)簽的計算公式可表示為:

        綜合上述三種類型的標(biāo)簽關(guān)聯(lián)度公式,可以得到總的標(biāo)簽關(guān)聯(lián)度公式為:

        3.2.4 總關(guān)聯(lián)度排序階段

        在最終的結(jié)果集中,結(jié)合本體發(fā)掘的關(guān)聯(lián)相似度和關(guān)系發(fā)掘的關(guān)聯(lián)相似度,對每個節(jié)點計算總得分后再進(jìn)行排序,獲得最終排序后的結(jié)果集,并返回給用戶。

        通過企業(yè)關(guān)聯(lián)查詢的整體流程可以發(fā)現(xiàn),關(guān)系發(fā)掘階段決定了查詢候選集合的大小,在計算總關(guān)聯(lián)度得分時應(yīng)占據(jù)更大的比重,而本體發(fā)掘則只影響查詢候選集的總關(guān)聯(lián)度得分,所以記關(guān)聯(lián)度比重分別為α、β(其中α+β=1,且α>β),則總關(guān)聯(lián)度得分公式可表示為:

        3.3 查詢系統(tǒng)的前端可視化實現(xiàn)

        知識圖譜的可視化是數(shù)據(jù)可視化技術(shù)中的一個分支,它能夠直觀地將實體之間的關(guān)系給展示出來。在系統(tǒng)查詢到關(guān)聯(lián)數(shù)據(jù)后,需要利用可視化技術(shù)將查詢到的數(shù)據(jù)顯示到瀏覽器上,目前Web 前端有很多主流的可視化圖形庫,本次前端可視化選用D3 實現(xiàn),它是一個JavaScript 的函數(shù)庫,底層是通過可縮放矢量圖形(Scalable Vector Graphics,SVG)來完成繪圖任務(wù),D3 將有關(guān)SVG 繪圖的操作封裝起來,使開發(fā)人員可以更好地注重于圖表的布局和邏輯。

        知識圖譜是基于節(jié)點和鏈接關(guān)系的,目前有很多關(guān)于知識圖譜的可視化方法,其中力導(dǎo)向圖是節(jié)點鏈接可視表達(dá)中的一種,通過綁定節(jié)點、關(guān)系兩類數(shù)據(jù)來進(jìn)行渲染,每一個節(jié)點數(shù)據(jù)都會隨機(jī)在瀏覽器上某坐標(biāo)處生成一個圓形,在根據(jù)關(guān)系數(shù)據(jù)在兩節(jié)點間繪制線段來描述關(guān)系,繪制完成后通過模擬兩節(jié)點之間的牽引力,在斥力和引力的作用下,節(jié)點就從原本的隨機(jī)無序布局不斷位移,最后逐漸趨于平衡有序的布局。

        根據(jù)力導(dǎo)向圖原理,通過D3庫將查詢到的數(shù)據(jù)進(jìn)行可視化展示,最終在瀏覽器顯示的外貿(mào)企業(yè)知識圖譜片段如圖6所示。

        圖6 外貿(mào)企業(yè)知識圖譜前端可視化片段Fig.6 Front-end visualized fragments of knowledge graph of foreign trade enterprises

        3.4 系統(tǒng)查詢結(jié)果展示

        本文實現(xiàn)的外貿(mào)企業(yè)查詢系統(tǒng)使用了JavaScript 的Node環(huán)境完成前后端開發(fā)工作,前端采用D3+Ajax 實現(xiàn)數(shù)據(jù)交互和圖譜的可視化展示工作,后端采用koa2 框架為前端提供數(shù)據(jù)接口服務(wù),并完成外貿(mào)企業(yè)的關(guān)聯(lián)分析計算任務(wù)。

        該查詢系統(tǒng)是在實際項目的基礎(chǔ)上,針對外貿(mào)企業(yè)查詢這一功能所實現(xiàn)的Nodejs前后端分離項目。系統(tǒng)整體構(gòu)建流程如下:

        1)確定系統(tǒng)開發(fā)技術(shù),包括前后端框架技術(shù)選型、圖數(shù)據(jù)庫存儲、編程環(huán)境、開發(fā)工具和后臺服務(wù)器。

        2)完成結(jié)構(gòu)化數(shù)據(jù)到圖結(jié)構(gòu)數(shù)據(jù)的轉(zhuǎn)化以及圖數(shù)據(jù)庫的構(gòu)建過程。

        3)前后端聯(lián)調(diào),實現(xiàn)整體查詢展示功能一體化。

        根據(jù)構(gòu)建流程成功運行系統(tǒng)服務(wù)之后,用戶在頁面輸入查詢內(nèi)容時,前端會通過Ajax 向后端請求數(shù)據(jù),后端服務(wù)器會自動查詢關(guān)鍵詞對應(yīng)的目標(biāo)企業(yè)和與目標(biāo)企業(yè)相關(guān)聯(lián)的其他企業(yè)信息作為結(jié)果返回,前端接收數(shù)據(jù)后將結(jié)果展示給用戶。

        以查詢玉環(huán)某設(shè)備有限公司為例,最終后臺查詢結(jié)果及前端展示效果如圖7所示。

        圖7 查詢結(jié)果展示Fig.7 Query result display

        4 實驗與結(jié)果分析

        4.1 系統(tǒng)環(huán)境

        本文所實現(xiàn)的查詢系統(tǒng)運行的具體硬件環(huán)境為:Intel Core i5-8300 CPU@ 2.30 GHz,GeForce GTX 1050 GPU,20 GB RAM,操作系統(tǒng)為Windows 10;具體軟件環(huán)境為:開發(fā)語言為JavaScript,集成開發(fā)環(huán)境使用Visual Studio Code 的V1.49.2版本來編寫代碼,后端采用Node 的V12.18.2 版本實現(xiàn)關(guān)聯(lián)查詢功能,圖數(shù)據(jù)庫采用Neo4j的3.5.6版本來存儲圖數(shù)據(jù)。

        4.2 實驗結(jié)果與分析

        本文選用了企業(yè)信用認(rèn)證平臺中約11 萬條外貿(mào)企業(yè)測試用數(shù)據(jù)作為實驗樣本,構(gòu)建了基于Neo4j 的圖數(shù)據(jù)庫,在此基礎(chǔ)上根據(jù)節(jié)點自身的關(guān)系數(shù)來衡量節(jié)點的關(guān)聯(lián)強(qiáng)度,并將企業(yè)節(jié)點分為弱關(guān)聯(lián)節(jié)點(節(jié)點關(guān)系數(shù)小于10)、中等關(guān)聯(lián)節(jié)點(節(jié)點關(guān)系數(shù)在10~20)、強(qiáng)關(guān)聯(lián)節(jié)點(節(jié)點關(guān)系數(shù)大于20),根據(jù)節(jié)點分類情況,對每一類節(jié)點隨機(jī)抽取10 家企業(yè)實體做關(guān)聯(lián)查詢,計算不同參數(shù)下的平均過濾性能,并和目前常見的查詢方法比較過濾性能和查詢時間。

        圖8 單獨測試了路徑過濾階段隨著查詢節(jié)點和候選節(jié)點的公共關(guān)系N的變化,所得到的過濾結(jié)果集大小,由圖8 的實驗數(shù)據(jù)可以說明,按照一定的公共關(guān)系數(shù)作為過濾條件,可以過濾掉大部分的無關(guān)節(jié)點,減少無關(guān)節(jié)點的計算消耗和時間消耗。

        圖8 過濾階段公共關(guān)系數(shù)對過濾性能的影響Fig.8 Influence of the number of public relations in filtering stage on filtering performance

        圖9 單獨測試了關(guān)聯(lián)查詢中關(guān)系發(fā)掘階段的過濾性能,在原有的動態(tài)閾值T的基礎(chǔ)上,每次變化間隔為0.05,記錄不同的閾值所得到的過濾結(jié)果集大小。從圖9 可看出,在動態(tài)閾值T附近的過濾性效趨于平穩(wěn),并且能夠較好的過濾查詢結(jié)果。

        圖9 動態(tài)閾值的變化對過濾性能的影響Fig.9 Influence of dynamic threshold change on filtering performance

        圖10 考慮了關(guān)系發(fā)掘階段在極端情況下的過濾性能,極端情況指的是查詢節(jié)點的公共關(guān)系數(shù)小于關(guān)系類型個數(shù)(本實驗有3 類關(guān)系:locate、type、region),展示了針對動態(tài)閾值和傳統(tǒng)過濾方法中使用靜態(tài)閾值過濾的效果比較,可以看到極端情況下使用動態(tài)閾值的過濾性能明顯要好于靜態(tài)閾值。

        圖10 極端情況下不同動靜態(tài)閾值的過濾性能對比Fig.10 Comparison of filtering performance of different dynamic and static thresholds under extreme conditions

        接下來,將本文系統(tǒng)的關(guān)聯(lián)查詢和僅單獨使用Jaccard、Overlap 兩種節(jié)點相似度計算方法進(jìn)行對比,測試并比較了三種方法所得到的過濾結(jié)果數(shù)和查詢時間,結(jié)果如圖11~12 所示。橫軸同樣按查詢節(jié)點的關(guān)系數(shù)分為弱關(guān)聯(lián)節(jié)點、中等關(guān)聯(lián)節(jié)點、強(qiáng)關(guān)聯(lián)節(jié)點來比較,圖11指出使用4層過濾的關(guān)聯(lián)查詢在查詢效率上普遍優(yōu)于其他方法,同時圖12 指出關(guān)聯(lián)查詢和Jaccard 查詢的過濾性能要明顯比使用Overlap 計算關(guān)聯(lián)程度更好,并且由于關(guān)聯(lián)查詢在本體發(fā)掘階段考慮了節(jié)點本身的屬性,會重新計算關(guān)聯(lián)程度,這樣就避免了在某些候選節(jié)點的關(guān)系關(guān)聯(lián)度達(dá)不到閾值的情況下,使用Jaccard 計算后查詢結(jié)果集過少甚至為0的情況。

        圖11 不同關(guān)聯(lián)程度時三種方法查詢時間對比Fig.11 Comparison of query time of three methods in different degrees of relevance

        圖12 不同關(guān)聯(lián)程度時三種方法查詢結(jié)果集個數(shù)對比Fig.12 Comparison of numbers of query result sets of three methods in different degrees of relevance

        最后,為了驗證方法的有效性,將該關(guān)聯(lián)查詢方法分別運行在關(guān)系數(shù)據(jù)庫和圖數(shù)據(jù)庫上,同時選取基于鄰居向量的Ness[19]方法和基于標(biāo)簽相似度的NeMa[20]兩種代表性的圖匹配查詢方法與實體關(guān)聯(lián)查詢方法做性能對比,實驗結(jié)果如圖13~14所示。Ness 方法采用迭代驗證,先進(jìn)行標(biāo)簽匹配,再計算查詢節(jié)點與目標(biāo)節(jié)點的匹配開銷;NeMa方法結(jié)合了節(jié)點標(biāo)簽和鄰居結(jié)構(gòu)計算相似度,來匹配相似節(jié)點。由于本文圖譜的節(jié)點沒有二路鄰居,所以兩個基準(zhǔn)方法均以一路的鄰居節(jié)點來進(jìn)行實驗。實驗結(jié)果表明,關(guān)聯(lián)查詢方法并不適用在關(guān)系數(shù)據(jù)庫上,在過濾性能相同的情況下,查詢的時間開銷較大,不適合應(yīng)用在實時性要求較高的查詢系統(tǒng)。在與兩種基準(zhǔn)方法的對比下,雖然查詢關(guān)系數(shù)少節(jié)點的查詢效率高于兩種基準(zhǔn)方法,但是由于極端情況下關(guān)系數(shù)多的查詢節(jié)點對標(biāo)簽信息的計算增加,導(dǎo)致關(guān)聯(lián)查詢對強(qiáng)關(guān)聯(lián)節(jié)點的查詢時間要明顯優(yōu)于兩種基準(zhǔn)方法,最終查詢時間相較于兩種基準(zhǔn)方法平均降低了28.5%;同時由于關(guān)聯(lián)查詢結(jié)合了屬性和關(guān)系信息,其過濾性能在三種類型的節(jié)點上均優(yōu)于兩種基準(zhǔn)方法,平均提高了29.6%。綜合以上兩點可以得出,采用四個階段的關(guān)聯(lián)查詢不僅有更快的查詢響應(yīng)速度,而且查詢的過濾性能也更強(qiáng)。

        圖13 不同關(guān)聯(lián)程度時方法查詢時間對比Fig.13 Comparison of query time of methods in different degrees of relevance

        圖14 不同關(guān)聯(lián)程度時方法查詢結(jié)果集個數(shù)對比Fig.14 Comparison of numbers of query result sets of methods in different degrees of relevance

        5 結(jié)語

        本文在知識圖譜查詢問題的研究中,以實際項目——外貿(mào)企業(yè)信用認(rèn)證服務(wù)平臺為背景,首先基于現(xiàn)有的關(guān)系型數(shù)據(jù)庫數(shù)據(jù)構(gòu)建企業(yè)知識圖譜,然后提出了針對企業(yè)實體的關(guān)聯(lián)查詢方法,實現(xiàn)發(fā)掘與目標(biāo)企業(yè)相關(guān)聯(lián)其他企業(yè)的功能,可以為企業(yè)提供更多有價值的信息,促進(jìn)企業(yè)之間的貿(mào)易與合作。

        通過實驗數(shù)據(jù)對比,驗證了本文提出的查詢方法在過濾性能和查詢效率上均優(yōu)于傳統(tǒng)圖查詢方法。未來本文將進(jìn)一步考慮加入更多的實體屬性和關(guān)系來完善企業(yè)信息,降低數(shù)據(jù)噪聲,并在原有查詢的基礎(chǔ)上加入更多的特征,提高查詢的準(zhǔn)確性。

        猜你喜歡
        關(guān)聯(lián)度圖譜關(guān)聯(lián)
        繪一張成長圖譜
        “一帶一路”遞進(jìn),關(guān)聯(lián)民生更緊
        奇趣搭配
        補(bǔ)腎強(qiáng)身片UPLC指紋圖譜
        中成藥(2017年3期)2017-05-17 06:09:01
        基于灰色關(guān)聯(lián)度的水質(zhì)評價分析
        智趣
        讀者(2017年5期)2017-02-15 18:04:18
        主動對接你思維的知識圖譜
        基于灰關(guān)聯(lián)度的鋰電池組SOH評價方法研究
        基于灰色關(guān)聯(lián)度的公交線網(wǎng)模糊評價
        河南科技(2014年16期)2014-02-27 14:13:25
        廣義區(qū)間灰數(shù)關(guān)聯(lián)度模型
        亚洲xx视频| 中国人妻被两个老外三p| 天天做天天爱天天综合网| 久久婷婷是五月综合色狠狠| 美利坚亚洲天堂日韩精品| 亚洲中文字幕午夜精品| 国产性生大片免费观看性| 亚洲综合色秘密影院秘密影院| 蜜臀av人妻一区二区三区| 亚洲一二三区免费视频| 国产在线观看无码免费视频| 国产爽爽视频在线| 日韩精品免费一区二区中文字幕 | 亚洲AV无码精品一区二区三区l| 琪琪av一区二区三区| 国产极品美女高潮无套| 欧美野外疯狂做受xxxx高潮| 国产精品综合久久久久久久免费 | 精品日韩欧美| 亚洲一区二区三区免费网站| 高h纯肉无码视频在线观看| 波多野结衣亚洲一区二区三区 | 日本师生三片在线观看| 无码人妻精品一区二区三| 国产精品女同一区二区| 日韩av在线不卡观看| 国语对白福利在线观看| 国产午夜精品理论片| 亚洲成a人片在线观看导航| 久久国产精品国语对白| 日本另类αv欧美另类aⅴ| 久久久国产精品麻豆| 一本大道综合久久丝袜精品| 日韩免费视频| 国产女女做受ⅹxx高潮| 九月色婷婷免费| 美女被男人插得高潮的网站| 成人综合婷婷国产精品久久蜜臀| 国产女奸网站在线观看| 日韩av在线不卡一区二区 | 精品深夜av无码一区二区老年|