我们正在抓取并下载大量公司的PDF并试图挑选出年度报告。这些报告可以从大多数公司的投资者关系页面下载。
扫描PDF并使用以下内容填充数据库:
使用这些数据我们正在检查明显的短语,例如:
然后记录这些短语和其他的频率。到目前为止,我们有大约350,000个PDF扫描和一套4,000个文档,这些文档已被手动归类为报告或不报告。
我们正在尝试许多不同的方法,包括贝叶斯分类器和加权可用的不同因素。我们正在Ruby中构建分类器。我的问题是:如果你正在考虑这个问题,你会从哪里开始?
答案 0 :(得分:4)
您应首先尝试快速和基本的方法来形成基线,这可能足以满足您的目的。这是一种这样的方法:
扫描所有pdf并形成词汇表,该词汇表是任何文档中出现的所有单词的编号列表。
通过计算每个单词的单词频率(所有单词,不要用手挑选它们),从每个文档的词汇表中创建一个特征向量。文档j的特征i是单词i出现在文档j中的次数。
然后通过单词重要性对要素进行取幂,这与单词在所有文档中出现的频率相反。 (即,所有文件中出现的单词越频繁(例如“the”),它所包含的信息就越少。)
然后使用无监督的聚类算法(如k-means)来聚类文档。您通过随机放置k个集群质心进行初始化,将最近的文档分配给它们,然后将质心移动到分配给它们的文档的平均值,然后重复最后两个步骤直到收敛。
然后使用一些标记为示例的示例找到包含年度报告的群集。
使用交叉验证集调整集群数,直到交叉验证集的精度为高。
然后最终测试一个坚持的测试集。如果这个低了又回来了。
答案 1 :(得分:1)
几年前我的论文中我做了类似的事情,但有数字化的演讲幻灯片和试卷。我遇到的最好的书之一是对搜索引擎,搜索算法以及确定搜索效果的广泛概述:
搜索引擎:实践中的信息检索,W。Bruce Croft,Donald Metzler,Trevor Strohman
发布商网站上有一些示例章节会告诉您这本书是否适合您:pearsonhighered.com
希望有所帮助。