【问题标题】:Scraping Unstructured Information from a PDF从 PDF 中抓取非结构化信息
【发布时间】:2013-06-14 06:03:00
【问题描述】:

我希望将this PDF 中的信息抓取为以下格式:

我已经圈出了 PDF 中信息的来源。

如您所见,此 PDF 的格式高度非结构化,更糟糕的是,不同的 PDF 可能采用完全不同的布局,并且还会缺少信息。不熟悉采矿的人已经很难解析此 PDF,因为并非所有信息都已明确标记。

所以我的问题是:是否有可能提出一种自动化的方法来处理数千个这样的 PDF?如果是这样,我将如何开始完成这项任务?我可以很好地使用 R 和 Python 进行编程。

我意识到这是一项相当困难(如果不是不可能的话)的任务。感谢您的意见。

【问题讨论】:

  • 使用 Python 从 PDF 中提取文本。 stackoverflow.com/questions/1848464/…
  • 高度非结构化 + 完全不同的布局 = 没有真正的人工智能,就没有自动化方法。你能做到的最好希望是一些半自动化的方法,即一些应用程序显示 PDF 并要求用户标记数据项以逐个提取。
  • @mkl 感谢您的回复。 “没有真正的人工智能……”——我们在这里谈论什么样的人工智能?即使有了人工智能和机器学习,这项任务是否可行?如果是这样,技术是什么?我知道一些 SVM、NN 等,但并不真正了解它们如何在这里提供帮助。
  • 对于有些非结构化 + 详细说明不同的布局我假设一些当前的机器学习方法可以做到。但是,对于高度非结构化 + 完全不同的布局,恐怕您需要HAL 9000。
  • @mkl =( 这就是我所担心的。

标签: pdf pdf-scraping


【解决方案1】:

我认为这并不像人们想象的那么困难。我同意它不会 100% 准确,但您肯定只是考虑了潜在的不准确性。我也不认为人类是 100% 准确的。

所以我建议您使用 PDF 库来提取文本,然后使用一组关键字匹配来尝试查找适当的信息。对于您提取的每个关键字,可能使用红色圆圈标记原始 PDF,就像您的示例 PDF 中一样。

然后在最终输出中不仅存储数据,还存储 PDF,以便人们可以查看数据并在适当时覆盖这些值。您需要定期检查覆盖的值并调整您的启发式方法以更好地应对。

您还需要一个测试台,以便您可以存储数千个测试文档并根据您现有的知识库验证任何代码更改。这让您有信心改变事情,并合理地确定您没有破坏任何重要的东西。

我的答案可能包含基于 ABCpdf 的概念。这就是我的工作。这是我所知道的。 :-)

【讨论】:

    【解决方案2】:

    我看不到您的 PDF,链接可能已损坏。但要从非结构化 PDF 中提取数据,请考虑使用 pdftotext 将 pdf 转换为纯文本:

    pdftotext -layout {PDF-file} {text-file}
    

    然后使用我在遇到类似问题时创建的小python package。我是一名业余程序员,所以库可能有点“脏”,我可能包含一些错误。你可以通过 pip 安装它:

    sudo pip install MassTextExtractor
    

    您可以在this 答案中看到它的使用示例。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-06-25
      • 1970-01-01
      • 2021-08-01
      • 1970-01-01
      • 2016-05-23
      • 1970-01-01
      • 2020-01-11
      相关资源
      最近更新 更多