我是文本分类技术的新手,我想知道N-gram文本分类方法与其他基于分类器(决策树,KNN,SVM)的文本分类之间的区别。
我想知道哪一个更好,n-gram是否属于分类器?n-gram可以克服分类器技术中的任何缺点吗?
我在哪里可以获得有关所有这些技术的比较信息。
提前致谢。
实际上,我将对此发表完整的答案,因为我认为很明显可以将n-gram模型用作分类器(与您可以将要素的任何概率模型用作一个对象一样,这很明显)。
生成分类器将感兴趣的后验值p(class | test doc)近似为:
p(c | t)\原型P(C)P(t | c)
其中p(c)是c的先验概率,p(t | c)是似然性。分类选取所有c的arg-max。像朴素贝叶斯(Naive Bayes)或LDA一样的n-gram语言模型或任何您喜欢的生成模型,如果您为每个类估计一个单独的模型,则可以将其解释为概率模型p(t | c)。这样,它可以提供进行分类所需的所有信息。
问题是该模型是否有用。主要问题是,n-gram模型倾向于建立在数十亿个文字的单词上,其中分类器通常在数千个单词上进行训练。您可以做一些复杂的事情,例如将联合先验放在所有类模型的参数上,将超参数钳制为相等(这些参数取决于您进行平滑的方式)……但这仍然很棘手。
另一种方法是构建一个n-gram字符模型(如果有用,则包括空格/标点符号)。可以更可靠地估算出该值(三元模型的参数为26 ^ 3,而不是〜20000 ^ 3),对于作者识别/类型分类/具有风格元素的其他分类形式可能非常有用。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句