当前位置:   article > 正文

中文分词_SOTA 中文分词介绍

分词sota

b26e8fa319dbba18989c1298d6d60407.png

首先给大家分享一个github站点,https://github.com/sebastianruder/NLP-progress, 这里记录了很多自然语言处理任务当前最好的方法。

77b4b1ef921b5ed095f13ffcb287fefd.png

今天给大家分享的文章是《Toward Fast and Accurate Neural Chinese Word Segmentation with Multi-Criteria Learning》,这篇文章在中文分词任务10个数据集上都取得了最好的结果。

模型结构

f39d0d4caf62bf034a46ea39c551d7af.png

首先用Bert进行Feature Extraction, 然后进行Domain Project,然后用CRF预测输出标签, 标签集为{B, M, E, S}。

Domain Project:

8560e4abe89baa4f9210e184a4b041f4.png

不同数据集有不同的分词粒度。比如副局长,下午五时,令人满意在不同的数据集上,分词标注也不相同。

Domain Project用来捕获每个数据集的特定的分词标准。

投影层可以有很多的选择,作者使用的(简单且有效)的线性变换。同时,用一个额外的共享投影层用来学习不同数据集的公共知识。

由于分词是一项基本任务,要求该任务快且准确。

作者使用了三种提高速度的方法。分别是

Pruning:bert中文有12层,作者通过减少层数来提高速度。层数减少F-Score没有的明显降低。

7c54979f08d5f3b828680b17416e0c88.png

Quantization:kernels of multi-head attention layers and feedforward layers use half precision (FP16) rather than full precision (FP32)。也就是将权重的参数类型设置为float16而不是float32.

Compiler Optimization:使用XLA编译器。XLA is a domain specific compiler for linear algebra that optimizes TensorFlow computations.

下图是优化后的速度对比。

7a600b44b71e7222925c4aa94f3d014f.png

结果:

5aa5aa6485a5a06b10bcd2b858420141.png

在十个中文分词数据集上都取得了最好的结果。

另外利用多个数据集提高了OOV的召回率。

480a8a0002206ce953a4e03ef3bfd854.png

作者在附录中提出我们真的需要12 层transformer来进行中文分词吗?

9805878437a3265411e128973586ab7f.png

作者实验发现分词模型对不同层的attention score 是不一样的。其中第3层最高,说明第3层包含最多的分词信息。从7层到12层注意力得分逐渐下降,说明对于分词任务,高层学习的语义特征可能对分词影响较小。

42bdf3f0ef413e546b5aa071dd2199d3.png

作者实验还发现,跟长距离的字符相比,当前字符周围的字符会有较大的权重,说明分词更多地依赖于语法,长程依赖性相对不重要。可能自注意限制到固定窗口大小可以用来减少计算和模型加速。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/秋刀鱼在做梦/article/detail/833452
推荐阅读
相关标签
  

闽ICP备14008679号