導讀
最近在做中文詞向量相關工作,其中看了一些中文詞向量的相關論文,在這篇文章,將把近幾年的中文詞向量進展及其模型結構加以簡述,大概要寫3-4篇綜述,每篇包含2-3篇論文。
一、Component-Enhanced Chinese Character Embeddings
論文來源
這是一篇2015年發表在EMNLP(Empirical Methods in Natural Language Processing)
會議上的論文,作者來自於香港理工大學 --- 李嫣然。
Abstract
在目前的NLP各項任務中,詞向量已經得到了廣泛的應用並取得了很好的效果,然而大多數是對於英文等西方語言,對於中文,由於中文漢字包含了巨大的信息,在中文詞向量的工作中有很大的提升,這篇論文認為漢字的組件(部首)包含了大量的語義信息,基於此提出了兩個詞向量模型,對中文字向量進行了改善,實驗結果表明在文本分類已經詞相似度上都得到了提升。
Model
模型結構圖如下,具體做法是抽取每個漢字的組件組成一個component
列表(可以從在線新華詞典獲取component列表),部首信息要比其他的組件信息包含更加豐富的語義信息,所以,把部首放在了component
列表的首位進行訓練,下圖中的E代表的就是component列表,C代表的是上下文詞, Z代表的是目標詞。
具體做法,以charCBOW為例,charCBOW是在原始的CBOW的基礎之上進行的改善,把E和C進行cat連接作為特征。
也提供了一些部首信息,如下圖。
Experiment Result
在Word Similarity
和 Text Classification
上面進行了實驗,對於Word Similarity
任務,可以參考以前寫的一篇文章 --- 中英文詞向量評測。
Word Similarity
采用的評估文件大多數都是基於英文構建的,像 WS-353
,RG-65
等,對於中文來說,僅有HowNet
和 E-TC(哈工大詞林)
,由於HowNet包含較少的現代詞,選擇采用E-TC進行評測;Text Classification 選擇的數據集是騰訊新聞(Tencent news datasets)
,在Word Similarity 和 Text Classification上面都驗證了論點。下圖是實驗結果。
二、 Joint Learning of Character and Word Embeddings
論文來源
這是一篇2015年發表在IJCAI (International Joint Conference on Artificial Intelligence)
會議上的論文,作者來自於清華大學 --- 陳新雄,徐磊。
Abstract
目前,大多數詞向量的建模方法都是基於詞的,而在中文詞語包含多個漢字,並且每個漢字都包含了大量豐富的信息,一個詞的語義信息也是與組成它的漢字有很深的關聯,比如,智能
這個詞,智
和 能
也能夠表達一部分其語義,基於這個思想,論文提出了訓練中文詞向量新的方法,使用漢字來增強詞的效果(CWE)。
但是訓練CWE存在一些問題,像單個漢字可能存在多種意義,有些漢字組成的詞,其中的漢字分開時沒有意義的等一些問題,文中提出了 multiple-prototype character embedding
和 an effective word selection method
分別來解決問題。在 Word Relatedness Computation
和 Analogical Reasoning
任務上驗證了其有效性。
Model
Character-Enhanced Word Embedding
CWE是在CBOW的基礎之上進行的改進,CWE和CBOW的模型結構圖如下圖所示。
像上圖表示的一樣,詞由詞和組成它的字聯合表示,具體表示是下面的公式, w代表word embedding,c代表的是character embedding,N代表一個詞有多少字組成,有兩種聯合方式,一種是 addition
,一種是 concatenation
。
在實驗過程中發現 addition
要優於 concatenation
,后續實驗過程中都采用addition的聯合方式,並且對公式進行了簡化,在上個公式基礎之上,取詞和字的平均,如下圖。
CWE的核心思想
是把CBOW中的詞替換成詞和字的聯合表示,但是仍然和CBOW共用相同的目標函數,這樣做的一個好處在於,即使詞沒有出現在上下文的窗口之中,word embedding也會根據character embedding進行調整,完善了CBOW的這個缺點。
Multiple-Prototype Character Embeddings
由於有些中文漢字存在很大的歧義性,在CWE模型中可能會帶來消極的影響,為了解決漢字的歧義性問題,提出了Multiple-Prototype Character Embeddings
,核心的思想是一個漢字使用多個character embedding表示,具體的又提出了三種方案,Position-based character embeddings
,Cluster-based character embeddings
,Nonparametric cluster-based character embeddings
。下面簡單的看一下這三種方案。
-
Position-based character embeddings
在一個詞的內部,字的位置有很大的作用,不同的位置表達不同的意思,這個方案里面,保持單字三個不同的位置embedding,分別是B---Begin
,M---Middle
,E---End
,如下圖所示。
和CWE最初的方式差不多,不同在於character embedding的表示采用了BME的平均,具體如下。
-
Cluster-based character embeddings
根據2012年Huang的一篇論文(multiple-prototype word embeddings
)提出的一個方法,提出了Cluster-based character embeddings
的方法,對 character 所有出現的情況做聚類, 為每個聚類分配一個向量,具體的如下圖。
這時候詞的表示如下圖,
其中r_max是計算余弦相似度(S),計算公式如下,
v_context如下,其中c_most代表的是在聚類中最頻繁被選擇的。
-
Nonparametric cluster-based character embeddings
Cluster-based character embeddings
具有固定的類數, 而無參聚類方法能分配不同的數量, 在訓練的時候學習,非常靈活。
Word Selection for Learning
中文詞語中,有很多的字並不能夠表示其語義信息,這些包括以下幾個方面。
- 像
徘徊
,琵琶
這樣的詞語,其中的單字很難在其他的詞語中使用。 - 音譯過來的一些詞,像
沙發(sofa)
,巧克力(chocolate)
主要是語音合成。 - 一些實體的名字,像人名,地名,組織機構名等。
為了去解決這樣的問題,提出在學習這些詞的時候,不要去考慮其character,具體的做法是手工構建這樣的詞表來處理。
Experiment Result
在 Word Relatedness Computation
和 Analogical Reasoning
任務上驗證了其有效性,對於這兩個任務,可以參考以前寫的一篇文章 --- 中英文詞向量評測。
- Word Relatedness Computation 采用的評測數據是
wordsim-240
,wordsim-296
,以下是評測結果。
- 對於Analogical Reasoning,由於沒有中文的評測數據,手工構建了一份數據集,並且這個數據集在后續的中文詞向量評測中被廣泛使用。
References
[1] Component-Enhanced Chinese Character Embeddings
[2] Joint Learning of Character and Word Embeddings
個人信息
[1] Blog : https://bamtercelboo.github.io/
[2] Github : https://github.com/bamtercelboo
[3] 知乎 :https://www.zhihu.com/people/bamtercelboo/activities
[4] 博客園: http://www.cnblogs.com/bamtercelboo/