搜索介绍 | 当你搜索时,发生了什么?
全文目錄如下:
一如“萬物皆可百度”、“萬物無難事,只要肯百度”所言,搜索在我們生活中早已成為習(xí)以為常的事情。畢業(yè)季的我們會(huì)在每日99+的群聊信息中搜索所需的信息;工作一上午后會(huì)點(diǎn)開外賣,找找看今日有沒有想吃的午餐;晚上回家路上,打開社交平臺(tái),搜索看看今天都有什么頭條新聞...
點(diǎn)下搜索的瞬間,結(jié)果已出現(xiàn)在屏幕上,快速又便捷。殊不知在小小的屏幕之下,搜索引擎井然有序地在其巨大的數(shù)據(jù)庫中,完成了檢索、排序...
一、搜索
“當(dāng)你終于將相關(guān)的所有信息搜羅到手后,你會(huì)做什么?”作家詹姆斯·格雷克在《信息簡(jiǎn)史》中所言,信息洪流中,各種應(yīng)對(duì)策略也隨之出現(xiàn)。方法多種多樣,但歸根結(jié)底,本質(zhì)上可歸為兩類:要么是過濾,要么是搜索。
現(xiàn)時(shí)代,我們每個(gè)人都能力去自由地生產(chǎn)、消費(fèi)信息,海量的信息涌入數(shù)據(jù)庫。心理學(xué)家斯坦利·米爾格拉姆的一項(xiàng)社會(huì)網(wǎng)絡(luò)實(shí)驗(yàn)“六度分隔”中所證,這個(gè)星球上的每個(gè)人之間最多相隔六個(gè)其他人。
信息亦如此,在復(fù)雜的網(wǎng)絡(luò)中,事物與事物之間擁有很高的連通度,但并非所有的連接都是有價(jià)值的,這些異乎尋常的連接度使得信息的搜索變得困難重重,搜索似乎變成了一件無邊無際的事情。
90年代末,有人預(yù)測(cè)在如此龐大的信息中完成檢索是不可能的,但至今,雖然搜索引擎在某些時(shí)候仍不盡人意,但已經(jīng)具備了基本功能。
搜索介紹
維持生命力的方式就是讓“血液”不停的流動(dòng),從古至今人類一直尋求更新、更快的連接交互方式。
搜索加速了信息的流通,打通了海量數(shù)據(jù)之間的自守狀態(tài),信息走向了開放。用戶可以快速的獲取到高價(jià)值的信息,企業(yè)和平臺(tái)也可通過搜索推送給用戶信息。我們可以更準(zhǔn)確的找到結(jié)果,同時(shí)也可以看到更多相關(guān)的內(nèi)容。
搜索是對(duì)互聯(lián)網(wǎng)上的信息資源進(jìn)行搜集、整理、檢索的一項(xiàng)互聯(lián)網(wǎng)技術(shù)。產(chǎn)品的搜索功能發(fā)展至今,提供給用戶的已不僅僅是信息輸入的搜索框,面對(duì)用戶主動(dòng)地推薦,引導(dǎo)用戶消費(fèi)產(chǎn)品中優(yōu)選高質(zhì)量的內(nèi)容。
可以說搜索帶給了我們?nèi)碌臄?shù)字生活,在不勝其擾的信息中,消費(fèi)者依賴于各種檢索,來區(qū)分精華和糟粕。尤其是對(duì)于新手用戶來說,還可以快速地了解到產(chǎn)品中包含的服務(wù)模塊,如下圖,分別為微信、淘寶、知乎的搜索界面。
微信為一款手機(jī)通信軟件:通過搜索,提供給用戶的內(nèi)容包括有朋友圈、文章、公眾號(hào)、小程序、音樂、表情、服務(wù);
知乎為一款問答社交軟件:提供時(shí)事熱榜、數(shù)碼、影視、科學(xué)、體育等欄目;
淘寶為一款線上購物軟件:主要解決用戶的購物需求,在搜索界面可以看到的功能模塊有搜索記錄、熱搜推薦(商品內(nèi)容)。
二、搜索引擎
搜索引擎簡(jiǎn)介
搜索引擎是一門檢索技術(shù),其核心模塊一般包括爬蟲技術(shù)、檢索排序技術(shù)、網(wǎng)頁處理技術(shù)、大數(shù)據(jù)處理技術(shù)、自然語言處理技術(shù)等;根據(jù)用戶需求、一定算法、特定策略為用戶提供高速、高相關(guān)性的信息服務(wù)。
搜索引擎基本結(jié)構(gòu)一般包括:搜索器、索引器、檢索器、用戶接口等四個(gè)功能模塊。搜索引擎通過其結(jié)構(gòu)來實(shí)現(xiàn)搜索工作,基本原理可分為信息采集模塊、查詢表模塊、檢索模塊。
搜索引擎流程
我們從APP、網(wǎng)站、小程序等不同載體中看到的搜索框,實(shí)際只是搜索引擎系統(tǒng)提供給用戶的檢索界面,當(dāng)我們輸入關(guān)鍵詞,點(diǎn)擊查詢后,搜索引擎對(duì)我們輸入文本進(jìn)行復(fù)雜的分析,并從龐大的數(shù)據(jù)庫中獲取所有相關(guān)的信息,根據(jù)一定的排序策略將檢索結(jié)果呈現(xiàn)至用戶界面。
不同搜索引擎有各自的搜索策略,其索引的獲取、query的分析、排序的算法不盡相同,因此在不同產(chǎn)品的搜索引擎搜索相同的query會(huì)獲得不同的結(jié)果;當(dāng)前搜索引擎收集用戶行為數(shù)據(jù),著力個(gè)性化推薦,同一產(chǎn)品不同時(shí)期檢索某一關(guān)鍵詞,也可能會(huì)獲得不同的結(jié)果頁。
具體流程如下:
搜索引擎類型
提及搜索,我們腦海中馬上浮現(xiàn)的大概有百度、谷歌、淘寶等電商平臺(tái)搜索框、微博等社交平臺(tái)搜索框等。這些我們常用的搜索引擎,主要是全文搜索類型以及垂直搜索類型,除此之外,搜索引擎的類型還包括目錄搜索、元搜索檢索、集合式檢索、門戶搜索引擎等等。
全文搜索:全文搜索從互聯(lián)網(wǎng)上提取網(wǎng)站信息,對(duì)海量的數(shù)據(jù)進(jìn)行有效的管理和快速檢索,最常用的全文搜索引擎有百度、谷歌等;
垂直搜索:垂直搜索引擎是針對(duì)某一行業(yè)的專業(yè)搜索引擎,是搜索引擎的分支和延伸。相較于通用搜索引擎,提供深度、準(zhǔn)確性更高的搜索服務(wù)。垂直搜索引擎的應(yīng)用方向很多,比如企業(yè)庫搜索、供求信息搜索、購物搜索、房產(chǎn)搜索、人才搜索、mp3搜索、圖片搜索、工作搜索、交友搜索等,幾乎各行各業(yè)、各類信息都可以進(jìn)一步細(xì)化成各類垂直搜索引擎。
2.1 分詞
分詞是我們?cè)谒阉鞴δ苤休^常聽到的詞匯之一。
分詞就是對(duì)一段文本,通過規(guī)則或者算法分出多個(gè)詞,每個(gè)詞作為搜索的最細(xì)粒度一個(gè)個(gè)單字或者單詞。分詞的目的主要是為了搜索,尤其在數(shù)據(jù)量大的情況下,分詞的實(shí)現(xiàn)可以快速、高效的篩選出相關(guān)性高的文檔內(nèi)容。
搜索過程中,分詞由搜索引擎內(nèi)的分詞器,執(zhí)行完成。分詞器作用于用戶的輸入內(nèi)容、以及文檔索引建立的這兩部分。前臺(tái)文本內(nèi)容的輸入,來源于不同用戶的需求;索引數(shù)據(jù)的來源可通過業(yè)務(wù)需求決定,自定義設(shè)置。
如在垂類電商業(yè)務(wù)中,我們構(gòu)建索引的原始數(shù)據(jù),便可以是商品的標(biāo)題、詳情、類目信息、品牌信息等,或者是從后臺(tái)建立新的字段,分詞過濾后進(jìn)入索引區(qū),等待檢索。
2.1.1 分詞流程
用戶在搜索引擎界面輸入關(guān)鍵詞,點(diǎn)擊“搜索”按鈕之后,搜索引擎程序開始對(duì)搜索詞進(jìn)行以下處理:分詞處理,根據(jù)情況對(duì)整合搜索是否需要啟動(dòng)進(jìn)行判斷、找出錯(cuò)別字和拼寫中出現(xiàn)的錯(cuò)誤、把停止詞去掉。
分詞的實(shí)現(xiàn)主要依賴分詞器。分詞器為分析器三大構(gòu)成部件之一,文檔的分詞還會(huì)涉及到分詞前的預(yù)處理,以及分詞后的過濾操作。分析器的三構(gòu)件分別為:字符過濾器、分詞器、過濾器,文本在三者間流轉(zhuǎn)順序依次為字符過濾器—分詞器—過濾器。
原始文本在分詞之前,會(huì)流轉(zhuǎn)到字符過濾器,將原始的文本作為字符流接受,通過增、減、改的方式改變字符流。處理后的流進(jìn)入分詞器,按照特定規(guī)則、算法執(zhí)行分詞操作,最后通過不同的過濾器進(jìn)行處理。一個(gè)分析器中可以有0個(gè)或多個(gè)字符過濾器和過濾器,僅有一個(gè)分詞器。
字符過濾器:字符過濾器用于字符流傳遞到分詞器之前對(duì)它進(jìn)行預(yù)處理,字符過濾器支持?jǐn)?shù)字的轉(zhuǎn)換;將所有指定的字符串替換成特定的字符串;將任意字符轉(zhuǎn)換為置頂字符。
分詞器:不同語言分詞規(guī)則有所差異,英文分詞、中文分詞、拼音分詞的分詞策略各不相同。英文分詞可以根據(jù)空格將單詞分開,中文分詞比較復(fù)雜,可以采用機(jī)器學(xué)習(xí)算法來分詞。
過濾器:將切分的單詞進(jìn)行加工。如大小寫轉(zhuǎn)換、去掉停用詞(如“最”、“因?yàn)椤?、“和?#xff09;等,該過濾器不同于檢索時(shí)過濾器。
2.1.2 分詞的算法
現(xiàn)有的分詞包括有英文分詞、中文分詞、拼音分詞。中文分詞與英文分詞有所區(qū)別,中文分詞存在更多的難點(diǎn)和歧義點(diǎn),不同分詞策略對(duì)文檔的召回率和精確率影響較大。
英文單詞與單詞之間,在輸入時(shí)就會(huì)通過空格、逗號(hào)、句號(hào)去隔開,較好的去識(shí)別。而中文由字和字構(gòu)成詞,由詞匯構(gòu)成句子。如何去合理切分,且可以精確傳達(dá)用戶本意、需求,是中文分詞的難點(diǎn)。拼音分詞與中文分詞的結(jié)合,更全面地處理了用戶簡(jiǎn)寫、誤輸入等使用場(chǎng)景。
拼音分詞可以用來分析字詞的全拼、首字母全拼、字詞的完整拼寫等,可以進(jìn)行自定義的設(shè)置。拼音分詞配合中文分詞,完整關(guān)鍵詞的過濾流程,達(dá)到高效分詞的目的。
中文分詞算法主要分為三大類,基于詞典的分詞、基于統(tǒng)計(jì)的分詞、基于有序標(biāo)注的分詞。
不同的分詞策略要適應(yīng)于各自的業(yè)務(wù)場(chǎng)景,可能有些業(yè)務(wù)場(chǎng)景需要分詞的精度大于速度,有些場(chǎng)景要求速度大于精度,因此在理解分詞原理的基礎(chǔ)上,如何去配合業(yè)務(wù)的需求,高效地實(shí)現(xiàn)分詞功能,這些都給算法工程師提出了更高的要求。
2.1.3 分詞的使用
在搜索過程中,分詞器使用于文檔的索引流程以及用戶輸入文本的檢索流程中,需注意的是索引流程和檢索流程中所使用的分詞器需一致。
索引使用:原始文本預(yù)處理后,使用分詞器將文檔內(nèi)容切分為單個(gè)字詞;
檢索使用:用戶輸入文本對(duì)象,分詞器進(jìn)行分詞處理,分詞后建立query對(duì)象,執(zhí)行檢索操作。
中文分詞相較于英文分詞,無空格作為詞之間的分隔符,且中文詞語組合復(fù)雜,歧義較多,一直為自然語言處理中的難點(diǎn)。
2.2 構(gòu)建索引
索引是對(duì)數(shù)據(jù)庫表中一列或多列的值進(jìn)行排序的一種輔助型數(shù)據(jù)結(jié)構(gòu),構(gòu)建索引有助于對(duì)表中數(shù)據(jù)的查找和排序,檢索時(shí)數(shù)據(jù)庫系統(tǒng)不必掃描整個(gè)表,而是直接定位到符合條件的記錄,大大加快了查詢速度,達(dá)到了以下目的:
快速:加快檢索數(shù)據(jù)
篩選:盡快找到符合限制條件的記錄
構(gòu)建索引大大縮短查詢時(shí)間的同時(shí),也帶了了一定的成本,創(chuàng)建和維護(hù)索引都需要時(shí)間成本和空間成本,隨著數(shù)據(jù)量的增加其所占用的物理存儲(chǔ)空間也會(huì)隨之增大。數(shù)據(jù)量大、經(jīng)常使用查詢功能,且需要排序優(yōu)化的業(yè)務(wù)情境下,索引的建立還是很有必要的。
索引的構(gòu)建,主要有倒排序索引和正排序索引。倒排序索引是對(duì)關(guān)鍵詞進(jìn)行索引,以求快速得到匹配文檔集;正排序索引對(duì)文檔進(jìn)行索引,方便于排序、過濾、匯總。倒排序索引和正排序索引是搜索引擎的重要數(shù)據(jù)結(jié)構(gòu),之后檢索等的操作都建立在此基礎(chǔ)上。
2.2.1 倒排序索引
1)倒排序索引介紹
倒排索引(Inverted index),也常被稱為反向索引、置入檔案或反向檔案,是一種索引方法,被用來存儲(chǔ)在全文搜索下某個(gè)單詞在一個(gè)文檔或者一組文檔中的存儲(chǔ)位置的映射。
索引是為了更快找到文檔的一種數(shù)據(jù)結(jié)構(gòu),相當(dāng)于圖書中的目錄,用戶根據(jù)目錄可以快速找到所需內(nèi)容。倒排索引不是根據(jù)目錄或編號(hào)來定位內(nèi)容,它是通過文檔中的某個(gè)字、詞語而找到文檔的索引類型,通過立即的單詞標(biāo)示迅速獲取結(jié)果。倒排索引的建立和維護(hù)較復(fù)雜,但查詢快速、便捷、高效,是文檔檢索系統(tǒng)中最常用的數(shù)據(jù)結(jié)構(gòu)。
2)倒排索引的構(gòu)建流程
倒排序索引的構(gòu)建有兩個(gè)表格至關(guān)重要。表一為文檔編號(hào)及文檔內(nèi)容,表二為分詞后關(guān)鍵詞及對(duì)應(yīng)文檔編號(hào)。數(shù)據(jù)的存儲(chǔ)時(shí),將表二拆分為兩個(gè)數(shù)據(jù)結(jié)構(gòu),用于存儲(chǔ)倒排文件以及關(guān)鍵詞及其偏移量。
搜索最基礎(chǔ)、簡(jiǎn)單的流程便是外部關(guān)鍵詞輸入,表二中查詢到關(guān)鍵詞出現(xiàn)的位置以及文檔編號(hào),最終輸出結(jié)果文檔內(nèi)容。
2.2.2 正排序索引
正排索引(forward index),以文檔編號(hào)為關(guān)鍵字,表中記錄文檔中每個(gè)字的位置信息,查找時(shí)掃描表中每個(gè)文檔中字的信息直到找出所有包含查詢關(guān)鍵字的文檔。正排序索引的查詢往往滿足每個(gè)文檔有序、頻繁的全文查詢和每個(gè)單詞在校驗(yàn)文檔中驗(yàn)證這樣的查詢。
正排索引可以查詢匯總到關(guān)鍵字的屬性、相關(guān)的頻次以及位置等,適用于一些過濾操作以及匯總操作。
比如說搜索 “干飯”時(shí),可以快速查詢出包含“干飯”這個(gè)關(guān)鍵字的文檔,有利于關(guān)鍵字相關(guān)性和權(quán)重的計(jì)算。正排序索引,搜索“干飯”時(shí),搜索引擎需要檢索每一個(gè)文檔中的每一個(gè)關(guān)鍵詞,正排索引適合于一些區(qū)間的索引。在電商的搜索中,有較多的過濾、篩選的選項(xiàng),因此同時(shí)引入正排索引和倒排索引還是很必要的。
2.3 檢索
檢索就是將信息按一定的方式組織和存儲(chǔ)起來,根據(jù)用戶的需要、信息屬性、特征分,利用檢索工具找出有關(guān)信息的過程和技術(shù)。
在檢索之前,搜索引擎會(huì)經(jīng)過大量文本數(shù)據(jù)的的收集,以及處理。但是對(duì)于用戶來說,最關(guān)鍵的并不是找到所有結(jié)果,將查詢到的所有信息展現(xiàn)給用戶沒有太大的意義,也并非用戶的真實(shí)意圖,過多的信息瀏覽和篩選反而會(huì)給用戶帶來糟糕的產(chǎn)品體驗(yàn)。
如何恰當(dāng)?shù)睦斫庥脩羲阉鲀?nèi)容的本意,如何在上千萬的頁面信息中把最相關(guān)、最切合需求的結(jié)果排在最前面,推薦給用戶選擇,才是搜索更好服務(wù)用戶的關(guān)鍵。
2.3.1 檢索流程
檢索流程由用戶特定的信息需求出發(fā),采用一定的方法、技術(shù)手段,根據(jù)一定的線索與規(guī)則從中找出相關(guān)信息,將最終結(jié)果返回至用戶界面。經(jīng)過了分詞處理、query分析、評(píng)分排序、打散重排等流程。在檢索過程中需要在意前臺(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)分、排序策略可以減少用戶鑒別商品的成本,帶來優(yōu)質(zhì)的用戶體驗(yàn)和轉(zhuǎn)化。
2.3.2 Qurey分析
檢索過程中的關(guān)鍵技術(shù)有很多,其中最著名的是query分析技術(shù)。
Query分析是對(duì)用戶原始文本分析、理解實(shí)際意圖的過程,是標(biāo)準(zhǔn)的自然語言處理的任務(wù)。用戶在表達(dá)意圖時(shí),原始query的組織會(huì)出現(xiàn)各種各樣的表達(dá)形式,和檢索語料語義表達(dá)相同,但是文字描述可能會(huì)出現(xiàn)相差較大的情形,如:
用戶地方性語言的表達(dá)差異化,原意想要搜索鋼琴,拼音輸入 “gangqing”;
為快速搜索,只輸入首字母等,原意搜索天氣預(yù)報(bào),輸入“tqyb”;
在中文字符輸入的缺字、錯(cuò)詞、慣用稱呼等情況,原意為王者榮耀,輸入為“王者農(nóng)藥”;
從其他地方整段文字的摘入,原始文本的不完整和其他字符的代入;
陌生詞匯的搜索,如想要搜索 “宿攤” ,并不是很清楚想要查詢內(nèi)容的讀音,就會(huì)有 “宿攤”、“咒術(shù)宿” 等有誤的輸入;
搜索信息冗余,帶有諸多商品屬性,原意搜索為冰箱,輸入“冷凍食物大容量冰箱”;
..
Query分析可能會(huì)涉及到原始文本的分詞、音形轉(zhuǎn)換、詞語過濾、詞性標(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é)果不符合用戶意愿、或者是無查詢結(jié)果的情況,因此對(duì)檢索字符的分析可謂是關(guān)鍵一步。
2.3.2.1 拼寫糾錯(cuò)
用戶在輸入文本搜索時(shí),內(nèi)容不一定完全正確,可能會(huì)出現(xiàn)別字、純拼音、模糊音、拼音漢字混合等問題,在這種情境下就需要提供給接錯(cuò)功能,提升用戶體驗(yàn)。
拼寫涉及復(fù)雜的流程,如下圖所示,以淘寶搜索為例,用戶在搜索框輸入 “shuji” ,原意為“書籍”搜索,判定文本屬于全拼輸入的問題。點(diǎn)擊搜索之后,頁面展示為書籍的搜索結(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ò)的操作。用戶在搜索過程中,提示用戶仍按照原query搜索,或者是選擇糾錯(cuò)后query進(jìn)行搜索,在對(duì)用戶意圖把握不準(zhǔn)確的情況下,提供給用戶自主的選擇權(quán)。
1)拼寫糾錯(cuò)
在英文中,最基本的語義單元是單詞,單個(gè)英文詞的拼寫和組合都可能會(huì)出現(xiàn)失誤,因此在英文拼寫糾錯(cuò)流程中,錯(cuò)誤類型可以分為兩種:Non-word Error 和 Real-word Error , 假詞錯(cuò)誤和實(shí)詞錯(cuò)誤。
Non-word 為拼寫為不存在的單詞,如將 “fight” 拼寫成 “fght” ;Real-word 為拼寫正確但是結(jié)合上下文語境,表達(dá)意思錯(cuò)誤的情況,如 “too much ”,拼寫成 “two much”。
在中文中,最基礎(chǔ)的語義單元是字,用戶通過鍵盤輸入的字符不會(huì)出現(xiàn)錯(cuò)字的情況,但是會(huì)在輸入過程中因?yàn)槠磳戝e(cuò)誤,出現(xiàn)錯(cuò)意的情況,因此以拼音作為發(fā)音中文,其糾錯(cuò)主要基于拼音糾錯(cuò)。
拼寫糾錯(cuò)包括以下步驟,首先對(duì)原query的進(jìn)行相應(yīng)的拼音擴(kuò)展變換,得到與原query讀音相似的候選集;接下來將優(yōu)選的糾錯(cuò)query,與原文本進(jìn)行比對(duì),判斷是否進(jìn)行拼寫糾錯(cuò)、糾錯(cuò)文本的優(yōu)先級(jí)等;最終將決策好的結(jié)果展示給用戶。
拼音構(gòu)成錯(cuò)誤:拼音構(gòu)成錯(cuò)誤,即用戶輸入無法構(gòu)字、不存在的拼音形式,多字母、少字母、錯(cuò)誤輸入字母。類似于英文拼寫錯(cuò)誤中的Non-word Error;如 “ag — ang” 、“uoi— ui ” 等,都為實(shí)際不存在的拼音形式。
模糊音錯(cuò)誤:模糊音的錯(cuò)誤,即用戶輸入為可構(gòu)字正確拼音形式,受到地域性語言文化的影響,會(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” 搜索,無法準(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中查詢“有什么懸疑小說推薦”;經(jīng)過詞權(quán)重的處理,包含“懸疑小說推薦”的文檔會(huì)被保留召回。如下圖,被標(biāo)紅召回的詞有 “懸疑小說”、“懸疑”、“小說” 、“推薦”。
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í)字、短語粒度的語義信息,從而擴(kuò)展到其他query;利用模型解決相關(guā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)無類目預(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)性、語義相關(guān)模型匹配等方式,預(yù)測(cè)用戶意圖,類目預(yù)測(cè)對(duì)用戶搜索結(jié)果可以產(chǎn)生較大影響。
人工方式:項(xiàng)目初期可以采用人工的方式配置query,提升用戶的搜索體驗(yàn)。在用戶數(shù)據(jù)不是很龐大的情況下,通過統(tǒng)計(jì)用戶搜索、點(diǎn)擊等行為,統(tǒng)計(jì)出使用頻次高的query相關(guān)類目。
統(tǒng)計(jì)文本相關(guān)性:通過統(tǒng)計(jì)詞和類目,利用一些方法進(jìn)行相關(guān)性得分、彼此關(guān)聯(lián)性的計(jì)算;從類目維度求和得出每個(gè)詞與類目之間的重要性,以及權(quán)重值。
2.3.3 排序
搜索結(jié)果排序可以說是查詢服務(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)頁文檔中,取出主詞對(duì)應(yīng)的TOP N 個(gè)結(jié)果再進(jìn)行精排;
業(yè)務(wù)排序:搜索引擎從TOP N中,經(jīng)過更復(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è)詞語在長(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ì)引起注意,也就是說,極少見的事件所帶來的信息量多。如果用統(tǒng)計(jì)學(xué)的術(shù)語來描述,就是出現(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ā)貨速度等,來作為評(píng)分因素影響商品的排序。其中的屬性還可以進(jìn)一步細(xì)分,如用戶評(píng)論中可以細(xì)化到評(píng)論數(shù)、好評(píng)率、差評(píng)率、評(píng)論圖片數(shù)、追評(píng)率等。
用戶在搜索時(shí),60%的用戶會(huì)選擇搜索到的前四頁推薦商品進(jìn)行購買,就本人而言,在購買一些生活日消品時(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ù)中常見的下拉提示詞,主要通過前綴匹配,在用戶執(zhí)行點(diǎn)擊搜索行為之前,猜測(cè)用戶意圖。
內(nèi)容獲取:可以通過中文前綴、拼音全拼、拼音首字母簡(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),通過分析用戶的海量行為數(shù)據(jù),結(jié)合人工運(yùn)營(yíng)的干預(yù),提高用戶的搜索效率,更快幫助用戶獲得想要的內(nèi)容。
2.4.2 搜索推薦
電商產(chǎn)品的搜索功能,在商品推薦這方面下了很大的功夫。在下單的每個(gè)環(huán)節(jié)都可以看到推薦運(yùn)營(yíng)的模塊,搜索框及搜索頁面中的搜索發(fā)現(xiàn)、熱搜、購物車中的滿折、滿減促銷、以及處處可見的商品推薦等。
搜索功能相關(guān)的推薦包括搜索發(fā)現(xiàn)、熱搜精選、搜索框關(guān)鍵詞,多數(shù)產(chǎn)品會(huì)通過智能推薦和人工干預(yù)結(jié)合的方式,完善搜索模塊的內(nèi)容推薦。
通過人工干預(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è)用戶想要搜索什么,相比較來說,相關(guān)搜索更類似于推薦系統(tǒng)。在網(wǎng)頁查詢中經(jīng)??梢砸姷较嚓P(guān)搜索的推薦,當(dāng)通過某個(gè)關(guān)鍵詞無法精準(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)頁面
1. 搜索入口類型
我們所見的頁面搜索入口有以下幾種類型,最為常見的頂部搜索框、懸浮搜索入口、底部tab搜索入口、居中搜索框。
2. 搜索頁面-輸入搜索詞
輸入搜索詞時(shí),搜索頁面展示模塊有搜索提示詞、平臺(tái)熱門搜索詞、用戶歷史搜索記錄、輸入文本后的下拉框聯(lián)想詞等。
3. 搜索結(jié)果頁面
點(diǎn)擊搜索按鈕后,頁面返回搜索結(jié)果,可在頁面設(shè)置其他模塊包括關(guān)鍵詞推薦、搜索過濾tab欄等。
4. 特殊搜索情景
頁面特殊搜索情景包括搜索異常、標(biāo)簽用戶搜索等,如搜索無結(jié)果、網(wǎng)絡(luò)異常、新用戶搜索、會(huì)員用戶搜索等。
四、后臺(tái)頁面
1. 搜索關(guān)鍵詞管理
管理熱門關(guān)鍵詞、口令關(guān)鍵詞、搜索提示詞三種類型關(guān)鍵詞。熱門關(guān)鍵詞、搜索提示詞可通過系統(tǒng)算法推薦,三種類型的關(guān)鍵詞接口由運(yùn)營(yíng)人員維護(hù)、查看。
2. 搜索關(guān)鍵詞維護(hù)
后臺(tái)需要運(yùn)營(yíng)的搜索關(guān)鍵詞復(fù)雜繁多,包括有錯(cuò)詞維護(hù)、停用詞維護(hù)、聯(lián)想詞維護(hù)、新詞維護(hù)等。
1)錯(cuò)詞維護(hù)
2)停用詞維護(hù)
3)聯(lián)想詞維護(hù)
4)新詞維護(hù)
五、化繭成蝶
1. 封閉與開放
一方面,互聯(lián)網(wǎng)的開放性是搜索公司的重要生存基礎(chǔ);另一方面,如果各互聯(lián)網(wǎng)企業(yè)各自建立信息群島,不管是對(duì)于互聯(lián)網(wǎng)企業(yè)本身還是對(duì)于用戶來說,都毫無疑問利大于弊。但不管是物理世界還是網(wǎng)絡(luò)世界,開放將是最終訴求。
“每個(gè)產(chǎn)品都有面對(duì)海量用戶的機(jī)會(huì)”,這樣的機(jī)會(huì)使得各大巨頭公司修建自己的護(hù)城河,將用戶圈守在自己的高墻中,減小用戶面對(duì)其他產(chǎn)品的機(jī)會(huì),建立起互聯(lián)網(wǎng)時(shí)代的“信息群島”。
不同產(chǎn)品一邊深植于自己的專業(yè)領(lǐng)域,獲取用戶信任;一邊構(gòu)建自己的信息壁壘,防止用戶的流失。對(duì)于用戶來說,產(chǎn)品的信息聚合會(huì)提供更專業(yè)的內(nèi)容和服務(wù),激烈的市場(chǎng)競(jìng)爭(zhēng)也催生出不斷升級(jí)的使用體驗(yàn)。短期利好彼此,卻不是長(zhǎng)線發(fā)展的趨勢(shì)。
哈佛大學(xué)教授凱·R·桑斯坦在《信息烏托邦:眾人如何生產(chǎn)知識(shí)》中提出信息繭房的概念;意指在信息傳播中,公眾的信息需求不是全方位的,會(huì)將更多的注意力集中于自己的選擇以及使自己感到愉悅的領(lǐng)域,久而久之,將自身禁錮于“繭房”之中。即背離多元性的個(gè)性化推薦,迎合了用戶的偏好,但會(huì)使我們?cè)絹碓匠两谧约合肟础⑾氡磉_(dá)的內(nèi)容,因而造成信息封閉。
信息封閉帶來的消極影響,會(huì)使個(gè)體走向極端,從而對(duì)整個(gè)種族和文化產(chǎn)生“退化”式的影響,塔斯馬尼亞島效應(yīng)我我們提供了現(xiàn)實(shí)發(fā)生的案例。塔斯馬尼亞的島民在封閉的環(huán)境下,逐漸封閉了自己的思維,慢慢地丟失了先進(jìn)的工具、技能。在此情況下,文明開始走向退化,族群也漸漸回歸原始。
信息繭房和塔斯馬尼亞島效應(yīng)在某些角度講述的是一個(gè)故事。信息繭房聚焦到“用戶”特征的個(gè)人本身,認(rèn)為“人的自我”是在與他人、社會(huì)的互動(dòng)中實(shí)現(xiàn)的。
當(dāng)個(gè)人興趣成為探索外界的唯一意向,會(huì)失去精神世界的多元化,朝著定向單線發(fā)展,最終被“極化”,警示我們,海量推薦信息沖擊下的我們,容易走向極端與封閉;而塔斯馬尼亞島效應(yīng)從種族、文明的角度,講述了社會(huì)交流被封閉后,傳承遺失,文明退化的真相,警醒我們,自我封閉的帶來的嚴(yán)重后果。
當(dāng)然, 很少部分的人會(huì)將自己置于自我封繭的境地,我們所熟知的文明也不會(huì)發(fā)生突然的斷裂和極端的退化。
在信息洪流的今天,我們也不是全然被動(dòng)地接受。正如那些年讀過的思修所言,我們是能動(dòng)的個(gè)體,隨著科技的發(fā)展,自身也在主動(dòng)地去適應(yīng)時(shí)代的改變。
2. 化繭成蝶
信息變得廉價(jià)時(shí),注意力就變得昂貴了。 各種信息我們似乎即刻可觸及,我們仿佛處于全能全知的境地。這種富足的窘境,無疑再次提醒了我們,信息不是知識(shí),知識(shí)不是智慧。任何答案都觸手可得的今天,我們似乎越發(fā)無法確認(rèn),到底需要什么——每天從清晨到夜晚歸家,忙碌的穿梭于不同軟件提供的資訊中,工作、購物、娛樂...碎片化的消費(fèi)內(nèi)容,將我們的時(shí)間分散,同時(shí)分散的還有我們的注意力;也常常感慨于 “從前車馬慢,一生愛一人”,也曾驚嘆于巨匠對(duì)文明的貢獻(xiàn)。
信息的發(fā)展讓大眾可以平等、自由地獲取到信息,卻也剝奪了先賢般的定力。
時(shí)代的車輪滾滾向前,無論哪個(gè)時(shí)期,如何辨識(shí)且讀懂信息,似乎沒有其他便捷的方式。至始至終“化繭為蝶” 的關(guān)鍵還在于我們自身。
保持開放的心態(tài),切勿落入自縛的境地;在信息中汲取知識(shí),在知識(shí)中獲得智慧。
人生不易,珍惜擁有,感謝經(jīng)歷。
“Let's save the future!”
總結(jié)
以上是生活随笔為你收集整理的搜索介绍 | 当你搜索时,发生了什么?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 学会这10种定时任务,有点飘了...
- 下一篇: 巨量广告放量计划高级使用技巧干货