文本向量化筆記(一)


文本表示是自然語言處理中的基礎工作,文本表示的好壞直接影響到整個自然語言處理系統的性能。文本向量化是文本表示的一種重要方式。

文本向量化就是將文本表示成一系列能夠表達文本語義的向量。無論是中文還是英文,詞語都是表達文本處理的最基本單元。

當前階段,對文本向量化大部分的研究都是通過詞向量化實現的。與此同時,也有相當一部分研究者將文章或者句子作為文本處理的基本單元,於是產生了doc2vec 和str2vec 技術。
文本向量化方法:

以詞語為基本處理單元的word2vec 技術

doc2vec

str2vec

文本向量化的實際案例一一將網頁文本向量化。

 

向量化算法word2vec
詞袋( Bag Of Word ) 模型是最早的以詞語為基本處理單元的文本向量化方法。

兩個簡單的文本:
 John likes to watch movies,Mary likes too.
 John also likes to watch football games.
基於上述兩個文檔中出現的單詞,構建如下詞典( dictionary ) :
{  "John": 1 ,  "likes" : 2 , " to ": 3 , "watch ": 4 , "movies": 5 , "also" : 6 , "football":7 , "games ": 8 , "Mary": 9 , "too" : 10}
上面詞典中包含10 個單詞,每個單詞有唯一的索引,那么每個文本我們可以使用一個10 維的向量來表示。如下所示:
[1 , 2 , 1 , 1, 1 , 0 , 0 , 0 , 1 , 1]
[1 , 1 , 1 , 1 , 0 , 1 , 1 , 1 , 0 , 0]
該向量與原來文本中單詞出現的順序沒有關系, 而是詞典中每個單詞在文本中出現的頻率。該方法雖然簡單易行 但是存在如下三方面的問題:
維度災難。  很顯然,如果上述例子詞典中包含10000 個單詞,那么每個文本需要用10000 維的向量表示,也就是說除了文本中出現的詞語位置不為0 ,其余9000多的位置均為0 ,如此高維度的向量會嚴重影響計算速度。

無法保留詞序信息。
存在語義鴻溝的問題。
近年來,隨着互聯網技術的發展,互聯網上的數據急劇增加。大量無標注的數據產生,使得研究者將注意力轉移到利用無標注數據挖掘有價值的信息上來。

詞向量( word2vec ) 技術就是為了利用神經網絡從大量無標注的文本中提取有用信息而產生的。

一般來說詞語是表達語義的基本單元。

因為詞袋模型只是將詞語符號化,所以詞袋模型是不包含任何語義信息的。如何使"詞表示"包含語義信息是該領域研究者面臨的問題。

分布假說( distributional hypothesis) 的提出為解決上述問題提供了理論基礎。

假說的核心思想是: 上下文相似的詞, 其語義也相似。

隨后有學者整理了利用上下文分布表示詞義的方法,這類方法就是有名的詞空間模型( word space model ) 。

隨着各類硬件設備計算能力的提升和相關算法的發展,神經網絡模型逐漸在各個領域中嶄露頭角,可以靈活地對上下文進行建模是神經網絡構造詞表示的最大優點。

通過語言模型構建上下文與目標詞之間的關系是一種常見的方法。神經網絡詞向量模型就是根據上下文與目標詞之間的關系進行建模

在初期,詞向量只是訓練神經網絡語言模型過程中產生的副產品,而后神經網絡語言模型對后期詞向量的發展方向有着決定性的作用。

 

神經網絡語言模型(Neural Network Language Model , NNLM ) 與傳統方法估算不同, NNLM 模型直接通過一個神經網絡結構對n 元條件概率進行估計。

大致的操作是: 從語料庫中搜集一系列長度為n 的文本序列,假設這些長度為n 的文本序列組成的集合為D , 那么NNLM 的目標函數如式:

上式的含義是: 在輸入詞序列為的情況下,計算目標詞為ωi的概率。

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM