使用 Watson Document Conversion Service 拆分复杂的 PDF 文件

Posted

技术标签:

【中文标题】使用 Watson Document Conversion Service 拆分复杂的 PDF 文件【英文标题】:Splitting complex PDF files using Watson Document Conversion Service 【发布时间】:2017-09-18 05:41:27 【问题描述】:

我们正在使用 Watson Discovery Service (WDS) 实施问答系统。我们要求在单个文档中提供每个答案单元。我们有复杂的 PDF 文件作为语料库。 PDF 文件包含两列数据、表格和图像。取而代之的是,将整个 PDF 文件作为语料库提取到 WDS 并使用段落检索,我们使用 Watson Document Conversion Service (WDC) 将每个 PDF 文件拆分为答案单元,然后我们将那里的答案单元提取到 WDS 中。

我们在使用 Watson Document Conversion 服务进行复杂的 PDF 拆分时面临两个问题。

    我们希望每个标题都作为标题,对应的文本作为数据(答案)。但是,它将每章拆分为单个答案单元。有没有办法根据标题拆分两列文档? 如果输入的 PDF 文件包含表格,则文档转换服务会将 PDF 文件中可用的结构化数据读取为简单文本(缺少表格格式)。有没有办法从 PDF 读取结构化数据以回答单元?

【问题讨论】:

【参考方案1】:

我建议您首先使用此设置将 PDF 转换为规范化的 html

   "conversion_target": "normalized_html"

并检查生成的 HTML。查找检测到标题 (<h1>, <h2>, ..., <h6>) 的位置。当您切换回answer_units 时,这些标签将用于按答案单元进行拆分。 您当前看到每个章节被拆分为一个答案单元的原因是因为每个章节可能都以一个标题开头,但在每个章节中 没有检测到标题。

为了生成更多答案单元,您需要按照here 所述调整 PDF 输入配置,以便从 PDF 到 HTML 转换步骤生成更多标题,从而获得更多答案生成单位。

例如,以下配置将根据每个级别的某些字体特征检测 6 个不同级别的标题:


  "conversion_target": "normalized_html",
  "pdf": 
    "heading": 
      "fonts": [
        "level": 1, "min_size": 24,
        "level": 2, "min_size": 18, "max_size": 23, "bold": true,
        "level": 3, "min_size": 14, "max_size": 17, "italic": false,
        "level": 4, "min_size": 12, "max_size": 13, "name": "Times New Roman",
        "level": 5, "min_size": 10, "max_size": 12, "bold": true,
        "level": 6, "min_size": 9, "max_size": 10, "bold": true
      ]
    
  

您可以从这样的配置开始并不断调整它,直到生成的规范化 HTML 在您期望答案单元所在的位置包含标题。然后,采用调整后的配置,切换到 answer_units 并将它们放在一起:


  "conversion_target": "answer_units",
  "answer_units": 
    "selector_tags": ["h1", "h2", "h3", "h4", "h5", "h6"]
  ,
  "pdf": 
    "heading": 
      "fonts": [
        "level": 1, "min_size": 24,
        "level": 2, "min_size": 18, "max_size": 23, "bold": true,
        "level": 3, "min_size": 14, "max_size": 17, "italic": false,
        "level": 4, "min_size": 12, "max_size": 13, "name": "Times New Roman",
        "level": 5, "min_size": 10, "max_size": 12, "bold": true,
        "level": 6, "min_size": 9, "max_size": 10, "bold": true
      ]
    
  

关于您关于表格的第二个问题,不幸的是,无法将表格内容转换为答案单元。如上所述,答案单元生成基于标题检测。话虽如此,如果在两个检测到的标题之间有一个表格,则该表格将作为两个标题之间的任何其他内容的一部分作为答案单元。

【讨论】:

感谢 Anton Prevosti 的回复。我们已经尝试了上面建议的方法,发现了一些问题。我在以下 URL 的开发者论坛上分享了我的调查。 developer.ibm.com/answers/questions/401675/view.html

以上是关于使用 Watson Document Conversion Service 拆分复杂的 PDF 文件的主要内容,如果未能解决你的问题,请参考以下文章

使用img标签能使用background-size:conver一样的效果

SQL中conver函数是啥意思

Watson Assistant 使用 Twilio 与电话集成

python conver_zn2en

直接使用 Watson 知识工作室模型

使用 node.js 的 Watson api