王榮坤賓 晟孫更新
(青島大學(xué)計(jì)算機(jī)科學(xué)技術(shù)學(xué)院,青島 266071)
隨著知識(shí)圖譜和自然語(yǔ)言處理技術(shù)的快速發(fā)展,以知識(shí)圖譜作為知識(shí)庫(kù)的中文問(wèn)答系統(tǒng)越來(lái)越多[1]。實(shí)體消歧是中文知識(shí)圖譜問(wèn)答系統(tǒng)(Chinese Knowledge Based Question Answering,CKBQA)中的關(guān)鍵技術(shù),目的是構(gòu)建問(wèn)句中實(shí)體指稱(chēng)的候選實(shí)體集合,并將實(shí)體指稱(chēng)鏈接到正確的實(shí)體上[2-4]?,F(xiàn)有的實(shí)體消歧方法主要有三類(lèi):基于分類(lèi)的方法、基于圖的方法和基于深度學(xué)習(xí)的方法?;诜诸?lèi)的方法將實(shí)體消歧看作二分類(lèi)問(wèn)題,利用分類(lèi)器對(duì)候選實(shí)體分類(lèi)[5-6],然而在分類(lèi)過(guò)程中可能有多個(gè)候選實(shí)體被標(biāo)記為真,所以還需要其他的方法對(duì)標(biāo)記為真的候選實(shí)體進(jìn)行消歧?;趫D的方法通過(guò)實(shí)體指稱(chēng)和候選實(shí)體構(gòu)建圖模型,使用實(shí)體流行度、上下文相似度等信息對(duì)圖模型中邊進(jìn)行加權(quán),推理目標(biāo)實(shí)體[7-8],能夠考慮候選實(shí)體之間的關(guān)系,但是對(duì)于上下文信息利用不足。目前研究最多的是基于深度學(xué)習(xí)的方法,通過(guò)引入雙向LSTM 和注意力機(jī)制,充分利用實(shí)體指稱(chēng)的上下文信息,有效的度量實(shí)體指稱(chēng)和候選實(shí)體之間的語(yǔ)義匹配,提高實(shí)體消歧效果[9-10]。以上實(shí)體消歧研究聚焦于以維基百科、描述文檔等作為信息來(lái)源的長(zhǎng)文本語(yǔ)境,利用實(shí)體指稱(chēng)和候選實(shí)體豐富的上下文信息進(jìn)行實(shí)體消歧,對(duì)于短文本實(shí)體消歧方法研究較少[11]。而在短文本實(shí)體消歧中,中文問(wèn)句口語(yǔ)化和縮略詞[12]容易導(dǎo)致生成候選實(shí)體集合無(wú)法召回目標(biāo)實(shí)體的問(wèn)題,并且實(shí)體信息來(lái)源只有問(wèn)句和知識(shí)圖譜,沒(méi)有描述文檔輔助消歧,造成上下文信息缺乏的問(wèn)題。為此,在生成候選實(shí)體集合階段,通過(guò)N-Gram 分詞模型對(duì)實(shí)體分詞,構(gòu)建分詞索引;在實(shí)體消歧階段,引入實(shí)體在知識(shí)圖譜中的關(guān)系、相鄰實(shí)體和實(shí)體重要性作為實(shí)體上下文信息,結(jié)合問(wèn)句中的信息進(jìn)行特征擬合并通過(guò)由粗到精的排序模型預(yù)測(cè)目標(biāo)實(shí)體,提高實(shí)體消歧準(zhǔn)確率。
融合多特征和由粗到精排序的實(shí)體消歧模型如圖1所示,主要包含生成候選實(shí)體集合模塊和實(shí)體消歧模塊。以問(wèn)句中識(shí)別出的實(shí)體指稱(chēng)作為模型輸入,通過(guò)生成候選實(shí)體集合模塊構(gòu)造實(shí)體指稱(chēng)的候選實(shí)體集合,然后計(jì)算每個(gè)候選實(shí)體的特征值,構(gòu)造特征向量,利用粗排模型進(jìn)行過(guò)濾,減少候選實(shí)體數(shù)量,并選取得分Top10的候選實(shí)體構(gòu)建新的特征向量,最后通過(guò)精排模型排序,得分最高的候選實(shí)體為目標(biāo)實(shí)體。
圖1 實(shí)體消歧模型框架圖
給定一個(gè)問(wèn)句和實(shí)體指稱(chēng),候選實(shí)體集合生成模塊根據(jù)實(shí)體指稱(chēng)到知識(shí)圖譜中選取相似的實(shí)體作為候選實(shí)體。候選實(shí)體集合是實(shí)體消歧的基礎(chǔ),如果不包含目標(biāo)實(shí)體,實(shí)體消歧部分就毫無(wú)意義。
(1)預(yù)處理。對(duì)知識(shí)圖譜中的實(shí)體使用Bi-Gram 和Tri-Gram 分詞的方法進(jìn)行分詞,針對(duì)每個(gè)分詞和原詞構(gòu)建倒排索引。N-Gram 是一個(gè)基于概率的判別模型[13],N是指由N個(gè)單詞組成的集合,本文使用的Bi-Gram 中N=2,Tri-Gram 中N=3。假設(shè)一個(gè)句子有m個(gè)字符,S=(w1,w2,…,w n),n≤m表示句子中的一個(gè)分詞,Bi-Gram 中假設(shè)一個(gè)字出現(xiàn)的概率僅僅依賴(lài)它前面出現(xiàn)的字,Tri-Gram 假設(shè)一個(gè)字出現(xiàn)的概率依賴(lài)它前面的兩個(gè)字。在Bi-Gram 和Tri-Gram 中S是詞語(yǔ)的概率計(jì)算方法分別為
其中,w i表示第i個(gè)字符,i≤n,p(S)表示分詞S是詞語(yǔ)的概率,p(w n|w n-1)表示第n-1個(gè)字符是S組成的情況下,第n個(gè)字符也是S組成的概率。以“嶗山風(fēng)景區(qū)”為例,使用Bi-Gram 分詞后的結(jié)果Y1={嶗山,風(fēng)景區(qū)},Y2={嶗,山風(fēng)景區(qū)},Y3={嶗山風(fēng),景區(qū)}。其中,p(Y1)=p(嶗山)p(風(fēng)景區(qū)|嶗山),p(Y2)=p(嶗)p(山風(fēng)景區(qū)|嶗),p(Y3)=p(嶗山風(fēng))p(景區(qū)|嶗山風(fēng)),三個(gè)概率中,“嶗山”在語(yǔ)料庫(kù)中比較常見(jiàn),所以p(Y1)的概率比較大,“嶗山風(fēng)景區(qū)”會(huì)被分詞為“嶗山”和“風(fēng)景區(qū)”。
(2)生成候選實(shí)體集合。對(duì)于每個(gè)實(shí)體指稱(chēng),構(gòu)造一個(gè)候選實(shí)體集合。候選實(shí)體集合的來(lái)源有兩部分,一部分是使用實(shí)體指稱(chēng)到知識(shí)圖譜實(shí)體的實(shí)體索引庫(kù)中通過(guò)相似度進(jìn)行召回;另一部分是使用實(shí)體指稱(chēng)到知識(shí)圖譜實(shí)體的實(shí)體分詞索引庫(kù)中通過(guò)相似度進(jìn)行召回,主要緩解問(wèn)句中因?yàn)槭褂煤?jiǎn)稱(chēng)和縮略詞導(dǎo)致無(wú)法召回目標(biāo)實(shí)體的問(wèn)題。
由于在CKBQA 中,信息來(lái)源有限,只能通過(guò)問(wèn)句和知識(shí)圖譜本身的信息進(jìn)行實(shí)體消歧。而大部分短文本實(shí)體消歧方法對(duì)知識(shí)圖譜本身信息利用不足,所以在實(shí)體指稱(chēng)與候選實(shí)體字符相似度特征、問(wèn)句與候選實(shí)體語(yǔ)義相似度特征兩個(gè)常用特征[14-16]的基礎(chǔ)上,引入了關(guān)系相似度特征、相鄰實(shí)體相似度特征、實(shí)體重要性特征,以充分利用候選實(shí)體在知識(shí)圖譜中的信息。在最終的排序環(huán)節(jié),通過(guò)粗排模型過(guò)濾無(wú)關(guān)候選實(shí)體,縮小候選實(shí)體集合數(shù)量,然后使用精排模型預(yù)測(cè)目標(biāo)實(shí)體,提高實(shí)體消歧準(zhǔn)確率。
(1)相似度計(jì)算模型。實(shí)體指稱(chēng)與候選實(shí)體的字符相似度特征計(jì)算使用編輯距離方法[17],問(wèn)句與候選實(shí)體語(yǔ)義相似度、關(guān)系相似度和相鄰實(shí)體相似度計(jì)算使用圖2所示的語(yǔ)義相似度計(jì)算模型。
圖2 語(yǔ)義相似度計(jì)算模型圖
首先拼接文本1 和文本2,兩個(gè)文本之間使用[SEP]標(biāo)記分隔,拼接后的文本頭部加入[CLS]標(biāo)記,然后計(jì)算拼接文本中每個(gè)字符的詞向量、段向量和位置向量。將這三個(gè)向量相加后輸入BERT[18-19]預(yù)訓(xùn)練模型對(duì)文本編碼,得到兩個(gè)文本向量a和b,最后計(jì)算向量的相似度similarity(a,b)
(2)關(guān)系相似度特征。關(guān)系相似度特征指的是問(wèn)句與候選實(shí)體關(guān)系的相似度,知識(shí)圖譜KG=(H,R,E),其中H表示頭實(shí)體的集合,R表示關(guān)系集合,E表示尾實(shí)體集合。候選實(shí)體集合C={c1,c2…,c m},c i∈(H∪E),c i的關(guān)系集合R e={r1,r2,…,r n},r j∈R,關(guān)系相似度計(jì)算公式為
其中,a表示問(wèn)句q經(jīng)過(guò)BERT 模型編碼后的向量,b j是關(guān)系r j編碼后的向量,s(c i)表示問(wèn)句q與候選實(shí)體c i關(guān)系的相似度特征,下面舉例說(shuō)明。
例如問(wèn)句“《西廂記》又名什么?”,對(duì)應(yīng)的候選實(shí)體集合中有“<西廂記_(元代王實(shí)甫著古典戲劇)>”、“<越劇西廂記>”、“<淺析西廂記>”等多個(gè)候選實(shí)體,其中“<西廂記_(元代王實(shí)甫著古典戲劇)>”存在“類(lèi)型”和“別名”兩個(gè)關(guān)系,分別計(jì)算問(wèn)句作為文本1、“類(lèi)型”作為文本2的相似度和問(wèn)句作為文本1、“別名”作為文本2的相似度,選取最大的相似度作為問(wèn)句與候選實(shí)體“<西廂記_(元代王實(shí)甫著古典戲劇)>”的關(guān)系相似度特征。存在“又名”或者“別名”這種關(guān)系的候選實(shí)體是目標(biāo)實(shí)體的幾率比不存在該關(guān)系的候選實(shí)體幾率大,使用這個(gè)特征可以補(bǔ)充候選實(shí)體的信息,篩選掉候選實(shí)體集合中不存在目標(biāo)關(guān)系的候選實(shí)體。
(3)相鄰實(shí)體相似度特征。本特征指的是問(wèn)句與候選實(shí)體一階相鄰實(shí)體的相似度,計(jì)算方法與關(guān)系相似度特征計(jì)算方法相同,計(jì)算問(wèn)句與候選實(shí)體每個(gè)一階相鄰實(shí)體的相似度,選取最大相似度作為問(wèn)句與候選實(shí)體的相鄰實(shí)體相似度特征。例如問(wèn)句“導(dǎo)演諾蘭2017年的哪部作品出品了?”中實(shí)體指稱(chēng)“諾蘭”對(duì)應(yīng)的候選實(shí)體集合中存在“<諾蘭·諾斯>”、“<諾蘭>”等多個(gè)候選實(shí)體,候選實(shí)體“<諾蘭>”存在三元組<諾蘭,職業(yè),導(dǎo)演>和<諾蘭,類(lèi)型,娛樂(lè)人物>,分別計(jì)算問(wèn)句作為文本1、“<導(dǎo)演>”作為文本2的相似度和問(wèn)句作為文本1、“<娛樂(lè)人物>”作為文本2的相似度,最大的相似度作為問(wèn)句與候選實(shí)體“<諾蘭>”的特征值。一階相鄰實(shí)體可以作為候選實(shí)體描述信息輔助實(shí)體消歧,問(wèn)句中形容詞“導(dǎo)演”與“<諾蘭>”的相鄰實(shí)體“<導(dǎo)演>”相似度較高,所以“<諾蘭>”是目標(biāo)實(shí)體的概率比不存在該相鄰實(shí)體的候選實(shí)體高。
(4)實(shí)體重要性特征。候選實(shí)體的重要性特征能夠表示候選實(shí)體在知識(shí)圖譜中的重要程度,在開(kāi)放領(lǐng)域知識(shí)問(wèn)答中,重要性高的候選實(shí)體更容易成為目標(biāo)實(shí)體。與常見(jiàn)的使用實(shí)體在圖中入度、出度計(jì)算實(shí)體重要性的方法不同,本文的重要性計(jì)算方法使用的是PageRank[20]算法。在PageRank中,一個(gè)PageRank值很高的實(shí)體鏈接到另一個(gè)實(shí)體上,被鏈接的實(shí)體PageRank值也會(huì)相應(yīng)的提高,而常規(guī)方法中實(shí)體的重要性只與相鄰實(shí)體的數(shù)量有關(guān),與相鄰實(shí)體的重要性無(wú)關(guān),因此PageRank計(jì)算的重要性特征更加符合真實(shí)情況
其中,PR(p j)表示實(shí)體p i的PageRank值,即實(shí)體的重要性,M p i是所有對(duì)p i實(shí)體有出鏈的實(shí)體集合,L(p j)是實(shí)體p j的出鏈數(shù)目,N是知識(shí)圖譜中的實(shí)體總數(shù),α一般取0.85。
(5)由粗到精排序模型。在生成候選實(shí)體集合階段,為了保證目標(biāo)實(shí)體在候選實(shí)體集合中,召回的候選實(shí)體數(shù)量比較多,直接對(duì)候選實(shí)體集合中的實(shí)體排序會(huì)導(dǎo)致排序結(jié)果比較差。因此,本文利用多排序模型,先將候選實(shí)體集合的特征向量通過(guò)LR 模型進(jìn)行粗排,選取分?jǐn)?shù)Top10的候選實(shí)體構(gòu)造新的候選實(shí)體集合,并且將粗排打分作為新的特征加入特征向量。然后通過(guò)XGBOOST 模型精確排序,預(yù)測(cè)每個(gè)候選實(shí)體是目標(biāo)實(shí)體的概率,得到最終的目標(biāo)實(shí)體。
本文在公開(kāi)數(shù)據(jù)集CCKS2019-CKBQA(https://www.biendata.xyz/competition/ccks_2019_6/data/)上測(cè)試。數(shù)據(jù)集包括2 298 條訓(xùn)練集,766條驗(yàn)證集和766條測(cè)試集以及一份北京大學(xué)構(gòu)建的知識(shí)圖譜PKUBASE。知識(shí)圖譜中包括255 744個(gè)實(shí)體和66 499 738條關(guān)系。CCKS2019-CKBQA 的數(shù)據(jù)集是用來(lái)評(píng)測(cè)整個(gè)問(wèn)答流程的,本文在數(shù)據(jù)集的基礎(chǔ)上做了二次標(biāo)注,僅用在實(shí)體消歧部分的實(shí)驗(yàn)。
實(shí)驗(yàn)在Windows10環(huán)境下使用Py Charm 驗(yàn)證,計(jì)算詞向量的Bert預(yù)訓(xùn)練模型使用的Pytorch版本的“Bert-Base-Chinese”模型,編碼器有12層,詞向量維度768維,最大句子長(zhǎng)度設(shè)置為256。實(shí)驗(yàn)分為兩部分,一部分為實(shí)體消歧實(shí)驗(yàn),分別使用不同數(shù)量的特征和不同的排序模型進(jìn)行對(duì)比實(shí)驗(yàn),數(shù)據(jù)集內(nèi)容是問(wèn)句、問(wèn)句中的實(shí)體指稱(chēng)和實(shí)體指稱(chēng)對(duì)應(yīng)的目標(biāo)實(shí)體。另一部分是N-Gram 分詞方法對(duì)實(shí)體消歧模型的影響實(shí)驗(yàn),采用相同的數(shù)據(jù)集,候選實(shí)體生成方法分別采用只使用相似度召回的方法和使用相似度召回加上N-Gram分詞召回的方法。假設(shè)有n個(gè)實(shí)體指稱(chēng)E N={e1,e2,…,e n},實(shí)體指稱(chēng)的預(yù)測(cè)結(jié)果E p={e1,e2,…,e n},實(shí)體指稱(chēng)對(duì)應(yīng)的目標(biāo)實(shí)體為E t={e1,e2,…,e t},則實(shí)體消歧的準(zhǔn)確率P、召回率R和F值分別為:P=實(shí)驗(yàn)使用的數(shù)據(jù)集中實(shí)體指稱(chēng)已被二次標(biāo)注,所以|E p|=|E t|,P=R=F,將準(zhǔn)確率P作為實(shí)驗(yàn)結(jié)果的主要評(píng)價(jià)指標(biāo)。
2.3.1 實(shí)體消歧模型實(shí)驗(yàn) 實(shí)體消歧實(shí)驗(yàn)選取了5個(gè)特征:問(wèn)句與候選實(shí)體語(yǔ)義相似度特征(f0)、實(shí)體重要性特征(f1)、實(shí)體指稱(chēng)與候選實(shí)體字符相似度特征(f2)、關(guān)系相似度特征(f3)、相鄰實(shí)體相似度特征(f4)?;谏鲜鎏卣鞣謩e構(gòu)建了不同數(shù)量特征的實(shí)體消歧模型,分別是使用f0和f1特征的模型1,使用f0、f1和f2特征的模型2,使用f0、f1、f2和f3特征的模型3,使用全部特征和單排序模型的模型4以及使用全部特征和多排序模型的模型5,模型6 是CCKS-CKBQA 評(píng)測(cè)比賽第一名(https://conference.bj.bcebos.com/ccks2019/eval/webpage/pdfs/eval_paper_6_1.pdf)實(shí)體消歧部分的準(zhǔn)確率,模型7是其他多特征模型[14]的準(zhǔn)確率。這7個(gè)模型實(shí)體消歧的準(zhǔn)確率結(jié)果如圖3所示。
圖3 實(shí)體消歧模型準(zhǔn)確率對(duì)比圖
隨著使用特征的增多,實(shí)體消歧準(zhǔn)確率會(huì)上升,模型4 相比模型6 提高了0.4%,比模型7 提高了0.29%,模型5比模型4提高了0.22%,比模型7提高了0.51%。模型5使用由粗到精多排序模型的方法,經(jīng)過(guò)粗排模型減小了候選實(shí)體集合中候選實(shí)體的數(shù)量,所以實(shí)體消歧準(zhǔn)確率高于未使用粗排的模型4。
圖4展示了排序模型中不同特征的重要性,在精排模型預(yù)測(cè)分?jǐn)?shù)最重要的三個(gè)特征中,f1和f4分別為第一名和第三名。實(shí)驗(yàn)結(jié)果表明,本文引入的特征在實(shí)體消歧過(guò)程中起到了重要作用。
圖4 特征重要性得分圖
2.3.2 候選實(shí)體與實(shí)體消歧實(shí)驗(yàn) 表1展示了N-Gram 分詞方法對(duì)實(shí)體消歧結(jié)果的影響(實(shí)體消歧模型使用模型5),使用N-Gram 分詞召回方法后實(shí)體消歧的準(zhǔn)確率提升了0.09%。分析實(shí)驗(yàn)發(fā)現(xiàn),N-Gram 分詞結(jié)果中只包含相鄰的字組成的詞,對(duì)于不相鄰的字組成的詞則不會(huì)分詞,而中文縮略詞多是原詞中不相鄰字組成的縮略詞,導(dǎo)致對(duì)于縮略詞的召回效果比預(yù)期效果較差。
表1 N-Gram 分詞召回對(duì)實(shí)體消歧的影響
本文通過(guò)N-Gram 分詞召回和相似度召回相結(jié)合,引入候選實(shí)體在知識(shí)圖譜中的關(guān)系、相鄰實(shí)體和實(shí)體重要性信息,設(shè)計(jì)粗排和精排相結(jié)合的排序模型,得到融合多特征和由粗到精排序模型的實(shí)體消歧方法。在CCKS2019-CKBQA 的數(shù)據(jù)集上實(shí)驗(yàn)表明,本文方法對(duì)短文本問(wèn)句實(shí)體消歧效果有明顯提升,實(shí)體重要性信息和問(wèn)句與候選實(shí)體的相鄰實(shí)體信息在排序時(shí)起到了重要作用。經(jīng)過(guò)實(shí)驗(yàn)分析,N-Gram 分詞結(jié)果都是實(shí)體中相鄰字組成的詞,而中文問(wèn)句中的縮略詞還包含了大量不相鄰字組成的詞,導(dǎo)致N-Gram 分詞召回的方法對(duì)實(shí)體消歧準(zhǔn)確率提升不大。所以下一步需要優(yōu)化分詞模型,考慮不相鄰字組成的縮略詞,提高縮略詞的召回率,減少縮略詞對(duì)實(shí)體消歧的影響。
青島大學(xué)學(xué)報(bào)(自然科學(xué)版)2022年3期