一、前言
作为NLP领域中经典任务之一,分词几乎是其他所有NLP任务的基础,开展下游NLP任务之前,往往需要先对文本进行分词。多标准分词(Multi-criteria Chinese word segmentation, MCCWS)的任务目的,即是为了利用多种标准分词结果的共性知识,来提升单一分词标准的标注效果。本文提出的模型,可以根据分词标准指示,基于单一模型,给出不同标准的分词结果。
二、模型
2.1 模型细节
从现在这个时间点看,模型相对来看比较简单(这也许是中了EMNLP Findings的原因吧...)。传统基于多任务学习的分词框架如下:
在多个标注标准的框架下,对于有M个不同标注标准的数据集,会抽取出共享的知识,以及各单独分词标准的知识,在解码阶段,对每一个标注标准,设计一个对应的解码器解码即可。相对于传统的多任务学习的分词框架,Paper提出的框架则在两个地方进行了改进:
-
去掉Private Encoder,即把单一标注标准的知识直接融入了共享层中;
-
解码阶段,省去了为每一个标注标准,设计各自的解码器,转而设计一个共享的解码器, 从所提出的框架图中也可以看出:
实际上,上述两点的改进,都是源于模型在encode阶段加的trick(Criterion Embedding),即对于每一种标注标准,都加入其标注标准作为encoder的一部分:
那么,就算有一百种的标注标准,只要有这个作为指示的embedding,模型都不会混淆。回过头来,模型的embedding信息除了刚讲的标注Criterion Embedding,还有以下几部分:
-
Bigram Embedding,这个trick现在看来也是非常常用的了,在分词这个任务下也比较常用。除了编码字embedding之外,还会把这个字bigram embedding给concat起来,作为单个字的embedding表示。
-
Position Embedding,这个和原生Transformer一样;
Transformer这里就不讲了。那么,到了这里,对于一条标注标准为m的query,它的embedding就可以表示为:
其中,以开始指示的embedding,即为带有bigram信息的embedding:
以对应代码来更直观认识这部分:
def forward(self, task, uni, bi1=None, bi2=None):
y_task = self.task_embed(task[:, 0:1])
y = self.uni_embed(uni[:, 1:])
if bi1 is not None:
assert self.bi_embed is not None
y = torch.cat([y, self.bi_embed(bi1), self.bi_embed(bi2)], dim=-1)
if self.F is not None:
y = self.F(y)
y = torch.cat([y_task, y], dim=1)
return y * math.sqrt(self.d_model)
模型的Encoder没啥好讲的,就是平平无奇的Transformer了,而Decoder也是用的平平无奇的CRF,因为每条query都带有标注标准指示,解码时根据标注标准调整bies序列至对应query即可。
2.2 模型效果
作者在8个经典分词数据集(5简体,3繁体)上进行了实验,并使用Transformer作为Encoder基于单一分词标准进行了实验,验证了Transformer作为分词Encoder的有效性;并基于多标准分词(即本文研究内容),对所提出的模型进行了评估,结果如下:
实验结果显示,和当时最好的多标准CWS模型(Stacked BiLSTM)相比,作者所提出的多标准分词模型具有绝对的优势。除此之外,作者还进行了两方面的分析,第一是对中文简繁体协同训练预测的研究(这块我感觉并不是非常地convincing,就不展开说了),第二是对模型各模块的分析,并给出了模型各部分对最终效果的贡献:
模型的结论,和在平时工作中的基本经验一致,对于抽取能力强的Encoder而言(Transformer, BiLSTM),CRF确实比较鸡肋,但论文所说的加了CRF后的耗时问题,则倒是不至于:解码时CRF的复杂度不过是O(k*n*n),k是bies标签数量,n为query长度,对于短query而言,耗时是可以接受的,考虑在搜索这种准召、时效性要求都非常高的任务场景下,CNN作为抽取器,那必然是需要CRF来约束的。
三、总结
这篇Paper提出一个基于Transformer的多标准分词模型,相对比较好理解,可以认为是Bert时代下,必然会出现的一篇Paper,所提出的Criterion Embedding很有意义,在一些语料匮乏的NLP任务场景下,是一个值得借鉴的有效思路。
四、参考文献
[1]Qiu, Xipeng, et al. "Multi-Criteria Chinese Word Segmentation with Transformer." arXiv preprint arXiv:1906.12035 (2019).
文章公众号首发,更多文章、数据集资源,可以关注公众号,后台回复领取哦~
