劉 昕,白婷婷,張淯舒,錢茛南,何旭莉,席永軻
(1.中國石油大學(華東)計算機科學與技術學院,山東 青島 266580;2.中國電子科技集團公司信息科學研究院,北京 100086)
隨著人工智能[1]和大數據技術[2]的發展,知識圖譜[3-4]的構建成為當今的研究熱點之一。知識圖譜可以高效地組織結構化的知識,通過對知識圖譜的檢索[5],不但能夠快速準確地查詢出人們所需要的相關信息,而且在深度問答[6]、社交網絡[7]、行業應用[8-9]等領域發揮著越來越重要的作用。對于當前各級政府的各個部門,部門之間存在著隸屬、合作、職能交叉等多種關系,對部門之間的關系進行梳理,構建知識圖譜能夠更好地發揮各個部門的職能,加強部門之間的合作與聯系,提高各部門的辦事效率。
隨著各領域中數據量的不斷增加和行業態勢的演變,領域知識圖譜[10]需要不斷地豐富與擴展,傳統知識圖譜的構建過程[11]是通過專家和知識工程師完成的,實體之間隱藏的關系沒有得到體現,存在領域知識的不完整性和片面性。針對當前構建知識圖譜存在的問題,采用數據挖掘的方法分析與實體相關的數據,進一步挖掘出2 個實體之間隱藏的深層次關系,對豐富知識圖譜尤為重要。因此,本文基于市長信箱訴求數據,采用實體關聯與主題分析的方法挖掘在市長信箱數據隱藏的部門之間存在的關系,并將新發現的關系融合到原有知識圖譜中,實現知識圖譜的潛在關系擴展。
在知識圖譜初步構建后,仍然存在大量的隱含知識未得到體現,這些潛在的知識對知識圖譜中的關系抽取[12]和語義檢索[13]等其他研究有很大的幫助。特別是大規模的知識圖譜中需要大量的實體之間的關系作為支撐,但圖譜中實體之間關系往往不夠全面。因此,國內外涌現出一系列方法實現知識圖譜中實體間關系發現與知識圖譜擴充。知識圖譜中潛在關系發現是對實體關系之間的鏈接預測[14],是知識圖譜學習和推理[15]的重要任務之一,通過挖掘實體間關系進一步擴充知識圖譜,能夠不斷完善和豐富知識圖譜的內容。
目前關于知識圖譜實體間關系挖掘與擴充知識圖譜的方法主要分為基于表示學習[16]的方法和基于關系路徑[17-18]的方法。基于表示學習的知識圖譜擴充方法基本思想是:將實體和關系嵌入連續低維的向量空間,用向量表示實體,通過實體間的向量計算得到關系,從而完成知識圖譜的擴充任務。文獻[19]提出TransE 模型實現知識圖譜的擴充,該模型將每個三元組實例中的關系看作從實體到實體的翻譯,將數據放入訓練好的模型中得到實體之間的關系。文獻[20]提出一種共享變量的神經網絡模型(LCPE),該模型通過分析Unstructured 模型,推導出在向量空間中2 個有關系的實體嵌入距離更近,并將ProjE 模型和實體之間的相似度信息進行融合,從而判斷具體關系類型。
由于知識圖譜網絡結構復雜多變,圖譜中存在大量的關系路徑,因此涌現出一些基于知識圖譜中關系路徑發現關系的方法。基于關系路徑的方法的基本思想是:抽取關系路徑,構建關系路徑特征向量,計算實體之間關系存在的概率。基于關系路徑的知識圖譜擴充方法代表模型是PRA(Path Ranking Algorithm),該模型的基本思想是:2 個相連實體之間大量的關系路徑作為2 個實體之間關系所具有的特征,構造關系分類器,將關系路徑作為輸入,實際存在的關系作為輸出訓練關系分類器。文獻[21]利用設置物理規則和邏輯規則進行知識圖譜的路徑推理和擴充知識圖譜任務。文獻[22]通過組合已有模型進行有關路徑推理,并應用于知識庫的自動問答及擴充知識圖譜學習任務。文獻[23]提出一種子圖特征提取方法實現關系挖掘,對給定知識圖譜上的結點集合進行路徑搜索抽取得到子圖,在子圖上抽取特征,作為這些結點集合的特征向量,通過結點集合的特征向量訓練關系分類器。
還有一些學者采用其他方法擴充和豐富知識圖譜。文獻[24]提出一種借助用戶生成數據中實體間關聯關系來擴充知識圖譜的方法,該方法使用互信息計算實體節點間的關聯關系,采用一種關聯影響疊加方法來定量計算關聯圖中互不相鄰實體間的潛在關聯關系。文獻[25]提出從不完備知識庫中挖掘關聯規則的方法(AMIE),AMIE 依次學習預測每種關系的規則,通過3 種操作擴展規則體部分,保留支持度大于閾值的候選規則,通過挖掘得到的規則實現關系發現與知識圖譜擴充。文獻[26]提出一種基于Jena 的臺風災害領域本體模型推理機制,挖掘被隱藏的臺風災害影響因素或災害鏈信息。
基于表示學習的方法可以通過向量計算發現實體間關系,但計算代價大,在實際知識圖譜中可解釋性差。基于關系路徑的知識圖譜擴充方法[24]可以通過路徑特征挖掘實體之間的關系,但是這類方法難以處理關系路徑信息較少的稀疏知識圖譜,且在實際應用的知識圖譜中,關系路徑數量龐大,提取路徑信息非常耗時。因此,本文針對特定領域中的實體,采用實體關聯與主題分析方法分析實體相關數據,進一步挖掘出實體間隱藏的關系,避免大量的無效計算,使挖掘得到的關系是有用且有效的。
本文提出一種基于實體關聯分析與主題分析(Entity-Association and LDA,EA-LDA)的方法挖掘實體之間隱藏的關系,進而擴展和豐富知識圖譜。針對與實體相關的大量數據,采用關聯規則算法挖掘實體與實體之間存在的關聯關系,并分析與實體相關數據的主題關鍵詞之間的聯系得到實體之間的關系,將新發現的關系融合到知識圖譜中。
在進行實體之間的關系發現前,需對原始文本數據進行數據預處理,以提高后期數據分析和挖掘的效率,減少后期算法工作的計算量。數據預處理包括數據清洗、數據分詞和去停用詞。數據清洗主要是檢查數據一致性,處理無效數據和重復數據;數據分詞是將連續的句子分成單個詞語,之后將詞語作為文本數據的基本單位;基于停用詞表對分詞結果進行匹配,去除停用詞表中的詞匯,如“的”“了”等,只保留文本具有實際意義的詞集。
2.2.1 實體頻繁項集獲取
獲取實體頻繁項集方法如下:
1)對各實體相關數據進行預處理,獲得相應的關鍵詞集,計算各個實體相關數據中每個關鍵詞的支持度Si。支持度計算公式如式(1)所示:

