搜尋產品指南:必須知道的幾件事

搜尋產品有很多,其中有哪些需要注意的問題?在技術之外,我們還需要知道什麼?

搜尋產品指南:必須知道的幾件事

搜尋本身是一個比較技術的事情,小白產品想要學習搜尋的產品知識,就會發現各大論壇上的搜尋相關內容都是技術為主。即使買上幾本搜尋相關的書籍也大部分講的是搜尋引擎的原理,無從下手去學習,入門就更難了。

那對於一個搜尋小白來說,到底應該怎麼樣去設計一個搜尋引擎呢?

搜尋路徑:輸入搜尋詞-抓取資料-分析使用者搜尋意圖-識別意圖並召回內容-結果集排序。

一、抓取資料

搜尋引擎:在全網中抓取儘可能全的資料,供搜尋引擎查詢。

垂類搜尋引擎:這些資料95%以上都是平臺自建的,所以不需要去其他平臺抓取資料。如:淘寶、美團都是平臺自己維護的資料,平臺需要做的事情就是儘量讓資料準確、真實。如果一個賣衣服的商品錄入的資訊全是賣鞋的,即使引擎再好也無法識別這件“衣服”。

二、分析使用者搜尋意圖:分詞、詞語處理、詞語識別

1。 分詞:單字分詞、短語分詞

1)單字分詞

就是使用者輸入詞分成單個字,每個單字匹配上搜索域就可以被搜尋,這種分詞簡單易開發,適合spu和品類較少的平臺。但這種分詞方式有一個弊病,那就是搜尋結果不準。

就比如我想搜尋“小金鎖”的面膜,那搜尋域中匹配上“小”、“金”、“鎖”三個字就可以被召回,真實案例就是搜尋結果出現“金色小米手機人臉解鎖”的手機,尷尬至極。

2)短語分詞

這種分詞方式需要準備一個基於自己平臺的分詞詞庫(如果沒有找一個開源詞庫),分詞引擎基於這個分詞庫來分詞並進行搜尋。

比如你想搜尋“小金鎖”,分詞庫中包含“金鎖”、“小金鎖”,那你搜索的詞就會被分成“小”、“金鎖”、“小金鎖”,那搜尋域中是“金色小米手機人臉解鎖”的sku就不會被搜尋出來,因為“金鎖”、“小金鎖”這兩個詞並沒有匹配上。

部分垂類需要自建自己平臺的分詞庫,比如電商類的平臺,就可以從品類名稱、地域名稱、品牌名稱、店鋪名稱去搭建一個基礎庫。提供一個思路大家自己去思考,下一步應該怎麼搞?

2。 詞語處理類

使用者搜尋詞千奇百怪,避免不了同一個搜尋結果,每個人搜尋的詞不相同。但為了保證無論使用者輸入什麼搜尋詞,都可以變成想要的結果,這個時候就需要同義詞、近義詞、錯別字、遮蔽詞來干預。

1)同義詞

因為結果集取並集,所以使用者無論搜尋同義詞中的哪個詞,得到的結果都是相同的。

同義詞庫搭建的時儘量保證詞庫的真實、準確,如果匹配分詞庫時有專業的業務部分,最好和業務部分確認好後再配置。如:剃鬚刀、刮鬍刀,書、圖書,上海九院、上海第九人民醫院,拖鞋、鞋拖。

2)近義詞

近義詞是兩種詞的定義接近但又不是同一個東西的時候,一般配置近義詞。如:生抽、老抽,獼猴桃、奇異果。

有的人認為不是一種東西,有的人又非說是一種東西(人的認知邊界,此處不接受槓)。所以,近義詞可以完美解決這種情況。排序的時候優先展示搜尋詞的結果集,配置的近義詞在搜尋詞結果展示完後展示;當然也可以穿插展示,具體情況具體設計。

3)錯別字

錯別字需要做的是定義主詞和錯別字詞,錯別字在沒有進入搜尋引擎的前一步就完成的替換。

