?

面向健康問答社區的語義檢索技術研究與分析

2017-03-15 12:30范橋青方鈺
電子技術與軟件工程 2017年2期

范橋青++方鈺

摘 要 本文以Axiomatic檢索模型為基礎,利用Word2Vec在健康問答數據集上訓練出的詞向量來衡量詞語語義相似度,來實現對問答數據的語義檢索。此外,實驗對比了不同的詞義相似度計算方法在不同數據集下的檢索效果,并分析了使用外部詞典作為詞義相似度計算方法時存在不足的原因,結果表明本文的檢索方法能夠有效地提升檢索準確率。

【關鍵詞】語義檢索 Word2Vec 詞向量 自動問答

1 概述

健康問答社區中存在大量重復冗余的數據,構建自動問答系統的第一步就是從這些眾多的問題中檢索出相關信息。目前工業中使用的基于詞形的檢索技術[1]在海量數據處理上存在諸多不足,尤其是在揭露信息的語義上存在局限性。比如在健康問答社區中,存在著許多義似而形不似的問題:“有什么減肥建議?”和“怎么瘦身?”,再加上用戶在提問時大量使用口語化的詞語,使得傳統的基于詞形的檢索技術在這類信息的檢索上略顯無力;另外又由于健康問答領域中的信息專業性強,很多專業詞語在語義詞典[2-3]中并沒有編錄多少同義詞,甚至沒有被收錄。因此,一般的語義檢索技術使用在健康問答領域乏善可陳。

2 相關工作

目前,語義檢索領域的研究主要集中在本體技術、語義詞典和主題模型上:

本體概念源自于哲學中的本體論,是對事物原樣及其自身的描述,而后被借鑒到計算機領域。Studer根據前人的研究將本體拆解成了四層含義:概念模型、明確、形式化和共享[2]。借此,諸多以本體技術為基礎的檢索技術出現[3-5]。然而本體知識庫的建立需要多位領域專家的參與,面對海量的健康問答社區數據源構建一套知識庫無疑是一件相當巨大的工程。

同義詞詞典為每一個被收錄的詞維護了相關的語義信息,代表有WordNet[6]和HowNet[7]。語義詞詞典對檢索時關鍵詞的拓展起到了重要的作用,同時劉群等人提出了以HowNet為基礎的詞語相似度計算方法[8],為中文詞義相似度的計算填補了空白。但同義詞詞典存在一個巨大的缺陷:收錄的詞有限。對于不存在于詞典中的詞,無法衡量它們的相似度,如上述問句中的“瘦身”,因為沒有被收錄,所以就無法衡量“瘦身”和“減肥”之間的語義關系,從而兩個語義上相似的問句也因核心詞的不相似而變得不相關。

主題模型是一種潛在語義分析技術,利用統計學方法,可以識別出大規模文檔集中的主題信息。主題模型會訓練得到兩個模型:文檔-主題模型和主題-詞模型,呂亞偉等人[9]就以此提出了利用主題信息作為特征的詞語相似度計算方法。但是,主題模型在面對文本的動態增長時,找到合適的主題投射緯數也愈顯困難。

Word2Vec是由谷歌公司以Mikolov等人[10-11]的工作為基礎推出的詞向量訓練工具。對于給定的語料庫,Word2Vec可以通過神經網絡模型將文本中的詞映射到一定維度的向量上,訓練出的詞向量由于捕獲了文本的上下文信息不僅能夠很好地反映詞義信息,而且解決了一詞多義的問題。所以,基于以分析本文將詞向量作為衡量語義的主要手段并展開工作。

3 Word2Vec原理

詞向量的概念源自于Hinton中的Distributed representation[12],被Bengio應用于其所提的神經概率語言模型中[13],是神經網絡為了學習某個語言模型而得到的中間產物。最早的詞向量one-hot representation不僅會因語料庫的增大帶來維數災難的問題,而且也不能很好的刻畫詞語間的關系。

Word2Vec是一款詞向量訓練工具,它有兩種訓練模型:CBOW和Skip-gram。CBOW是通過上下文詞預測當前詞,Skip-gram則是通過當前詞來預測上下文,另外還有Hierarchical Softmax和Negative Sampling兩種訓練方法。不同于Bengio的神經概率語言模型的處理方式,Mikolov在映射層是采用向量相加的方式,而且輸出層采用了Huffman樹形結構。以基于Hierarchical Softmax的CBOW為例,其結構圖如圖1所示。

Hierarchical Softmax的輸出層采用了上述的樹形結構,context(w)表示和詞w前后緊鄰的相關詞,v(context(w)k)表示相關詞k的詞向量,θkw是詞k的huffman樹編碼值1-0,如果Xw向量預測到詞3,則需要經過三個分支,每次分支都是一次二分類。Word2Vec中編碼1被定義成負類,編碼0定義成正類,根據邏輯回歸,一個節點被分到正類中的概率是:

