使用100个训练样本来训练自定义的命名实体识别(NER)模型是否足够?

我已经训练了一个用于识别人名的NER模型。我生成了包含人名的随机句子,共生成了大约70个句子,并按照spacy的格式进行了标注。

我使用空白的’en’模型和’en_core_web_sm’模型进行了自定义NER的训练,但在测试任何字符串时,只能在极少数例子中检测到实体。

这些样本数量是否不足?

我的数据看起来像这样 -:[("'Hi, I am looking for a house on rent for a year. Best Regards, Rajesh',\r",  {'entities': [(56, 63, 'name')]}), ("'Hello everyone, I am Gunjan Arora',\r", {'entities': [(22, 34, 'name')]}), ("'Greetings!, I am 34 years old. I want a car for my wife Bella Roy',\r",  {'entities': [(60, 69, 'name')]}), ("'Heyo, I lived with my family comprises 4 people and myself Randy Lao',\r",  {'entities': [(60, 69, 'name')]}), ("'I am Geetanjali. ',\r", {'entities': [(6, 16, 'name')]})]我已经生成了大约70个这样的例子。训练过程中的损失值 -: - 1.Losses {'ner': 6.307317615201415}  - 2.Losses {'ner': 11.182436657139132} - 3.Losses {'ner': 6.014345924849759} - 4.Losses {'ner': 6.442589285506237} - 5.Losses {'ner': 5.328383899880891} - 6.Losses {'ner': 1.706726450400089} - 7.Losses {'ner': 3.9960324752880005} - 8.Losses {'ner': 5.415169572852782}这些损失值是我使用空白'en'模型时的结果

请给出建议。

我希望能够检测到名字,因为预训练模型在大多数情况下也无法检测到名字。


回答:

为了获得更好的结果,你需要生成更多的例子,70个例子不足以训练你的模型,尽管它可能适用于不太复杂的问题。我建议你将生成的例子数量增加到三倍,以获得更好的效果

Related Posts

在使用k近邻算法时,有没有办法获取被使用的“邻居”?

我想找到一种方法来确定在我的knn算法中实际使用了哪些…

Theano在Google Colab上无法启用GPU支持

我在尝试使用Theano库训练一个模型。由于我的电脑内…

准确性评分似乎有误

这里是代码: from sklearn.metrics…

Keras Functional API: “错误检查输入时:期望input_1具有4个维度,但得到形状为(X, Y)的数组”

我在尝试使用Keras的fit_generator来训…

如何使用sklearn.datasets.make_classification在指定范围内生成合成数据?

我想为分类问题创建合成数据。我使用了sklearn.d…

如何处理预测时不在训练集中的标签

已关闭。 此问题与编程或软件开发无关。目前不接受回答。…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注