pyhanlp 实体命名识别

lanlantian123IP属地: 江苏
字数 1,113阅读 2,072

对于分词而言,命名实体识别是一项非常重要的功能,当然发现新词同样重要(这部分内容被我放在之后的“提取关键词、短语提取与自动摘要、新词识别”与再之后的案例中了。

首先是一个简单的例子,展示一下命名实体识别的效果。之后是正式内容:

简单的展示例子



正式内容

中国人名识别

说明

目前分词器基本上都默认开启了中国人名识别,比如HanLP.segment()接口中使用的分词器等等,用户不必手动开启;上面的代码只是为了强调。

有一定的误命中率,比如误命中关键年,则可以通过在data/dictionary/person/nr.txt加入一条关键年 A 1来排除关键年作为人名的可能性,也可以将关键年作为新词登记到自定义词典中。

如果你通过上述办法解决了问题,欢迎向我提交pull request,词典也是宝贵的财富。

建议NLP用户使用感知机或CRF词法分析器,精度更高。

算法详解

《实战HMM-Viterbi角色标注中国人名识别》



音译人名识别

说明

目前分词器基本上都默认开启了音译人名识别,用户不必手动开启;上面的代码只是为了强调。

算法详解

《层叠隐马模型下的音译人名和日本人名识别》


日本人名识别

说明

目前标准分词器默认关闭了日本人名识别,用户需要手动开启;这是因为日本人名的出现频率较低,但是又消耗性能。

算法详解

《层叠隐马模型下的音译人名和日本人名识别》


地名识别

说明

目前标准分词器都默认关闭了地名识别,用户需要手动开启;这是因为消耗性能,其实多数地名都收录在核心词典和用户自定义词典中。

在生产环境中,能靠词典解决的问题就靠词典解决,这是最高效稳定的方法。

建议对命名实体识别要求较高的用户使用感知机词法分析器。

算法详解

《实战HMM-Viterbi角色标注地名识别》


机构名识别

说明

目前分词器默认关闭了机构名识别,用户需要手动开启;这是因为消耗性能,其实常用机构名都收录在核心词典和用户自定义词典中。

HanLP的目的不是演示动态识别,在生产环境中,能靠词典解决的问题就靠词典解决,这是最高效稳定的方法。

建议对命名实体识别要求较高的用户使用感知机词法分析器。

算法详解

《层叠HMM-Viterbi角色标注模型下的机构名识别》


地名识别

说明

目前标准分词器都默认关闭了地名识别,用户需要手动开启;这是因为消耗性能,其实多数地名都收录在核心词典和用户自定义词典中。

在生产环境中,能靠词典解决的问题就靠词典解决,这是最高效稳定的方法。

建议对命名实体识别要求较高的用户使用感知机词法分析器。

算法详解

《实战HMM-Viterbi角色标注地名识别》


URL 识别

自动识别URL,该部分是在demo中发现的,但是原作者并没有在文档中提到这个,该部分可以发现URL,测试发现其他分类器应该是默认不开启这个的,而且config中并没有开启该功能的选项,因此这应该是一个额外的类。我建议如果有需要的,你可以尝试先利用URLTokenizer获取URL,然后添加进用户词典。或者直接使用其他工具或者自定义函数解决该问题。


文章来源于Font Tian的博客

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
0人点赞
更多精彩内容,就在简书APP
"小礼物走一走,来简书关注我"
还没有人赞赏,支持一下
总资产2共写了5.7W字获得19个赞共11个粉丝

推荐阅读更多精彩内容