盧卓君
(湖南省交通規(guī)劃勘察設(shè)計(jì)院有限公司 湖南 長沙 410008)
隨著互聯(lián)網(wǎng)的發(fā)展,文檔數(shù)量急劇增加。但文檔間存在著關(guān)聯(lián)性較弱,查找不便,知識管理難的問題。此外,文檔數(shù)據(jù)和其他數(shù)據(jù)相互隔離,而無法融合其他知識庫的知識。另外,傳統(tǒng)的文檔數(shù)據(jù)維度單一,進(jìn)行文檔檢索時(shí),除了文本內(nèi)容外,可利用的其他信息很少。如何從海量文檔中快速、準(zhǔn)確地檢索出想要的文檔已成為國內(nèi)外研究的熱點(diǎn)。
基于語義網(wǎng),Google于2012年提出了知識圖譜[1]的概念。它是一種以語義網(wǎng)絡(luò)圖來描述知識和構(gòu)建各種事物之間關(guān)聯(lián)關(guān)系的技術(shù)方法,基本組成單位為<實(shí)體,關(guān)系,實(shí)體>三元組以及<實(shí)體、屬性、屬性值>對。因其強(qiáng)大的知識語義處理和組織能力,知識圖譜成為語義搜索、智能推薦[2]、大數(shù)據(jù)分析[3]等領(lǐng)域的研究熱點(diǎn)。其構(gòu)建過程見圖1。
知識抽取:從非結(jié)構(gòu)化和半結(jié)構(gòu)化的數(shù)據(jù)中抽取出實(shí)體、關(guān)系和屬性等結(jié)構(gòu)化信息,并形成本體化的知識表達(dá)。
知識融合:將從不同來源得到的同一實(shí)體或概念的描述信息融合起來[4],形成全局統(tǒng)一的知識標(biāo)識和關(guān)聯(lián)。
知識加工:主要包括本體構(gòu)建、質(zhì)量評估等。通過構(gòu)建本體能夠?qū)哟吻逦孛枋鲋R庫的概念層次體系。質(zhì)量評估則是對知識圖譜知識進(jìn)行置信度評估,從而保證知識圖譜總體質(zhì)量。
本文以文檔為出發(fā)點(diǎn),構(gòu)建文檔知識圖譜,通過圖譜方式表達(dá)知識與實(shí)體及實(shí)體與實(shí)體間的關(guān)聯(lián)關(guān)系,解決了文檔間相互孤立、不規(guī)范、零散性等問題。為提高檢索性能,設(shè)計(jì)了基于文檔知識圖譜的智能檢索模型(Document Knowledge Graph Intelligent Retrieval,DKGIR)。
文檔知識圖譜構(gòu)建是本文的核心方法之一,具體流程見圖2。本文開發(fā)了統(tǒng)一的文檔適配器模塊;采用BERT-BiLSTM-CRF等技術(shù)進(jìn)行關(guān)鍵詞、實(shí)體、關(guān)系等知識的抽??;通過實(shí)體鏈接等技術(shù)進(jìn)行本體融合和實(shí)體對齊,進(jìn)而達(dá)到與業(yè)務(wù)知識圖譜進(jìn)行融合,最終形成融合的知識圖譜。
本文采用自頂向下的方式構(gòu)建模式層,模式層定義了文檔實(shí)體、屬性以及實(shí)體間的關(guān)系,見表1、表2;采用自底向上的方式通過文檔適配、知識抽取、知識融合等環(huán)節(jié)構(gòu)建數(shù)據(jù)層。
表1 實(shí)體類型與屬性
表2 三元組關(guān)系(
)文檔類型多種多樣,本文基于Python搭建了文檔適配器模塊,對常用的文檔類型進(jìn)行了針對性解析,并支持?jǐn)U展其他類型的文檔解析。
(1)本文對于不同類型文檔的標(biāo)題和正文,制定了不同的抽取策略,見表3。
表3 不同文檔類型的標(biāo)題和正文的抽取策略
組合規(guī)則如下。
①目錄提?。阂?guī)則1,匹配目錄的開頭字符“目錄”;規(guī)則2,根據(jù)換行符或特征字符n個(gè)“.”提取目錄中的標(biāo)題,根據(jù)標(biāo)題命名規(guī)律提取標(biāo)題等級;規(guī)則3,根據(jù)特征字符“.”或規(guī)則2提取的第一個(gè)標(biāo)題匹配目錄的結(jié)尾,去除文本中目錄部分;規(guī)則4,根據(jù)規(guī)則2提取的標(biāo)題到剩下的正文中匹配相應(yīng)的標(biāo)題和其對應(yīng)的正文,若沒有匹配到目錄則轉(zhuǎn)②。
②根據(jù)標(biāo)題的命名規(guī)律制定了標(biāo)題提取模板,其正則表達(dá)式為:“[0-9.]{2,}|[第一二三四五六七八九十0-9篇章節(jié):]{2,}”,剩下的工作與①同,并根據(jù)特征字符“.”出現(xiàn)的次數(shù)區(qū)分標(biāo)題的等級,若沒有提取出標(biāo)題則轉(zhuǎn)③。
③按換行符對文本進(jìn)行切分,并將所有切片文段作為正文。
(2)對于關(guān)鍵詞抽取,首先對文本分詞后選擇詞性為名詞、動詞的詞,然后計(jì)算詞的TF-IDF值,選擇高于閾值的作為關(guān)鍵詞。
(3)實(shí)體抽取的方法包括基于規(guī)則的方法、基于統(tǒng)計(jì)學(xué)習(xí)的方法,基于神經(jīng)網(wǎng)絡(luò)的方法。本文基于BIO標(biāo)注法,采用BERT-BiLSTM-CRF模型進(jìn)行實(shí)體抽取。該模型見圖3。
(4)知識抽取后,依據(jù)不同的關(guān)系類別對知識按照三元組的方式進(jìn)行分類保存,并將實(shí)體和關(guān)系導(dǎo)入到orientdb圖數(shù)據(jù)庫中。
知識融合包括本體融合、實(shí)體對齊和知識合并等。針對本體融合,采用編輯距離的方法;針對實(shí)體對齊,采用實(shí)體鏈接技術(shù),在記錄鏈接時(shí)采用余弦相似度;針對知識加工,主要基于模式層進(jìn)行本體的構(gòu)建,利用orientdb圖數(shù)據(jù)進(jìn)行知識存儲。為了提高檢索速度,針對不同的場景建立了不同的索引機(jī)制,見表4。
表4 索引類型與場景
其中e1、e2為實(shí)體。
本文基于知識圖譜,利用實(shí)體信息,借助word2vec等技術(shù),通過對查詢項(xiàng)進(jìn)行擴(kuò)展、對查詢意圖進(jìn)行解析等方式,提出了基于實(shí)體和關(guān)鍵詞增強(qiáng)表示的DKGIR模型,實(shí)現(xiàn)了文檔的智能檢索,達(dá)到了更好、更快地為用戶檢索并提供更精準(zhǔn)、更有效的檢索結(jié)果。其流程圖見圖4。
意圖識別是識別用戶輸入的檢索內(nèi)容的真正意圖,首先得進(jìn)行意圖解析,具體是指利用實(shí)體識別方法從用戶輸入的文本中識別出概念實(shí)體,從而得到用戶輸入查詢和文檔的實(shí)體序列表示。
本文利用AC自動機(jī)字符串搜索算法對用戶輸入進(jìn)行實(shí)體識別?;跇I(yè)務(wù)知識庫和專業(yè)詞庫建立Tree實(shí)體樹,對用戶輸入進(jìn)行檢索識別,識別結(jié)果可能并不唯一,比如輸入“糖尿病足的治療方案”,由于Tree實(shí)體樹建立時(shí)導(dǎo)入了“糖尿病”和“糖尿病足”,因而兩者都會被識別出來。對此,本文會對檢索結(jié)果進(jìn)行前綴和后綴判斷,選擇最長的匹配結(jié)果,即選擇“糖尿病足”。
本文查詢擴(kuò)展包括關(guān)鍵詞查詢擴(kuò)展和實(shí)體查詢擴(kuò)展。本文從知識圖譜中抽取結(jié)構(gòu)信息,使用Word2vec的Skipgram模型將圖譜中的實(shí)體表示為空間向量形式,該模型見圖5;采用余弦相似度計(jì)算查詢項(xiàng)和擴(kuò)展項(xiàng)的相似度,從而在知識圖譜語義空間獲得查詢的擴(kuò)展項(xiàng);在尋找擴(kuò)展項(xiàng)時(shí),針對實(shí)體查詢擴(kuò)展會檢測擴(kuò)展項(xiàng)對應(yīng)文檔的標(biāo)簽數(shù),若擴(kuò)展項(xiàng)對應(yīng)的標(biāo)簽數(shù)越多,說明擴(kuò)展項(xiàng)的標(biāo)簽純凈度越低,檢索時(shí)越易產(chǎn)生跨標(biāo)簽的檢索結(jié)果,進(jìn)而導(dǎo)致檢索結(jié)果越偏離。定義標(biāo)簽純凈度為,見式(2)。此外,通過指定閾值來控制擴(kuò)展項(xiàng)的質(zhì)量以緩解語義漂移現(xiàn)象。
其中l(wèi)ables為擴(kuò)展項(xiàng)對應(yīng)的標(biāo)簽數(shù)。
文檔檢索分為基于實(shí)體及其擴(kuò)展的檢索和基于關(guān)鍵詞及其擴(kuò)展的檢索。
2.4.1 基于實(shí)體及其擴(kuò)展的檢索
首先遍歷文檔集,對于每篇文檔,統(tǒng)計(jì)實(shí)體的頻次及實(shí)體出現(xiàn)的文檔數(shù)。其次,對實(shí)體進(jìn)行擴(kuò)展時(shí),去除相似度低于閾值的實(shí)體,保留實(shí)體的相似度以及統(tǒng)計(jì)擴(kuò)展實(shí)體的標(biāo)簽數(shù)。
2.4.2 基于關(guān)鍵詞及其擴(kuò)展的檢索
檢索內(nèi)容中非實(shí)體部分稱為關(guān)鍵詞,比如“糖尿病足的治療方案”,“糖尿病足”為實(shí)體,“治療方案”為關(guān)鍵詞。在關(guān)鍵詞擴(kuò)展時(shí)只保留大于閾值的擴(kuò)展關(guān)鍵詞。
本文基于1.4小節(jié)的索引機(jī)制查詢相關(guān)文檔。此外,本文對于文檔不同部分的特征,針對關(guān)鍵詞查詢和實(shí)體查詢賦予了不同權(quán)重,見表5。
表5 文檔不同部分特征對于關(guān)鍵詞查詢和實(shí)體查詢的權(quán)重
為度量查詢實(shí)體和文檔實(shí)體的類型信息,本文會在實(shí)體詞頻統(tǒng)計(jì)時(shí)考慮類型是否匹配。計(jì)算查詢實(shí)體出現(xiàn)在文檔dj的次數(shù),如式(3)所示。
其中path為label間的最短路徑長度,長度越短,說明label越相關(guān),對應(yīng)實(shí)體的相關(guān)度也越高。
實(shí)體的文檔權(quán)重與共享的文檔數(shù)量負(fù)相關(guān),因此引入實(shí)體的文檔權(quán)重項(xiàng)f(·),如式(5)所示。
其中ND表示文檔集合數(shù)目,ne表示實(shí)體e出現(xiàn)的文檔數(shù)。
因而,實(shí)體檢索的特征得分函數(shù),如式(6)所示。
本文采用擴(kuò)展項(xiàng)的計(jì)算方法與查詢項(xiàng)的計(jì)算方法一致,原始檢索得分與擴(kuò)展項(xiàng)檢索得分加權(quán)求和并乘以權(quán)重的方式得到最后的排序得分,公式如下:
其中代表實(shí)體的權(quán)重;a代表實(shí)體的標(biāo)簽純凈度,參考式(2);θ代表擴(kuò)展實(shí)體的相似度,參考式(1);w為查詢權(quán)重,k的取值為特征數(shù),特征和查詢權(quán)重見表5;g(e)參考式(6);Ⅱ?yàn)橹甘竞瘮?shù),判斷查詢項(xiàng)是否在文檔對應(yīng)的標(biāo)題、關(guān)鍵詞或正文里。
本文使用數(shù)據(jù)集Explicit Semantic Ranking(本文簡稱ESR,http://boston.lti.cs.cmu.edu/appendices/WWW2016/)作為基準(zhǔn)數(shù)據(jù)集。
本文采用NDCG@k和Precision@k兩項(xiàng)信息檢索中常用的評價(jià)指標(biāo)來評估本文提出的模型的性能,實(shí)驗(yàn)中k取20。
本文主要對滑動窗口大小size、實(shí)體權(quán)重、標(biāo)題、關(guān)鍵詞、正文的查詢權(quán)重進(jìn)行調(diào)參,使用網(wǎng)格搜索和5-折交叉驗(yàn)證的方式進(jìn)行參數(shù)調(diào)優(yōu),選擇最大化NDCG@20的參數(shù)值,最終各個(gè)參數(shù)的設(shè)置見表6。
表6 各參數(shù)設(shè)置
本文選取BM25模型、查詢似然模型(Query Likehood Model,QL)[5]作為基準(zhǔn)模型,實(shí)驗(yàn)結(jié)果見表7。由表6可知,在NDCG@20和Precision@20這兩項(xiàng)指標(biāo)上,本文提出的模型優(yōu)于兩個(gè)基準(zhǔn)模型。出現(xiàn)上述結(jié)果的原因,一則在于本文提出的方法充分利用了文檔知識圖譜的強(qiáng)大語義表征能力及文檔圖譜的互聯(lián)和依賴關(guān)系;二則在于充分利用了關(guān)鍵詞、查詢實(shí)體間的依賴關(guān)系及擴(kuò)展項(xiàng),擴(kuò)展項(xiàng)基于知識圖譜直接編碼了整個(gè)圖譜上的關(guān)系信息,能有效過濾實(shí)體表示學(xué)習(xí)中的噪聲信息,緩解了查詢不匹配及信息不完整等問題,且在查詢的過程中充分考慮了實(shí)體的標(biāo)簽,標(biāo)簽的純凈度及實(shí)體標(biāo)簽之間的關(guān)聯(lián)度等信息,能夠捕捉更豐富的語義信息,使得相關(guān)度高的文檔排名更靠前,而另外兩種模型并未考慮,這也充分說明了本文提出模型的有效性。
表7 實(shí)驗(yàn)結(jié)果
隨著網(wǎng)絡(luò)的普及,如何從海量的文檔中快速、準(zhǔn)確地檢索出想要的文檔是近年來的熱門研究。本文基于知識圖譜技術(shù),提出了構(gòu)建文檔知識圖譜的方法,并在此基礎(chǔ)上,充分考慮了關(guān)鍵詞、實(shí)體、實(shí)體間關(guān)聯(lián)關(guān)系、依賴關(guān)系、實(shí)體的標(biāo)簽信息等因素,對關(guān)鍵詞和實(shí)體在知識圖譜上進(jìn)行語義擴(kuò)展,并結(jié)合文檔本身的結(jié)構(gòu)特征,提出了基于文檔知識圖譜的智能檢索模型DKGIR模型。并在公開數(shù)據(jù)集ESR上進(jìn)行了對比實(shí)驗(yàn),實(shí)驗(yàn)證明本文提出的模型對于文檔檢索具有有效性,對文檔檢索具有一定的實(shí)用價(jià)值。