中文自然語言處理向量合集(字向量,拼音向量,詞向量,詞性向量,依存關係向量)
ChineseEmbedding
Chinese Embedding collection incling token ,postag ,pinyin,dependency,word embedding.中文自然語言處理向量合集,包括字向量,拼音向量,詞向量,詞性向量,依存關係向量.共5種類型的向量.
專案地址:https://github.com/liuhuanyong
專案簡介
目前不同於one-hot表示的稠密向量在常見的NLP任務中運用的越來越廣,而目前開源的向量資源還比較單一,只有中文和其他語言的詞向量.本專案想彌補這一缺陷.
本專案認為
1,NLP中的各種語言單元形態都可以進行向量表示.
2,稠密低維的向量較one-hot這種sparse向量更具備語義資訊.
3,中文資訊處理中可以進行詞向量表示的語言單位包括:
- 字元(單個漢字)
- 詞語(詞或片語)
- 漢語拼音
- 漢語詞性
- 漢語詞語之間的依存關係
本專案要完成的任務
運用詞向量建模方法,分別完成以上5種形態的詞向量訓練, 並檢驗效果.
訓練語料
本專案將使用中文維基百科(zhiwiki)作為訓練語料來源.
訓練方法
- 基於skigram的方法
對字向量,拼音向量,詞向量,詞性向量採用此類方法,分別設定詞向量的維度及其他超引數 - 基於上下文共現與PCA降維的方法
對依存向量採用此類方法
測試方法
本測試較為簡單,直接使用語義最近的語言單元作為檢驗
程式碼目錄
train_vector.py: 向量訓練指令碼
test_vector.py: 向量測試指令碼
結果展示
向量名稱 | 向量含義 | 詞數 | 維度 | 例子 |
---|---|---|---|---|
de_vec_10 | 依存關係向量 | 13 | 10 | SBV, ATT |
pinyin_vec_300 | 漢語拼音向量 | 146242 | 300 | ni, hao |
postag_vec_30 | 漢語詞性向量 | 59 | 300 | n,v,a,d |
token_vec_300 | 漢語字向量 | 20029 | 300 | 劉,煥,勇 |
word_vec_300 | 漢語詞向量 | 673266 | 300 | 劉煥勇 |
向量測試
***********************字元向量************************
token:劉
('李', 0.7306396961212158),('陳', 0.7201231122016907)
('趙', 0.6974461674690247),('楊', 0.6972213983535767)
('吳', 0.6851627230644226),('徐', 0.6516467332839966)
('郭', 0.6499480605125427),('蔡', 0.6175302267074585)
('鄭', 0.6092196106910706),('孫', 0.5950524210929871)
token:醜
('卯', 0.6074919700622559),('酉', 0.5910211801528931)
('巳', 0.5581363439559937),('戌', 0.43932047486305237)
('戊', 0.41449615359306335),('壬', 0.40456631779670715)
('謤', 0.367109090089798),('緋', 0.3643313944339752),
('寅', 0.36351141333580017),('旽', 0.3549465537071228)
***********************依存向量************************
dependency rel:ATT
('COO', 0.14239487051963806),('ADV', -0.16987691819667816)
('RAD', -0.2357601821422577),('HED', -0.2401314228773117)
('SBV', -0.25625932216644287),('WP', -0.27165737748146057)
('LAD', -0.2902592420578003),('POB', -0.2990782558917999)
('VOB', -0.37553706765174866),('IOB', -0.6669262647628784)
dependency rel:POB
('IOB', 0.16698899865150452),('DBL', 0.16678886115550995)
('FOB', 0.1657436639070511),('CMP', 0.14784857630729675)
('VOB', 0.1461176574230194),('SBV', 0.08011472970247269)
('LAD', -0.022307466715574265),('WP', -0.022942926734685898)
('HED', -0.037264980375766754),('RAD', -0.042251598089933395)
***********************拼音向量************************
pinyin:wo
('shei', 0.6129732131958008)('ta', 0.6081706285476685)
('nin', 0.5819231867790222),('!', 0.5435523986816406)
('……', 0.48428624868392944),('ai', 0.47832390666007996)
('o', 0.4761071801185608),('。』', 0.4598163366317749)
('...', 0.45207729935646057),('ni', 0.44975683093070984)
pinyin:guo
('dang', 0.3908974528312683),('yuan', 0.378823846578598)
('zu', 0.35387369990348816),('hua', 0.3405681848526001)
('zheng', 0.3355437219142914),('yi', 0.3333034813404083)
('ren', 0.3194104731082916),('jun', 0.3187354505062103)
('hui', 0.31342023611068726),('xin', 0.3096797466278076)
***********************詞性向量************************
word postag:a
('d', 0.7203904986381531),('c', 0.6124969720840454)
('v', 0.4963228106498718),('an', 0.4531499147415161)
('uz', 0.4459834396839142),('ud', 0.42059916257858276)
('r', 0.4090540111064911),('uj', 0.4061364233493805)
('i', 0.38707998394966125),('l', 0.3551557660102844)
word postag:n
('b', 0.7030695676803589),('vn', 0.490166038274765)
('p', 0.4858315885066986),('v', 0.4499088227748871)
('nt', 0.44155171513557434),('f', 0.26609259843826294)
('s', 0.2639649212360382),('l', 0.24365971982479095)
('ns', 0.2278469204902649),('m', 0.202927365899086)
***********************詞向量************************
word:愛情
('愛戀', 0.6931096315383911),('真愛', 0.6897798776626587)
('婚姻', 0.6540514826774597),('浪漫愛情', 0.6535360813140869)
('情感', 0.6501022577285767),('感情', 0.6403399705886841)
('純愛', 0.6394841074943542),('愛情故事', 0.6282097101211548)
('校園愛情', 0.6078493595123291),('情愛', 0.5976818799972534)
word:創新
('技術創新', 0.7648976445198059),('不斷創新', 0.7172579765319824)
('創新型', 0.6573833227157593),('創新能力', 0.6533682942390442)
('創新性', 0.6160774827003479),('革新', 0.6159394383430481)
('人才培養', 0.6093565821647644),('開拓創新', 0.6015594601631165)
('探索', 0.5987343788146973),('技術革新', 0.5949685573577881)
總結
1,本專案完成了中文五種語言單位的向量訓練.
2,從以上可以看出,詞和字向量的效果看起來還不錯.
3,依存向量,依存向量中可以看出,ATT作為定中關係,在依存關係中屬於定中結構,COO(聯合),ADV(狀中)的相似度要比主謂SBV,動賓VOB的相似度要高.另外,作為介賓的POB,相似的有IOB,DBL,FOB,這些關係均與賓語成分相關.
4,拼音向量,從wo,guo的拼音相似拼音來看,我們可以看到,這種相似的拼音更像是一種搭配,很有意思.(詞性參照jieba分詞詞性對照表)
5,詞性向量,從a,n的相似詞性來看,也似乎更像是一種搭配現象,或許有更好的解釋…
4,總之,向量效能的好壞,需要在實際的NLP任務中運用檢驗,這個是後續需要進行的工作.
If any question about the project or me ,see https://liuhuanyong.github.io/