陳淑巧, 邱 東, 江海歡
(重慶郵電大學 理學院, 重慶 400065)
隨著高速發(fā)展的互聯(lián)網(wǎng)時代的到來,網(wǎng)絡已經(jīng)成為人們獲取信息、了解世界的重要方式之一.目前,全球互聯(lián)網(wǎng)用戶總量已經(jīng)超過10億,隨之而來的是互聯(lián)網(wǎng)上文本信息數(shù)量的不斷增加,個人和組織擁有的文本信息數(shù)量也呈幾何級數(shù)增長.因此,如何在日益增長的數(shù)據(jù)流中得到有價值的信息,是目前研究的一個十分重要的課題.
傳統(tǒng)的信息檢索技術,是基于普通集合和布爾邏輯進行檢索,以經(jīng)典集合論和布爾代數(shù)為理論基礎[1],通過將需要檢索的文本信息表示成布爾表達式的形式,與用戶所查詢的表達式進行邏輯比較,進而得到所需的相關文本,采用此方法進行檢索的模型,就是常說的布爾檢索模型[2].由于查詢簡單且容易理解,也是生活中最常見的檢索模型.在傳統(tǒng)的布爾檢索模型中,沒有相關度的概念,這導致檢索結(jié)果不能按照對查詢的相關性進行排序輸出,且檢索出的結(jié)果取決于查詢與文本信息的匹配情況,控制輸出量的難度大.同時,文本信息只有完全匹配時才能將其檢索出來,但是在現(xiàn)實生活中存在大量的模糊性信息,如果使用布爾檢索模型很難得到理想的檢索效果.1989年,Yasushi等[3]等在模糊集合論的基礎上,首次提出了基于詞詞關聯(lián)矩陣的模糊檢索模型.考慮到基于詞詞關聯(lián)矩陣的模糊檢索模型只根據(jù)詞詞之間的相關性,而忽略了查詢詞與整個查詢信息之間的關聯(lián)性,造成“詞不匹配”問題.2000年,Mandala等[4]提出通過引入相似性敘詞表來實現(xiàn)查詢擴展.2007年,馬暉男等[5]在此基礎上,提出了通過使用WordNet之類的語義詞典,在查詢項中加入其相關的同義詞進行模糊查詢擴展.2012年,Liu等[6]等提出利用本體庫,將查詢信息映射成為本體中的概念,來達到語義擴展的目的.
針對“詞不匹配”問題,大部分學者都試圖通過已知標定信息,對相關查詢語句進行擴展,降低該問題對檢索效果的影響.但互聯(lián)網(wǎng)上信息的飛速膨脹,導致大量無標注數(shù)據(jù)的出現(xiàn),如何學習到大規(guī)模無標注信息中有價值的內(nèi)容,成為了一大難題.2006年,Bengio等[7]首次正式提出神經(jīng)網(wǎng)絡語言模型,并在利用該模型學習語言的過程中,提出了詞向量的概念.其采用局部梯度下降對權值進行調(diào)整,但這樣利用非凸目標函數(shù)進行求解會導致局部最優(yōu).2007年,Hinton等[8]提出了利用多層人工神經(jīng)網(wǎng)絡模型,進行逐層訓練的想法,打破了此前神經(jīng)網(wǎng)絡發(fā)展的瓶頸.由于在以往的神經(jīng)網(wǎng)絡語言模型中,只考慮到利用神經(jīng)網(wǎng)絡對語言模型進行建模,而忽略作為模型訓練結(jié)果之一的詞向量,使得詞向量沒有達到很好的效果.2013年,Mikolov等[9]在Hinton的想法上,設計出效果更好的詞向量的CBOW(continuous bag-of-words)模型.利用CBOW模型,可以將無標注的文本信息簡化成向量空間中的向量進行計算,得到向量空間上的相似度,也就是說此模型訓練得到的詞向量不受查詢信息和文本內(nèi)容等標定數(shù)據(jù)稀疏的影響.
本文利用CBOW模型訓練出的詞向量的這一優(yōu)點,以詞向量計算出的相似詞作為查詢信息的擴展項,提出一種對模糊檢索進行基于詞向量的查詢擴展方法,以改善模糊檢索中出現(xiàn)的“詞不匹配”問題.
布爾檢索模型是最傳統(tǒng)也是最成熟的檢索模型,在信息檢索領域中有著廣泛的應用,模糊檢索模型則是在布爾檢索模型的基礎上,結(jié)合模糊集合理論進行改進后的產(chǎn)物[2-3].它定義了查詢語句與相關文獻之間的模糊關系.模糊檢索模型將文本信息與查詢數(shù)據(jù)在一定程度上相關起來,對查詢語句中的每一個詞假設存在一個包含模糊文本信息的集合與之相關.也就是將每一個查詢詞定義為一個模糊集合,集合中的元素是進行檢索的文本信息.檢索文本信息集中的每一篇獨立的文本,對每一個查詢語句中的查詢詞都有一個隸屬度.
1.1基于詞詞關聯(lián)矩陣的模糊檢索
1.1.1構(gòu)建關鍵詞矩陣 詞詞關聯(lián)矩陣[3]是由相關文本信息中提取的關鍵詞與查詢詞之間的語義關系值組成的詞詞矩陣,即以關鍵詞與查詢詞共同組成的集合中的元素作為行、列.假設詞詞關聯(lián)矩陣用Wk×k表示,則k表示集合中元素的個數(shù).矩陣中的元素wij,對應詞i和詞j之間的語義關系值,它表示2個詞之間的語義相似度,為了使其取值范圍在區(qū)間[0,1]內(nèi),使用(1)式進行計算
w
(1)
其中,Nij表示同時含有詞i和詞j的文獻數(shù)量,Ni和Nj分別表示含有詞i和詞j的文獻的數(shù)量.當wij取為0時,表示2個詞之間的語義幾乎完全不相關;當wij取為1時,表示2個詞之間的有最強的相關性.
1.1.2利用關鍵詞矩陣計算隸屬度 對于模糊檢索模型來說,每一個查詢詞都對應一個包含模糊文本信息的集合.令Di表示與詞i相關的模糊文本信息集合,則對于任意一篇獨立的文本信息dj,它隸屬于集合Di的隸屬度Rij[2]用(2)式進行計算
R
(2)
其中,Wik表示詞i和詞k的語義關系值,詞k是獨立文本dj中的詞.⊕是定義如(3)式的模糊算子[3]
(3)
則(2)式,即任意一篇獨立的文本信息dj,它隸屬于集合Di的隸屬度Rij可化簡為:
Rij=1-
(4)
1.1.3轉(zhuǎn)換用戶查詢 通常在檢索時會向計算機輸入一條包含多個查詢詞的查詢語句,傳統(tǒng)的布爾檢索將這些查詢詞之間的關系,用布爾邏輯表達進行替代.而模糊檢索模型則是利用“真值表法”[10],將查詢語句轉(zhuǎn)換成為由極小項組成的主析取范式[3],其中,令Q(h)-表示查詢語句中起否定作用的查詢詞的集合,Q(h)+表示查詢語句中起肯定作用的查詢詞的集合,則任意一篇獨立的文本信息di,隸屬于整個查詢語句的隸屬度Ti(h)為
(5)
其中Rij表示獨立文本信息di對于相應的查詢詞的隸屬度.
詞向量技術是一種通過對語言模型中的詞進行分布式表達的詞表示方法.其在訓練過程中將詞轉(zhuǎn)化成為稠密向量,且該向量對于相似的詞,對應向量間的距離也相對相近,因此,可以利用詞向量來計算詞詞之間的相似度.CBOW模型是Mikolov等[9]在2013年提出一種訓練詞向量的模型.如圖1所示的CBOW模型網(wǎng)絡結(jié)構(gòu),從中可以看出CBOW模型包含3層:輸入層、投影層和輸出層.輸入層為對應輸入上下文的one-hot編碼,投影層將輸入的初始向量進行求和累加,輸出層對應一個樹結(jié)構(gòu),它是以上下文中的詞作為葉子節(jié)點,各詞在語料信息中出現(xiàn)的次數(shù)作為權值構(gòu)造的樹結(jié)構(gòu).CBOW模型的核心思想是在已知當前詞wt的上下文wt-2、wt-1、wt+1、wt+2的情況下預測詞wt.
圖 1 CBOW模型網(wǎng)絡圖
Mikolov等[11]在提出CBOW模型時,分別給出了基于分層Softmax和負采樣技術的2套設計框架來提升最后一層神經(jīng)網(wǎng)絡的效率.本文采用的是負采樣技術,其借鑒了C&W模型[12]中構(gòu)造負樣本和噪聲對比估算(NEG)的方法[13],來提高訓練速度并改善所得詞向量的質(zhì)量.假設需要預測詞w,已知詞w的上下文C(w),則對于已知的C(w),詞w是一個正樣本,其余的詞為負樣本.通過已知上下文C(w)的負樣本對目標函數(shù)(即(6)式)進行最大化
(6)
再利用隨機梯度上升法對(6)式進行優(yōu)化,分別考慮G(w,u)關于θu和xw的梯度計算:
(7)
θu=θu+η[Lw(u)-σ(xTwθu)]xw,
(8)
這樣,達到了增大正樣本概率的同時降低負樣本概率的目的,訓練出優(yōu)質(zhì)的詞向量.
3.1查詢擴展眾所周知,在自然語言中,一個詞語可能表達幾種意義,同樣幾個不同的詞語可能表達相同的意義[14].當進行檢索查詢時,計算機可能不會將包含與輸入的查詢詞意義相同、但詞語不同的文檔返回.查詢擴展便是通過增加與查詢詞有相似語義的詞進行檢索改進查詢效率.本文利用CBOW模型訓練得的詞向量,計算查詢項的相似詞,對查詢項進行擴展,具體步驟如下:
1) 對輸入查詢語句進行分詞、詞性標注.為避免無用信息的干擾,對語句進行去停用詞處理.保留查詢項中的形容詞、副詞及被其修飾的查詢核心詞,將其組成查詢項的關鍵詞集合.
2) 提取關鍵詞集合中相關詞的詞向量.利用空間向量的余弦距離,即通過(9)式計算詞之間的相似度:
sim(X,Y)=cos
其中X(x1,x2,...,xn),Y(y1,y2,...,yn)為空間中任意2個向量,θ為兩向量的夾角.
3) 取與對應詞相似度最大的前N個詞,作為擴展項.
3.2模糊查詢擴展方法的基本流程基于詞向量查詢擴展的模糊檢索方法流程如圖2所示,主要通過一下步驟進行檢索:
1) 構(gòu)建一個大規(guī)模無標注數(shù)據(jù)集,并通過分詞、詞性標注、過濾停用詞進行預處理操作,在此基礎上對處理后的數(shù)據(jù)集采用CBOW模型進行訓練,得到相應的詞向量;
2) 構(gòu)建作為檢索內(nèi)容的文本信息數(shù)據(jù)集,同樣通過分詞、詞性標注、過濾停用詞的預處理操作后,從每一篇文檔中提取20個關鍵詞(這些關鍵詞能大體概括該文章的內(nèi)容);
3) 對查詢語句進行預處理,根據(jù)余弦距離計算出相似度,將查詢項中的每個詞,擴展N個相似詞,并把查詢語句轉(zhuǎn)換為極小項的主析取范式;
4) 利用提取的關鍵詞與擴展后的查詢詞,組成詞詞關聯(lián)矩陣,得到詞與詞之間的關系值,歷遍整個數(shù)據(jù)集,計算出每篇文章隸屬于查詢語句的隸屬度;
圖 2 模糊查詢擴展方法流程圖
5) 排序后輸出相應檢索結(jié)果.
本文設置了2組實驗.第1組實驗,在同一組文本數(shù)據(jù)集下對基于詞向量的模糊擴展檢索和基于詞詞關聯(lián)矩陣的模糊檢索進行綜合對比實驗.第2組實驗,就不同查詢擴展項的數(shù)量N對模糊檢索效率的影響進行了分析.
4.1實驗數(shù)據(jù)為保證實驗的可靠性,本文將3.2 G的維基百科中文語料和在網(wǎng)上爬取的包含政治、經(jīng)濟、文化、醫(yī)學、歷史等多方面共17 901篇文章和新聞語料作為CBOW模型的語料訓練集.分別從政治、軍事、經(jīng)濟、文化、醫(yī)學、歷史、體育等9個領域各選取150篇共1 350篇文獻,作為文本數(shù)據(jù)集進行檢索.
4.2評價標準一般地,評價信息檢索系統(tǒng)的性能水平采用查準率ρPr(precision)和查全率ρRe(recall)作為量化指標[15].
查準率是指檢出的相關文獻數(shù)占檢出文獻總數(shù)的百分比,反映檢索準確性,其補數(shù)就是誤檢率;查全率是指檢出的相關文獻數(shù)占系統(tǒng)中相關文獻總數(shù)的百分比,反映檢索全面性,其補數(shù)就是漏檢率[16]:
ρPr=
(10)
ρRe=
從(10)、(11)式可以看出查全率和查準率之間存在一定的互斥性.當提高查全率時,查準率便會相應的降低;當降低查全率時,查準率便會相應上升.為了更準確的判斷檢索效率,這里還加入了查全率和查準率的調(diào)和平均值H(harmonic average)這一指標進行判斷,即
(12)
為得到實驗數(shù)據(jù),計算出相關比例,讓20名實驗人員,分別對檢索結(jié)果進行選擇,綜合20人的意見得到每個查詢的相關文檔.
4.3實驗過程與結(jié)果分析本文用CBOW模型訓練,將詞向量維數(shù)設置為100,上下文窗口大小訂為5,保留詞語出現(xiàn)頻數(shù)大于1的詞,并取0.025作為模型的學習率,進行100次迭代訓練,得到相應詞向量,表1為詞向量訓練結(jié)果的抽樣.
表 1 詞向量訓練結(jié)果抽樣
從表1可以看到,通過計算詞向量間的余弦距離能較為準確地找到與目標詞有相似語義環(huán)境的詞.
4.3.1綜合對比實驗 在包含9個不同領域、共1 350篇文獻的數(shù)據(jù)集中,把查全率、查準率和兩者的調(diào)和平均值作為評價指標,將閥值φ取為1,分別使用基于詞詞關聯(lián)矩陣模糊檢索和經(jīng)過詞向量查詢擴展,將擴展項數(shù)量取N=5后進行檢索實驗,實驗結(jié)果如表2和圖3 所示.
表 2 綜合實驗對比結(jié)果
圖3檢索結(jié)果對比柱形圖
Fig.3Columnchartofretrievalresults
可以看出,通過查詢擴展改進后的模糊檢索模型評測的結(jié)果優(yōu)于基于詞詞關聯(lián)矩陣的模糊檢索模型,查全率、查準率及兩者的調(diào)和平均值分別提高了1.51%、6.49%和6.78%,說明基于詞向量的查詢擴展可以改進查詢效果,從一定程度上克服“詞不匹配”問題.
4.3.2查詢擴展數(shù)N的分析 本文中關鍵的一步是利用詞向量計算得出查詢項的相似詞,利用相似詞對查詢項進行擴展.如何取到最合適的查詢擴展數(shù)N的值,保證檢索效率達到最優(yōu)是一個值得探討的問題.下面通過依次取N=0,2,4,5,6,8,10,12,14,15,16,18,20,22,24,26,28,30,以查全率和查準率的調(diào)和平均值為評價標準,進行實驗,實驗結(jié)果如圖4 所示.
圖 4 擴展數(shù)N分析圖
從圖4中可以看到隨著參數(shù)N的變化,查全率和查準率的調(diào)和平均值也跟著改變.當查詢擴展數(shù)N∈[0,15]時,調(diào)和平均值不斷增加;當查詢擴展數(shù)N∈[15,20]時,相對的調(diào)和平均值逐步達到了最大值;當N>20時,調(diào)和平均數(shù)相對有所降低,但基本保持平穩(wěn)狀態(tài).這是因為隨著N不斷增大,擴展項的數(shù)量不斷增多,但擴展項與對應的查詢項的相似度卻開始降低.所以在進行查詢擴展時,最好取N∈[15,20]作為相應擴展項的數(shù)量.
本文結(jié)合詞向量和詞詞關聯(lián)矩陣,提出一種新的模糊擴展查詢方法,改善了因大規(guī)模無標注數(shù)據(jù)導致的“詞不匹配”問題.實驗表明,相對于傳統(tǒng)的基于詞詞關聯(lián)矩陣的模糊檢索模型,基于詞向量的模糊擴展查詢方法對模糊檢索效果有所提升.本實驗只初步地對此方法進行了探索,很多環(huán)節(jié)還待進一步完善.未來將在本文的基礎上嘗試取不同閥值對文本進行檢索,擴大訓練語料庫,改進關鍵詞的提取方法,提高檢索效率.