文字的统计分类


32

我是一个没有统计背景的程序员,并且我目前正在针对要分类为预定义类别的大量不同文档寻找不同的分类方法。我一直在阅读有关kNN,SVM和NN的文章。但是,我在入门时遇到了一些麻烦。您推荐什么资源?我确实很了解单变量和多变量演算,所以我的数学应该足够强大。我还拥有Bishop关于神经网络的书,但是作为入门,它已经被证明有些密集。

Answers:


19

我推荐这些书-它们在亚马逊上也受到高度评价:

魏斯的“文本挖掘”

Konchady撰写的“文本挖掘应用程序编程”

对于软件,我推荐免费和开源的RapidMiner(带有文本插件)。

这是我的“文本挖掘过程”:

  • 收集文档(通常是网络爬网)
    • [样本太大时]
    • 时间戳记
    • 删除标记
  • 标记化:分为字符,单词,n-gram或滑动窗口
  • 词根提取(又名lemmatization)
    • [包括同义词]
    • 看到搬运工或雪花算法代词,而文章通常是不良的预测因子
  • 删除停用词
  • 特征向量化
    • 二进制(显示或不显示)
    • 字数
    • 相对频率:tf-idf
    • 信息增益,卡方
    • [包含最小值]
  • 权重
    • 文档顶部的权重字更高?

然后,您可以开始对它们进行分类的工作。kNN,SVM或朴素贝叶斯(如果适用)。

您可以在这里看到我的一系列文本挖掘视频


这是一个很好的答案!我会研究您的书建议,并且您的过程描述也很棒。我特别喜欢有关特征向量化的建议。
埃米尔·H

(如果有人想在向量化部分上做进一步的阐述,那就太好了。)
Emil H,2010年


5

神经网络处理大量文档的速度可能会变慢(现在也已经过时了)。
您也可以在分类器中检查“随机森林”。它非常快,缩放比例很好,不需要复杂的调整。


随机森林为+1。绝对可以尝试1st,因为它们不会过拟合。
Zach


3

首先,我可以向您推荐Manning和Schütze 所著的《统计自然语言处理基础》

我将使用的方法是词频分布和ngram语言模型。当您想对主题进行分类并且主题既特定又专业(带有关键字)时,第一个效果很好。当您要对书写样式等进行分类时,Ngram建模是最好的方法。


0

朴素贝叶斯(Naive Bayes)通常是文本分类的起点,这是多布斯(Dobbs)博士关于如何实现文本分类的文章。它也常常是文本分类的终点,因为它是如此高效并且可以很好地并行化,SpamAssassin和POPFile都使用它。

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.