其中:Si表示第i個關鍵詞的支持度;P(i)表示第i個關鍵詞在當前實體相關數據集中出現的概率;Ni表示第i個關鍵詞在當前實體相關數據集中出現的次數;Nall表示數據集中與當前實體相關的數據記錄的個數。
2)根據設置的支持度閾值α,判斷每個關鍵詞的支持度是否大于等于閾值α,將大于等于閾值α的關鍵詞保留得到1 項頻繁關鍵詞集L1。
3)不斷迭代使用上一次得到的(k-1)項頻繁關鍵詞集,計算頻繁關鍵詞集中關鍵詞的支持度,保留滿足支持度閾值α的關鍵詞集,產生新的候選k項頻繁關鍵詞集Lk,直到沒有新的頻繁項集產生,算法結束。
2.2.2 實體關聯規則生成
實體關聯規則生成方法如下:
1)獲取k項頻繁關鍵詞集Lk的關聯規則Ls?Lk-s,其中:Ls表示由s個關鍵詞組成的關鍵詞集;Lk-s表示去掉Lk中s個關鍵詞剩余的關鍵詞組成的關鍵詞集。
2)計算每個候選關聯規則的置信度。置信度的計算公式如式(2)所示:

其中:C(Ls?Lk-s)表示關聯規則Ls?Lk-s的置信度;N(Lk)表示在與當前實體相關的數據集中Lk出現的次數;N(Ls)表示Ls出現的次數。
3)根據設置的置信度閾值β,判斷每個候選關聯規則的置信度是否大于等于閾值β,將大于等于閾值的關聯規則保留得到關聯規則集。
2.2.3 實體關聯關系獲取
基于得到的關聯規則集,保留實體之間相同的關聯規則集,選取相同關聯規則集中的關鍵詞得到2 個實體之間的關系。
2.2.4 實體關聯規則發現的偽代碼描述
實體關聯規則發現的偽代碼如下:

