電商搜索“想用戶所想,提高搜索結果質量”實踐方案
編輯導語:我們在APP上進行搜索自己想要的商品時,有時打錯字或者只打出其中兩個字也可以搜出想要的商品,非常方便;本文針對電商搜索中如何“想用戶所想,提高搜索結果質量”的問題進行剖析,并通過阿里云開放搜索電商行業解決方案和大家聊一聊如何優化解決。
一、案例背景
國內某頭部母嬰垂直類電商平臺,致力于提供多元的產品和服務,滿足中國年輕家庭知識獲取、交流交友、記錄成長和消費購物的四個核心需求,營收主要來源于商城部分。
我們之前提到,大部分垂直類電商搜索轉化占整體業務轉化的6成以上;所以該母嬰平臺想從根本提高營收額,就必須滿足寶媽寶爸們育兒商品搜索的需求,幫助他們快速準確的找到想要的東西。
二、搜索問題反饋
用戶:沒有精準定位搜索需求,查詢召回文檔相關性較差。
三、問題分析
通過電商行業搜索特征來分析。
1. 關鍵詞堆砌
例如:“幫寶適男童大碼拉拉褲包郵”。
關鍵詞:幫寶適、男童、大碼、拉拉褲、包郵;一個Query包含好幾個搜索關鍵詞,這些關鍵詞的重要性也是分:高、中、低的。
2. 詞序對語義的影響不大
例如:“L碼男童紙尿褲夏季透氣”。
“L碼”為尺寸,“男童”為人群,“紙尿褲”為品類,“夏季”時間季節,“透氣”為產品特性;L碼為Query的首要詞序,但很明顯它卻并不是重要的關鍵詞,只有定位搜索關鍵詞,去除不重要的詞,才會直接影響用戶的搜索體驗效果和搜索質量。
四、阿里云開放搜索解決方案
1. 電商分詞器
分詞是影響搜索效果的最基礎的模塊,阿里云開放搜索按行業屬性提供多種場景分詞器,通用行業分詞器、電商行業分詞器、內容行業分詞器、自定義分詞器等。
電商行業分詞器是集成了淘寶搜索同款的分詞器,它的訓練語料是來自淘寶搜索多年積累的百萬級有標注的電商行業數據,所以相比開源IK分詞器效果較好;可以高效、高質量的解決目前遇到的分詞難題。
例如:
- 文檔字段內容為“大寶SOD蜜”,則搜索“大寶”、“sod”、“sod蜜”、“SOD蜜”、“蜜”等情況下均可以召回。
- 文檔字段內容為“菊花茶”,則搜索“菊花茶”、“菊花”、“茶”、“花茶”等情況下可以召回。
2. 拼寫糾錯
提供拼寫檢查功能,對查詢詞中的錯誤進行糾正,給出正確的查詢詞;并根據糾錯的可信度高低,決定當前查詢是否用糾錯后的詞進行查詢。
例如:用戶搜索了“邦寶適拉拉褲”,那么默認糾錯并返回“幫寶適拉拉褲”的結果。
3. 詞權重
該功能主要分析了查詢中每一個詞在文本中的重要程度,并將其量化成權重,權重較低的詞可能不會參與召回。
這樣可以避免當用戶輸入的查詢詞中包含一些權重低的詞時,仍然按用戶輸入的查詢詞限制召回,導致命中結果過少。
例如:用戶搜索“幫寶適男童拉拉褲大碼包郵”,詞權重后會去查詢:“幫寶適 拉拉褲、拉拉褲 大碼、拉拉褲”擴大召回量。
4. 實體識別
在查詢分析中,實體識別主要的作用于Query處理和類目預測查詢中——用來識別文本中有特定意義的實體。
電商行業中主要識別品牌、品類、款式、風格等具有電商行業特色的實體類型;可以影響Query改寫,提高召回率和準確性,提升類目預測的召回率,丟棄部分對類目影響不大的詞。
1)影響Query 改寫,提高召回率和準確性
召回時保留重要性高的實體詞,對重要性低的部分不影響召回,只影響算法排序。
實體的重要性目前分為3檔,分別是高、中、低。
Query改寫的規則如下:
- 重要性高的實體,其優先級完全一樣,肯定會參與召回;
- 重要性低的實體,始終不參與召回;
- 重要性中的實體,其優先級按其在查詢分析中配置的順序依次遞減,改寫規則:當Query中有重要性高的實體時,重要性中的實體在第一個Query中參與召回,第二個Query不參與召回;當Query中沒有重要性高的實體時,重要性中的實體在第一個Query中參與召回,在第二個Query中,優先級最高的那個實體類型的詞會參與召回,其他的都不參與召回。
- 當Query中沒有重要性高和中的實體時,Query改寫不參照實體識別的結果;
- 當Query只有重要性高或者只有重要性高和低的實體時,改寫后只會得到一個Query。
2)提升類目預測召回率
查詢類目預測時,依據實體對類目預測影響不同,丟棄部分對類目預測影響不大的詞。
例如:對于Query?艾莎(人名)同款(后綴)夏季(時間季節)蕾絲(款式元素)連衣裙(品類),丟詞后的Query按照優先級排序分別為:
- 夏季蕾絲連衣裙;
- 夏季連衣裙;
- 蕾絲連衣裙;
- 連衣裙;
系統會按照上述順序依次查詢類目預測的結果。
3)創建實體識別干預詞典
為了方便用戶使用,系統提供默認的實體重要性配置;用戶也可以根據實際業務情況,自主的調整配置,這塊調整會影響Query的改寫規則。
例如:業務特殊專有名詞,需要進行實體識別干預。
用戶搜索“小熊 (Bear)嬰兒指甲刀護理套裝”,其中“小熊”“bear”實體識別結果為:普通詞,但實際業務上“小熊(bear)”是一家母嬰品牌;這時可以使用干預詞典,設置為“品牌”,從而影響召回排序的效果。
五、實踐后的搜索性能對比
搜索“荷蘭美素佳兒嬰幼兒奶粉”分詞效果:
- Before:“荷蘭、美、素、佳、兒、嬰幼兒、嬰、幼、兒、奶粉、奶、粉”。
- After: “荷蘭(地點地域)、美素佳兒(品牌)、嬰幼兒(人群)、奶粉(品類)”。
搜索“夏季新款涼鞋男童”:
- Before:3個召回結果。
- After:22個召回結果。
利用查詢分析——實體識別功能:定位搜索關鍵詞
實體識別:“夏季”時間季節,“男童”人群;“新款”新品;;“涼鞋”品類。
- Query1:“涼鞋”“夏季”“男童”;
- Query2:“涼鞋”。
以上就是今天我要和大家分享如何快速高效解決電商搜索相關問題的解決方案,希望對大家有所幫助~
作者:KKai,B端產品運營
本文由 @KKai 原創發布于人人都是產品經理,未經作者許可,禁止轉載。
題圖來自Unsplash,基于CC0協議
樓主能否講解下熱詞庫及維護
熱詞是根據上傳行為數據進行模型訓練的,頭部企業可以實現實時更新,大部分電商還是每日更新
阿里云開放搜索按行業屬性提供多種場景分詞器 –> 舉個例子看看
通用行業分詞器,電商行業分詞器,內容行業分詞器,自定義分詞器
有 公開的 程序包或者接口嗎?我沒有找到阿里公開的程序包。
https://www.aliyun.com/product/opensearch 你看看,如果有需要可以加釘釘群30474807
電商應該是分詞最具行業特性的場景。內容分詞比如CSDN這種社區論壇場景的應用