本篇论文选自2019年NeurIPS,论文链接Glyce: Glyph-vectors for Chinese Character Representations
摘要
对于像中文这种象形文字,其字符本身形式就含有一定信息,但是由于象形文字缺乏丰富的象形证据以及标准计算机视觉模型对于字符数据的弱泛化能力,这种信息在NLP任务中没得到充分利用。
在本paper中提出Glyce,提出三点创新:(1)利用历史上的汉字字体(金文,繁体中文等)来丰富字符象形证据;(2)设计了适合汉字图像处理的CNN结构(tianzige-CNN);(3)在多任务学习设置中,将图像分类用作辅助任务,以提高模型的泛化能力。
简介
早期的基于CNN的模型来处理字符没有取得进展甚至还会有负面效果,原因可归纳为三点:
- 没有使用正确的字体。汉字经过长时间的演化,字体有很大改变,比如现在的简体字相对于繁体字,字符表现形式本身失去了很多信息。
- 没有使用正确的CNN架构。将字符作为图像由CNN处理会有一个问题,传统的用来进行图像处理CNN处理的图像数据尺寸比字符图像会大很多。需要使用不同的CNN架构来捕捉字符图像的局部特征。
- 没有使用regulatory functions。传统的CNN用来进行图像处理,用来进行训练的数据量是很大的,然汉字的数量相对是很有限的。在防止模型过拟合以及提高模型泛化能力方面,辅助训练目标很有必要。
在本论文中将字符作为图像进行处理,使用CNN来获取字符的表示,针对上面三点原因提出:
- 使用多种不同时期的汉字以及字体。
- Tianzige-CNN (田字格)。
- 添加图像分类损失函数。
Glyce
使用不同时期的汉字以及多种字体
对同一个字符来说,对于不同时期的汉字或者字体,它的图像表现形式可能会差别很大。这种方式类似于计算机视觉领域的数据增强,可以提高模型泛化能力。
Tianzige-CNN
由于汉字数量相对有限,以及传统CNN处理的图像尺寸与汉字图像尺寸差别较大,提出Tianzige-CNN。输入图像的通道数即为不同的字体数。最后图像尺寸为2*2,和田字格尺寸相同,田字格结构能够表示出中文字符之间偏旁部首的分布及其汉字的书写顺序。网络最后使用分组卷积,可以减少参数量从而防止过拟合。
使用汉字图片分类损失作为辅助的训练策略
为了进一步降低整个网络过拟合的风险,将汉字图片分类损失函数作为辅助损失函数来辅助整个网络的训练过程。从CNN得到的字符嵌入 h i m a g e h_{image} himage被输入到图像分类器中,预测对应的charID。假设图像 x x x的label是 z z z,则图像分类任务 L ( c l s ) L(cls) L(cls)的训练目标为: