原文链接:https://mp.weixin.qq.com/s/rf17rA0tBkD9elqF8nHhaw
本文介绍了NER的难点以及相应的解决方案,人机对话系统中的槽位标注也是NER任务,介绍的一些方法还是很有指导意义的。
难点1: 如何命名“命名实体”
何晗在《自然语言处理入门》一书中的总结如下:
- 数量无穷。比如宇宙中恒星名称、生物界中的蛋白质名称,即便是人名,也是会随着新生儿的命名不断出现新的组合。
- 构词灵活。比如中国工商银行,既可以称为工商银行,也可以简称为工行。一些机构名甚至存在嵌套现象,比如“联合国销毁伊拉克大规模杀伤性武器特别委员会”内部就嵌套了地名和另一个机构名。
- 类别模糊。一些命名实体之间的区别比较模糊,比如地名和机构名。有一些地名本身也是机构,比如“国家博物馆”,从地址角度来看属于地名,但从博物馆工作人员来看则是一个机构。
难点2: 实体的无穷
实体命名识别要面对的是排列组合可能无穷的词表。模型对 OOV 的泛化能力远低于我们的预期,所以通常做法是以统计为主,规则词典为辅。
关于基于规则和词典的方法,何晗在《自然语言处理入门》一书中将适于这种方法的实体分为两类
- 对于结构性较强的命名实体,比如网址、E-mail、ISBN、商品编号,电话,网址,日期,淘宝或拼多多口令等,都可以用正则表达式来处理。
- 对于较短的命名实体,如人名,完全可以用分词方法去确定边界,用词性标注去确定类别。
关于结合模型与规则的方法,可以用「张华平」和「刘群」等教授在提出的「角色标注框架」提出的思路。它的思路是,我们先为构成命名实体的短语打好标签,若标签的序列满足某种模式则识别为某种类别的实体。可以理解为为实体以及实体的上下文打标签,定义特征。
另外就是混在中文里的英文和数字,在char级别的时候,要注意后处理。
提到了一个好用的资源:https://github.com/fighting41love/funNLP/tree/master/data
难点3: 歧义消解
难点4: 边界界定
介绍了3中将词表信息融入模型的方法【值得一试】
- Chinese NER Using Lattice LSTM
- CNN-Based Chinese NER with Lexicon Rethinking
- Simplify the Usage of Lexicon in Chinese NER
难点5: 标注数据缺失
介绍了两个思路:
- 找相似领域的有标记数据做领域迁移。
- 用远程监督的思路,用领域词典生成标记数据
参考文献
- 何晗. 2019.《自然语言处理入门》. 中国工信出版社
- Yue Zhang and Jie Yang. 2018. Chinese ner using lattice lstm. Proceedings of the 56th Annual Meeting of the Association for Computational Linguistics (ACL), 1554-1564.
- Tao Gui, Ruotian Ma, Qi Zhang, Lujun Zhao, Yu-Gang Jiang, and Xuanjing Huang. Cnn-based chinese ner with lexicon rethinking.
- Minlong Peng, Ruotian Ma, Qi Zhang, Xuanjing Huang. Simplify the Usage of Lexicon in Chinese NER.
- Jingbo Shang, Liyuan Liu, Xiaotao Gu, Xiang Ren, Teng Ren, Jiawei Han. Learning Named Entity Tagger using Domain-Specific Dictionary.