【知识图谱】中文命名实体识别碎碎念

命名实体识别

  • 知识图谱中实体抽取的本质就是命名实体识别(NER)
  • NER包括两个细分子任务:实体边界判定和实体类别预测

中文NER和英文NER的区别

难度比较

中文NER更难,WHY?
1.中文文本不像英文有空格作为词语的界限标志,而且中文词的概念很模糊,也不具备英文中的字母大小写等形态指示
2.中文的用字灵活多变,有些词语在脱离上下文语境的情况下无法判断是否是命名实体,而且就算是命名实体,当其处在不同的上下文语境下也可能是不同的实体类型
3.命名实体存在嵌套现象,如“北京大学第三医院”这一组织机构名中还嵌套着同样可以作为组织机构名的“北京大学”,而且这种现象在组织机构名中尤其严重
4.中文里广泛存在简化表达现象,如北京大学,简称北大。
参考:https://blog.csdn.net/sinat_40641604/article/details/103627277?utm_source=app&app_version=5.0.1&code=app_1562916241&uLinkId=usr1mkqgl919blen

处理上的区别

英文通常以单词为单位,中文以字为单位;

推荐模型

SOTA模型可查看paperwithcode。
〈补图〉
目前推荐:
BERT+Bilstm+CRF

基于实体词典和深度学习方法的区别?

实体词典很好用,每在词典中增加一个词条都能立竿见影的增加可以识别的实体。
但此方法最大的问题在于:一,词典的扩充是一个比较费时费力的事情,在语义上相同的一个词有非常多的组合变化,比如“无法摘档”,“难摘档”,“档很难摘”,“摘档困难”等,稍微变化一下就是一个新词,而词典很难穷举;二,未登录词OOV无法识别;三,无法识别多义词,如苹果。
深度学习方法,如BERT+CRF能处理多义词的问题,通过一个词的上下文来确定其语义。但OOV的问题仍无法解决。数据标注也是一件比较麻烦的事情。

关键技术

分词,实体消歧。

实体抽取的粒度

这是一个很重要的问题:

  • 粒度越细,实体间的关系越复杂,数据标注越麻烦,算法训练需要更多次迭代,好处在于,在抽取时能够提取出更多的信息,在实体链接是更准确。
  • 粒度越粗,标注越简单,抽取更准确。但单个实体里面其实可以进行继续拆分,忽略了很多实体和关系,同时逻辑层次更为混乱。如“左车门车窗玻璃”这个汽车部件,其实可拆分问问[左车门,车窗玻璃]两个部件,两个部件具有包含的关系。当只抽取为一个部件时,其和左车门、车窗玻璃位于同一层,其实是不对的。

如何决定合适的NER粒度?
一考虑标注成本,粒度越细成本越高;二考虑业务需求,要考虑那种粒度能更好的识别业务中的文本,能处理业务文本中的问题。
因为抽取粒度很难一次就成行,建议从较粗的粒度开始,标注少批数据,边标注边从数据中归纳总结,增加新的实体类型。当增加某一个程度,发现越标越混乱时,就要回退到以前的实体类型和数量。
业务中的数据五花八门,要找到一种合适的粒度,标注起来才感觉到“爽快”。

你可能感兴趣的:(算法篇,知识图谱)