/ChineseEmbedding

Chinese Embedding collection incling token ,postag ,pinyin,dependency,word embedding.中文自然语言处理向量合集,包括字向量,拼音向量,词向量,词性向量,依存关系向量.共5种类型的向量

Primary LanguagePython

ChineseEmbedding

Chinese Embedding collection incling token ,postag ,pinyin,dependency,word embedding.中文自然语言处理向量合集,包括字向量,拼音向量,词向量,词性向量,依存关系向量.共5种类型的向量.

项目简介

目前不同于one-hot表示的稠密向量在常见的NLP任务中运用的越来越广,而目前开源的向量资源还比较单一,只有中文和其他语言的词向量.本项目想弥补这一缺陷.

本项目认为

1,NLP中的各种语言单元形态都可以进行向量表示.
2,稠密低维的向量较one-hot这种sparse向量更具备语义信息.
3,中文信息处理中可以进行词向量表示的语言单位包括:

  1. 字符(单个汉字)
  2. 词语(词或词组)
  3. 汉语拼音
  4. 汉语词性
  5. 汉语词语之间的依存关系

本项目要完成的任务

运用词向量建模方法,分别完成以上5种形态的词向量训练, 并检验效果.

训练语料

本项目将使用中文维基百科(zhiwiki)作为训练语料来源.

训练方法

  1. 基于skigram的方法
    对字向量,拼音向量,词向量,词性向量采用此类方法,,分别设定词向量的维度及其他超参数
  2. 基于上下文共现与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

如有自然语言处理、知识图谱、事理图谱、社会计算、语言资源建设等问题或合作,请联系我:
邮箱:lhy_in_blcu@126.com
csdn:https://blog.csdn.net/lhy2014
我的自然语言处理项目: https://liuhuanyong.github.io/
刘焕勇,**科学院软件研究所