1. 搜索中的Query擴(kuò)展技術(shù)

        共 5127字,需瀏覽 11分鐘

         ·

        2021-03-17 15:09

        前言

        最近,我司各條業(yè)務(wù)線(xiàn)對(duì)于搜索優(yōu)化的需求日益增多,NLP組也將對(duì)搜索業(yè)務(wù)給予更多的工作支持。后續(xù)分享,我們會(huì)關(guān)注過(guò)往的知識(shí)圖譜、短本文理解等相關(guān)技術(shù)如何落地到搜索業(yè)務(wù)中。

        影響搜索結(jié)果的因素有很多,包括對(duì)短文本的正確理解(實(shí)體詞識(shí)別、糾錯(cuò)、意圖分析等)、長(zhǎng)文本良好結(jié)構(gòu)化(關(guān)鍵詞抽取、主題詞抽取、文本分類(lèi)等)以及排序模型(召回策略、LTR、語(yǔ)義匹配等)。各種優(yōu)化算法落在以上三個(gè)步驟中,對(duì)不同指標(biāo)產(chǎn)生影響。

        對(duì)于搜索優(yōu)化,我們的建議是從召回策略開(kāi)始著手。理由是這個(gè)步驟與實(shí)際業(yè)務(wù)方最近,當(dāng)理清業(yè)務(wù)邏輯后,可以快速實(shí)施,看見(jiàn)變化。另外,召回階段是整個(gè)搜索流程中的基石,所有后續(xù)的排序都基于召回的候選列表,先規(guī)劃好召回策略,才可能盡量避免后續(xù)調(diào)整基石,導(dǎo)致與后續(xù)“精排”相互影響的境地。

        那么改進(jìn)召回我們一般會(huì)做些什么呢?首先一定是通過(guò)產(chǎn)品分析、用戶(hù)調(diào)研來(lái)了解什么內(nèi)容適合在這個(gè)搜索場(chǎng)景里展示,隨后掄起大刀修改檢索的字段或公式。有了baseline之后,我們?cè)谟^(guān)察檢索回的內(nèi)容有什么問(wèn)題??赡苁菦](méi)有匹配內(nèi)容,可能是最匹配的內(nèi)容排序靠后,或者可能是除了字面匹配,其他內(nèi)容相關(guān)性差等等。此時(shí),就可以上一些影響召回的模塊,比如Query詞權(quán)重分配動(dòng)態(tài)時(shí)效性判定、Query擴(kuò)展等。后面會(huì)陸續(xù)有文章分享其他技術(shù),本文我們先關(guān)注如何做Query擴(kuò)展

        總的來(lái)說(shuō),召回于搜索是滿(mǎn)足檢索內(nèi)容的大概范圍,排序是次要的,需要關(guān)注的是Query與召回列表的相關(guān)度(字詞層面和主題層面)。我們需要Query擴(kuò)展技術(shù)的原因這里大致將它們歸納為個(gè)方面。首先,用戶(hù)輸入的Query普遍較短,平均2-3個(gè)詞,可能無(wú)法很好命中需要找的內(nèi)容;其次,Query中的詞通常會(huì)與多個(gè)主題關(guān)聯(lián),搜索引擎根據(jù)簡(jiǎn)短的幾個(gè)詞檢索返回的內(nèi)容可能不是用戶(hù)所關(guān)心的那個(gè)主題;另外,用戶(hù)可能對(duì)自己找的東西只有一個(gè)大致的概念(舉個(gè)栗子,假設(shè)用戶(hù)想要找“黑人抬棺”的視頻,但是并不知道這個(gè)詞的準(zhǔn)確表述,轉(zhuǎn)而使用“棺材”、“黑人” 這些詞來(lái)搜索),Query擴(kuò)展此時(shí)可理解為類(lèi)似聯(lián)想的功能,或者可以理解為將某個(gè)“罕見(jiàn)”搜索詞改寫(xiě)成“常見(jiàn)”搜索詞。

        完整的Query擴(kuò)展技術(shù)路線(xiàn)可見(jiàn)下圖

        對(duì)原始Query首先需要做若干預(yù)處理,包括必要的糾錯(cuò)、補(bǔ)全,從Query中篩選出需要進(jìn)行擴(kuò)展的主題詞或?qū)嶓w詞,對(duì)最終的目標(biāo)詞完成擴(kuò)展。這里我們著重關(guān)注 Expansion Terms 部分。

        從哪里擴(kuò)展

        首先考慮擴(kuò)展詞從哪里來(lái),這點(diǎn)上的思路和大部分語(yǔ)義相關(guān)的NLP任務(wù)類(lèi)似,想法其實(shí)很直白,要不從用戶(hù)習(xí)慣、行為中來(lái),要不從描述事物本身語(yǔ)義中來(lái):

        一、業(yè)務(wù)場(chǎng)景語(yǔ)境

        從用戶(hù)的搜索log中可以挖掘出大量搜索詞的固定搭配

        這些詞首先保證了與原始Query較高的匹配度(都包含“知識(shí)”這個(gè)詞),在業(yè)務(wù)上也滿(mǎn)足大多數(shù)用戶(hù)關(guān)注的話(huà)題。缺點(diǎn)是這一類(lèi)擴(kuò)展詞僅來(lái)自于統(tǒng)計(jì)學(xué)層面,與語(yǔ)義無(wú)關(guān),無(wú)法滿(mǎn)足語(yǔ)義層面上的相關(guān)性。

        二、文檔語(yǔ)料

        除了來(lái)自用戶(hù)的搜索Query,文檔庫(kù)也是擴(kuò)展詞的重要來(lái)源。豐富的語(yǔ)境能夠提供詞之間的相互關(guān)系

        這類(lèi)擴(kuò)展詞的缺點(diǎn)也比較明顯,它與原始Query存在文本上的差異較大,增加召回的同時(shí),可能會(huì)犧牲一定的匹配度。

        三、構(gòu)建領(lǐng)域知識(shí)庫(kù)

        最后一個(gè)途徑是構(gòu)建特定的領(lǐng)域知識(shí)庫(kù),優(yōu)點(diǎn)是對(duì)語(yǔ)義相關(guān)度可以做更精準(zhǔn)的控制,但是構(gòu)建成本較高,同時(shí)如何將知識(shí)信息融入到原統(tǒng)計(jì)機(jī)器學(xué)習(xí)的算法中也有不小難度。

        當(dāng)然,理想的形態(tài)必然是混合以上三種來(lái)源,取其優(yōu)點(diǎn),可以觀(guān)察谷歌的相關(guān)搜索:

        融合了字面、語(yǔ)義、知識(shí)多方面的相關(guān)性。

        擴(kuò)展模型思路

        到模型部分,主要處理的就是原始Query中的term與待擴(kuò)展的term/phrase如何產(chǎn)生關(guān)聯(lián)。目前主流方案為兩大類(lèi),一類(lèi)是以貝葉斯模型為核心,統(tǒng)計(jì)擴(kuò)展term與Query之間的條件概率。另一類(lèi)的思路是把問(wèn)題抽象成一個(gè)翻譯模型,將Query中的詞從scr到target語(yǔ)言完成改寫(xiě)。

        一、相關(guān)模型

        這種方案其實(shí)特別直白,Query詞與擴(kuò)展詞在語(yǔ)料中共現(xiàn)值越大,說(shuō)明它們相關(guān)性越高。也很容易想到使用TF-IDF一類(lèi)的方式去做。經(jīng)典的文獻(xiàn)可以看這篇早在02年發(fā)表的工作:

        《Probabilistic Query Expansion Using Query Logs》

        作者提出需要做Query擴(kuò)展的原因是認(rèn)為用戶(hù)輸入的Query詞與實(shí)際文檔集中的詞存在差異,所以在傳統(tǒng)BM25算法搜索的過(guò)程中很有可能無(wú)法命中。下圖是作者做的驗(yàn)證工作,將文檔和Query都使用詞袋向量表示,向量中元素值為T(mén)F-IDF,可以看到峰值區(qū)間對(duì)應(yīng)的相似度并不高。

        需要構(gòu)建這種聯(lián)系很自然的方式就是利用用戶(hù)行為日志數(shù)據(jù),用貝葉斯模型構(gòu)建概率分布:

        最終公式可以表示為:

        式子右側(cè)括號(hào)中分別融合了擴(kuò)展詞在文檔集中的先驗(yàn)概率、Query詞與文檔在交互session中的共現(xiàn)頻數(shù)以及Query詞在交互session中的頻數(shù)。

        雖然這篇文章過(guò)去了將近20年,但是后續(xù)的利用相關(guān)模型的算法都逃不出這個(gè)套路,方法簡(jiǎn)單卻有效,在剛著手做該任務(wù)時(shí)不妨可以選它作為baseline。

        往后大家對(duì)于這個(gè)套路的Query擴(kuò)展優(yōu)化,多關(guān)注于提高擴(kuò)展詞的質(zhì)量。一個(gè)很自然的邏輯就是可以用term作為擴(kuò)展詞,同樣地,phrase或concept短語(yǔ)也可以。

        《Context-Aware Query Suggestion by Mining Click-Through and Session Data》

        比如類(lèi)似這篇文章中,因?yàn)镼uery中出現(xiàn)的term與它們對(duì)應(yīng)的主題是多對(duì)多的,作者通過(guò)Query聚類(lèi)挖掘出潛在的幾種意圖concept詞,結(jié)合考慮Query Session的問(wèn)題再進(jìn)行后續(xù)擴(kuò)展。

        二、翻譯模型

        除了挖掘出擴(kuò)展詞的方案,另一個(gè)方向是對(duì)Query詞進(jìn)行直接改寫(xiě)。仍然從最簡(jiǎn)單的開(kāi)始,各種復(fù)雜模型的起點(diǎn)其實(shí)都源自符合人類(lèi)直覺(jué)的簡(jiǎn)單假設(shè)。

        《The Mathematics of Statistical Machine Translation: Parameter Estimation》

        這是篇年代更加久遠(yuǎn)的文章,發(fā)表于1993年,它就是著名的IBM算法。本身與Query擴(kuò)展無(wú)關(guān),主要工作是做機(jī)器翻譯,但是它闡述了翻譯模型最原始的假設(shè):

        完成翻譯,我們要完成的無(wú)非是兩件事:1)給定一個(gè)待翻譯的句子,返回目標(biāo)語(yǔ)言表達(dá)這個(gè)句子各個(gè)詞意思的詞;2)將原始語(yǔ)言的詞與目標(biāo)語(yǔ)言的詞一一對(duì)應(yīng)(alignment)。

        IBM算法的核心就是把這個(gè)問(wèn)題抽象成“對(duì)齊”分布式是一個(gè)隱變量的概率問(wèn)題:

        利用EM算法完成求解即可。

        《Towards concept-based translation models using search logs for query expansion》

        做Query擴(kuò)展時(shí),這一思想也被遷移過(guò)來(lái):


        連公式的形式都與原IBM算法是一致的,式子中theta就是改寫(xiě)操作中原始詞與目標(biāo)詞的對(duì)齊概率參數(shù)。文章中,作者也進(jìn)一步實(shí)驗(yàn)了phrase和concept詞的結(jié)果。同時(shí),配合 term weighting 一起食用,效果更好喔!

        《Learning to Rewrite Queries》

        再后續(xù),大家會(huì)考慮進(jìn)一步優(yōu)化alignment分布的學(xué)習(xí)以及融入更多的語(yǔ)義特征進(jìn)去,畢竟IBM算法僅從統(tǒng)計(jì)詞頻的角度估算分布還是太過(guò)單薄。近年來(lái)深度學(xué)習(xí)的發(fā)展自然就帶動(dòng)一些傳統(tǒng)模型向神經(jīng)網(wǎng)絡(luò)向的方法上遷移:

        《Ask the Right Questions: Active Question Reformulation with Reinforcement Learning》

        谷歌在 2018 ICLR 上發(fā)表的工作合并了使用序列模型完成Query改寫(xiě),考慮使用強(qiáng)化學(xué)習(xí)來(lái)進(jìn)一步增強(qiáng)

        這個(gè)方案的大致思路是,模型與索引系統(tǒng)連接,若改寫(xiě)后的Query可以索引出排序更靠前的內(nèi)容,則給予強(qiáng)化模型正向的激勵(lì)。而且,train好的強(qiáng)化模型也可以倒過(guò)來(lái)finetune改寫(xiě)模型。

        增強(qiáng)語(yǔ)義相關(guān)性

        可以看到,計(jì)算原始Query到擴(kuò)展詞或改寫(xiě)詞的關(guān)聯(lián)已經(jīng)有非常多成熟的方法,甚至可以在自己場(chǎng)景里設(shè)計(jì)比較tricky的強(qiáng)化模型方案。而我們認(rèn)為進(jìn)一步提高效果的關(guān)鍵,還是需要主動(dòng)對(duì)業(yè)務(wù)內(nèi)容的組織、理解、良好的結(jié)構(gòu)化。目前火熱的各種文本預(yù)訓(xùn)練模型、知識(shí)圖譜等都印證了這一點(diǎn)。常常看到有人看衰知識(shí)圖譜發(fā)展,不可否認(rèn)因?yàn)樗鼪](méi)有一個(gè)大而獨(dú)立的場(chǎng)景,所以它必然無(wú)法像CV那樣大放光芒。但是我們一直認(rèn)為知識(shí)圖譜的技術(shù)目前最合理的使用方案是浸潤(rùn)在日常的各個(gè)技術(shù)中,它是幫助老技術(shù)突破瓶頸的途徑,沒(méi)有新東西,聽(tīng)起來(lái)當(dāng)然不夠性感。

        說(shuō)到這里,我們對(duì)語(yǔ)義相關(guān)性的增強(qiáng)就可以利用在往期標(biāo)簽生成的文章中提到的方法

        《A User-Centered Concept Mining System for Query and Document Understanding at Tencent》

        利用大量Query的點(diǎn)擊數(shù)據(jù),挖掘出該場(chǎng)景下的各種concept詞。進(jìn)一步,我們將concept詞與醫(yī)學(xué)知識(shí)圖譜形成關(guān)聯(lián),從而替代了前面提到的Query聚類(lèi)方案。

        簡(jiǎn)單實(shí)踐

        挖掘出高質(zhì)量的Concept詞后,由上文提到的關(guān)聯(lián)模型就可以獲得不錯(cuò)的效果:

        當(dāng)遇到多個(gè)實(shí)體,使用關(guān)聯(lián)打分即可:

        總結(jié)

        總的來(lái)說(shuō),Query擴(kuò)展本身并不算一個(gè)復(fù)雜的工作,想要最終效果做得好,我們的建議是:把復(fù)雜的工作向后撤。生成模型或者強(qiáng)化模型看起來(lái)很fancy,操作門(mén)檻以及工程上的支持難度都較大。踏踏實(shí)實(shí)做好數(shù)據(jù)結(jié)構(gòu)化(知識(shí)圖譜構(gòu)建、知識(shí)表示學(xué)習(xí)、長(zhǎng)文本標(biāo)簽化等等),在下游應(yīng)用里,用簡(jiǎn)單模型就能看到效果。有了baseline之后,我們會(huì)考慮用復(fù)雜的方案把關(guān)聯(lián)性構(gòu)建得更好。



        參考文獻(xiàn)

        [1]. Probabilistic query expansion using query logs 
        [2]. Ask the Right Questions- Active Question Reformulation with Reinforcement Learning 
        [3]. Concept-Based Interactive Query Expansion 
        [4]. Query Expansion Techniques for Information Retrieval- a Survey 
        [5]. A Taxonomy and Survey of Semantic Approaches for Query Expansion 
        [6]. The Mathematics of Statistical Machine Translation- Parameter Estimation 
        [7]. Translating Queries into Snippets for Improved Query Expansion 
        [8]. Query expansion using local and global document analysis 
        [9]. Towards concept-based translation models using search logs for query expansion 
        [10]. Extracting Semantic Relations from Query Logs 
        [11]. Context-aware query suggestion by mining click-through and session data 
        [12]. Query Recommendation using Query Logs in Search Engines 
        [13]. Learning to Rewrite Queries 
        [14]. A User-Centered Concept Mining System for Query and Document Understanding at Tencent 
        [15]. 
        Query理解和語(yǔ)義召回在知乎搜索中的應(yīng)用

        瀏覽 82
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報(bào)
        評(píng)論
        圖片
        表情
        推薦
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報(bào)
          
          

            1. www.久热 | 密臀av在线 | 骚骚影院 | 天天操天天av | www.一区二区三区 |