站內(nèi)搜索,如何讓我們找到想要的信息?

0 評論 4044 瀏覽 21 收藏 20 分鐘
🔗 产品经理的核心价值是能够准确发现和满足用户需求,把用户需求转化为产品功能,并协调资源推动落地,创造商业价值

互聯(lián)網(wǎng)信息技術(shù),極大地擴(kuò)寬了人類的信息獲取半徑。我們每天都在使用著各種各樣的搜索功能,在微信、小紅書、手機(jī)系統(tǒng)里,我們都在“搜索”。那么,搜索到底是一個怎樣的技術(shù)呢?它是如何讓我們快速找到想要的信息的呢?本文作者對站內(nèi)搜索功能進(jìn)行了分析,一起來看一下吧。

搜索技術(shù),無論是對個人,還是對企業(yè),都是非常重要的技術(shù)。

互聯(lián)網(wǎng)信息技術(shù),對于人類來說,最本質(zhì)的改變在于,極大地擴(kuò)大了人類的信息獲取半徑。

2017 年,IDC 發(fā)布的《數(shù)據(jù)時代 2025》白皮書中,就提到了互聯(lián)網(wǎng)中的信息總量,到 2025 年,將大財 160 億ZB,按照全球的網(wǎng)民按照 50 億人計(jì)算,意味著每個人將被分配到 3.2 ZB 的信息量。這樣的信息量,是在互聯(lián)網(wǎng)之前的時代,在靠書本和語言傳播信息的年代無法想象的。

面對海量的信息,如何找到我們所要的信息,是在互聯(lián)網(wǎng)時代必備的技能之一。而搜索技術(shù),就是這樣一把利器,讓用戶更快地找到自己想要的內(nèi)容。

回顧互聯(lián)網(wǎng)的發(fā)展歷程,起初新浪,網(wǎng)易等各大門戶網(wǎng)站是用戶瀏覽的主要站點(diǎn)。但很快,隨著互聯(lián)網(wǎng)信息的增長,門戶分類的方式已經(jīng)無法滿足用戶尋找信息的需求。接下來的故事,大家也就知道了,像 Google、百度這樣的公司,依靠搜索引擎技術(shù),找到了新的商業(yè)變現(xiàn)模式——“關(guān)鍵詞廣告”,成為了 PC 互聯(lián)網(wǎng)時代的王者。

我們每天都在使用著各種各樣的搜索功能,在微信里,在小紅書里,在手機(jī)系統(tǒng)里,在瀏覽器里,我們都在“搜索”。

那么搜索到底是一個怎樣的技術(shù)呢?

它是怎樣做到讓我們?nèi)绱酥斓卣业较胍男畔⒌哪兀?/p>

一、搜索

搜索功能,本質(zhì)上都是在數(shù)據(jù)庫里進(jìn)行檢索。

比如,在一個人才數(shù)據(jù)庫中,高啟強(qiáng)的數(shù)據(jù)是:

可以理解為,在一份紙質(zhì)表格里找數(shù)據(jù)。例如現(xiàn)在在一個 20 行 6 列的表格里,我們有找到高啟強(qiáng)的信息,那么只要從第 1 行到第 20 行,每行 5 個數(shù)據(jù)局都過一遍,直到高啟強(qiáng)。這就是搜索。

這樣的搜索方式在數(shù)據(jù)庫量級不大的情況下是可行的,但如果數(shù)據(jù)量上升,達(dá)到 2000 萬行,那原來的方式,就行不通了。所以就需要使用更高效的搜索,也就是通過建造[[索引]]的方式來提高搜索速度,例如,京海市的人才庫里有 2000 萬人,如果我先找到姓“高”的人才,再從高姓人才中查找高啟強(qiáng),速度則會快很多。

在 Elasticsearch 中,使用到的“倒排索引”技術(shù)來提高搜索的有效性和可用性。

例如 ES 會為高啟強(qiáng)建立這樣的索引:

  • 38 歲 ~ 高啟強(qiáng)
  • 魚販 ~ 高啟強(qiáng)
  • 京海市 ~ 高啟強(qiáng)

