论文地址:https://arxiv.org/pdf/1901.10125v5.pdf

github地址:https://github.com/ShannonAI/glyce

Abstract:

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

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

Introduction

汉字是一种象形文字。在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.采用多任务学习方法,通过增加图像分类损失函数来提高模型的泛化能力。



ok 重点来讲这三点

1 同一汉字不同形式字体的使用。
对于一个汉字来说,使用的不仅仅是现代汉字的形式(中华文明上下5000年,随着时间的发展,汉字变的越来越容易写,但是同时丧失了作为象形文字所具备的形态上的很多特征信息)。同时参考了汉字在历史上的各个时期的形式,具体如下图所示:

从图中可以看出,针对同一个汉字分别提取了金文,隶书,纂书,魏碑,繁体中文,简体中文,草书等形式。同时和之前方法不同的是,不再依赖于类似五笔输入法这种对于原始字体的拆分策略,而是直接使用汉字的图片形式,直接从图片的像素中抽取信息。具体从图片中抽取汉字信息的结构是本文第二个创新点。

2 一种面向低像素图片的信息抽取结构。
由于不同的汉字都是以图片的形式提供的,因此必须设计网络结构从图片中抽取信息。之前的面向图片的抽取结构都是deep CNNs,即很多卷积层+max pooling层。如果直接拿过来提取汉字的图片特征,作者发现会有很大的问题,因为:1 汉字图片的像素比较低12 * 12,远远低于Imagenet数据集中的800*600;2 中文的话总共大概只有1万多个不同的汉字,而Imagenet中的分类样本数量则达到了百万量级。基于上面两个原因,作者针对这种情况专门设计了提取汉字图片特征的网络结构(可改进):

输入层是一个汉字对应的图片,是三维的结构,channel维指代的是同一个汉字不同时期形式下的字体。具体的网络参数说明如下:

其实整个网络结构相对于传统的deep CNNs 系列网络模型结构来说是比较简单,而且层数比较少的。(毕竟样本数量少,过于复杂的网络结构很容易过拟合)。需要注意的是倒数后两层中同一个汉字的像素变成了2 * 2,作者将其和我们小学时用到的田字格联系到了一起,就给这个网络结构起名叫做tianzige-cnn

3 使用汉字图片分类损失作为辅助的训练策略。

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

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

其中:

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

再解释一下Glyce中文字向量 &Glyce中文词向量

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

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


最后看一下结合bert的结构

Combing Glyph Information with BERT

字形嵌入可以直接输出到下游模型,如RNNs、LSTMs、转化器。
由于使用语言模型的大规模预训练系统,如BERT [Devlin et al., 2018]。
ELMO[Peters等人,2018]和GPT[Radford等人,2018],已被证明在广泛的NLP任务中是有效的,我们探索将字形嵌入与BERT嵌入相结合的可能性。
这种策略将有可能赋予模型以字形证据和大规模预训练的优势。
图2显示了该组合的概况。该模型包括 四层:BERT层、字形层、Glyce-BERT层和特定任务输出层。
- BERT层 每个输入句子S都与一个表示句子开始的特殊CLS标记相连接。句子的开始,和一个SEP标记,表示句子的结束。给定一个预先训练好的 BERT模型,使用BERT计算S的每个标记的嵌入。我们使用 BERT变换器的最后一层的输出来表示当前的标记。
- Glyph层 从tianzege-CNNs输出的S的字形嵌入。
- Glyce-BERT层 位置嵌入首先被添加到字形嵌入中。
然后 然后与BERT相连接,得到完整的Glyce表示。
- 特定任务的输出层Glyce表示用于表示该位置上的标记。位置,类似于单词嵌入或Elmo emebddings[Peters等人,2018]。语境感知信息已经被编码在BERT表示中,但不是字形表征。
因此,我们需要额外的语境模型来编码语境感知的字形 表征。
在这里,我们选择多层变换器[Vaswani等人,2017]。转换器的
变换器的输出表示被用作预测层的输入。
值得一提的是,特殊的CLS和SEP标记的表征被保留在 最后的特定任务嵌入层。



总的来说这篇文章还是有非常大的借鉴空间的!

