文章目录
1 简介
论文题目:A Convolution BiLSTM Neural Network Model for Chinese Event Extraction
论文来源:NLPCC 2016
论文链接:https://eprints.lancs.ac.uk/id/eprint/83783/1/160.pdf
1.1 动机
- 传统的方法依赖一系列NLP工具抽取单词特征(如词性标注、命名实体识别)和句子特征(依存分析),它们通常遭受复杂的特征工程和使用额外工具的错误传播。
1.2 创新
- 在中文事件抽取任务中,提出一个卷积双向LSTM模型自动学习单词和句子特征,不适用任何手工设计的特征。
2 背景知识
和英语不一样,中文没有单词之间的分割符,分割粒度对预测有很大的影响,如下图将受影响的触发词分为一下两类:
- Cross-word triggers: 触发词由多个单词组成,如上图的落入法网。
- Inside-word triggers: 几乎每一个中文字都有自己的意思,因此一些它们自己就可以作为触发词,如上图的击和毙,凶杀案中的凶杀。
下图为在ACE 2005中文数据集中使用不同中文分词工具,触发词的数量,最低的不一致率也高达14%。
3 方法
3.1 触发词标记
为了解决中文分割问题,将触发词标记作为序列标注任务而不是分类任务,使用BIO标注触发词的类型,由于分割问题,将模型分为单词级别和字符级别。
3.1.1 单词级别模型
使用双向LSTM获得句子级别的特征,然后使用CNN抽取单词在句子中的局部上下文信息,最后为输出层,拼接双向LSTM和CNN进行softmax,计算每个标签的概率,模型图如下。然而基于词的方法不能解决Inside-word triggers问题,为了解决这个问题,使用一个勘误表记录在训练集中最经常出现的触发词,在测试阶段,如果一个单词有一个实体在勘误表中,将使用实体的触发词类型作为这个单词的类型。
3.1.2 字符级别模型
仅输出与单词级别模型不一样,模型图如下。
3.2 论元标记
除了词向量,也使用上流触发词标记任务抽取的信息,因此论元标记有下面四个额外的输入:
- Trigger position feature: 单词是否为触发词
- Trigger type feature: 单词的触发词类型或者"NONE"
- Entity position feature: 单词是否为实体
- Entity type feature: 单词的实体类型或者"NONE",由于ACE数据集提供了实体定义,因此可以直接获得实体特征,不适用额外的NLP工具。
通过查表将这些特征转换为向量,拼接词编码,作为BiLSTM和CNN的输入。
然后将论元标记作为分类任务,而不是序列标注任务。因为ACE数据集提供真实的实体定义,确保论元仅被识别在这些实体中。将BiLSTM的最后一个词的隐藏状态hN作为句子级别的信息,对于CNN使用整个句子的全部词作为上下文,而不是一个窗口中的单词。最终,经过softmax分类得出标签的概率。
4 实验
使用ACE 2005中文数据集,包含633个中文文档。选择509个文档做训练集,64个文档做测试集,60个文档做验证集。
评测标准如下:
- 触发词识别正确:如果它的偏移位置与参考触发词匹配。
- 触发词分类正确:如果它的偏移位置、触发词类型与参考触发词匹配。
- 论元识别正确:如果它的偏移位置、相关触发词类型和触发词的偏移位置与参考论元匹配。
- 论元分类正确:如果它的偏移位置、角色、相关触发词类型和触发词的偏移位置与参考论元匹配。
4.1 触发词标记
实验结果如下图,可以发现单词级别的模型有更高的准确率,字符级别的模型有更高的召回率。
在不同类型触发词的实验结果如下图,可以发现由于数据集中cross-word triggers的数量比inside-word triggers多,所以单词级别模型F值更高。
字符级别模型准确率低的原因:
- 字符级别模型学习了额外的词分割方式,如下图S8、S9。
- 单词级别的编码比字符级别编码拥有更加丰富的语义表示,如下图S10。
- 字符级别模型中的RNN需要更长的序列去维护信息。
比较不同网络对歧异触发词的分类性能,结果如下图:
4.2 论元标记
实验结果如下图:
需要注意一些触发词和它的论元并不在相同的句子中,该论文提出的模型的不能处理这种情况。
5 总结
- 提出了CNN+BiLSTM模型用于中文事件抽取,将触发词识别作为序列标注问题,使用LSTM捕捉句子级别的信息,使用CNN捕捉单词级别信息。
- 使用勘误表改进模型的性能。