2.3.1 LDA 主題抽取
將與每個實體相關的數據分別合并形成一篇實體主題文檔,對各個文檔數據做分詞等預處理,對預處理后的數據做LDA 主題抽取,抽取過程如下:
1)設置主題數K,設置合適的超參數向量α、β,α控制實體主題文檔的主題稀疏性,β控制主題中詞的稀疏性,α設置為50/k,k為設置的主題個數,β設置為0.01。
2)對應每個實體主題文檔中的每一個詞,隨機賦予一個主題編號k。
3)重新掃描語料庫,對于每一個詞,利用Gibbs采樣公式P(topic/doc)P(word/topic)更新其主題編號,并更新語料庫中該詞的編號。
4)重復第3)步的基于坐標軸輪換的Gibbs 采樣,直到Gibbs 采樣收斂。
5)統計語料庫中的每個實體主題文檔中各個詞所屬主題,得到實體主題分布θd,統計語料庫中各個主題詞的分布,得到LDA 的主題與詞的分布βk。
2.3.2 主題關系獲取
根據得到的實體主題文檔的主題概率分布,篩選出含有共同主題詞的主題文檔,根據式(3)計算主題文檔的主題概率分布之間的差異程度:

其中:D是主題分布的差異性;n是2 個主題分布中相同主題詞的個數;Px、Qx是不同主題分布中同一主題詞的概率,2 個主題分布的差異程度越小,則該主題分布所相關的實體主題文檔之間的關聯程度就越高。
2.3.3 LDA 主題發現的偽代碼描述
LDA 主題發現的偽代碼如下:

EA-LDA 算法描述如下:
1)對原始文本數據進行數據清洗、數據分詞、去停用詞等操作得到預處理后的數據集。
2)掃描數據集,得到滿足支持度閾值α的k項頻繁關鍵詞集,基于k項頻繁關鍵詞集組合得到候選關聯規則集,將所有滿足置信度閾值β的關聯規則加入關聯規則集。
3)保留關聯規則集中兩兩實體之間存在的共同關聯規則集,將共有關聯規則集中的關鍵詞保留作為兩實體之間的關系。
4)基于整理得到的部門實體主題文檔,采用Gibbs 采樣公式迭代更新每一個詞的主題編號,統計各個詞所屬主題和各個主題詞的概率分布,得到部門實體主題文檔的主題分布βk。
5)統計存在共同主題的主題分布,計算主題分布之間的差異程度,將差異程度小于0.1 的兩主題分布中的共同主題詞作為2 個實體之間的關系。
6)對于新發現的實體間關系,在存儲知識圖譜的數據庫中查找與該關系相關的實體,并將新關系加入數據庫中,更新原有知識圖譜,得到關系擴展后的知識圖譜。
本文實驗使用市長信箱訴求數據,每條訴求數據包括訴求工單編號、問題描述、單位標示和辦理單位,涉及不同的政府部門,共有230 824 條數據。實驗針對市長信箱訴求數據挖掘部門之間的關聯關系,構建部門知識圖譜。
由于關聯分析是對關鍵詞集進行處理,而每條訴求數據中的問題描述是一個句子或多個句子。在進行部門關系發現之前,需對獲取的原始訴求數據進行數據預處理,把連續的漢字序列劃分成一系列單獨的詞語即分詞,之后將詞語作為文本數據的基本單位,采用開源的結巴(Jieba)分詞算法,對文本集的全部語句進行分詞得到需要的數據。分詞處理后的詞語中還包含一些虛詞和禁用詞,如“的”“了”等,需要對這些無實際意義的詞語進行篩選工作,即去除停用詞。去除停用詞使用一個停用詞表,掃描并識別出停用詞后刪除。
3.3.1 實體間關聯關系發現
將預處理后得到的關鍵詞集作為實驗的文本數據集,為每個部門實體構建一個數據集,對任意2 個部門之間的關鍵詞集做關聯分析。在本文實驗中,部門實體作為關聯分析的主要對象,設置支持度為0.05,置信度為0.1,通過實體間關聯規則挖掘,得到2 個部門的關聯規則集,將關聯規則中的關鍵詞作為節點,具有關聯規則的節點之間連接,得到關聯關系圖。
根據得到的部門實體之間的關聯規則結果,將共有關聯規則集中的關鍵詞集作為實體間關系。具體分析結果如下:市交警支隊、市城鄉交通運輸局之間通過“車輛”“車牌號”“道路”“行駛”等關鍵詞存在關聯,因此這2個部門通過“交通”“車輛”問題關聯,如圖1所示。

