NLP技術(shù)在搜索中的應(yīng)用方向

一、引言

對于電商企業(yè)來說,搜索功能是其重中之重。這是買家進行購買的最便捷有效的途徑。因此我們的搜索引擎也是公司最重要的產(chǎn)品。而搜索的關(guān)鍵是什么呢,自然是能夠在第一時間明確用戶的意圖并給出與之相匹配的商品結(jié)果。所以怎么才能更好的理解用戶,怎么能夠在最快的時間內(nèi)給到用戶想要的結(jié)果,這便是我們在搜索實踐中一直探討優(yōu)化的方向與目標(biāo)。本文基于這一個月的進展做一個詞向量在召回中的運用分析。

二、什么是詞向量

在聊 Word2vec 之前,先聊聊 NLP (自然語言處理)。NLP 里面,最細粒度的是 詞語,詞語組成句子,句子再組成段落、篇章、文檔。所以處理 NLP 的問題,首先就要從最基礎(chǔ)的詞語開始。

舉個簡單例子,判斷一個詞的詞性,是動詞還是名詞。用機器學(xué)習(xí)的思路,我們有一系列樣本(x,y),這里 x 是詞語,y 是它們的詞性,我們要構(gòu)建 f(x)->y 的映射,但這里的數(shù)學(xué)模型 f(比如神經(jīng)網(wǎng)絡(luò)、SVM)只接受數(shù)值型輸入,而 NLP 里的詞語,是人類的抽象總結(jié),是符號形式的(比如中文、英文、拉丁文等等),所以需要把他們轉(zhuǎn)換成數(shù)值形式,或者說——嵌入到一個數(shù)學(xué)空間里,這種嵌入方式,就叫詞嵌入(word embedding)。

one-hot 是可認為是最為簡單的詞向量,但存在維度災(zāi)難和語義鴻溝等問題;通過構(gòu)建共現(xiàn)矩陣并利用 SVD 求解構(gòu)建詞向量,則計算復(fù)雜度高;而早期詞向量的研究通常來源于語言模型,比如 NNLM 和 RNNLM,其主要目的是語言模型,而詞向量只是一個副產(chǎn)物。

image.png

如上圖的NNLM模型(2003年推出),它是為了計算某個句子出現(xiàn)的概率,我們可以加入相應(yīng)的先驗知識,用貝葉斯公式表示則是

image.png

將輸入語料進行分詞,并向量化(隨機初始化成為一個N維的向量),然后將他們拼接起來作為輸入,經(jīng)過神經(jīng)網(wǎng)絡(luò)計算后預(yù)測出下個詞是目標(biāo)詞的概率,通過反向傳播優(yōu)化模型參數(shù)后,我們不但得到了一個能夠預(yù)測句子出現(xiàn)概率的模型,也得到了一份詞向量,****相同上下文語境的詞有相似語義,詞與詞之間的關(guān)聯(lián)得到了極大的提升。而由此引申出了 Word2vec、FastText,在此類詞向量中,雖然其本質(zhì)仍然是語言模型,但是它的目標(biāo)并不是語言模型本身,而是詞向量,其所作的一系列優(yōu)化,都是為了更快更好的得到詞向量。GloVe 則是基于全局語料庫、并結(jié)合上下文語境構(gòu)建詞向量,結(jié)合了 LSA 和 Word2vec 的優(yōu)點。(當(dāng)然詞向量模型遠不止這些,其他模型和衍生場景這里不展開闡述,可以作為后續(xù)的專題進行分析)

image.png

如上圖是我使用fasttext對天龍八部小說訓(xùn)練出的詞向量模型,可以明顯看出其中的人物集團之間的關(guān)系,這便是詞向量之間的語義聚合效果,它的出現(xiàn)對于NLP后續(xù)的任務(wù)效果(如文本分類、NER、翻譯等)都帶來了極大的提升。

三、詞向量在召回模型中的運用

隨著平臺用戶體量和商品SKU的不斷擴大,用戶對于搜索場景的依賴也越來越大,提升召回率便是其中重要的一環(huán),對此我們設(shè)計了一套方案,即利用詞向量構(gòu)建query語義表征,考慮到對未登錄詞的兼容性,這里使用了fasttext進行了詞向量的訓(xùn)練。通過相似度計算和query熱度加權(quán)推測無結(jié)果query的候選query集合,利用faiss進行在線實時高速計算,結(jié)合產(chǎn)品的優(yōu)化實現(xiàn)對無結(jié)果query的再次召回,線上再結(jié)合多臂機的選擇策略進一步提升容錯和糾錯能力。

我們分析整理了平臺歷史所有的query語料數(shù)據(jù),結(jié)合商品描述信息使用迭代和半人工的方式優(yōu)化了自有詞庫,在特征處理過程中,針對中英文分別做了處理,如英文增加了編輯距離糾錯,中文由于短文本信息較少使用了單字進行切割等,針對性的進行了文本處理,相應(yīng)的歸一化了詞分布,提升了部分模型訓(xùn)練效果。

訓(xùn)練參數(shù)如下:

image.png

query候選集預(yù)測結(jié)果部分如下,可以看到在沒有做其他優(yōu)化的前提下已經(jīng)產(chǎn)生了一定的效果,后續(xù)我們還可以加入更多的策略進行融合進一步滿足業(yè)務(wù)的場景:

image.png

四、未來的想象空間

針對平臺業(yè)務(wù)及搜索場景,NLP還會有很多的結(jié)合點。

比如:

1.對query做分類預(yù)測,我們可以預(yù)測每個query詞的類目意圖,品牌意圖等,減少關(guān)鍵詞搜索的歧義影響。

2.搭建我們自己的NER命名實體模型,引導(dǎo)搜索的方向及準度

3.針對海外市場,如何更好的利用國內(nèi)積累下的搜索源數(shù)據(jù),通過機器翻譯的方式打通語言的壁壘

4.作為個性化排序模型中的語義特征搭建完善個性化模型

5.為運營及市場做用戶熱度挖掘及監(jiān)控等

NLP作為人工智能技術(shù)的掌上明珠,雖然還處于剛起步和不斷完善的階段,但是只要合理運用好并能搭配其他策略進行完善,相信還有很多的價值等待我們?nèi)ネ诰颉?/p>

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容