專利名稱:一種挖掘查詢語句子話題并聚類的信息搜索方法
技術(shù)領(lǐng)域:
本發(fā)明屬于計(jì)算機(jī)信息檢索技術(shù)領(lǐng)域,涉及一種挖掘用戶查詢語句的子話題,并對(duì)子話題進(jìn)行聚類的信息搜索方法。
背景技術(shù):
挖掘查詢語句的子話題、將子話題聚類并根據(jù)話題包含關(guān)系構(gòu)建樹形的層次結(jié)構(gòu),可以為用戶提供更精準(zhǔn)的查詢擴(kuò)展、查詢建議,并按文檔所屬話題,在檢索結(jié)果中分類展示。目前挖掘查詢子話題的相關(guān)研究非常有限,一種方法是從搜索引擎返回的結(jié)果文檔中,抽取關(guān)鍵短語并使用數(shù)據(jù)挖掘的算法,從而找出候選的子話題(參考文獻(xiàn)E. Uluhan and B. Badur. Developmetn of a Framework for Sub-topic Discovery from the Web.2008.In Proceedings ofPICMET2008)。在計(jì)算查詢之間的相似度時(shí),則有很多方法。一種方法是使用馬爾科夫隨機(jī)場(chǎng)模型計(jì)算查詢?cè)~與隱式概念之間的依賴度(參考文獻(xiàn)D. Metzler md W. B. Croft. Latent Concept Expansion Using Markov Random Fields.In Proceedings of SIGIR2007 禾口 H.Lang,D. Metzler, B. Wang, J-T. Li. Improved Latent Concept Expansion Using Hierarchical Markov Random Fields. In Proceedings of SIGIR2010)。另一禾中方法米用上下文模型,計(jì)算查詢的上下文之間的相似度,用來表示兩個(gè)查詢之間的相似度(參考文獻(xiàn)X. Wang and C. Zhai. Mining term association patterns from search logs for effective query reformulation. In Proceedings ofCIKM2008.)。還有一禾中較為簡(jiǎn)單直接的方式,即計(jì)算查詢之間的余弦相似度。聚類算法也有很多,比如常見的K-means、層次聚類等等。有些方法在聚類的同時(shí),還挖掘出該類的中心項(xiàng),如星形聚類(參考文獻(xiàn)X. Wang and C. Zhai. Mining term association patterns from search logs for effective query reformulation. In Proceedings of CIKM2008.)。在現(xiàn)有的方法中,還未發(fā)現(xiàn)有使用查詢?nèi)罩咀鳛橥诰虿樵冏釉掝}的來源,而且在計(jì)算查詢語句之間的相似度時(shí),沒有充分考慮到詞匯不匹配問題,以及詞匯過匹配問題。另外現(xiàn)有的聚類方法是基于詞匯相似度的聚類方法,沒有深入挖掘話題之間的包含關(guān)系,難以在話題之間建立樹形的層次結(jié)構(gòu)。因此這些聚類方法,在聚類查詢子話題時(shí),存在一定的缺陷,無法充分滿足用戶需求。
發(fā)明內(nèi)容
本發(fā)明的目的在于解決現(xiàn)有技術(shù)中的問題,提出一種挖掘用戶所查詢的語句的子話題,并對(duì)這些子話題進(jìn)行聚類的信息搜索方法。該方法能夠自動(dòng)挖掘某個(gè)查詢語句所可能包含的所有子話題,根據(jù)話題之間的包含關(guān)系進(jìn)行聚類,進(jìn)而實(shí)現(xiàn)為用戶提供更合理的查詢建議、查詢結(jié)果的多樣性展示等目的。本發(fā)明的挖掘查詢語句子話題并聚類的信息搜索方法,其步驟包括
1)對(duì)原始查詢語句和查詢?nèi)罩局械臍v史查詢語句分別分詞,得到查詢?cè)~序列;2)將對(duì)所述歷史查詢語句分詞后得到的查詢?cè)~序列作為候選子話題,計(jì)算所述候選子話題與所述原始查詢語句的相似度;3)利用語義詞典找出原始查詢語句的同義表達(dá)方式并作為擴(kuò)展查詢語句,計(jì)算所述候選子話題與所述擴(kuò)展查詢語句的相似度,并用該相似度修正步驟幻所得的相似度;4)根據(jù)相似度的預(yù)設(shè)閥值對(duì)所述候選子話題進(jìn)行篩選,得到最終子話題;5)對(duì)所述最終子話題進(jìn)行聚類,并根據(jù)聚類后的子話題間的包含關(guān)系構(gòu)建樹形層次結(jié)構(gòu);6)搜索引擎按照所述樹形層次結(jié)構(gòu)對(duì)檢索結(jié)果進(jìn)行分類,用戶通過選擇所述樹形層次結(jié)構(gòu)的不同葉子節(jié)點(diǎn)來獲得不同分類粒度的檢索結(jié)果。進(jìn)一步地,利用每個(gè)所述歷史查詢語句在查詢?nèi)罩局谐霈F(xiàn)的次數(shù)修正步驟3)最終得出的相似度;還可通過計(jì)算每個(gè)所述歷史查詢語句與所述原始查詢語句的點(diǎn)擊相似度,并用該點(diǎn)擊相似度進(jìn)進(jìn)一步修正步驟幻最終得出的相似度;所述點(diǎn)擊相似度采用如下公式計(jì)算
\υρΓΛυ0\CL(P^Q) = K \ f )其中,集合%和Uq分別為用戶在查詢歷史查詢語句Pi和原始查詢語句Q時(shí)點(diǎn)擊的
\υρΓΛυ0\
所有url ;/(1^^)為單調(diào)上升函數(shù)。進(jìn)一步地,步驟1)所述的查詢?nèi)罩景ㄓ脩籼峤坏牟樵冋Z句、查詢時(shí)間和點(diǎn)擊的結(jié)果文檔。進(jìn)一步地,通過余弦相似度方法計(jì)算所述候選子話題與所述原始查詢語句的相似度或所述候選子話題與所述擴(kuò)展查詢語句的相似度。進(jìn)一步地,所述語義詞典包括HowNet和同義詞詞林。進(jìn)一步地,所述篩選是將與原始查詢語句的相似度小于所述預(yù)設(shè)閥值的候選子話題刪去。進(jìn)一步地,所述聚類的方法包括K-means方法和后綴樹聚類方法。進(jìn)一步地,在所述聚類后的每個(gè)類中選取一個(gè)歷史查詢作為該類的中心項(xiàng),根據(jù)該中心項(xiàng)的話題包含關(guān)系構(gòu)建所述樹形層次結(jié)構(gòu)。本發(fā)明利用查詢?nèi)罩就诰蛴脩舨樵冋Z句的子話題,這些子話題可以用于擴(kuò)展用戶查詢,或者為用戶提供更多的查詢建議;對(duì)查詢子話題進(jìn)行聚類,并按照話題的包含關(guān)系構(gòu)建樹形的層次結(jié)構(gòu),可以根據(jù)需要從不同的粒度來為用戶提供查詢擴(kuò)展、查詢建議等,還能根據(jù)子話題的結(jié)構(gòu),對(duì)搜索引擎返回的結(jié)果文檔劃分層次結(jié)構(gòu),方便用戶按照話題類別來瀏覽檢索結(jié)果。
圖1為本發(fā)明實(shí)施例的挖掘查詢子話題并聚類的信息搜索方法的流程圖。圖2為本發(fā)明實(shí)施例的對(duì)查詢子話題構(gòu)建樹形結(jié)構(gòu)的示意圖。
具體實(shí)施例方式下面通過實(shí)施例并結(jié)合附圖,對(duì)本發(fā)明作詳細(xì)的說明。圖1為本實(shí)施例的挖掘查詢子話題并聚類的信息搜索方法的流程圖,對(duì)各個(gè)步驟具體說明如下1)對(duì)原始查詢語句和歷史查詢語句分詞a)設(shè)原始查詢語句為Q,對(duì)其分詞,得到一串查詢?cè)~序列Qlq2...qn,其中 Qi(i e [Ο,η])為單個(gè)查詢?cè)~;b)設(shè)查詢?nèi)罩局械乃袣v史查詢語句為P = {P1;P2,…PJ,對(duì)每個(gè)歷史查詢語句 Pi分詞,得到一個(gè)查詢?cè)~序列PilPi2... Pim,其中Pu(j e
)為單個(gè)查詢?cè)~;將這些查詢?cè)~序列(仍用Pi表示)作為候選子話題。所述查詢?nèi)罩臼怯脩粼谑褂盟阉饕鏁r(shí),由搜索服務(wù)提供商記錄的用戶的一系列行為,包括用戶提交的查詢語句、查詢時(shí)間、點(diǎn)擊的結(jié)果文
檔等信息。2)子話題挖掘?qū)蜻x子話題進(jìn)行挖掘,得到最終子話題。a)計(jì)算候選子話題Pi與原始查詢語句Q的相似度Sin^Pi,Q),可以使用余弦相似度的方法進(jìn)行計(jì)算,也可以使用其它方法。使用余弦相似度方法進(jìn)行計(jì)算的公式如下,其中 W是Pi或Q中的查詢?cè)~力―)和Cq(W)分別是W在Pi或Q中出現(xiàn)的次數(shù)
Σ cPj{w)c0{w)
SimjPnQ)=廣6 ,(ι)
\ wePf^ WEgb)為解決原查詢語句Q與歷史查詢Pi的詞匯不匹配問題,利用語義詞典對(duì)原始查詢Q進(jìn)行擴(kuò)展,找出與原始查詢語句Q同義的多種表達(dá)方式1^, ,…,Qn},進(jìn)而計(jì)算候選子話題Pi與每個(gè)擴(kuò)展查詢語句A的相似度Sim(Pi, Qj)。詞匯不匹配屬自然語言處理領(lǐng)域的經(jīng)典問題,是指兩個(gè)詞匯或語句在字面上存在較大差異,但是表達(dá)同一個(gè)語義。中文可用的語義詞典非常多,如HowNet、同義詞詞林等資源。將原始查詢Q分詞后得到詞序列qiq2. . . qn,對(duì)每一個(gè)詞I,從語義詞典中抽取它的所有同義詞,組成同義詞集合 Si = {s|s e synonyms ( )}。然后分別使用每一個(gè)同義詞Sij代替原始查詢語句Q中的查詢?cè)~I,組成一個(gè)新的查詢,即擴(kuò)展后的查詢語句,得到擴(kuò)展查詢集合IA,( ,…,Qn}。使用公式(1)計(jì)算每一個(gè)擴(kuò)展后查詢%與歷史查詢Pi的相似度Sin^Pi,Qj) 0然后我們通過加權(quán)求和用Sim (P” Qj)來更新候選子話題Pi與原始查詢語句Q的相似度Sim (Pi, Q),即SMiP1,Q) = W0SimiP1 ,Q) + ^ WjSimiPl,Qj)(2)
J其中,公式右邊的Sim(PyQ)由公式⑴計(jì)算得來,Wj為相應(yīng)的權(quán)重。c)為進(jìn)一步解決原查詢語句Q與歷史查詢語句Pi的詞匯過匹配問題,利用查詢?nèi)罩局械狞c(diǎn)擊信息來判別歷史查詢與原查詢是否屬于同一查詢意圖。詞匯過匹配問題是指 兩個(gè)詞匯或語句字面的相似度非常高,即使用了很多共同的詞語,但是表達(dá)的語義相差很大。首先考慮了歷史查詢Pi在查詢?nèi)罩局械某霈F(xiàn)次數(shù)對(duì)該子話題的影響。當(dāng)Pi在查
5詢?nèi)罩局谐霈F(xiàn)的次數(shù)越多,對(duì)其相似度賦予更高的系數(shù),當(dāng)Pi出現(xiàn)的次數(shù)較少時(shí),相似度則得到較小的系數(shù)。進(jìn)而對(duì)公式(2)有如下更新Sim (P" Q) = f (C(Pi)) □ Sin^P” Q) (3)其中,等式右邊的SinKPi, Q)由公式⑵計(jì)算而來。其次,采用點(diǎn)擊相似度來增強(qiáng)候選子話題Pi與原始查詢語句Q的相似度Sin^Pi, Q)。從查詢?nèi)罩局校謩e統(tǒng)計(jì)出用戶在查詢Pi和Q上點(diǎn)擊的所有url,記為集合%和UQ,根據(jù)兩個(gè)集合的重合度,來計(jì)算PjPQ的點(diǎn)擊相似度CL(Pi;Q),如公式(4)所示CL(P^Q) = A Ρ· β\)
ιuPi ι十丨 ι⑷
\UR rd/0 I其中,/(+〃+)為單調(diào)上升函數(shù);f可根據(jù)需要進(jìn)行調(diào)整。在不同的數(shù)據(jù)集
I U Pi I + I Uq I
上,可能使用不同的f函數(shù)才能得到最佳效果,根據(jù)在模型訓(xùn)練階段的實(shí)驗(yàn)結(jié)果,確定用何 \UP r,U0 I \upr,u0\ \UP r,U0 I IogIf^nfT0I
種 f 函數(shù),如/(ι 廣111 二) = , ' ‘ ι ‘ ‘) = ,、等;還可以對(duì)
I ^ I +1 ^e I I ^ I +1 ^e I I ^ I +1 ^e I log(| UPi\ + \UQ\)
lLJ ^u , 1θ§( Σ WrUi)
每個(gè)url賦予一定權(quán)重,然后進(jìn)行計(jì)算,W( TT\ Jt ) = , /'eVt7g7,其中,Ui為相應(yīng)
I^ I + I^e I log( Σ w'ui)
U1 &U UUq
集合中的url,分子中的 為集合。%中的元素,分母中的1^為集合〃。〃e中的元素,Wi 為每個(gè)Ui所對(duì)應(yīng)的權(quán)重。然后利用CUPi, Q)再次更新Sin^Pi,Q)的得分,如公式(5)所示SinKPi, Q) = CL (Pi, Q) □ SinKPi, Q) (5)其中,公式右邊的Sim(PyQ)由公式(3)計(jì)算得來。至此,得到最終的候選子話題 Pi與原始查詢語句Q的相似度Sim (P" Q);d)通過相似度的預(yù)設(shè)閥值對(duì)所述候選子話題進(jìn)行篩選,如果Sim (P” Q)大于某個(gè)閾值δ,則保留該歷史查詢,作為查詢Q的最終子話題。3)子話題聚類首先采用常用的聚類方法,如K-means方法、后綴樹聚類方法等,根據(jù)最終子話題所屬的領(lǐng)域進(jìn)行聚類。然后在每個(gè)類中選取一個(gè)歷史查詢作為該類的中心項(xiàng),根據(jù)中心項(xiàng)的話題包含關(guān)系,構(gòu)建樹形的層次結(jié)構(gòu)。父節(jié)點(diǎn)的話題范圍更為廣泛,子節(jié)點(diǎn)的話題范圍則較為具體,即父節(jié)點(diǎn)中的話題較子節(jié)點(diǎn)的話題更為泛化。下面是通過一個(gè)查詢實(shí)例對(duì)上述流程作更具體、直觀的說明。1)任務(wù)初始化(對(duì)查詢語句分詞)a)原始查詢Q = “蘋果MP3”,對(duì)其分詞后得到序列Q = “蘋果MP3” ;b)查詢?nèi)罩局杏袣v史查詢P1 = “蘋果MP3保修”,P2 = “蘋果MP3價(jià)格”,P3 = “蘋果MP3售后服務(wù)”,P4 =“iPod報(bào)價(jià)”,P5 = “蘋果施肥”,經(jīng)過分詞后,分別得到序列“蘋果 MP3保修”,“蘋果MP3價(jià)格”,“蘋果MP3售后服務(wù)”,“ iPod報(bào)價(jià)”,“蘋果施肥”,每個(gè)查詢?cè)谌罩局谐霈F(xiàn)的次數(shù)分別為c (Pi)。2)子話題挖掘
a)使用公式(1)計(jì)算候選子話題Pi與原始查詢語句Q的相似度Sin^Pi,Q);b)查詢語義字典,得到“蘋果”的同義詞有{ “iP0d”,“apple”},“MP3”的同義詞有 { “數(shù)字音樂播放器” },代入原始查詢得到Q1 =“iPod MP3”,Q2 = "apple MP3”,Q3 “蘋果數(shù)字音樂播放器”。根據(jù)公式(1),計(jì)算每個(gè)擴(kuò)展查詢A原始查詢語句Q的相似度Sim (Pi, Qi)。再根據(jù)公式⑵,更新相似度Sim(PiiQ);c)結(jié)合每個(gè)歷史查詢?cè)谌罩局谐霈F(xiàn)的次數(shù)C(Pi),根據(jù)公式(3),修正每個(gè)歷史查詢Pi與原始查詢語句Q的相似度Sim(PpQ);根據(jù)公式(4)計(jì)算每個(gè)歷史查詢Pi與原始查詢語句Q的點(diǎn)擊相似度CL (Pi, Q),再根據(jù)公式( 更新查詢Pi與原始查詢語句Q的相似度 Sim(Pi, Q);d)根據(jù)事先約定的閾值δ,當(dāng)查詢Pi與原始查詢語句Q的相似度Sim(PyQ)小于該閾值時(shí),剔除該查詢,本例中可以剔除P5,因?yàn)槠渑c原始查詢語句Q的點(diǎn)擊相似度為0,因 ift Sim(P5, Q)較小。3)子話題聚類a)經(jīng)過步驟1、2,得到子話題P1, P2,P3,P4,聚類得到三類(P1, P3I, {P2}和{P4}。b)其中{P1; P3I屬話題“服務(wù)”,{PJ和{PJ屬于話題“價(jià)格”,這兩個(gè)話題均是原始查詢Q的子話題,根據(jù)話題的包含關(guān)系,構(gòu)建出樹形的層次圖,如圖2所示。圖2是一個(gè)三層的樹形結(jié)構(gòu),根節(jié)點(diǎn)為“蘋果MP3”,是用戶提交的初始查詢,葉子節(jié)點(diǎn)為該查詢語句的子話題聚類,每個(gè)聚類中包含多個(gè)具有相同信息需求的子話題。圖中第二層節(jié)點(diǎn)為子話題聚類的父節(jié)點(diǎn),即該層節(jié)點(diǎn)的話題范疇包含葉子節(jié)點(diǎn)的話題范疇,并且范疇更為寬泛。搜索引擎在返回所有的檢索結(jié)果之后,按照葉子節(jié)點(diǎn)聚類的結(jié)果,對(duì)這些檢索結(jié)果進(jìn)行分類。用戶可以根據(jù)自己的需求,選擇不同的分類粒度來顯示檢索結(jié)果。當(dāng)用戶選擇顯示“聚類1”的結(jié)果時(shí),將分類標(biāo)簽為“聚類1”的檢索結(jié)果呈現(xiàn)給用戶;當(dāng)用戶選擇顯示“蘋果MP3價(jià)格”的結(jié)果時(shí),將分類標(biāo)簽為“聚類2”和“聚類3”的檢索結(jié)果呈現(xiàn)給用戶。上述實(shí)施例僅是為了說明本發(fā)明的原理,而非用于限制本發(fā)明的范圍。本領(lǐng)域的技術(shù)人員可在不違背本發(fā)明的技術(shù)原理及精神下,對(duì)實(shí)施例作修改與變化。本發(fā)明的保護(hù)范圍應(yīng)如權(quán)利要求所述。
權(quán)利要求
1.一種挖掘查詢語句子話題并聚類的信息搜索方法,其步驟包括1)對(duì)原始查詢語句和查詢?nèi)罩局械臍v史查詢語句分別分詞,得到查詢?cè)~序列;2)將對(duì)所述歷史查詢語句分詞后得到的查詢?cè)~序列作為候選子話題,計(jì)算所述候選子話題與所述原始查詢語句的相似度;3)利用語義詞典找出原始查詢語句的同義表達(dá)方式并作為擴(kuò)展查詢語句,計(jì)算所述候選子話題與所述擴(kuò)展查詢語句的相似度,并用該相似度修正步驟幻所得的相似度;4)根據(jù)相似度的預(yù)設(shè)閥值對(duì)所述候選子話題進(jìn)行篩選,得到最終子話題;5)對(duì)所述最終子話題進(jìn)行聚類,并根據(jù)聚類后的子話題間的包含關(guān)系構(gòu)建樹形層次結(jié)構(gòu);6)搜索引擎按照所述樹形層次結(jié)構(gòu)對(duì)檢索結(jié)果進(jìn)行分類,用戶通過選擇所述樹形層次結(jié)構(gòu)的不同葉子節(jié)點(diǎn)來獲得不同分類粒度的檢索結(jié)果。
2.如權(quán)利要求1所述的方法,其特征在于,利用每個(gè)所述歷史查詢語句在所述查詢?nèi)罩局谐霈F(xiàn)的次數(shù)修正所述步驟3)最終得出的相似度。
3.如權(quán)利要求2所述的方法,其特征在于,計(jì)算每個(gè)所述歷史查詢語句與所述原始查詢語句的點(diǎn)擊相似度,并用該點(diǎn)擊相似度進(jìn)一步修正步驟幻最終得出的相似度;所述點(diǎn)擊相似度采用如下公式計(jì)算
4.如權(quán)利要求1所述的方法,其特征在于,所述查詢?nèi)罩景ㄓ脩籼峤坏牟樵冋Z句、查詢時(shí)間和點(diǎn)擊的結(jié)果文檔。
5.如權(quán)利要求1所述的方法,其特征在于,通過余弦相似度方法計(jì)算所述候選子話題與所述原始查詢語句的相似度或所述候選子話題與所述擴(kuò)展查詢語句的相似度。
6.如權(quán)利要求1所述的方法,其特征在于,所述語義詞典包括HowNet和同義詞詞林。
7.如權(quán)利要求1所述的方法,其特征在于,所述篩選是將與原始查詢語句的相似度小于所述預(yù)設(shè)閥值的候選子話題刪去。
8.如權(quán)利要求1所述的方法,其特征在于,所述聚類的方法包括K-means方法和后綴樹聚類方法。
9.如權(quán)利要求1所述的方法,其特征在于,在所述聚類后的每個(gè)類中選取一個(gè)歷史查詢作為該類的中心項(xiàng),根據(jù)該中心項(xiàng)的話題包含關(guān)系構(gòu)建所述樹形層次結(jié)構(gòu)。
全文摘要
本發(fā)明提供一種挖掘查詢語句的子話題,并對(duì)子話題進(jìn)行聚類的信息搜索方法。該方法將原始查詢語句和歷史查詢語句分別分詞,得到查詢?cè)~序列,計(jì)算原查詢語句與歷史查詢語句的相似度。進(jìn)一步可將原查詢通過語義詞典進(jìn)行擴(kuò)展,計(jì)算擴(kuò)展查詢語句與歷史查詢語句的相似度,并修正歷史查詢語句與原始查詢語句的相似度;還可通過歷史查詢語句的點(diǎn)擊信息進(jìn)一步修正歷史查詢語句與原始查詢語句的相似度。然后通過相似度的預(yù)設(shè)閥值選出最終子話題,并對(duì)其進(jìn)行聚類以及構(gòu)建樹形的層次結(jié)構(gòu)。用戶通過選擇樹形層次結(jié)構(gòu)的不同葉子節(jié)點(diǎn)來獲得不同分類粒度的檢索結(jié)果,方便用戶按照話題類別來瀏覽檢索結(jié)果。
文檔編號(hào)G06F17/30GK102419778SQ20121000477
公開日2012年4月18日 申請(qǐng)日期2012年1月9日 優(yōu)先權(quán)日2012年1月9日
發(fā)明者孫樂, 江雪 申請(qǐng)人:中國(guó)科學(xué)院軟件研究所