更快的 R-CNN 和 PEGASUS - 文件中的自动文本摘要

今天,公司必须处理越来越多的文件和它们所包含的信息,以便利用隐藏的内容。这可以通过耗时的手工文本总结或使用自动化解决方案来完成。自动文本总结帮助人类有效地处理不断增长的信息量。

究竟什么是自动文本总结?

牛津英语词典》将自动文本总结定义为 "通过计算机程序制作文本的节略版本。这一过程的产物仍然包含了原文的主要内容"。[1]

一个很好的例子是,在公司的年度报告中,摘要可以发挥作用。这些文件包含了许多事实,对投资者来说是至关重要的,因为它们包含了许多因素的信息,如可持续性或环境政策,对投资者的决策有帮助。然而,年度报告通常是非常长的文件,有几百页,这使得其分析是一个耗时的过程,可以通过自动工作流程来推动。

我们怎样才能对PDF文件中的文本进行总结?

我们将这一过程分为三个主要部分。对于每一个步骤,我们将在本文的以下章节中进行详细说明。你可以直接进入细节,或者我们先解释每一步的主要结果。

1.使用对象识别进行页面分割

第一步是选择我们要关注的文件的部分。通过页面分割或也称为布局分析,我们指的是将一份文件划分为各个部分。这是用我们自己训练的模型完成的,因为我们无法用标准软件如Tesseract或Abbyy FineReader达到预期的结果。虽然我们可以从图片、图表和标题中获得很多已经总结出来的信息,但文字才是最完整的信息来源。将文件分割成不同组成部分的一个可能的方法是使用计算机视觉方法。一个多类对象识别模型可以自动区分年度报告中的不同内容。所有内容可分为五类。标题、正文、表格、清单和图表。只有找到的文本类别的位置才会被用于总结过程的以下步骤。

2. 用OCR将图像转换为文本

下一步是将选定的文件的边界框转换成文本。这一部分可以被定义为使用既定工具解决的光学字符识别(OCR)问题。当然,如果文件已经有了文本嵌入,这个步骤可以省略。然而,经常需要在表格或扫描文件中阅读,例如。在我们的软件解决方案中,用户可以为每个项目决定他们是否要使用文本嵌入、Tesseract或商业OCR。

3. 任何段落的文字摘要

最后一步是对选定的内容进行总结。这就是所谓的变压器发挥作用的地方,它最近被证明是强大的模型。我们使用了定制的BERT模型PEGASUS,它是专门为自动总结开发的。结果向我们展示了我们在第一个步骤中认识到的并从报告中提取的段落的摘要版本。原本910个字符的长度被减少到193个字符,从而节省了近80%的时间。然而,所有与理解该段有关的信息都包括在内。

这种方法将PDF文件中的段落缩小了80 %。

用PEGASUS模型对从年度报告中提取的一个段落进行自动文本总结的结果向我们展示了一个良好的结果。让我们通过它来检查包括什么样的方面。公司名称,事件的可能性,罚款金额,委员会的名称。

