首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Watson文档转换服务拆分复杂PDF文件

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

Stack Overflow用户
提问于 2017-09-18 05:41:27
回答 1查看 675关注 0票数 0

我们正在使用沃森发现服务(WDS)来实现问答系统。我们要求每一个答案单位可以在单一的文件。我们有复杂的PDF文件作为语料库。PDF文件包含两个列数据、表和图像。我们使用Watson文档转换服务(WDC)将整个PDF文件作为WDS的语料库,然后使用WDC将每个PDF文件分割成应答单元,然后我们将那里的应答单元摄取到WDS中。

对于复杂的PDF拆分,沃森文档转换服务面临两个问题。

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

回答 1

Stack Overflow用户

发布于 2017-09-18 16:08:56

我建议您首先使用以下设置将PDF转换为规范化HTML:

代码语言:javascript
复制
   "conversion_target": "normalized_html"

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

为了生成更多的应答单元,您需要像描述的这里那样调整PDF输入配置,以便从PDF到HTML转换步骤生成更多的标题,从而生成更多的应答单元。

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

代码语言:javascript
复制
{
  "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,并将所有内容放在一起:

代码语言:javascript
复制
{
  "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}
      ]
    }
  }
}

关于您关于表的第二个问题,不幸的是,无法将表内容转换为回答单元。如前所述,应答单元生成基于航向检测。尽管如此,如果在两个检测到的标题之间有一个表,那么该表将作为两个标题之间的任何其他内容一样成为应答单元的一部分。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46272279

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档