這樣,我在搜索京海市的魚販時,也可以搜索到高啟強(qiáng),提高了搜索的有效性和準(zhǔn)確性。

image-20230226115140275

(倒排索引示意圖,圖片來源于網(wǎng)絡(luò))

二、全網(wǎng)搜索 vs 站內(nèi)搜索

上面講到,搜索本質(zhì)上都是在自己的數(shù)據(jù)庫中檢索,那么根據(jù)一般根據(jù)搜索的范圍劃分,我們可以將搜索技術(shù)分為全網(wǎng)搜索和站內(nèi)搜索

  • 全網(wǎng)搜索,如 google,百度
  • 站內(nèi)搜索,如 淘寶、微信里的搜索

兩者的區(qū)別在于,全網(wǎng)搜索需要檢索全網(wǎng)的內(nèi)容,所以搜索引擎需要利用爬蟲技術(shù),爬取網(wǎng)頁的資料,整合到自己的數(shù)據(jù)庫中,才能被用戶搜到。例如 google 的 spider 爬蟲機(jī)器人,就會定期爬取全網(wǎng)的所有頁面,收錄到 google 的系統(tǒng)中。只有被收錄的網(wǎng)頁,才能夠在 google 搜索到。

而站內(nèi)搜索,因?yàn)樗阉鞯膬?nèi)容都是自己的,所以更重要的是怎樣將內(nèi)容更好地組織好,放到搜索引擎中,讓用戶更快搜索到。舉一個大家日常都在使用的例子 —— 微信搜索:微信就將自己的搜索結(jié)果分為聊天記錄、聯(lián)系人、文章、表情、百科……等等不同的分類,讓用戶更快地找到想搜的內(nèi)容。

三、點(diǎn)擊搜索后,發(fā)生了什么?

由于個人的工作經(jīng)歷相關(guān),之前在一個電商平臺中負(fù)責(zé)搜索相關(guān)的需求。所以今天我們主要來聊聊站內(nèi)搜索功能。

一切搜索的行為,是從用戶輸入一個搜索詞開始的。當(dāng)我們在搜索框中輸入一個詞,點(diǎn)擊搜索后,發(fā)生了什么?

我畫了一張搜索功能的圖景:從一個關(guān)鍵詞開始,搜索服務(wù)會怎么處理,最終返回搜索結(jié)果,如下:

搜索圖景

接下來就分為一個部分來簡單講講搜索服務(wù)的流程。

1. 文本分析器

當(dāng)收到一個“搜索詞”后,并不能馬上發(fā)起搜索,而是要經(jīng)過文本分析和處理,再使用處理過后的文本發(fā)起搜索。

文本分析其

1)分詞

用戶在輸入框中,輸入的可能是一個句子,可能是一個短語,可能是一個詞。用戶的意圖是多樣的。這就是需要我們對用戶輸入的詞語進(jìn)行分詞和理解。

例如用戶輸入的搜索詞是“珠江新城咖啡廳”,這樣的詞語,經(jīng)過分詞算法的處理,可能會識別出以下幾個搜索詞“珠江”,“珠江新城”,“咖啡”和“咖啡廳”。

分詞算法,使用自然語義識別 (NLP)和詞頻分析等技術(shù),比較復(fù)雜。對小公司而言,可以使用一些開源的分詞技術(shù)。大公司可能會根據(jù)自己的業(yè)務(wù)對分詞算法進(jìn)行優(yōu)化,例如美團(tuán)技術(shù)團(tuán)隊(duì)的文章中《美團(tuán)搜索中 NER 技術(shù)的探索欲實(shí)踐》就提到了:在進(jìn)行實(shí)體字典匹配前引入了CRF分詞模型,針對垂直領(lǐng)域美團(tuán)搜索制定分詞準(zhǔn)則,人工標(biāo)注訓(xùn)練語料并訓(xùn)練CRF分詞模型。

