我们正在实施问题&使用Watson Discovery Service(WDS)答复系统。我们需要单个文档中的每个答案单元。我们将复杂的PDF文件作为语料库。PDF文件包含两个列数据,表和图像。取而代之的是将整个PDF文件作为WDS摄取并使用段落检索,而是使用Watson文档转换服务(WDC)将每个PDF文件拆分为答案单元,后来我们将答案单元摄入了WDS。
我们在Watson文档转换服务方面面临两个问题,以进行复杂的PDF分裂。
- 我们期望每个标题为标题,并将相应的文本作为数据(答案)。但是,它将每一章分为单个答案单元。有什么方法可以根据标题将两个列文档拆分?
- 如果输入PDF文件包含表,则文档转换服务读取PDF文件中可用的结构化数据,作为简单的文本(缺少表格式)。有什么方法可以从PDF读取结构化数据以回答单元?
我建议您首先使用此设置将PDF转换为标准化的HTML:
"conversion_target": "normalized_html"
并检查生成的HTML。查找检测到标题(<h1>, <h2>, ..., <h6>
)的位置。这些是当您切换回answer_units
时,将用于通过答案单元拆分的标签。您当前看到每个章节被分为答案单元的原因是因为每个章节可能始于标题,但是在每章中未检测到。
为了生成更多的答案单元,您需要按照此处所述进行调整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}
]
}
}
}
关于您关于表的第二个问题,不幸的是,没有办法将表内容转换为答案单元。如上所述,答案单位生成基于标题检测。话虽如此,如果两个检测到的标题之间有一个表,则该表将成为答案单元的一部分,因为两个标题之间的其他内容。