【问题标题】:Text Classification using Pre-trained Word vectors without a neural network使用没有神经网络的预训练词向量进行文本分类
【发布时间】:2019-06-23 01:48:31
【问题描述】:

背景:我一直在我的数据集上评估各种文本分类方法,包括使用从字数和 TF-IDF 派生的特征向量,然后通过各种分类器运行这些方法。我的数据集非常小(大约 2300 个句子和大约 5 个类),考虑到上述方法将不同的完全分开,想使用词向量方法进行分类。我使用了带有浅 NN 的预训练词向量,但收效甚微。

问题:我正在寻找一种使用词向量对句子进行分类的替代方法,并考虑将词向量用于一个句子,将它们组合成一个向量,然后取每类句子向量的质心 -然后通过新句子和质心之间的距离度量进行分类。

给定我的小数据集,如何将词向量组合成“句子向量”?

【问题讨论】:

  • 你研究过 word2vec 和 doc2vec 吗?

标签: python text classification embedding


【解决方案1】:

为此,我将使用 gensim 的段落向量实现,Doc2Vec。我刚刚写了an article,描述了如何使用它对电影评论进行分类,这可能会对你有所帮助!

【讨论】:

    【解决方案2】:

    基本上,您首先需要知道在哪里拆分句子,然后您可以对这些句子使用 doc2vec 模型。

    https://radimrehurek.com/gensim/models/doc2vec.html

    1. 确定句子边界的位置
    2. 模型分句
    3. 在句子上训练 Doc2Vec 模型
    4. 向 NN 模型输入句子向量

    我在这方面取得了有限的成功。您的语料库很小,但您可以随时尝试,然后进行测试/验证/评估!

    祝你好运

    【讨论】:

      【解决方案3】:

      word2vecs 的一大特点是您可以对它们执行简单的操作。从单词到句子的一种常见方法是简单地将句子中所有单词的单词向量取平均值。

      由于您的样本数据很小,我将使用来自Gensim Data 的相关嵌入,使用您自己的样本重新训练,最后使用更简单的分类器,如逻辑回归。

      对于 Nathan 的观点,如果您想对文档进行分类,Doc2Vec 是 Word2Vec 的一个很好的扩展,它减少了很多步骤。通过几次迭代,您实际上可以获得非常好的结果。 Here 是 Doc2Vec 的一个很好的实现。

      【讨论】:

        猜你喜欢
        • 2018-05-21
        • 2016-04-03
        • 2015-05-22
        • 2017-10-07
        • 1970-01-01
        • 1970-01-01
        • 2011-04-07
        • 1970-01-01
        • 2018-07-26
        相关资源
        最近更新 更多