当前位置: 首页 > 知识库问答 >
问题:

spacy中基于POS和NER的实体提取

宇文德明
2023-03-14

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

鉴于以下句子:

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

实体所在的位置(两辆蓝色轿车,高卡车吉姆)。对斯帕西·内尔的判决进行调查,

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标识的实体前面,在上面的例子中,toll是ADJ,应该加在Lorry Jim实体后面。应该使用POS tagger中的NUM ADJ NOUN提取两辆蓝色汽车。

共有1个答案

卢阳泽
2023-03-14

首先,我必须说你想要和写的任务不是你在标题中所说的。我认为实体有一个标准的定义,例如,ADJ不是实体的一部分。

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

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

我认为,如果你想使用函数,你需要把你的问题弄清楚,也要简单,这样你就可以选择一种实用的方法来解决你的问题。我认为如果你接受了一些错误,你可以为任何名词和形容词部分定义简单的规则,这样如果你把POS和NER放在一起,你就可以解决它。这还取决于你想用哪种语言工作。比如你的例子:

蓝色汽车

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

他所有的车都是蓝色的。

对于功能作品,您还可以像这样寻找共同引用分辨率:

我看到他开的车,全是蓝色的。

 类似资料:
  • 我正在使用Spacy来训练我的NER模型和新实体,我正在使用模型作为我的基础模型,因为我还想检测基本实体(,,,等等)。我在未标记的句子上运行了model,并将它们的注释添加到我的训练集中。 完成之后,现在我想为新实体创建训练数据。例如,我想添加一个名为的新实体。我有一大堆句子(除了那些之前用注释的句子)要注释。例如: “詹姆斯喜欢吃苹果”。 我的问题是:我是否仍然需要将“James”注释为,以及

  • 问题内容: 这是经典的训练格式。 我曾经使用代码进行训练,但是据我了解,使用CLI训练方法会更好。但是,我的格式是这样。 我已经找到了用于这种类型转换的代码片段,但是每个代码片段都在执行而不是冒空-这让我想,他们是在训练现有模型而不是冒空吗? 这个块看起来很简单: 运行此代码会抛出: 找不到模型“ en”。 它似乎不是快捷方式链接,Python包或数据目录的有效路径。 我很困惑如何在空白处使用它。

  • 我尝试过很多NER工具(OpenNLP、斯坦福NER、LingPipe、Dbpedia Spotlight等)。 但我一直回避的是一个基于地名录/词典的NER系统,在该系统中,我的自由文本与预定义实体名称列表匹配,并返回可能的匹配项。 这样我就可以拥有各种列表,如PERSON、ORGANIZATION等。我可以动态更改列表并获得不同的提取。这将大大减少训练时间(因为它们中的大多数都基于最大熵模型,

  • 我正在尝试使用自定义NE(命名实体)字典在印度训练NER模型以进行分块。我分别引用NLTK和Stanford NER: NLTK 我找到了NEChunkParser能够在自定义语料库上进行训练。然而,文档或源代码注释中没有指定训练语料库的格式。 在哪里可以找到NLTK中NER的自定义语料库指南? 根据这个问题,斯坦福大学NER的FAQ给出了如何训练定制NER模型的方向。 主要问题之一是默认的斯坦福

  • 我正在编写一些代码来执行命名实体识别(NER),这对于英文文本来说非常好。然而,我希望能够将NER应用于任何语言。为此,我想1)识别文本的语言,然后2)将NER应用于识别的语言。对于第2步,我怀疑A)将文本翻译成英语,然后应用NER(英语),或B)将NER应用于所识别的语言。 以下是我目前掌握的代码。我想让NER在这种语言首次被识别后,为text2或任何其他语言工作: 有人有这方面的经验吗?非常感

  • 我仍在学习Python和创建模型,对使用Spacy的NLP非常陌生。我曾经https://spacy.io/usage/training#ner培训Spacy现有的模式——en_core_web_sm。 我用我的领域特定实体训练了这个模型。 现在我假设我会在输出目录中找到一个模型文件。相反,我有4个子文件夹——词汇表、ner、标记器、解析器。还有2个文件meta.json和标记器。ner子文件夹有