“分类:汉字结构地图和汉语字词的矢量表示”的版本间的差异

来自Big Physics
跳转至: 导航搜索
进一步研究
参考文献
(未显示同一用户的1个中间版本)
第20行: 第20行:
 
进一步,自然可以来看,如果我们不按照笔画,而是按照我们已经建成的[[:分类:汉字网络|汉字网络]]的拆分方式——把一个字拆分成为直接联系的下一层结构——来训练,效果会怎样?
 
进一步,自然可以来看,如果我们不按照笔画,而是按照我们已经建成的[[:分类:汉字网络|汉字网络]]的拆分方式——把一个字拆分成为直接联系的下一层结构——来训练,效果会怎样?
  
例如,首先,我们把原始的文本做一次转化,转化成每一个汉字都是下一级的子结构,例如照->火昭,但不是照->火口日刀,当然如果出现昭则做昭->日昭的替换。接着,在替换完成的文本上做以字为单位(或者以n-gram为单位)的word2vec完成矢量化。如果是以字为单位的,则文本中出现过的处于结构上最高层的字没有矢量表示(已经被拆掉了,在替换之后的文本中没有了),因此,还得想办法再一次得到这些最高层字的矢量(例如和para2vec一样保留整个para,也就是上层字和拆分以后的字都放到语料里面)。这个可以用简单矢量加法得到,或者用再一次运行针对这些字(相当于替换后文本中的词)的局部的word2vec。具体可以参考<ref name="components"/><ref name="characters"/>.
+
例如,首先,我们把原始的文本做一次转化,转化成每一个汉字都是下一级的子结构,例如照->火昭,但不是照->火口日刀,当然如果出现昭则做昭->日昭的替换。接着,在替换完成的文本上做以字为单位(或者以n-gram为单位)的word2vec完成矢量化。如果是以字为单位的,则文本中出现过的处于结构上最高层的字没有矢量表示(已经被拆掉了,在替换之后的文本中没有了),因此,还得想办法再一次得到这些最高层字的矢量(例如和para2vec一样保留整个para,也就是上层字和拆分以后的字都放到语料里面)。这个可以用简单矢量加法得到,或者用再一次运行针对这些字(相当于替换后文本中的词)的局部的word2vec。直接一次性替换到底的方式,以及这种类似para2vec的替换方式,以及其他的替换方式的效果,需要都做一下尝试。具体可以参考<ref name="components"/><ref name="characters"/>
  
另外,我们的拆分比纯粹笔画拆分强的地方在于保留含义(和读音)联系;我们的拆分比部首或者部件拆分强的地方在于我们是意义和字源性拆分,还有理据性分数(专家打分和word2vec相似性两种理据性)。有了理据性分数,可以考虑仅仅拆分一部分字。有了字源性拆分,可以拆分到实际有联系的部件字上面去。
+
另外,我们的拆分比纯粹笔画拆分强的地方在于保留含义(和读音)联系;我们的拆分比部首或者部件拆分强的地方在于我们是意义和字源性拆分,还有理据性分数(专家打分和word2vec相似性两种理据性)。有了理据性分数,可以考虑仅仅拆分一部分字。有了字源性拆分,可以拆分到实际有联系的部件字上面去。在研究过程中,可以把理据性拆分和纯笔画、偏旁部首拆分比较一下。
  
 
补充:<ref name="WordSeg"/>对深度学习模型是否需要分词信息进行了研究,字词表示学习工作可将其结论作为参考。
 
补充:<ref name="WordSeg"/>对深度学习模型是否需要分词信息进行了研究,字词表示学习工作可将其结论作为参考。
第45行: 第45行:
 
<ref name="word2vec">T Mikolov, K Chen, G Corrado, J Dean, Efficient estimation of word representations in vector space, arXiv preprint arXiv:1301.3781. </ref>
 
