如何使用词袋或tf-idf来分类文本

时间:2016-12-22 12:19:17

标签: python machine-learning nlp text-classification

我有一个关于使用词袋或类似方法进行分类的一般性问题。

我有正在尝试分类的文本。我知道这些类,我知道文本的每个句子都属于一种句子。例如,句子1应该是一个命令,句子2应该是新闻,等

所以我想的是使用n-gram生成进行特征提取,我的想法是n-gram单词可以帮助机器找到合适的类别。但是使用Python实现这个想法并不容易。我。我无法将概念与强制性联系起来。例如,我不确定是否必须提供可能属于每个类别的所有可能的POS标签块,或者机器可以找到它们。此外,我觉得n-gram可以帮助进行这种分析。但是我不知道#39;不知道如何。

如果可以给我一些想法或告诉我采取这种分类应该采取的步骤,那将是很好的。

最佳

1 个答案:

答案 0 :(得分:3)

要在此类分析中使用ngrams,您可以提取文本中显示的所有ngrams。然后,您可以通过以下方式计算每个句子中每个ngram的TF-IDF:

  • TF:表示ngram在句子中出现的次数。
  • IDF:表示包含该ngram的句子的比例。

这将为您提供一个TF-IDF指标,用于衡量给定所有句子的每个句子的每个ngram的值。获得TF-IDF指标后,您可以使用标准监督方法提供句子。

对于每个类,您还可以基于ngrams,POS标记甚至依赖于解析的句子构建语言模型。然后,给定一个新句子,您可以计算从每个语言模型生成句子的可能性。然后,您可以在监督学习方法中利用这些概率值。

我建议您查看以下文章:

1 - 请查看第5.1节,了解TF-IDF

的用法

2-本文档提供了使用language models

的示例 祝你好运;)