當前位置:成語大全網 - 英語詞典 - NLP技術在搜索中的應用方向

NLP技術在搜索中的應用方向

壹、引言

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

二、什麽是詞向量

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

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

one-hot 是可認為是最為簡單的詞向量,但存在維度災難和語義鴻溝等問題;通過構建***現矩陣並利用 SVD 求解構建詞向量,則計算復雜度高;而早期詞向量的研究通常來源於語言模型,比如 NNLM 和 RNNLM,其主要目的是語言模型,而詞向量只是壹個副產物。

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

將輸入語料進行分詞,並向量化(隨機初始化成為壹個N維的向量),然後將他們拼接起來作為輸入,經過神經網絡計算後預測出下個詞是目標詞的概率,通過反向傳播優化模型參數後,我們不但得到了壹個能夠預測句子出現概率的模型,也得到了壹份 詞向量,****相同上下文語境的詞有相似語義,詞與詞之間的關聯得到了極大的提升。 而由此引申出了 Word2vec、FastText,在此類詞向量中,雖然其本質仍然是語言模型,但是它的目標並不是語言模型本身,而是詞向量,其所作的壹系列優化,都是為了更快更好的得到詞向量。GloVe 則是基於全局語料庫、並結合上下文語境構建詞向量,結合了 LSA 和 Word2vec 的優點。(當然詞向量模型遠不止這些,其他模型和衍生場景這裏不展開闡述,可以作為後續的專題進行分析)

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

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

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

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

訓練參數如下:

query候選集預測結果部分如下,可以看到在沒有做其他優化的前提下已經產生了壹定的效果,後續我們還可以加入更多的策略進行融合進壹步滿足業務的場景:

四、未來的想象空間

針對平臺業務及搜索場景,NLP還會有很多的結合點。

比如:

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

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

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

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

5.為運營及市場做用戶熱度挖掘及監控等

NLP作為人工智能技術的掌上明珠,雖然還處於剛起步和不斷完善的階段,但是只要合理運用好並能搭配其他策略進行完善,相信還有很多的價值等待我們去挖掘。