文本分类问题:Word2Vec / NN是最好的方法吗?


10

我正在设计一个系统,使给定的一段文本能够对其进行分类并确定上下文:

  1. 经过用户生成的文本段落(如评论/问题/答案)的培训
  2. 训练集中的每个项目都将标有。因此,例如(“类别1”,“文本段落”)
  3. 将有数百个类别

建立这样一个系统的最佳方法是什么?我一直在研究几个不同的选项,以下是可能的解决方案的列表。Word2Vec / NN目前是最佳解决方案吗?

  1. 递归神经张量网络馈送了平均Word2Vec数据
  2. RNTN和段落向量(https://cs.stanford.edu/~quocle/paragraph_vector.pdf)?
  3. 深度信仰网络中使用的TF-IDF
  4. TF-IDF和Logistic回归
  5. 单词袋和朴素贝叶斯分类

您能说明什么样的类别吗?是否需要能够处理新的类别和/或看不见的单词?有关不常用术语和看不见类别的要求将有助于系统的设计。
NBartley,2015年

谢谢@NBartley。看不见的单词也很有可能。输入的参数将是用户生成的内容,因此出现新的看不见的单词的可能性非常高。将定义类别,但是随着时间的推移,我们将需要扩展类别列表。谢谢
Shankar

您也应该查看sense2vec arxiv.org/abs/1511.06388。简而言之,就是将词嵌入与词性标记结合在一起。据报道,它通过消除同音异义词使词嵌入更加准确。有趣的是,它是否还能提高分类任务的性能。
wacax 2015年

Answers:


5

1)TFIDF向量的最大熵(Logistic回归)是许多NLP分类任务的良好起点。

2)Word2vec绝对是值得尝试并与模型1进行比较的东西。我建议使用Doc2Vec风格查看句子/段落。

Quoc Le和Tomas Mikolov。句子和文档的分布式表示。http://arxiv.org/pdf/1405.4053v2.pdf

Gensim(python)有一个不错的Doc2vec模型。


谢谢@rushimg。如果类别紧密相关,即用作输入的文本段落具有大量的常用词,那么这两种方法中的哪一种会更好地理解上下文并区分两者?
香卡2015年

我之所以使用Doc2Vec模型,是因为它消除了max-ent模型的词袋假设。如果将tf-idf用作max-ent模型中的特征,那么这也将减少常见单词的影响。我认为尝试两种方法并对其进行调整将是最好的方法。
rushimg 2015年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.