3

我们正在抓取和下载许多公司的 PDF 文件,并试图挑选出那些是年度报告的文件。此类报告可以从大多数公司的投资者关系页面下载。

扫描 PDF 并在数据库中填充以下内容:

  • 标题
  • 内容(全文)
  • 页数
  • 字数
  • 方向
  • 第一行

使用这些数据,我们正在检查明显的短语,例如:

  • 年度报告
  • 财务报告
  • 季度报告
  • 中期报告

然后记录这些短语和其他短语的频率。到目前为止,我们有大约 350,000 个 PDF 文件要扫描,以及一个包含 4,000 个文档的训练集,这些文档被手动分类为报告或非报告。

我们正在尝试多种不同的方法,包括贝叶斯分类器和加权可用的不同因素。我们正在用 Ruby 构建分类器。我的问题是:如果你正在考虑这个问题,你会从哪里开始?

4

2 回答 2

4

您应该首先尝试一种快速且基本的方法来形成基线,这可能足以满足您的目的。这是一种这样的方法:

扫描所有 pdf 文件并形成词汇表,该词汇表是任何文档中出现的所有单词的编号列表。

通过计算每个单词的单词频率(所有单词,不要费心手动挑选它们),为每个文档创建一个特征向量。文档 j 的特征 i,是单词 i 在文档 j 中出现的次数。

然后按单词重要性对特征求幂,这与单词在所有文档中出现的频率相反。(即这个词在所有文档中出现的频率越高(例如“the”),它包含的信息就越少。)

然后使用无监督聚类算法(例如 k-means)对文档进行聚类。您通过随机放置 k 个集群质心进行初始化,将最近的文档分配给它们,然后将质心移动到分配给它们的文档的平均值,然后重复最后两个步骤直到收敛。

然后通过使用一些手工标记的示例找到包含年度报告的集群。

使用交叉验证集调整集群的数量,直到交叉验证集的准确性很高。

然后最后在一个保留的测试集上进行测试。如果这是低回来。

于 2012-06-24T18:16:11.377 回答
1

对于几年前的论文,我做了类似的事情,但使用了数字化的讲座幻灯片和试卷。我遇到的关于搜索引擎、搜索算法和确定搜索有效性的广泛概述的最好的书之一是:

搜索引擎:实践中的信息检索,W. Bruce Croft,Donald Metzler,Trevor Strohman

出版商网站上有一些示例章节会告诉您这本书是否适合您:pearsonhighered.com

希望有帮助。

于 2012-06-24T18:17:39.460 回答