次の方法で共有


Translator 3.0:辞書検索

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

要求 URL

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

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

Translator サービスの選択したネットワークとプライベート エンドポイントの構成とサポートについては Virtual ネットワーク サポート を参照してください。

要求パラメーター

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

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

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

ヘッダー 説明
認証ヘッダー "必須の要求ヘッダー" です。
認証に関するページを参照してください。
コンテンツタイプ "必須の要求ヘッダー" です。
ペイロードのコンテンツ タイプを指定します。 次のいずれかの値になります。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 その他

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

  • confidence: 0.0 から 1.0 までの値。その変換ペアの "信頼度" (より正確には "トレーニング データの蓋然性") を表します。 1 つのソース ワードの信頼度スコアの合計は、1.0 に合計することも、合計することもできません。

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

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

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

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

    • numExamples:この翻訳ペアで利用できる例の数を表す整数。 実際の例は、検索例の個別の呼び出しによって取得する必要があります。 この数は主に UX での表示を容易にすることを目的としています。 たとえば、例の数が 0 より大きい場合、ユーザー インターフェイスはバックトランスレーションにハイパーリンクを追加できます。 次に、例が 1 つもない場合、逆翻訳はプレーンテキストとして表示されます。 lookup の例の呼び出しによって返される実際の例の数は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":[]
    }
]