Watson文档转换服务返回的答案单元内容数组可以有多个元素吗?



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

我从来没有在这个content数组中看到过一个以上的元素,如果有的话,我不确定如何处理它们。这个数组中是否可以有多个元素,如果可以,可能的值是什么?它们是否都具有相同的media_type值?我目前的计划是,如果存在多个文本元素,则将所有文本元素合并为一个。

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

您可以通过在请求中放置多个输出媒体类型来获得此值。当您这样做时,输出内容数组将包含多个元素—每个元素对应您请求的每种媒体类型。

例如,如果您的请求包含这样的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的数组,输出是一个文本版本。因为,通过将其保留为默认配置,您将隐式地要求使用一种输出媒体类型。

答案单元转换器目前仅通过标题标签(默认为<h1><h2>)进行拆分。如果你想更精细地分割你的答案单元,你可以通过传入一个自定义配置来改变它的分割级别:

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

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

相关内容

  • 没有找到相关文章

最新更新