【论文阅读笔记】Glyce: Glyph-vectors for Chinese Character Representations

香侬科技近期提出 Glyce,首次在深度学习的框架下使用中文字形信息(Glyph),横扫 13 项中文自然语言任务记录,其中包括:(1) 字级别语言模型 (2) 词级别语言模型 (3) 中文分词 (4) 命名实体识别 (5) 词性标注 (6) 句法依存分析 (7) 语义决策标注 (8) 语义相似度 (9) 意图识别 (10) 情感分析 (11) 机器翻译 (12) 文本分类 (13) 篇章分析。

【abstract】

对于像中文这样的标志图形语言来说,NLP任务应该从这些语言中的符号信息的使用中受益,这是很直观的。然而,由于象形文字缺乏丰富的象形证据,标准计算机视觉模型对文字数据的泛化能力较弱,如何有效地利用象形文字信息还有待探索。

在本文中,我们通过预先设置Glyce(汉字的字形向量)来解决这一问题。主要创新有三方面:(1)运用古文字(如青铜器文字、篆书、繁体字等)丰富汉字的象形证据;(2)设计了适合汉字图像处理的CNN结构;(3)在多任务学习设置中,将图像分类作为辅助任务,提高模型的泛化能力。

 

【introductiom】

汉字是一种象形文字。在NLP研究领域,多数使用distributed representations方式来表征语义,基于字形的表示很少被人研究。之前的研究中曾经使用五笔字形等方式通过字形编码来增强表示能力,但由于五笔字形只是随机编码,因此没有涉及到更生层次的标识信息。

  

之前部分使用CNN对汉子字形的研究没有显示出明显的性能提升,有些甚至使性能恶化,主要原因在于:

1.使用的文字版本不对。汉子的发展历史悠久,最著名的版本有甲骨文(公元前2000年-公元前300年)、隶书(公元前200年-公元200年)、篆书(公元前100年-公元420年)、碑文(公元420年-公元588年)、,演进过程是从易于绘制到易于书写,而当前使用的简体中文为了易于书写已经丢失了很多象形特征。

    

2.使用的CNN结构不对。传统的CNN架构可以使用ImageNet(800*600像素)图标片进行训练,而汉子图片通常较小(12*12),因此需要专门针对性的设计CNN结构来捕捉局部的图像特征。

3.数据量小。ImageNet图像分类任务有上百万张图片可供训练,汉子只有大约10000个。

针对以上问题,本文采用以下技巧来突破:

1.采用历史文字和当代文字(如青铜器文字、隶书、篆书、繁体中文等)的组合,以及不同书写风格的文字(草书),以丰富字符图像的象形信息。

2.提出符合中文字形的Tianzige-CNN(田字格)构架。

3.采用多任务学习方法,通过增加图像分类损失函数来提高模型的泛化能力。

 

【Glyce】

  1.训练的数据

      由于简体中文丢失了很多汉子的象形信息,本文使用了不同的汉子字体,这种方式类似于计算机视觉领域的数据强化方法。本文使用的字体如下表:

 

  2.Tianzige-CNN   

      为了解决汉字图片尺寸小,数量少的问题,作者提出了田字格CNN。

     

      作者发现田字格结构对于提取汉子信息很重要,因此倒数第二层通过1*1的卷积后输出的是256个2*2的田字格特征图。

      考虑到原始图像较小,最后一层采用group convolution而不是常规卷积,这样不容易过拟合。group convolution可以参考https://blog.csdn.net/hhy_csdn/article/details/80030468,其实就是卷积分组,原来用一个卷积的,现在分开成几个并行卷积,最后合并结果。

 

 

  3.使用图像分类作为辅助目标

  这一步是利用多任务训练来进一步的避免过拟合。图像分类采用卷积网络最后的输出进行汉子字符的分类,目标函数为:

 

  结合机器翻译,语言建模等不同的任务,总的训练目标函数为:

 

  其中:

 

  t为与训练epoch相关的参数,可以看出图像分类对总目标的影响随着训练的进行逐步下降。

 

  4.Glyce中文字向量 &5.Glyce中文词向量

     字向量: Glyce 将来自不同历史时期的相同字符堆积形成不同的 channel,并且通过 CNN 对这些图像信息进行编码得到了 glyph 向量。得到的 glyph 向量输入到图像分类模型得到字形图像识别的损失函数。然后通过 highway network 或者全连接的方式将 glyph 向量和对应的中文 char-id 向量进行结合得到了最终的 Glyce 中文字向量。

     词向量:由于中文的词都可以看成是由中文的字组成,Glyce通过充分利用组成中文词中的汉字得到更加细粒度的词的语意信息。使用 Glyce字向量的方式得到词中的对应字的表示。因为中文词中字的个数的不确定性,Glyce 通过 max pooling 层对所有得到的 Glyce 字向量进行特征的筛选,用来保持了维度的不变性。最终得到的向量通过和 word-id 向量进行拼接得到最终的 Glyce 中文词向量。

 

 

  【实验结果】

