我正在尝试使用Spacy和命名实体识别从简历中提取之前的职位名称。
我想训练Spacy来识别一个自定义的命名实体类型:’JOB’。为此,我有大约800个来自https://www.careerbuilder.com/browse/titles/的职位名称可以用作训练数据。
在我的Spacy训练数据中,我是否需要将这些职位名称整合到句子中以提供上下文?一般来说,在简历中,职位名称通常是独立存在的,并不真正属于完整的句子。
另外,如果我需要为这800个职位名称提供连贯的上下文,这将耗费太多时间,不符合我想要达到的目的,所以可能有除了NER之外的其他解决方案吗?
回答:
一般来说,命名实体识别依赖于词语的上下文,否则模型将无法识别之前未见过的词语中的实体。因此,仅凭职位名称列表无法帮助你训练任何模型。你可以考虑使用字符串匹配来查找简历文档中是否存在这800个职位名称中的任何一个,这样你甚至可以保证找到所有这些职位名称,尽管无法识别未知的职位名称。
如果你能找到800个(或更少)真实的简历,并用你列表中的职位名称(或其他名称)替换其中的职位名称,那么你就可以训练一个能够进行NER的模型了。我认为这是可行的方法。你只需从网上下载尽可能多的公开可用的简历,看看这能带给你什么。如果数据不够,你还可以通过用列表中的一些职位名称替换数据中的职位名称来增强数据量。