搜索策略產(chǎn)品經(jīng)理必知必會(huì)
這篇文章對(duì)搜索引擎的功能模塊進(jìn)行了詳細(xì)、完整的介紹。從使用查詢到得到結(jié)果,整個(gè)過(guò)程都有詳細(xì)的分析。
一個(gè)完整的搜索引擎應(yīng)該有的功能模塊,從用戶使用搜索引擎進(jìn)行查詢,到最終得到查詢結(jié)果,一般需要經(jīng)過(guò)5~6個(gè)環(huán)節(jié),常見的流程包括建立物料索引、查詢語(yǔ)義理解、召回、粗排、過(guò)濾、精排、重排,最終在前端為用戶返回搜索結(jié)果。接下來(lái)將對(duì)每一模塊進(jìn)行詳盡的介紹。
1.搜索引擎實(shí)體識(shí)別
實(shí)體識(shí)別可以理解為搜索引擎對(duì)檢索詞的認(rèn)知。認(rèn)知首先需要一套標(biāo)準(zhǔn)認(rèn)知體系。
1.1.實(shí)體識(shí)別是什么?
實(shí)體識(shí)別,全稱命名實(shí)體識(shí)別(NER,named entity recognition),指對(duì)檢索詞中具有特定意義的語(yǔ)義實(shí)體進(jìn)行識(shí)別,根據(jù)識(shí)別的結(jié)果構(gòu)建召回策略和排序策略。
實(shí)體識(shí)別依賴于我們針對(duì)當(dāng)前業(yè)務(wù)場(chǎng)景構(gòu)建的實(shí)體體系,即認(rèn)知體系。
實(shí)體體系即該領(lǐng)域具有特定意義的語(yǔ)義實(shí)體。例如電商領(lǐng)域的實(shí)體體系可以簡(jiǎn)單分為品牌(brand)、一級(jí)品類(CATG1)、二級(jí)品類(CATG2)、三級(jí)品類(CATG3)、尺寸(size)、顏色(color)、產(chǎn)地(origin)等。
1.2.實(shí)體體系的構(gòu)建
構(gòu)建實(shí)體體系時(shí),需要結(jié)合業(yè)務(wù)的實(shí)際情況進(jìn)行判斷。
2.搜索引擎詞庫(kù)
針對(duì)每一個(gè)領(lǐng)域設(shè)置好對(duì)應(yīng)的實(shí)體體系后,需要針對(duì)實(shí)體體系里的每一個(gè)實(shí)體類別構(gòu)建詞庫(kù)。詞庫(kù)中的每一個(gè)詞都需要具備詞頻和詞性兩個(gè)基本屬性。詞頻用于統(tǒng)計(jì)在實(shí)際語(yǔ)料里面該詞出現(xiàn)的頻次,后續(xù)其他策略要參考這個(gè)指標(biāo),詞性表示該詞的性質(zhì)。
詞庫(kù)的構(gòu)建一般分為兩種:開源詞庫(kù);人工標(biāo)注。
- 開源詞庫(kù):以網(wǎng)上開源詞庫(kù)為基礎(chǔ),人工二次篩選符合業(yè)務(wù)場(chǎng)景的詞,目前開源詞庫(kù)有SogouW、THUOCL。
- 人工標(biāo)注:基于用戶的歷史檢索詞進(jìn)行人工標(biāo)注。沒(méi)有捷徑,必須不斷積累。
3.搜索引擎物料索引
高效的索引是搜索引擎檢索的基礎(chǔ),主要有兩種:正排索引;倒排索引。
- 正排索引:遍歷所有物料,查找物料中是否存在與檢索詞相匹配的實(shí)體,如果存在,則記錄物料SKU ID(電商),最終查出所有包含該查詢?cè)~的物料。
優(yōu)點(diǎn):構(gòu)建索引簡(jiǎn)單且迅速,方便管理。后續(xù)加入or刪除,可以直接添加/刪除。
缺點(diǎn):必須遍歷所有的物料,檢索效率低下。
- 倒排索引:以詞或?qū)嶓w為關(guān)鍵詞進(jìn)行檢索,表中的每一行記錄為包含該索引關(guān)鍵詞的物料在平臺(tái)上的表示ID。
優(yōu)點(diǎn):檢索效率極高,可以快速檢索出查詢?cè)~對(duì)應(yīng)的所有物料
缺點(diǎn):初期構(gòu)建和后期維護(hù)較為復(fù)雜,新增/刪除時(shí)涉及多條記錄的修改。
- 正排索引與倒排索引的差異:正排索引是物料對(duì)關(guān)鍵信息的映射,倒排索引是關(guān)鍵信息到物料的映射。實(shí)際工作中均使用倒排索引進(jìn)行信息檢索,后使用正排索引進(jìn)行信息補(bǔ)全。
針對(duì)物料構(gòu)建倒排索引時(shí),物料的信息來(lái)源有以下三種:標(biāo)簽體系;物料標(biāo)題;物料正文內(nèi)的實(shí)際內(nèi)容(小紅書)。
4.搜索引擎查詢語(yǔ)義理解
當(dāng)用戶搜索時(shí),搜索引擎首先要理解用戶的搜索意圖,通過(guò)對(duì)檢索詞進(jìn)行一系列智能分析,對(duì)檢索詞進(jìn)行歸一化、糾錯(cuò)、分詞、實(shí)體識(shí)別、類目預(yù)測(cè),再進(jìn)行搜索結(jié)果的召回和排序。
4.1.歸一化
查詢語(yǔ)義理解的第一步是對(duì)檢索詞進(jìn)行歸一化處理,一般包含以下幾個(gè)步驟:大小寫統(tǒng)一。把所有大寫都轉(zhuǎn)為小寫;將拼音轉(zhuǎn)為漢字;將英文轉(zhuǎn)為中文;去除特殊符號(hào)。
4.2.糾錯(cuò)
歸一化處理的下一步是糾錯(cuò)。檢索詞糾錯(cuò)是搜索引擎必備的基本功能,有助于提升UE、降低用戶重搜率、擴(kuò)大召回結(jié)果,提升平臺(tái)整體搜索效率。
- 中文檢索詞常見的兩種錯(cuò)誤原因:1.拼音原因 2.知識(shí)錯(cuò)誤
- 檢索詞糾錯(cuò)方法: 1.基于詞典的方法 2.基于規(guī)則的方法 3.基于N-Gram語(yǔ)言模型的方法
簡(jiǎn)單介紹下N-Gram語(yǔ)言模型的基本原理。語(yǔ)言模型是評(píng)估文本序列符合人類語(yǔ)言使用習(xí)慣程度的模型,用于綜合評(píng)估該序列在日常生活中出現(xiàn)的概率和語(yǔ)法上合理的概率,一個(gè)語(yǔ)言模型上所有句子出現(xiàn)的概率和為1。
N-Gram語(yǔ)言模型基于馬爾代夫假設(shè),隨意一個(gè)詞的概率只和它前面出現(xiàn)的有限N-1個(gè)詞有關(guān),基于以上假設(shè)的語(yǔ)言模型即為N-Gram。模型基于分詞后的短語(yǔ)進(jìn)行基于中文編輯距離和拼音編輯距離的相似短語(yǔ)召回。
檢索詞糾錯(cuò)的評(píng)估指標(biāo):召回率、過(guò)糾率。
- 召回率 = 錯(cuò)誤檢索詞被糾正的個(gè)數(shù)/錯(cuò)誤檢索詞的個(gè)數(shù)
- 過(guò)糾率 = 正確檢索詞被糾錯(cuò)的格式/正確檢索詞的個(gè)數(shù)
檢索詞糾錯(cuò)的觸發(fā)方式:詞典觸發(fā);零少結(jié)果觸發(fā);直接針對(duì)原始詞進(jìn)行糾錯(cuò)
4.3.分詞
在中文中,詞代表具有獨(dú)立意義的最小語(yǔ)義單元。檢索詞分詞的目的是將整個(gè)檢索詞切分為一個(gè)個(gè)獨(dú)立的詞,然后做進(jìn)一步處理。然而分詞過(guò)程中面臨著同一個(gè)語(yǔ)句有多種切分方法、未登錄詞識(shí)別等挑戰(zhàn)。
常見的分詞方法有三種:基于詞庫(kù)、基于語(yǔ)言模型、基于字
分詞的評(píng)估標(biāo)準(zhǔn):一般用5個(gè)指標(biāo)進(jìn)行綜合評(píng)估,精準(zhǔn)率、召回率、F1、未登錄詞召回率和登錄詞召回率。
- 精準(zhǔn)率(P) = 實(shí)際分詞后得到的正確分詞數(shù)/實(shí)際分詞后得到的詞數(shù)
- 召回率(R) = 實(shí)際分詞后得到的正確分次數(shù)/正確分詞后得到的詞數(shù)
- F1 = 2PR/(P+R)
- 未登錄詞召回率 = 實(shí)際分詞中精準(zhǔn)識(shí)別的未登錄次數(shù)/語(yǔ)句中出現(xiàn)的未登錄詞總數(shù)
- 登錄詞召回率 = 實(shí)際分詞種精準(zhǔn)識(shí)別的登錄詞總數(shù)/語(yǔ)句種出現(xiàn)的登錄詞總數(shù)
在應(yīng)用分詞結(jié)果時(shí),很多次如“的”“地”“得”等時(shí)不具備語(yǔ)義的,對(duì)后續(xù)環(huán)節(jié)沒(méi)有任何作用,這類詞被稱作停用詞,在最終的分詞結(jié)果中予以去除,以減少后續(xù)環(huán)節(jié)的計(jì)算量,降低處理復(fù)雜度。
4.4.實(shí)體識(shí)別
當(dāng)檢索詞經(jīng)過(guò)分詞后,我們需要為每一個(gè)單詞匹配對(duì)應(yīng)的實(shí)體類型,常見的方法有以下兩種:基于詞庫(kù)的識(shí)別方法;基于序列標(biāo)注模型的識(shí)別方法。(主要用于識(shí)別不在詞庫(kù)里的實(shí)體詞)
在實(shí)際工作中,無(wú)論使用哪一種實(shí)體識(shí)別方法,首先都需要構(gòu)建實(shí)體體系,然后在現(xiàn)有的實(shí)體體系框架下進(jìn)行實(shí)體識(shí)別。
4.5.類目預(yù)測(cè)
類目預(yù)測(cè)有助于更好地計(jì)算檢索詞和物料之間的相關(guān)性,并應(yīng)用到后續(xù)搜索類目導(dǎo)航功能中。
常見的類目預(yù)測(cè)方法有以下三種:
基于人工規(guī)則:通過(guò)日志信息將熱門檢索詞提取出來(lái),然后人工匹配檢索詞和相關(guān)類目。
優(yōu)點(diǎn):可以實(shí)現(xiàn)快速上線
缺點(diǎn):可拓展性差,人工運(yùn)營(yíng)成本較高,在搜索引擎初期使用。
基于用戶行為的數(shù)據(jù)統(tǒng)計(jì)
優(yōu)點(diǎn):利用用戶歷史行為數(shù)據(jù),可以從數(shù)據(jù)中學(xué)習(xí),具有一定拓展性。
缺點(diǎn):對(duì)于長(zhǎng)尾檢索詞的覆蓋度較低。
基于類目預(yù)測(cè)模型:前兩種方法的類目預(yù)測(cè)覆蓋率都很低,拓展性也一般,實(shí)際工作中需要構(gòu)建專門的模型。
1.構(gòu)建類目預(yù)測(cè)模型的第一步是構(gòu)建訓(xùn)練樣本,在電商領(lǐng)域可以將商品標(biāo)題或用戶歷史檢索詞與對(duì)應(yīng)類目構(gòu)成一對(duì),一對(duì)代表一條訓(xùn)練樣本。類目預(yù)測(cè)模型是一個(gè)多分類魔影,一個(gè)檢索詞可能對(duì)應(yīng)多個(gè)類目,目前行業(yè)內(nèi)多使用DNN模型進(jìn)行構(gòu)建。
2.針對(duì)類目預(yù)測(cè)的相關(guān)性設(shè)定閾值。
在實(shí)際應(yīng)用時(shí),一般將類目預(yù)測(cè)模型分為線上、線下兩部分(由于線上模型對(duì)實(shí)時(shí)性要求很高)。
優(yōu)點(diǎn):泛化性強(qiáng),對(duì)于長(zhǎng)尾檢索詞,類目預(yù)測(cè)的準(zhǔn)確率很高。
缺點(diǎn):線上模型耗時(shí)較多,需要設(shè)計(jì)合理的系統(tǒng)架構(gòu)。
4.6.查詢改寫
一方面針對(duì)簡(jiǎn)潔的檢索詞盡可能地?cái)U(kuò)充召回條件,豐富召回結(jié)果,另一方面針對(duì)復(fù)雜的召回詞精簡(jiǎn)條件,提升召回效率。
常見的方法有兩種:
1.基于同義詞的改寫
2.對(duì)于長(zhǎng)尾檢索詞通過(guò)其他輔助行為信息來(lái)進(jìn)行改寫。
5.搜索引擎召回策略
和推薦系統(tǒng)一樣,召回模塊決定了搜索引擎整體效果的上限。搜索引擎常見的召回策略有三種:文本相關(guān)性召回;語(yǔ)音相關(guān)性召回;個(gè)性化召回。
策略一:文本相關(guān)性召回——對(duì)原始檢索詞進(jìn)行實(shí)體識(shí)別后構(gòu)建查詢語(yǔ)法樹(實(shí)體重要性、預(yù)測(cè)類目召回),再和倒排索引里面的實(shí)體進(jìn)行匹配。(注意匹配規(guī)則)
策略二:語(yǔ)義相關(guān)性召回——基于原始檢索詞的隱語(yǔ)義和物料標(biāo)題信息隱語(yǔ)義向量的相似度進(jìn)行召回。(構(gòu)建語(yǔ)義相似度模型、相關(guān)性控制模型)
策略三:個(gè)性化召回——本質(zhì)上還是語(yǔ)義相關(guān)性召回,更充分考慮了用戶的個(gè)性化行為數(shù)據(jù)。
6.搜索引擎粗排策略
粗排邏輯的關(guān)鍵在于在召回的上萬(wàn)個(gè)物料中初篩出和檢索詞匹配度較高且用戶比較感興趣的物料,量級(jí)由萬(wàn)到千。為了更好促進(jìn)用戶轉(zhuǎn)化和維持平臺(tái)整體生態(tài)建設(shè),粗排階段會(huì)加入更多考核指標(biāo)。公式如下
$$Score_粗=a*相關(guān)性分+b*質(zhì)量分+c*轉(zhuǎn)化效率分$$
在粗排環(huán)節(jié)必須對(duì)物料和檢索詞的相關(guān)性進(jìn)行嚴(yán)格把控,在召回策略中,一些寬泛的檢索詞可能匹配非常多的物料。在粗排環(huán)節(jié)需要通過(guò)相關(guān)性分?jǐn)?shù)進(jìn)行初步把控,首先需要計(jì)算每個(gè)物料和檢索詞的相關(guān)性。
相關(guān)性分?jǐn)?shù) = a*文本相關(guān)性 + b*向量相關(guān)性 + c*個(gè)性化相關(guān)性
物料質(zhì)量分一方面取決于物料歷史線上表現(xiàn)效果,另一方面取決于物料的創(chuàng)作者和商家對(duì)平臺(tái)整體生態(tài)建設(shè)的貢獻(xiàn)。以電商平臺(tái)店鋪星級(jí)分為例:簡(jiǎn)單四維度權(quán)重分布轉(zhuǎn)化成公式:
店鋪星級(jí)分 = a*流量分 + b*轉(zhuǎn)化分 + c*服務(wù)分 + d*售后分
轉(zhuǎn)化效率分主要由物料的CVR和CTR兩方面評(píng)估得出的,為此需要構(gòu)建專門的CTR和CVR預(yù)估模型,目前通用的是DNN算法,只不過(guò)相比于推薦場(chǎng)景,在搜索場(chǎng)景模型需要加入更多的檢索詞特征。
補(bǔ)充:因子間耦合嚴(yán)重導(dǎo)致因子計(jì)算方式的調(diào)整會(huì)引起超參數(shù)變化,這時(shí)可以劃分區(qū)間解決。
7.搜索引擎精排策略
7.1.排序策略與特征
精排環(huán)節(jié)的排序分為相關(guān)性排序和多目標(biāo)排序。
相關(guān)性排序:很多公司起初并不具備精細(xì)設(shè)計(jì)排序模塊的能力,一般會(huì)將粗排、精排、重排融合在一起,僅通過(guò)召回階段的相關(guān)性分?jǐn)?shù)排序。千人一面,但可以保證檢索詞和物料的相關(guān)性。
多目標(biāo)排序:$$Score_精=a*相關(guān)性分+b*質(zhì)量分+c*轉(zhuǎn)化效率分$$,因子權(quán)重與粗排公司不同,更側(cè)重轉(zhuǎn)化效率分,模型特征和網(wǎng)絡(luò)結(jié)構(gòu)遠(yuǎn)比粗排模型復(fù)雜。
在搜索場(chǎng)景中,相比于推薦特征,搜索特征增加了一系列以檢索詞為核心的特征。
7.2.PageRank算法
7.2.1.基本假設(shè):
1.數(shù)量假設(shè):一個(gè)網(wǎng)頁(yè)被其他網(wǎng)頁(yè)鏈接的越多,則該網(wǎng)頁(yè)越重要。
2.質(zhì)量假設(shè):一個(gè)網(wǎng)頁(yè)被高質(zhì)量網(wǎng)頁(yè)鏈接,則該網(wǎng)頁(yè)質(zhì)量很高
7.2.2.基本算法:
將互聯(lián)網(wǎng)想象一張圖網(wǎng)絡(luò),網(wǎng)絡(luò)上每一個(gè)節(jié)點(diǎn)(node)就是一個(gè)獨(dú)立的網(wǎng)頁(yè),如果兩個(gè)網(wǎng)頁(yè)之間存在超鏈接關(guān)系,則它們之間存在一條有方向的邊(edge),每個(gè)節(jié)點(diǎn)向外鏈接的節(jié)點(diǎn)數(shù)被稱為該節(jié)點(diǎn)的出度,每個(gè)節(jié)點(diǎn)的PageRank值(以下簡(jiǎn)稱PR值)表示該節(jié)點(diǎn)的權(quán)威性。
8.搜索引擎重排策略
重排環(huán)節(jié)起到的作用和推薦系統(tǒng)一致,也分為全局最優(yōu)策略、用戶體驗(yàn)策略和流量調(diào)控策略。搜索場(chǎng)景中用戶帶有明確的意圖,所以序列優(yōu)化的收益沒(méi)有推薦場(chǎng)景大。搜索場(chǎng)景對(duì)物料多樣性的要求遠(yuǎn)遠(yuǎn)不及推薦廠家,搜索場(chǎng)景一般基于檢索詞返回結(jié)果,大多數(shù)情況都是相同類目,一般針對(duì)同商家、同創(chuàng)作者、同首圖進(jìn)行打散,也使用推薦策略中講到的滑動(dòng)窗口法。
搜索和推薦是App的兩大主要流量場(chǎng),但在電商App中,如淘寶平臺(tái)70%左右的GMV都是由搜索場(chǎng)景轉(zhuǎn)化的哦!
本文由 @乾意 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)作者許可,禁止轉(zhuǎn)載
題圖來(lái)自Unsplash,基于CC0協(xié)議
該文觀點(diǎn)僅代表作者本人,人人都是產(chǎn)品經(jīng)理平臺(tái)僅提供信息存儲(chǔ)空間服務(wù)。
- 目前還沒(méi)評(píng)論,等你發(fā)揮!