當(dāng)你搜索時(shí),發(fā)生了什么?(中)
編輯導(dǎo)語(yǔ):正如“萬(wàn)物皆可百度”這句話所說(shuō)的,當(dāng)我們遇到生活上、工作上的難題時(shí),第一反應(yīng)就是善用檢索,通過(guò)各種搜索軟件解決我們的困惑。你知道,當(dāng)按下搜索鍵時(shí),發(fā)生了什么嗎?
全文目錄如下:
之前的內(nèi)容可前往當(dāng)你搜索時(shí),發(fā)生了什么?(上)
2.3 檢索
檢索就是將信息按一定的方式組織和存儲(chǔ)起來(lái),根據(jù)用戶的需要、信息屬性、特征分,利用檢索工具找出有關(guān)信息的過(guò)程和技術(shù)。
在檢索之前,搜索引擎會(huì)經(jīng)過(guò)大量文本數(shù)據(jù)的的收集,以及處理。但是對(duì)于用戶來(lái)說(shuō),最關(guān)鍵的并不是找到所有結(jié)果,將查詢到的所有信息展現(xiàn)給用戶沒有太大的意義,也并非用戶的真實(shí)意圖,過(guò)多的信息瀏覽和篩選反而會(huì)給用戶帶來(lái)糟糕的產(chǎn)品體驗(yàn)。
如何恰當(dāng)?shù)睦斫庥脩羲阉鲀?nèi)容的本意,如何在上千萬(wàn)的頁(yè)面信息中把最相關(guān)、最切合需求的結(jié)果排在最前面,推薦給用戶選擇,才是搜索更好服務(wù)用戶的關(guān)鍵。
2.3.1 檢索流程
檢索流程由用戶特定的信息需求出發(fā),采用一定的方法、技術(shù)手段,根據(jù)一定的線索與規(guī)則從中找出相關(guān)信息,將最終結(jié)果返回至用戶界面。經(jīng)過(guò)了分詞處理、query分析、評(píng)分排序、打散重排等流程。在檢索過(guò)程中需要在意前臺(tái)用戶輸入原始文本與返回結(jié)果的相關(guān)性,以及返回結(jié)果的重要程度,并依此排序展示。
相關(guān)性是指返回結(jié)果和輸入query之間的線性關(guān)系的強(qiáng)度和方向,重要性是指商品被信賴的程度。如何把相關(guān)性強(qiáng)、重要度高的結(jié)果返回給用戶,如何根據(jù)業(yè)務(wù)需求去權(quán)衡現(xiàn)階段產(chǎn)品帶給用戶的價(jià)值、合理分配評(píng)分權(quán)重,尤為重要。
其在商品繁雜、用戶需求模糊的電商的搜索場(chǎng)景下,商品的評(píng)分、排序策略可以減少用戶鑒別商品的成本,帶來(lái)優(yōu)質(zhì)的用戶體驗(yàn)和轉(zhuǎn)化。
2.3.2 Qurey分析
檢索過(guò)程中的關(guān)鍵技術(shù)有很多,其中最著名的是query分析技術(shù)。
Query分析是對(duì)用戶原始文本分析、理解實(shí)際意圖的過(guò)程,是標(biāo)準(zhǔn)的自然語(yǔ)言處理的任務(wù)。用戶在表達(dá)意圖時(shí),原始query的組織會(huì)出現(xiàn)各種各樣的表達(dá)形式,和檢索語(yǔ)料語(yǔ)義表達(dá)相同,但是文字描述可能會(huì)出現(xiàn)相差較大的情形,如:
- 用戶地方性語(yǔ)言的表達(dá)差異化,原意想要搜索鋼琴,拼音輸入 “gangqing”;
- 為快速搜索,只輸入首字母等,原意搜索天氣預(yù)報(bào),輸入“tqyb”;
- 在中文字符輸入的缺字、錯(cuò)詞、慣用稱呼等情況,原意為王者榮耀,輸入為“王者農(nóng)藥”;
- 從其他地方整段文字的摘入,原始文本的不完整和其他字符的代入;
- 陌生詞匯的搜索,如想要搜索 “宿攤” ,并不是很清楚想要查詢內(nèi)容的讀音,就會(huì)有 “宿攤”、“咒術(shù)宿” 等有誤的輸入;
- 搜索信息冗余,帶有諸多商品屬性,原意搜索為冰箱,輸入“冷凍食物大容量冰箱”;
- ..
Query分析可能會(huì)涉及到原始文本的分詞、音形轉(zhuǎn)換、詞語(yǔ)過(guò)濾、詞性標(biāo)注、糾錯(cuò)、歸一、意圖識(shí)別等,實(shí)際應(yīng)用和前臺(tái)顯示包括有我們常見的搜索聯(lián)想詞、相關(guān)推薦、關(guān)鍵詞預(yù)測(cè)等。處理后的檢索詞可以快速、準(zhǔn)確的查詢出值得用戶信賴的優(yōu)質(zhì)結(jié)果。
面對(duì)用戶形式多樣的意圖表達(dá),可能會(huì)出現(xiàn)查詢結(jié)果不符合用戶意愿、或者是無(wú)查詢結(jié)果的情況,因此對(duì)檢索字符的分析可謂是關(guān)鍵一步。
2.3.2.1 拼寫糾錯(cuò)
用戶在輸入文本搜索時(shí),內(nèi)容不一定完全正確,可能會(huì)出現(xiàn)別字、純拼音、模糊音、拼音漢字混合等問(wèn)題,在這種情境下就需要提供給接錯(cuò)功能,提升用戶體驗(yàn)。
拼寫涉及復(fù)雜的流程,如下圖所示,以淘寶搜索為例,用戶在搜索框輸入 “shuji” ,原意為“書籍”搜索,判定文本屬于全拼輸入的問(wèn)題。點(diǎn)擊搜索之后,頁(yè)面展示為書籍的搜索結(jié)果,但仍然提示是否搜索 “shuji” ,點(diǎn)擊 “仍搜索shuji”,呈現(xiàn)包含 shuji 關(guān)鍵詞的內(nèi)容。
可見在對(duì)query進(jìn)行糾錯(cuò)時(shí),對(duì)于可以產(chǎn)生搜索結(jié)果的關(guān)鍵詞進(jìn)行了原query的保留,以及拼寫糾錯(cuò)的操作。用戶在搜索過(guò)程中,提示用戶仍按照原query搜索,或者是選擇糾錯(cuò)后query進(jìn)行搜索,在對(duì)用戶意圖把握不準(zhǔn)確的情況下,提供給用戶自主的選擇權(quán)。
1)拼寫糾錯(cuò)
在英文中,最基本的語(yǔ)義單元是單詞,單個(gè)英文詞的拼寫和組合都可能會(huì)出現(xiàn)失誤,因此在英文拼寫糾錯(cuò)流程中,錯(cuò)誤類型可以分為兩種:Non-word Error 和 Real-word Error , 假詞錯(cuò)誤和實(shí)詞錯(cuò)誤。
Non-word 為拼寫為不存在的單詞,如將 “fight” 拼寫成 “fght” ;Real-word 為拼寫正確但是結(jié)合上下文語(yǔ)境,表達(dá)意思錯(cuò)誤的情況,如 “too much ”,拼寫成 “two much”。
在中文中,最基礎(chǔ)的語(yǔ)義單元是字,用戶通過(guò)鍵盤輸入的字符不會(huì)出現(xiàn)錯(cuò)字的情況,但是會(huì)在輸入過(guò)程中因?yàn)槠磳戝e(cuò)誤,出現(xiàn)錯(cuò)意的情況,因此以拼音作為發(fā)音中文,其糾錯(cuò)主要基于拼音糾錯(cuò)。
拼寫糾錯(cuò)包括以下步驟,首先對(duì)原query的進(jìn)行相應(yīng)的拼音擴(kuò)展變換,得到與原query讀音相似的候選集;接下來(lái)將優(yōu)選的糾錯(cuò)query,與原文本進(jìn)行比對(duì),判斷是否進(jìn)行拼寫糾錯(cuò)、糾錯(cuò)文本的優(yōu)先級(jí)等;最終將決策好的結(jié)果展示給用戶。
- 拼音構(gòu)成錯(cuò)誤:拼音構(gòu)成錯(cuò)誤,即用戶輸入無(wú)法構(gòu)字、不存在的拼音形式,多字母、少字母、錯(cuò)誤輸入字母。類似于英文拼寫錯(cuò)誤中的Non-word Error;如 “ag — ang” 、“uoi— ui ” 等,都為實(shí)際不存在的拼音形式。
- 模糊音錯(cuò)誤:模糊音的錯(cuò)誤,即用戶輸入為可構(gòu)字正確拼音形式,受到地域性語(yǔ)言文化的影響,會(huì)出現(xiàn)前后鼻音、平卷舌音不分;對(duì)相似讀音輸入有誤等情況。類似于Real-word Error; 如 “ pin—ping ”、“nan—lan”等,都為可構(gòu)詞,表意有誤的拼音形式。
2)可信度分析
原query的拼音構(gòu)成與糾錯(cuò)詞越接近,可信度越高;糾錯(cuò)詞與原文本對(duì)比,原文本被替換的字詞越多,該糾錯(cuò)詞的可信度越低;原query文本內(nèi)容越短,出錯(cuò)的幾率越小,糾錯(cuò)詞可信度相應(yīng)降低;原query在索引有結(jié)果,非不存在詞匯,糾錯(cuò)詞的可信度相應(yīng)降低。
可信度高的糾錯(cuò),會(huì)直接用到糾錯(cuò)后的查詢?cè)~執(zhí)行本次查詢;可信度低的糾錯(cuò),還是用原查詢?cè)~執(zhí)行本次查詢。如上文舉例 “shuji” 搜索,無(wú)法準(zhǔn)確判斷用戶意圖時(shí),可將原關(guān)鍵詞以及糾錯(cuò)后的關(guān)鍵詞,于前臺(tái)展示,由用戶做出選擇。
2.3.2.2 詞權(quán)重分析
詞權(quán)重是檢索查詢中每個(gè)詞的重要程度,將其量化為權(quán)重,權(quán)重較低的詞可能不會(huì)參與召回。
如在google中查詢“有什么懸疑小說(shuō)推薦”;經(jīng)過(guò)詞權(quán)重的處理,包含“懸疑小說(shuō)推薦”的文檔會(huì)被保留召回。如下圖,被標(biāo)紅召回的詞有 “懸疑小說(shuō)”、“懸疑”、“小說(shuō)” 、“推薦”。
2.3.2.3 實(shí)體識(shí)別
實(shí)體識(shí)別全稱為命名實(shí)體識(shí)別(Named Entity Recognition),簡(jiǎn)稱NER,識(shí)別實(shí)體的邊界和類型,如文本中具有特定意義的實(shí)體,主要包括人名、地名、機(jī)構(gòu)名、專有名詞等,在電商行業(yè)中包括材質(zhì)、款式、尺寸規(guī)模、場(chǎng)景、顏色、服務(wù)、品質(zhì)、影視名稱、后綴等。
確定實(shí)體邊界主要和分詞相關(guān),發(fā)現(xiàn)命名實(shí)體首先需要截取部分與定義相關(guān)的特征詞,如query為 “鬼滅炭之郎同款耳飾”,NER任務(wù)從query中提取信息:
- 影視名稱:鬼滅之刃
- 人名:炭治郎
- 后綴:同款
- 品類:耳飾
目前在NER表現(xiàn)良好的模型基于規(guī)則、深度學(xué)習(xí)、統(tǒng)計(jì)學(xué)習(xí),其在查詢實(shí)踐中,主要用于query改寫和類目預(yù)測(cè)中。
1)query改寫
Query改寫是query分析的一個(gè)重要組成部分。query改寫可以生成系列相關(guān)的query,并將選取重要性、可信度最高的一個(gè)query召回。精確召回結(jié)果數(shù)不夠時(shí),選取相關(guān)Top querys同原始query一起參與搜索,擴(kuò)大召回,得到更準(zhǔn)確、豐富的匹配結(jié)果。
Query改寫的召回策略有基于點(diǎn)擊的統(tǒng)計(jì)、query自身、session、詞典同義,主要目的是為了學(xué)習(xí)字、短語(yǔ)粒度的語(yǔ)義信息,從而擴(kuò)展到其他query;利用模型解決相關(guān)判定的問(wèn)題;最后選擇原query以及重要性高的query召回。如用戶搜索 “歐美涼鞋” ,得到可信度高的改寫詞 “羅馬鞋” ,與原query一起參與召回。
query改寫會(huì)根據(jù)其重要性、優(yōu)先級(jí)去選擇實(shí)體進(jìn)行召回。重要性高,重要性中、重要性低的實(shí)體,在查詢配置中按照相關(guān)召回策略,召回匹配結(jié)果。
2)類目預(yù)測(cè)
電商類目中,每一件商品都會(huì)掛在某一葉子類目之下,并有多個(gè)上級(jí)類目;某些活動(dòng)商品可能會(huì)從屬于多個(gè)前臺(tái)類目。
電商后臺(tái)商品的數(shù)量、類目復(fù)雜繁多,再加上用戶在電商平臺(tái)的搜索時(shí),原query可能會(huì)出現(xiàn)無(wú)類目預(yù)測(cè)結(jié)果、與多個(gè)類目相關(guān)、長(zhǎng)尾query繁多、類目重疊等情況,如用戶輸入 “紅色” ,對(duì)原query進(jìn)行類目預(yù)測(cè),可能預(yù)測(cè)出服飾、鞋包、配飾等類目。用戶輸入“男鞋”,會(huì)關(guān)聯(lián)到多個(gè)類目運(yùn)動(dòng)、母嬰、服飾鞋包下。
類目預(yù)測(cè)模型可選取人工方式、統(tǒng)計(jì)文本類目相關(guān)性、語(yǔ)義相關(guān)模型匹配等方式,預(yù)測(cè)用戶意圖,類目預(yù)測(cè)對(duì)用戶搜索結(jié)果可以產(chǎn)生較大影響。
- 人工方式:項(xiàng)目初期可以采用人工的方式配置query,提升用戶的搜索體驗(yàn)。在用戶數(shù)據(jù)不是很龐大的情況下,通過(guò)統(tǒng)計(jì)用戶搜索、點(diǎn)擊等行為,統(tǒng)計(jì)出使用頻次高的query相關(guān)類目。
- 統(tǒng)計(jì)文本相關(guān)性:通過(guò)統(tǒng)計(jì)詞和類目,利用一些方法進(jìn)行相關(guān)性得分、彼此關(guān)聯(lián)性的計(jì)算;從類目維度求和得出每個(gè)詞與類目之間的重要性,以及權(quán)重值。
2.3.3 排序
搜索結(jié)果排序可以說(shuō)是查詢服務(wù)中的關(guān)鍵一步,決定了搜索功能的優(yōu)劣和用戶的滿意程度。搜索引擎對(duì)檢索結(jié)果的排序,涉及兩個(gè)排序流程,包括基礎(chǔ)排序以及業(yè)務(wù)排序,即粗排和精排。
在基礎(chǔ)排序中主要是對(duì)相關(guān)、相似文檔的抽取排序,以及規(guī)劃業(yè)務(wù)邏輯排序所需的top n文檔數(shù)量。業(yè)務(wù)排序是更為精細(xì)化、個(gè)性化的排序策略,針對(duì)不同業(yè)務(wù)下的設(shè)計(jì)相應(yīng)的評(píng)分策略,完整產(chǎn)品可提供給用戶的服務(wù)。
- 基礎(chǔ)排序:從大量的網(wǎng)頁(yè)文檔中,取出主詞對(duì)應(yīng)的TOP N 個(gè)結(jié)果再進(jìn)行精排;
- 業(yè)務(wù)排序:搜索引擎從TOP N中,經(jīng)過(guò)更復(fù)雜的排序規(guī)則,將最終結(jié)果返回給用戶。
在電商搜索中,基礎(chǔ)排序和業(yè)務(wù)排序中的排序方法可以包括相關(guān)性排序、商品屬性排序、個(gè)性化排序。
2.3.3.1 相關(guān)性排序
使用搜索系統(tǒng)時(shí),用戶希望獲得的,并非是全部的查詢結(jié)果,大量重復(fù)的信息會(huì)給用戶造成困擾。理想的排序需要使用評(píng)分函數(shù),去評(píng)估文檔和用戶查詢之間的度量和評(píng)級(jí),根據(jù)相關(guān)度的高低評(píng)判合理的分?jǐn)?shù)值,再加上權(quán)重控制,成為最終文檔排序的依據(jù)。被使用的評(píng)分函數(shù),包括有TF-IDF、Length Nromdeng 。
TF-IDF相關(guān)性排序:TF-IDF(Term frequency / Inverse document frequency)是一種基于信息檢索和文本挖掘的常用加權(quán)技術(shù)。TF/IDF的概念分為TF、DF、IDF介紹。
- Term:Term分詞后的最小單位,如“我喜歡吃火鍋”,“我”、“喜歡”、“吃”、“火鍋”,每一個(gè)詞為一個(gè)term。
- TF (Term frequency):詞頻,即某一個(gè)給定term在該文件中出現(xiàn)的頻率,公式為 Nt / N ,給定term次數(shù)/總term數(shù)。TF對(duì)詞數(shù)的歸一化,防止偏向較長(zhǎng)的文件,同一個(gè)詞語(yǔ)在長(zhǎng)文件中出現(xiàn)的頻率高于在短文件中出現(xiàn)的頻率,不管該詞的重要程度。如上文中的“火鍋”的TF為1/4,TF越高該term在該文件中越重要。
- DF (Document frequency):文檔頻率,即某一個(gè)給定term在總文檔中出現(xiàn)的頻率,計(jì)算公式為 包含給定term的文檔數(shù)/文檔的總數(shù)量 Dt/D。
- IDF(Inverse document frequency):逆文檔頻率,與DF相反,公式為 log(D / Dt),用總文檔數(shù)除以包含給定term的文檔數(shù),再求對(duì)數(shù)。term出現(xiàn)的文檔數(shù)量越多,權(quán)重越小,IDF越高,信息量越大,就越能體現(xiàn)term的重要性。
- 信息量(Amount of information):在日常生活中,極少發(fā)生的事件一旦發(fā)生是容易引起人們關(guān)注的,而司空見慣的事不會(huì)引起注意,也就是說(shuō),極少見的事件所帶來(lái)的信息量多。如果用統(tǒng)計(jì)學(xué)的術(shù)語(yǔ)來(lái)描述,就是出現(xiàn)概率小的事件信息量多。因此,事件出現(xiàn)得概率越小,信息量愈大。即信息量的多少是與事件發(fā)生頻繁成反比,即事件發(fā)生的概率為P,那么他的信息量就是 -logP。
TF-IDF將 TF*IDF 兩個(gè)值相乘,表達(dá)該term的相關(guān)性。
TF從term出現(xiàn)的次數(shù)、頻率這一方面,計(jì)算給定詞的重要性;IDF從信息量的角度出發(fā),去判斷term的信息量值,兩者的乘積可以去掉一些高頻、信息量較低的詞,如“的”、“是”、“和”這類詞頻較高,信息量較少的詞。
2.3.3.2 商品屬性排序
商品屬性通常包括關(guān)鍵屬性、銷售屬性、商品屬性、普通屬性這四種,平臺(tái)可以根據(jù)自己的需求,為商品附加新的屬性描述。
本小節(jié)所提及的商品屬性包括你能想到所有與商品本身相關(guān)的特征屬性,如與商品描述相關(guān)的商品標(biāo)題、商品副標(biāo)題、商品詳情等;與品類相關(guān)的前后臺(tái)類目、各級(jí)分類,包括一級(jí)分類、二級(jí)分類等;與用戶行為相關(guān)的屬性,包括曝光率、下單數(shù)、瀏覽次數(shù)、用戶評(píng)論、發(fā)貨速度等,來(lái)作為評(píng)分因素影響商品的排序。其中的屬性還可以進(jìn)一步細(xì)分,如用戶評(píng)論中可以細(xì)化到評(píng)論數(shù)、好評(píng)率、差評(píng)率、評(píng)論圖片數(shù)、追評(píng)率等。
用戶在搜索時(shí),60%的用戶會(huì)選擇搜索到的前四頁(yè)推薦商品進(jìn)行購(gòu)買,就本人而言,在購(gòu)買一些生活日消品時(shí),會(huì)在綜合排序的topN中,篩選銷量最好的商品。
而且不同場(chǎng)景下的消費(fèi)者,消費(fèi)意圖不同,比如第二天需要出差,急需旅行用品,就會(huì)挑選距離近、配送快的商品。如何去權(quán)衡屬性分配的權(quán)重,成為搜索的難點(diǎn),搜索排序排序的優(yōu)化,還需要工程師們持續(xù)的投入。
2.4 搜索引導(dǎo)
2.4.1 聯(lián)想詞
聯(lián)想詞即我們?cè)谒阉鞣?wù)中常見的下拉提示詞,主要通過(guò)前綴匹配,在用戶執(zhí)行點(diǎn)擊搜索行為之前,猜測(cè)用戶意圖。
- 內(nèi)容獲取:可以通過(guò)中文前綴、拼音全拼、拼音首字母簡(jiǎn)拼查詢以及漢字加拼音、分詞前綴、中文同音別字等查詢獲取。
- 動(dòng)態(tài)推薦:搜索框輸入內(nèi)容發(fā)生變化時(shí),下拉列表中需展示最新輸入內(nèi)容的聯(lián)想詞。
如下圖:當(dāng)我們輸入“xia”、“xiaji”,如圖從query候選集中選擇topN進(jìn)行展示。query候選集的生成策略與用戶熱搜記錄、歷史記錄等相關(guān),通過(guò)分析用戶的海量行為數(shù)據(jù),結(jié)合人工運(yùn)營(yíng)的干預(yù),提高用戶的搜索效率,更快幫助用戶獲得想要的內(nèi)容。
2.4.2 搜索推薦
電商產(chǎn)品的搜索功能,在商品推薦這方面下了很大的功夫。在下單的每個(gè)環(huán)節(jié)都可以看到推薦運(yùn)營(yíng)的模塊,搜索框及搜索頁(yè)面中的搜索發(fā)現(xiàn)、熱搜、購(gòu)物車中的滿折、滿減促銷、以及處處可見的商品推薦等。
搜索功能相關(guān)的推薦包括搜索發(fā)現(xiàn)、熱搜精選、搜索框關(guān)鍵詞,多數(shù)產(chǎn)品會(huì)通過(guò)智能推薦和人工干預(yù)結(jié)合的方式,完善搜索模塊的內(nèi)容推薦。
通過(guò)人工干預(yù)配置搜搜關(guān)鍵詞,把搜索框當(dāng)成的產(chǎn)品的廣告資源位管理,增加平臺(tái)廣告的曝光,是一種主動(dòng)的推薦方式;使用數(shù)據(jù)分析,個(gè)性化展示,可以根據(jù)用戶特征、興趣愛好,實(shí)時(shí)更新改,可以稱呈現(xiàn)給用戶更多相關(guān)內(nèi)容,相比較而言,為被動(dòng)的推薦方式。
2.4.3 相關(guān)搜索詞
相關(guān)搜索詞區(qū)別于搜索前的引導(dǎo),是用戶點(diǎn)擊搜索之后,猜測(cè)用戶想要搜索什么,相比較來(lái)說(shuō),相關(guān)搜索更類似于推薦系統(tǒng)。在網(wǎng)頁(yè)查詢中經(jīng)常可以見到相關(guān)搜索的推薦,當(dāng)通過(guò)某個(gè)關(guān)鍵詞無(wú)法精準(zhǔn)獲得內(nèi)容時(shí),可用相關(guān)搜索推薦補(bǔ)充和擴(kuò)展。如下圖為在谷歌中搜索“百度”的相關(guān)搜索信息示例。
相關(guān)搜索從深度、廣度兩個(gè)方面去幫助用戶找到所需的內(nèi)容,可以更加精確地找到商品,以及擴(kuò)展商品范圍,找到更多的商品。從深度出發(fā)會(huì)應(yīng)用到相似于搜索排序相關(guān)的算法模型,從廣度出發(fā),即使用query擴(kuò)展,從而延伸出更寬范圍的、貼合用戶意圖的詞匯。
三、前臺(tái)頁(yè)面設(shè)計(jì)
– 未完待續(xù) –
本文主要是從小白的角度嘗試?yán)斫馑阉饕娴墓ぷ髟砑肮ぷ髁鞒?。初次涉及搜索領(lǐng)域,文中概念、措辭如有偏差,請(qǐng)留言指教,將虛心學(xué)習(xí)更正。
本文由 @大倉(cāng)鼠 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)許可,禁止轉(zhuǎn)載
題圖來(lái)自Unsplash,基于CC0協(xié)議
干貨滿滿,搜索的三篇寫得太好了。感謝