張 輝, 馬少平
(清華大學 計算機科學與技術(shù)系; 智能技術(shù)與系統(tǒng)國家重點實驗室, 北京 100084)
用戶根據(jù)自身的信息需求形成查詢意圖,并將查詢意圖通過關(guān)鍵詞或自然語言的方式提交給搜索引擎;搜索引擎則根據(jù)用戶提交的查詢詞或自然語言,從網(wǎng)絡(luò)上搜集相關(guān)信息整理成與查詢意圖相匹配的搜索引擎結(jié)果頁面(SERP),每條搜索結(jié)果包含了標題、摘要、網(wǎng)址等信息[1].從用戶查詢意圖的形成到用戶提交查詢關(guān)鍵詞的整個過程受限于用戶自身的語言特點,可能發(fā)生信息模糊、信息丟失或信息冗余等情況,在這種條件下查詢關(guān)鍵詞通常難以充分并準確地表達用戶的查詢意圖[2].
Clarke等[3]提出相關(guān)性間接判定假設(shè),即用戶主要根據(jù)SERP中的結(jié)果標題和結(jié)果摘要判斷搜索結(jié)果與用戶查詢的相關(guān)性,繼而決定是否瀏覽/點擊這一搜索結(jié)果.因此, SERP中所展示的搜索結(jié)果是決定用戶搜索交互行為的關(guān)鍵因素.SERP中所展示的搜索結(jié)果給予用戶的最終感受包括內(nèi)容和展現(xiàn)形式兩方面.目前,商用搜索引擎在SERP的展示形式上,通常采用查詢詞突顯(QTH)策略,即通過變色/加粗等方式突出顯示查詢詞,進而達到吸引用戶注意力的目的.這種策略包含兩個假設(shè):① 查詢詞是體現(xiàn)用戶查詢信息需求最重要的詞,這一假設(shè)忽略了用戶提交查詢本身的局限性以及用戶意圖和提交查詢詞之間的不一致性;② 搜索引擎的SERP包含合適數(shù)量的查詢詞,這一假設(shè)忽略了結(jié)果摘要的生成方式千差萬別,能同時滿足代表原始網(wǎng)頁文檔和完美匹配查詢詞這兩個條件的結(jié)果摘要少之又少.例如,查詢需求為“中秋看望父母,聽說喝紅酒對老年人有好處,想買1瓶千元以內(nèi),適合老年人喝的紅酒”.
查詢方法1以“老年人紅酒”作為查詢關(guān)鍵詞時,1條SERP中展示的搜索結(jié)果為:老年人可以適當飲用葡萄酒,不過應(yīng)該注意的是,如果老年人有三高癥狀就堅決不能喝酒.在給老年人選擇葡萄酒時,應(yīng)盡量選擇酒精含量比較低的干型葡萄酒,避免過量……
查詢方法2以自然語言“我想買適合老年人飲用的千元以內(nèi)的紅酒”作為查詢語句時,1條SERP中展示的搜索結(jié)果為:事實上葡萄酒并非都很貴,很多葡萄酒都是百元以內(nèi)的,甚至四五十塊的紅酒有很多都很好喝.很多適宜日常飲用的葡萄酒,果香豐富,口感順滑,便宜又好喝.……這些拍賣行的葡萄酒拍品,往往是老年份的葡萄酒,市場上比較少見的酒,……事實上,新世界的酒,以果味新鮮為主,適合盡早飲用,新西蘭不少走自然風格……
查詢方法1的信息量有限,不能充分地表達用戶的查詢意圖,存在信息模糊及信息丟失現(xiàn)象,如“葡萄酒”、“干紅”這些對于滿足用戶查詢需求有用的詞語并不會被突出顯示;查詢方法2使用的查詢語句較長,與目前商業(yè)搜索引擎通常采用的關(guān)鍵詞框架設(shè)計不一致,存在信息冗余現(xiàn)象,搜索引擎容易把“適合”、“飲用”等這些對于滿足用戶信息需求不重要的詞語突出顯示.
在中文語言環(huán)境下,用戶提交的查詢以關(guān)鍵詞查詢?yōu)橹鳎樵兺^短,含有的信息量有限.余慧佳等[4]統(tǒng)計了查詢?nèi)罩?,發(fā)現(xiàn)有93%的查詢包含不超過3個查詢詞,平均長度為1.85個詞.因此,當用戶提交的查詢?yōu)殛P(guān)鍵詞時,將研究對象定為SERP的文本突顯策略.同時,考慮到結(jié)果標題和結(jié)果摘要在用戶查詢過程中所承擔的作用,為了使所研究的問題更有針對性,重點關(guān)注了搜索結(jié)果中結(jié)果摘要的突顯策略.首先基于用戶標注的突顯詞,提出一種關(guān)鍵詞突顯策略;然后,基于4種常用的序列標注機器學習算法——結(jié)構(gòu)化支持向量機(SVMStruct)、隱Markov(HMM)、最大間隔Markov網(wǎng)絡(luò)(M3N)和條件隨機場(CRF)算法,提出一種新的聯(lián)合序列標注學習(JSL)算法,并利用詞語4個方面的屬性特征自動識別突顯詞;最后,對比分析在2種文本突顯方法下的用戶搜索行為,調(diào)查不同文本突顯方法在整個用戶搜索交互過程中所承擔的作用.
研究內(nèi)容主要包括3個方面:文本突顯對于用戶閱讀、認知及搜索行為的影響;查詢擴展、查詢縮減和查詢推薦的方法;文本關(guān)鍵詞的提取方法.
一段文本內(nèi)不同亮度、顏色的文本具有視覺敏感性.文本突顯的目的是通過改變文本的外在展示形式獲取視覺注意,即“吸引注意力”[5-6].Few[7-8]發(fā)現(xiàn)通過在摘要中突顯查詢詞(顏色突顯)可以吸引用戶的注意力,改善用戶搜索中信息的獲取效率.然而,過多的顏色突顯反而會降低用戶的視覺注意力,引起視覺分散的現(xiàn)象.Kickmeier等[9]通過實驗發(fā)現(xiàn)文本突顯的密度對用戶的點擊行為及記憶準確性都有明顯的影響,文本突顯密度過高或過低都會對用戶造成選擇困擾,從而增加結(jié)果相關(guān)性的判斷時間.然而,這些實驗都著重于研究突顯查詢詞及文本突顯密度對于用戶行為的影響,并沒有考慮突顯不同的詞語對用戶搜索效率的影響.
為了解決用戶所提交的查詢與用戶的查詢意圖不一致的問題,查詢擴展技術(shù)、查詢縮減技術(shù)和查詢推薦技術(shù)通過一定的方法策略,如增加、減少或更換一些詞或詞語到原查詢中,達到提高信息檢索的查全率及查準率的目的[10-11].這些方法從一定程度上解決了查詢信息不足的問題,但其出發(fā)點為查詢詞,被擴展或更換的詞語往往是查詢詞的同義詞、近義詞,或來自于搜索引擎公司提供的查詢推薦詞,這些詞語并不一定存在于SERP的結(jié)果摘要中.因此,搜索結(jié)果的展示方式依然是面向查詢、而非面向用戶查詢意圖的.文本關(guān)鍵詞的提取技術(shù)通過一定的方法策略提取能夠體現(xiàn)作者(原始文本)主要思想的重要詞語[12-13],但其僅與文本自身相關(guān).搜索結(jié)果中需要突顯的詞語是由用戶的查詢?nèi)蝿?wù)所決定的,文本的關(guān)鍵詞并不一定是滿足用戶意圖的關(guān)鍵詞.綜上所述,基于查詢的查詢擴展技術(shù)、推薦技術(shù)和基于搜索結(jié)果的關(guān)鍵詞提取技術(shù)都不能直接作為SERP的結(jié)果摘要突顯詞.SERP的結(jié)果摘要突顯詞是存在于結(jié)果摘要中、與查詢?nèi)蝿?wù)相關(guān)且對于用戶信息查詢需求最重要的詞或詞語.
圖1 用戶標注前后的SERP示意圖Fig.1 The diagram of SERP before and after highlighting words by users
研究由日本國家科學信息系統(tǒng)中心(NACSIS)策劃主辦的檢索與自然語言處理測試任務(wù)(NTCIR IMine)[14]中的12對中文查詢詞,如表1所示.每組2個查詢?nèi)蝿?wù)的查詢需求類似、查詢難度相當,其中包括2組4個導航(NA)類查詢,2組4個事務(wù)(TR) 類查詢和8組16個信息(IN)類查詢.針對每個查詢?nèi)蝿?wù),利用Google搜索引擎獲取前10個純文本的搜索結(jié)果,去除SERP中含有圖片、視頻等內(nèi)容的查詢結(jié)果.
表1 用戶標注采用的24個中文查詢Tab.1 Twenty-four Chinese queries annotated by users
針對表1中的每個查詢?nèi)蝿?wù)撰寫相應(yīng)的任務(wù)描述.提供用戶查詢?nèi)蝿?wù)說明、查詢詞以及去除結(jié)果摘要中文本突顯的SERP(形成統(tǒng)一的字體顏色),供用戶進行突顯詞的選擇及標注,如圖1(a)所示.調(diào)查對突顯文本的內(nèi)容、長短及次數(shù)不進行任何限制,只要求用戶根據(jù)自身對任務(wù)描述及查詢(詞)的理解,標注出個人認為最重要的、對完成查詢?nèi)蝿?wù)最有價值的、最應(yīng)該被突顯的詞或詞語,標注結(jié)果如圖 1(b) 所示.調(diào)查一共邀請了10個計算機專業(yè)、自述能夠熟練地使用搜索引擎的用戶對24個任務(wù)的SERP(前10個結(jié)果)進行標注,最終產(chǎn)生 2 400 個搜索結(jié)果的突顯詞標注結(jié)果.
由圖1可知,用戶標注的突顯詞(關(guān)鍵詞)與查詢詞并不一致.挑選幾個用戶標注的突現(xiàn)詞進行示例,如圖2所示.當查詢?yōu)椤鞍滩∑つw癥狀”時,用戶更傾向于將“艾滋病初期皮膚癥狀”作為一個整體突顯來標注,而不是分別標注“艾滋病”、“皮膚”、“癥狀”等這些單獨的詞語;當查詢?yōu)椤柏S田銳志”時,用戶除了標注“豐田銳志”這個實體,還傾向于標注“參數(shù)配置”、“報價”等與該實體相對應(yīng)的屬性詞;當查詢?yōu)椤爸Ц秾氹娫挕睍r,用戶更傾向于標注出可能的答案,如“95188”和“0571-6500-5120”. 綜上所述,在不同的查詢?nèi)蝿?wù)中,用戶更傾向于標注較長的突顯詞、更為豐富的關(guān)鍵詞或直接標注可能的答案.
圖2 用戶標注突顯詞示例Fig.2 Examples of highlighting words labelled by users
結(jié)果摘要的文本突顯問題可以看作為一個序列標注任務(wù).如圖3所示,在給定查詢Q、結(jié)果標題T和結(jié)果摘要S的情況下,序列標注的最終目的是預測結(jié)果摘要中詞語的突顯標簽Y和非突顯標簽N.前文的用戶標注調(diào)查已經(jīng)得到了 2 400 條用戶的標注數(shù)據(jù),因此可以把識別突顯詞任務(wù)看成一個有監(jiān)督的序列標注任務(wù).
圖3 結(jié)果摘要文本的突顯詞識別問題示例Fig.3 An example of search result snippet highlighting terms tagging
假定摘要的固定長度為K,則輸出序列為y=[y1y2…yK],其中yk(k=1,2,…,K)為第k個詞.能夠觀測到的用戶標注序列為x=[x1x2…xK].其中:xk,yk∈{N,Y},k=1,2,…,K.突顯詞識別任務(wù)由已經(jīng)觀測到的用戶標注序列x對最終的輸出序列y進行估計和推斷[15].在自然語言處理序列標注任務(wù)中廣泛應(yīng)用的SVMStruct[16]、M3N[17]和CRF[18]算法選取條件概率P(y|x),而HMM[19]算法選取聯(lián)合概率P(x,y)分布中最大的一個y*作為輸出序列.在模型訓練階段,預測序列可由下式計算得出:
y*=argmaxyP(y|x) 或
y*=argmaxyP(x,y)
(1)
其中:argmax可以通過Viterbi動態(tài)規(guī)劃算法獲得.
由于SVMStruct、HMM、M3N和CRF算法在預測不同標簽上的特性不同,將這些機器學習算法聯(lián)合起來提出一種新的JSL算法,用以進一步提高算法性能,如圖4所示.
圖4 JSL算法模型示意圖Fig.4 Schematic diagram of JSL algorithm
為獲得序列y,構(gòu)造(K-1)個2×2的轉(zhuǎn)移矩陣Tk(m,n)記為countk(m,n),為k位置上的標簽m變換成標簽n的次數(shù),其中,k=1,2,…,K-1;m,n∈{N,Y}.定義標簽的狀態(tài)權(quán)重為Uk(t)=countk(t),代表位置k上標簽t出現(xiàn)的次數(shù),其中,k=1,2,…,K;t∈{N,Y}.預測序列y的表達式為
(2)
采用基于詞匹配、詞信息、詞向量和詞屬性的4類特征預測一條結(jié)果摘要中哪些詞應(yīng)該被突出顯示為紅色,而哪些詞不需要被突出顯示,表2所示為其特征列表.
表2 突顯詞識別所用詞語特征列表Tab.2 The features used in tagging of the highlighting words
基于詞匹配的特征(★):衡量該詞語是否存在于查詢、結(jié)果標題、維基百科、百度百科或者搜索推薦之中.
基于詞信息的特征(■):衡量該詞語與對應(yīng)的詞語之間的距離或者詞頻-逆文本頻率指數(shù)(tf-idf)值.其中:tf值是該詞在維基百科中的數(shù)量;而idf值則是根據(jù)所有查詢詞對應(yīng)的維基百科文本計算得出的.
基于詞向量的特征(◆):用詞向量表達一個詞,并基于這一向量計算該詞語與對應(yīng)詞語之間的相似度等特征.其中,詞向量是基于搜狗互聯(lián)網(wǎng)語料庫(SogouT)數(shù)據(jù)集[20]采用詞向量(word2vec)[21]算法預先訓練得到的,并在整個突顯詞識別算法的訓練過程中保持不變.
基于詞屬性的特征(●):該詞語自身包含的信息包括詞性、情感以及主題特征,這部分特征可以由中科院ICTCLAS系統(tǒng)和MB-PL-ASUM算法得到[22].
3.4.1模型性能 通常序列預測算法的目標是所有詞語的標簽預測綜合性能達到最優(yōu),一般損失函數(shù)(AverageLoss)表示所有詞語的預測標簽與詞語實際標簽之間的差異程度,其表達式為
AverageLoss=
(3)
為了測試不同算法的綜合性能指標,采用所有種類的特征信息計算5種算法在模型準確度、精度、召回率及F值方面的性能,計算結(jié)果如表3所示.由表3可知:① SVMstruct算法在模型準確度及召回率方面的性能較好;而CRF算法在模型精度及F值方面的性能較好.② HMM算法在模型準確度、召回率及F值3方面的性能都表現(xiàn)得較差,這可能是由于模型本身采用的是聯(lián)合概率而非條件概率所引起的.③ JSL算法在模型準確度、精度及F值方面的性能都是最優(yōu)的,相較于其他4種算法都有一定程度的提高.但由于數(shù)據(jù)的不均衡性,在提高突顯詞語的預測比重后導致了更多的非突顯詞不能被識別,故在召回率方面有所降低.各算法在JSL算法中的所占比重分別為:SVMstruct算法占70.1%;CRF算法占16.2%;M3N算法占7.1%;HMM算法占6.6%.SVMstruct算法與CRF算法所占比重較高,這是由于SVMstruct算法和CRF算法解決了M3N算法的標簽偏置問題并弱化了HMM算法的獨立性假設(shè),所以在JSL算法中優(yōu)勢更為突出,獲得了較大的比重.
表3 各序列標簽學習模型的性能對比
Tab.3 The performance comparison of different sequence label learning algorithms
算法準確度/%精度/%召回率/%F值/%SVMstruct92.5019.2090.4031.7HMM81.1017.8063.2027.8M3N90.0032.8064.5043.5CRF91.2037.9062.4047.2JSL93.3048.5069.4057.1
3.4.2不同特征下的JSL算法性能 不同特征下的JSL算法性能如表4所示,其中↑和↓為相比于上一個數(shù)量較少的特征,F(xiàn)值的變化是增大還是減小.由表4可知:① 當僅采用詞匹配和詞屬性信息特征時,查詢效果較差;當采用詞信息或詞向量特征時,查詢效果明顯提高,說明用戶需要更多有效的信息為搜索交互過程提供必要的線索.② 當將詞向量與詞匹配、詞信息與詞屬性分別組合成2組特征信息時,則算法的F值有所下降,這可能是由于2組特征混合在一起后使得算法出現(xiàn)了過擬合問題,同時也說明詞向量對于JSL算法而言是作用比較大的一組特征;當采用3組特征時,F(xiàn)值有所提高;當采用4組特征時,JSL算法性能達到最優(yōu),說明這4組特征在識別突顯詞這一任務(wù)中都是有效的特征.③ 當預測所有詞語的整體準確度達到93%時, JSL算法的F值僅有57%,說明該數(shù)據(jù)集是一個不均衡的數(shù)據(jù)集,突顯詞數(shù)量非常少,因而出現(xiàn)了過擬合的問題.
表4 不同特征下的JSL算法性能比較
Tab.4 The performance comparison of JSL algorithm under different features
3.4.3不同任務(wù)下的JSL算法性能 不同搜索任務(wù)下,同時采用4類特征時的JSL算法性能如表5所示,其中ALL為所有任務(wù).由表5可知:① 當搜索任務(wù)為NA類查詢?nèi)蝿?wù)時,JSL算法的預測性能最優(yōu),這是由于NA類查詢?nèi)蝿?wù)是搜索一個與查詢高度相關(guān)的網(wǎng)站,此時預測算法使用的特征已經(jīng)包含了查詢內(nèi)容;當搜索任務(wù)為TR類和IN類查詢?nèi)蝿?wù)時,用戶往往需要更加豐富的線索信息,此時預測突顯詞更加困難.② 當搜索任務(wù)為ALL時,預測摘要中的查詢詞性能較好,而預測摘要中的非查詢詞性能較差, 其F值分別為70.2%和38.7%.這可能是由于所采用的特征大部分是與查詢相關(guān)的特征,所以預測查詢詞較容易,而預測非查詢詞較困難.③ 從預測結(jié)果可以看出,當查詢?nèi)蝿?wù)是TR類或IN類時,用戶需要更豐富的線索信息以直接突顯答案,但目前的預測算法在這方面的性能有待提高,這可能會是下一步的研究重點.
表5 不同搜索任務(wù)下JSL算法的性能
Tab.5 The performance comparison of JSL algorithm under different search tasks
搜索任務(wù)突顯詞F值/%NA類全部摘要詞語66.0TR類全部摘要詞語56.4IN類全部摘要詞語53.0ALL查詢詞70.2ALL非查詢詞38.7
實驗邀請了12名參與者,包括4名女生和8名男生,均為同一所大學一年級的本科生,就讀專業(yè)包括經(jīng)濟學、美學、法學、社會科學等,自我報告有1年以上的搜索引擎使用經(jīng)驗.每人需要完成24個查詢?nèi)蝿?wù),其中12個任務(wù)采用QTH策略,另外12個任務(wù)采用關(guān)鍵詞突顯(KTH)策略.實驗采用希臘拉丁方及隨機序列方法保證每個任務(wù)以相同的概率展現(xiàn)給用戶.針對每種突顯策略下的每個查詢?nèi)蝿?wù),收集到6個用戶的查詢?nèi)蝿?wù)數(shù)據(jù).實驗提供的界面形式采用Google框架的搜索引擎,用戶可通過該搜索引擎完成正常的搜索功能.此外,用戶交互的鼠標數(shù)據(jù)和眼動數(shù)據(jù)均會被記錄下來.實驗要求參與者必須在90分鐘內(nèi)完成所有查詢?nèi)蝿?wù),完成任務(wù)后通過口頭詢問的方式確保參與者以認真的態(tài)度完成任務(wù),同時搜集用戶關(guān)于頁面突顯感受的反饋.
搜索用戶的交互過程通常采用的是成本-效益框架評價搜索引擎的性能[23-24],并以商業(yè)搜索引擎采用的QTH策略作為對比基準,與基于JSL算法產(chǎn)生的KTH策略進行對比,采用的評價指標如表6所示.
表6 搜索效益評價指標體系Tab.6 The evaluation index system of search performance
表7 KTH與QTH策略下的搜索效益對比
Tab.7 The performance comparison between KTH and QTH highlighting strategies
指標NA/%IN/%TR/%C-CG8.2Δ9.1Δ22.4C-DCG6.2Δ4.820.9DT6.3Δ18.713.0C-RN5.0Δ7.8Δ19.0C-RD26.713.7Δ17.6C-SL5.0Δ8.218.6
用戶的注視行為熱度如圖5所示.突顯詞可以吸引用戶的注意力,讓用戶“注意看”突顯詞,進而使得用戶關(guān)注位置靠后但更為相關(guān)的搜索結(jié)果.當查詢詞為“降壓藥種類”時,在QTH策略下(見圖5),突顯詞為“降壓藥”、“種類”等,用戶優(yōu)先關(guān)注排名靠前的結(jié)果,排名靠后的結(jié)果(排名為第7和第8名的結(jié)果)用戶基本不會注意到;在KTH策略下(見圖6),排名為第7和第8名的結(jié)果突顯詞為“6大類”、“5大類”、“利尿藥”、“β受體阻滯藥”和“鈣離子拮抗劑CCB”等,用戶則重點關(guān)注了這些結(jié)果突顯詞,原因是這些結(jié)果突出詞顯示了對于用戶查詢意圖更有價值的關(guān)鍵詞.
圖5 用戶注視熱度圖Fig.5 People’s gaze paths in the heat map
圖6 用戶注視熱度圖Fig.6 People’s gaze paths in the heat map
基于用戶標注的數(shù)據(jù),提出一種新的突顯策略,以突顯更能滿足用戶查詢意圖的關(guān)鍵詞;采用JSL算法,使用詞匹配、詞信息、詞向量以及詞屬性4個方面的特征,自動識別搜索結(jié)果摘要中的突顯詞,取得了接近于人工標注的效果;設(shè)計用戶搜索實驗,并且與目前通用的QTH策略進行對比,進而分析不同突顯策略對于用戶行為及搜索效益的影響.實驗證明不同突顯詞對于用戶搜索行為有較大的影響,KTH策略明顯優(yōu)于QTH策略,能夠有效地提升搜索效益.