文萬(wàn)志,姜文軒,葛 威,朱 愷,李喜凱,吳雪斐
(南通大學(xué) 信息科學(xué)技術(shù)學(xué)院,江蘇 南通 226019)
命名實(shí)體消歧在自然語(yǔ)言處理領(lǐng)域發(fā)揮著十分重要的作用,其目的是解決文本中實(shí)體歧義問(wèn)題。一般而言,命名實(shí)體在文本信息傳輸過(guò)程中發(fā)揮著關(guān)鍵作用,但命名實(shí)體通常以簡(jiǎn)稱的方式存在,這可能導(dǎo)致多個(gè)實(shí)體指向一個(gè)相同的實(shí)體名稱,也就是所謂的實(shí)體歧義。實(shí)體消歧的任務(wù)就是將文本中的實(shí)體正確地鏈接到實(shí)體語(yǔ)義中。實(shí)體消歧作為自然語(yǔ)言處理領(lǐng)域的基礎(chǔ)性研究,對(duì)后續(xù)的語(yǔ)言處理任務(wù)十分重要,相關(guān)任務(wù)包括:智能問(wèn)答[1]、信息降噪[2]、人工智能翻譯[3]等。
近些年,實(shí)體消歧技術(shù)在不斷進(jìn)步,其實(shí)用性、適用性和穩(wěn)定性不斷提高。目前,實(shí)體消歧技術(shù)包含了機(jī)器學(xué)習(xí)和通過(guò)維基百科構(gòu)建的語(yǔ)料庫(kù)[4]實(shí)現(xiàn)的大數(shù)據(jù)技術(shù)。邵發(fā)等[5]針對(duì)開放文本中中文實(shí)體關(guān)系抽取的一詞多義問(wèn)題,提出一種基于實(shí)體消歧的中文實(shí)體關(guān)系抽取方法。通過(guò)在知網(wǎng)中挖掘關(guān)系實(shí)體構(gòu)建語(yǔ)料庫(kù),以貝葉斯分類的消歧模式構(gòu)造對(duì)維基百科的映射關(guān)系,并使用模式合并的方式形成新模式的方法來(lái)獲取較高的準(zhǔn)確率。寧博等[6]提出了基于異構(gòu)知識(shí)庫(kù)使用分布式計(jì)算的層次聚類方法,并在維基百科中文語(yǔ)料庫(kù)的基礎(chǔ)上融合了百科知識(shí)庫(kù)。在Hadoop 平臺(tái)上用分布式計(jì)算進(jìn)行層次聚類,研究人物實(shí)體特征的選取和維基百科等知識(shí)庫(kù)的使用對(duì)命名實(shí)體消歧結(jié)果的影響。其中,通過(guò)加入百科知識(shí)庫(kù)后,實(shí)驗(yàn)結(jié)果顯示F 值從原先的91.33%提高到92.68%。高艷紅等[7]以中文維基百科為知識(shí)庫(kù)支撐,從實(shí)體表述的語(yǔ)義環(huán)境和待選實(shí)體在百科中的描述兩個(gè)方面提出不同的語(yǔ)義特征并計(jì)算語(yǔ)義相似度,在與已構(gòu)建的圖模型融合后,采取PageRank 算法計(jì)算,F(xiàn) 值提高了9%。馬曉軍等[8]針對(duì)Skip-gram 詞向量計(jì)算模型在處理多義詞時(shí)只能計(jì)算一個(gè)混合多種語(yǔ)義的詞向量,不能對(duì)多義詞不同含義進(jìn)行區(qū)分的問(wèn)題,提出了與詞向量相結(jié)合并融合了三類特征的方法,與此同時(shí),擇取待選實(shí)體中相似度最高的作為最終的目標(biāo)實(shí)體取得了更優(yōu)化的消歧結(jié)果。
目前,實(shí)體消歧技術(shù)雖然可以利用實(shí)體上下文和外部知識(shí)庫(kù)來(lái)獲取實(shí)體知識(shí),但是面對(duì)短文本和缺乏知識(shí)庫(kù)的情況,相關(guān)技術(shù)無(wú)法發(fā)揮其效果。為此,本文在沒(méi)有外部知識(shí)庫(kù)和豐富的上下文的情況下,提出一種新的按照領(lǐng)域劃分的實(shí)體消歧技術(shù)。首先,為所有的待消歧詞創(chuàng)建字典,以便快速精準(zhǔn)地找到待消歧詞;接著,對(duì)句子進(jìn)行切分,每一個(gè)待消歧詞切分為一句,防止因一句話中存在多個(gè)待消歧詞的情況而出現(xiàn)判斷誤差;最后,將切分好的句子放入BERT(bidirectional encoder representation from transformers)模型中進(jìn)行預(yù)訓(xùn)練,對(duì)訓(xùn)練的結(jié)果進(jìn)行分類,從而得出句子中是否存在領(lǐng)域?qū)嶓w。
本文結(jié)合BERT 和LSTM(long short-term memory)的優(yōu)點(diǎn),提出了一種基于深度學(xué)習(xí)的實(shí)體消歧技術(shù),以提高消歧準(zhǔn)確率。主要貢獻(xiàn)如下:1)將二分類法引入實(shí)體消歧模型。實(shí)體消歧任務(wù)簡(jiǎn)化為以領(lǐng)域?yàn)閱挝唬慌袛啻鐚?shí)體是否為特定領(lǐng)域?qū)嶓w,使其相較于多分類法準(zhǔn)確度大幅提升。2)將BERT模型和LSTM 模型相結(jié)合,提取了具有較高準(zhǔn)確度的特征向量。
在監(jiān)督學(xué)習(xí)模型中,通過(guò)大量的訓(xùn)練數(shù)據(jù),擬合出一個(gè)分類決策函數(shù)或者分類模型,并將此稱作分類器。對(duì)于分類器而言,模型輸入的變量既可以是連續(xù)的,也可以是離散的,而輸出的變量則是有限個(gè)離散數(shù)值。對(duì)于訓(xùn)練好的分類器,當(dāng)向模型輸入新的變量時(shí),模型可以輸出預(yù)測(cè)結(jié)果,這一過(guò)程稱作分類。
線性回歸[9]是利用稱為線性回歸方程的最小二乘函數(shù)對(duì)一個(gè)或多個(gè)自變量和因變量之間關(guān)系進(jìn)行建模的一種回歸分析。
邏輯回歸[9]是目前最成熟也是最為常見(jiàn)的二分類模型,主要用來(lái)計(jì)量一組解釋變量與離散的因變量之間的關(guān)系。
對(duì)于二分類問(wèn)題,結(jié)果只有0,1 兩種情形,可用sigmoid 函數(shù)表示為
對(duì)線性回歸中的函數(shù)進(jìn)行sigmoid 變換,即可得邏輯回歸函數(shù)
對(duì)離散的數(shù)據(jù)進(jìn)行sigmoid 變換后,可化為連續(xù)的線性回歸,變換后可得
此時(shí),只需求出θ 值,即可找出最優(yōu)解,這里采用極大似然估計(jì)法對(duì)θ 進(jìn)行確定,
根據(jù)該函數(shù)可通過(guò)梯度下降法求出最優(yōu)解。
BERT[10]利用了Transformer[11]的encoder 部分,該模型的創(chuàng)新點(diǎn)主要在Pre-train 上,即用Masked LM 捕捉詞語(yǔ)級(jí)別的Representation 和用NSP(next sentence prediction)方法捕捉句子級(jí)別的Representation。Transformer 的原型包括兩個(gè)獨(dú)立的機(jī)制:Encoder 負(fù)責(zé)接收文本作為輸入,Decoder 負(fù)責(zé)預(yù)測(cè)任務(wù)的結(jié)果。BERT 的目標(biāo)是生成語(yǔ)言模型,所以只需要Encoder 機(jī)制。
在將單詞序列輸入BERT 之前,每個(gè)序列中有15%的單詞被[MASK] token 替換。然后模型嘗試基于序列中其他未被mask 的單詞的上下文來(lái)預(yù)測(cè)被mask的原單詞。BERT 的損失函數(shù)只考慮了mask 的預(yù)測(cè)值,而忽略了沒(méi)有mask 的字的預(yù)測(cè)。因此,雙向模型要比單向模型收斂得慢,但結(jié)果的情境意識(shí)得到增強(qiáng)。
在BERT 的訓(xùn)練過(guò)程中,模型接收成對(duì)的句子作為輸入,并且預(yù)測(cè)其中第2 個(gè)句子是否在原始文檔中也是后續(xù)句子。在訓(xùn)練期間,50%的輸入對(duì)在原始文檔中是前后關(guān)系,另外50%是從語(yǔ)料庫(kù)中隨機(jī)組成的,并且是與第一句斷開的。
在深度學(xué)習(xí)領(lǐng)域中,長(zhǎng)短期記憶(long shortterm memory,LSTM)[12]是一種循環(huán)神經(jīng)網(wǎng)絡(luò)(recurrent neural network,RNN)架構(gòu)。相較于標(biāo)準(zhǔn)的前饋神經(jīng)網(wǎng)絡(luò),LSTM 增加了反饋連接。因此,LSTM 不但可以處理類似圖像的單個(gè)數(shù)據(jù)點(diǎn)的文件,同時(shí)對(duì)于語(yǔ)言抑或是視頻這種整個(gè)數(shù)據(jù)序列文件也有顯著的成效。LSTM 通常包括1 個(gè)單元和3 個(gè)門結(jié)構(gòu),其中:?jiǎn)卧脕?lái)記錄任何時(shí)間間隔內(nèi)的相關(guān)值;3 個(gè)門分別為忘記門、輸入門和輸出門,它們控制信息流如何進(jìn)出單元。由于存在于時(shí)間序列內(nèi)的重要事件之間通常會(huì)出現(xiàn)未知的延續(xù)時(shí)間的滯后,LSTM 神經(jīng)網(wǎng)絡(luò)可以很好地對(duì)基于時(shí)間序列數(shù)據(jù)作出預(yù)測(cè)、分類和處理等操作。同時(shí),相比于傳統(tǒng)RNN 在訓(xùn)練時(shí)出現(xiàn)梯度消失的問(wèn)題,LSTM 可以通過(guò)門結(jié)構(gòu)進(jìn)而避免。
神經(jīng)網(wǎng)絡(luò)智能[13](neural network intelligence,NNI)是一個(gè)輕量級(jí)但功能強(qiáng)大的工具包,可幫助用戶自動(dòng)化功能工程、神經(jīng)體系結(jié)構(gòu)搜索、超參數(shù)調(diào)整和模型壓縮。該工具可管理自動(dòng)機(jī)器學(xué)習(xí)(AutoML)實(shí)驗(yàn),調(diào)度并運(yùn)行調(diào)整算法,以搜索不同訓(xùn)練環(huán)境中的最佳神經(jīng)體系結(jié)構(gòu)和/或超參數(shù)。
鑒于BERT 模型具有并行、提取特征和對(duì)文本雙向建模的能力,可以用較少的數(shù)據(jù)和較短的時(shí)間獲得較好的結(jié)果,而長(zhǎng)短期記憶神經(jīng)網(wǎng)絡(luò)可以保留較重要的信息、忘記冗余信息,本文將這兩種技術(shù)結(jié)合起來(lái)并使用二分類技術(shù)對(duì)實(shí)體消歧,提出了一種新型的基于深度學(xué)習(xí)的實(shí)體消歧技術(shù),其中包括兩個(gè)階段:特征工程和深度學(xué)習(xí)。該技術(shù)主要包括以下4 個(gè)過(guò)程:1)通過(guò)jieba 分詞技術(shù),找出所有待消歧的實(shí)體;2)以待消歧詞為中心,對(duì)句子進(jìn)行切分;3)將切分好的句子放入已經(jīng)預(yù)訓(xùn)練的BERT模型,得到切分后的句子的詞向量;4)將得到的詞向量放入LSTM 中,進(jìn)行神經(jīng)網(wǎng)絡(luò)的訓(xùn)練,得到訓(xùn)練模型。
本文為所有實(shí)體名創(chuàng)建了字典,再使用jieba 分詞技術(shù)[14]找出所有待消歧的實(shí)體。圖1 是jieba 分詞工作流程圖。圖中加載的字典為實(shí)體名,方便快速找出待消歧詞。對(duì)待分詞的文本生成前綴樹,并用正則匹配構(gòu)建潛在串序的有向無(wú)環(huán)圖。通過(guò)動(dòng)態(tài)規(guī)劃找出最大概率路徑的分詞方案,為了讓分詞效果適應(yīng)文本,使用Viterbi 算法求解HMM(hidden Markov model)模型,挖掘新詞。
圖1 jieba 分詞過(guò)程Fig.1 Word segmentation process of jieba
由于長(zhǎng)句子在神經(jīng)網(wǎng)絡(luò)訓(xùn)練時(shí)通常消耗較長(zhǎng)的時(shí)間,所以本文對(duì)句子進(jìn)行切分,且對(duì)句子進(jìn)行編碼時(shí)只選32 個(gè)字,這樣在保證準(zhǔn)確率的基礎(chǔ)上,盡可能地提高神經(jīng)網(wǎng)絡(luò)的訓(xùn)練速度。算法思想:以實(shí)體名為中心切分句子,先找到實(shí)體名在文本中的位置,再將實(shí)體名的前13 個(gè)字和后14 個(gè)字劃分成一個(gè)句子,其中實(shí)體名固定占5 個(gè)字節(jié)。算法1 給出了句子切分算法。
算法1句子切分算法
特征向量的獲取分為兩個(gè)步驟:預(yù)訓(xùn)練和LSTM神經(jīng)網(wǎng)絡(luò)訓(xùn)練。圖2 為獲取過(guò)程的具體展示。首先,為了將文本信息轉(zhuǎn)化為計(jì)算機(jī)可以識(shí)別的模式,模型分別將文本中的每個(gè)字轉(zhuǎn)化為BERT 模型對(duì)應(yīng)該字的標(biāo)識(shí)ID,然后將每個(gè)標(biāo)識(shí)ID 映射到已經(jīng)預(yù)訓(xùn)練好的BERT 詞向量。然后,將這些詞向量分批次放入LSTM 中進(jìn)行神經(jīng)網(wǎng)絡(luò)訓(xùn)練,并以交叉熵作為損失函數(shù),得到最終訓(xùn)練模型。
圖2 特征向量的獲取Fig.2 Construction of features
由于對(duì)于實(shí)體名來(lái)說(shuō),名稱只是一個(gè)指示代詞,并沒(méi)有實(shí)際語(yǔ)法方面的意思,故本文將問(wèn)題簡(jiǎn)化為二分類問(wèn)題。這不僅簡(jiǎn)化了模型,提高了訓(xùn)練速度和準(zhǔn)確率,也方便模型遷移到其他特殊領(lǐng)域的實(shí)體消歧問(wèn)題。本文將是否為實(shí)體名進(jìn)行二分類:是實(shí)體名為1,非實(shí)體名為0。
作為損失函數(shù)的一種,交叉熵是二分類的一種工具,它能衡量細(xì)微的差異、凸優(yōu)化函數(shù),便于利用梯度下降方法找到最優(yōu)解。
交叉熵?fù)p失函數(shù),其定義為
式中:yi表示樣本i 的標(biāo)簽,正類為1,負(fù)類為0;pi表示樣本i 預(yù)測(cè)為正的概率。
本實(shí)驗(yàn)主要研究如下3 個(gè)問(wèn)題:1)不同技術(shù)生成的詞向量對(duì)最終實(shí)驗(yàn)準(zhǔn)確率的影響;2)不同神經(jīng)網(wǎng)絡(luò)訓(xùn)練的最終模型效果比較;3)句子切分大小對(duì)神經(jīng)網(wǎng)絡(luò)的影響。
本文通過(guò)網(wǎng)絡(luò)爬蟲技術(shù),從金融領(lǐng)域的新聞頁(yè)面中爬取長(zhǎng)度不一的包含待消歧實(shí)體的文本作為本文的數(shù)據(jù)集;選擇327 個(gè)上市公司名稱作為待消歧的對(duì)象。對(duì)于網(wǎng)絡(luò)爬蟲獲得的數(shù)據(jù)進(jìn)行人工標(biāo)注,并將標(biāo)注后的結(jié)果隨機(jī)分為訓(xùn)練集和測(cè)試集,見(jiàn)表1。其中,正樣本代表待消歧詞是實(shí)體名,負(fù)樣本代表待消歧詞不是實(shí)體名。由于比例不平衡的樣本數(shù)據(jù)會(huì)使得模型結(jié)果較差,而在實(shí)際應(yīng)用中正樣本數(shù)要比負(fù)樣本數(shù)多,因此,本文在保障正負(fù)樣本比例相對(duì)平衡的基礎(chǔ)上,讓正樣本數(shù)略多于負(fù)樣本數(shù)。
表1 實(shí)驗(yàn)對(duì)象Tab.1 Experiment subject
本實(shí)驗(yàn)研究的3 個(gè)問(wèn)題最終評(píng)判的標(biāo)準(zhǔn)都是訓(xùn)練出的模型是否能夠準(zhǔn)確判斷待消歧實(shí)體的屬性(是否為實(shí)體)。由于在實(shí)際問(wèn)題中,一個(gè)實(shí)體所表示的含義在不同場(chǎng)合下出現(xiàn)的頻率是不同的,因此,只是單純考慮準(zhǔn)確率是不符合要求的,會(huì)使得小概率事件被忽略。本實(shí)驗(yàn)使用F1值(F-Measure 值)作為評(píng)判標(biāo)準(zhǔn),其定義如下:
上述公式中,nTP表示正樣本被判斷為正的個(gè)數(shù),nFP表示負(fù)樣本被判斷為正的個(gè)數(shù),nFN表示正樣本被判斷為負(fù)的個(gè)數(shù)。公式(8)表示的是精準(zhǔn)率,也就是被準(zhǔn)確預(yù)測(cè)的正樣本與所有被預(yù)測(cè)為正樣本的個(gè)數(shù)之比。公式(9)表示的是召回率,也就是被準(zhǔn)確預(yù)測(cè)的正樣本與所有樣本中事實(shí)是正樣本的個(gè)數(shù)之比。公式(10)表示的是F1值,F(xiàn)1值越大,模型表現(xiàn)效果越好。
首先,利用Python 的Scrapy 包對(duì)金融領(lǐng)域新聞網(wǎng)頁(yè)上的文本數(shù)據(jù)進(jìn)行爬取,通過(guò)字符串匹配技術(shù),提取本文所需要的含有待消歧詞的文本,并通過(guò)人工標(biāo)注的方法,判斷待消歧詞是否為實(shí)體;其次,將標(biāo)注好標(biāo)簽的文本進(jìn)行句子切分,縮小且統(tǒng)一句子長(zhǎng)度;然后,將切分后的句子轉(zhuǎn)化為詞向量,放入神經(jīng)網(wǎng)絡(luò)中進(jìn)行學(xué)習(xí),獲得訓(xùn)練后的模型;最后,將測(cè)試數(shù)據(jù)放入模型中獲得F1值,評(píng)判模型優(yōu)劣。通過(guò)對(duì)Word2vec、BERT 和ERNIE(enhanced language representation with informative entities)3 種詞向量技術(shù)和一般神經(jīng)網(wǎng)絡(luò)、卷積神經(jīng)網(wǎng)絡(luò)和長(zhǎng)短期記憶神經(jīng)網(wǎng)絡(luò)3 種神經(jīng)網(wǎng)絡(luò)架構(gòu)F1值的比較,驗(yàn)證本文所提方法的優(yōu)越性。
3.4.1 實(shí)驗(yàn)結(jié)果
本實(shí)驗(yàn)中,BERT 模型為谷歌預(yù)訓(xùn)練好的中文詞向量,雙向LSTM 神經(jīng)網(wǎng)絡(luò)為兩層,每層隱藏節(jié)點(diǎn)為768 個(gè),dropout 為0.1,學(xué)習(xí)率為5 × 10-6。驗(yàn)證集的準(zhǔn)確率和損失值如圖3 所示(每320 個(gè)訓(xùn)練樣本作為一個(gè)批次)。從圖中可以看出,隨著訓(xùn)練次數(shù)的增加,準(zhǔn)確率不斷提高而損失值不斷下降且最終都趨于平穩(wěn)。
圖3 驗(yàn)證集的準(zhǔn)確率和損失值Fig.3 Accuracy and loss value of validation set
3.4.2 3 種詞向量模型的比較
對(duì)Word2vec、BERT 和ERNIE 3 種詞向量模型進(jìn)行比較,以測(cè)試集的F1值作為判定依據(jù)。詞向量是通過(guò)訓(xùn)練將語(yǔ)言中的每一個(gè)詞映射成一個(gè)固定長(zhǎng)度的短向量,向量的每一個(gè)維度都有其特殊的含義,因此可以表達(dá)更多信息,同時(shí),詞向量還可以通過(guò)其空間距離來(lái)體現(xiàn)詞與詞之間的關(guān)系。對(duì)于Word2vec[15]模型來(lái)說(shuō),其關(guān)鍵思想是根據(jù)詞的上下文語(yǔ)境來(lái)獲得向量化表示,在本實(shí)驗(yàn)中,采取的是一種具有負(fù)采樣的通過(guò)中心詞預(yù)測(cè)附近詞(Skipgram)的方法。ERNIE 是對(duì)BERT 模型的改進(jìn),它通過(guò)對(duì)訓(xùn)練數(shù)據(jù)中的詞法結(jié)構(gòu)、語(yǔ)法結(jié)構(gòu)、語(yǔ)義信息統(tǒng)一建模,以此提高通用語(yǔ)義表示能力。實(shí)驗(yàn)過(guò)程中,Word2vec 使用的是GitHub 開源的詞向量,由于Word2vec 最小單位是詞而非字,故對(duì)處理后的文本使用jieba 分詞,使得每個(gè)詞對(duì)應(yīng)到相應(yīng)的詞向量。BERT 和ERNIE 預(yù)訓(xùn)練模型分別來(lái)自huggingface 和nghuyong。BERT 模型和ERNIE 模型的最小單位是字,故不需要進(jìn)行分詞處理。3 種詞向量模型下得到的測(cè)試集F1值如圖4 所示(每320 個(gè)訓(xùn)練樣本作為一個(gè)批次)。從圖中可以看出,BERT 和ERNIE 的結(jié)果最好,但BERT 模型曲線更加平穩(wěn)。
圖4 3 種詞向量模型下得到的F1 值Fig.4 F1 values of three word vectors
3.4.3 3 種神經(jīng)網(wǎng)絡(luò)模型的比較
對(duì)一般神經(jīng)網(wǎng)絡(luò)、卷積神經(jīng)網(wǎng)絡(luò)和長(zhǎng)短期記憶神經(jīng)網(wǎng)絡(luò)3 種模型[9,16]進(jìn)行比較,以測(cè)試集的F1值作為判定依據(jù)。作為一種運(yùn)算訓(xùn)練模型,神經(jīng)網(wǎng)絡(luò)由大量的被稱作節(jié)點(diǎn)的神經(jīng)元相互連接組成。卷積神經(jīng)網(wǎng)絡(luò)作為一種前饋神經(jīng)網(wǎng)絡(luò),它可以通過(guò)神經(jīng)元來(lái)響應(yīng)周圍的神經(jīng)單元,并且通常用于大型的圖像處理任務(wù)。不同于RNN 模型,LSTM 在其架構(gòu)中增加了一個(gè)被稱為cell 的結(jié)構(gòu),它的作用是判斷信息流是否有用。為了確保3 種神經(jīng)網(wǎng)絡(luò)對(duì)于自身取得的都是最優(yōu)結(jié)果,本文使用NNI 工具進(jìn)行調(diào)參。3 種神經(jīng)網(wǎng)絡(luò)模型下得到的測(cè)試集F1值如圖5 所示(每320 個(gè)訓(xùn)練樣本作為一個(gè)批次)。從圖中可以看出LSTM 收斂更加平滑。
圖5 3 種神經(jīng)網(wǎng)絡(luò)模型下得到的F1 值Fig.5 F1 values of three neural networks
3.4.4 不同文本長(zhǎng)度的比較
對(duì)不同文本長(zhǎng)度進(jìn)行比較,以測(cè)試集的F1值作為判定依據(jù)。雖然LSTM 通過(guò)一種被稱為門的結(jié)構(gòu)對(duì)神經(jīng)元狀態(tài)進(jìn)行刪除或者添加信息,序列長(zhǎng)度超過(guò)一定限度后,梯度還是會(huì)消失。然而,過(guò)短的序列會(huì)使得神經(jīng)網(wǎng)絡(luò)模型對(duì)文本中有用的信息無(wú)法充分獲取,故在神經(jīng)網(wǎng)絡(luò)訓(xùn)練過(guò)程中文本的長(zhǎng)度對(duì)其最終效果有著一定的影響。本小節(jié)主要對(duì)3 種長(zhǎng)度文本進(jìn)行比較,其測(cè)試集比較結(jié)果如圖6 所示(每320個(gè)訓(xùn)練樣本作為一個(gè)批次)。由圖可以看出,在相同的訓(xùn)練周期內(nèi),長(zhǎng)度影響并不顯著。
圖6 3 種文本長(zhǎng)度下得到的F1 值Fig.6 F1 values of three text lengths
通過(guò)上述實(shí)驗(yàn)結(jié)果與分析可知,使用BERT 模型能夠有效獲取詞之間的關(guān)系同時(shí)避免冗余信息的導(dǎo)入。對(duì)于神經(jīng)網(wǎng)絡(luò),LSTM 的使用解決了長(zhǎng)文本信息保存問(wèn)題。此外,對(duì)文本長(zhǎng)度的合理切分,可以獲得足夠多的信息同時(shí)訓(xùn)練速度得到提高。但在實(shí)驗(yàn)過(guò)程中仍然存在一些問(wèn)題。
在合適的參數(shù)條件下,隨著訓(xùn)練模型迭代次數(shù)的增加,不同的神經(jīng)網(wǎng)絡(luò)最終呈現(xiàn)的效果大體相似。然而,詞向量的選擇會(huì)對(duì)最終效果產(chǎn)生較大的影響。這說(shuō)明文本研究的重點(diǎn)應(yīng)該是如何為神經(jīng)網(wǎng)絡(luò)獲得更多的預(yù)備知識(shí),以此來(lái)更好地理解文本信息。
隨著自然語(yǔ)言處理領(lǐng)域不斷的發(fā)展,實(shí)體消歧無(wú)疑是其中最為基礎(chǔ)的研究對(duì)象。對(duì)于機(jī)器翻譯系統(tǒng),實(shí)體消歧通過(guò)特定的實(shí)體可以有效地選擇最優(yōu)翻譯選項(xiàng),優(yōu)化翻譯性能。對(duì)于知識(shí)圖譜系統(tǒng),精準(zhǔn)的實(shí)體消歧可以保證實(shí)體間關(guān)聯(lián)的正確性。對(duì)于推薦系統(tǒng),通過(guò)對(duì)用戶瀏覽信息文本進(jìn)行分析并預(yù)測(cè)其中的大量待消歧詞,系統(tǒng)才可以更好地獲取用戶興趣[17]。實(shí)體消歧包含兩種類型,分別是歧義性和多樣性[7]。歧義性是指多個(gè)實(shí)體具有一樣的命名,也就是一詞多義;多樣性是指一個(gè)實(shí)體具有多個(gè)命名,包括縮寫、重名、別名等。
目前,實(shí)體消歧方法主要包括5 種類型[18],分別是實(shí)體顯著性、上下文相似度、實(shí)體關(guān)聯(lián)度、深度學(xué)習(xí)算法和特殊標(biāo)識(shí)資源?;趯?shí)體顯著性的命名實(shí)體識(shí)別是指從待選實(shí)體列表中選出顯著性最高的作為結(jié)果。其中,顯著性的含義有兩種:一種是字符串相似度,另一種是流行度(或使用頻率)?;谏舷挛南嗨贫鹊拿麑?shí)體消歧是指通過(guò)待選實(shí)體與實(shí)體所在的上下文文本進(jìn)行相似度比較,并選擇最好的結(jié)果。對(duì)于相似度的算法有兩種:一種是詞袋(bag-of-words,BOW)模型[19],其中,使用詞集合來(lái)表示實(shí)體所在的文本,相似度由詞交集的大小來(lái)表示;另一種是向量空間模型,其權(quán)重主要以TF-IDF(term frequency-inverse document frequency)值來(lái)表示。為了提高結(jié)果準(zhǔn)確率,目前也有許多模型被提出,如基于主題[20]、分類[21]、聚類[22-23]、概率語(yǔ)言模型[24-25]。不同于實(shí)體顯著性和文本相似度的方法,實(shí)體關(guān)聯(lián)度可以根據(jù)文本語(yǔ)義特征進(jìn)行消歧,如使用協(xié)同消歧的方法[26]與使用隱馬爾可夫模型的方法[27],每次只能消歧一個(gè)實(shí)體。自從2013 年Mikolov 等[28]提出詞向量以后,有關(guān)詞向量軟件工具被相繼推出,如Word2vec、GloVe、BERT 等。通過(guò)詞向量和各種神經(jīng)網(wǎng)絡(luò)(LSTM、CNN、RNN)相結(jié)合構(gòu)造出的模型對(duì)實(shí)體消歧結(jié)果有顯著提高。特殊標(biāo)識(shí)資源則是通過(guò)實(shí)體標(biāo)識(shí)的語(yǔ)義來(lái)幫助進(jìn)行實(shí)體消歧,這些標(biāo)識(shí)通常是在某些領(lǐng)域通用的。
對(duì)于最近這些年關(guān)于實(shí)體消歧技術(shù)的發(fā)展,實(shí)體消歧依舊有許多問(wèn)題需要解決。隨著大數(shù)據(jù)相關(guān)技術(shù)的不斷完善,深度學(xué)習(xí)對(duì)實(shí)體消歧有著舉足輕重的作用,在特征提取、語(yǔ)義分析、模型優(yōu)化等方面有著提升的空間。
本文提出一種有效的基于深度學(xué)習(xí)的實(shí)體消歧技術(shù)。這種技術(shù)首先通過(guò)對(duì)長(zhǎng)文本進(jìn)行切分縮小為短文本,以減少神經(jīng)網(wǎng)絡(luò)的規(guī)模;其次,使用BERT 模型作為詞向量預(yù)訓(xùn)練模型,使得即使在較少的訓(xùn)練數(shù)據(jù)的情況下也可以獲得較高的F1值;最后,由于長(zhǎng)文本的有用信息之間的距離較長(zhǎng),神經(jīng)網(wǎng)絡(luò)一般很難完全捕獲,本文采用了長(zhǎng)短期記憶神經(jīng)網(wǎng)絡(luò)技術(shù),使用門結(jié)構(gòu)來(lái)更好地保留信息。
本文的實(shí)驗(yàn)雖然在現(xiàn)實(shí)文本數(shù)據(jù)中驗(yàn)證了技術(shù)的有效性,但是基于深度學(xué)習(xí)的實(shí)體消歧技術(shù)像其他神經(jīng)網(wǎng)絡(luò)一樣,對(duì)于與訓(xùn)練集屬性差距較大的待消歧詞,模型的最終F1值會(huì)有所下降。下一步的工作將會(huì)著重研究如何更好地提取文本中的特征,以此來(lái)提高F1值。