Hierarchical Softmax算法對詞典中的每一個詞,算法輸出層必然存在一條導向這個詞的二分類路徑,用J表示整個路徑長度,則這個路徑中所有節點的分類概率連乘積即為語言模型需要求解的p(w|context(w)):

映射層對所有的輸入向量進行了合并,所以Word2Vec把向量的梯度變化貢獻到了每個向量分量上。

所以從上述分析,可以看出Word2Vec在訓練語言模型的過程中,是捕獲詞了語義信息的:通過周圍單詞預測目標詞的訓練方式很好地反應了目標詞的語義環境,并且以數學向量的形式承載這種語義信息。

4 本文檢索方法

文獻[1]拆解了三種具有代表性的文本檢索模型,并通過具體的實驗數據誘導了若干檢索模型的權重函數和查詢增長函數,提出了一種名為Axiomatic的最優檢索模型:

Q代表查詢詞集,D是候選文本詞集,c(t,Q)表示t在Q中出現的次數,df(t)是包含詞t的文本個數,N是文檔總數,c(t,D)是t 在文檔D中出現的次數,avdl是所有文本詞集個數的平均值。

上述檢索模型在實踐中取得了很好的效果,但由于該公式并沒有很好地刻畫查詢串和被檢索文檔的語義關系,于是黃承慧等人[14]基于以上公式提出了如下改進:

Sim(t,D)表示候選文本詞集D中和目標詞t相似的個數, Sim_df(t)表示語料庫中包含和目標詞t相似詞的文本個數,黃承慧使用WordNet來衡量詞之間的相似性,相似的閾值通過實驗來確定。

WordNet和HowNet作為中英文領域的語義詞典,需要人工不斷完善和補充,在面向處理專業性很強的文本時,會因大量專業詞匯沒有被收錄進詞典而無法計算相似度,比如健康領域中的“alzheimer”和“dementia”、“阿爾茨海默病”和“癡呆”;此外,一詞多義的問題也無法得到很好的解決,比如說“男性”和女性在按照論文[8]實現的計算方式中有0.86的相似程度,而“woman”和“man”在WordNet的開源實現WS4J 中也有0.9的相似程度。從物種的角度來說它們確實是高度相似的,但是從性別的角度來說它們完全代表不同的人種,在本文應用領域下只有“男性”有前列腺疾病,“女性”有婦科病,但按照上述計算模型,“男性”和包含“女性”關鍵詞的婦科疾病相關文檔也會得出很高的分數,這是不合理的。

如果使用詞向量來衡量語義關系,那么在詞向量的訓練過程中,詞向量捕獲了上下文關系,其承載的數據不僅可以綁定“女性”和婦科疾病的關系,而且很好地解決了因詞典收錄不足帶來的語義空白問題。

所以基于以上分析,本文提出使用Word2Vec訓練出的詞向量作為公式(7)衡量詞義相似度的方法:用Vecw=[v1,v2,……,vk]表示詞w的詞向量,k是詞向量的維度大小,那么兩個詞之間的語義距離可以通過余弦相似度計算得到:

5 實驗結果及分析

5.1 實驗結果

本節實驗數據來自于Reuters-21578和120ask。

Ruters-21578是業界廣泛使用的英文文本分類數據集,它有兩種劃分:ModApte和ModWiener。本文采用的是ModApte劃分,訓練集共9603篇文檔,測試集3299篇文檔,按主題信息對其進行分類,主題詞總共135個,測試集中主題詞共92個,實驗是對測試集中的主題詞進行檢索。

120ask是中文健康問答平臺,筆者從中醫內科、肝病、胃腸炎等十個類別下均勻抽取了1000條問答對來構建測試文本集合,并針對每個類別人工構建了10個問題,共計100個測試問題,通過人工標注的方式為每個測試問題標注了相關文本集合。此外,為了保證分詞的正確性,又從搜狗詞庫中搜集了132371條醫學專有名詞,涵蓋藥品名、疾病名、解剖學、藥企名等方面。Word2Vec訓練詞向量使用的是基于Hierarchical Softmax的skip-gram模型,詞向量維度為50,窗口大小設置為5。

Reuters-21578用來驗證算法的普適性,120ask用來驗證算法在本文應用領域性下的有效性,分別對比公式(6)、公式(7)以及本文方法在搜索結果Top10下的準確率。WordNet用于Reuters數據集,使用的是其WS4J實現,Hownet用于120ask數據集,使用的是文獻[8]的開源實現xsimilaity,實驗結果如表1所示。

5.2 分析

由上述實驗結果可知,本文方法在兩個數據集上都取得比較好的效果。

其中,在Reuters數據集上提升了0.3%,這主要受數據集大小影響,訓練出的詞向量表述能力有限。另外從實驗結果中得知,在“acq”這個關鍵詞上Axiomatic準確率只有20%,而本文的方法的準確率則高達60%,而且“acq”這個詞并沒有wordnet收錄,說明詞向量確實對算法起到了一定優化作用。

