【问题标题】:Entity extraction using POS and NER in spacy在 spacy 中使用 POS 和 NER 进行实体提取
【发布时间】:2021-01-27 20:46:50
【问题描述】:

我需要使用 NER 和 POS 标签从句子中提取实体。例如,

给定下面的句子:

docx = nlp("The two blue cars belong to the tall Lorry Jim.")

实体所在的位置(两辆蓝色汽车,高大的罗里吉姆)。在句子上运行 spacy NER,

for ent in docx.ents:
    print(ent.text, ent.start_char, ent.end_char, ent.label_)

返回:

two 4 7 CARDINAL
Lorry Jim 37 46 PERSON

我的目标是将形容词/数字附加到 NER 标识的实体前面,在上述情况下,tall 是 ADJ,应附加到 Lorry Jim 实体。并且two blue cars 应该使用来自POS 标记器的NUM ADJ NOUN 提取。

【问题讨论】:

    标签: python python-3.x string nlp spacy


    【解决方案1】:

    首先,我不得不说,你想要写的任务并不是你在标题中所说的。我觉得Entity有一个标准的定义,比如ADJ不是Entity的一部分。

    我认为要解决您的问题,您必须使用依赖解析并分析句子的依赖树。它可以帮助您找到每个单词的参考。

    以另一种方式,您可以为您的问题定义一个分块任务,并为您的意思构建一个数据集,并尝试为该类型的分块训练模型。

    我认为如果你想为函数使用做这件事,你需要让你的问题非常清晰和简单,这样你就可以选择一种实用的方法来解决你遇到的问题。我认为如果您接受一些错误,您可以为任何 NOUN 和 ADJ 部分定义简单的规则,这样如果您将 POS 和 NER 放在一起,那么您可以解决它。它还取决于您想要使用的语言。就像您的示例:

    蓝色车

    在英语中,形容词通常放在名词之前,这被称为修饰语或定语​​位置。但你必须关心这样的句子:

    他所有的车都是蓝色的。

    对于功能作品,您也可以像这样寻找共指分辨率:

    我看到他开的车都是蓝色的。

    【讨论】:

      猜你喜欢
      • 2021-06-22
      • 2022-08-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-02-06
      • 1970-01-01
      • 1970-01-01
      • 2023-02-02
      相关资源
      最近更新 更多