点击上方,选择星标或置顶,每天给你送干货!
阅读大概需要7分钟
跟随小博主,每天进步一丢丢
论文作者:Tao Gui等
论文标题:CNN-Based Chinese NER with Lexicon Rethinking
论文会议:IJCAI2019
论文链接:https://www.ijcai.org/Proceedings/2019/0692.pdf
论文代码: https://github.com/guitaowufeng/LR-CNN
本文模型提出的动机是,尽管现有的融合了lexicon信息的RNN模型在中文NER任务中取得了一定的成功,但这类模型存在两处缺点
效率限制: 基于RNN的模型由于循环结构的限制无法进行并行操作,尤其是Lattice-LSTM;
Lexicon冲突问题: 当句子中的某个字符可能与lexicon中的多个word有关时,基于RNN的模型难以对此做出判断。例如,图一中的"长"可能属于"市长"一词,也可能属于"长隆"一词,而对"长"所属lexicon word判断的不同,将导致对字符"长"预测的标签不同。
基于以上问题,本文提出一种含有「rethinking 机制的CNN网络(LR-CNN)」,从以下两个方面对motivation中发现的问题进行解决
通过CNN对句子与lexicon中存在的词语进行处理
通过rethinking机制解决lexicon conflict: 大多数中文NER模型都通过前向网络结构对特征进行学习,因此无法在获得完整的句子信息后对lexicon conflict进行处理。因此通过再添加一层以高层特征为输入的feedback layer, 来调整lexicon words间的权重进而解决冲突问题。
本文总结如下三点贡献
设计了能够将lexicon信息融入到中文NER的CNN结构模型,且有效地加速了模型的训练;
设计了Rethinking机制来处理了上文所说的lexicon conflict问题;
本文模型取得了较好的效果,且运行速度达到目前SOTA模型的3.21倍
LR-CNN模型主要包括「Lexicon-Based CNNs」和「Refining Networks with Lexicon Rethinking」两部分
首先将输入的句子表示为 , 其中 表示句中 个字符维度为 的embedding表示;然后,对 lexicon 中能够与句子中字符序列匹配上的词语进行表示: = { , ..., }, 其中 代表字符下标, 代表词语长度, 例如在图1中, =广州, =广州市。接下来「用CNN模型对字符特征进行编码,并通过attention模块融入lexicon信息」。
CNN使用维度为 的矩阵作为卷积核,其中 代表卷积核窗口大小;CNN使用不同大小窗口的卷积核进行特征提取,当窗口大小为2时,表示抽取bigram特征,大小为 时,表示抽取 特征。卷积操作后得到的 句子特征表示为 , 将对应于 通过attention操作融入lexicon信息,attention部分的计算过程如下:
由于CNN的分层结构,低层的potential words信息无法影响到高层的words,因此设计rethinking机制,处理lexicon中potential words的冲突问题。
在本文中,将CNN的顶层特征 作为高层特征,通过向每一层CNN添加一个feedback layer来调整lexicon的权值,具体计算如下:
举例对这一过程进行说明,如果没有高层特征得到的"广州市"和"长隆",那么"市长"一词会对误导模型对字符"市"产生错误的预测。因此,需要通过高层特征("广州市")来降低"市长"一词在输出特征中权重。
在通过卷积核抽取 特征的同时,句子中每个位置上的字符分别都得到了一个表示,因此通过attn机制将同一字符在不同卷积尺度下的特征进行融合:
最后得到的将作为CRF层进行标签预测的输入。
以 为输入,通过CRF层对字符标签进行预测
主要介绍了数据集、比较的baseline模型以及超参设置,具体可见论文。
在分析章节中,本文首先通过LR-CNN在不同数据集上取得的结果说明了LR-CNN的「实验效果」,同时通过decoding time指出了LR-CNN在「效率」上较之Lattice-LSTM的提高。
然后,作者分析了「句子长度」对模型的影响,从两方面与Lattice-LSTM进行对比:
LR-CNN在实验中所有句子长度的设定下都取得了优于Lattice-LSTM的效果,尤其是句子长度小于12个字符时。因此得出结论: 「LR-CNN较之Lattice-LSTM更加具有处理短句的优势」。
对不同句子长度下LR-CNN和Lattice-LSTM的decoding time进行统计,发现随着句子长度的增加,LR-CNN的速度降低较为稳定,而Lattice-LSTM的速度改变则比较显著。
最后,作者通过消融实验得出如下结论
消融实验 | 结论 |
---|---|
去掉lexicon信息 | lexicon信息对基于字符的中文NER是十分有用的 |
去掉rethinking机制 | rethinking机制能够有效提高融合lexicon信息后模型的实验结果(因为它可以处理字符与lexicon中word的冲突问题) |
同时去掉lexicon信息和rethinking机制 | 通过对比「仅去掉lexicon信息」和「同时去掉lexicon和rethinking」的实验结果发现,rethinking机制对没有lexicon的模型也能有一定的提升作用 |