<ref name="word2vec">T Mikolov, K Chen, G Corrado, J Dean, Efficient estimation of word representations in vector space, arXiv preprint arXiv:1301.3781. </ref>
 
<ref name="word2vec2">T Mikolov, I Sutskever, K Chen, GS Corrado, J Dean, Distributed representations of words and phrases and their compositionality, Advances in neural information processing systems, 3111-3119. </ref>
 
<ref name="word2vec2">T Mikolov, I Sutskever, K Chen, GS Corrado, J Dean, Distributed representations of words and phrases and their compositionality, Advances in neural information processing systems, 3111-3119. </ref>
<ref name="components">Jinxing Yu, Xun Jian, Hao Xin, Yangqiu Song, Joint Embeddings of Chinese Words, Characters, and Fine-grained Subcharacter Components. EMNLP. http://www.aclweb.org/anthology/D17-1027</ref>
+
<ref name="components">Jinxing Yu, Xun Jian, Hao Xin, Yangqiu Song, Joint Embeddings of Chinese Words, Characters, and Fine-grained Subcharacter Components. EMNLP. http://www.aclweb.org/anthology/D17-1027 https://github.com/HKUST-KnowComp/JWE</ref>
 
<ref name="characters">Xinxiong Chen, Lei Xu, Zhiyuan Liu, Maosong Sun, Huanbo Luan, Joint Learning of Character and Word Embeddings. IJCAI. </ref>
 
<ref name="characters">Xinxiong Chen, Lei Xu, Zhiyuan Liu, Maosong Sun, Huanbo Luan, Joint Learning of Character and Word Embeddings. IJCAI. </ref>
 
<ref name="subword1">Piotr Bojanowski, Edouard Grave, Armand Joulin, Tomas Mikolov, Enriching Word Vectors with Subword Information. </ref>
 
<ref name="subword1">Piotr Bojanowski, Edouard Grave, Armand Joulin, Tomas Mikolov, Enriching Word Vectors with Subword Information. </ref>

2019年8月16日 (五) 14:53的版本


背景

把语言的词汇表示成为意义上有联系的矢量形式,而不是简单的one-hot矢量(一个词代表空间的一个维度)。是大量后续自然语言处理的基础,无论从概念上还是从矢量空间的维数这个技术难度上。

Word2vec算法word2vec[1][2],基于一个字上下文经常在一起出现的其他字的频率,可以用来发现词之间的语义联系,并用于解决自然语言处理的问题。在语音语言上,词的内部结构通常没有丰富的意义,基本上就是表示一个读音。但是,汉字是特殊的,其内部结构很多时候表示了含义上的联系。例如,妈、妹、姐、姑、奶都有“女”字旁,而且它们这几个字确实和“女”有联系。这个工作[3]的研究者就注意到了这个联系,从而把汉字打开用更加基本的结构笔画来发现汉字的含以上的联系。

在英语词汇的适量表示上,也有类似的拆分或者说直接粗暴的以n-gram(subword)为表示对象的word2vec研究[4][5]

这是这个工作的简短介绍[6]。实际上,这个工作在上面的思想上,走的更粗暴和极端——直接用笔画(被作者分成了五种)的n-gram来代表汉字——然后训练这些n-gram的矢量表示。当然,这个时候,真实的汉字的表示也就训练出来了——毕竟真实汉字不过就是这些笔画n-grams里面的一个。

此外,也有工作将汉字字形以图像形式编码,利用cnn卷积神经网络编码汉字图形特征,以之辅助词向量训练[7]

进一步研究

进一步,自然可以来看,如果我们不按照笔画,而是按照我们已经建成的汉字网络的拆分方式——把一个字拆分成为直接联系的下一层结构——来训练,效果会怎样?

