国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Neo4j的人員關(guān)系知識圖譜構(gòu)建及應(yīng)用

2022-09-06 01:30
軟件工程 2022年9期
關(guān)鍵詞:圖譜實體病例

陸 楓

(河南警察學(xué)院,河南 鄭州 450046)

279840745@qq.com

1 引言(Introduction)

“知識圖譜”這一概念在2012 年被Google正式提出。2013 年之后,隨著智能信息服務(wù)和應(yīng)用的不斷發(fā)展,知識圖譜、大數(shù)據(jù)和深度學(xué)習(xí)一起,成為推動互聯(lián)網(wǎng)和人工智能發(fā)展的核心驅(qū)動力。知識圖譜用圖形顯示知識發(fā)展進(jìn)程與結(jié)構(gòu)關(guān)系,以可視化技術(shù)來描述知識資源,構(gòu)建、分析、挖掘和顯示知識資源及它們之間的相互聯(lián)系。從目前大數(shù)據(jù)的數(shù)據(jù)分析結(jié)果來看,追蹤人員活動軌跡、構(gòu)建關(guān)系知識圖譜和定位傳播路徑等是人們關(guān)注的重點(diǎn)內(nèi)容。

本文提出一種基于病例人員關(guān)系圖數(shù)據(jù)庫的知識圖譜,該知識圖譜以圖的形式展示了病例人員的信息和接觸關(guān)系,系統(tǒng)采用Neo4j圖數(shù)據(jù)庫存儲,對碎片化的病例關(guān)系數(shù)據(jù)進(jìn)行知識建模與關(guān)聯(lián)聚合,實現(xiàn)知識層面的數(shù)據(jù)融合與集成,構(gòu)建可視化的病例人員關(guān)系知識圖譜,形成病例人員關(guān)系圖,同時專業(yè)人員也可以分析其接觸關(guān)系及病例人員的感染力。

2 知識圖譜和Neo4j(Knowledge graph and Neo4j)

2.1 知識圖譜和Neo4j的定義

知識圖譜又稱為科學(xué)知識圖譜,是一種叫作語義網(wǎng)絡(luò)(semantic network)的知識庫。知識圖譜用于以符號形式描述物理世界中的概念及其相互關(guān)系,它的基本組成單位是“實體、關(guān)系、實體”三元組,實體間通過關(guān)系相互聯(lián)結(jié),構(gòu)成網(wǎng)狀的知識結(jié)構(gòu)。

Neo4j是一種NoSQL的圖數(shù)據(jù)庫,也是目前應(yīng)用較多的圖數(shù)據(jù)庫,它基于Java的高性能、高可靠性、可擴(kuò)展性強(qiáng)的開源圖數(shù)據(jù)庫。Neo4j的創(chuàng)始人們選擇用圖模型來存儲關(guān)系,并在此系統(tǒng)中實現(xiàn)了變長的遍歷運(yùn)算。Neo4j的數(shù)據(jù)存儲形式主要是用節(jié)點(diǎn)(Node)和邊(Edge)來組織數(shù)據(jù)。節(jié)點(diǎn)代表知識圖譜中的實體,邊代表實體間的關(guān)系,關(guān)系可以有方向,兩端對應(yīng)開始節(jié)點(diǎn)和結(jié)束節(jié)點(diǎn)。

2.2 知識圖譜的構(gòu)建

目前,知識圖譜的構(gòu)建方式主要有自頂向下和自底向上兩種方式。自頂向下構(gòu)建方式需要先定義好本體(Ontology,或稱為Schema),再基于輸入數(shù)據(jù)完成知識抽取到圖譜構(gòu)建的過程。該方式更適用于專業(yè)知識方面圖譜的構(gòu)建,比如企業(yè)知識圖譜,面向?qū)I(yè)領(lǐng)域用戶使用。自底向上構(gòu)建方式則是借助一些技術(shù)手段,從公開收集的數(shù)據(jù)信息中抽取置信度較高的信息,加入知識庫中。該方式適用于常識性知識圖譜的構(gòu)建。

本文構(gòu)建的病例關(guān)系知識圖譜采用自頂向下的構(gòu)建方式。下面?zhèn)戎亟榻B自頂向下構(gòu)建方式的相關(guān)流程和技術(shù),其知識圖譜的關(guān)鍵技術(shù)架構(gòu)如圖1所示。

圖1 知識圖譜的關(guān)鍵技術(shù)架構(gòu)圖Fig.1 Key technology architecture diagram of knowledge graph

3 基于Neo4j的病例關(guān)系知識圖譜構(gòu)建(Construction of case relationship knowledge graph based on Neo4j)

