中文NER问题的解决方案

baseline: BiLSTM+CRF or BERT+BiLSTM+CRF

1)模型之外,如何提升标注效果?
在垂直领域,一个不断积累、不断完善的实体词典对NER性能的提升是稳健的,基于规则+词典也可以快速应急处理一些badcase;
对于通⽤领域,可以多种分词工具和多种句法短语⼯具进行融合来提取候选实体,并结合词典进行NER;
此外,怎么更好地将实体词典融入到NER模型中,也是一个值得探索的问题(如嵌入到图神经网络中提取特征[3])。

2)如何在模型层面提升NER性能?
NER是一个重底层的任务,我们应该集中精力在embedding层下功夫,引入丰富的特征
比如char、bigram、词典特征、词性特征、elmo等等,还有更多业务相关的特征;在垂直领域,如果可以预训练一个领域相关的字向量&语言模型,那是最好不过的了~总之,底层的特征越丰富、差异化越大越好(构造不同视角下的特征)。
如:
提取字符级别特征character embedding:
下图是使用Bi-LSTM提取字符级别的特征。对于某个单词wi(例如CAT),w=[c1,…,cp],每个字符ci都有一个向量化表示。使用Bi-LSTM建模单词字符词向量序列,并将Bi-LSTM最后输出的隐藏层h1、h2向量(前向、后向各一个)连接起来,作为该词wi字符级别的特征,该特征能够捕获wi形态学特点。
在英文 NLP 任务中,想要把字级别特征加入到词级别特征上去,一般是这样:单独用一个BiLSTM 作为 character-level 的编码器,把单词的各个字拆开,送进 LSTM 得到向量 vc;然后和原本 word-level 的(经过 embedding matrix 得到的)的向量 vw 加在一起,就能得到融合两种特征的表征向量。如图所示:
在这里插入图片描述
3)如何构建引入词汇信息(词向量)的NER?
我们知道中文NER通常是基于字符进行标注的,这是由于基于词汇标注存在分词误差问题。但词汇边界对于实体边界是很有用的,我们该怎么把蕴藏词汇信息的词向量“恰当”地引入到模型中呢?一种行之有效的方法就是信息无损的、引入词汇信息的NER方法,我称之为词汇增强,可参考《中文NER的正确打开方式:词汇增强方法总结》[4]。ACL2020的**Simple-Lexicon[5]和FLAT[6]**两篇论文,不仅词汇增强模型十分轻量、而且可以比肩BERT的效果。

将词向量引入到模型中,一种简单粗暴的做法就是将词向量对齐到相应的字符,然后将字词向量进行混合,但这需要对原始文本进行分词(存在误差),性能提升通常是有限的。在 ACL2020 论文里看到一篇文章Simplify the Usage of Lexicon in Chinese NER (https://www.aclweb.org/anthology/2020.acl-main.528.pdf),简单明了。然后我就再简化一下,直接把字和词分别通过 embedding matrix 做表征,按照对应关系,拼在一起就完事了:
在这里插入图片描述
Note:中文是字符级别序列标注,所以加入的是词向量;英文是词级别序列标注,所以加入的是字符向量

4)如何解决NER实体span过长的问题?
如果NER任务中某一类实体span比较长(⽐如医疗NER中的⼿术名称是很长的),直接采取CRF解码可能会导致很多连续的实体span断裂。除了加入规则进行修正外,这时候也可尝试引入指针网络+CRF构建多任务学习(cascade)(指针网络会更容易捕捉较长的span,不过指针网络的收敛是较慢的,可以试着调节学习率)。

多任务学习:
如果需要考虑实体类别,那么就需要扩展 BIO 的 tag 列表,给每个“实体类型”都分配一个 B 与 I 的标签,但是当类别数较多时,标签词表规模很大,相当于在每个字上都要做一次类别数巨多的分类任务,不科学,也会影响效果。

从这个点出发,就尝试把 NER 改成一个多任务学习的框架,两个任务,一个任务用来单纯抽取实体,一个任务用来判断实体类型:
在这里插入图片描述
直观来讲就是“锁定对应关系”。结合模型来说,在第一步得到实体识别的结果之后,返回去到 LSTM 输出那一层,找各个实体词的表征向量,然后再把实体的表征向量输入一层全连接做分类,判断实体类型。

首先,其实 NER ≠ 序列标注。序列标注只是实现NER的其中一种方法,且并不一定是最好的那种方法。还有一些其他方法,比如指针标注(标记实体start与end的position)、片段排列标注(枚举所有n-gram判断是否是实体)等。

传统序列标注方式有很多难搞的场景,举两个最主要的:

多实体有交叉重叠:例如“马亲王发布新书长安十二时辰”,其中“长安”和“长安十二时辰”可能都是待抽取实体,一个地名一个书名,两个我都要,怎么搞
实体名非连续:例如“我这有iphone11和12”,包含了两个实体,“iphone11”很好抽,“iphone12”可太难了

新潮的 NER 以及信息抽取方面的研究,都会考虑到这些问题,然后使用基于指针标注或片段排列标注的新方法来取代传统序列标注方法。所以,在模型方面,现在的 NER 也已经不是 LSTM-CRF & BERT-CRF 大一统的时代了。

reference:
https://blog.csdn.net/xixiaoyaoww/article/details/107096739
https://zhuanlan.zhihu.com/p/166496466
https://zhuanlan.zhihu.com/p/61227299
https://www.bilibili.com/video/BV1MJ411w7xR?from=search&seid=10101366636483430700

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值