训练自定义 NER Spacy 模型需要多少数据/上下文?
How much data / context needed to train custom NER Spacy model?
我正在尝试使用 spacy 和命名实体识别从 CV 中提取以前的职位。
我想训练 spacy 来检测自定义命名实体类型:'JOB'。为此,我从 https://www.careerbuilder.com/browse/titles/ 中收集了大约 800 个职位名称,我可以将其用作训练数据。
在我的 spacy 训练数据中,我是否需要将这些职位名称整合到添加的句子中以提供上下文?
一般来说,在简历中,职位名称有点独立,并不是完整句子的一部分。
此外,如果我需要为 800 个标题中的每一个提供连贯的上下文,这对于我正在尝试做的事情来说太 time-consuming 了,所以也许除了 NER 之外还有其他解决方案吗?
通常,命名实体识别依赖于单词的上下文,否则模型将无法检测到以前未见过的单词中的实体。因此,标题列表不会帮助您训练任何模型。您可能更愿意 运行 字符串匹配来查找 CV 文档中的 800 个标题中的任何一个,您甚至可以保证找到所有这些标题 - 但是没有未知标题。
如果你能找到 800 个(或更少)真实的 CV 并将工作名称替换为你列表中的名称(或其他!),那么你就可以训练一个能够进行 NER 的模型了。我想这就是要走的路。只需从网上下载尽可能多的免费简历,看看它能给你带来什么。如果数据不够,您可以扩充它,例如,将数据中的职位与您列表中的一些职位进行交换。
我正在尝试使用 spacy 和命名实体识别从 CV 中提取以前的职位。
我想训练 spacy 来检测自定义命名实体类型:'JOB'。为此,我从 https://www.careerbuilder.com/browse/titles/ 中收集了大约 800 个职位名称,我可以将其用作训练数据。
在我的 spacy 训练数据中,我是否需要将这些职位名称整合到添加的句子中以提供上下文? 一般来说,在简历中,职位名称有点独立,并不是完整句子的一部分。
此外,如果我需要为 800 个标题中的每一个提供连贯的上下文,这对于我正在尝试做的事情来说太 time-consuming 了,所以也许除了 NER 之外还有其他解决方案吗?
通常,命名实体识别依赖于单词的上下文,否则模型将无法检测到以前未见过的单词中的实体。因此,标题列表不会帮助您训练任何模型。您可能更愿意 运行 字符串匹配来查找 CV 文档中的 800 个标题中的任何一个,您甚至可以保证找到所有这些标题 - 但是没有未知标题。
如果你能找到 800 个(或更少)真实的 CV 并将工作名称替换为你列表中的名称(或其他!),那么你就可以训练一个能够进行 NER 的模型了。我想这就是要走的路。只需从网上下载尽可能多的免费简历,看看它能给你带来什么。如果数据不够,您可以扩充它,例如,将数据中的职位与您列表中的一些职位进行交换。