【问题标题】:How much data / context needed to train custom NER Spacy model?训练自定义 NER Spacy 模型需要多少数据/上下文?
【发布时间】:2021-05-15 09:55:39
【问题描述】:

我正在尝试使用 spacy 和命名实体识别从 CV 中提取以前的职位。

我想训练 spacy 来检测自定义命名实体类型:“JOB”。为此,我有大约 800 个来自 https://www.careerbuilder.com/browse/titles/ 的职位名称,可以用作训练数据。

在我的 spacy 训练数据中,我是否需要将这些职位整合到添加的句子中以提供上下文? 一般来说,在简历中,职位名称有点独立,并不是完整句子的一部分。

另外,如果我需要为 800 个标题中的每一个提供连贯的上下文,这对于我正在尝试做的事情来说太耗时了,所以也许除了 NER 之外还有其他解决方案吗?

【问题讨论】:

    标签: machine-learning model spacy named-entity-recognition


    【解决方案1】:

    通常,命名实体识别依赖于单词的上下文,否则模型将无法检测到以前看不见的单词中的实体。因此,标题列表不会帮助您训练任何模型。您可以运行字符串匹配来查找 CV 文档中这 800 个标题中的任何一个,并且您甚至可以保证找到所有这些标题 - 但是没有未知标题。

    我可以找到 800 份(或更少)真实的 CV,并将职位名称替换为列表中的名称(或其他人!),然后你就可以训练一个能够进行 NER 的模型了。这将是要走的路,我想。只需从网络上下载尽可能多的免费简历,看看这能带给你什么。如果数据不足,您可以对其进行扩充,例如将数据中的职位名称替换为列表中的某些职位名称。

    【讨论】:

    • 好的,我可以试试。我有一个已经可用的简历数据库。但是,对于每份简历,我应该包括简历的全文还是只在职称周围写几行?
    • 由于您的最终目标是自动检测简历文档中的职位,您应该使用完全相同的任务训练模型。只需在训练集文档中注释(少数)职位实体。我建议您使用注释软件,例如INCEpTION.
    • 好的,最后一个问题。如果我基于现有的 spacy 模型(如 en_core_web_trf)执行此操作,我是否也必须注释所有现有的命名实体?我希望我的模型仍然能够识别日期/组织等。
    • 在这种情况下,是的,您需要注释所有现有实体。否则模型将无法正确识别它们。想象一下,看到通常会形成一个实体但没有被标记为实体的单词会被激怒。
    猜你喜欢
    • 2020-10-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-09
    相关资源
    最近更新 更多