论文阅读笔记-Glyce: Glyph-vectors for Chinese CharacterRepresentations相关推荐

  1. FCGF论文阅读笔记

    FCGF论文阅读笔记 0. Abstract 从三维点云或者扫描帧中提取出几何特征是许多任务例如配准,场景重建等的第一步.现有的领先的方法都是将low-level的特征作为输入,或者在有限的感受野上提 ...

  2. DCP(Deep Closest Point)论文阅读笔记以及详析

    DCP论文阅读笔记 前言 本文中图片仓库位于github,所以如果阅读的时候发现图片加载困难.建议挂个梯子. 作者博客:https://codefmeister.github.io/ 转载前请联系作者 ...

  3. [论文阅读笔记36]CASREL代码运行记录

    <[论文阅读笔记33]CASREL:基于标注与bert的实体与关系抽取>https://blog.csdn.net/ld326/article/details/116465089 总的来说 ...

  4. 《Progressive Growing of GANs for Improved Quality, Stability, and Variation》-论文阅读笔记

    <Progressive Growing of GANs for Improved Quality, Stability, and Variation>-论文阅读笔记 文章目录 <P ...

  5. Fast R-CNN论文阅读笔记

    文章目录 Fast R-CNN论文阅读笔记2015 Abstract 1. Introduction 1.1 R-CNN and SPPnet 1.2 Contributions 2.Fast R-C ...

  6. 全卷积(FCN)论文阅读笔记:Fully Convolutional Networks for Semantic Segmentation

    论文阅读笔记:Fully Convolutional Networks forSemantic Segmentation 这是CVPR 2015拿到best paper候选的论文. 论文下载地址:Fu ...

  7. DnCNN论文阅读笔记【MATLAB】

    DnCNN论文阅读笔记 论文信息: 论文代码:https://github.com/cszn/DnCNN Abstract 提出网络:DnCNNs 关键技术: Residual learning an ...

  8. Learning Multiview 3D point Cloud Registration论文阅读笔记

    Learning multiview 3D point cloud registration Abstract 提出了一种全新的,端到端的,可学习的多视角三维点云配准算法. 多视角配准往往需要两个阶段 ...

  9. PointConv论文阅读笔记

    PointConv论文阅读笔记 Abstract 本文发表于CVPR. 其主要内容正如标题,是提出了一个对点云进行卷积的Module,称为PointConv.由于点云的无序性和不规则性,因此应用卷积比 ...

最新文章

  1. 网络工程师_记录的一些真题_2017下半年上午
  2. 低复杂度 - 服务网格的下一站
  3. 直接导入用户信息到discuz ucenter.
  4. 全国青少年软件编程python等级考试-全国青少年软件编程等级考试:Python一级考试大纲...
  5. 神经网络:卷积神经网络
  6. 本地数据源:使用firebird数据库
  7. php文件名函数,php 获取文件名basename()函数的用法总结
  8. 记一次某APK的恶意WIFI攻击
  9. sql 之like 和通配符%,_(mysql)
  10. mysql数据类型支持比较运_Mysql支持的数据类型(总结)
  11. MyBatis学习存档(4)——进行CRUD操作
  12. 程序异常exitcode非0_ARM寄存器分析以及异常处理方法
  13. two pointers(双指针思想)
  14. Unity下载package到本地,Unity高版本如何安装Packager到本地,UnityPackageManager下载包到本地的保存路径
  15. 110KV降压变电所电气一次部分及防雷保护设计
  16. springboot个人博客项目面试准备
  17. win10系统如何安装SQL2008?
  18. Android KK NuPlayer
  19. 微信小程序开发入门(连载)—— 开发前的准备工作
  20. 中秋赏月地图出炉,跟随锦江之星去赏月

热门文章

  1. 企业实操任务- 正式环境Redis服务启用密码认知
  2. 2、KML对象转JSON
  3. PTA--天梯赛--输入一个整数,输出每个数字对应的拼音。当整数为负数时,先输出fu字。十个数字对应的拼音如下:
  4. 2021ubuntu更新源-最全(阿里,腾讯云,京东云,清华,百度,163,山大
  5. 计算机基础 - 动态规划、分治法、memo
  6. 计算机专业转正述职报告,计算机专业述职报告
  7. mysql仅仅属于bcnf_Mysql数据库如何判断BCNF和3NF。课本定义看不懂,求直白,各有例子就更好了。谢谢。满意会加分...
  8. MySQL存储引擎与数据的关系_MySQL存储引擎与数据类型
  9. windows mysql更改目录权限_Windows下MySQL数据目录如何修改
  10. 使用C#模拟键盘输入