在我們之前做的海外項(xiàng)目的分詞中,因?yàn)槟壳皼]有開源的針對小語種的分詞器的,于是只能使用最基礎(chǔ)的空格分詞。例如用戶輸入的是“Be?ikta? Coco Bean Coffee”,經(jīng)過分詞后,會得到“Be?ikta?”,“Coco”,“Bean”,“Coffee” 幾個詞,加上原文本一起分別進(jìn)行搜索。

2)特殊詞處理

分詞結(jié)束后:

  • 部分被禁止的詞語,政治相關(guān)或色情相關(guān)的搜索詞,會被移除,不然,可能就會請喝茶了。
  • 有些預(yù)期主持,例如“嗎”“啊”等停用詞,會被移除。例如用戶搜索的詞語是“附近有咖啡廳嗎?”,其實(shí)就可以理解為“附近”和“咖啡廳”,“有”和”嗎“是可以去掉的。

3)同義詞識別

有些含義相同的詞語,例如經(jīng)典的“西紅柿”和“番茄”,這些同義詞,需要人工維護(hù),搜索運(yùn)營會觀察搜索數(shù)據(jù),講一些常見的同義詞,維護(hù)關(guān)聯(lián)到一起。這樣搜“西紅柿”的時候,也可以搜到“番茄”的結(jié)果。

4)實(shí)體識別(類目預(yù)測)

實(shí)體識別是根據(jù)用戶輸入的搜索詞,預(yù)測用戶想要搜索的實(shí)體(如商品、內(nèi)容、表情等)。這一技術(shù)非常重要,可以很大提高搜索的準(zhǔn)確度。

例如“珠江新城咖啡廳”這個搜索詞,在被分詞為“珠江”,“珠江新城”,“咖啡”和“咖啡廳”后,其中一些詞語會命中特點(diǎn)的類目,例如“珠江新城”會命中商圈、地鐵站的實(shí)體詞庫,“咖啡”會命中食物分類的實(shí)體詞庫,“咖啡廳”會命中餐廳類型的實(shí)體詞庫。

這樣的實(shí)體識別,可以預(yù)測用戶的搜索意圖,在下方做搜索結(jié)果的排序時,提高對應(yīng)實(shí)體的排序。比如,在微信搜索中,如果你搜索“高啟強(qiáng)表情”,那么微信會優(yōu)先展示表情的搜索結(jié)果。

實(shí)體預(yù)測

2. 搜索

搜索的過程,實(shí)際上可以分為召回和排序兩步:

  1. 召回:把符合的搜索結(jié)果拿回來
  2. 排序:按照排序規(guī)則,對召回的結(jié)果進(jìn)行排序

1)召回

召回時常見的問題是在「召回率」和「精確率」的取舍。

召回數(shù)據(jù)的太多,可能會導(dǎo)致召回了不相關(guān)的結(jié)果。召回的數(shù)據(jù)太少,有可能導(dǎo)致想要搜索的結(jié)果沒有召回。

我們可以通過增加篩選條件,通過實(shí)際識別技術(shù),對不同的實(shí)體提供不同的召回率來優(yōu)化搜索結(jié)果。

例如還是在高啟強(qiáng)的案例中,通過名稱來搜索“高啟強(qiáng)”的的人數(shù)肯定是最多的,也就是“姓名”這個實(shí)體重要性最高。通過搜索“舊廠街”來搜索的人數(shù)其次,“住址”這個實(shí)體可以列為中等重要。而通過身高來搜索高啟強(qiáng)的人數(shù)肯定比較少,重要性最差。當(dāng)用戶搜索 175 時,就沒必要召回高啟強(qiáng)的數(shù)據(jù)。

2)排序

常見的排序,是按照單一維度的排序。例如從近到遠(yuǎn)排序,評分從高到底排序。

早期的大眾點(diǎn)評,提供了這樣的排序方式,但是因?yàn)閱我痪S度的排序,往往很難滿足用戶的需求,會導(dǎo)致搜索結(jié)果中出現(xiàn)大量低質(zhì)量的門店。所以后來,大眾點(diǎn)評也將“從近到遠(yuǎn)”優(yōu)化成了“距離優(yōu)先”,將“評分從高到低”優(yōu)化為“好評優(yōu)先”,在距離和評分的基礎(chǔ)上,加上了其他考量因素。這樣既優(yōu)化了用戶體驗(yàn),也提高了商業(yè)效率。

