【问题标题】:Can the answer unit content array returned by the Watson Document Conversion service ever have more than one element?Watson Document Conversion 服务返回的答案单元内容数组是否可以包含多个元素?
【发布时间】:2016-09-08 19:17:03
【问题描述】:

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

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

【问题讨论】:

    标签: ibm-watson document-conversion


    【解决方案1】:

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

    您可以通过在您的请求中添加一种以上的输出媒体类型来实现这一点。当您这样做时,输出内容数组将包含多个元素 - 您请求的每种媒体类型都有一个元素。

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

    【讨论】:

    • 这是很好的信息。由于我没有指定 output_media_type,那么是否只有一个元素?我正在转换 Document Conversion 接受的所有文件类型。
    • 抱歉,如果您不包含该选项,我应该包含默认行为 - 我已经更新了我的答案以包含该选项。
    • 只是想指出—— output_media_types 选项没有记录,因为它目前不是受支持的功能(例如,它可能在未来消失)。此外,您在这些 sn-ps 中返回的 html 可能带有不匹配的标签。
    • 这是一个很好的观点 - 没有发现这一点。我想我首先是从developer.ibm.com/answers/answers/244613/view.html 而不是 API 文档中了解到它的,这可能应该是一个线索!
    【解决方案2】:

    答案单位转换器目前仅按标题标签拆分(默认为&lt;h1&gt; 和&lt;h2&gt;)。如果您想更细化地拆分答案单元,可以通过传入自定义配置来更改其拆分级别:

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

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

    【讨论】:

    • 这会在输出answer_units 数组中获得多个元素,不是吗? (而不是在输出content OP 询问的数组中)。还是我误会了什么?
    • 你说的完全正确;我没有仔细阅读这个问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-10-19
    • 1970-01-01
    • 1970-01-01
    • 2020-04-07
    • 2016-11-15
    • 2018-06-15
    • 1970-01-01
    相关资源
    最近更新 更多