在120ask數據集上,本文的算法提升效果明顯,主要有以下兩個原因:

(1)用于訓練詞向量的語料庫豐富,訓練出的詞向量表述能力強。

(2)健康問答領域的數據集專業性強,領域明顯,很多專業名詞有多種口語化表述,比如“痤瘡”和“青春痘”、“痘痘”等等,雖然“痤瘡”沒有被收錄進語義詞典,但是通過訓練出的詞向量,很容易找出和這些專業詞上下文相關的其它詞,這就大大提升檢索結果。

此外,還可以注意到基于語義詞典的效果提升不是很明顯,甚至沒有經典算法好。我們從公式(7)出發,深入分析其子項Sim_df(t)(包含和詞t相似的詞的文檔數量),其結果如表2所示。

發現基于HowNet的詞語相似度計算方式在本文的應用背景下存在不合理性,這主要有以下兩個原因:

(1)文獻[8]提出的詞義相似度計算方式是以HowNet的概念和義原為基礎,一個詞可以由多個概念表征,即一詞多義,而且最大的概念相似度值會作為詞語相似度值返回。

(2)概念相似度計算依賴義原,所以義原的相似度值作為主要部分制約著整個詞語的相似度值。以詞“全身”和“胸腔”為例,概念中都有基本義原“部件”,按照上述方式在其它義原、關系義原和關系符號為空的情況計算得到的相似度值為1.0,這是不合理的。雖然HowNet對“全身”和“胸腔”標注了“部件”這一基本義原,但缺乏更細致的其它義原,即缺乏更細致的語義劃分,導致了在本文應用背景下效果較差的原因,同樣這種原因也存在于WordNet中。

所以綜上所述在本文應用背景下,使用Word2Vec訓練出的詞向量作為衡量詞語語義關系并融合進公式(7)在語義檢索上是具有一定的可行性的。

6 總結和展望

本文一開始簡單介紹了當前語義檢索的研究現狀,并以此引出本文的研究內容;而后以Axiomatic檢索模型為基礎,結合Word2Vec在健康問答數據集上訓練出的詞向量來衡量詞語語義相似度,從而實現對問答數據的語義檢索;最后在不同的實驗數據集上對本文算法的可行性就行了驗證,并對實驗結果進行了詳細分析,特別是在使用語義詞典來計算詞義相似度時所帶來的問題。

為進一步提高實驗結果,下一步將重點放在詞向量的訓練上,擬通過更廣泛的數據集來訓練得到一個更完備的詞向量,同時對檢索的時間進行優化。

參考文獻

[1]Fang H,Zhai C X.An exploration of axiomatic approaches to information retrieval[C]//SIGIR 2005: Proceedings of the,International ACM SIGIR Conference on Research and Development in Information Retrieval,Salvador, Brazil, August. 2005:201-243.

[2]Studer R,Benjamins V R,Fensel D. Knowledge engineering:Principles and methods[J].Data & Knowledge Engineering,1998,25(1-2):161-197.

[3]劉超,李偉.基于本體語義檢索技術研究[J].自動化技術與應用,2014,33(02):9-12.

[4]付苓,崔新春,喬鴻.基于本體的語義檢索研究[J].情報科學,2010(09):1384-1387.

[5]陳泳,林世平.基于本體的語義檢索技術[C]//全國智能信息網絡學術會議,2006.

[6]Miller G A.WordNet:a lexical database for English[J].Communications of the Acm,1995,38(11):39-41.

[7]董振東,董強.知網和漢語研究[J].當代語言學,2001,3(01):33-44.

[8]劉群,李素建.基于《知網》的詞匯語義相似度計算[J].中文計算語言學,2002.

[9]呂亞偉,李芳,戴龍龍.基于LDA的中文詞語相似度計算[J].北京化工大學學報自然科學版,2016,43(05):79-83.

[10]Mikolov T,Chen K,Corrado G,et al.Efficient estimation of word representations in vector space[J]. arXiv preprint arXiv:1301.3781, 2013.

[11]Mikolov T,Sutskever I,Chen K,et al.Distributed representations of words and phrases and their compositionality[C]//Advances in neural information processing systems.2013:3111-3119.

[12]Rumelhart D E,Hinton G E,Williams R J.Learning representations by back-propagating errors[M]// Neurocomputing:foundations of research.MIT Press,1986:533-536.

[13]Bengio Y,Schwenk H,Senécal J,et al.Neural Probabilistic Language Models[J].Journal of Machine Learning Research,2003,3(06):1137-1155.

[14]黃承慧,印鑒,陸寄遠.一種改進的Lucene語義相似度檢索算法[J].中山大學學報(自然科學版),2011,50(02):11-15.

作者單位

同濟大學電子與信息工程學院計算機科學與技術系 上海市 201804

91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合