病例關(guān)系知識圖譜的構(gòu)建主要包括數(shù)據(jù)獲取、信息抽取、知識存儲、知識融合和知識應(yīng)用等部分。首先,獲取某地病例人員的數(shù)據(jù)信息;其次,進(jìn)行信息抽取,完成對獲取數(shù)據(jù)的識別并抽取相關(guān)實體、關(guān)系和屬性;第三,采用Neo4j圖數(shù)據(jù)庫實現(xiàn)知識存儲;然后,將獲取來源不同的等價或相關(guān)實體進(jìn)行整合和知識融合,以消除矛盾和歧義,比如某些實體可能有多種表達(dá),某個特定稱謂也許對應(yīng)多個不同的實體等;最后,知識應(yīng)用主要采用Neo4j的中心度算法和度中心性算法對病例人員進(jìn)行關(guān)系分析。

3.1 數(shù)據(jù)獲取

數(shù)據(jù)獲取主要完成對知識圖譜所在領(lǐng)域的數(shù)據(jù)源信息收集,這些數(shù)據(jù)主要包括結(jié)構(gòu)化數(shù)據(jù)、半結(jié)構(gòu)化數(shù)據(jù)與非結(jié)構(gòu)化數(shù)據(jù)。本文的數(shù)據(jù)主要來自某地病例人員的信息,信息的數(shù)據(jù)內(nèi)容包括確診病例的姓名、性別、職業(yè)、居住地址、所在區(qū)域、工作地址、確診日期及接觸關(guān)系,這些數(shù)據(jù)多為文本內(nèi)容和半結(jié)構(gòu)化信息。因此,本文采用分詞方式將關(guān)鍵信息提取出來形成結(jié)構(gòu)化數(shù)據(jù)庫,為后續(xù)抽取實體和關(guān)系形成圖數(shù)據(jù)庫做準(zhǔn)備。

3.2 信息抽取

信息抽取也叫知識抽取,是一種通過自動化的方式從半結(jié)構(gòu)化或非結(jié)構(gòu)化數(shù)據(jù)中抽取實體、關(guān)系、屬性信息的技術(shù)。在早期,知識抽取主要通過啟發(fā)式算法與規(guī)則相結(jié)合的方式來實現(xiàn),現(xiàn)在常用的方法有借助本體與詞匯集、借助多層神經(jīng)網(wǎng)絡(luò)和自然語言處理等。

病例關(guān)系的知識抽取是從病例中抽取所需要的內(nèi)容,包含實體、關(guān)系和屬性。首先,對病例實體的數(shù)據(jù)屬性和關(guān)系屬性進(jìn)行梳理和抽取。病例實體主要包括“確診病例”“無癥狀感染”“外地確診病例”三種;實體的屬性有姓名、性別、職業(yè)、居住地址、所在區(qū)域、工作地址和確診日期等;實體關(guān)系的屬性主要有“密接”“同空間”“親戚”“同住”“同事”等幾種關(guān)系。其次,依據(jù)確定的病例本體核心類,利用Protégé工具對病例本體類與關(guān)系屬性進(jìn)行創(chuàng)建,設(shè)置“are responsible for”“SubClass of”“cooperate”等五種關(guān)系。第三,結(jié)合所構(gòu)建的病例關(guān)系知識模型,抽取病例中的病例姓名、居住地點(diǎn)、工作地點(diǎn)、感染時間等關(guān)鍵實例數(shù)據(jù)并導(dǎo)入,形成病例關(guān)系應(yīng)用本體,其構(gòu)建本體的部分截圖如圖2所示。最后,導(dǎo)出為RDF數(shù)據(jù),為病例關(guān)系知識圖譜的構(gòu)建奠定基礎(chǔ)。

圖2 Protégé構(gòu)建本體的部分截圖Fig.2 Partial screenshot of building ontology with Protégé

3.3 知識存儲

知識存儲主要研究知識圖譜采用何種方式進(jìn)行存儲。目前知識圖譜主要有兩種存儲方式:一種是基于RDF結(jié)構(gòu)的存儲方式;另一種是基于圖數(shù)據(jù)庫的存儲方式。病例關(guān)系知識圖譜采用基于圖數(shù)據(jù)庫Neo4j的存儲方式。Neo4j存儲數(shù)據(jù)可以采用多種導(dǎo)入方式,本系統(tǒng)存儲采用將RDF數(shù)據(jù)導(dǎo)入Neo4j中進(jìn)行存儲,然后利用Neo4j的Cypher語言對實體、關(guān)系以及屬性進(jìn)行知識圖譜的設(shè)計,實現(xiàn)圖形化交互式查詢和關(guān)聯(lián)化推理,其病例關(guān)系知識圖譜的部分截圖如圖3所示。

圖3 病例關(guān)系知識圖譜的部分截圖Fig.3 Partial screenshot of case relationship knowledge graph

