ChineseEmbedding
Chinese Embedding collection incling token ,postag ,pinyin,dependency,word embedding.中文自然语言处理向量合集,包括字向量,拼音向量,词向量,词性向量,依存关系向量.共5种类型的向量.
项目简介
目前不同于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任务中运用检验,这个是后续需要进行的工作.
contact
如有自然语言处理、知识图谱、事理图谱、社会计算、语言资源建设等问题或合作,请联系我:
邮箱:[email protected]
csdn:https://blog.csdn.net/lhy2014
我的自然语言处理项目: https://liuhuanyong.github.io/
刘焕勇,中国科学院软件研究所