1. 程式人生 > >word2vec 在 非 自然語言處理 (NLP) 領域的應用

word2vec 在 非 自然語言處理 (NLP) 領域的應用

word2vec 本來就是用來解決自然語言處理問題的,它在 NLP 中的應用是顯然的。

比如,你可以直接用它來尋找相關詞、發現新詞、命名實體識別、資訊索引、情感分析等;你也可以將詞向量作為其他模型的輸入,用於諸如文字分類、聚類等各種自然語言處理問題。

事實上,word2vec 的思想和工具,還可以應用於自然語言處理之外的其他領域。一個詞,無非就是個符號;句子是詞的序列,無非也就是個符號序列。如果我們能夠在其他的應用場景中,構造出一些符號,還有這些符號形成的序列,那我們就可以試一把 word2vec。

下面是,根據網路上的資料,整理的 word2vec 在自然語言處理領域之外的一些應用。

【社交網路】

應用場景:在社交網路中,給當前使用者推薦 他/她 可能關注的大V

對映關係:每一個大V 就是一個詞;將每個使用者關注的大V,按照關注的順序排列,形成文章

【App 商店】

應用場景:App 商店中,向用戶推薦感興趣的 App

對映關係:每個 App 就是一個詞;將每個使用者下載的 App,按照下載的順序排列,形成文章

【廣告系統】

應用場景:廣告主在媒體網站上打廣告,媒體網站提供一個後臺管理系統,可以讓廣告主自行決定要將廣告推薦給哪些目標人群。

對映關係:每一個頁面就是一個詞;將每個使用者瀏覽的頁面,按照瀏覽的順序排列,形成文章。

這樣,根據訓練後的詞向量,就可以計算出頁面之間的相關程度。

那目標使用者怎麼計算呢?瀏覽與廣告主的廣告頁 相關的頁面 的使用者 就是廣告主潛在的 目標使用者。把這些使用者推薦給廣告主就可以了。

應用場景:廣告系統中廣告主上線了一支新廣告,如何估算使用者對新廣告的 CTR(Click-Through-Rate),即點選通過率。

對映關係:和上面給廣告主推薦目標使用者一樣的做法,可以計算出每個廣告頁對應的向量

然後,對這些廣告頁做一個聚類,把相似的廣告頁聚在一個簇中。用新廣告所在簇的 CTR 來近似新廣告的 CTR。

【向量快速檢索】

綜合以上各種應用,將各種文件轉換成向量之後,常見一個基本操作就是輸入一個文件(對應的向量),尋找和它最相關的 top k 個文件(對應的向量)。如果要所有文件都比對一遍的話,那時間複雜度就是 O(n)。這在實際的工程應用中就太慢了。因此,需要藉助 redis,或者引入 kd-tree, simhash, 聚類等演算法來加速檢索。

參考: