曹莉麗,王未央
(上海海事大學信息工程學院,上海 201306)
融合詞向量的多特征問句相似度計算方法研究
曹莉麗,王未央
(上海海事大學信息工程學院,上海 201306)
問句的相似度計算是自動問答系統的關鍵部分,而現有的計算模型準確率較低。為此,應用Word2vec建立帶有語義的詞的向量表示,提出一種利用詞向量距離,結合詞項權重、句子長度等因素的問句相似度計算方法。該方法綜合考察兩個句子的語義信息,句法信息,詞的表層信息來測量問句的相似度。實驗部分設計四種問句相似度計算方法,結果表明該方法提高相似度計算的準確率。
詞向量;依存關系;問句相似度;詞項權重
常見的句子相似度算法有基于關鍵詞表層信息、基于句法信息以及基于語義信息等的計算模型[1-2]。基于關鍵詞表層信息的方法,考慮了詞形、句長、詞序等信息,但該方法沒有考慮語義、句法信息。同時在關鍵詞抽取過程中把動詞、名詞、形容詞等實詞作為關鍵詞[3],忽略了句法上相連詞項間的關聯信息以及句子整體的結構信息。基于句法分析的方法,按依存關系的有效配對計算相似度[4-5],但該方法缺乏語義信息,無法表達語義層面的相似性。基于語義信息的方法,主要有基于《知網》等語義字典的句子相似度計算方法[6-7]。然而該方法需要領域的專家來完善和擴展部分詞語。針對上述情況,本文提出了一種基于詞向量,結合依存路徑信息構建的詞項權重以及句長等因素的問句相似度計算方法。
詞向量作為深度學習模型中一種詞語的分布式表達,它將詞映射到一個低維的向量空間中(通常在幾十到幾百維),常見形式為[0.04733921,0.1250208,0.2233844,0.05134047, ]。其優點主要表現在三個方面:一是可以通過計算詞向量間的距離來更精準的測試詞之間的相似性,例如“南京”、“合肥”和“西醫”三個詞中前兩個詞較為相關,則對應的詞向量距離就較小;二是通過使用較低維度的特征來刻畫詞,可以大幅降低計算的復雜度,從而提高方法的實際應用價值。另外,與語義字典相比,詞向量它可以針對特定的語料進行訓練,既方便領域內詞向量建模,也可以針對不同的語料規模進行靈活擴展。
Word2vec是谷歌2013年發布的詞向量訓練與生成工具,能夠從大規模未經標注的語料中高效地生成詞的向量形式。模型簡單高效,可以以較小的計算量獲取較好的詞向量結果。Word2vec提供了CBOW模型和Skip-gram 模型的實現[8-9]。
CBOW模型是通過計算當前詞wt的上下文Context(wt)來預測當前詞出現概率,數學表達式為:CBOW模型訓練目標是其對數似然函數,如公式(1)所示,其中,wt為當前詞,為wt的上下文,D為語料集。

圖1 CBOW模型

圖2 Skip-gram模型

如圖2所示,區別于CBOW模型,Skip-gram模型通過當前詞wt來預測上下文wi出現的概率。數學表達式為:p(wi|wt),其中 t-k≤i≤t+k且 i≠k。Skipgram模型訓練目標如公式(2)所示,其中,wt為當前詞,D為語料集,k為上下文窗口大小。

為了提高訓練速度,Word2vec通常利用結合霍夫曼編碼的層次Softmax和負采樣(Negative Sampling)兩種算法對條件概率函數進行構造,進而我們可以得到具體的對數似然函數。然后通過對得到的對數似然函數求最大化,訓練出模型參數,從而得到詞向量。
任何句子都是由關鍵詞語和修飾詞語構成,各個詞語對句子主題的貢獻程度不同。因此本文采用了文獻[10]中提出的基于依存路徑的詞項賦權方法,結合詞項概率,構建詞項權重表。
2.1 詞項關聯度
首先,選用哈工大社會計算與信息檢索研究中心研制的語言技術平臺(LTP)[11]對句子進行依存句法分析,將其轉化為一棵依存句法分析樹。忽略它的根節點和弧的指向,我們可以得到一個無向的依存關系圖。例如,“十月份的成都有什么推薦的景點嗎?”,相應的無向依存關系圖如圖3所示。

