吉宗誠,王 斌
(1.中國科學(xué)院 計(jì)算技術(shù)研究所,北京 100190;2. 中國科學(xué)院大學(xué),北京 100049)
近年來,社區(qū)問答系統(tǒng)(例如,Yahoo! Answers*http://answers.yahoo.com/,百度知道*http://zhidao.baidu.com/等等)逐漸成為一種非常流行而實(shí)用的互聯(lián)網(wǎng)應(yīng)用。人們不但可以通過社區(qū)問答系統(tǒng)進(jìn)行提問以滿足自己的信息需求,而且還可以回答其他用戶提問的問題來分享自己的知識。隨著社區(qū)問答系統(tǒng)的發(fā)展,在互聯(lián)網(wǎng)上已經(jīng)積累了大量的問題答案對。為了能夠重用這些非常寶貴的歷史問題答案對資源,設(shè)計(jì)出一個非常有效的問題檢索模型至關(guān)重要。問題檢索即給定一個查詢問題,系統(tǒng)能夠從問題答案庫中檢索出與查詢問題非常相似的問題答案對并返回給用戶。
作為傳統(tǒng)信息檢索的一個特殊應(yīng)用,相似問題檢索與傳統(tǒng)信息檢索的一個不同之處在于社區(qū)問答系統(tǒng)中的歷史問題是按照人工設(shè)定好的層次類別體系進(jìn)行組織的。即,社區(qū)問答系統(tǒng)中的每個問題都有一個對應(yīng)的類別標(biāo)簽。在同一個類別或者同一個子類別中的問題往往都屬于同一類話題。因此,可以利用這里的類別信息來增強(qiáng)相似問題檢索。
在之前的相關(guān)研究中,已經(jīng)有一些工作[1-4]開始嘗試在已有的檢索模型中引入問題的類別信息。實(shí)驗(yàn)結(jié)果表明合理的引入問題的類別信息可以非常有效地提升相似問題檢索的性能。特別地,Cao等人在文獻(xiàn)[2]中,在語言模型建模的框架下提出了一種二級平滑的方法來引入問題的類別信息以提高相似問題檢索的性能,并且取得了不錯的實(shí)驗(yàn)結(jié)果。然而,該方法是使用一種啟發(fā)式的方法將類別信息相關(guān)的模型與已有的檢索模型在模型間(externally)進(jìn)行一種在詞項(xiàng)層次上(at the word level)的簡單的線性插值。
語言模型建模的方法因其在信息檢索中具有非常不錯的檢索性能,已經(jīng)成為一個非常具有吸引力的研究方向。因此,在本文中我們將嘗試將類別信息融入到一元語言模型的建模過程中。我們的基本出發(fā)點(diǎn)是這樣的: 同一個詞項(xiàng)w在不同的類別中應(yīng)該具有不同的詞項(xiàng)權(quán)重。即,一個歷史問題Q中的一個詞項(xiàng)w在其所屬的類別Cat(Q)中應(yīng)該與該詞項(xiàng)在其他類別Cat′(Q)中具有不同的詞項(xiàng)權(quán)重。例如,詞項(xiàng)“China”在類別“Travel.AsiaPacific.China”中比在類別“Travel.AsiaPacific.Korea”中出現(xiàn)得比較頻繁,因此將會具有更高的詞項(xiàng)權(quán)重。這里,我們將詞項(xiàng)在不同類別中具有不同的詞項(xiàng)權(quán)重以Dirichlet超參的形式來對一元語言模型中的詞項(xiàng)參數(shù)進(jìn)行加權(quán)。因此,我們將得到一種將類別信息相關(guān)的模型融入到一元語言模型建模過程中的方法,我們稱之為在模型內(nèi)(internally)進(jìn)行一種在詞項(xiàng)層次上(at the word level)的融入方式。這種在詞項(xiàng)層次上的融入方式是具有數(shù)學(xué)推導(dǎo)依據(jù)的。另外,我們在來源于Yahoo! Answers的大量真實(shí)數(shù)據(jù)集上做了實(shí)驗(yàn)比較和分析,實(shí)驗(yàn)結(jié)果表明我們提出的方法比之前在模型外進(jìn)行簡單的線性插值的方法具有非常顯著的性能提升。
本文的組織如下: 第2節(jié)介紹相似問題檢索的相關(guān)工作;第3節(jié)詳細(xì)描述本文提出的融入問題類別信息的方法以及理論分析;第4節(jié)介紹實(shí)驗(yàn)內(nèi)容與結(jié)果討論;最后第5節(jié)進(jìn)行總結(jié)并提出一些未來工作。
近年來,社區(qū)問答系統(tǒng)中的相似問題檢索已經(jīng)被研究人員進(jìn)行了廣泛的研究。之前的許多工作主要集中在使用基于翻譯的方法[5-8]、基于潛性話題模型的方法[1,9]以及基于句法樹匹配的方法[10]來緩解查詢問題和歷史問題之間的詞匯鴻溝問題。此外,Ming等人在文獻(xiàn)[4]中提出了一種利用類別信息的詞項(xiàng)賦權(quán)的方法來提高在某一特定類別中的問題檢索性能。Cao等人在文獻(xiàn)[2-3]中分別提出了不同的策略使用問題的類別信息來提高相似問題檢索的性能。Cai等人在文獻(xiàn)[1]中學(xué)習(xí)潛性話題模型時,也融入了問題的類別信息以進(jìn)一步提高相似問題檢索的性能。
由于本文的主要工作是研究一種新的使用類別信息的方法來提高相似問題檢索的性能。特別地,我們是在一元語言模型建模的框架下融入問題的類別信息。因此,我們將詳細(xì)介紹在文獻(xiàn)[2]中所提出的在一元語言模型框架下的二級平滑的方法: 首先計(jì)算出類別的語言模型,并使用背景語言模型進(jìn)行平滑;接著計(jì)算問題的語言模型,并使用平滑后的類別語言模型進(jìn)行平滑。給定一個查詢問題q和一個歷史問題Q(其葉子類別為Cat(Q)),使用二級平滑的方法的排序函數(shù)如式(1)所示。
其中,λ和β是兩個平滑參數(shù)。如果令β=1,排序函數(shù)將退化為沒有使用類別信息而僅使用Jelinek-Mercer(JM)平滑[11]的一元語言模型。Pml(w|Q)、Pml(w|Cat(Q))、Pml(w|Coll)分別為詞項(xiàng)w在歷史問題Q、葉子類別Cat(Q)以及整個問題集合Coll中的最大似然估計(jì)。
從公式(1)中我們可以看出,該方法是將平滑后的類別語言模型與原始?xì)v史問題的語言模型在模型間進(jìn)行一種在詞項(xiàng)層次上的簡單的線性插值。然而,在本文的工作中,我們將提出一種新的將類別信息融入到一元語言模型建模過程中的方法,該方法可以看作是在模型內(nèi)進(jìn)行一種在詞項(xiàng)層次上的融入方式。
在這一節(jié)里,我們將首先簡單回顧一下一元語言模型建模的方法,緊接著將詳細(xì)介紹我們提出的方法,最后我們還將給出本文方法優(yōu)于二級平滑方法的理論分析。
一元語言模型在之前的相似問題檢索的研究中[3, 5, 7]已經(jīng)被廣泛的采用。該模型的基本想法是這樣的: 首先為每一個歷史問題估計(jì)一個語言模型,然后根據(jù)所估計(jì)的語言模型來分別計(jì)算查詢似然以對歷史問題進(jìn)行排序。
其中,c(w,q)為詞項(xiàng)w在查詢問題q中的詞頻。
為了避免零概率估計(jì)問題,人們通常將所估計(jì)的語言模型與背景語言模型使用一些不同的策略來對參數(shù)估計(jì)進(jìn)行平滑[11]。
接下來,我們將詳細(xì)介紹將類別信息融入到一元語言模型建模過程中的方法。
我們的基本出發(fā)點(diǎn)是這樣的: 同一個詞項(xiàng)w在不同的類別中應(yīng)該具有不同的詞項(xiàng)權(quán)重。即,一個歷史問題Q中的一個詞項(xiàng)w在其所屬的類別Cat(Q)中應(yīng)該與該詞項(xiàng)在其他類別Cat′(Q)中具有不同的詞項(xiàng)權(quán)重。例如,詞項(xiàng)“virus”在類別“Computers &Internet.Security”中比在類別“Computers &Internet.Software”中出現(xiàn)得比較頻繁,因此將會具有更高的詞項(xiàng)權(quán)重,我們將這種與類別相關(guān)的詞項(xiàng)權(quán)重看作是詞項(xiàng)的先驗(yàn)知識。特別地,在本文中我們將詞項(xiàng)w在類別Cat(Q)上的語言模型P(w|θCat(Q))作為詞項(xiàng)w在該類別上的權(quán)重。我們將尋找一個能夠更好地刻畫詞項(xiàng)在不同類別中具有不同權(quán)重的方法留作未來工作。
通過使用經(jīng)驗(yàn)貝葉斯分析,我們可以使用詞項(xiàng)參數(shù)分布的先驗(yàn)分布來表達(dá)對詞項(xiàng)的先驗(yàn)知識,而詞項(xiàng)參數(shù)分布的共軛分布通常被用來表示這種先驗(yàn)分布。多項(xiàng)式分布的共軛分布是Dirichlet分布。于是,我們將向θQ引入超參為u=(u1,u2,…,u|V|)的Dirichlet先驗(yàn)分布,如式(14)所示。
引入Dirichlet分布后,θQ的后驗(yàn)分布為式(5)。
有了上述θQ的后驗(yàn)分布后,詞項(xiàng)參數(shù)的估計(jì)可表示為式(6)。
同樣,為了避免零概率估計(jì)問題,我們將進(jìn)一步使用背景語言模型P(w|Coll)來對上述模型進(jìn)行平滑。特別地,我們將使用基于整個歷史問題集的Dirichlet先驗(yàn)(μP(w1|Coll),μP(w2|Coll),…,μP(w|V||Coll)來進(jìn)行平滑。于是,我們得到如下平滑后的基于類別先驗(yàn)信息的語言模型的參數(shù)估計(jì):
需要特別注意的是,從公式(7)中我們可以看出,平滑后的基于類別先驗(yàn)信息的語言模型的詞頻可以看成分別由文檔層次的詞頻c(wi,Q)、類別層次的偽詞頻λCatP(wi|θCat(Q))以及文檔集層次的偽詞頻μP(wi|Coll)組成。如果令λCat=0,公式(7)所示的排序函數(shù)將會忽略問題的類別信息,從而退化為使用Dirichlet平滑的一元語言模型[11]。
最后,在查詢似然語言模型的框架下,使用平滑后的基于類別先驗(yàn)信息的語言模型的排序函數(shù)如式(8)所示。
接下來,我們將通過理論分析來探討本文所提的方法要優(yōu)于文獻(xiàn)[2]中提出的二級平滑方法的原因。對式(1)、(7)進(jìn)行變形,分別得到式(9)、(10):
從式(9)、(10)中可以看出,本文提出的平滑后的基于類別先驗(yàn)信息的模型在公式形式上類似于式(9)中的二級平滑的方法,其中:
2) 若β≠1,λCat≠0,公式(10)中與類別相關(guān)的詞項(xiàng)權(quán)重信息(類別語言模型)以及背景語言模型的系數(shù)均隨著問題長度|Q|的變化而進(jìn)行動態(tài)的調(diào)整,而在公式(9)中所對應(yīng)的系數(shù)對每個問題都是固定的。因此,本文所提方法在理論上是要優(yōu)于二級平滑方法的。在實(shí)驗(yàn)中我們也將看到本文方法的檢索性能要優(yōu)于文獻(xiàn)[2]中提出的二級平滑方法。
4.1.1 基準(zhǔn)方法
為了評估基于類別先驗(yàn)信息的語言模型的檢索性能,我們使用以下三類基準(zhǔn)方法:
1) LM: 未考慮類別信息的一元語言模型。在實(shí)驗(yàn)中,我們將分別給出使用JM平滑和Dirichlet平滑的實(shí)驗(yàn)結(jié)果,分別記為LMJM和LMDir。
2) LM@OptC: 該方法僅在查詢問題在Yahoo! Answers中由用戶指定類別中使用一元語言模型進(jìn)行檢索,其中我們只使用JM平滑方法來平滑這里的一元語言模型。
3) LM@LS: 在文獻(xiàn)[2]中提出的二級平滑的方法。
4.1.2 數(shù)據(jù)集
我們采用在之前使用類別信息來增強(qiáng)相似問題檢索的先驅(qū)工作[2-3]中所公開的采集于真實(shí)社區(qū)問答系統(tǒng)Yahoo! Answers的數(shù)據(jù)集*http://homepages.inf.ed.ac.uk/gcong/qa/。該數(shù)據(jù)集包含252個查詢問題、1 373個作為查詢的標(biāo)準(zhǔn)答案的相關(guān)歷史問題。在實(shí)驗(yàn)中,我們采用以下過程來對所有的問題進(jìn)行預(yù)處理: 所有問題均小寫化,使用常用的418個停用詞表來去除所有的停用詞。經(jīng)過預(yù)處理后,我們得到最終的含有3 111 219個問題的歷史問題庫,該問題庫包含26個一級類別,1 262個葉子類別。每個問題屬于唯一一個葉子類別。
4.1.3 評價(jià)指標(biāo)
我們采用以下兩個常用的評價(jià)指標(biāo)來評估所有方法的檢索性能: Mean Average Precision (MAP)、Precision@10 (P@10)。系統(tǒng)返回的相關(guān)問題越靠前,MAP分值越高; 而P@10則反映了系統(tǒng)返回的前10個候選問題中相關(guān)的問題個數(shù)所占的比例。另外,我們還使用pairedt-test (P<0.05)來做統(tǒng)計(jì)顯著性檢驗(yàn)。
在實(shí)驗(yàn)中,需要設(shè)置許多參數(shù)。同文獻(xiàn)[2],將公式(1)中的β設(shè)為1、λ設(shè)為0.2,從而得到LMJM;將公式(1)中的β設(shè)為0.2、λ設(shè)為0.2,從而得到LM@LS。
在LMDir中,我們將公式(7)中的λCat設(shè)為0,然后分別使用1,2,3,…,20,30,40,50來調(diào)節(jié)Dirichlet平滑的參數(shù)μ。如圖1所示,當(dāng)μ>5時,MAP值相對比較高且穩(wěn)定;當(dāng)3≤μ≤11時,P@10值相對比較高,而當(dāng)μ>11時,P@10值便快速下降。因此,最好的參數(shù)μ的取值在5~11之間,這里的結(jié)論與傳統(tǒng)的在TREC數(shù)據(jù)集上的Dirichlet參數(shù)的設(shè)置[11](在500~2 500之間)大不相同。其主要原因可能是因?yàn)樵趩栴}檢索中歷史問題都非常短,而傳統(tǒng)檢索任務(wù)中所使用的TREC數(shù)據(jù)并不是這樣的。特別地,接下來我們將參數(shù)μ固定設(shè)為10。
圖1 問題檢索中使用Dirichlet平滑的一元語言模型對參數(shù)μ的敏感性分析
在基于類別先驗(yàn)信息的語言模型中,參數(shù)λCat為最重要的參數(shù)。該參數(shù)控制著類別信息所帶來的先驗(yàn)知識所占的比重。在實(shí)驗(yàn)中,我們使用1,2,3,…,20來調(diào)節(jié)參數(shù)λCat。圖2展示了基于類別先驗(yàn)信息的語言模型對參數(shù)λCat的敏感性分析??梢钥闯觯?dāng)7≤λCat≤15時,MAP的取值比較高;而當(dāng)2≤λCat≤8時,P@10的取值比較高,當(dāng)λCat>8時,P@10的取值逐漸下降。因此,在接下來的模型比較中,我們?nèi)ˇ薈at=7作為最好的模型參數(shù)。
表1為使用不同的檢索方法進(jìn)行相似問題檢索的性能比較結(jié)果。可以得出以下結(jié)論:
表1 不同問題檢索方法的結(jié)果比較
圖2 基于類別先驗(yàn)信息的語言模型對參數(shù)λCat的敏感性分析
1) 在我們的實(shí)驗(yàn)配置中,使用Dirichlet平滑的一元語言模型比使用JM平滑的一元語言模型具有非常顯著的提高(第1行vs. 第2行)。
2) 僅在查詢問題所屬類別中使用一元語言模型進(jìn)行檢索的結(jié)果并不比沒有考慮類別信息的一元語言模型的結(jié)果好(第3行 vs. 第1,2行)。這一結(jié)果與之前的工作[2-3]所報(bào)告的結(jié)果一致。其主要原因是因?yàn)橐恍┫嚓P(guān)問題并不僅僅存在于查詢問題所屬類別中,往往還會存在于一些其他的類別中。
3) 當(dāng)使用文獻(xiàn)[2]中所提出的二級平滑方法時,實(shí)驗(yàn)結(jié)果可以非常顯著地提升問題檢索的性能(第4行 vs. 第1,2行)。該結(jié)果也同樣與之前的工作[2-3]所報(bào)告的結(jié)果一致。
4) 當(dāng)使用本文所提出的方法時,實(shí)驗(yàn)結(jié)果在MAP和P@10上均比二級平滑方法的結(jié)果具有進(jìn)一步的提升,并且具有統(tǒng)計(jì)顯著性的提高。
在本文中,我們提出了一種新的基于問題類別先驗(yàn)信息的語言模型來提高社區(qū)問答中相似問題檢索的性能。該方法具有嚴(yán)格的數(shù)學(xué)推導(dǎo)依據(jù)。在來源于Yahoo! Answers的真實(shí)的大量數(shù)據(jù)集上做了實(shí)驗(yàn)比較和分析,實(shí)驗(yàn)結(jié)果表明我們提出的方法比之前在模型外進(jìn)行簡單的線性插值的方法具有非常顯著的性能提升。在未來的工作中,我們將尋找一個能夠更好地刻畫詞項(xiàng)在不同類別中具有不同權(quán)重的方法;另外,我們還將嘗試將問題的答案信息融入到本文所提的檢索框架中,以進(jìn)一步提升相似問題檢索的性能。
[1] Li Cai, Guangyou Zhou, Kang Liu, et al. Learning the latent topics for question retrieval in community qa[C]//Proceedings of the IJCNLP, Chiang Mai, Thailand: Asian Federation of Natural Language Processing, 2011: 273-281.
[2] Xin Cao, Gao Cong, Bin Cui, et al. The use of categorization information in language models for question retrieval [C]//Proceedings of the CIKM, Hong Kong, China: ACM, 2009: 265-274.
[3] Xin Cao, Gao Cong, Bin Cui, et al. A generalized framework of exploring category information for question retrieval in community question answer archives [C]//Proceedings of the WWW, Raleigh, North Carolina, USA: ACM, 2010: 201-210.
[4] Zhao-Yan Ming, Tat-Seng Chua, Gao Cong. Exploring domain-specific term weight in archived question search[C]//Proceedings of the CIKM, Toronto, ON, Canada: ACM, 2010: 1605-1608.
[5] Jiwoon Jeon, W Bruce Croft, Joon Ho Lee. Finding similar questions in large question and answer archives[C]//Proceedings of the CIKM, Bremen, Germany: ACM, 2005: 84-90.
[6] Jung-Tae Lee, Sang-Bum Kim, Young-In Song,et al. Bridging lexical gaps between queries and questions on large online q&a collections with compact translation models[C]//Proceedings of the EMNLP, Honolulu, Hawaii: Association for Computational Linguistics, 2008: 410-418.
[7] Xiaobing Xue, Jiwoon Jeon, W Bruce Croft. Retrieval models for question and answer archives[C]//Proceedings of the SIGIR, Singapore, Singapore: ACM, 2008: 475-482.
[8] Guangyou Zhou, Li Cai, Jun Zhao, et al. Phrase-based translation model for question retrieval in community question answer archives[C]//Proceedings of the ACL-HLT, Portland, Oregon, USA: Association for Computational Linguistics, 2011: 653-662.
[9] Zongcheng Ji, Fei Xu, Bin Wang, et al. Question-answer topic model for question retrieval in community question answering[C]//Proceedings of the CIKM, Maui, Hawaii, USA: ACM, 2012: 2471-2474.
[10] Kai Wang, Zhaoyan Ming, and Tat-Seng Chua. A syntactic tree matching approach to finding similar questions in community-based qa services[C]//Proceedings of the SIGIR, Boston, MA, USA: ACM, 2009: 187-194.
[11] Chengxiang Zhai and John Lafferty. A study of smoothing methods for language models applied to ad hoc information retrieval[C]//Proceedings of the SIGIR, New Orleans, Louisiana, United States: ACM, 2001: 334-342.
[12] John Lafferty and Chengxiang Zhai. Document language models, query models, and risk minimization for information retrieval[C]//Proceedings of the SIGIR, New Orleans, Louisiana, United States: ACM, 2001: 111-119.