我已经训练了一个用于识别人名的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个例子不足以训练你的模型,尽管它可能适用于不太复杂的问题。我建议你将生成的例子数量增加到三倍,以获得更好的效果