Abh*_*wal 0 entity nlp named-entity-extraction spacy
我正在从头开始训练模型,以便根据文本预测食物。我已经标记了大约500个句子来训练我的模型,准确性非常好。但是,我有点担心看不见的真实世界的数据,所以我想出了一个有趣的想法。所以我想知道一些有经验的人对这个有趣的想法的想法。
原始训练句子:
食物清单:
新生成的训练语句:
因此生成这样的训练语句是否很好?我认为的好处:
问题可能是:
谢谢,请让我知道这种方法的想法。
这种方法称为用综合数据扩充训练数据。
当您的训练数据有限时,它绝对是一种非常有用的技术。但是,以我的经验,应该谨慎使用或适度使用它,否则可能会冒使模型过度拟合训练数据的风险。换句话说,您的模型可能难以推广到食物清单中的实体之外,因为它在训练过程中已经看过那么多次了,并且可以期待这些。就像您提到的那样,过拟合可能通过重复的句子结构而出现。
该合成排列数据应尽可能随机地生成。可以在python随机库中使用sample()方法。
对于初始训练数据集中的每个句子,请从列表中抽取一小份食物样本,然后将每个样本食物用该食物替代该句子中的食物以产生新的句子。
一种略有不同的方法(可以将其更好地推广到看不见的食物实体上)是下载食物列表并使用它,而不是使用500个训练语句中的食物列表。
食物列表可以在github上找到,例如: here 或here
或摘自维基百科(此处)
在这两种情况下,使用n的样本量都会使训练数据增加n倍。