圖3 無向依存關系圖
由圖3可知,“推薦”和“景點”直接相連,依存路徑長度為1。而“推薦”和“十月份”相距較遠,依存路徑長度為 4。依存路徑的長短反映了依存關系的強弱,因此我們從詞項間的依存路徑出發,引入了依存關聯度的概念。詞項依存度如公式(3)所示。其中,dr_pa th_len(ti,tj)表示詞語ti和tj間的依存路徑長度。
然后,考慮到詞項間的統計關聯性對詞項關聯度的影響,采用了統計學上常用方法——點互信息[12]。詞項緊密度如公式(4)所示:

最終詞項關聯度如公式(5)所示。其中,λ為可調節因子。

2.2 詞項權重賦值
算法1詞項權重分配算法

在問句相似計算過程中,問句A對B的相似度并不等價于B對A的相似度。而我們通常采用求二者均值[13]的方式求最終相似度Sim( )A,B。結合本文的詞項權重,問句相似度計算方法如下:
(1)對句子A、B進行分詞、去停用詞后得到關鍵詞集分別為 A(A1,A2, Am),B(B1,B2, Bn)
(2)利用詞向量,對關鍵詞集A、B的詞項做相似度計算,得到相似度矩陣:

(3)取出相似度矩陣中每一行,每一列的最大值,結合本文的詞項權重,最終相似度計算如公式(6)所示:

其中,m、n分別表示關鍵集A、B中的詞項個數。ai表示詞項Ai在關鍵詞集B中最相似詞的相似度值。bj同理。wi,wj分別表示問句A、B中相應詞項的權重。
然而,我們發現,當問句A與B的長度相差很大時,由公式(6)得出的相似度計算結果不能準確地反映二者的相似性。
例1 問句A:“九寨溝好玩嗎?”。分詞結果:“九寨溝/好玩/嗎”。
推薦理由:這是一部專門講述英國杰出女性的歷史讀物,一份獻給所有年齡女性的勵志禮物。由BBC知名記者、《女性時代》主持人精心撰寫,熔熱情與質疑于一爐,優雅與奮斗交相輝映,讓沉積于歷史暗河的女性經驗浮出水面。
問句B:“十月份我想去成都玩一周,考慮到天氣,除了九寨溝,還有什么景點好玩的嗎?”。
分詞結果:“十月份/我/想/去/成都/玩/一/周/考慮/到/天氣/除了/九寨溝/還有/什么/景點/好玩/的/嗎”。
根據上文提出的計算方法,Sim(AB)=1.0,Sim(BA)=0.14,得到問句 A、B的最終相似度為 0.57,這樣的結果并不能準確的表達兩句的相似關系。這是因為兩句中所包含的詞語數量相差過大,且長句中詞語語義信息更強。因此,本文引入長度調整因子α和β,得到改進的相似度計算公式(7):
其中lenA、lenB分別表示問句A、B的詞數。使用公式(7)求得例1中Sim(A,B)=0.25,表明考慮句長因素后的計算模型更能合理的表達問句的相似性。
4.1 實驗語料準備
詞向量訓練語料:使用搜狗實驗室提供的1.65G新聞語料和百度知道爬取的旅游領域64357個問答對作為訓練語料。
問句相似度實驗語料:從百度知道爬取的旅游領域64357個問答對中,隨機選取150個問句作為測試集,并人工構建150個對應的相似問句。將人工構建的150個問句和旅游領域64357個問句混合作為實驗所需的訓練集。
4.2 評價指標
本文采用P@N和MRR(Mean Reciprocal Rank)作為評價參數,P@N表示正確結果出現在前 N個結果中的比例,MRR表示的是返回結果中第一個相關結果所在位置的平均倒數。
4.3 實驗及結果分析
實驗中相似度閾值取 0.65。詞項權重賦值中參照文獻[12],b取 5,λ取 0.8,α0取 0.7。實驗過程中,加上本文提出的問句相似度算法,共有四種算法參與對比分析,分別為:方法1,根據詞性賦權值,采用基于語義字典的算法計算相似度[4];方法2,應用本文提出的賦權機制為詞項賦權值,采用基于語義字典算法計算相似度;方法3,應用本文提出的賦權機制為詞項賦權值,融合詞向量計算相似度;方法4,采用本文方法。實驗結果如表1所示:

