一、前言
本篇论文主要是改进LatticeLSTM的两个缺点:
1、基于LSTM的模型,不能并行处理,效率低;
2、LatticeLSTM不能解决词汇冲突问题,比如下面句子中的“长”,根据前面的“广州市”很容易判断为O,然而整体观察后发现正确是B-GPE
对应的改进方案是:
1、使用CNN来替换LSTM来实现并行化;
2、使用rethinking机制,通过高层特征的语义来优化词向量权重
二、LR-CNN模型
下面看一下具体是如何做的?模型结构如下图所示:
LR-CNN模型主要包括「Lexicon-Based CNNs」和「Refining Networks with Lexicon Rethinking」两部分
2.1、Lexicon-Based CNNs
假设句子长度为m个字符C = {c1, c2, · · · , cM },Cm代表第m字符的embedding,可能从词典里构成的词使用wml = {cm, · · · , cm+l−1}表示,cm表示词的第一个字符,l表示词的长度。比如上图w12 =广州, w13 =广州市, w32 =市长。模型的第一层是字符输入,此后每层依次都是n-gram的输入,比如第二层就是bi-gram,第三层是tri-gram,以此类推。
每一层的计算方式如下:
其中〈A, B〉 = Tr(ABT )表示Frobenius内积,比如矩阵A的Frobenius范数定义为矩阵A各项元素的绝对值平方的总和开根。
使用attention模块( vector-based attention )去融合词典特征。
2.2、Refining Networks with Lexicon Rethinking
因为CNN的结果所限,在底层的隐藏词汇特征无法获取在高层时隐藏词汇带来的信息。
对于CNN顶层的特征,
作为high-level features,本文使用这些特征,通过在每个CNN层添加一个反馈层来重新调整词汇注意模块的权重:
其中
都是可训练参数,同时为了避免过拟合是注意力模块中的重用参数以减少参数数量,
代表顶层CNN得到的特征。
同时利用multi-scale feature attention来适应性地选取句子中同一位置的不同尺度:
经过处理后
作为CRF层的输入。
三、LR-CNN实验
3.1、对四个公开数据集对P、R、F1的对比
结论:从上面四个公开的数据集的实验表明LR-CNN的模型性能均优于LatticeLSTM
3.2、解码速度对比
结论:LR-CNN比LatticeLSTM模型的解码速度更快,在Weibo数据集上是3.21倍;而且随着句子长度增加,句子解码速度下降比LatticeLSTM缓慢。
3.3、LR-CNN模型中Rethink机制与Lexicon作用的对比
结论:多尺度的CNN作用下加入Lexicon的作用非常明显,而Rethink机制在此基础上进一步优化模型性能。