自定义 NER 模型提取用于训练的关键字子串

Custom NER model extracts substring of keyword used for training

我使用 OpenNlp 的训练 API 训练了一个包含超过一百万个句子的自定义 NER 模型,用于识别我教授的技能。在测试期间,我发现模型识别技能和技能的子串。例如,我教了一项技能'Core Java',如果句子中有单词'Core',那么我的模型就会将其识别为一项技能。我想避免这种情况。如果测试句子中存在整个单词,我只想识别整个单词 'Core Java'。

如何针对上述结果改进我的自定义模型?

听起来您需要提供更多训练示例。

如果单词 Core 在您的训练数据中出现的唯一时间是作为短语 Core Java 的一部分,您的模型可能会了解到 Core 是技能名称的一部分100% 的概率,并且根据它所知道的没有错。要修复它,请在以不相关方式使用它的地方添加更多训练数据。一些例子:

He threw away the apple core.
Core skills in math include addition and subtraction.
The core of the application is implemented in C for speed.