汪材印 (宿州學(xué)院機械與電子工程學(xué)院, 安徽 宿州 234000)
崔 琳 (宿州學(xué)院信息工程學(xué)院, 安徽 宿州 234000)
問答系統(tǒng)中問句間語義相似度研究
汪材印 (宿州學(xué)院機械與電子工程學(xué)院, 安徽 宿州 234000)
崔 琳 (宿州學(xué)院信息工程學(xué)院, 安徽 宿州 234000)
問答系統(tǒng)是信息檢索系統(tǒng)的一種高級形式,它能夠用準確、簡潔的自然語言回答用戶用自然語言提出的問題。如何計算問句之間的語義相似度是問答系統(tǒng)面臨的主要難題。提出一種新的計算問句間語義相似度的方法,即綜合考慮問句之間的顯式關(guān)聯(lián)和隱式關(guān)聯(lián)2個方面,將鏈接預(yù)測模型與查詢似然語言模型相結(jié)合計算問句之間的語義相似度。試驗表明,采用該方法可提高問句語義匹配的準確率。
問答系統(tǒng);語義相似度;鏈接預(yù)測;語言模型;隨機游走模型
隨著因特網(wǎng)的迅猛發(fā)展和Web2.0技術(shù)的日益成熟,問答系統(tǒng)(Question Answering System,QAS)逐漸成為一種新的信息檢索技術(shù)。問答系統(tǒng)是指能夠用準確、簡潔的自然語言回答用戶用自然語言提出的問題[1]。由于問答系統(tǒng)返回的是精確的答案,而不是一大堆相關(guān)的文檔,因而問答系統(tǒng)比搜索引擎更快捷、高效,是未來搜索引擎發(fā)展的方向。
依據(jù)系統(tǒng)所處理問題范圍的不同,問答系統(tǒng)可以分為開放領(lǐng)域問答系統(tǒng)和受限領(lǐng)域問答系統(tǒng),前者不限輸入問題的范圍,可以解決關(guān)于任何主題的問題,后者只針對某一個特定領(lǐng)域(例如交通等領(lǐng)域)的問題。依據(jù)產(chǎn)生答案的方法不同,問答系統(tǒng)又可以分為自動問答系統(tǒng)和用戶交互式問答系統(tǒng),自動問答系統(tǒng)主要基于構(gòu)建的知識庫系統(tǒng)自動進行回答,用戶交互式問答系統(tǒng)則通過讓廣大用戶參與到問答當中,使用戶能夠共同協(xié)作,達到相互幫助的目的[2]。
句子相似度的計算是問答系統(tǒng)的核心所在,其計算方法的精確性和實時性關(guān)系到整個系統(tǒng)的精確性和效率,隨著國內(nèi)外學(xué)者的深入研究,目前的問句相似度計算有基于詞形詞序匹配的方法、基于語義計算的方法、基于編輯距離的方法等[3],但答案抽取的準確率不高。為此,筆者提出一個新的計算問句相似度的思路,即將鏈接預(yù)測思想與傳統(tǒng)的問句相似度計算模型相結(jié)合,綜合考慮問句之間的顯式關(guān)聯(lián)程度和隱式關(guān)聯(lián)程度2個方面,從而更加準確地計算問句之間的的語義相似度。
問答系統(tǒng)面臨的最大困難是2個問句使用不同的詞匯表達相同或者相近的意思,在此情況下,使用向量空間模型或語言模型等以詞形匹配為基礎(chǔ)的模型來計算問句之間的相似度,很難達到滿意效果。經(jīng)研究發(fā)現(xiàn),問句之間有2種關(guān)聯(lián)方式:顯式關(guān)聯(lián)和隱式關(guān)聯(lián)。顯式關(guān)聯(lián)是問句之間存在相同的單詞,隱式關(guān)聯(lián)是問句間用不同的單詞表達相同或者相近的含義。傳統(tǒng)的相似度計算模型只關(guān)注了問句之間的顯式聯(lián)系,但對問句之間的隱式關(guān)聯(lián)無法進行有效評估。對此,可以將問句集合表示為網(wǎng)絡(luò),網(wǎng)絡(luò)中的各個節(jié)點即為問句集合中的問句,節(jié)點之間的邊即為問句之間的顯式聯(lián)系,則網(wǎng)絡(luò)中2個節(jié)點之間存在未知鏈接的可能性,就代表了這2個節(jié)點所對應(yīng)問句之間的隱式關(guān)聯(lián)程度(見圖1)。由圖1可知,問句Q與問句Q1,Q2,…,Qn之間有邊相連,證明問句Q與問句Q1,Q2,…,Qn之間存在顯式關(guān)聯(lián);問句Q′與問句Q1,Q2,…,Qn之間有邊相連,證明問句Q′與問句Q1,Q2,…,Qn也存在顯式關(guān)聯(lián)。那么,Q與Q′所代表的節(jié)點之間存在未知的邊的概率,就代表了Q與Q′之間隱式關(guān)聯(lián)程度(如圖1中虛線所示)。
2.1查詢似然語言模型
圖1 問句Q與Q′之間的隱式關(guān)聯(lián)圖
信息檢索模型是信息檢索的核心,信息檢索模型包括布爾模型、向量空間模型和語言模型等[4]。語言模型主要是通過統(tǒng)計學(xué)和概率論對自然語言建模,其中查詢似然語言模型是該模型中最具代表性的一種類型,其計算方法如下[5]。
(1)
式中,P(qi|Q′)表示單詞qi在問句Q′中的出現(xiàn)概率;P(w|Q)表示單詞w在問句Q中出現(xiàn)的概率;c(w,Q)表示單詞w在問句Q中出現(xiàn)的次數(shù)。
2.2鏈接預(yù)測模型
網(wǎng)絡(luò)中的鏈接預(yù)測是指如何通過已知的網(wǎng)絡(luò)節(jié)點以及網(wǎng)絡(luò)結(jié)構(gòu)等信息來預(yù)測網(wǎng)絡(luò)中2個不相連的節(jié)點之間產(chǎn)生鏈接的可能性。Jaccard系數(shù)模型和隨機游走模型是常用的2種鏈接預(yù)測模型,其中隨機游走模型是基于邊的鏈接預(yù)測模型的代表,采用隨機游走模型計算問句之間的隱式關(guān)聯(lián)程度,相關(guān)內(nèi)容如下[6]。
在該模型中,從某一節(jié)點出發(fā),移動到其任一鄰接點的過程即為隨機游走的過程。將節(jié)點x和節(jié)點y之間的隱式關(guān)聯(lián)程度定義為從x出發(fā)隨機游走到達y的平均步數(shù):
(2)
式中,score(e)表示節(jié)點x和節(jié)點y之間存在未知鏈接e的評分,也可以理解為節(jié)點x和節(jié)點y所代表的問句之間的隱式關(guān)聯(lián)程度;paths(x,y)表示從節(jié)點x到節(jié)點y的所有路徑的集合;edges(p)表示路徑p中包含的所有邊的集合;p(e′)表示在隨機游走過程中選擇邊e′的概率。
p(e′)取值的基本思想是:當邊e′權(quán)重越大,則p(e′)取值越大,而當邊e′的起始節(jié)點的鄰接邊集合的權(quán)重之和越大,則p(e′)取值越小,其計算公式如下:
(3)
式中,w(e′)表示邊e′的權(quán)重;x′表示邊e′的起始節(jié)點;〈x′〉表示節(jié)點x′的鄰接邊的集合。
2.3基于歸一化處理策略的問句相似度計算模型
傳統(tǒng)的問句相似度計算只考慮問句之間的顯式關(guān)聯(lián),一般都忽略了問句之間的隱式關(guān)聯(lián)。針對上述情況,綜合考慮問句之間的顯式關(guān)聯(lián)和隱式關(guān)聯(lián)2個方面,利用查詢似然語言模型計算問句之間的顯式相似度和隨機游走模型計算問句之間的隱式相似度來精確抽取答案。計算問句之間的語義相似度的步驟如下:
1)將問答系統(tǒng)中的所有問句表示為1個無向圖G=(V,E);其中,V是無向圖中頂點的集合,E是無向圖中邊的集合,V表示問答系統(tǒng)中的所有問句,E表示2個節(jié)點所對應(yīng)問句存在顯式關(guān)聯(lián),2個問句之間的顯式相似度值(使用查詢似然語言模型計算)就是邊的權(quán)重。
3)利用隨機游走模型計算頂點VQ與圖中各個頂點之間存在未知鏈接的概率,即問句之間的隱式相似度,將問答系統(tǒng)中各個問句按照與用戶提問Q的隱式相似度由高到低進行排序。
4)對用戶提問Q與問答系統(tǒng)中任一問句Q′之間的顯式相似度和隱式相似度做歸一化處理,計算兩者之間最終的語義相似度。由于語言模型和隨機游走模型計算結(jié)果的量級不統(tǒng)一,通過上述步驟所得出的問句之間的顯式相似度和隱式相似度的量級也不統(tǒng)一,無法直接進行運算。因此,要對問句之間的顯式相似度和隱式相似度做歸一化處理,解決量級不統(tǒng)一的問題。
即對用戶提問Q,有:
(4)
并且:
(5)
式中,SimLM、SimLP分別表示用戶提問Q與問答系統(tǒng)G中的問句Q′之間的顯式和隱式相似度。
即對用戶提問Q,其與圖G所對應(yīng)的問答系統(tǒng)中全部問句的相似度的和為1。在此基礎(chǔ)上,計算用戶提問Q和Q′之間最終的語義相似度:
Score(Q,Q′)=λSimLM(Q,Q′)+(1-λ)SimLP(Q,Q′)
(6)
式中,λ∈(0,1),以調(diào)和問句之間的顯式相似度和隱式相似度對問句之間語義相似度的影響。
5)在圖G所對應(yīng)的問答系統(tǒng)中,查找與Q具有最高語義相似度的問句輸出。
由于現(xiàn)在國內(nèi)沒有通用的問答系統(tǒng),筆者通過網(wǎng)絡(luò)爬蟲程序從新浪愛問(http://iask.sina.com.cn)上抓取了部分問句,新浪愛問按照主題對問題進行分類,為了避免試驗結(jié)果過于依賴特定領(lǐng)域,抓取的問句來自4個主題,即教育、健康醫(yī)學(xué)、運動愛好和社會文化,共收集了這4個主題的3126條問句, 構(gòu)建問句集合Set_Question,從問句集合Set_Question中無放回的隨機抽取100個問句,構(gòu)建測試集合Set_Test。試驗數(shù)據(jù)集合如表1所示。
對于測試集合Set_Test中的每個問句Q,計算問句集合Set_ Question中各個問句與Q的相似度,并將與Q相似度最高的5個問句作為檢索結(jié)果返回。有3位測試人員對每個返回的問句進行評分,如果實驗人員認為某問句與用戶提問Q語義相似,則為其計分為1,否則為0。如果一個問句的得分大于等于2,則該問句標注為與用戶提問“相似”,否則將其標注為“不相似”。首先,只考慮問句間的顯式關(guān)聯(lián)時,得出一種問句標注結(jié)果;其次,使用筆者提出的基于歸一化處理策略的問句相似度方法進行問句標注時又得出另一種標注結(jié)果,2種方法下問句標注結(jié)果的對比如表2所示。對于教育領(lǐng)域的25個測試問句,測試人員從由801個問句構(gòu)成的問句集合中,計算與這25個測試問句語義相似的問句,如果只考慮問句間的顯式關(guān)聯(lián),那么在801個問句集合中,有42個問句與25個測試問句語義相似;如果使用筆者提出的基于歸一化處理策略的問句相似度方法計算,那么在801個問句集合中,就有59個問句與25個測試問句語義相似。顯然,使用筆者提出的方法計算問句間語義相似度時,能更好地度量問句之間的語義相似度,因為該方法既考慮了問句間的顯式關(guān)聯(lián),又考慮了問句間的隱式關(guān)聯(lián)。
表1 試驗數(shù)據(jù)集合
表2 問句標注結(jié)果
提出了基于歸一化處理策略的問句相似度計算方法,利用查詢似然語言模型計算問句之間的顯式相似度,利用鏈接預(yù)測模型中的隨機游走模型計算問句之間的隱式相似度,并將問句之間的顯式相似度和隱式相似度做歸一化處理,得出問句之間最終的語義相似度。下一步的研究工作是把筆者提出的基于歸一化處理策略的問句相似度計算方法與幾種常用的語義相似度計算方法進行對比,以進一步驗證該方法的有效性。
[1]鄭實福,劉挺,秦兵,等.自動問答綜述[J].中文信息學(xué)報,2002,16(6): 46-52.
[2]宋萬鵬. 短文本相似度計算在用戶交互式問答系統(tǒng)中的應(yīng)用[D].合肥:中國科學(xué)技術(shù)大學(xué),2010.
[3]李月雷,師瑞峰.漢語語句語義相似度的計算方法[J].計算機科學(xué), 2008,35(4):3-4.
[4]秦喜艷,陸偉,姜捷璞.信息檢索中的相關(guān)性判斷和系統(tǒng)評價述評[J].圖書情報知識,2009(4):89-94.
[5]Ponte J M,Croft W B.A Language Modeling Approach to Information Retrieval[A]. Proceedings of the 21st Annual International ACM SIGIR Conference on Research and Development in Information Retrieval [C],1998:275-281.
[6]David L N,Jon K.The Link-Prediction Problem for Social Networks[J].Journal of American Society for Information Science and Technology,2007,58(7):1019-1031.
[編輯] 李啟棟
10.3969/j.issn.1673-1409(N).2012.04.036
TP391
A
1673-1409(2012)04-N103-03
2012-02-10
安徽省高等學(xué)校優(yōu)秀青年人才基金項目(2010SQRL192);安徽省高校自然科學(xué)研究一般項目(KJ2011B173)。
汪材印 (1977-),男,2001年大學(xué)畢業(yè),碩士,講師,現(xiàn)主要從事問答系統(tǒng)和語義Web方面的教學(xué)與研究工作。