圖1 市交警支隊和市城鄉交通運輸局關聯關系Fig.1 Association relationships of municipal traffic police detachment and municipal urban rural transportation bureau
市公安局和市城市管理局之間通過“噪音”“擾民”“制止”“休息”等關鍵詞存在關聯,這2 個部門所處理的問題中的都存在施工、擾民問題,市城市管理局主要管理城市環境衛生設施建設方面,市公安局的職能之一是維護社會治安秩序,故2 個部門在處理施工擾民問題上存在關聯,如圖2 所示。

圖2 市公安局和市城市管理局關聯關系Fig.2 Association relationships of municipal public security bureau and municipal urban authority
市住房、城鄉建設局、濟南市稅務局之間通過“開發商”“購房”等關鍵詞存在關聯,市民在購房時會跟這2 個部門產生關系,兩部門存在業務流程前后關系,即市住房和城鄉建設局處理在購房時的購買、簽約等問題,濟南市稅務局處理購房時的稅務問題,如圖3 所示。

圖3 市住房和城鄉建設局和市稅務局關聯關系Fig.3 Association relationships of municipal housing and construction bureau and municipal taxation bureau
市醫療保障局和市社會保險事業中心之間通過“社保”“繳納”“知識庫”等關鍵詞聯系起來,2 個部門都與“社保”問題存在關聯,如圖4 所示。

圖4 市醫療保障局和市社會保險事業中心關聯關系Fig.4 Association relationships of municipal healthcare security administration and municipal social insurance enterprise center
市城鄉水務局和市供電公司之間通過“業主”“繳納”“盡快恢復”等關鍵詞聯系起來,這2 個部門都與業主的費用繳納、日常生活存在關系,故2 個部門存在關聯,如圖5 所示。

圖5 市城鄉水務局和市供電公司關聯關系Fig.5 Association relationships of municipal water supplies bureau and municipal power supply company
3.3.2 基于部門實體數據的主題關系發現
基于預處理后的數據集,根據為各個實體構建的相關數據集,對每個實體相關數據做LDA 主題分析,設置每個部門實體的主題個數為10,得到每個部門的主題概率分布。篩選出存在共同主題關鍵詞的主題概率分布,計算兩兩主題概率分布之間的差異程度,差異度越趨向于0,則2 個實體之間的關聯度越大,計算結果如表1 所示。差異度小于0.1 的實體主題分布中的共同主題詞即為部門實體之間的關系。

表1 部門主題分布差異度Table 1 Difference degrees of department theme distribution
實體數據主題間關聯關系分析結果如下:
歷城區政府與市公安局主題分布差異度D=0.080 0,實體關聯性較大,2 個主題分布中均存在“戶籍”“居民”“辦理”等主題,兩部門之間通過居民戶籍辦理存在關聯,如圖6 所示。

