劉申凱,周霽婷,朱永華,高洪皓,3
(1.上海大學,上海 200072;2.上海大學 計算機工程與科學學院,上海 200444;3.上海大學 計算中心,上海 200444)
在互聯(lián)網的高速發(fā)展下社交網絡隨之興起,微信、微博等文本形式的使用量日益增多。這類文本的大規(guī)模使用對研究自然語言處理帶來了新的挑戰(zhàn)。在社交網絡中,由于這類文本的篇幅較小,包含的信息量較少,會導致語義信息的不完全。另一方面,網絡文本常會包含許多新詞,這些網絡新詞會直接影響分詞的準確性,從而對理解網絡文本的語義內容帶來了一定的困難。目前針對這類新詞識別的主要研究方法包括基于規(guī)則、基于統(tǒng)計以及融合規(guī)則與統(tǒng)計方法。
基于規(guī)則的方法對于特定領域有較高的正確率,但是制定規(guī)則需要大量人工成本,存在規(guī)則跨領域性適應能力薄弱等問題。該方法主要研究中文語法、組詞規(guī)則、詞性特點以及領域本體等方面,總結新詞的構詞規(guī)則和模式特點來建立規(guī)則庫,進而通過匹配度來識別網絡新詞。例如,鄒綱等[1]針對網頁上的中文新詞識別問題,提出一種從網頁中自動檢測新詞的方法,并根據構詞規(guī)則對自動檢測的結果進行過濾,最終抽取新詞語。該方法對高頻新詞有很好的識別效果。Ma等[2]針對網絡新聞中的未登錄詞,提出一種自下而上的歸并算法,同時引入一些基本語法規(guī)則,避免了過多的高頻垃圾串的抽取。
統(tǒng)計方法有很強的領域適應能力和可擴展性,但具有需要大規(guī)模語料庫和數據稀疏嚴重等問題。該方法主要運用大規(guī)模語料庫,通過計算研究新詞的成詞概率,利用詞頻信息、詞內部互信息值等統(tǒng)計特征獲取新詞集。例如,黃軒等[3]通過統(tǒng)計博客語料詞頻及二次過濾,將統(tǒng)計信息和詞性規(guī)則相結合進行排序,以實現博客語料的新詞發(fā)現,但是人工成本很高且無法識別網絡中最新的流行詞匯。Wang等[4]結合新詞識別問題與分詞問題,在對文本分詞標注和新詞標注的基礎上,利用統(tǒng)計量特征對改進的條件隨機場(conditional random field,CRF)模型進行訓練,提高了分詞和新詞識別的效果,但是需要大規(guī)模語料庫導致整體計算效率較低且對網絡新詞的識別率低下。
隨著語義網概念的提出,本體和知識圖譜成為文本相似度的研究基礎,常用的有WordNet、《知網》、《同義詞詞林》等。Gabrilovich等[5]提出顯性語義分析(explicit semantic analysis,ESA)方法,將維基百科派生出高維概念空間并將詞語表示為權重向量,通過比較兩個概念向量的余弦值等方法得到語義相關度。針對微博、微信等網絡單體文本規(guī)模較小、新詞構詞復雜以及詞匯自由度極大等特點,文中提出一種融合知識圖譜和ESA方法的網絡新詞識別方法。利用百度提供的知識圖譜Schema對原文本進行初步的分解,將無法分解的部分以ESA方法運用在百度百科上,最終在百科詞條中提取核心語義信息解釋原文中的網絡新詞。最后通過實驗對該方法進行驗證。
目前已有的詞語識別方法大致可以分為基于字符串(string-based)的方法、基于語料庫(corpus-based)的方法以及基于本體(knowledge-based)的方法[6-9]。
基于字符串的文本語義計算方法是以字符串的重復度和共現情況為主要衡量標準,根據計算的粒度進行分類,可以分為基于字符(character-based)的方法和基于詞語(term-based)的方法?;谧址姆椒ㄖ皇窃谖淖謱用嫔线M行文本比較,該方法由于原理簡單容易實現成為了其他方法的計算基礎,不足之處在于僅僅將單個字符或者詞語作為計算的標準,并未考慮詞語本身的含義和上下文之間的聯(lián)系。
基于語料庫的詞語識別方法可以分為基于詞袋模型(bag of words model,BOW)的方法、基于神經網絡的方法和基于搜索引擎的方法[10-12]?;谡Z料庫的文本語義計算相對于基于字符串的語義計算方法擁有更多的語義信息,但是語義信息來源依賴于外部數據庫的規(guī)模和健康度,如數據庫更新的速度緩慢會導致新興詞匯的識別困難,數據庫的數據不全面將直接導致語義信息的丟失,等等。
基于本體的文本語義計算能正確反映詞語間的內在語義聯(lián)系,但是本體更新速度慢、詞匯信息有限導致不適用于新出現的詞匯。基于本體的計算方法是先從詞語層面計算后疊加到長文本相似度上,相比基于語料庫的計算方法效率較低。由于本體的領域專業(yè)性極強會導致不利于跨領域的文本語義計算。
前文介紹的文本語義計算方法都無法解決未登錄詞識別和準確理解網絡文本表達的內在涵義等問題,本節(jié)通過利用百度知識圖譜Schema和ESA提供語義信息來解決這兩個短板。
百度知識圖譜Schema能計算出常見的語義結果,如知名人士的配偶情況、影視作品的導演信息等客觀公認的正確信息。為了驗證Schema的計算結果是否與文本具有較高的語義相似度從而能夠直接替換原文,引入語義相關性對計算結果進行評估。
知識圖譜(knowledge graph)是表示知識發(fā)展過程與結構關聯(lián)的可視化圖形,又被稱為知識領域映射地圖,描述了知識體系及其載體的關聯(lián)信息。知識網絡在本質上是一種語義網絡,各個網絡節(jié)點代表實體名(entity)或者概念名(concept),節(jié)點之間的邊即各種語義關系。知識圖譜相對于傳統(tǒng)的本體和同義詞詞林有著更高的實體和概念覆蓋度,實體和概念之間的各種語義關系也更加復雜和全面。
知識圖譜可以準確地反映出現有實體和概念的語義相關性,且更新速度比傳統(tǒng)的本體要快,并且知識圖譜在跨領域檢索上的表現也比本體更出色。對于知識圖譜中的兩個實體或者概念x,y,兩者間的語義相關性(relativity)可以表示為:
rel(x,y)=1-
(1)
其中,lx和ly分別表示實體/概念x,y擁有的鏈接(link)數量和;A表示知識圖譜中所有實體/概念數量的集合。
若B意味著知識圖譜中某一領域實體集合,那么實體x與實體集B之間的語義相關性可以表示為:
(2)
為了保證Schema的語義計算結果符合原文情況,通過引入語義相關性函數來評估語義計算結果的可靠性。語義相關性函數是一個介于[0,1]之間的數值,數值越大則說明兩個實體或者概念的相似度越高。
利用ESA方法將維基百科的詞語表示為權重向量,通過比較兩向量余弦值得到語義相關度。
其中余弦相似度方法是將文本轉換為向量空間中的兩個向量,然后計算這兩個向量夾角的余弦值,余弦值越大說明兩向量的夾角越小,那么這兩個文本越相似。該方法具有較強的解釋性,在網絡文本中應用廣泛但不適用于長文本。將文本X表示為n維向量X([x1,x2,…,xn]),文本Y表示為n維向量Y([y1,y2,…,yn]),那么這兩個向量的夾角余弦值可以表示為:
(3)
ESA方法在計算詞語與文本的關聯(lián)程度中采用了傳統(tǒng)的詞頻-逆文本頻率(TF-IDF)方法,其計算方法如下:
rel(x,A)=TFx,A×IDFx=TFx,A×log(N/DFx)
(4)
其中,TFx,A表示詞語x在文本A中出現的次數;N為總文本數;DFx表示x在所有文本中出現的次數。
傳統(tǒng)的TF-IDF方法僅僅依靠統(tǒng)計模型處理詞頻信息,沒有考慮詞語之間的語義信息,在實際運用中往往會使結果不準確。例如,某個詞語的詞頻很高但與整體的關聯(lián)度很低,理應給予較低的權重值來平衡TF-IDF方法的不足。結合前文的知識圖譜和搜索引擎方法提供的相關度信息,將關系密切的詞歸入一組,分組完成后計算權重方法如下:
(5)
其中,A為文本集合;m為文本類型的總個數;n為詞語xi在組內的詞頻;p(Aj/xi)為詞語xi在類別Aj中出現的概率。
網絡文本中的已登錄詞在知識圖譜提供詞語各個類別間的可靠分布情況下,改進后的權重公式將類別內部的語義關聯(lián)反映在TF-IDF方法中,解決了傳統(tǒng)方法丟失語義信息的不足。另一方面,對于網絡文本中的未登錄詞結合ESA方法提供核心語義信息,并將結果歸入上述方法可以解決傳統(tǒng)方法不能識別網絡新詞的缺點。
文中方法流程如圖1所示。
(1)語料數據預處理。
圖1 系統(tǒng)流程
以清華大學自然語言處理實驗室劉知遠研究員提供的分詞工具THULAC_PRO_V1.0作為基礎語料庫,以短語的粒度對網絡文本進行切分并進行詞性標注。統(tǒng)一將文本字符轉換為UTF-8編碼,并過濾網絡文本中一些特定格式的特殊字符串,主要有網頁地址、郵箱地址、話題標識符#以及提到某人標識符@等。
(2)以短語的粒度對原文進行分詞。
將原文本以短語的形式進行分割,如:《肖生克的救贖》導演/構建了/一個小鎮(zhèn)/的/社會生態(tài)/,那么多/人物/,該立體的/立體,該臉譜的/臉譜,那么/錯綜復雜的關系/,處理/得/井井有條/,真是/扎心了/老鐵。
(3)基于知識圖譜方法進行第一輪語義識別。
將分詞后的短語在百度知識圖譜Schema中進行匹配計算,如果得到準確語義詞匯則用新詞w替換原短語p。例如p=“肖生克的救贖導演”,在知識圖譜中得知w=“弗蘭克·達拉邦特”為該電影導演,評估兩者的語義相關性rel(p,w)=0.88,表明相關度很高,則用w代替p,若沒有準確結果或者rel值小于0.6則保留原文。
(4)對未識別語料基于改進ESA方法進行語義識別。
通過步驟3的知識圖譜方法處理后找到無法識別的未登錄詞,然后采用改進ESA算法得出相似度較高的三個義項α、β、γ,再將這三個義項與原文進行NGD計算取相似度最高的一個義項代替原文。若沒有結果將該詞匯標記為Un,進行人工處理加入詞典。
歸一化谷歌搜索引擎距離(normalized google distance,NGD)是由Cilibrasi等[10]提出的,其基本原理是給定搜索關鍵詞x,y,搜索引擎返回包含x,y的網頁數量f(x)、f(y)和同時包含x,y的網頁數量f(x,y),NGD的計算公式如下所示。
(6)
例如示例中提到的老鐵的α=“兄弟”,0.81,β=“哥們”,0.88,γ=“鐵哥們”,0.92,其中γ的相似度值最高,用“鐵哥們”代替“老鐵”進行語義概括。
(5)后處理整合。
綜合步驟3和步驟4的結果,并將最后的結果重新以詞語的細粒度進行詞性標注,示例的輸出結果為:弗蘭克·達拉邦特/nr 構建/v 了/c 一個/q 小鎮(zhèn)/n 的/c 社會生態(tài)/n 那么多/q 人物/n 該/c 立體的/ad 立體/n 該/c 臉譜的/ad 臉譜/n 那么/u 錯綜復雜/ad 的/c 關系/n 處理/v 得/c 井井有條/n 真是/y 扎心了/v 老鐵/n。
實驗采用微博數據中心提供的熱門話題語料庫作為數據集,其中包括20個類別,共167 386條微博。分別為社會、科技、數碼、財經、綜藝、電影、汽車、體育、軍事、健康、歷史、美食、時尚、法律、藝術、宗教、旅游、國際、設計和三農類。使用清華大學自然語言處理實驗室自主研發(fā)的THULAC_PRO_V1.0分詞系統(tǒng)和情感詞典作為基礎資源,通過從國家語言資源監(jiān)測與研究中心發(fā)布的2016年中國媒體新詞庫以及2017年12月前的部分網絡新詞中隨機抽取100個新詞作為測試集,通過實驗對算法性能進行評價。
通過準確率P、召回率R和F值對新詞發(fā)現實驗的結果進行評價。計算公式如下所示:
(7)
(8)
(9)
準確率P和召回率R是目前應用于信息檢索領域和統(tǒng)計學分類領域的兩個主要度量值,反映了檢索系統(tǒng)實驗結果的質量。其中P是指檢索出正確新詞數與檢索到的詞語總數的比率,衡量的是新詞查準率;召回率R是指檢索出的正確新詞數和文檔庫中所有的新詞數的比率,衡量的是新詞查全率;F值則是綜合這二者指標的評估指標,即為正確率和召回率的調和平均值,用于綜合反映整體的指標。
為了驗證該方法的有效性和準確度,將不同的新詞識別方法所得到的新詞集作為詞典,在THULAC_PRO_V1.0分詞工具中進行分詞和詞性標注實驗,結果如表1所示。
從表1可以看出,通過加入新詞詞典可以提高原有詞典的分詞準確度,同時糾正了針對新詞的分詞錯誤,尤其對于網絡新詞效果顯著。相比其他方法,文中構建的新詞詞典在分詞結果中有著最大的F值,驗證了該方法在網絡新詞識別方面具有較高的查準率和查全率。
將文中方法與常見的新詞語義識別方法(選取了基于規(guī)則方法、基于統(tǒng)計方法以及融合規(guī)則和統(tǒng)計方法中的代表方法)進行新詞的識別對比實驗,結果見表2。
實驗結果分析:
方法1利用點互信息(pointwise mutual information,PMI)的改進算法與基本過濾算法相結合,從大規(guī)模百度貼吧語料中自動識別網絡新詞。
方法2使用基于支持向量機(support vector machine,SVM)和詞特征的方法完成新詞識別,并加入了少量的簡單規(guī)則過濾方法,有效地提高了新詞識別的效果。
方法3和方法4分別通過使用有限狀態(tài)的詞法猜測工具、基于機器學習的預標注工具體系來進行未登錄詞的抽取,實驗證實了該方法的有效性并已將抽取的未登錄詞集合作為公開的開放資源。
表1 不同算法的分詞結果 %
表2 不同算法的新詞識別結果 %
這4種方法都有較高的召回率,但是新詞識別的精準度較低,如在新詞識別實驗結果中出現“驚了個呆”“太厲害了吧”等識別結果,該類方法更傾向于規(guī)則的總結和制定。文中方法充分考慮了規(guī)則方法的識別缺陷,將規(guī)則的制訂改由百科信息進行匹配,提高了網絡新詞識別的精準度。
方法5在傳統(tǒng)基于規(guī)則的識別方法的基礎上提出改進的C/NC-value方法,通過互信息和鄰接熵提高新詞發(fā)現精度。該方法有效解決了新詞的邊界界定問題,例如在經過一輪新詞篩選后,“請/c 多多/q 點/v 贊/v”、“點/v 贊/v 以表/p 支持/v”、“點/v 贊/v”都出現在候選新詞表中,通過改進的C/NC-value方法可以精準確定新詞的前后邊界,最終只保留新詞“點贊/v”,其余情況將被算法進行過濾。
方法6是在方法5的基礎上結合SVM分類器模型進行新詞識別,依據候選新詞集對分詞后的標注語料作為訓練集,將粗切分的語料作為測試集。該方法能提高對低頻新詞的識別度,例如“hold住/v”、“細思極恐/v”、“累覺不愛/v”等等。
方法7利用知識圖譜方法進行網絡新詞識別,在知識圖譜已有知識范圍內的識別率很高且十分高效,然而對于未知信息的識別率很低。
方法8在網絡新詞識別的識別率很高,但是將調用大量網絡資源使得整個檢索過程時間相對較長。
文中提出的融合知識圖譜和ESA的方法對這兩種算法取長補短,利用知識圖譜中的以后知識快速高效地進行初步識別,將未知信息交由ESA方法進行時間較長但精度較高的檢索,最終得到一個系統(tǒng)時間消耗適中,實驗結果更精確的網絡新詞識別結果。
實驗結果表明,基于網絡知識的網絡文本相似度算法結合了詞語和語義之間的關系,在挖掘詞語之間的相關度方面有著更明顯的優(yōu)勢。文中基于網絡知識的網絡文本相似度算法相比ESA方法能找到更準確的相關度結果,說明該算法有效提高了對網絡新詞的理解能力。
為了驗證該方法能解決傳統(tǒng)的語義理解方法對網絡新詞理解力不足的缺點,實驗采用由國家語言資源監(jiān)測與研究中心發(fā)布的2016年中國媒體新詞庫作為測試集,隨機選取其中的100個詞語進行相關度匹配實驗。圖2給出了用ESA方法和文中方法進行實驗的結果。
扎心痛心0.58走心0.78點贊之交稱贊0.64點頭之交0.82藍瘦難受0.88難受0.88躺贏勝利0.54穩(wěn)贏0.67一臉懵逼驚呆0.66目瞪口呆0.81
圖2 網絡新詞理解結果
從實驗結果可以看出,融合知識圖譜和ESA方法的網絡新詞識別方法比已有的ESA方法在語義計算上更精確。原有的ESA方法更傾向于字面意思進行語義識別,因此實驗結果往往會出現新詞中某個字的近義詞。而文中方法通過在基于統(tǒng)計信息的文本相似度匹配過程中融入語義信息,提高了網絡新詞與已有詞匯的相關度。
相對于常規(guī)的文本相似度算法,文中算法改進了傳統(tǒng)的逐詞匹配方式,將短語的語義信息進行高度概括后再進行詞語的相關度匹配計算,優(yōu)化了關鍵詞的匹配策略,使計算結果更加精確和穩(wěn)定。另一方面,文中方法結合網絡知識圖譜,將同義詞和近義詞信息考慮到相似度計算中,解決了傳統(tǒng)方法對網絡新詞相關度匹配結果接近于零的缺點。
實驗結果表明,基于網絡知識的網絡文本相似度算法結合了詞語和語義之間的關系,在挖掘詞語之間的相關度方面有著更明顯的優(yōu)勢。文中方法相比顯性語義分析能找到更準確的相關度結果,能有效提高對網絡新詞的理解能力。
融合知識圖譜和ESA方法的網絡新詞語義識別與傳統(tǒng)方法相比,在語義識別和網絡新詞理解方面表現了其優(yōu)越性。對網絡文本進行準確分詞是挖掘社交網絡文本信息重要的步驟,充分考慮網絡文本的語義信息是計算相似度值的關鍵量尺。文中在現有語義識別計算方法的基礎上提出一種改進算法,提高了計算結果的穩(wěn)定性和準確性。接下來將進一步加大測試的數據量,并測試除了微博數據外的網絡文本數據集,提高該方法在不同測試集中的魯棒性。