復(fù)雜的排序方式,比如按照“相關(guān)度打分”算法排序,是根據(jù)文本的匹配度,對不同的搜索結(jié)果進(jìn)行打分。讓相關(guān)度更高的搜索結(jié)果,分?jǐn)?shù)就越高。例如在 Elastic search 的全文搜索中,默認(rèn)根據(jù) BM25 算法來計(jì)算文本相關(guān)度,根據(jù)文本匹配度來排序。

基于相關(guān)度算法,不同的實(shí)體之間的相關(guān)度對打分的影響,也是可以調(diào)節(jié)的。

在之前的海外 O2O2 交易平臺中,當(dāng)分詞命中了實(shí)體詞庫后,我們會適當(dāng)提高提高實(shí)體打分的權(quán)重。

例如我在大眾點(diǎn)評中,搜索“珠江新城”這個詞時,如果只考慮店鋪的名稱,那么名稱里含有“珠江新城”的搜索結(jié)果會排在前面,比如“XXX(珠江新城店)”,但這并不是用戶希望看到的,所以此時應(yīng)該提高“商圈”的實(shí)體在打分排序中的權(quán)重。相應(yīng)地,在搜索結(jié)果中,會優(yōu)先展示珠江新城商圈、咖啡廳的餐廳類型,咖啡的食物分類的搜索結(jié)果。至于提高多少,就需要根據(jù)實(shí)際情況來調(diào)優(yōu)了。

搜索_20220226

3. 結(jié)果展示

通過搜索,拿到數(shù)據(jù)后,最后一步就是搜索結(jié)果的展示了。也就是大家搜索后看到的頁面。各個應(yīng)用可以根據(jù)自己的業(yè)務(wù)特點(diǎn),設(shè)計(jì)對應(yīng)的展示樣式。

在設(shè)計(jì)時需要考慮的是:

1)數(shù)據(jù)的展現(xiàn)樣式

例如在淘寶搜索不同商品時,展示的方式不一樣的,有的雙列瀑布流,有的是通欄的列表。

淘寶搜索結(jié)果展示

例如在微信中,搜索不同的內(nèi)容,文章、視頻號、表情、百科等的展現(xiàn)形式都是不同的。

2)展示每一個搜索結(jié)果的哪些信息

例如在大眾點(diǎn)評中,每一個搜索結(jié)果都包含標(biāo)題、圖片、評價、地理位置、距離、商圈、用戶評價、是否有套餐等等信息。產(chǎn)品設(shè)計(jì)是應(yīng)該思考的是如何設(shè)計(jì)一個卡片的展示,在提供用戶想要的消費(fèi)決策信息的同時,保證頁面的簡潔美觀,提高搜索的有效性。

珠江新城咖啡廳

4. 其他搜索相關(guān)的產(chǎn)品設(shè)計(jì)

還有一些其他的搜索產(chǎn)品設(shè)計(jì),這里也簡單講一講。

1)搜索聯(lián)想詞

例如在淘寶的搜索框輸入詞語時,他會自動聯(lián)想你想搜索的結(jié)果。

搜索聯(lián)想詞的實(shí)現(xiàn)方式,是將平臺中常見的搜索詞作為一個庫,當(dāng)輸入文本時,就通過前綴匹配來獲取數(shù)據(jù),再根據(jù)搜索頻次等其他數(shù)據(jù)排序,展示成列表。

搜索聯(lián)想

2)熱搜詞

熱搜詞、或這是熱搜榜單,出現(xiàn)在搜索頁。

主要目標(biāo)群體是給不知道要搜索什么的用戶提供一些熱門的搜索項(xiàng)。

熱搜詞

3)特殊的結(jié)果樣式

例如在淘寶中搜索店鋪名的時候,店鋪會以一個特殊的卡片樣式出現(xiàn)在頂部。