表1 4種算法的P@N參數和MRR參數對比
方法2相比方法1,應用了本文提出的詞項權重,由表可以看出,p@1、p@5和MRR的效果較為明顯,主要是應用了本文提出的詞項賦權機制后,問句中的重要詞項得到了較高的權重,最終的結果必然會與問句的含義相吻合。方法3相比方法2,融合了詞向量,由表可以看出,p@1、p@5和MRR的效果均有一定提升,因為本文提出的基于 Word2vec的方法可以充分挖掘與問句詞有語義關聯的詞。但是效果并不是很明顯,主要是由于問答系統中用戶提出的問題以口語化表達為主,而本文訓練Word2vec的語料主要為正式的新聞數據。這種情況下,顯然,如果添加更多口語化的訓練文本,其結果提升會更明顯一些。但是總的來說,可以看出融合詞向量的方法是有效的。方法4相比方法3,添加了長度調節因子,由表可以看出,p@1、p@5和MRR的效果提升不是很明顯,但仍有一定提升,說明引入長度調節因子是有效的。上述方法中,p@10提升效果均不是很明顯,主要原因是由于本文采用的測試集數量比較有限。
本文提出了一種融合詞向量的多特征問句相似度計算模型。其中在詞向量訓練過程中,利用Word2vec訓練語義資源來充分挖掘句子的語義信息,有效地彌補上述模型中缺少語義信息的不足。在計算詞項權重過程中,區別于以往的詞性賦權機制,本文引入句法依存信息,綜合考慮了詞項間的依存路徑和詞項概率這兩方面的信息。多角度的實驗結果表明,該模型提高了問句相似度計算的準確率。
[1]周法國,楊炳儒.句子相似度計算新方法及在問答系統中的應用[J].計算機工程與應用,2008,44(1):165-167.
[2]呂學強,任飛亮,黃志丹,等.句子相似模型和最相似句子查找算法[J].東北大學學報(自然科學版),2003,24(6):531-534.
[3]周永梅,陶紅,陳姣姣,等.采用基于語義字典算法計算相似度[J].計算機技術與發展,2012,22(5):75-78.
[4]李彬,劉挺,秦兵,等.基于語義依存的漢語句子相似度計算[J].計算機應用研究,2003,20(12):15-17.
[5]吳佐衍,王宇.基于HNC理論和依存句法的句子相似度計算[J].計算機工程與應用,2014,50(3):97-102.
[6]程傳鵬,吳志剛.一種基于知網的句子相似度計算方法[J].計算機工程與科學,2012,34(2):172-175.
[7]劉宏哲.一種基于本體的句子相似度計算方法[J].計算機科學,2013,40(1):251-256.
[9]Bengio Y.Deep Learning of Representations:Looking Forward[M].Statistical Language and Speech Processing.Springer Berlin Heidelberg,2013:1-37.
[8]Mikolov T,Chen K,Corrado G,et al.Efficient Estimation of Word Representations in Vector Space[J].Computer Science,2013.
[9]Yu M,Dredze M.Improving Lexical Embeddings with Semantic Knowledge[C].Meeting of the Association for Computational Linguistics,2014:545-550.
[10]張偉男.社區型問答中問句檢索關鍵技術研究[D].哈爾濱工業大學,2014.
[11]Che W,Li Z,Liu T.LTP:A Chinese Language Technology Platform.[J].Journal of Chinese Information Processing,2010,2(6):13-16.
[12]Rogati M,Yang Y.Resource Selection for Domain-specific Cross-lingual IR[C].International ACM SIGIR Conference on Research and Development in Information Retrieval.ACM,2004:154-161.
[13]李茹.漢語句子框架語義結構分析技術研究[D].山西大學,2012.
Research on Question Similarity Computation Method of Multi-Feature with Word Embedding
CAO Li-li,WANG Wei-yang
(Department of Information Engineering,Shanghai Maritime University,Shanghai 201306)
Question similarity calculation is the key of the automatic question answering system.Now,the accuracy of question similarity calculation is low.Therefore,presents a question similarity model that takes into account word weight,question length and other factors with semantic word vectors being established using Word2vec.This method comprehensively considers the semantic information,syntactic information and word information of two sentences to calculate the similarity of question sentences.Finally,designs four different question similarity calculation methods,the experimental results show that the method improves the accuracy of question similarity calculation.
曹莉麗(1991-),女,江蘇南通人,在讀碩士研究生,研究方向為數據庫開發與應用
2017-04-10
2017-06-11
1007-1423(2017)17-0055-05
10.3969/j.issn.1007-1423.2017.17.011
王未央(1963-),女,江蘇常熟人,碩士研究生導師,副教授,研究方向為數據處理與挖掘
Word Embedding;Dependency Relationship;Question Similarity;Word Weight