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