![b26e8fa319dbba18989c1298d6d60407.png](https://i-blog.csdnimg.cn/blog_migrate/46b0c96a456576b58bfa3f537a599278.jpeg)
首先给大家分享一个github站点,https://github.com/sebastianruder/NLP-progress, 这里记录了很多自然语言处理任务当前最好的方法。
![77b4b1ef921b5ed095f13ffcb287fefd.png](https://i-blog.csdnimg.cn/blog_migrate/bf755242f0ff99b16b9f7f6c15b46036.jpeg)
今天给大家分享的文章是《Toward Fast and Accurate Neural Chinese Word Segmentation with Multi-Criteria Learning》,这篇文章在中文分词任务10个数据集上都取得了最好的结果。
模型结构
![f39d0d4caf62bf034a46ea39c551d7af.png](https://i-blog.csdnimg.cn/blog_migrate/584e7a9b2e07e2e7b415892abc57195c.jpeg)
首先用Bert进行Feature Extraction, 然后进行Domain Project,然后用CRF预测输出标签, 标签集为{B, M, E, S}。
Domain Project:
![8560e4abe89baa4f9210e184a4b041f4.png](https://i-blog.csdnimg.cn/blog_migrate/db217c93b1a6726884414866e1f196d1.jpeg)
不同数据集有不同的分词粒度。比如副局长,下午五时,令人满意在不同的数据集上,分词标注也不相同。
Domain Project用来捕获每个数据集的特定的分词标准。
投影层可以有很多的选择,作者使用的(简单且有效)的线性变换。同时,用一个额外的共享投影层用来学习不同数据集的公共知识。
由于分词是一项基本任务,要求该任务快且准确。
作者使用了三种提高速度的方法。分别是
Pruning:bert中文有12层,作者通过减少层数来提高速度。层数减少F-Score没有的明显降低。
![7c54979f08d5f3b828680b17416e0c88.png](https://i-blog.csdnimg.cn/blog_migrate/05d58908a7d5ad305a2b998b08f1b6d3.jpeg)
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](https://i-blog.csdnimg.cn/blog_migrate/5910660342167777993fd6147e1ab69f.jpeg)
结果:
![5aa5aa6485a5a06b10bcd2b858420141.png](https://i-blog.csdnimg.cn/blog_migrate/916ee6f9e41bac187e49efa0ae862c3b.jpeg)
在十个中文分词数据集上都取得了最好的结果。
另外利用多个数据集提高了OOV的召回率。
![480a8a0002206ce953a4e03ef3bfd854.png](https://i-blog.csdnimg.cn/blog_migrate/57faafb357a6e34517f3b239985b6423.jpeg)
作者在附录中提出我们真的需要12 层transformer来进行中文分词吗?
![9805878437a3265411e128973586ab7f.png](https://i-blog.csdnimg.cn/blog_migrate/03e5aa6d4aa49c984e0fbdc4fd431dd3.png)
作者实验发现分词模型对不同层的attention score 是不一样的。其中第3层最高,说明第3层包含最多的分词信息。从7层到12层注意力得分逐渐下降,说明对于分词任务,高层学习的语义特征可能对分词影响较小。
![42bdf3f0ef413e546b5aa071dd2199d3.png](https://i-blog.csdnimg.cn/blog_migrate/a6f88ff3fe2f0bddf561a0b229531624.jpeg)
作者实验还发现,跟长距离的字符相比,当前字符周围的字符会有较大的权重,说明分词更多地依赖于语法,长程依赖性相对不重要。可能自注意限制到固定窗口大小可以用来减少计算和模型加速。