【问题标题】:Class of an entity recognition实体识别类
【发布时间】:2019-11-26 18:44:48
【问题描述】:

我正在尝试使用 Python 使用 nltkspaCyNLP 开始。

我的问题是,如果我有句子,'Barack Obama was the former President of united states',我如何检索单词president 来提供实体的类?

【问题讨论】:

  • 检索词“总统”的逻辑是什么?您是在检索第 6 个单词,还是第一个以 P 开头的单词,或者第三个以大写字母开头的单词,或者是句子中的第一个名词,还是什么?或者换个说法,例如,结果应该是什么? “敏捷的棕狐跳过懒狗”?
  • 想要从一个句子中提取这些信息是非常明智的,@zvone——这不是实体识别所做的。 (OP标签也到处都是——修复)
  • 您好 zvone,我正在尝试识别一个类与其实体之间的关系并返回该类。如果我有 Fox is an Animal-> 它应该返回 Animal。知道句子可能更复杂。

标签: python nlp nltk spacy


【解决方案1】:

我如何检索单词president [来自“奥巴马是前总统”] 来提供实体的类?

你不能——至少不能通过实体识别。 实体识别可以告诉你“巴拉克奥巴马”是一个人。要将名称与这句话中给出的某些信息相匹配,您需要类似 relation extract 之类的东西,这是一个更复杂的问题。 nltk 不提供开箱即用的完整解决方案,但可以查看 this nltk how-to 以获取入门工具包(包括代码)。

不要期望非常聪明的表现!这些类型的函数基于简单的启发式(基于链接的示例:假设我们可以在一个句子中识别一个 ORGANIZATION o 和一个 LOCATION l,我们可能想要得出结论 o 位于 @987654327 @)。

【讨论】:

    【解决方案2】:

    基本上,亚历克西斯是对的。最可靠的方法(我知道也部署在研究中)是参数的依赖解析。然后您可以提取连接动词(was)的关系,以便将“Barack Obama”与“president”联系起来。一种更类似于马尔科夫的方法是 OIE(开放信息提取)。一个在语言上更有趣的现象是这里使用“前”,颠倒了将总统应用于奥巴马的真实条件,但这在您的模型中可能并不重要。

    【讨论】:

      猜你喜欢
      • 2020-02-13
      • 2014-03-17
      • 1970-01-01
      • 1970-01-01
      • 2011-07-31
      • 2018-03-08
      • 2020-07-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多