【问题标题】:Text classification in python - (NLTK Sentence based)python中的文本分类-(基于NLTK句子)
【发布时间】:2014-06-04 09:20:10
【问题描述】:
我需要对文本进行分类,我正在使用 Text blob python 模块来实现它。我可以使用朴素贝叶斯分类器/决策树。我担心以下几点。
1) 我需要将句子分类为论点/不是论点。我正在使用两个分类器并使用 apt 数据集训练模型。我的问题是我需要只用关键字训练模型吗?或者我可以用所有可能的参数和非参数示例句子训练数据集?就文本分类准确性和检索时间而言,哪种方法最好?
2) 由于分类可以是参数/不是参数,哪个分类器会获取准确的结果?是朴素贝叶斯/决策树/正朴素贝叶斯?
提前致谢。
【问题讨论】:
标签:
python
python-3.x
machine-learning
classification
bayesian
【解决方案1】:
理想情况下,it is said that the more you train your data, the 'better' your results 是,但它真的取决于在您测试它并将它与您准备的实际结果进行比较之后。
因此,要回答您的问题,使用关键字训练模型可能会给您带来过于宽泛的结果,而这可能不是论据。但实际上,你必须将它与某些东西进行比较,所以我建议你可能还想用一些论点似乎遵循的句子结构(某种模式)来训练你的模型,它可能会消除那些不是论点的句子结构。再次执行此操作,然后对其进行测试,看看您是否获得了比以前的模型更高的准确度。
回答您的下一个问题:就文本分类准确性和检索时间而言,哪种方法最好?这实际上取决于您使用的数据,我无法真正回答这个问题,因为您必须执行交叉验证以查看您的模型是否达到高精度。显然,您正在寻找的特征越多,您的学习算法的性能就越差。如果您正在处理要分析的千兆字节文本,我建议使用 Mapreduce 来执行这项工作。
您可能希望将支持向量机作为您的学习模型,使用学习模型(朴素贝叶斯、正朴素贝叶斯和决策树)对其进行测试,看看哪一个表现更好。
希望这会有所帮助。