段建勇 魯朝陽 王昊 李欣 何麗
1. 北方工業(yè)大學信息學院 北京 100144;
2. 富媒體數(shù)字出版內容組織與知識服務重點實驗室 北京 100038;
3. 北方工業(yè)大學CNONIX 國家標準應用與推廣實驗室 北京 100144
當今社會信息高速發(fā)達,每天發(fā)表在社交平臺上的內容不計其數(shù),其中絕大部分都是短文本。對于時間有限的人們來說,想要快速檢索自己感興趣的內容就成了一個亟待解決的問題。關鍵詞可以幫助讀者快速了解一篇文檔的主題內容,通過關鍵詞抽取技術可以在海量的文本中將人們最關心的問題提取出來。關鍵詞通常為一個或多個能夠描述文檔主題信息的詞語或者詞組[1]。早期文章的關鍵詞主要靠的是人工標注,這導致關鍵詞標注工作既費時又費力。隨著計算機技術的發(fā)展,越來越多的機構和個人開始研究關鍵詞抽取技術,已經(jīng)有不少方法在關鍵詞抽取領域取得了較好的效果。隨著在自然語言處理領域對關鍵詞抽取方法研究的逐步深入,在多項文本挖掘任務例如文本摘要、文本分類中都發(fā)揮了重要的作用。比如從最近一天所有用戶發(fā)表的微博中提取出關鍵詞,就可以知道當天人們最關心的問題。但是現(xiàn)有關鍵詞抽取方法的性能依然較差,距離實際應用還有很長一段路要走。
傳統(tǒng)的關鍵詞抽取方法通常只關注單詞出現(xiàn)的頻率,迭代計算過程給與高頻詞較高的權重。但在短文本中,一些關鍵詞低頻較低,這導致了關鍵詞的丟失。本文所采用的數(shù)據(jù)集為大量論文摘要,論文摘要符合一般短文本特征,并且對應作者所標注的關鍵詞基本都能準確表達摘要以及文章的核心含義,因此本文以大量論文摘要作為數(shù)據(jù)集進行關鍵詞抽取技術的研究。本文基于知網(wǎng)提供義原樹結合詞林知識構建知識圖譜,并將知識融入到TextRank 方法所采用的詞圖模型中,使得構建的詞圖不僅包含詞語之間的共現(xiàn)信息,還融入了語義知識。實驗結果證明,本文所提出的方法相比傳統(tǒng)TextRank、TD-IDF、Word2Vec 方法有一定提升。
早期的關鍵詞抽取研究主要是基于統(tǒng)計的方法,對候選詞的一些特征進行統(tǒng)計,然后根據(jù)統(tǒng)計的結果對候選詞進行排序。包括以N-gram、TF-IDF 等指標來評價候選詞在文檔中的重要性。TextRank 是基于統(tǒng)計的圖模型中最為典型的代表,首先通過詞性標簽篩選出文本中的候選詞,其次為在同個窗口中出現(xiàn)的候選詞之間建立邊,最后賦予每個節(jié)點相同的初始值并運行PageRank 算法直至收斂[2]。SGRank使用單詞的首次出現(xiàn)位置、詞長等統(tǒng)計指標為候選詞的邊賦值[3]。
隨著關鍵詞抽取技術在文本挖掘等領域的深入應用,越來越多的學者開始從事研究相關工作。Zhang 等[4]利用“全局上下文信息”,提出基于支持向量機的任務執(zhí)行方法從文檔中提取關鍵詞。Beliga 等[5]提出了一種新的基于選擇性的關鍵字提取方法,該方法從源文本中提取以網(wǎng)絡表示的關鍵字。通過加權網(wǎng)絡計算節(jié)點選擇值,將其作為權重分布在單個節(jié)點鏈路上的平均值,用于關鍵詞候選排序和提取過程。Biswas 等[6]基于圖模型,提出一種無監(jiān)督關鍵詞抽取方法,該方法通過綜合各種影響參數(shù)來確定關鍵字的重要性。閆強等[7]將詞語的語義信息引入到TextRank 算法中,改進了關鍵詞抽取效果。還有學者對經(jīng)典的TF-IDF 加權公式進行改進,構建一個綜合考慮多種影響因素的候選關鍵詞評分加權公式;對SharpICTCLAS分詞進行改進,增加位置標注;選擇評分較高的詞作為候選關鍵詞,利用詞的位置標注進行關鍵詞抽取優(yōu)化操作,將“切碎”的候選關鍵詞進行組配,形成正式抽取的關鍵詞[8]。
回顧最近的工作,Zhang 等[9]提出了一個關鍵詞提取框架。該框架有 2 個模塊,分別是對話上下文編碼器和關鍵詞標記器。對話上下文編碼器從他們的對話上下文中捕獲指示性表示并將該表示輸入關鍵詞標記器,關鍵詞標記器從目標帖子中提取顯著詞。這兩個模塊經(jīng)過聯(lián)合訓練,以優(yōu)化對話上下文編碼和關鍵詞提取過程。胡少虎等[10]通過對關鍵詞提取方法,尤其是關鍵詞生成方法進行總結,闡明了關鍵詞提取方法的研究重心從特征轉向數(shù)據(jù)的趨勢與原因,并指出現(xiàn)有關鍵詞提取評價體系所存在的缺陷。
近年來,知識圖譜(Knowledge Graph,KG)作為一種新的知識表示方法,在問題回答、信息檢索以及自然語言處理等領域有著重要的應用。知識圖譜是結構化的語義知識庫,用于以符號形式描述物理世界中的概念及其相互關系;其基本組成單位是“實體—關系—實體”三元組,以及實體及其相關屬性鍵值對,實體間通過關系相互聯(lián)結,構成網(wǎng)狀的知識結構[11]。知識圖譜嵌入(Knowledge Graph Embedding,KGE)是一種新的研究方向,其基本思想是將包含實體和關系的KG 組件嵌入到連續(xù)的向量空間中,從而在保持KG 固有結構的同時簡化操作[12]。
Guo 等[13]首先提出了一個將由實體和關系構成的知識圖譜嵌入到低緯稠密向量空間中的方法。后來他們又提出了一種新的知識圖譜分布式表示學習方法——規(guī)則引導嵌入(Rule-Guided Embedding,RUGE),其借助軟規(guī)則的迭代引導完成知識圖譜表示學習[14]。TransE[15]是一種經(jīng)典的知識表示學習方法,可以對知識圖譜進行補全。其通過對頭實體、尾實體及對應關系進行建模,將實體和關系都表示為同一空間中的向量,能夠通過訓練得到不錯的低維嵌入向量。但是,它在處理一對多、多對多等關系方面存在缺陷。TransH[16]是對TransE 的改進,在一定程度上緩解了TransE 不能很好地處理一對多、多對一等關系屬性的問題,在預測精度方面有了顯著的改進。知識圖譜嵌入已經(jīng)可以有效處理各種下游任務,例如鏈路預測(Link Prediction, LP)[17]、關系抽取[18]和推薦系統(tǒng)[19]。
董振東花費數(shù)十年時間建立了一個漢語常識庫——知網(wǎng),一個可用于自然語言處理的知識系統(tǒng),能解釋詞語概念和屬性間關系的知識庫。義原是知識庫中不能再分割的最小的單位,在知網(wǎng)的知識庫中每一個詞語都可以使用若干個義原表示。
在知網(wǎng)中,并不是將每一個概念對應于一個樹狀概念層次體系中的一個結點,而是通過用一系列的義原,利用某種知識描述語言來描述一個概念。而這些義原通過上下位關系組織成一個樹狀義原層次體系。如圖1 所示,知網(wǎng)中詞語“聯(lián)想”有兩種意思,第一個“聯(lián)想”是由電腦(computer)、樣式值(PatternValue)、能(able)、攜帶(bring)、特定牌子(SpeBrand)組成;第二個“聯(lián)想”表示精神(Mental)。知網(wǎng)定義了約2000 個義原,并且用這些義原表示了約10 萬個中文和英文單詞。
圖1 聯(lián)想在知網(wǎng)中的描述
同義詞詞林是由梅家駒等編撰的漢語詞庫,里面歸類了漢語詞語的同義詞和同類詞。同義詞詞林經(jīng)過哈爾濱工業(yè)大學信息檢索研究室的擴展后,共有100093 個詞語。如圖2 所示,同義詞詞林的擴展板具有五層樹狀結構,上面四層的節(jié)點代表抽象的類別,最底層的葉子節(jié)點是具體的詞條,詞條的編碼不唯一,可能在不同的類別中同時存在。詞林根據(jù)漢語的特點和使用方式,將詞語分為十二個大類。其中第一類至第三大類大多數(shù)是名詞,數(shù)詞和量詞在第四大類中,第五類一般是形容詞,第六類至第十類一般是動詞,第十類多數(shù)是虛詞,第十二類是其他類別詞語。大類和中類的排序遵守從具體概念到抽象概念的原則。
圖2 詞林結構
關于詞條的編碼如表1 所示。前七位編碼可以唯一確定一條編碼,第八位編碼只有三種情況:“=”代表同義;“#”代表同類;“@”代表獨立,自我封閉,它在字典中既沒有同義詞,也沒有同類詞。本文所使用的詞林為《哈工大信息檢索研究同義詞詞林擴展版》1.0 版本。
表1 詞林中詞語的編碼結構
受知識表示學習方法的啟發(fā),本文基于知網(wǎng)提供的義原樹和詞林知識,利用TransH模型[20]訓練并建立了具有三種關系的知識圖譜(HowNet and CilinE Knowledge Graph,HCKG)。三種關系分別是“同義”“同類”“是義原”。前兩種關系是基于詞林的表示詞語和詞語之間的關系,第三種關系是基于知網(wǎng)的表示詞語和義原之間的關系。如圖3 所示,“眼光(look)”和“目光(eye)”是同義關系,它們有著相同的義原。“急性(acute)”和“慢性(chronic)”是同類關系,它們有一部分相同的義原。
圖3 知識圖譜內的關系示例
HCKG 里面的所有關系為一個集合R={Rsym,Rsim,Rsem},Rsym和Rsim分別代表詞語之間的“同義”和“同類”關系,Rsem代表詞語和義原之間的“是義原”關系,例如在圖3 中,“醫(yī)(medical)”是詞語“慢性(chronic)”的義原。圖譜{Eword,Esem}里面的每個關系都由一個三元組(h,r,t)表示,h是屬于Eword的一個頭結點,t是屬于Eword∪Esem的一個尾結點,r代表關系。損失函數(shù)定義如下:
λL是超參數(shù),用來設置兩個損失函數(shù)的權重。
本文基于HCKG 提供的知識表示來計算詞語之間的語義信息。通過詞語之間的語義信息構建語義詞圖,生成語義矩陣ωsim,結合詞語之間的共現(xiàn)信息生成的共現(xiàn)矩陣ωco,分別賦予兩者相應權重,得到新的概率轉移矩陣P:
4.1.1 實驗環(huán)境
本次實驗是在windows11操作系統(tǒng)上進行,處理器型號AMD Ryzen 7 5800H @3.20 GHz,內存16G,Python 版本3.7.11。
4.1.2 參數(shù)設置
在HCKG 中,詞語、義原和關系的嵌入維度設置為800,采用Adam 作為優(yōu)化器,學習率設置為0.05。由于存在未登錄詞的現(xiàn)象,如果實驗中存在未登錄詞,將它與其他詞語之間的相似度設為η。本次實驗所取參數(shù)均在實驗中取得了最好的效果。根據(jù)多次嘗試得到的經(jīng)驗,公式(5)的參數(shù)α設置為0.85,η=0.4。
4.2.1 基準方法
實驗所采用的基準方法是TextRank,阻尼系數(shù)d 取0.85,當候選詞權重迭代前后變化小于0.0001,停止迭代。
在上式中,In(Vi)代表指向節(jié)點i的節(jié)點集合,而Out(Vj)表示節(jié)點j指向的節(jié)點集合。d為阻尼系數(shù),阻尼系數(shù)使得每個節(jié)點都有跳轉至隨機頂點的概率,從而避免節(jié)點無法跳出的情況,取值范圍(0, 1)。
4.2.2 數(shù)據(jù)預處理
實驗所使用的數(shù)據(jù)集為課題組搜集的33192篇期刊論文摘要,以及對應作者所標注的關鍵詞,摘要一般在120 字數(shù)左右,關鍵詞個數(shù)一般在4 個左右。相關論文所屬領域主要為自然工程類,其中大部分屬于工程科技類,少部分屬于信息科技類和社會科學類。本文首先對期刊論文的標題和摘要進行拼接,組成一個新的短文本。拼接完成后,使用中文分詞庫jieba 對摘要進行分詞。分詞完成后剔除不需要的詞,剩下的詞語就是候選詞。在研究了大量人工標注的關鍵詞詞性后,本次實驗留下來的候選詞類型有名詞、動詞、名動詞、人名、地名、機構團體和其他專名。
Word2Vec 方法是李躍鵬等[21]提出的一種基于深度學習工具Word2Vec 關鍵詞提取算法,該算法首先使用Word2Vec 模型將所有詞語映射到一個更抽象的詞向量空間中,其次基于詞向量計算詞語之間的相似度,最后通過詞語聚類得到文章關鍵詞。TD-IDF 算法[22]采用TF 值和文本逆頻率IDF 進行加權,根據(jù)候選詞權值大小提取關鍵詞。
本文使用準確率P、召回率R 和F1 值作為指標來評價各種方法的效果。設w1為自動抽取的關鍵詞集合,w2為人工標注的關鍵詞集合,則評價指標如公式(9)、公式(10)和公式(11)所示。其中TP代表正類被判定為正類,F(xiàn)P代表負類被判定為正類,F(xiàn)N代表正類被判定為負類,Num代表個數(shù)。
本節(jié)主要展示使用各種方法進行關鍵詞抽取時得到的結果。如表2 所示,在抽取4 個關鍵詞時,本文所提出的方法相比TextRank 方法F1 值提升5.9%,比TD-IDF 方法F1 值提升14.2%,比Word2Vec 方法F1 值提升65.2%。
表2 詞林中詞語的編碼結構
表2 抽取4 個關鍵詞時實驗結果
如表3 所示,在抽取5 個關鍵詞時,本文所提出的方法相比TextRank 方法F1 值提升2.9%,比TF-IDF 方法F1 值提升11.4%,比Word2Vec 方法F1 值提升52.9%。
表3 抽取5 個關鍵詞時實驗結果
在抽取6 個關鍵詞時,結果見表4,本文所提出的方法相比TextRank 方法F1 值提升2.2%,比TF-IDF 方法F1 值提升11.0%,比Word2Vec方法提升46.0%。
表4 抽取6 個關鍵詞時實驗結果
本文所提出的方法在抽取不同數(shù)量的關鍵詞時效果均為最好。究其原因,論文摘要的關鍵詞不一定為高頻詞匯,如果只考慮詞語之間的共現(xiàn)信息,最終抽取結果會偏向高頻詞而忽略低頻詞。本文提出基于TextRank 算法的改進方法,在概率轉移矩陣里面融入詞語語義知識,賦予某些出現(xiàn)頻率較低,重要程度較高的詞語更高權重,實驗證明該方法抽取效果更佳。Word2Vec 方法基于維基百科中文語料使用Word2Vec 模型訓練生成詞向量模型,再從中抽取候選關鍵詞的詞向量作為K-means 聚類模型的輸入,選擇聚類中心作為關鍵詞。但是維基百科中文語料可能未包含某些專業(yè)或者生僻的詞語,加上選擇聚類中心作為文本的關鍵詞聚類方法時,選擇聚類中心作為文本的關鍵詞本身就是不太準確的,因此使用這種方法得到的效果不佳。TF-IDF 結構比較簡單,不能有效反映詞語的重要程度,對于專業(yè)性稍微強一點的文本例如論文摘要抽取效果較差,所以TF-IDF方法的效果也不是很理想。
為了更詳細地展現(xiàn)出本文所提出方法的關鍵詞抽取效果,表5 展示了一些示例在使用不同方法時的抽取結果示例。在例一中,本文所提出的TextRank+ HCKG 方法提取出了“試驗臺”和“噴油泵”關鍵詞,其他方法只提取出了“試驗臺”關鍵詞。例二同樣只有TextRank+HCKG 方法提取出了“柴油機”和“增壓”關鍵詞,其他方法只提取出了“柴油機”關鍵詞。這也證明本文所提出的方法相比其他方法,可以取得更好的論文摘要關鍵詞抽取效果。
表5 不同關鍵詞抽取方法效果對比
本文基于義原樹和詞林知識,利用TransH模型訓練并構造了知識圖譜HCKG。利用知識圖譜提供的知識表示計算詞語的語義信息,構建語義詞圖,結合詞語之間共現(xiàn)詞圖,生成新的概率轉移矩陣進行迭代計算得到各候選詞權重,最終根據(jù)權重大小提取關鍵詞。實驗證明,本文所提出的方法比傳統(tǒng)TextRank、TD-IDF 和Word2Vec 方法有一定提升。
觀察實驗結果,有些常用詞也出現(xiàn)在了其中。例如基于摘要“柴油機噴油泵試驗臺…在LabVIEW 環(huán)境下的實現(xiàn)”抽取出的關鍵詞中,詞語“采集”和“數(shù)據(jù)”被當成關鍵詞抽取了出來。這也是課題組下一步要做的工作,根據(jù)研究目標特點建立特定詞庫,提高分詞效率和關鍵詞抽取效果。