用于文本分类的数据增强



有关文本分类的最新数据的当前状态是什么?

我在网上进行了一些研究,以了解如何通过进行一些数据转换来扩展培训集,就像我们在图像分类上所做的一样。我发现了一些有趣的想法,例如:

  • 同义词替代:从句子中随机选择n个单词,这些单词不会停止单词。用随机选择的同义词之一替换每个单词。

  • 随机插入:在句子中找到一个随机单词的随机同义词,而不是停止单词。将同义词插入句子中的一个随机位置。做这个n次。

  • 随机交换:在句子中随机选择两个单词并交换其位置。做这个n次。

  • 随机删除:以概率p。

  • 随机删除句子中的每个单词

,但没有使用预训练的单词向量表示模型,例如Word2Vec。有原因吗?

使用Word2Vec的数据扩展可能会帮助模型根据外部信息获取更多数据。例如,在句子中随机替换有毒的评论令牌,其在预先训练的矢量空间中,专门针对外部在线评论进行了训练。

这是一种很好的方法,还是我错过了这种技术的一些重要缺点?

您使用Word2Vec嵌入的想法通常会有所帮助。但是,这是一个无上下文的嵌入。为了更进一步,截至今天(2019-02)的最新状态(SOTA)是使用在大型文本语料库中训练的语言模型,并使用自己的培训数据对自己的分类器进行微调。

两个SOTA模型是:

  • gpt-2 https://github.com/openai/gpt-2
  • bert https://github.com/google-research/bert

您提到的这些数据增强方法也可能会有所帮助(取决于您的域以及您拥有的培训示例的数量)。其中一些实际上是在语言模型培训中使用的(例如,在伯特(Bert)中,有一项任务可以在训练前的句子中随机掩盖单词)。如果我是您,我将首先采用预培训的模型,并通过您当前的培训数据微调自己的分类器。以基准为基准,您可以尝试您喜欢的每种数据增强方法,并查看它们是否确实有帮助。

最新更新