Azure Cognitive Services Translator: ошибка в очень простом слове - PullRequest
0 голосов
/ 05 ноября 2018

Я использую API переводчика Azure для перевода шведского на английский. Удивительно, но это не так для очень простого слова: man (это шведский, это означает man на английском языке: P).

Вместо перевода на man он переводится на to с уверенностью 1.

Вы можете воспроизвести поведение, используя их API, например, с этим кодом Python: https://github.com/MicrosoftTranslator/Text-Translation-API-V3-Python/blob/master/DictionaryLookup.py

Я также вставляю приведенный ниже код, уже настроенный для шведского языка и man. Но вам понадобится ключ API Azure:

# -*- coding: utf-8 -*-

import http.client, urllib.parse, uuid, json

# **********************************************
# *** Update or verify the following values. ***
# **********************************************

# Replace the subscriptionKey string value with your valid subscription key.
subscriptionKey = 'TODO: enter your key here'

host = 'api.cognitive.microsofttranslator.com'
path = '/dictionary/lookup?api-version=3.0'

params = '&from=sv&to=en';

text = 'man'

def lookup (content):

    headers = {
        'Ocp-Apim-Subscription-Key': subscriptionKey,
        'Content-type': 'application/json',
        'X-ClientTraceId': str(uuid.uuid4())
    }

    conn = http.client.HTTPSConnection(host)
    conn.request ("POST", path + params, content, headers)
    response = conn.getresponse ()
    return response.read ()

requestBody = [{
    'Text' : text,
}]
content = json.dumps(requestBody, ensure_ascii=False).encode('utf-8')
result = lookup (content)

# Note: We convert result, which is JSON, to and from an object so we can pretty-print it.
# We want to avoid escaping any Unicode characters that result contains. See:
# https://stackoverflow.com/questions/18337407/saving-utf-8-texts-in-json-dumps-as-utf8-not-as-u-escape-sequence
output = json.dumps(json.loads(result), indent=4, ensure_ascii=False)

print (output)

Удивительно, но на сайте перевода bing проблемы нет.

Могу ли я получить доступ к тому же бэкэнду, что и у Bing? Это ошибка в Azure или я что-то упустил?

...