夏遠遠 王 宇
(大連理工大學管理與經濟學部 遼寧 大連 116024)
近年來,問答系統逐漸興起和發展,提供了不同于搜索引擎返回關于搜索關鍵字的一系列相關文檔的知識獲取方式,在社區用戶的參與下問答系統可以準確地提供用戶用自然語言提出的問題的答案。典型的問答系統如百度知道、知乎、Quora、Yahoo!Answers等,以“知乎”網站為例,累計共有超過1 000萬個提問以及3 400萬個回答,其中有相當一部分問題得到了解決。問句檢索的主要任務是在問答系統知識庫的基礎上,檢索出與當前提問相似的歷史已解決的問題,縮短用戶獲取答案的等待時間,以及減少用戶重復提交問題造成系統冗余[1]。
問句檢索面臨的主要困難是相似語義的查詢問句與候選問句之間的詞不匹配問題,如“失眠如何解決?”和“怎樣快速入睡?”這兩個問題,使用了完全不同的詞匯形式表達相似的語義,并且由于問答系統問句一般以短文本形式呈現,缺乏足夠的背景語義信息,使得基于嚴格詞匹配的方法(如VSM模型[2])不能夠召回這樣語義相似但詞形不同的問句。
為此,Ponte等[3]將統計語言模型的方法應用到文檔檢索中,對每一個候選文檔估計生成查詢的概率,再根據概率的大小對文檔排序。Jeon等[4]使用統計機器翻譯概率平滑語言模型,提出了一種基于統計翻譯的語言模型,借助統計翻譯獲得的背景語義信息,在一定程度上解決了語言模型的詞不匹配問題。Xue[5]等將語言模型的背景平滑機制融入到IBM Model 1中,提出了基于翻譯模型的語言模型,其通過答案相似度判斷問題相似的方法構造翻譯模型平行語料,也在一定程度上解決了翻譯噪聲的問題。但是該模型在平行語料缺乏或者質量不高時,翻譯概率的準確性較差,這就需要對可能出現偏差的翻譯概率利用人工詞典進行修正。文獻[6-8]通過獲得問句的潛在主題信息,提高翻譯模型的檢索性能。但由于翻譯模型的準確性易受訓練語料集及文本語義表達的影響,致使檢索效果不夠理想。文獻[9]引入能夠反映自然語言中語義內涵概念之間關系的概念層次網絡HNC理論[10-11],探討了在信息檢索中增強檢索智能的處理模式,為問句檢索模型提供了語義信息來源。
本文在翻譯模型基礎上,收集社區問答系統高質量的相似問句對,構建翻譯模型訓練語料集,減少不必要的噪聲。同時考慮到HNC理論符號體系在語義表達上合理完備的優點,引入HNC理論詞語知識庫修正翻譯概率,構建新的問句檢索模型,并給出問句檢索模型的實現算法。實驗結果表明,本文提出的實現算法能有效提高翻譯模型的性能,獲得更好的檢索效果。
翻譯概率需要背景訓練語料提供先驗知識,相應的訓練語料集的質量對翻譯概率的準確性有顯著的影響。由于平行語料難以獲得,之前的研究者多采用問題及其答案作為近似的平行語料獲得翻譯概率。可以發現,問題和答案在長度以及表達方式上有比較明顯的差異,使用它們作為背景語料不可避免地容易發生詞項誤翻譯的情況。考慮到“知乎”和“百度知道”等社區問答系統記錄了豐富的用戶關于問題的標記信息,部分問題還有用戶直接標記的相似問題,利用這些信息可以構建高質量平行語料。
社區問答系統提供問題標記的方法,作為一種標簽信息,問題標記一般用來表示問題的類別、領域、話題或者主題等信息。由于問題的標記由社區用戶共同添加,充分地從不同側面對問題進行抽象,這就使得標記成為理解問題的一個重要的信息來源。具有相同標記的問題具有相似度比較的基礎,自然地,相同標記越多的問題往往語義上就越可能是相似的。以下在問題標記的基礎上,介紹利用VSM算法識別相似問題的方法。
對于給定的兩個問答對中問句的Q1和Q2,它們的相似計算公式如下:
SQ1,Q2=αSt1,t2+βSa1,a2
(1)
式中:St1,t2表示問答對間問題標記集合的相似度,首先將t1、t2的全部標記項組成長度為m的集合C,若t1中的問題標記t1i出現在集合C中,該問題標記為1,否則為0,則問題標記集合的相似度計算公式如下:
(2)
Sa1,a2表示問題答案相似度,計算公式如下:
(3)

