我是一个没有统计背景的程序员,我目前正在为大量不同的文档寻找不同的分类方法,我想将它们分类为预定义的类别。我一直在阅读有关 kNN、SVM 和 NN 的信息。但是,我在开始时遇到了一些麻烦。你推荐什么资源?我确实非常了解单变量和多变量微积分,所以我的数学应该足够强大。我还拥有 Bishop 关于神经网络的书,但事实证明它作为介绍有点密集。
文本的统计分类
机器算法验证
分类
信息检索
文本挖掘
2022-01-23 23:09:13
4个回答
我推荐这些书——它们在亚马逊上也得到了很高的评价:
Weiss的“文本挖掘”
“文本挖掘应用程序编程”,作者:Konchady
对于软件,我推荐 RapidMiner(带有文本插件),免费且开源。
这是我的“文本挖掘过程”:
- 收集文档(通常是网络爬虫)
- [样本如果太大]
- 时间戳
- 去除标记
- 标记化:分解成字符、单词、n-gram 或滑动窗口
- 词干提取(又名词形还原)
- [包括同义词]
- 请参阅搬运工或雪花算法代词和文章通常是不好的预测器
- 删除停用词
- 特征向量化
- 二进制(出现或不出现)
- 字数
- 相对频率:tf-idf
- 信息增益,卡方
- [具有包含的最小值]
- 加权
- 文档顶部的单词权重更高?
然后你就可以开始对它们进行分类了。kNN、SVM 或 Naive Bayes(视情况而定)。
你可以在这里看到我的一系列文本挖掘视频
涵盖您提到的主题的一篇很棒的介绍性文本是Introduction to Information Retrieval,可免费在线获取全文。
对于大量文档,神经网络可能会变慢(现在也已经过时了)。
您还可以检查分类器中的随机森林;它非常快,扩展性很好,不需要复杂的调整。
首先,我可以向您推荐Manning 和 Schütze所著的《统计自然语言处理基础》一书。
我会使用的方法是词频分布和 ngram 语言模型。当您想要对主题进行分类并且您的主题是具体且专家(具有关键字)时,第一个效果非常好。当您想要对写作风格等进行分类时,Ngram 建模是最好的方法。
其它你可能感兴趣的问题