Translator 3.0:辞書検索

単語といくつかの慣用句について代替の翻訳を提供します。 各翻訳には品詞と、逆翻訳のリストが含まれます。 逆翻訳により、ユーザーはコンテキスト内の翻訳を理解することができます。 辞書の例操作では、さらにドリル ダウンすることで、各翻訳ペアの使用例を参照することができます。

要求 URL

POST 要求の送信先は次のとおりです。

https://api.cognitive.microsofttranslator.com/dictionary/lookup?api-version=3.0

Translator サービスで選択されているネットワークと、プライベート エンドポイントの構成およびサポートについては、「仮想ネットワークのサポート」を参照してください。

要求パラメーター

クエリ文字列に渡される要求パラメーターを次に示します。

クエリ パラメーター 説明
api-version "必須のパラメーター"。
クライアントによって要求される API のバージョン。 値は 3.0 とする必要があります
from "必須のパラメーター"。
入力テキストの言語を指定します。 ソース言語は、dictionary スコープに含まれているサポートされている言語のいずれかとする必要があります。
to "必須のパラメーター"。
出力テキストの言語を指定します。 ターゲット言語は、dictionary スコープに含まれているサポートされている言語のいずれかとする必要があります。

要求ヘッダーには次のものがあります。

ヘッダー 説明
認証ヘッダー "必須の要求ヘッダー" です。
認証に関するページを参照してください。
Content-Type "必須の要求ヘッダー" です。
ペイロードのコンテンツ タイプを指定します。 次のいずれかの値になります。application/json
Content-Length "必須の要求ヘッダー" です。
要求本文の長さです。
X-ClientTraceId オプション
要求を一意に識別する、クライアントで生成された GUID。 ClientTraceId という名前のクエリ パラメーターを使用してクエリ文字列内にトレース ID を含める場合、このヘッダーは省略できます。

要求本文

要求の本文は JSON 配列です。 個々の配列要素は、Text という名前の文字列プロパティ (検索する用語を表す) を持つ JSON オブジェクトです。

[
    {"Text":"fly"}
]

次の制限事項が適用されます。

  • 配列に含めることができる要素は、最大でも 10 個です。
  • 配列要素のテキスト値の長さは、スペースも含めて 100 文字以下に制限されています。

応答本文

正常な応答は、入力配列内の文字列ごとに 1 つの結果が含まれる JSON 配列となります。 結果オブジェクトには次のプロパティが含まれています。

  • normalizedSource:ソース用語の正規化された形式を与える文字列。 たとえば、要求が JOHN の場合、正規化された形式は john となります。 このフィールドの内容は検索例の入力となります。

  • displaySource:エンド ユーザー表示に最適な形式でソース用語を与える文字列。 たとえば、入力が JOHN の場合、表示形式は、この名前に通常使用される綴り方を反映して John となります。

  • translations:ソース用語の翻訳のリストです。 リストの各要素は、次のプロパティを持つオブジェクトです。

  • normalizedTarget:ターゲット言語でのこの用語の正規化された形式を与える文字列。 この値を検索例の入力として使用する必要があります。

  • displayTarget:用語をターゲット言語の、エンド ユーザー表示に最適な形式で提供する文字列。 通常、このプロパティと normalizedTarget との違いは、大文字/小文字の使い方のみです。 たとえば、Juan という固有名詞の場合は、normalizedTarget = "juan" および displayTarget = "Juan" のようになります。

  • posTag:この用語を品詞タグに関連付ける文字列です。

    タグ名 説明
    ADJ 形容詞
    ADV 副詞
    CONJ 接続詞
    DET 限定詞
    MODAL 動詞
    NOUN 名詞
    PREP 前置詞
    PRON 代名詞
    VERB 動詞
    OTHER その他

    実装上の注意点として、これらのタグは英語側の品詞をタグ付けするものであり、個々のソース/ターゲット ペアにおいて最も頻度の高いタグが使用されます。 そのため、ユーザーがスペイン語の単語を頻繁に英語の別の品詞に翻訳する場合、タグは問題になる可能性があります (スペイン語の単語に対して)。

  • confidence: 0.0 から 1.0 までの値。その変換ペアの "信頼度" (より正確には "トレーニング データの蓋然性") を表します。 1 個のソース単語の信頼度スコアの合計は、1.0 になる場合とならない場合があります。

  • prefixWord:翻訳のプレフィックスとして表示する単語を指定する文字列。 現在、このプロパティは名詞の姓を区別する限定詞です (性を区別する限定詞を持った言語において)。 たとえば、スペイン語の単語 mosca の接頭詞は la です。これは、スペイン語では mosca が女性名詞だからです。 この値は翻訳にのみ依存し、ソースには依存しません。 接頭詞がない場合、これは空の文字列です。

  • backTranslations:ターゲットの "逆翻訳" のリストです。 たとえば、ターゲットが翻訳されるソースの単語です。 このリストには、要求されたソース単語が必ず含められます (たとえば、ソース単語 fly が検索された場合、backTranslations リストには必ず fly が含まれます)。 ただし、ソース単語がリストの先頭にある保証はなく、実際、先頭にないことがよくあります。 backTranslations リストの各要素は、次のプロパティで記述されるオブジェクトです。

    • normalizedText:ターゲットの逆翻訳であるソース用語の正規化された形式を与える文字列。 この値を検索例の入力として使用する必要があります。

    • displayText:ターゲットの逆翻訳であるソース用語を、エンド ユーザー表示に最適な形式で与える文字列。

    • numExamples:この翻訳ペアで利用できる例の数を表す整数。 実際の例は、検索例の個別の呼び出しによって取得する必要があります。 この数は主に UX での表示を容易にすることを目的としています。 たとえば、例の数が 0 個よりも多い場合、ユーザー インターフェイスによって逆翻訳へのハイパーリンクが追加されることがあります。 次に、例が 1 つもない場合、逆翻訳はプレーンテキストとして表示されます。 検索例の呼び出しによって実際に返される例の個数は、numExamples 未満となる場合があります。これは、"不適切な" 例をその場で削除する追加のフィルター処理が適用される場合があるためです。

    • frequencyCount:データ内でのこの翻訳ペアの頻度を表す整数。 このフィールドの主な目的は、最も頻繁に使用されている用語が最初に表示されるように逆翻訳を並べ替える手段をユーザー インターフェイスに提供することにあります。

      Note

      検索した用語が辞書に存在しない場合、応答は 200 (OK) になりますが、translations リストは空のリストとなります。