通過收集問答對資源,計算每一個問答對與其余問答對的相似度大小,設置閾值T,將SQ1,Q2值大于T的問句判定為相似問句,將判定為相似的問句對組成第一部分的相似問句訓練語料集。
人工標記的相似問句對在之前比較難以獲取,而隨著問答系統越來越強調社區用戶對問答資源管理的作用,用戶在瀏覽問答時可以將其認為相似的兩個或者多個問題進行合并,問答系統則記錄這種合并關系。依靠人工判定的相似問題往往具有更高的準確性,理論上可以發現任何形式具有相似語義的問題。通過問答系統提供的關于問題合并的功能收集得到相似問句對,作為另一部分的平行語料,用來訓練翻譯模型獲得詞項間的翻譯概率。
當前在問句檢索中被證明使用效果較好的模型是由Xue等提出的,該模型的排序機制如下:
PTLM(w|(q,a))=λ1Pml(w|q)+
(4)
式中:q,a分別為待檢索問句及其答案,P(w|t)作為翻譯概率表示查詢問句的詞項w與候選問句q的詞項t的互譯概率,ml表示語言模型的極大似然估計方法。
該翻譯模型使用具有相似語義的同種語言句子作為互為翻譯的平行語料,其翻譯概率能夠在一定程度上體現詞項間的語義關系。但詞項w和t可能由于訓練語料的偏差造成翻譯概率P(w|t)過高或者過低。
為此,引入HNC理論。該理論及其語言處理技術通過建立人工的語言概念基元符號體系,能夠準確描述自然語言詞匯中蘊涵的概念知識,同時在翻譯概率發生偏差時,通過其具有的語義知識和概念之間關系,消除不準確的翻譯概率對檢索結果帶來的影響。
在HNC理論中,詞項w和t可以看作概念在自然語言中的映射符號,分別記為thnc和whnc。
記引入HNC理論的詞匯語義符號修正翻譯概率形成的新翻譯概率為Phnc+(w|t),則Phnc+(w|t)定義為:
Phnc+(w|t)=P(w,whnc|t,thnc)=
P(w|t,thnc)P(whnc|t,thnc)=
P(w|t)P(whnc|thnc)
式中:thnc是一個概念的兩個不同映射結果,它們彼此之間是獨立的,因此,第一步到第二步的推導和第二步到第三步的推導成立。對于P(whnc|thnc)的計算,使用詞項在HNC語義網絡中的映射符號whnc,thnc的相似度sim(whnc,thnc)獲得,sim(whnc,thnc)通過衡量詞項w和t在HNC理論概念層次樹中的距離以及所在層次計算得出。
為了提高式(4)排序機制的準確性,使用修正后的翻譯概率結合式(4)的檢索模型,得到新的問句檢索排序公式,如式(5)所示。
Phnc+(w|(q,a))=αPml(w|q)+
γPml(w|a)
(5)
式中:w表示查詢中特定詞項,q、a分別表示待檢索問答對的問句以及答案,ml表示語言模型的極大似然估計方法。對于翻譯概率P(w|t)使用GIZA++[12]軟件獲得,HNC詞匯語義符號相似度p(whnc|thnc)使用文獻[13]中HNC詞匯相似度計算方法。
從排序公式組成上看,一方面利用了翻譯模型先進的詞匯匹配的優勢,消除詞匯間的語義鴻溝,同時引入HNC詞匯語義知識,修正了翻譯噪聲對檢索結果的影響。當前HNC理論詞語知識庫收錄常見的漢語詞匯共計36 431個,覆蓋絕大部分日常用語詞匯,但由于問句檢索面向開放的問答系統,出現的新詞由于人工構建詞庫的滯后,不能在HNC詞庫被及時更新,當出現詞項不能夠被映射到HNC語義網絡符號上的情況時,取sim(whnc,thnc)=P(w|t),即認為統計獲得的翻譯概率是正確的。以上通過融入HNC理論詞匯語義知識,實現了詞匯語義信息對統計翻譯概率準確性的修正,構建了新的問句檢索模型。
模型實現算法如下:
輸入:查詢問句s,待檢索問答對集合Cq,a
輸出:對于在待檢索問答對集合Cq,a中所有待檢索問句q關于s的排序結果
(1) 對s分詞形成查詢問句詞項集合Cs。
(2)在Cq,a任取一對候選問答對q,a。
(3) 對于每一個在查詢問句詞項集合Cs中的詞項w使用式(4)的排序機制計算Phnc+(w|(q,a))。
(4) 獲得Phnc+(w|(q,a))后,使用式(5)計算查詢問句s和待檢索問句q的相似度Scores,q。
(5) 重復(2)到(4)步驟的過程,直至獲取全部待檢索問答對集合Cq,a的相似度Scores,q。
(6) 按照Scores,q大小對待檢索問句集合排序,獲取問句檢索排序結果。
由于HNC理論概念詞庫建設的限制,本實驗的數據集的語言環境選擇為中文。在獲取翻譯模型的訓練集數據方面,為了驗證使用用戶標記信息和用戶交互信息給訓練集數據質量提高的有效性,準備了兩組翻譯模型的訓練語料集。首先在“知乎”網站上隨機收集了共691 138個完整的問答對(包括問題問句、問題答案和問題標記),作為第一組訓練語料集。然后通過問答系統的標記特征,在以上問答對內兩兩計算問句相似度,并且把相似度閾值T設置為0.6,式(1)的α、β分別設置為0.4、0.6,最終共獲得2 246 342個相似問句對,之后利用“知乎”網站的相似問題合并功能收集了15 790個人工標記的相似問句對,則使用本文方法構建的訓練集中共有2 262 132對相似問句對,作為第二組訓練語料集。
在測試集方面,使用已被人工標記的1 140個測試問句,每個測試問句有20個候選問句,這20個候選問句被分別標記為0或者1(0和1分別表示與測試問句不相似和相似)。同時隨機選擇20個測試問句作為開發集調試參數,最后將剩下的作為測試問句驗證各實驗對比系統。
模型評價選擇了多種具有代表性的問句檢索模型作為對比模型,它們代表了各階段使用效果較好的經典模型,具體模型如下:
(1) 語言模型:以Jeon等[4]提出的首次將語言模型應用到問句檢索的模型為代表。
(2) 基于翻譯模型的語言模型:以Xue等[5]提出的基于翻譯模型的語言模型為代表。
(3) 主題翻譯模型:融合了主題信息的翻譯模型的改進模型,以張偉男等[6]提出的主題翻譯模型為代表。
將以上檢索模型與本文提出的基于HNC理論問句模型(模型4)做檢索結果上的比較,驗證模型性能。
檢索結果的評價指標選擇AP@1、MAP和MRR:
AP@1:關于特定查詢的檢索排序結果中,相關問句在第一位的平均百分比。
MAP:表示返回結果的平均準確率,本實驗中計算每個查詢返回的前10個結果的平均準確率,即MAP10。
MRR:在保證MAP檢索準確性的同時,還要關注檢索結果的排序順序,MRR是加入排序順序影響后的檢索結果準確率。
分別使用第一組訓練集和第二組訓練集獲得翻譯概率P(w|t),并且在模型1上驗證訓練集對檢索結果的影響。圖1為模型1在兩組訓練集上各評價指標的結果。