用PEGASUS和更快的R-CNN进行文本总结白皮书




    你现在想了解更多吗?

    如何使用物体识别进行页面分割?

    物体识别是一项识别图像中已知类别的物体并提供其位置信息的任务。这个任务的一个非常著名的架构是Faster R-CNN。这个架构对每个物体有两个输出:一个类别标签和一个边界盒。它由两个模块组成:一个用于暗示区域的深度全卷积网络和一个用于检测这些区域内物体的快速R-CNN。

    Faster R-CNN对每个物体有两个输出:一个类别标签和一个边界框。

    其工作方式是,输入的图像被送入卷积网络,该网络创建一个图像的特征图。然后,一个单独的网络(区域建议网络)将这个特征图用于预测对象的可能区域(区域建议)。这些区域建议被送入ROI池层,该层将它们转化为预定的大小。最后,汇集层的输出向量被用来对建议的区域进行分类并完善边界框。

    最近,作为Faster R-CNN的扩展,Mask R-CNN增加了第三个输出,可以实现物体的掩码。其结果是物体的分类、边界框和掩码。遮罩的预测是与类别和边界框的预测平行进行的[2]。

     通过微调在PubLayNet中训练的掩码R-CNN模型,我们可以有一个模型,使我们能够检测到文件中与文本相对应的那些部分。

    这样做的目的是只选择报告的相关部分,在我们的例子中就是文本段落。其他已经包含摘要的部分,如标题或表格,则与此无关。因此,我们首先需要一个包含不同文档元素的注释数据集。PubLayNet 是一个数据集,包含 360,000 多页科学论文的文本、数字、标题、列表和表格的注释[3]。通过微调在 PubLayNet 上训练的 mask-R-CNN 模型,我们得到了一个可以识别文档中与文本相对应部分的模型。我们使用的模型可以在 Detectron2 平台上找到,该平台由 Facebook 人工智能研究部门提供,可以快速测试最先进的算法[4]。在图中,我们可以看到边界框和每个类别用不同颜色显示的分类结果,这是在没有进行任何微调的情况下得出的结果。对于我们的问题,我们对文本的掩码不感兴趣,而只对蓝色标记的边界框感兴趣。

    免费注册,用你自己的文件试用页面分割API。 注册以访问我们的API文档。 通过我们的文档标签工具,你可以创建一个数据集,并在你自己的文档上微调PubLayNet模型。

    Konfuzio API通过Faster R-CNN来分割页面。

    哪个是最好的OCR引擎?

    在找到我们感兴趣的图像部分后,下一步是使用光学字符识别(OCR)从图像中提取文本。OCR可以使用计算机视觉方法,其中可以包括字符识别、分割和检测,但最新的方法涉及CNN和循环神经网络的组合。

    一个OCR管道的例子可以是。

    • 文本识别 - 识别字符的位置
    • 预处理--文本被规范化
    • 特征提取--输出是图像的特征图
    • 后处理--错误可以被纠正,例如通过与更频繁的单词序列进行比较。

    文本摘要是如何工作的?

    总结现在通常用Transformer模型来完成。变压器是2017年推出的一种神经网络架构。它们最初是为机器翻译而开发的,但现在几乎用于所有现代NLP应用,例如。实体识别、自然语言推理、问题回答和总结。与之前最先进的模型LSTMs相比,变形金刚能够并行处理所有传入的数据,LSTMs是按顺序处理数据的。这种并行化能力有利于随着计算能力和数据量的指数级增长而进行扩展。

    Transformer架构中引入的最重要的新概念是使用 "多头关注"。在转化器中,输入序列中的每个元素都被分成三个向量。注意力被计算为这些向量的加权之和,其中的权重既是学习的,也是与环境有关的。换句话说,输入到模型的数据决定了模型应该把注意力集中在哪里。多头关注是指我们把每个向量分成几个 "头",并平行计算每个头的关注。因此,我们一次做几个注意力的计算,都是并行的,然后在输出处合并结果。[5]

    最常用的Transformer变体被称为BERT。BERT只使用了原始Transformer的编码器,对结构做了非常小的改动。BERT的主要创新之处在于,它在大量的无标记文本上被训练成一个 "遮蔽的语言模型"。屏蔽语言模型的任务是填补给定句子的空白,即用[MASK]标记替换句子中的一些单词,然后试图预测实际的单词是什么。事实证明,这项任务让模型学到了很多关于自然语言的知识,以至于现在常见的做法是采用预先训练好的BERT模型,然后将其调整为所需的任务。在尝试将神经网络用于NLP时,这通常是一个很好的起点,现在大多数NLP研究的重点是如何改进Transformer模型及其变体,要么优化架构,要么发明一个新的预训练目标。

    PEGASUS是一个为自动总结而开发的模型。该架构类似于原来的带解码器的Transformer,但它同时对两个任务进行了预训练。第一项任务是由BERT引入的屏蔽式语言建模任务。第二个任务是预测输入中被掩盖的整个句子。PEGASUS首先在由15亿篇新闻文章组成的海量文本上进行预训练,然后在目标数据集上进行微调。它在12个常用的摘要数据集上取得了最佳性能。[6].

    资料来源:《世界日报》。

    [1] He, K. et al. (2017).面具R-CNN。Facebook人工智能研究(FAIR)。

    [2] Ren, S., He, K., Girshick, R., & Sun, J. (2015).更快的r-cnn:利用区域建议网络实现实时物体检测。 

    [3] Zhong, X., Tang, J., & Yepes, A. (2019).PubLayNet:用于文档布局分析的最大数据集。In 2019 International Conference on Document Analysis and Recognition (ICDAR) (pp. 1015-1022). 

    [4] Yuxin Wu, et al. (2019).Detectron2 Github Repository。

    [5] Vaswani, A. et al. (2017).注意力是你所需要的一切。 

    [6] Zhang, J. et al (2020).Pegasus:用提取的空白句子对摘要摘要进行预训练。在国际机器学习会议上(第11328-11339页)。PMLR。


    "
    "
    Maximilian Schneider 的头像

    最新文章