由病例關(guān)系知識圖譜可以看出,病例關(guān)系以層次化的圖結(jié)構(gòu)形式將其病例接觸關(guān)系呈現(xiàn)出來,實現(xiàn)了Neo4j高效的圖查詢和分析應(yīng)用。

4 病例關(guān)系知識圖譜的應(yīng)用(Application of case relationship knowledge graph)

病例關(guān)系知識圖譜通過Neo4j中的Cypher語言實現(xiàn)對病例數(shù)據(jù)進(jìn)行更新、查詢和分析,主要利用Neo4j的度中心性算法和中心度算法分析病例中感染力較強(qiáng)和接觸人數(shù)較多的人員,從而更好地了解病例人員及其接觸關(guān)系,提高流行性疾病的預(yù)防能力,進(jìn)一步完善疾病防控體系。

4.1 數(shù)據(jù)更新

為了使本知識圖譜能充分映射現(xiàn)實世界中的真實情況,應(yīng)該對模型中的數(shù)據(jù)記錄不斷更新,對實體和關(guān)系進(jìn)行增減操作,即修改模型中的實體記錄和關(guān)系記錄。

CREATE(病例a:Person1{name:'病例a',狀態(tài):'確診病例',職業(yè):'職員',居住區(qū)域:'B區(qū)',居住地址:'B區(qū)陽光大道',工作地址:'B區(qū)陽光大道',data:'2022-4-28'})//增加一個實體

MATCH(n:Person1),(m:Person1) WHERE n.name="病例83"AND m.name="病例103" CREATE(n)-[r:密接]->(m) RETURN r//在病例83和病例103中直接增加一個“密接”關(guān)系

刪除單個實體有兩種方法:通過name屬性或者id屬性刪除實體;如果兩個實體之間存在關(guān)系,應(yīng)該先刪除關(guān)系,然后再刪除實體。

MATCH (n:Person1{name:'temp'}) delete n//通過name屬性,刪除name為'temp'的實體

MATCH (n) DETACH delete n//刪除所有實體

MATCH (a:Person1)-[r:密接]-(b:Person1) where ID(a)=47 and ID(b)=48 DETACH delete a,b,r//刪除實體a、實體b及實體a和實體b的“密接”關(guān)系

4.2 信息查詢

信息查詢是對病例人員及關(guān)系的查詢,主要了解和病例人員接觸的相關(guān)人員關(guān)系。信息查詢主要根據(jù)實體屬性和關(guān)系屬性進(jìn)行查詢,首先提取查詢條件,如實體的屬性:姓名、感染時間等,或?qū)嶓w的關(guān)系:“密接”“同空間”等;然后利用Neo4j的Cypher語言進(jìn)行查詢,查詢結(jié)果可以以圖的形式顯示符合條件的病例關(guān)系圖,也可以以表的形式顯示病例人員信息表。本文以實體“病例83”為例,主要以實體的屬性、實體的關(guān)系或?qū)嶓w的屬性和關(guān)系相結(jié)合作為條件進(jìn)行信息查詢。

查找某時間感染的所有病例人員,例如查找2022 年4 月21 日的病例人員,運(yùn)行結(jié)果如圖4所示,其Cypher執(zhí)行語句如下:

圖4 某時間感染的所有病例人員圖Fig.4 Diagram of all infected persons at a given time

MATCH (n:Person1{data:"2022-4-21"}) RETURN n

運(yùn)行結(jié)果圖4的左邊顯示了2022 年4 月21 日所有病例人員及關(guān)系圖;右邊顯示了共有病例10 個,其中通過“密接”感染的有7 人。

中國高技術(shù)制造業(yè)增加值影響因素的面板數(shù)據(jù)模型分析 ……………………………………… 劉 碩 胡澤文 智 晨(4/17)

查找與病例人員有“密接”關(guān)系的所有病例人員信息,運(yùn)行結(jié)果如圖5所示,其Cypher執(zhí)行語句如下:

圖5 按“密接”關(guān)系查找所有病例圖Fig.5 Diagram of finding all cases by close contact relationship

MATCH (p:Person1)-[a:密接]->()

RETURN p.name AS 病例姓名,p.data AS 感染日期,p.'居住地址' AS 居住地址,COUNT(a) AS 感染人數(shù)ORDER BY 感染人數(shù) DESC

根據(jù)病例的name屬性查找與“病例83”“密接”的人員,運(yùn)行結(jié)果如圖6所示,其Cypher執(zhí)行語句如下:

圖6 與“病例83”“密接”的人員圖Fig.6 Diagram of close contacts with case 83

MATCH n=(:Person1{name:"病例83"})-[:'密接']-()RETURN n

運(yùn)行結(jié)果圖6的左邊顯示了與“病例83”“密接”的人員關(guān)系圖;右邊顯示了與“病例83”“密接”的人員有11 個,其中有4 人與“病例83”同空間,有5 人與“病例83”是同事關(guān)系。

