如何使命名实体识别提供更好的数据分类

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

以下是新闻文章中数据的默认分类。

Christiane Amanpour 268 287 PERSON
Hamas 155 160 ORG
Rania 6 11 PERSON
Warner 0 6 ORG

但我想改变如下行为

I would want to categorize `Christiane Amanpour` as a journalist
I would want to categorize `Rania` as a queen
I would want to categorize `Warner` as a cricket player

我到底如何训练数据来做到这一点

nlp spacy llm
1个回答
0
投票

@user352290👋

您正在使用命名实体识别 (NER) 模型,该模型在指定的示例中提供了 PERSON 和 ORG 的标签(我认为您正在使用默认的 spaCy 模型?)

根据您的问题,您似乎想要更具体的分类(例如 Christiane Amanpour -> 记者)。从广义上讲,NER 模型分为两类之一:

    顾名思义,
  • 4 类 模型可识别 4 类实体。通常是人物、地点、组织和时间/日期。大多数 4 类模型都是在 CoNLL 2003 语料库上训练的。
  • 18 类模型可以识别 18 种实体类型,但是它们的 F1/准确率往往较低。大多数 18 类模型都是在 OntoNotes 5.0 数据集上训练的。

即使是 18 类 NER 模型无法按照你的意愿对实体进行分类。例如,OntoNotes 语料库中没有记者类别。

正如 @petezurich 所建议的,您可以通过 Entity Linking 来完成此任务,它可以识别文本中的实体,并将它们映射到外部知识源(例如 Wikipedia、DBpedia)。

为了正确实现这一点,您必须决定要为每个实体定位的“数据点”。查看 Christiane Amanpour 的 DBpedia 条目。该属性

dbo:occupation
似乎实现了您正在寻找的东西。

这个gist有一些我之前编写的代码来执行NER然后实体链接。您需要进行一些调整,但这是一个不错的起点。更改第 190 行以修改 SPARQL 查询以获取 dbo:occupation 或您想要查找的任何属性。

祝你好运!

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