例如,首先,我们把原始的文本做一次转化,转化成每一个汉字都是下一级的子结构,例如照->火昭,但不是照->火口日刀,当然如果出现昭则做昭->日昭的替换。接着,在替换完成的文本上做以字为单位(或者以n-gram为单位)的word2vec完成矢量化。如果是以字为单位的,则文本中出现过的处于结构上最高层的字没有矢量表示(已经被拆掉了,在替换之后的文本中没有了),因此,还得想办法再一次得到这些最高层字的矢量(例如和para2vec一样保留整个para,也就是上层字和拆分以后的字都放到语料里面)。这个可以用简单矢量加法得到,或者用再一次运行针对这些字(相当于替换后文本中的词)的局部的word2vec。直接一次性替换到底的方式,以及这种类似para2vec的替换方式,以及其他的替换方式的效果,需要都做一下尝试。具体可以参考[8][9]

另外,我们的拆分比纯粹笔画拆分强的地方在于保留含义(和读音)联系;我们的拆分比部首或者部件拆分强的地方在于我们是意义和字源性拆分,还有理据性分数(专家打分和word2vec相似性两种理据性)。有了理据性分数,可以考虑仅仅拆分一部分字。有了字源性拆分,可以拆分到实际有联系的部件字上面去。在研究过程中,可以把理据性拆分和纯笔画、偏旁部首拆分比较一下。

补充:[10]对深度学习模型是否需要分词信息进行了研究,字词表示学习工作可将其结论作为参考。

词向量算法

在词语表示的研究上,word2vec模型之后,有几个较有代表性的工作:

- GloVe: 利用词语共现矩阵学习词表示。链接

- fasttext: 以训练分类标签为目标,产生词向量的副产物,并集成了subword信息。链接

- ELMo: 基于双向语言模型(采用LSTM模型)学习contextualized word embedding,真正意义上实现了一词多表示。链接

- BERT: 基于双向语言模型(采用深层Transformer模型),将其隐层表示取出,可以得到更高效的contextualized embedding表示。链接

除了和word2vec算法结合,也可以考虑把汉字拆分和这些算法结合。

参考文献

  1. T Mikolov, K Chen, G Corrado, J Dean, Efficient estimation of word representations in vector space, arXiv preprint arXiv:1301.3781.
  2. T Mikolov, I Sutskever, K Chen, GS Corrado, J Dean, Distributed representations of words and phrases and their compositionality, Advances in neural information processing systems, 3111-3119.
  3. Shaosheng Cao, Wei Lu, Jun Zhou and Xiaolong Li, cw2vec: Learning Chinese Word Embeddings with Stroke n-gram Information, In Proceedings of AAAI 2018, http://www.statnlp.org/wp-content/uploads/papers/2018/cw2vec/cw2vec.pdf
  4. Piotr Bojanowski, Edouard Grave, Armand Joulin, Tomas Mikolov, Enriching Word Vectors with Subword Information.
  5. Bojanowski, Piotr, et al. Enriching word vectors with subword information. Transactions of the Association for Computational Linguistics 5 (2017): 135-146. http://aclweb.org/anthology/Q17-1010
  6. jaylin008, word2vec与cw2vec的数学原理, https://www.jianshu.com/p/f258d0c5c317
  7. Su, Tzu-ray, and Hung-yi Lee. Learning Chinese Word Representations From Glyphs Of Characters. In Proceedings of EMNLP 2017. https://www.aclweb.org/anthology/D17-1025
  8. Jinxing Yu, Xun Jian, Hao Xin, Yangqiu Song, Joint Embeddings of Chinese Words, Characters, and Fine-grained Subcharacter Components. EMNLP. http://www.aclweb.org/anthology/D17-1027 https://github.com/HKUST-KnowComp/JWE
  9. Xinxiong Chen, Lei Xu, Zhiyuan Liu, Maosong Sun, Huanbo Luan, Joint Learning of Character and Word Embeddings. IJCAI.
  10. Meng, Yuxian et al. Is Word Segmentation Necessary for Deep Learning of Chinese Representations?, to appear on ACL 2019.

子分类

本分类只有以下子分类。