文本嵌入和数据拆分

数据挖掘 nlp 数据集
2022-02-13 18:59:58

我创建了一些文档嵌入,然后在文本分类任务中进一步使用。重新访问我的代码后,我不确定用于训练文档嵌入的工作流程。

目前,我正在根据训练时可用的完整语料库创建文档嵌入。训练完成后,我通过查看模型是否在文档嵌入之间创建有用的相似性来评估模型。这些嵌入随后在机器学习模型中使用,嵌入将被拆分为训练集、测试集和验证集。

现在我的问题是:拆分数据的正确时间在哪里?我应该在创建文档嵌入之前这样做以防止数据泄漏吗?我使用了上述方法,因为我将文档嵌入的创建视为预处理步骤,因此计算机可以处理文本数据。但是,经过一番思考后,我认为这是错误的方法。我想听听更有经验的 NLP 从业者如何处理这项任务。对不起这个非常基本的问题。

谢谢。

1个回答

TL;博士

如果您正在训练文档嵌入模型,则在将文本转换为嵌入之前拆分数据。

如果您使用的是预训练的文档嵌入模型,那么这无关紧要,并且执行它时无关紧要的是预处理步骤。

训练自己的文档嵌入模型时的流水线

  1. 将您的文本数据拆分为训练/验证/测试集。
  2. 使用您的训练集来训练文档嵌入模型。
  3. 使用您经过训练的文档嵌入模型来转换训练集和验证集以训练您的其他模型(例如分类模型)。
  4. 通过使用经过训练的文档嵌入模型转换测试集并测试经过训练的最终(分类)模型来测试最终模型。