共指、语义图和 NERC 的 Python API 使用

问题描述 投票:0回答:1

简介

嗨,我已经使用 freeling 来提取三胞胎几个月了。到目前为止,我已经通过使用依赖树和完整解析树成功做到了这一点,但我正在尝试添加 NERC。

到目前为止我的工作

我检查了Python教程,但除了依赖解析之外我找不到任何东西。因此,我浏览了类列表(因为相同的类应该可用于 python 和 c++),但不太清楚如何检索命名实体,并且在检查分析器采样器的输出后,我对性能有一些疑问NER 模块。

问题

所以我想问是否有人可以帮助我:

  1. 对实体的怀疑:使用示例“Sobre la mesa María ve y coge una manzana, un sombrero, una llave y dos paraguas rojo”。我意识到使用大写字母和小写字母会产生不同的结果,但通过将其全部设为小写,实体识别将不再将“maría”识别为一个人。有解决方法吗?还是我走错了方向?主要问题是“maría”未被识别为命名实体(顺便说一句,我需要它)导致“maría”不再是句子的主语。我正在使用:

neclass = pyfreeling.ner(lpath + "/nerc/ner/ner-ab-rich.dat")

  1. 如何检索命名实体:类似于上一个问题的后续,如何获取命名实体?我找不到与此相关的任何代码,并且我获得的语义图包含 0 个实体。

欢迎任何意见和建议,先谢谢了。

python nlp named-entity-recognition freeling
1个回答
0
投票

显然有 3 个 NERC 模块,一个基于规则,两个基于 ML。它们都使用大写作为特征,并且由于这两个模型都是在标准文本上进行训练的,因此训练中看到的所有 NE 都是大写的。因此小写命名实体不太可能被识别。

关于检索,如果一个单词(或多词)具有以“NP”开头的后标记,则节点中的 get_label() 似乎可以提供此信息,那么这意味着它已被 NERC 模块识别。

这是基于 freelings 作者自己的解释,你可以在这里找到

© www.soinside.com 2019 - 2024. All rights reserved.