導語:為了能夠更方便的使用搜索,聯想詞是在產品設計的過程中必然要加入的一項功能。而對人們的意圖進行聯想和預測,也是未來人工智能語音助手變得更好用的基礎前提。本文作者針對搜索聯想詞產品,分析了其定位-評估和召回策略。
搜索聯想詞功能提供者:
- 免費搜索:百度;
- 交易類搜索:阿里、京東、PDD、攜程、美團;
- 中小網站:基本無此功能,聯想詞功能不僅僅是工程問題,還需要一定的AI能力支撐,中小網站往往無力支撐。
一、聯想詞定位
降低用戶輸入成本,在用戶輸入部分信息就能推薦出用戶想搜索的關鍵詞。
當然直接推薦出用戶想搜索的關鍵詞,也有其他產品設計手段來部分達成,比如在PC版搜索,用戶在輸入搜索詞之前,第一動作是點擊搜索框,這時會出現歷史搜索詞,如下圖:
因為用戶常常會重復搜索行為,比如昨天想找什么信息,這個事情當時沒有解決,今天繼續進行,就需要重復使用相同的搜索詞繼續搜索。在APP上,通過歷史搜索(或者最近搜索)+熱門搜索(或者搜索發現)兩種方式完成的,如下圖:
搜索歷史是用戶自身過去一段時間的搜索詞,而熱門搜索是網站所有用戶過去一段時間的搜索量大的搜索詞。當然在具體策略上,召回搜索詞的排序順序可能是綜合多種因素的結果,比如時間衰減、搜索詞引導的績效表現等,并不一定完全是進過時間衰減的搜索次數。
二、效果評估
聯想詞產品改進目標主要是提升推薦搜索詞的經營績效和改善用戶體驗,前者根據公司的考核方案,比如點擊率的提升,引導的訂單量提升,引導的GMV提升等,也可以是綜合考量,比如各自占一定的權重,可以通過AB測試看綜合提升效果。
比如:我們將點擊率提升權重設置為40%,引導的訂單提升權重設置為30%,引導的GMV提升占比設置為30%,假定點擊率提升10%,引導訂單提升5%,引導GMV下降4%,那么最終的綜合提升為40%*10%+30%*5%+30%*(-4%)=4.3%。
改善用戶體驗涉及到如何衡量用戶體驗,主要是質量/用研團隊構建測試場景,通過人工測試,能夠盲測更好。
測試主要有兩種方式,第一種方式是與競對對標,對標結果的體驗優勢(我們比競對好)是否持續提升,或者體驗劣勢(我們比競對差)持續減少,提升或者減少的幅度;第二種方式是僅僅測試自身網站產品,通過改進前后badcase場景數量來衡量。
聯想詞功能包含如下環節:
- 聯想詞召回
- 候選詞條的排序
- 排序后處理
- 前端展示和交互
- 其他問題
三、聯想詞召回
問題描述:通過用戶確定的字符召回聯想詞條。
在中文輸入環境下,用戶通過輸入法先輸入拼音,再確定要輸入的字符,如果是英文輸入環境,輸入的字符就是用戶確定的字符,程序根據用戶確定的字符來召回聯想詞條。
解決方案:根據用戶確定的字符進行前綴匹配,這些字符類型有字母、漢字,不僅要考慮用戶正確輸入的情況,也要考慮用戶可能錯誤的輸入。另外如果用戶確定的是字母,除了純字母前綴匹配外,還需要將字母轉換成可能的漢字,通過漢字進行前綴匹配。
在中文網站,用戶可能輸入是漢字,也可能是字母(拼音或者英文單詞)。
- 當輸入是漢字時候:直接利用漢字進行前綴匹配召回,這種情況下,還要考慮同音字、音近字的補充召回。同音字主要是輸入法選詞時用戶的誤選或用戶只知道目標詞條的拼音,但是不知道目標詞而選錯了詞條。
輸入法中選錯同音字,比如:用戶要買“五香豆腐干”,結果選成了“五箱豆腐干“,這時候需要給出正確的候選詞條,我體驗了各類網站,百度和美團將候選列出來了。
容易混淆的詞條,用戶記錯了或者不知道正確的到底是哪一個,比如:紅巖洞和洪崖洞,都是重慶的旅游景點,用戶常常容易混淆,我們看百度的聯想詞。
我看這個能力在其他網站都不具備。百度的自然語言理解能力確實積累很深厚,其他公司在自身業務相關板塊的積累至少需要數年時間。
音近字主要是用戶由于平翹舌(si、shi)不分、前后鼻音(xin、xing)、地域差異的模糊音(比如南方人將“牛奶”發音為liulai/niulai)導致的拼音輸入錯誤導致的選詞錯誤。現在搜狗輸入法已經將音近字的問題解決的很好。比如牛奶這個錯誤的輸入就有糾正之后的詞條選項:
同音字和音近字的召回處理是先將字還原成拼音,通過拼音找同音字和音近字,再將這些字本身,同音字、音近字一起參與召回,并將召回的來源進行打標區分,在排序的時候給與不同的策略處理。
容易混淆的詞條通過大數據挖掘方法離線挖掘,挖掘線索可以通過搜索session中詞條時序,以及詞條的拼音差異來挖掘。比如紅巖洞和洪崖洞,中間僅僅巖(yan)和崖(ya)的拼音區別一個字母。
也可以通過百度知識庫來補充,通過爬百度的聯想詞結果和搜索結果前3條結果,比如我們百度搜索“紅巖洞”,第二個結果為“洪崖洞”百科詞條,說明很多用戶是找“洪崖洞”而不是“紅巖洞”。
我們可以將所有的詞條調用百度搜索,看TOP-N搜索結果中是否有其他詞條的結果,有則說明搜索詞表與結果詞條之間存在一定的混淆關系,人工審核獲得知識詞典,進而補充到聯想詞可以大大提升聯想詞的搜索體驗。
- 當輸入是字母,這些字母可能是英文單詞,也可能是拼音自身。
- 先假定輸入的字母是正確的,通過字母(英文和拼音)直接前綴召回;
- 再假定輸入是正確的拼音,先轉換成漢字,通過漢字召回,再增加同音字和近音字拼音作為召回補充;
- 最后考慮英文拼寫錯誤的問題,英文錯誤的糾錯通過英文拼寫糾錯算法來完成正確的召回。
輸入拼音的聯想召回處理:不僅是作為完整拼音的全部漢字作為召回,還召回認為當前是拼音前綴的漢字。
比如:用戶輸入拼音“lian”,不僅召回“聯通客服電話是多少”、“蓮霧”、“蓮藕”、“李安(li-an)”這樣作為完整拼音的詞表前綴,也召回了“梁(liang)晶”作為拼音的前綴。
用戶輸入“pin”,作為字母召回“pin碼是什么”,作為英文單詞前綴匹配召回“pink”,“pinterest”,作為完整拼音召回“拼多多”、作為拼音前綴召回“蘋果”、“平安保險”。
我們看英文拼寫糾錯的召回,用戶輸入“pinerest”,正確的應該是“pinterest”,英文的拼寫糾錯算法現現在已經非常成熟,稍微查一下都可以找到大量的文獻和成熟的軟件包解決這個問題。
四、召回截斷
在召回環節,往往會出現召回候選詞條過多的情況,依然需要引入諸如搜索召回的策略:截斷。
在召回環節,設置最大召回池(假定K條結果),事先對每條結果的表現,比如點擊率做出預估,在召回池子滿了的時候,每增加一條候選,需要剔除當前池子最差表現的候選,這樣初步篩選召回前K條候選結果。
聯想詞候選排序見下一篇內容,我們不見不散。
#專欄作家#
毛新年,公眾號:資深電商專家毛新年,人人都是產品經理專欄作家。起點學院講師,2021年B端產品經理大會演講嘉賓。主導搭建主流電商平臺搜索推薦商品三大體系,熟悉電商平臺策略-產品-運營-數據及研發各環節。
本文原創發布于人人都是產品經理,未經許可,禁止轉載
題圖來自Unsplash,基于CC0協議。