一. 詞向量表示形式
在使用神經網絡模型進行文本分類或者機器翻譯時,前提工作是要對整理好的文本數據進行詞向量化 (Word Embedding) ,既使用向量形式代表詞。
1.1 One-hot representation
表示形式:向量維度的大小爲數據中詞彙表的大小,每個單詞對應的位置置爲1。例如 { I love china } ,love 的詞向量爲 [ 0, 1, 0 ] 。該表達形式最爲簡單,缺點是當詞彙表特別大時,所佔存儲空間也特別大。
1.2 Dristributed representation
表示形式:以稠密的低維向量表示每個詞。
二. 語言模型 ( Language Model )
如何判斷一個句子是否流暢?例如 我在學習 而不是 我玩學習 ,語言模型可以解決這個問題。
2.1 統計語言模型
2.1.1 背景
給定一段文本序列,符號表達形式爲:
通常是已經分好詞的“詞語”,稱爲統計基元。那麼這段文本的概率爲:
爲方便計算,每個詞只考慮與它前 n 個詞有關,這便是語言模型中經典的 n 元文法 (N-gram) 模型,一般 。求文本的概率公式變爲:
爲了保證 時有意義,同時保證句子內所有詞語的概率和爲 ,即 ,在文本首尾兩端增加兩個標誌: ,那麼 爲 , 爲 。
例如文本 ,其基於 元文法的文本概率爲:
2.1.2 應用
統計語言模型可用作漢語分詞,比如給定字符串 text :他是研究生物的。而可能的分詞結果有兩種:
Seg1: 他 | 是 | 研究生 | 物 | 的
Seg2: 他 | 是 | 研究 | 生物 | 的
根據貝葉斯公式,
如果採用 元文法:
即分詞結果爲兩個句子概率大者。那麼,如何得到 元文法模型?請參考文獻 [2]
2.1.3 缺陷
n 元文法 (N-gram) 模型有兩個明顯的缺陷:其一,在計算概率時只考慮到前 n-1 個詞;其二,沒有考慮到詞語之間的相似性。例如,由 The cat is walking in the bedroom. 可以推測出 A dog was running in a room. 句子的概率。因爲這兩句話在語義和語法結構上相似。
2.2 神經網絡語言模型
爲了解決統計語言模型的缺陷,Yoshua Bengio 等人提出了神經網絡語言模型,請參考文獻 [1] 。該語言模型:
1) 詞表中的每個詞都對應一個m 維的特徵向量,維數一般設爲 ,是遠遠小於詞表大小的。當兩個向量的相差不是很大時,則這兩個向量代表的詞相似。
2) 根據一段詞序列中的每個特徵向量可以得到這段序列的聯合概率,即 。
3) 在該模型中,神經網絡的參數和詞向量是同時進行訓練的。
神經網絡語言模型結構如下,訓練一個簡單神經網絡函數 來擬合詞 是詞 的概率 。
而 word2vec 則是一個可以通過對數據進行訓練,將詞表達成向量形式的工具 。其包括
參考文獻
[1] A Neural Probabilistic Language Model
[2] 自然語言處理