1.Task1: 字级别语言模型

使用本文的方法提出embeding,输入LSTM,在给定前一个字预测下一个字。使用Chinese Tree-Bank 6.0 (CTB6)数据库并且采用 PPL(困惑度)作为最终的评价指标。通过使用 8 种历史字体和图像分类的损失函数,基于字级别的语言模型的 PPL(困惑度)达到了 50.67。从表中可以看出,加入图像分类任务后性能提升很多,作者认为图像分类目标推动CNN模型从不同的字体图像中提取共享的象形特征,这在理解字符语义中是必不可少的。

 

2.Task2: 词级别语言模型

使用Chinese Tree-Bank 6.0 (CTB6)数据库和jieba分词,在LSTM上输入本文方法提取的词向量,给定前一个词语预测下一个词语。经过对照实验,word-ID 向量+ glyce 词向量的结合在词级别的语言模型上效果最好,PPL(困惑度)达到了 175.1。

 

3.Task3: 命名实体识别

使用 OntoNotes, MSRA 和 resume datasets数据集,使用Lattice-LSTMs架构,将charID embeddings替换为Glyce-char  embeddings。在 CTB6 和 Weibo 数据上达到了新的最优的结果。在 PKU 的数据上达到了呵之前最优结果相同的结果。

 

4.Task4: 中文分词

使用CTB6, PKU掘Weibo benchmarks,

 

5.Task5:词性标注

词性标注采用了 CTB5, CTB6,UD1 的数据集。单个模型使用 Glyce 词向量在 CTB5 和 UD1 数据上分别超过之前的 state-of-the-art 1.54 和 1.36 个百分点。Glyce 单模型效果在 CTB5 和 UD1 上超过之前多模型集合的最优结果。

 

6.Task6: 句法依存分析

句法依存分析采用了 Chinese Penn Treebank 5.1 的数据。Glyce 词向量结合之前最优的 Biaffien 模型把结果在 UAS 和 LAS 数据集上和最优结果比较分别提高了0.9和0.8。

 

7.Task7: 语义决策标注

语义决策标注的实验采用了 CoNLL-2009 的数据,并且采用 F1 作为最终的评价指标。最优模型 k-order pruning 和 Glyce 词向量超过了之前最优模型 0.9 的 F1 值。

 

8.Task8: 语义相似度

语义相似度的实验采用了 BQ Corpus 的数据集,并且采用准确率和 F1 作为最终的评价指标。Glyce 字向量结合 BiMPM 模型在之前最优结果的基础上提高了 0.97 个点,成为了新的 state-of-the-art。

 

9.Task9: 意图识别

意图识别的任务使用了 LCQMC 的数据集进行了实验,并且采用准确率和 F1 作为最终的评价指标。通过训练 BiMPM 结合 Glyce 字向量在 F1 上超过了之前的最优结果 1.4,在 ACC 上超过了之前的最优结果 1.9。

 

10.Task10:中文-英文机器翻译

中文-英文机器翻译任务的训练集来自 LDC 语料,验证集来自 NIST2002 语料。测试集分别是 NIST2003,2004,2005,2006 和 2008,并且采用 BLEU 作为最终的评价指标。Glyce 词向量结合 Seq2Seq+Attention 模型,测试集上 BLEU 值达到了新的最优结果。

 

11.Task11: 情感分析

文本分类的任务采用了 Fudan corpus, IFeng, ChinaNews 三个数据集,并且采用准确率作为评价指标。Glyce 字向量结合 Bi-LSTM 模型在这三个数据集上分别取得了最优的结果。

 

12.Task12: 文本分类

文本分类的任务采用了 Fudan corpus, IFeng, ChinaNews 三个数据集,并且采用准确率作为评价指标。Glyce 字向量结合 Bi-LSTM 模型在这三个数据集上分别取得了最优的结果。

 

13.Task13: 篇章分析

篇章分析的任务采用了 Chinese Discourse Treebank (CDTB)的数据集,并且采用准确率作为评价指标。采用了之前 SOTA 模型 RvNN 和 Glyce 字向量,刷新了在 CDTB 数据上的准确率的最优结果。

本文的思想非常新颖,用的网络结构也是比较普通的,但是能在13个任务上取得STOA,比较值得一读。但个人认为在对比试验上略显单薄。SOTA的模型没有开源,稍微有点遗憾,等有时间自己实现看看。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值