我如何对自定义命名实体执行NER。例如如果我想确定简历中的特定单词是否熟练。如果我的文本中出现(Java,c ++),我应该可以将其标记为技能。我不想在自定义语料库中使用spacy,我想创建数据集,例如单词将是我的特征,标签(技能)将是我的因变量。
什么是解决这些问题的最佳方法。
自定义词典和宪报的替代方法是创建一个数据集,在其中为每个单词分配相应的标签。您可以定义一组标签(例如{OTHER,SKILL}),并使用以下示例创建数据集:
I OTHER
can OTHER
program OTHER
in OTHER
Python SKILL
. OTHER
并且使用足够大的数据集,您可以训练模型来预测相应的标签。
您可以尝试从在CV语料库上训练的词嵌入中获取“编码语言”同义词的列表(或您正在寻找的特定技能),并使用此信息自动标记其他语料库。我要说的关键是找到一种方法,至少可以部分自动化标签,否则您将没有足够的示例来训练您的自定义NER任务上的模型。使用https://prodi.gy/之类的工具来减少标记工作量。
作为功能,您还可以使用单词嵌入(或其他典型的NLP功能,例如n-gram,POS标签等,具体取决于所使用的模型)
另一个选择是从其他NER / NLP模型中应用转移学习,并在带有CV标签的数据集上进行微调。
我将花更多的精力来创建正确的数据集,然后逐步测试更复杂的模型以选择最适合您的需求。