4.3 利用Neo4j算法對病例關(guān)系進(jìn)行分析

本文對病例人員關(guān)系的分析主要利用Neo4j的中心度算法和度中心性算法。其中,中心度算法用來分析病例人員的感染力,度中心性算法用來分析和病例人員接觸的人數(shù),通過這兩個算法分析和發(fā)現(xiàn)病例中出現(xiàn)的感染力較強(qiáng)、接觸人數(shù)較多的情況,及時掌握目前病例人員的狀況。

PageRank算法是一種用于測量實體的傳遞性或定向性影響的算法。它已在Google中進(jìn)行推廣,被廣泛認(rèn)為是一種檢測任何網(wǎng)絡(luò)中有影響力實體的方法。PageRank已用于對公共場所或街道進(jìn)行排名,預(yù)測這些區(qū)域的交通流量和人員流動等。

在本文的病例關(guān)系研究中,PageRank算法的分?jǐn)?shù)(score)可以反映出每個病例的感染力大小,分?jǐn)?shù)值越高越有影響力,因此可以分析出病例中最有影響力的感染者,運(yùn)行結(jié)果如圖7所示,其Cypher執(zhí)行語句如下:

圖7 PageRank算法分析結(jié)果圖Fig.7 Diagram of PageRank algorithm analysis result

從運(yùn)行結(jié)果圖7中可以分析出“病例83”的分?jǐn)?shù)最高,感染力也較大;“病例96”的感染力次之。

度中心性算法是由Linton C.Freeman于1979 年提出的,該算法經(jīng)常用于找出單個實體的受歡迎程度,常作為對全圖進(jìn)行最小度、最大度、平均度及標(biāo)準(zhǔn)差整體分析的一部分。它是任何通過查看入度和出度關(guān)系數(shù)量進(jìn)行影響力分析的重要組成部分。

在本文的病例關(guān)系研究中,病例關(guān)系圖的入度用于記錄感染該病例人員的人數(shù)(即感染人數(shù)),出度用于記錄被該病例人員感染的人數(shù)(即被感染人數(shù)),運(yùn)行結(jié)果如圖8所示,其Cypher執(zhí)行語句如下:

圖8 度中心性算法分析結(jié)果圖Fig.8 Diagram of degree centrality algorithm analysis result

從運(yùn)行結(jié)果圖8中可以分析出每個病例的接觸和被接觸人數(shù),動態(tài)掌握病例接觸情況。例如,接觸“病例83”的有11 人;接觸“病例96”的有8 人,“病例96”接觸的病例者為2 人。

5 結(jié)論(Conclusion)

本文首先介紹知識圖譜和圖數(shù)據(jù)庫Neo4j的定義以及構(gòu)建知識圖譜的關(guān)鍵技術(shù),然后根據(jù)病例關(guān)系知識圖譜的構(gòu)建流程和構(gòu)建技術(shù),對獲取的數(shù)據(jù)源進(jìn)行數(shù)據(jù)提取和對實體、關(guān)系和屬性的信息抽取,再用Protégé工具構(gòu)建本體RDF數(shù)據(jù)導(dǎo)入圖數(shù)據(jù)庫Neo4j中進(jìn)行存儲,實現(xiàn)多種查詢檢索和關(guān)系分析。病例關(guān)系知識圖譜的構(gòu)建也為病例關(guān)系分析提供了參考,進(jìn)一步完善了傳染疾病防控體系,從而有針對性地提供較為完善的防控措施。

猜你喜歡
圖譜實體病例
繪一張成長圖譜
“病例”和“病歷”
前海自貿(mào)區(qū):金融服務(wù)實體
實體的可感部分與實體——兼論亞里士多德分析實體的兩種模式
補(bǔ)腎強(qiáng)身片UPLC指紋圖譜
兩會進(jìn)行時:緊扣實體經(jīng)濟(jì)“釘釘子”
振興實體經(jīng)濟(jì)地方如何“釘釘子”
一例犬中毒急診病例的診治
妊娠期甲亢合并胎兒甲狀腺腫大一例報告
Meckel憩室并存異位胰腺和胃黏膜并出血一例
封丘县| 西宁市| 石首市| 南陵县| 兴化市| 遂平县| 新田县| 湖口县| 邹城市| 新丰县| 沛县| 女性| 黄陵县| 文成县| 阿合奇县| 石屏县| 潜山县| 永宁县| 老河口市| 若尔盖县| 军事| 新竹市| 泽普县| 枣强县| 兴城市| 锡林郭勒盟| 沅陵县| 湄潭县| 资阳市| 德昌县| 南部县| 金门县| 军事| 从江县| 福鼎市| 化德县| 五峰| 尤溪县| 阳东县| 定西市| 芜湖市|