圖1 模型1在兩組訓練集上檢索結果評價指標
從圖1可以看出第二組訓練集提高了模型的檢索性能,驗證了通過用戶標記以及交互信息收集訓練語料集的有效性。以下實驗均在第二組訓練集上進行的。
使用開發集數據將對比模型參數調至最優,改進后的模型式(4)中參數α、β和γ的值分別為0.3、0.5和0.2。各實驗模型在測試數據集上的性能指標結果見表1。

表1 四種模型在MRR、MAP和AP@1上的結果
由表1,可以得出如下分析結果:
(1) 相較于模型1(語言模型),其他三種模型在全部性能指標上都明顯優于以模型1為代表的語言模型。可以看出,語言模型由于缺少合適的平滑機制,依靠詞與詞之間的嚴格匹配度量句子間的相似度,使得詞形不同但語義相同的句子不能被召回。另外雖然語言模型使用了與其他三種模型同樣的使用翻譯概率作為查詢擴展信息的來源,但是語言模型使用的平滑方式限制了翻譯概率擴展查詢的效果。
(2) 模型3(主題翻譯模型)和模型4(基于HNC理論的翻譯模型)在MAP、MRR指標上要優于改進之前的模型2(基于翻譯模型的語言模型)。說明前兩種模型的檢索結果平均準確率要好于后一種模型,因為模型3和模型4均是在模型2的基礎上改進,模型3是將主題信息引入基于翻譯的語言模型當中,通過主題信息約束翻譯噪聲,從而提高翻譯概率的準確性。而模型4從提高翻譯概率準確性入手,使用可靠的外部語義知識在調整詞項權重的同時修正翻譯概率,都對模型性能的提高做出了貢獻,并且模型4表現優于模型3,說明HNC理論概率修正的良好效果。
(3) 可以看出在全部的評價指標上模型4均優于模型3。模型3和模型4都采用引入語義信息的方法,提高翻譯模型語義相似度的計算能力,但模型3利用背景語料的統計詞共現信息,容易出現因為訓練數據導致的統計錯誤,影響最終的主題生成效果,同時若文本長度過短也不利于主題模型獲取潛在主題語義信息。模型4通過引入HNC理論的詞匯語義知識,從全局概念空間的角度擴展了詞的語義信息來源,不受當前文本數據的影響,提供了更準確的詞項語義信息,輔助修正翻譯概率的準確性,提高了問句檢索的效果。
(4) 在實際實驗過程中,發現本文的方法較之引入主題信息的模型3從計算的準備時間到計算速度上都要更快,主題模型需要訓練集得到潛在主題分布情況后才能用于問句檢索,而本文提出的方法在將詞匯映射到HNC概念空間后,即可進行問句對相似度的計算,因此更適合實際場景下的問句檢索。
本文從提高翻譯概率準確性方面考慮,首先利用社區問答系統的問題標記以及用戶人工合并的相似問題收集高質量的相似問句對作為平行語料,然后將HNC理論語義知識結合到詞項翻譯過程中,從而解決翻譯概率語義相似度度量的問題。通過實驗證明了HNC理論引入的語義知識對翻譯概率準確性的提高,同時也說明了整合后的模型的有效性。
同時也可以發現,雖然HNC理論在自然語言理解上具備一定的優勢,但由于需要人工進行自然語言到HNC理論概念空間的映射,人工建立映射的滯后性限制了HNC理論應用的范圍。在后續的工作中,將試圖解決檢索依賴詞項映射這一問題。