【问题标题】:How can I translate text containing HTML using IBM Bluemix language translation service?如何使用 IBM Bluemix 语言翻译服务翻译包含 HTML 的文本?
【发布时间】:2016-05-21 16:22:48
【问题描述】:

比如我有内容:

<p><strong>Je vais être</strong> va demain.</p>

如果我将此内容作为纯文本传递给https://gateway.watsonplatform.net/language-translation/api/v2/translate,例如:

Je vais être va demain.

然后我会得到我想要的东西:

I'll be going tomorrow.

但是,我仍然需要 HTML 格式的内容,而不是纯文本。如果我传入带有 url 编码或实体转义的文本,则返回的文本会受到严重影响。

使用 URL 编码:

<p><strong>Je   will   être</strong>   will   demain. </p>

使用 html 实体转义:

<p><strong>I'll be</strong> will tomorrow.</p>

我还注意到,在内容中放置任何类型的分隔符都会影响翻译。例如,使用克拉:

Je vais être^ va demain.

将返回翻译:

I'll be ^ will tomorrow.

因此,解决方案必须在请求的翻译中没有分隔符。

【问题讨论】:

    标签: php html ibm-cloud ibm-watson language-translation


    【解决方案1】:

    查看语言翻译 A​​PI (https://www.ibm.com/smarterplanet/us/en/ibmwatson/developercloud/language-translation/api/v2/#translate),我发现您可以在请求中放置多个文本输入的列表。我会按顺序剥离 HTML 标志,并请求翻译较小的文本块。您可以使用一个简单的堆栈来做到这一点 - 将 HTML 标记推入堆栈,或将要翻译的文本。然后在您获得翻译响应后将其全部从堆栈中弹出。

    【讨论】:

    • 如果小段文字脱离上下文翻译,翻译可能不正确。
    • 非常正确。不幸的是,在进行翻译时, 标签可能无法整齐地映射到翻译后的响应中。我不知道有什么办法。
    【解决方案2】:

    您可以将 HTML 发送到 AlchemyLanguage Text Extraction,然后提取文本,然后再发送到 LanguageTranslation。

    curl 你会这样做:

    curl -X POST \
    -d "apikey=$API_KEY" \
    -d "outputMode=json" \
    --data-urlencode html@tech_crunch.html \
    -d "url=http://techcrunch.com/2016/01/29/ibm-watson-weather-company-sale/" \
    "https://gateway-a.watsonplatform.net/calls/html/HTMLGetRawText"
    

    输出是:

    {
      "status": "OK",
      "usage": "By accessing AlchemyAPI or using information generated by AlchemyAPI, you are agreeing to be bound by the AlchemyAPI Terms of Use: http://www.alchemyapi.com/company/terms.html",
      "url": "http://techcrunch.com/2016/01/29/ibm-watson-weather-company-sale/",
      "text": "IBM Closes Weather Co. Purchase, Names David Kenny New Head Of Watson Platform  |  TechCrunch"
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-12-23
      • 2015-04-03
      • 1970-01-01
      • 2013-05-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-07-02
      相关资源
      最近更新 更多