當前位置:成語大全網 - 漢語詞典 - word2vec如何得到單詞vector?

word2vec如何得到單詞vector?

Word2vec是壹個將單詞轉換成矢量形式的工具。對文本內容的處理可以簡化為向量空間中的向量運算,通過計算向量空間中的相似度來表達文本的語義相似度。

首先,理論概述:

1.向量這個詞是什麽?如果要把自然語言理解的問題轉化為機器學習的問題,第壹步必須要找到壹種方法把這些符號數學化。NLP中最直觀最常用的單詞表示方法是壹鍵表示法,將每個單詞表示為壹個長向量。這個向量的維數是詞匯量,其中大部分元素都是0,只有壹個維數的值是1,表示當前單詞。

舉個栗子:

“麥克風”是指[0001000000000...]

“邁克”是指[00000001000000...]

每個字都是0的汪洋大海中的壹個1。如果以稀疏的方式存儲這種獨熱表示,它將非常簡潔:也就是說,為每個單詞分配壹個數字ID。比如剛才的例子,麥克風記為3,麥克風記為8(假設從0開始)。如果要用編程實現,用哈希表給每個字分配壹個數字就夠了。這樣簡潔的表示方法,結合最大熵、SVM、CRF等算法,成功完成了NLP領域的各種主流任務。當然,這種表征還有壹個重要的問題,那就是“詞匯鴻溝”現象:任意兩個詞都是孤立的。從這兩個向量中,我們看不出這兩個詞是否有關聯,即使是像麥克風和麥克這樣的同義詞也不能幸免。深度學習常用的向量這個詞,不就是剛才說的用法嗎?壹鍵表示表示壹個很長的單詞向量,但是使用?分布式表示(這個不知道怎麽翻譯,因為還有壹個低維的實向量用“分布式表示”來表示(類似於LDA中帶topic的詞向量的表示方法)。這個向量壹般是這樣的:【0.792,?0.177, ?0.107, 0.109, ?0.542, ...]。維度是什麽?50?維度100比較常見。

2.詞向量的由來是什麽?分布式表征最早是由Hinton在1986的論文《學習概念的分布式表征》中提出的。這篇文章雖然沒有說文字要分布式表征,但至少這種先進的思想在當時的人們心中種下了壹把火,2000年以後才開始越來越被重視。

3.詞向量的訓練:要介紹詞向量是如何訓練的,就不得不提到語言模型。我目前學到的所有訓練方法都是訓練語言模型,順便得到單詞向量。這也很好理解。從壹篇沒有標記的自然文本中學習東西,無非就是統計詞頻,統計詞的出現次數,統計詞的搭配。從自然文本中統計並建立語言模型無疑是最準確的任務(不排除將來有人會創造出更好更有用的方法)。既然建立語言模型的任務如此艱巨,必然需要對語言進行更詳細的統計和分析,以及更好的模型和更多的數據來支持。目前最好的詞向量都來源於此,所以不難理解。在單詞向量的訓練中有三個經典的工作,C & ampW 2008、M & ampH 2008、米科洛夫2010 .當然,在說這些作品之前,我得介紹壹下本吉奧在這個系列中的經典作品。

4.詞向量的評價:壹般來說,詞向量的評價可以分為兩種方式。第壹種方式是將詞向量整合到現有系統中,看系統性能的提升;二是直接從語言學角度分析詞向量,如相似度、語義偏離度等。