本文主要是介绍基于卷积注意力神经网络的命名实体识别(CAN-NER),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
CAN-NER: Convolutional Attention Network for Chinese Named Entity Recognition(NAACL-HLT 2019)
论文要点
该论文提出过去基于词向量和词典中的几个问题:
- 模型结果会受词向量和词典覆盖好坏的影响【迁移问题】
- 会存在OOV的问题,而命名实体大多为OOV
- 词向量会极大增大模型大小【Embeddings Size一直是大头】,使得Finetune训练更难
- 没有足够大量的标注数据难以学习好词向量
- 大词典会占用大内存和耗时用于特征计算【额,这个应该影响很小】
- 词典太大时,难以清除词典中的脏数据【确实很多是noise word】
- 词向量和词典训练后难以更新【这个关键】
模型框架
- Convolutional Attention Layer
- 目的在于encode char和潜在词【encode the sequence of input characters and implicitly group meaning- related characters in the local context】
- 每个字符x=[char ; BMES;pos]组成
- 感觉文章表述的Conv Attention就是一个窗口大小为kernel size的Local的Self-Attention而已:
attention权值由输入emb计算
得到权值后对emb进行加权求和,就是这一层的输出了
然后这里说有多个kenel,结果算完后进行sum-pool,但感觉也就是一个multi-head
- BiGRU-CRF with Global Attention
- 卷积层后的输出作为BiGRU的输入
- BiGRU输出后加一层最经典的Attention层【在机器翻译Attention那篇经典文章的】
- 然后拼接BiGRU输出和Attention输出,经线性变换后输入CRF
模型效果
模型优缺点
- 文章没有使用word emb,而是直接使用分词边界BMES作为char的特征输入到模型中,确实有一定的作用,不过,这样模型是要基于分词的,这又与基于词典的模型不同
- 感觉这里的Attention只是为了强行套上去的,尤其是最后一层BiGRU还要加Attention,实验也没说明这个作用体现在哪?
- 而在效果上,其实这个模型对比Lattice-LSTM提升很小
这篇关于基于卷积注意力神经网络的命名实体识别(CAN-NER)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!