圖6 歷城區政府和市公安局主題分布Fig.6 Theme distribution of Licheng district government and municipal public security bureau
濟陽區政府和商河縣政府主題分布差異度D=0.001 9,實體關聯性較大,2 個主題分布中均存在“土地”“灌溉”“村民”等主題,2 個部門都存在土地灌溉問題,如圖7 所示。

圖7 商河縣政府和濟陽區政府主題分布Fig.7 Theme distribution of Shanghe county government and Jiyang district government
市城管局和歷下區政府主題分布差異度D=0.140 0,實體間關聯性較大,2 個主題分布中均存在“施工”“影響”“小區”等主題,2 個部門通過施工問題相關聯,如圖8 所示。南部山區管委會和天橋區政府主題分布差異度D=0.02,實體間關聯性較大,2 個主題分布中均存在“垃圾”“清理”等主題,2 個部門都存在垃圾清理問題,如圖9 所示。

圖8 市城管局和歷下區政府主題分布Fig.8 Theme distribution of municipal urban management bureau and Lixia district government

圖9 南部山區管委會和天橋區政府主題分布Fig.9 Theme distribution of southern mountain management committee and Tianqiao district government
基于部門實體關聯分析和主題分析得到的結果,將新發現的部門之間的關系以三元組的形式添加到原有知識圖譜數據庫中,并采用D3.js 作圖實現部門知識圖譜的可視化,知識圖譜將每個部門作為節點,2 個部門之間的關系作為邊構建而成,如圖中市城市管理局和市公安局之間通過“噪音”“擾民”問題聯系起來,槐蔭區政府和歷下區政府通過“上學”“戶籍”問題聯系起來等,初步構建的知識圖譜和關系擴展后的部門知識圖譜分別如圖10 和圖11 所示。

圖10 初始構建的部門知識圖譜Fig.10 Departmental knowledge graph of initially constructed

圖11 基于EA-LDA 方法關系擴展后的部門知識圖譜Fig.11 Departmental knowledge graph based on EA-LDA method relationship expansion
與文獻[26]基于jena 的規則推理方法比較、針對部門數據集、實體間關系部分對比結果如表2 所示。基于jena 的規則推理結果如圖12 所示,擴充后的知識圖譜如圖13 所示。從表2 對比結果和圖12 可以看出,基于jena 的規則推理方法得到的實體關系多為文本中各類實體間的關系,如交警、處罰、行人等,對于部門知識圖譜包括大量的冗余信息,沒有獲得隱藏的部門實體間的關系。本文方法挖掘了較多深層次的部門實體間關系,如商河縣政府與濟陽縣政府具有共同的土地灌溉問題等。由此可知,本文提出的EA-LDA 方法可以更有針對性地挖掘出隱藏在部門實體之間的關系,有助于發現部門實體間共同存在的問題,可以有效地應用于領域實體間關系發現,優于基于jena 的規則推理方法。

表2 部分關系對比結果Table 2 Comparison results of partial relation

圖12 基于jena 的規則推理結果Fig.12 Rule inference results based on jena

圖13 基于jena 規則推理后的部門知識圖譜Fig.13 Department knowledge graph based on jena rule inference
本文提出一種基于實體關聯規則與主題分析的方法來擴展領域實體間的關系。針對具體領域相關數據,采用關聯規則挖掘實體之間的關聯關系,根據LDA 主題分析方法分析實體相關數據集主題之間的關系,進而得到領域實體之間隱藏的關系,將新發現的關系融合進原有領域知識圖譜,豐富領域知識圖譜。實驗結果表明,與基于jena 規則推理方案相比,該方法能更準確更全面地擴展實體之間的關系。下一步將研究多領域間知識圖譜的自動融合與動態更新,即對多個知識圖譜中的實體關系進行評估,發現圖譜間的聯系,從而實現自動融合,對于不斷更新的結構化和半結構化的知識,將其自動更新到知識圖譜中。