在信息流中,還可以插入廣告,插入其他內(nèi)容等等。例如,在淘寶搜索商品時,商品流中會穿插著廣告、搜索建議、用戶調(diào)研、榜單、內(nèi)容推薦等等。

4)排序方式和篩選

排序方式和篩選通常是放在一起將的,但在【搜索】部分已經(jīng)提及,不再贅述。

而篩選方式,是提供用戶主動選擇的,幫助自己快速定位信息的工具。根據(jù)不同的也誰,篩選項(xiàng)會有很多。

舉個例子:

  • 貝殼找房搜索的篩選器:可以根據(jù)行政區(qū)域,地鐵站、地標(biāo)、整租/合租、租金范圍,活動,樓層,設(shè)施等等來進(jìn)行篩選;
  • 淘寶搜索的篩選器:可以根據(jù)折扣類型,價格區(qū)間,發(fā)貨地,店鋪所在城市等等進(jìn)行篩選。

篩選器的設(shè)計(jì)也都大同小異,許多交互已經(jīng)標(biāo)準(zhǔn)化了。

篩選器

四、結(jié)語

總結(jié)一下,這篇文章主要介紹了站內(nèi)搜索的基本原理、相關(guān)設(shè)計(jì)和優(yōu)化方法。當(dāng)用戶輸入一個關(guān)鍵詞后,要經(jīng)過文本分析后,進(jìn)入搜索服務(wù)。搜索服務(wù)處理后,返回的搜索結(jié)果,前端再根據(jù)合適的展現(xiàn)方案展示,這是搜索的基本流程。除此之外,還介紹了一些搜索相關(guān)的產(chǎn)品設(shè)計(jì)、熱搜詞聯(lián)想詞等等。

這篇文章可以算是搜索產(chǎn)品的基礎(chǔ),了解這些可以幫助更好地理解搜索技術(shù)。

文章不足之處,主要在于對于人工干預(yù)搜索的部分,沒有很好的展現(xiàn)。大多數(shù)產(chǎn)品都會做自己的搜索后臺,用于讓搜索運(yùn)營處理無結(jié)果搜索結(jié)果優(yōu)化,同義詞識別,敏感詞維護(hù)等等。這些內(nèi)容,后續(xù)有機(jī)會再分享。

對于互聯(lián)網(wǎng)產(chǎn)品,無論在電商平臺還是內(nèi)容平臺,搜索都是用戶高頻使用的,尋找信息的方式。在日常生活中,搜索也是我們高頻使用的。

如果覺得這篇文章對你有幫助,求關(guān)注轉(zhuǎn)發(fā)點(diǎn)贊~

本文由 @潦草學(xué)者 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)許可,禁止轉(zhuǎn)載。

題圖來自Unsplash,基于CC0協(xié)議。

該文觀點(diǎn)僅代表作者本人,人人都是產(chǎn)品經(jīng)理平臺僅提供信息存儲空間服務(wù)。

更多精彩內(nèi)容,請關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號或下載App
評論
評論請登錄
  1. 目前還沒評論,等你發(fā)揮!
专题
12158人已学习14篇文章
随着科技的发展,AI技术渗透进各个行业里边,AI图像生成和识别技术有了更大的突破性,本专题的文章分享了AI图像识别。
专题
13362人已学习12篇文章
追热点蹭热点是互联网相关从业人员的一种潜意识,尤其是运营岗、市场岗。本专题的文章分享了如何做节日营销。
专题
13534人已学习11篇文章
产品经理/运营/数据分析师,如果能够掌握一些常用的Excel的技巧,会对工作效率有所提高。本专题的文章分享了经常用到的Excel技巧。
专题
13549人已学习14篇文章
企业架构可以辅助企业完成业务及IT战略规划,还是企业信息化规划的核心,也有助于个人职业的健康长远发展。本专题的文章分享了企业架构详解。
专题
145683人已学习15篇文章
作为产品经理,你多多少少得懂点技术。
专题
12103人已学习11篇文章
本专题的文章分享了消息通知系统设计指南。