使用Watson文档转换服务拆分复杂的PDF文件

时间:2017-09-18 05:41:27

标签: watson watson-discovery document-conversion

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

我们面临着与复杂PDF拆分相关的Watson文档转换服务的两个问题。

  1. 我们期望每个标题作为标题,相应的文本作为数据(答案)。然而,它将每章拆分为单一答案单元。有没有办法根据标题拆分两列文档?
  2. 如果输入的PDF文件包含表,则文档转换服务将PDF文件中可用的结构化数据读取为简单文本(缺少表格格式)。有没有办法从PDF到答案单元读取结构化数据?

1 个答案:

答案 0 :(得分:0)

我建议您首先使用此设置将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}
      ]
    }
  }
}

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