王永締,雷 剛
(江西師范大學(xué)軟件學(xué)院,江西 南昌 330022)
近年來(lái),中文短文本實(shí)體消歧成為自然語(yǔ)言處理(Natural Language Processing,NLP)領(lǐng)域中眾多下游任務(wù)的基礎(chǔ)工作,如基于搜索引擎的實(shí)體搜索任務(wù)[1]、基于知識(shí)庫(kù)的問答任務(wù)[2]、知識(shí)圖譜構(gòu)建[3]等,并且起到了越來(lái)越重要的作用。實(shí)體消歧是指將一段文本中指定的指稱映射到知識(shí)庫(kù)中某個(gè)實(shí)體的過程,其難點(diǎn)主要在于知識(shí)庫(kù)中一般存在多個(gè)與指稱同名的實(shí)體且每個(gè)實(shí)體又存在多種表示方式。長(zhǎng)文本具有豐富的上下文語(yǔ)境和充足的語(yǔ)義信息,有利于長(zhǎng)文的實(shí)體消歧。然而像查詢文本、微博評(píng)論以及其他更短的文本,由于上下文語(yǔ)境不夠充分、語(yǔ)義稀疏、文本口語(yǔ)化等問題,僅憑指稱上下文與候選實(shí)體描述的語(yǔ)義相似度來(lái)對(duì)指稱進(jìn)行消歧,往往難以取得較好的效果[4]。
針對(duì)基于短文本實(shí)體消歧存在的上述問題,本文提出一種基于多特征因子融合的實(shí)體消歧模型,通過使用多層感知機(jī)(Multilayer Perceptron,MLP)和加權(quán)融合,將候選實(shí)體在不同角度的特征得分進(jìn)行融合,綜合考慮指稱上下文與候選實(shí)體描述的語(yǔ)義相似度、指稱類別嵌入與實(shí)體嵌入的語(yǔ)義相似度、同一查詢文本中相鄰指稱候選實(shí)體間的共現(xiàn)關(guān)系,以及實(shí)體流行度4個(gè)特征,來(lái)更好地完成中文短文本的實(shí)體消歧。
早期的實(shí)體消歧大多是在中英文的長(zhǎng)文本數(shù)據(jù)集上進(jìn)行的,并且按照消歧對(duì)象的不同可分為局部消歧模型和全局消歧模型。局部消歧模型[5-9]對(duì)文檔中的每個(gè)指稱單獨(dú)消歧,一般基于詞向量和循環(huán)神經(jīng)網(wǎng)絡(luò)、卷積神經(jīng)網(wǎng)絡(luò)等網(wǎng)絡(luò)結(jié)構(gòu)建模來(lái)將文本映射到統(tǒng)一的語(yǔ)義向量空間中,在此基礎(chǔ)上根據(jù)指稱上下文與候選實(shí)體的知識(shí)庫(kù)描述在各個(gè)粒度(表面形式、上下文、文檔)的語(yǔ)義相似度、指稱上下文主題與實(shí)體類別相似度,以及實(shí)體流行度等基于統(tǒng)計(jì)的稀疏特征進(jìn)行指稱的單獨(dú)消歧。Yin等[9]最早將基于預(yù)訓(xùn)練語(yǔ)言模型 BERT (Bidirectional Encoder Representation from Transformers)[10]微調(diào)(finetune)處理NLP 任務(wù)的方式應(yīng)用于實(shí)體消歧中,在當(dāng)時(shí)的多個(gè)數(shù)據(jù)集上達(dá)到了最佳效果。早期的全局消歧模型一般分為2 種:一種是根據(jù)消息傳播機(jī)制使用動(dòng)態(tài)規(guī)劃算法求取全局的最優(yōu)解[11-13];另一種是將每篇文檔中的指稱和候選實(shí)體建模為一張圖,在此基礎(chǔ)上基于圖的隨機(jī)游走算法求取每個(gè)候選實(shí)體的穩(wěn)態(tài)概率并以此來(lái)約束模型的訓(xùn)練[14-15]。此后,Yang 等[16]提出從已消歧指稱對(duì)應(yīng)的實(shí)體中積累知識(shí)來(lái)為未消歧指稱提供更多的信息幫助決策。Phan 等[17]提出了一種類似于使用克魯斯卡爾算法求解最小生成樹的方式每次對(duì)文檔中的一對(duì)指稱進(jìn)行消歧,反復(fù)迭代直到文檔中的全部指稱消歧完成。此外,Chen 等[18]將指稱的類別嵌入與實(shí)體嵌入的余弦相似度得分集成到大量已有的局部模型得分的計(jì)算中,結(jié)果顯示該特征得分能夠幫助模型糾正大量類別不正確的鏈接實(shí)體。
早期中文短文本實(shí)體消歧的研究[19-22]大多是基于詞向量[23]和機(jī)器學(xué)習(xí)中的詞頻-逆詞頻(tf-idf)值及支持向量機(jī)等,一般沒有使用到神經(jīng)網(wǎng)絡(luò)或只用到了淺層的神經(jīng)網(wǎng)絡(luò),其研究重點(diǎn)在于文本噪聲、知識(shí)庫(kù)噪聲的處理以及候選實(shí)體生成策略等。在近期的中文短文本實(shí)體消歧研究中,文獻(xiàn)[24-26]使用局部消歧模型,在模型的結(jié)構(gòu)設(shè)計(jì)上進(jìn)行了創(chuàng)新,其研究重點(diǎn)在實(shí)體描述與指稱上下文的相似性上并未考慮到實(shí)體的共現(xiàn)特征及類別特征。Zhao 等[4]基于注意力機(jī)制及BERT 的微調(diào)捕獲指稱上下文與候選實(shí)體描述的局部語(yǔ)義相似信息,在此基礎(chǔ)上,基于重啟隨機(jī)游走算法進(jìn)行全局消歧,其采用的實(shí)體轉(zhuǎn)移概率矩陣[14]是基于維基百科的統(tǒng)計(jì)知識(shí)所得。此外,文獻(xiàn)[27-28]和本文一樣采用了多特征因子融合的方式對(duì)候選實(shí)體進(jìn)行打分、消歧。其中文獻(xiàn)[27]設(shè)計(jì)了3種模型從不同角度生成候選實(shí)體相關(guān)特征,并使用梯度提升樹構(gòu)建分類模型進(jìn)一步完成實(shí)體消歧,在CCKS2019 短文本實(shí)體鏈指比賽中取得了第4 名的成績(jī)。文獻(xiàn)[28]使用多個(gè)微調(diào)后的預(yù)訓(xùn)練語(yǔ)言模型對(duì)候選實(shí)體進(jìn)行打分及排名,將上述得分及排名視作有助于實(shí)體消歧的特征因子,以此通過MLP 將多個(gè)預(yù)訓(xùn)練語(yǔ)言模型的消歧結(jié)果及其他數(shù)據(jù)集的統(tǒng)計(jì)特征進(jìn)行融合,得到候選實(shí)體的最終得分完成消歧。該方案在CCKS2020 及百度2021 這2 項(xiàng)中文短文本實(shí)體鏈指評(píng)測(cè)比賽中均取得了第一名的成績(jī)。
綜上,實(shí)體消歧模型一般分為局部消歧模型和全局消歧模型2 種,從特征的角度考慮其區(qū)別在于模型在消歧的過程中是否考慮到了實(shí)體間的共現(xiàn),對(duì)證明共現(xiàn)特征在實(shí)體消歧中起著很關(guān)鍵的作用[14-15]。除了共現(xiàn)特征外,類別特征通常對(duì)改善模型消歧結(jié)果能起到一定作用[18]。此外,實(shí)體流行度特征一直是實(shí)體消歧中一項(xiàng)不可忽視的因素?,F(xiàn)有的中文短文本實(shí)體消歧模型在消歧過程中大多僅考慮候選實(shí)體描述與指稱上下文的語(yǔ)義匹配特征,對(duì)類別特征與共現(xiàn)特征的研究不足。其中大部分模型都沒有考慮到類別特征的應(yīng)用,更沒有提出明確有效的類別特征的度量與應(yīng)用方法;對(duì)共現(xiàn)特征的研究一般停留在使用圖隨機(jī)游走算法進(jìn)行全局消歧,然而當(dāng)使用固定外部知識(shí)庫(kù)所提供的候選實(shí)體時(shí),很難利用到維基百科所提供的有效的初始概率轉(zhuǎn)移矩陣,因此此類全局消歧模型也就很難應(yīng)用到使用指定外部知識(shí)庫(kù)提供候選實(shí)體的實(shí)體消歧過程中。
針對(duì)上述缺點(diǎn),本文首先基于實(shí)體嵌入和指稱類別嵌入[13,18]提出一種新的共現(xiàn)特征及類別特征以及它們的計(jì)算方式,然后將計(jì)算得分集成到使用指稱上下文與候選實(shí)體描述語(yǔ)義匹配特征進(jìn)行消歧的模型得分中,最后在集成模型的得分上通過加權(quán)的方式融入實(shí)體先驗(yàn)概率完成實(shí)體消歧。實(shí)驗(yàn)結(jié)果表明,本文提出的類別及共現(xiàn)特征得分衡量方式及整體消歧流程是有效的,能夠明顯地改善消歧的模型中基于指稱上下文和候選實(shí)體描述語(yǔ)義匹配特征進(jìn)行消歧的效果。
本文提出的基于多特征因子融合的實(shí)體消歧方法,首先將基于指稱上下文和候選實(shí)體描述語(yǔ)義匹配特征的模型作為實(shí)體消歧基模型,然后,在其基礎(chǔ)上采用系列特征得分融合方式來(lái)提高模型的消歧效果。模型的整體消歧流程如圖1所示。
圖1 整體消歧流程圖
基于多特征因子融合的實(shí)體消歧方法計(jì)算步驟如下:
1)將指稱使用掩碼替換后的查詢文本和知識(shí)庫(kù)所有實(shí)體的實(shí)體描述分別輸入到預(yù)訓(xùn)練語(yǔ)言模型中,提取出指稱的類別嵌入和知識(shí)庫(kù)實(shí)體的實(shí)體嵌入。
2)將指稱上下文與候選實(shí)體的知識(shí)庫(kù)描述輸入到步驟1 使用的預(yù)訓(xùn)練語(yǔ)言模型中,基于二者的語(yǔ)義匹配得分篩選出得分最高的n個(gè)候選實(shí)體并保留其語(yǔ)義匹配得分。
3)基于步驟1 所得指稱類別嵌入及實(shí)體嵌入,使用共現(xiàn)模型及類別模型分別計(jì)算由步驟2所得的n個(gè)候選實(shí)體的共現(xiàn)特征得分及類別特征得分。
4)使用多層感知機(jī)將由步驟2 和步驟3 所得的n個(gè)候選實(shí)體的3 個(gè)特征得分映射到一維向量空間中,得到這n個(gè)候選實(shí)體在上述3 個(gè)特征角度的綜合得分,將其與候選實(shí)體各自的先驗(yàn)概率加權(quán)融合得到這n個(gè)候選實(shí)體的最終得分,選取最終得分最高的候選實(shí)體作為目標(biāo)即完成整體消歧流程。
基模型即僅使用指稱上下文與候選實(shí)體描述語(yǔ)義匹配特征進(jìn)行消歧的模型,通過微調(diào)預(yù)訓(xùn)練語(yǔ)言模型處理實(shí)體消歧任務(wù)已被證實(shí)能取得很好的消歧效果[9],因此本文同樣采用微調(diào)預(yù)訓(xùn)練語(yǔ)言模型來(lái)捕捉指稱上下文與候選實(shí)體描述的語(yǔ)義匹配得分,即預(yù)訓(xùn)練語(yǔ)言模型作為本文的基模型。本文選用百度提出的知識(shí)增強(qiáng)型預(yù)訓(xùn)練語(yǔ)言模型(Enhanced Representation through Knowledge Integration,Ernie)[29]作為預(yù)訓(xùn)練語(yǔ)言模型。
首先本文利用基模型是獲得每個(gè)候選實(shí)體知識(shí)庫(kù)描述與指稱上下文的語(yǔ)義相似得分,然后根據(jù)該得分過濾掉大量無(wú)關(guān)的候選實(shí)體,保留n個(gè)得分最高的候選實(shí)體進(jìn)行進(jìn)一步的消歧。基模型的具體消歧過程如下:
首先,將指稱上下文和指稱拼接起來(lái)作為sent1,將候選實(shí)體的知識(shí)庫(kù)描述作為sent2,然后使用[SEP]標(biāo)識(shí)符將兩者拼接起來(lái)并在首尾分別插入[CLS]、[SEP]標(biāo)識(shí)符,最終的序列s如公式(1)所示:
接著,將序列s輸入到Ernie 中,取其頂層[CLS]位置的輸出作為二分類全連接神經(jīng)網(wǎng)絡(luò)的輸入,采用正負(fù)比1:2的負(fù)采樣方法在每輪訓(xùn)練選擇不同的負(fù)例進(jìn)行預(yù)訓(xùn)練語(yǔ)言模型的微調(diào)。模型結(jié)構(gòu)如圖2所示。
圖2 基于預(yù)訓(xùn)練語(yǔ)言模型微調(diào)的二分類模型
圖2 中的Trm 指Transformer[30]的編碼器。模型使用交叉熵?fù)p失函數(shù)計(jì)算損失值,具體的計(jì)算公式如式(2)和式(3)所示:
其中,i表示第i個(gè)樣本,y^(i)是第i個(gè)樣本對(duì)應(yīng)的真實(shí)標(biāo)簽,p(y^(i))是模型預(yù)測(cè)樣本i標(biāo)簽為y^(i)的概率,loss即為損失函數(shù),base_model 表示上述基模型。將指稱上下文和候選實(shí)體按上述方式拼接后輸入到訓(xùn)練好的基模型,取模型預(yù)測(cè)樣本為正的概率即得到指稱上下文與候選實(shí)體描述的語(yǔ)義匹配特征得分,稱為基模型特征。
共現(xiàn)特征一般指查詢文本中屬于不同指稱的2個(gè)或多個(gè)候選實(shí)體同時(shí)出現(xiàn)的概率。其值通??梢曰跀?shù)據(jù)集或知識(shí)庫(kù)的統(tǒng)計(jì)概率獲得[14],也可使用實(shí)體嵌入間的語(yǔ)義相似度進(jìn)行衡量[16],或是綜合考慮兩者[15]。但由于基于知識(shí)庫(kù)的統(tǒng)計(jì)概率獲取實(shí)體的共現(xiàn)概率對(duì)知識(shí)庫(kù)的大小、質(zhì)量有極高的要求,因此,本文使用實(shí)體嵌入間的語(yǔ)義相似度作為共現(xiàn)特征的衡量。
在短文本消歧中,不僅指稱上下文語(yǔ)境有限,而且同一查詢文本中的相鄰指稱的聯(lián)系更為緊密。例如在“周杰倫《你比從前快樂》吉他譜-吉他譜下載....”這句話中“你比從前快樂”既與“周杰倫”存在較強(qiáng)的關(guān)聯(lián)(《你比從前快樂》是周杰倫的歌曲),又與“吉他譜”存在著一定的關(guān)聯(lián),而與“下載”之間的關(guān)聯(lián)則較為微弱。針對(duì)于上述短文本,本文首先將待消歧指稱候選實(shí)體與其前后向相鄰指稱候選實(shí)體的最高語(yǔ)義關(guān)聯(lián)得分相加。然后,將其作為當(dāng)前待消歧指稱候選實(shí)體的共現(xiàn)特征得分。在該過程中語(yǔ)義關(guān)聯(lián)得分采用實(shí)體嵌入的余弦相似度進(jìn)行衡量。為了保證本文所用語(yǔ)義特征均來(lái)自同一模型不存在語(yǔ)義間差異,本文使用預(yù)訓(xùn)練語(yǔ)言模型Ernie 對(duì)實(shí)體描述進(jìn)行編碼,取模型頂層輸出向量序列均值作為實(shí)體嵌入。具體計(jì)算步驟描述如下:
首先,計(jì)算當(dāng)前待消歧指稱的n個(gè)候選實(shí)體與其前后向緊鄰指稱的2n個(gè)候選實(shí)體的余弦相似度得到2個(gè)n×n的相似得分矩陣。然后,將得分矩陣中小于0的值替換為0 以刪去無(wú)關(guān)實(shí)體對(duì)共現(xiàn)得分計(jì)算的影響。最后,挑選出矩陣每一列的最大值即待消歧指稱候選實(shí)體與相鄰指稱候選實(shí)體的最大語(yǔ)義匹配得分,并將得到2 個(gè)n維向量相加得到待消歧指稱的n個(gè)候選實(shí)體的共現(xiàn)特征得分。具體計(jì)算如式(4)~式(7)所示:
其中,Ebcur∈Rn×d表示當(dāng)前待消歧指稱的候選實(shí)體嵌入,n是候選實(shí)體的個(gè)數(shù),d表示實(shí)體嵌入的維度,Ebadj∈Rn×d表示待消歧指稱的緊鄰指稱候選實(shí)體的嵌入,Co_mt ∈Rn×n是使用余弦相似度計(jì)算出的Ebcur與Ebadj的相似得分矩陣進(jìn)行負(fù)值過濾后的共現(xiàn)得分矩 陣,Co_mtfor∈Rn×n表 示 前 向 共 現(xiàn) 得 分 矩 陣,Co_mtbac∈Rn×n表示后向共現(xiàn)得分矩陣,將兩者最大池化后得到2個(gè)n維向量進(jìn)行相加即得到待消歧指稱的n個(gè)候選實(shí)體共現(xiàn)特征得分Co_sco。具體計(jì)算方式如圖3所示。
圖3 共現(xiàn)特征得分計(jì)算示意圖
圖3 中Ebadj,for表示待消歧指稱的前向共現(xiàn)實(shí)體嵌入,Ebadj,bac表示待消歧指稱的后向共現(xiàn)實(shí)體嵌入。
Chen等[18]提出了一種指稱的潛在類別信息的獲取方式,即將查詢文本中的指稱字符串用單個(gè)[MASK]標(biāo)識(shí)符替換后輸入到預(yù)訓(xùn)練語(yǔ)言模型BERT中,取其頂層標(biāo)識(shí)符對(duì)應(yīng)輸出向量作為指稱的類別嵌入。由于本文選用Ernie預(yù)訓(xùn)練語(yǔ)言模型對(duì)文本進(jìn)行編碼,在其預(yù)訓(xùn)練的過程中會(huì)對(duì)連續(xù)的被掩碼token進(jìn)行預(yù)測(cè),以學(xué)習(xí)被掩碼token中的知識(shí),因此本文首先將待消歧指稱所在查詢文本使用Ernie特定的切詞工具進(jìn)行切詞后將所獲得的token序列中指稱對(duì)應(yīng)的子序列替換為等長(zhǎng)的[MASK]序列,其余位置保持不變并在首尾添加[CLS]及[SEP]標(biāo)識(shí)符得到序列s={[CLS],t1…[MASK]…[MASK]…,[SEP]}。然后將s輸入到Ernie 中取模型[CLS]標(biāo)識(shí)符對(duì)應(yīng)輸出作為指稱類別嵌入,同樣將實(shí)體描述輸入到Ernie 中取頂層[CLS]標(biāo)識(shí)符對(duì)應(yīng)輸出作為類別消歧模型中使用的實(shí)體嵌入。
在Chen等[18]的工作中直接使用余弦相似度計(jì)算上述指稱類別嵌入與實(shí)體嵌入的相似度,然而Jiang等[25]認(rèn)為使用預(yù)訓(xùn)練語(yǔ)言模型所提取出的向量是內(nèi)容寬泛的、有噪聲污染的。基于上述原因,本文利用多頭注意力機(jī)制結(jié)合前饋神經(jīng)網(wǎng)絡(luò)來(lái)捕捉指稱類別嵌入與每個(gè)指稱候選實(shí)體嵌入的相似得分。具體過程如下:
首先,將實(shí)體嵌入及指稱類別嵌入分割成n_head份等長(zhǎng)向量,n_head 即為注意力頭數(shù),將分割后的每一段指稱類別嵌入視作Qi,i∈{1,2,…,n_head},每一段實(shí)體嵌入視為Kj及Vj,j∈{1,2,…,n_head},計(jì)算所有Qi與Vj的內(nèi)積,得到注意力權(quán)重矩陣Att_mt ∈Rn_head×n_head。再使用saftmax 函數(shù)及縮放因子對(duì)Att_mt 進(jìn)行標(biāo)準(zhǔn)化,其中dk(k表示鍵Kj)表示Qi與Kj的維度,同時(shí)將所有Vj按行拼接得到V∈Rn_head×dk,接著使用矩陣乘法計(jì)算Att_mt 與V的乘 積 得 到 重 編 碼 的 注 意 力 向 量Att_vi,i∈{1,2,…,n_head},將所有Att_vi向量沿著縱軸方向拼接得到完整的注意力向量Att_vec。最后將其輸入到前饋神經(jīng)網(wǎng)絡(luò)中得到指稱類別嵌入與候選實(shí)體嵌入的相似得分。詳細(xì)計(jì)算公式如式(8)~式(17)所示:
其中,Ebtype∈R1×d表示指稱的類別嵌入,Ebcand∈Rn×d表示指稱的n個(gè)候選實(shí)體的嵌入,normalize 是層標(biāo)準(zhǔn)化。Wq,i∈Rd×dk、Wk,j∈Rd×dk、Wv,j∈Rd×dk、是注意力機(jī)制所用到的變換矩陣,F(xiàn)NN 是前饋神經(jīng)網(wǎng)絡(luò)。Typ_sco ∈Rn表示n個(gè)候選實(shí)體的嵌入表示與指稱類別表示的相似度得分,即候選實(shí)體的類別特征得分,模型的損失計(jì)算同公式(3),p(y^(i))中的值即為n維向量Typ_sco中真實(shí)標(biāo)簽對(duì)應(yīng)的輸出概率。
實(shí)體流行度特征指實(shí)體出現(xiàn)的頻率高低,一般用實(shí)體在知識(shí)庫(kù)的先驗(yàn)概率進(jìn)行衡量。本文使用實(shí)體在訓(xùn)練集的先驗(yàn)概率作為實(shí)體流行度特征,計(jì)算公式如式(18)所示:
Pop_scoent=p(ent|mention,tra_set) (18)其中ent、mention、tra_set 分別表示候選實(shí)體、實(shí)體指稱與訓(xùn)練集。公式(18)計(jì)算時(shí)假設(shè)每個(gè)實(shí)體的初始出現(xiàn)次數(shù)為1,以此對(duì)該概率值進(jìn)行平滑。
將根據(jù)上述設(shè)計(jì)的不同特征計(jì)算所得n個(gè)候選實(shí)體的4個(gè)特征得分進(jìn)行集成,其流程如圖1所示,其中集成模型是含有2 個(gè)隱藏層的多層感知機(jī),隱層神經(jīng)元個(gè)數(shù)為100、激活函數(shù)為ReLU,使用dropout 防止過擬合,輸出層神經(jīng)元個(gè)數(shù)為1,輸出層得到n個(gè)候選實(shí)體的集成得分,并使用softmax函數(shù)進(jìn)行歸一化。同樣采用交叉熵?fù)p失函數(shù)作為模型的目標(biāo)優(yōu)化函數(shù)。本模型所采用的訓(xùn)練樣本使用硬標(biāo)簽,即標(biāo)簽值非0 即1。為了增強(qiáng)模型的實(shí)用性,本文采用標(biāo)簽平滑即為負(fù)樣本設(shè)置一個(gè)小概率值來(lái)平滑標(biāo)簽分布,并設(shè)置了超參數(shù)Pmax讓模型決定負(fù)樣本的預(yù)測(cè)概率取值范圍,具體為當(dāng)正樣本的預(yù)測(cè)概率p(y^)大于Pmax時(shí),則模型在此樣本上的損失為0,否則正常計(jì)算損失,即當(dāng)正樣本的概率p(y^)大于Pmax時(shí)讓模型在此樣本上的梯度為0。損失函數(shù)的詳細(xì)計(jì)算如式(19)和式(20)所示:
候選實(shí)體的最終得分計(jì)算公式如式(21)所示:
其中,Ase_scoent表示候選實(shí)體的上述集成模型得分,a為權(quán)重參數(shù)。
本節(jié)首先介紹選用的數(shù)據(jù)集,然后介紹候選實(shí)體生成,最后介紹實(shí)驗(yàn)參數(shù)。
3.1.1 數(shù)據(jù)集本文分別選用2019 屆及2020 屆這2 屆由中國(guó)知識(shí)圖譜與語(yǔ)義計(jì)算大會(huì)(CCKS)及百度聯(lián)合舉辦的中文短文本實(shí)體鏈指任務(wù)提供的2 個(gè)數(shù)據(jù)集(簡(jiǎn)稱為CCKS2019 和 CCKS2020)進(jìn) 行 訓(xùn) 練 及 測(cè) 試。CCKS2019中包含訓(xùn)練數(shù)據(jù)90000條,測(cè)試數(shù)據(jù)10000條,外部知識(shí)庫(kù)399252 條結(jié)構(gòu)化知識(shí)。由于測(cè)試數(shù)據(jù)中不含實(shí)體標(biāo)簽,因此本文從前到后的選用訓(xùn)練數(shù)據(jù)中的10000 條在整個(gè)訓(xùn)練數(shù)據(jù)集中不重復(fù)的數(shù)據(jù)作為測(cè)試集,進(jìn)行模型效果的評(píng)估。CCKS2020 數(shù)據(jù)集中包括訓(xùn)練集70000條數(shù)據(jù),開發(fā)集10000條數(shù)據(jù),測(cè)試集10000條數(shù)據(jù),外部知識(shí)庫(kù)324418條結(jié)構(gòu)化知識(shí)。由于開發(fā)集包含實(shí)體標(biāo)簽,因此本文在開發(fā)集進(jìn)行模型效果的評(píng)估。
3.1.2 候選實(shí)體生成
針對(duì)于CCKS2020 數(shù)據(jù)集,本文利用知識(shí)庫(kù)的“subject”字段(實(shí)體名)及“alias”字段(實(shí)體別名)召回全部目標(biāo)實(shí)體在知識(shí)庫(kù)中的指稱候選實(shí)體。而針對(duì)于CCKS2019 數(shù)據(jù)集無(wú)法根據(jù)知識(shí)庫(kù)字段生成指稱全部候選實(shí)體,本文選擇參照訓(xùn)練集的標(biāo)簽人工將其加入指稱的候選實(shí)體,保證目標(biāo)實(shí)體在候選實(shí)體集中。對(duì)數(shù)據(jù)集的NIL 實(shí)體的消歧問題,本文參照文獻(xiàn)[28]中的方法為每個(gè)指稱生成完備的候選實(shí)體(未將指稱預(yù)測(cè)類別加入實(shí)體描述中),即除根據(jù)知識(shí)庫(kù)字段生成的候選實(shí)體外,還人工為每個(gè)指稱構(gòu)造一個(gè)NIL候選實(shí)體。
3.1.3 實(shí)驗(yàn)參數(shù)及評(píng)價(jià)指標(biāo)
基模型及類別模型的參數(shù)如表1 所示,集成模型根據(jù)融合的特征數(shù)不同需要進(jìn)行參數(shù)調(diào)整,因此在這里不進(jìn)行展示。本文選用消歧準(zhǔn)確率作為評(píng)價(jià)指標(biāo),由于本文所采用方法對(duì)所有的指稱都會(huì)預(yù)測(cè)出一個(gè)實(shí)體,因此模型的準(zhǔn)確率和召回率是等價(jià)的,自然也等于F1值,所以本文用準(zhǔn)確率來(lái)直觀地描述模型的性能。
表1 基模型及類別消歧模型參數(shù)表
本節(jié)展示類別消歧模型及多特征因子集成模型的實(shí)驗(yàn)結(jié)果,并對(duì)模型及特征進(jìn)行了效果評(píng)估以及案例分析。
3.2.1 類別消歧模型實(shí)驗(yàn)結(jié)果及分析
類別消歧模型在CCKS2020 數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果如圖4所示,其中注意力“頭數(shù)”為1時(shí),表示使用一般的注意力機(jī)制,即使用可訓(xùn)練的對(duì)角矩陣對(duì)候選實(shí)體的嵌入表示進(jìn)行線性變換,然后與指稱類別嵌入進(jìn)行點(diǎn)積的計(jì)算并輸入到前饋神經(jīng)網(wǎng)絡(luò)中求向量的匹配得分。從實(shí)驗(yàn)結(jié)果發(fā)現(xiàn),隨著注意力“頭數(shù)”的增加,模型的準(zhǔn)確率也在不斷提升,直到達(dá)到峰值后開始保持不變或略有下降,表明使用多頭的較細(xì)粒度的向量相似度計(jì)算并對(duì)指稱候選實(shí)體重編碼能夠得到更好的特征向量。
圖4 注意力頭數(shù)對(duì)類別消歧模型的影響圖
3.2.2 特征因子有效性分析
為了驗(yàn)證本文所選特征因子的有效性,本文選用基模型和融入對(duì)抗學(xué)習(xí)[31]的基模型得到的語(yǔ)義匹配得分Ernie-base 和Ernie-Adv 作為基準(zhǔn),在CCKS2019和CCKS2020 數(shù)據(jù)集上分別做了4 組特征融合實(shí)驗(yàn)。實(shí)驗(yàn)結(jié)果如表2及表3所示,其中,Co表示共現(xiàn)特征得分,Typ表示類別特征得分,Pop表示流行度特征得分。
表2 以Ernie-base為基線融合其他特征得分的消歧準(zhǔn)確率/%
表3 以Ernie-Adv為基線融合其他特征得分的消歧準(zhǔn)確率/%
從表2來(lái)看,基于預(yù)訓(xùn)練語(yǔ)言模型Ernie進(jìn)行微調(diào)已經(jīng)能夠較好地完成實(shí)體消歧任務(wù),而Ernie-base+Co較Ernie-base 在CCKS2020開發(fā)集上提高了0.17個(gè)百分點(diǎn)的準(zhǔn)確率,在CCKS2019 開發(fā)集上提高了0.45 個(gè)百分點(diǎn)的準(zhǔn)確率,表明本文提出的共現(xiàn)特征在實(shí)體消歧中的有效性。Ernie-base+Typ 較Ernie-base 在CCKS2020 開發(fā)集提高了0.34 個(gè)百分點(diǎn)的準(zhǔn)確率,在CCKS2019 開發(fā)集上提高了0.42 個(gè)百分點(diǎn)的準(zhǔn)確率,表明本文提出的類別特征在實(shí)體消歧中的有效性。Ernie-base+Co+Typ較Ernie-base在CCKS2020開發(fā)集上提高了0.38 個(gè)百分點(diǎn)的準(zhǔn)確率,在CCKS2019 開發(fā)集上提高了0.58個(gè)百分點(diǎn)的準(zhǔn)確率,說明綜合考慮類別特征得分和共現(xiàn)特征得分能更好地改善基模型的消歧效果。以Ernie-Adv 為基線的表3顯示出了與表2 類似的特征融合對(duì)基模型消歧效果的改善,再一次表明了本文提出的特征因子的有效性。此外,在表2及表3的最后一行還展示了在上述模型得分的基礎(chǔ)上加入基于訓(xùn)練數(shù)據(jù)集所得到的實(shí)體先驗(yàn)概率對(duì)于實(shí)體消歧效果的改善,驗(yàn)證了實(shí)體流行度特征對(duì)于改善本文所提出模型的消歧結(jié)果仍然有所幫助。
為了更形象地展示本文提出的類別特征及共現(xiàn)特征的有效性,本文選取了部分基模型融合上述特征因子后所糾正的具有代表性的案例進(jìn)行如下展示:例如在“《魔獸爭(zhēng)霸3》人族小技巧”這段短文本中,基模型會(huì)錯(cuò)誤將指稱“人族”鏈接到實(shí)體描述為“生物學(xué)人亞科目錄…”候選實(shí)體,而融入共現(xiàn)特征得分后,集成模型則正確地將其鏈接到實(shí)體描述為“游戲《魔獸爭(zhēng)霸》系列中的種族…”候選實(shí)體;再如在“《榮耀之戰(zhàn)25種族》英雄專屬詳解_rpg攻略”這段文本中,基模型也錯(cuò)誤將指稱“種族”鏈接到類別為其他的實(shí)體描述為“生物學(xué)概念…”候選實(shí)體,而融入類別特征得分后,集成模型則正確地將其鏈接到類別為游戲的實(shí)體描述為“榮耀之戰(zhàn)…”候選實(shí)體。綜上所述,實(shí)驗(yàn)結(jié)果進(jìn)一步驗(yàn)證本文提出的類別特征和共現(xiàn)特征的有效性。
3.2.3 模型整體效果評(píng)價(jià)
為了驗(yàn)證本文提出的基于多特征因子融合消歧模型的整體消歧效果,本文在CCKS2019 數(shù)據(jù)集上選用文獻(xiàn)[27]中的結(jié)果作為對(duì)比,在CCKS2020 數(shù)據(jù)集上選用文獻(xiàn)[28]進(jìn)行對(duì)比,對(duì)比結(jié)果如表4和表5所示。
表4 在CCKS2019上模型消歧準(zhǔn)確率對(duì)比/%
表5 在CCKS2020上模型消歧準(zhǔn)確率對(duì)比/%
從表4 中可以看出本文提出的基于多特征因子融合的消歧模型在CCKS2019 數(shù)據(jù)集的表現(xiàn)優(yōu)于文獻(xiàn)[27]中的結(jié)果,說明本文所選用的特征因子及消歧流程能夠較文獻(xiàn)[27]中的方法取得更好的消歧效果。
表5的結(jié)果來(lái)自千言數(shù)據(jù)集:實(shí)體鏈指比賽提供的評(píng)測(cè)接口,其評(píng)測(cè)結(jié)果中包含了對(duì)NIL 實(shí)體的類別判斷。其中文獻(xiàn)[28]采用的類別模型在開發(fā)集NIL實(shí)體上的準(zhǔn)確率為90.02%,本文所用類別模型在上述數(shù)據(jù)上的準(zhǔn)確率為88.98%。由于開發(fā)集與測(cè)試集分布存在差異,本文在表中取得的結(jié)果并非在開發(fā)集上表現(xiàn)最好的模型所取得,而是與其效果近似的模型所取得。
從表5 中可以看出,本文提出的模型在類別模型表現(xiàn)較差的情況下與往屆短文本消歧比賽的冠軍方案取得了幾乎相同的成績(jī)。說明本文提出的模型在中文短文本實(shí)體消歧上具有很好的性能。同時(shí)相比于文獻(xiàn)[28]集成多預(yù)訓(xùn)練語(yǔ)言模型消歧結(jié)果的方式,本文提出方法的優(yōu)點(diǎn)是:僅微調(diào)了一個(gè)預(yù)訓(xùn)練語(yǔ)言模型,在模型體量、訓(xùn)練時(shí)間及資源上大幅縮減。缺點(diǎn)是:所選用特征因子較少,特征因子集成模型效果不夠穩(wěn)定,在開發(fā)集上表現(xiàn)近似的模型在測(cè)試集上的表現(xiàn)會(huì)有較小的波動(dòng),可以考慮使用多折交叉驗(yàn)證的方式進(jìn)行改進(jìn)。
本文從指稱上下文與候選實(shí)體描述語(yǔ)義相似度、指稱類別嵌入與實(shí)體嵌入相似度、指稱候選實(shí)體與其緊鄰指稱候選實(shí)體最大語(yǔ)義相似度、實(shí)體先驗(yàn)概率4個(gè)特征出發(fā),以預(yù)訓(xùn)練語(yǔ)言模型為基模型,在其得到的指稱上下文與候選實(shí)體描述語(yǔ)義匹配得分基礎(chǔ)上不斷融入其他特征得分來(lái)改善其消歧效果。在類別特征得分的計(jì)算中,本文利用多頭注意力機(jī)制和前饋神經(jīng)網(wǎng)絡(luò)度量向量的相似度。實(shí)驗(yàn)結(jié)果顯示了本文提出的特征、消歧流程以及方法是有效的,有利于改善對(duì)僅使用指稱上下文和候選實(shí)體描述語(yǔ)義匹配特征進(jìn)行消歧的基模型的消歧結(jié)果。在未來(lái)研究工作中,筆者主要將圍繞如下2 個(gè)方向展開研究:1)通過對(duì)比學(xué)習(xí)[32]或其他方式讓基于預(yù)訓(xùn)練語(yǔ)言模型獲得更高質(zhì)量的實(shí)體嵌入,從而提升消歧效果;2)探索如何在預(yù)訓(xùn)練語(yǔ)言模型中融入文中所述的類別、共現(xiàn)等特征,從而提升預(yù)訓(xùn)練語(yǔ)言模型的消歧效果,而非使用外部的特征得分來(lái)改善其消歧效果。