【分词】Long Short-Term Memory Neural Networks for Chinese Word Segmentation

1 Introduction

比较古早的文章了,2015年的ACL,用LSTM做分词的开山之作?
分词是中文自然语言处理的基础(在BERT出现之前),当下最流行的分词方法即把分词当做一个序列标注任务。用有监督的方法去训练模型,常用的有最大熵(ME)和条件随机场(CRF)。但是这些方法,特征需要经过精心的设计,很容易过拟合到训练语料。最近神经网络的兴起,降低了分词任务中特征工程的工作量。但目前的方法,用到的是一定窗长的上下文,这在一些需要很长上下文的场景下,会使模型的效果受限。比如:冬天 (winter),能 (can) 穿 (wear) 多少 (amount) 穿 (wear) 多少 (amount);夏天 (summer),能 (can) 穿 (wear) 多 (more) 少 (little) 穿 (wear) 多 (more) 少 (little)。判断分词结果,需要较长的上下文,而单纯地增加上下文窗长度,则会导致模型参数过多,容易过拟合到训练语料。为了解决这个问题,本文引入了LSTM建模长时间的上下文。在PKU/MARA/CTB6几个数据集上证明了本文方法的有效性。

2 神经网络分词

中文分词常被定义为一个序列标注任务。每个字会被标注为{B, M, E, S},B表示Begin,M表示Middle,E表示End,S表示Single,单字词。结构组成一般为:1)embedding 层,2)一系列神经网络层,3)分类层,如下图:
在这里插入图片描述

假设上下文窗长为5,那么对于每一个字 c t c_t ct最终的特征为 c t − 2 , c t − 1 , c t , c t + 1 , c t + 2 c_{t-2} , c_{t-1}, c_{t}, c_{t+1}, c_{t+2} ct2,ct1,ct,ct+1,ct+2 经过embedding后的向量concat到一起得到。这种方式的缺点是限制了上下文的长度。

3 LSTM神经网络分词

LSTM的结构就不再赘述,本文采取的结构如下图所示:
在这里插入图片描述

4 训练

采用了最大熵为loss函数训练 LSTM,相比之前的工作有明显提升。
在这里插入图片描述

后面还尝试了预训练的embedding和bigram特征的加入,都对分词效果有提升作用,且二者的收益是可以叠加的。
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_42262721/article/details/121343517