この例は、英単語 fly についてスペイン語での代替翻訳を検索する方法を示しています。

curl -X POST "https://api.cognitive.microsofttranslator.com/dictionary/lookup?api-version=3.0&from=en&to=es" -H "Ocp-Apim-Subscription-Key: <client-secret>" -H "Content-Type: application/json" -d "[{'Text':'fly'}]"

応答本文 (わかりやすくするために短縮) は次のとおりです。

[
    {
        "normalizedSource":"fly",
        "displaySource":"fly",
        "translations":[
            {
                "normalizedTarget":"volar",
                "displayTarget":"volar",
                "posTag":"VERB",
                "confidence":0.4081,
                "prefixWord":"",
                "backTranslations":[
                    {"normalizedText":"fly","displayText":"fly","numExamples":15,"frequencyCount":4637},
                    {"normalizedText":"flying","displayText":"flying","numExamples":15,"frequencyCount":1365},
                    {"normalizedText":"blow","displayText":"blow","numExamples":15,"frequencyCount":503},
                    {"normalizedText":"flight","displayText":"flight","numExamples":15,"frequencyCount":135}
                ]
            },
            {
                "normalizedTarget":"mosca",
                "displayTarget":"mosca",
                "posTag":"NOUN",
                "confidence":0.2668,
                "prefixWord":"",
                "backTranslations":[
                    {"normalizedText":"fly","displayText":"fly","numExamples":15,"frequencyCount":1697},
                    {"normalizedText":"flyweight","displayText":"flyweight","numExamples":0,"frequencyCount":48},
                    {"normalizedText":"flies","displayText":"flies","numExamples":9,"frequencyCount":34}
                ]
            },
            //
            // ...list abbreviated for documentation clarity
            //
        ]
    }
]

この例は、検索される単語が有効な辞書ペアに存在しない場合の結果を示しています。

curl -X POST "https://api.cognitive.microsofttranslator.com/dictionary/lookup?api-version=3.0&from=en&to=es" -H "X-ClientTraceId: 875030C7-5380-40B8-8A03-63DACCF69C11" -H "Ocp-Apim-Subscription-Key: <client-secret>" -H "Content-Type: application/json" -d "[{'Text':'fly123456'}]"

単語が辞書内に見つからないため、応答本文に含まれる translations リストは空になっています。

[
    {
        "normalizedSource":"fly123456",
        "displaySource":"fly123456",
        "translations":[]
    }
]