錯別字情況在搜尋引擎中最常見,如:雅詩蘭黛、雅思蘭黛、雅詩蘭戴、雅詩藍黛。這種情況簡單點就走同義詞,但對應的搜尋詞和搜尋域的相似度會有一定程度的影響,所以錯別字還是最有解決方案。

4)遮蔽詞

遮蔽掉一些無關或者無意義的詞。

如各種奇奇怪怪的標點符號、各種反d反d的詞語等,行業內有很多標準詞庫。在技術論壇上查詢,不過多介紹。

3。 詞語識別類

主要還是標記一些詞為特殊詞,可以在使用者搜尋該類詞的時候,給出一些特殊樣式的驚喜,就比如搜尋“雅詩蘭黛”,不僅僅展示“雅詩蘭黛”商品,也可以展示“雅詩蘭黛”店鋪、“雅詩蘭黛”活動入口等等,給使用者的驚喜也是很大的!

三、識別意圖並召回內容

1。 搜尋域:搜尋域就是搜尋詞匹配相似度的文字

初級的搜尋產品,可能會覺得所有的資訊都放進搜尋域中就行了。其實大錯特錯,這樣導致的結果就是非常不準確。這個時候,搜尋產品一定要剋制,儘量把重要的欄位放在搜尋域中,就比如:商品標題、品類、標籤、sku名稱、sku規格等。

2. 相似度:搜尋詞和搜尋域匹配度也叫相似度(偏技術可略過)

1)分詞方式

如使用者搜尋:“你說的確實在理”。

“你說”、“的”、“確實”、“在理”=1*2+2*1+3*2+4*2=18

“你說”、“的確”、“實”、“在理”=1*2+2*1+3*1+4*2=15

“你說”、“的確”、“實在”、“理”=1*2+2*1+3*2+4*1=14

機器無法判定那種分詞方式是對,但是數字可以判斷大小。所以,搜尋詞先判定了第一種分詞方式(真正的分詞比這個還要複雜,用分詞數量和分詞位置比較好理解,下幾篇文字會詳細講下如何分詞)。

2)匹配方式or和and

or和and無非就是使用者搜尋詞和搜尋域匹配的結果集是要部分匹配還是完全匹配,用哪種模式還是比較看行業的。電商、020建議用and較好,社群、影片等內容類建議用or較好。

3)文字相似度=餘弦相似度

餘弦相似度,就是透過一個向量空間中兩個向量夾角的餘弦值作為衡量兩個個體之間差異的大小。把1設為相同,0設為不同,那麼相似度的值就是在0~1之間。餘弦相似度的特點是餘弦值接近1,夾角趨於0,表明兩個向量越相似。

看下圖:

搜尋產品指南:必須知道的幾件事

搜尋產品指南:必須知道的幾件事

比如:{你說 的 確實 在理}、{你說 的 在理},對應的向量分別是{1,1,1,1}、{1,1,0,1}套入到的公式中,相似度約等於80。4%

PS:但相似度是不準確的,“你真好看”和“你真難看”相似度75%,但其實他們一點也不相似。所以,機器學習、語義識別、神經語言等還是需要逐漸搞起來的(小廠謹慎搞)。

四、結果集排序

1。 業務因子排序

基於行業特性,定義一些業務因子來綜合打分行程排序。

基於多維度的分數來定義對應的結果集,一般可以加一些ctr、單uv價值、單pv價值、退款因子、轉發互動因子等等。要知道搜尋結果不僅要準確,還要足夠受歡迎。

2。 人工干預排序

對於特定的詞或者型別,給予一些人工干預,保證搜尋結果的準確性。

3。 個性化排序

基於使用者標籤,在搜尋結果集中加權值。

比如技術宅搜尋”蘋果“,大機率是想要iphone手機,那吃貨當然更希望是水果嘍。

搜尋底層路徑基本就這四大節點,底層動作圍繞著四個節點有很多標準的行業解決方案,歡迎大家一起聊聊!

本文由 @Hankys 原創釋出於人人都是產品經理,未經許可,禁止轉載

題圖來自 Unsplash,基於 CC0 協議