Watson Document Conversion 服务返回的答案单元内容数组是否可以包含多个元素?

Can the answer unit content array returned by the Watson Document Conversion service ever have more than one element?

我正在编写一个程序,利用 IBM Watson 的 文档转换 服务将各种类型的文档转换为答案单元。服务返回的每个答案单元都包含一个名为 content 的数组,该数组由具有 [=32= 的对象组成] 和一个 text 元素。

我在这个 content 数组中从未见过超过一个元素,我不确定如果曾经有。该数组中是否可以有多个元素?如果可以,可能的值是多少?它们都会有相同的 media_type 值吗?我目前的计划是将所有 text 元素合并为一个(如果存在多个元素的话)。

回答单元内容数组可以包含多个元素(如果您要求 - 请参见下文)。如果是这样,数组中的每个元素将是相同内容的不同媒体类型表示。

您可以通过在您的请求中放置多个输出媒体类型来实现这一点。当您执行此操作时,输出内容数组将包含多个元素 - 对于您请求的每种媒体类型都有一个元素。

例如,如果您的请求包含这样的 config

{
    conversion_target : 'answer_units',
    answer_units : {
        output_media_types : ['text/plain', 'text/html']
    }
}

请参阅 https://www.ibm.com/watson/developercloud/document-conversion/api/v1/#convert-document 以了解您放置 config 的位置的说明)

那么您回复中的 content 将包含:

content : [
    {
        text : <the plain text contents of the answer unit>,
        ...
    },
    {
        text : <the HTML contents of the answer unit>,
        ...
    }
]

如果您不指定输出媒体类型参数,您将获得默认值:

        output_media_types : ['text/plain']

这就是为什么您总是得到一个长度为 1 的数组,并带有文本版本的输出。因为隐含地,通过将​​其保留为默认配置,您要求一种输出媒体类型。

A​​nswer Units 转换器目前仅按标题标签拆分(默认为 <h1><h2>)。如果您想更精细地拆分您的答案单元,您可以通过传入自定义配置来更改它拆分的级别:

{
    "answer_units": {
        "selector_tags": ["h1","h2","h3","h4","h5","h6"]
    }
}

https://www.ibm.com/watson/developercloud/doc/document-conversion/customizing.shtml#htmlau