何丹丹,吳樹芳,徐建民
(1.河北大學(xué) 網(wǎng)絡(luò)空間安全與計(jì)算機(jī)學(xué)院,河北 保定 071002;2.河北大學(xué) 管理學(xué)院,河北 保定 071002)
向量空間模型是一種經(jīng)典的信息檢索模型,目前對該模型的改進(jìn)主要是查詢擴(kuò)展.查詢擴(kuò)展[1]的基本思想是利用與查詢術(shù)語相關(guān)的詞語對用戶原始查詢進(jìn)行擴(kuò)展,現(xiàn)有研究方法主要包括基于詞典的方法[2]、基于反饋的方法[3-5]和基于語義的方法[6]等.基于詞典的方法通常用同義詞典作為擴(kuò)展源,給出與原始查詢詞相關(guān)的擴(kuò)展詞,如文獻(xiàn)[2]利用語義詞典與詞向量相結(jié)合的方法進(jìn)行查詢擴(kuò)展.基于反饋的方法是從用戶認(rèn)為相關(guān)的文檔或者前n篇文檔中選擇與查詢詞相關(guān)的詞語,從而實(shí)現(xiàn)對查詢詞的擴(kuò)展.如文獻(xiàn)[5]將抽取的維基百科文章作為反饋文檔,提出了基于偽相關(guān)反饋的監(jiān)督查詢擴(kuò)展方法和無監(jiān)督查詢擴(kuò)展方法.基于語義的方法是指最大程度上保留原始查詢詞的語義信息,選擇與查詢詞語義相近的擴(kuò)展詞.如文獻(xiàn)[6]以查詢詞作為根節(jié)點(diǎn),與其有語義關(guān)系的詞作為子節(jié)點(diǎn),構(gòu)建概念語義空間,實(shí)現(xiàn)擴(kuò)展研究.這些方法都是基于查詢端來研究的,且均取得了一定效果,此外還可以從文檔端的角度展開研究.
合理利用文檔關(guān)系可以提高模型的檢索性能[7].Balinski等[8]充分利用了文檔間的距離關(guān)系,并根據(jù)這些距離修改文檔的初始相關(guān)性權(quán)重,實(shí)現(xiàn)檢索結(jié)果重新排序.Plansangke等[9]根據(jù)文檔與查詢詞之間的相關(guān)性,并利用文檔關(guān)系,對文檔進(jìn)行分類,然后重新對文檔進(jìn)行排序.Acid等[10]在簡單貝葉斯網(wǎng)絡(luò)檢索模型中合理利用文檔關(guān)系,實(shí)現(xiàn)對模型的擴(kuò)展研究,提高了查詢效果.徐建民等[7]通過在基本的信念網(wǎng)絡(luò)檢索模型中增加一層文檔節(jié)點(diǎn),利用文檔間存在的相似關(guān)系對基本模型進(jìn)行擴(kuò)展研究,使得檢索效果有所提高,進(jìn)而得到更加合理的相關(guān)文檔排序結(jié)果.然而目前利用文檔關(guān)系對傳統(tǒng)向量空間模型進(jìn)行改進(jìn)尚未研究.
基于此,本文提出一種基于文檔關(guān)系改進(jìn)的向量空間模型,該模型將初始檢索結(jié)果中排名靠前的高相關(guān)文檔組成基準(zhǔn)集,通過計(jì)算初始檢索結(jié)果集中每篇文檔與基準(zhǔn)集的相似度,來修正文檔與查詢的相似度,作為最終的相似度,實(shí)現(xiàn)對向量空間模型的改進(jìn),并通過實(shí)驗(yàn)驗(yàn)證了方法的有效性.
文檔之間的關(guān)系主要包括相關(guān)關(guān)系和相似關(guān)系,分別可以通過相關(guān)度和相似度來衡量.相關(guān)度一般是指語義相關(guān)度,即2個概念間的相關(guān)程度[11],其主要采用基于本體結(jié)構(gòu)的語義相關(guān)度方法來度量;相似度是指2個或多個文檔中出現(xiàn)的詞語、句子、段落或者篇章的吻合程度,2篇文檔在詞語、句子、段落或者篇章上相似部分越多,代表這2篇文檔的相似度越高[12].相似度是相關(guān)度的一種特殊情況,相似度越高,則相關(guān)度越大,但是相關(guān)度越大并不能說明相似度越高[11].
本文以相似度為例度量文檔間關(guān)系.文檔相似度的研究既可以從文檔內(nèi)容的角度,也可以從文檔間結(jié)構(gòu)的角度來進(jìn)行,其中,基于文檔內(nèi)容的研究方法主要有向量空間模型的方法和集合運(yùn)算模型的方法;基于文檔間結(jié)構(gòu)的方法主要有基于文檔結(jié)構(gòu)的方法和基于引文圖的方法.這幾種方法中應(yīng)用較為普遍的是向量空間模型方法,故本文采用該方法來計(jì)算文檔間的相似度,實(shí)現(xiàn)對文檔關(guān)系的度量.為了方便表述本文的改進(jìn)細(xì)節(jié),下面對向量空間模型方法作一些簡單介紹.
在向量空間模型(VSM,vector space model)中,假設(shè)文檔集D中包含M個特征項(xiàng),分別用k1,k2,…,kM表示,di=(wi1,wi2,…,wiM)表示文檔集中的第i篇文檔,wit表示特征項(xiàng)kt在文檔di中的權(quán)重,計(jì)算方法如公式(1)所示.
(1)
其中,tfit表示在文檔di中特征項(xiàng)kt出現(xiàn)的頻率,idft表示逆文檔頻率,N表示系統(tǒng)中所有文檔的數(shù)量,pt表示存在特征項(xiàng)kt的文檔數(shù).
用戶的查詢q表示為q=(wq1,wq2,…,wqM),wqt為特征項(xiàng)kt在查詢q中的權(quán)重.查詢q和文檔di的相似度用文檔向量和查詢向量的夾角余弦值來衡量,如公式(2)所示.
(2)
本文提出的基于文檔關(guān)系改進(jìn)的向量空間模型的基本過程主要包括3個階段,由圖1所示.
圖1 基于文檔關(guān)系改進(jìn)的向量空間模型的基本過程Fig.1 Basic process of vector space model improved based on document relationship
1) 利用查詢術(shù)語實(shí)現(xiàn)查詢,并將文檔集的查詢結(jié)果進(jìn)行降序排列,取前n篇文檔作為初始檢索結(jié)果集S={d1,d2,…,dn}.
2)從初始檢索結(jié)果集S中選取前m篇文檔組成相關(guān)文檔的基準(zhǔn)集B={d1,d2,…,dm},其中m取排名靠前的高相關(guān)文檔數(shù)(m 3)通過計(jì)算集合S中每篇文檔dj與基準(zhǔn)集B的相似度sim(dj,B),用來修正原模型中文檔dj與查詢q的相似度,得到最終的相似度,從而實(shí)現(xiàn)對檢索結(jié)果的重排序,得到改進(jìn)的向量空間模型.如果某篇文檔與查詢的相似度不高,但是與基準(zhǔn)集的相似度高,則該文檔與查詢可能也是相關(guān)的,因此利用文檔與基準(zhǔn)集的相似度來修正文檔與查詢的相似度,這樣可以使在前n篇之外的相關(guān)文檔排名靠前.同樣,基準(zhǔn)集中的每篇文檔也用文檔與基準(zhǔn)集的相似度來修正文檔與查詢的相似度,如果某篇文檔與查詢的相似度高,但是與基準(zhǔn)集的相似度低,則該文檔與查詢可能不相關(guān),利用該方法進(jìn)行計(jì)算可以使得在前n篇文檔中相關(guān)度低的文檔排名靠后. 上述3個階段中,最關(guān)鍵的一步為第3步,當(dāng)計(jì)算文檔與基準(zhǔn)集的相似度時,如果直接利用文檔與基準(zhǔn)集中每篇文檔的相似度來計(jì)算,存在一定的不足:基準(zhǔn)集中每篇文檔與查詢的相關(guān)程度是不同的,故其權(quán)重理應(yīng)是不同的.為解決該問題,將基準(zhǔn)集中每篇文檔與查詢的初始相似度作為該文檔權(quán)重,結(jié)合權(quán)重來計(jì)算文檔與基準(zhǔn)集的相似度,并給出了具體的計(jì)算方法,如公式(3)所示. (3) 其中,文檔di∈B;sim(dj,di)表示文檔dj與文檔di的相似度,sim(di,q)表示文檔di與查詢q的相似度,均采用向量空間模型方法來計(jì)算. 本文首先利用公式(3)度量出文檔間關(guān)系,然后在傳統(tǒng)的向量空間模型的基礎(chǔ)上融入文檔關(guān)系,實(shí)現(xiàn)對模型的改進(jìn). 檢索結(jié)果的前m篇文檔一般可以更好地表達(dá)用戶的查詢意圖,故利用集合S中的文檔dj與基準(zhǔn)集B的相似度,來修正文檔dj與查詢q的相似度,實(shí)現(xiàn)對VSM模型的改進(jìn),如公式(4)所示,把這種檢索方法稱之為VSM_Improve模型. sim_improve(dj,q)=αsim(dj,q)+(1-α)sim(dj,B), (4) 其中,α為調(diào)和參數(shù),sim(dj,q)為文檔dj與查詢q的相似度,sim_improve(dj,q)為文檔dj與查詢q改進(jìn)后的相似度. 在信息檢索評測領(lǐng)域,目前沒有構(gòu)建標(biāo)準(zhǔn)的中文信息檢索測試集[15].文獻(xiàn)[15]建立的中文信息檢索數(shù)據(jù)集,適合一般的小型實(shí)驗(yàn)測試,并且在一些實(shí)驗(yàn)中多次使用,因此本文采用該數(shù)據(jù)集進(jìn)行實(shí)驗(yàn)驗(yàn)證.該數(shù)據(jù)集中共有1 578篇中文文檔,文本內(nèi)容主要是與計(jì)算機(jī)相關(guān)的一些領(lǐng)域,其中主要包括5個查詢主題,每個查詢主題有各自的相關(guān)文檔集.專家已經(jīng)對相關(guān)文檔集進(jìn)行了相關(guān)性評分,評分取值為{0,0.1,0.2,…,1},評分的值越大文檔越相關(guān),其中,1表示完全相關(guān),0表示毫不相關(guān). 論文采用信息檢索中常用的2種評價(jià)指標(biāo)來檢測改進(jìn)模型的有效性,分別是折損累計(jì)增益(discounted cumulative gain,DCG)和準(zhǔn)確率-召回率曲線. DCG值[16]既考慮檢索結(jié)果中文檔的相關(guān)性,也考慮文檔在檢索結(jié)果中出現(xiàn)的位置,它是依據(jù)相關(guān)文檔在檢索結(jié)果中排序的位置來給出該文檔的分?jǐn)?shù),DCG值越大則說明排序結(jié)果越合理.假設(shè)相關(guān)文檔排序靠前,則其價(jià)值較高,否則價(jià)值較低,相應(yīng)地做出貢獻(xiàn)則較少.DCG值計(jì)算方法如公式(5)所示. (5) 其中,|k|表示檢索結(jié)果按照相關(guān)性從大到小依次排列,取前k個結(jié)果組成的集合.Si表示結(jié)果列表前k個文檔集合中第i個文檔的相關(guān)性得分,它的取值為0~1.Si=0表示第i個文檔與查詢毫無關(guān)系,Si=1表示第i個文檔與查詢完全相關(guān). 準(zhǔn)確率-召回率曲線用來說明檢索結(jié)果中的相關(guān)文檔是否準(zhǔn)確和全面[17].準(zhǔn)確率(Precision)和召回率(Recall)的計(jì)算公式分別如公式(6)和公式(7)所示. (6) (7) 其中,|A|表示該系統(tǒng)中檢索到的所有文檔的數(shù)目,|B|表示該系統(tǒng)中與查詢有關(guān)的所有相關(guān)文檔數(shù)目,|R|表示該系統(tǒng)中檢索到的相關(guān)文檔數(shù)目. 3.3.1 相關(guān)參數(shù)的確定 1)相關(guān)文檔的數(shù)量m值的確定 基準(zhǔn)集B中相關(guān)文檔的數(shù)量m的確定非常關(guān)鍵,如果選取的相關(guān)文檔太少,則文檔之間的關(guān)系無法充分發(fā)揮作用,便會遺漏掉一些相關(guān)信息;如果選取的相關(guān)文檔太多,不相關(guān)文檔的數(shù)量也會增多,則會引入大量噪聲.為了探討合適的基準(zhǔn)集B,進(jìn)行了參數(shù)訓(xùn)練,分別計(jì)算出當(dāng)相關(guān)文檔m的取值為5、10、15、20時,查詢在數(shù)據(jù)集中的平均DCG值,如表1所示. 表1 m不同取值下查詢的平均DCG值 從表1可以看出,當(dāng)m=5時,查詢的平均DCG值較高.通過觀察初始查詢結(jié)果可以發(fā)現(xiàn),查詢的前5篇文檔大部分是相關(guān)的,而隨著文檔數(shù)量的增多,會出現(xiàn)相關(guān)度不高的文檔以及不相關(guān)文檔,進(jìn)而會引入噪聲.故對于本測試集來說,將相關(guān)文檔m的數(shù)量設(shè)定為5較好. 2)參數(shù)α的確定 為合理地將文檔與查詢的相似度、文檔與基準(zhǔn)集的相似度進(jìn)行融合,實(shí)驗(yàn)對參數(shù)α的取值進(jìn)行訓(xùn)練.在α分別取0.1、0.2、0.3、0.4、0.5、0.6、0.7、0.8、0.9、1.0時,分別計(jì)算查詢在數(shù)據(jù)集中的平均DCG值,實(shí)驗(yàn)結(jié)果如表2所示. 表2 參數(shù)α的不同取值下查詢的平均DCG值 從表2可以看出,當(dāng)參數(shù)α=0.3時,查詢的平均DCG值達(dá)到較高值.由于基準(zhǔn)集中包含了與查詢相關(guān)的術(shù)語,所以如果參數(shù)α取值較大,則在檢索結(jié)果中無法合理體現(xiàn)文檔關(guān)系的用途;而如果參數(shù)α取值較小,則用戶的初始查詢意圖無法很好地起到相應(yīng)的作用.故本文將參數(shù)α的值設(shè)定為0.3. 3.3.2 實(shí)驗(yàn)性能比較及分析 為驗(yàn)證VSM_Improve模型的有效性和準(zhǔn)確性,通過構(gòu)建10個查詢,即在每個查詢主題下分別構(gòu)建2個查詢,然后分別將VSM模型和VSM_Improve模型的檢索結(jié)果降序排列,并用DCG值、準(zhǔn)確率-召回率曲線對這2個模型進(jìn)行性能評價(jià). 1)DCG值的比較 對于構(gòu)建的10個查詢,分別在VSM模型和VSM_Improve模型中計(jì)算每篇文檔與查詢的匹配程度.由于用戶在查看搜索引擎結(jié)果時,用戶只關(guān)注前20~30個查詢結(jié)果[4],如果用戶在這其中未找到所需要的內(nèi)容,用戶將會重新構(gòu)造查詢.因此分別計(jì)算出這3種模型檢索結(jié)果的TOP-10、TOP-20、TOP-30的平均DCG值.圖2為10個查詢結(jié)果的TOP-10、TOP-20、TOP-30下的平均DCG對比圖. 從圖2可以看出, VSM_Improve模型的平均DCG值在TOP-10、TOP-20、 TOP-30下均高于VSM模型.產(chǎn)生這種結(jié)果的原因是:一般情況下,符合查詢需求的文檔排序比較靠前,換言之,查詢結(jié)果的前幾篇文檔更能充分表達(dá)用戶的查詢意圖;利用文檔關(guān)系,找出與基準(zhǔn)集相似度高的文檔,這些文檔更能體現(xiàn)用戶的查詢需求,與簡短的查詢詞相比,會使得查詢結(jié)果更加準(zhǔn)確和全面.故文中用文檔與基準(zhǔn)集的相似度來修正文檔與查詢的相似度,得到文檔的最終相似度,實(shí)現(xiàn)對檢索結(jié)果的重排序.若某篇文檔與基準(zhǔn)集相似并且與查詢匹配程度也較高時,則該文檔的排名會靠前,反之若與其中一個相似度較低時,文檔的排名則會靠后,因此VSM_Improve模型會提高相關(guān)文檔的排名,同時會剔除不相關(guān)的文檔. 圖2 2種模型的查詢結(jié)果在Top-10、Top-20、Top-30的DCG對比Fig.2 DCG comparison of query results of two models in Top-10、Top-20、Top-30 2)準(zhǔn)確率和召回率的比較 這部分實(shí)驗(yàn)分別計(jì)算了基本模型和改進(jìn)模型在10個查詢下,當(dāng)召回率的值為10%、20%、30%、40%、50%、60%、70%、80%、90%和100%時,其相應(yīng)的準(zhǔn)確率,最后計(jì)算出這10個查詢的平均準(zhǔn)確率,并繪制出準(zhǔn)確率-召回率曲線,如圖3所示. 圖3 準(zhǔn)確率-召回率曲線Fig.3 Curve of precision-recall 由圖3可以發(fā)現(xiàn),在召回率相同的情況下, VSM_Improve模型的準(zhǔn)確率高于VSM模型.在召回率為10%、20%、30%、40%時,雖然VSM_Improve模型的準(zhǔn)確率高于VSM模型,但是2個模型的準(zhǔn)確率相差不大,因此可以看出,檢索模型的前幾篇文檔一般情況下是滿足用戶查詢需求的.通過模型的改進(jìn)之后,會剔除一些排在前面的不相關(guān)文檔,并且提高相關(guān)文檔的檢索概率.產(chǎn)生這種結(jié)果的原因是:在實(shí)際信息檢索過程中,用戶輸入的查詢詞一般比較簡短且模糊,不能準(zhǔn)確表達(dá)自身的信息需求,因此會導(dǎo)致查詢的準(zhǔn)確率和召回率不理想.由于與查詢相關(guān)的文檔間會有一定的相似性,這些相關(guān)文檔在一定程度上可以很好地表達(dá)用戶的查詢意圖,故本文利用文檔間關(guān)系,通過找出與相關(guān)文檔集相似度較高的文檔,可以使得查詢結(jié)果更加全面和準(zhǔn)確. 考慮到用戶輸入的查詢詞一般較少,對信息需求的表達(dá)往往不夠準(zhǔn)確和全面,導(dǎo)致查詢結(jié)果不理想的問題,本文提出一種改進(jìn)的向量空間模型,利用文檔間關(guān)系,找出與基準(zhǔn)集中的篇文檔均相似的文檔,進(jìn)而找出查詢的相關(guān)文檔,并將每篇文檔與基準(zhǔn)集的相似度、每篇文檔與查詢的相似度進(jìn)行融合,進(jìn)而提高了檢索效果,使得檢索結(jié)果更加合理.接下來將嘗試分析文檔間的其他關(guān)系,并在信息檢索模型中進(jìn)行實(shí)現(xiàn).2.2 改進(jìn)的向量空間模型
3 實(shí)驗(yàn)
3.1 實(shí)驗(yàn)數(shù)據(jù)集
3.2 評價(jià)標(biāo)準(zhǔn)
3.3 實(shí)驗(yàn)結(jié)果及分析
4 結(jié)束語