【问题标题】:Multi-class text classification with one training example per class多类文本分类,每类一个训练样例
【发布时间】:2021-07-03 01:12:40
【问题描述】:

我正在尝试解决多类单标签文档分类问题,将单个类分配给文档。文档是特定领域的技术文档,带有技术术语:

  • Train:我有 19 个班级,每个班级都有一个文档。
  • 目标:我有 77 个没有标签的文档,我想将其分类为 19 个已知类别。
  • 预处理后的文档有 60-3000 个令牌。
  • 我的整个语料库(19+77 个文档)有 65k 个术语(uni/bi/tri-grams),其中 4.5k 个共同术语(在训练和目标之间)

目前,我正在使用 tf-idf 矢量化器对文档进行矢量化,并将维度缩减为常用术语。然后在训练和目标之间做余弦相似度。

我想知道是否有更好的方法?由于训练中每个类中的单个文档,我无法使用 sklearn 分类器。关于可能的改进/方向的任何想法?特别是:

  • 鉴于语料库较小,使用 word-embeddings/doc2vec 是否有意义?
  • 从训练集中的术语生成合成训练数据是否有意义?
  • 还有其他想法吗?

提前致谢!

【问题讨论】:

    标签: nlp document-classification


    【解决方案1】:

    很高兴看到您已经考虑了用于半监督文本分类场景的常用策略 - 生成合成数据、预训练词嵌入。不幸的是,由于每个类只有一个训练示例,因此无论您的特征提取有多好或数据生成有多有效,您训练的分类器几乎肯定不会泛化。您需要更多(真实)标记数据。

    【讨论】:

    • 感谢塞西尔的回答!我知道分类器不会泛化,但是,我想知道是否有任何其他方法可以可靠地标记文档?例如:将标签与主题建模等结合使用...也许您对此有任何想法?
    • 您确定学习分类器是最好的方法吗?如果这些是特定领域的技术文档,并且其中只有 77 个具有最多 3000 个令牌,您可能只想自己标记它们并编写基于规则的分类器。
    猜你喜欢
    • 1970-01-01
    • 2012-04-18
    • 2018-06-26
    • 2013-04-11
    • 2020-04-09
    • 1970-01-01
    • 2016-07-14
    • 1970-01-01
    • 2019-05-19
    相关资源
    最近更新 更多