言語の検出

完了

Azure 言語検出 API はテキスト入力を評価し、送信されたドキュメントごとに、分析の強度を示すスコアを持つ言語識別子を返します。

この機能は、言語が不明な任意のテキストを収集するコンテンツ ストアに役立ちます。 別のシナリオには、チャット アプリケーションが含まれる場合があります。 ユーザーがアプリケーションとのセッションを開始した場合、言語検出を使用して、使用している言語を特定し、適切な言語でアプリケーションの応答を構成できます。

この分析の結果を解析して、入力ドキュメントでいずれの言語が使用されるかを特定できます。 応答は、モデルの信頼度 (0 ~ 1 の値) を反映するスコアも返します。

言語検出は、ドキュメントまたは単一のフレーズで機能します。 ドキュメントのサイズは 5,120 文字以下である必要があることに注意してください。 サイズの制限はドキュメントごとであり、各コレクションは 1,000 個の項目 (ID) に制限されています。 要求本文でサービスに送信する可能性がある適切に書式設定された JSON ペイロードのサンプルを、 ドキュメントのコレクションと、それぞれが一意の ID と 分析対象の テキスト を含むサンプルを示しています。

たとえば、次の Python コードは、2 つの (短い) ドキュメントを分析して、記述されている言語を検出します。

# Assumes code to create TextAnalyticsClient is above...

# Example text to analyze
documents = ["Hello World!", "Bonjour le monde!"]

# Detect language
response = client.detect_language(documents=documents)
for doc in response:
    print(f"Document: {doc.id}")
    print(f"\tPrimary Language: {doc.primary_language.name}")
    print(f"\tISO6391 Name: {doc.primary_language.iso6391_name}")
    print(f"\tConfidence Score: {doc.primary_language.confidence_score}")

応答には、予測言語や予測の信頼度を示す値など、要求内の各 ドキュメント の結果が含まれます。 信頼レベルは 0 から 1 の範囲の値で、1 に近い値は信頼度レベルが高くなります。 前のコードからの応答の例を次に示します。

Document: 0
        Primary Language: English
        ISO6391 Name: en
        Confidence Score: 0.9
Document: 1
        Primary Language: French
        ISO6391 Name: fr
        Confidence Score: 0.98

このサンプルでは、どちらの言語も信頼度の高い値を示しています。主に、テキストは比較的単純で、言語を識別しやすいためです。

I know a cool AI developer. He has a certain je ne sais quoi!など、多言語コンテンツを含むドキュメントの言語を検出しようとすると、応答にあいまいさが反映される場合があります。 同じドキュメント内の混合言語コンテンツは、コンテンツ内で最も表現が大きい言語を返しますが、肯定的な評価は低く、その評価の限界強度を反映します。

考慮すべき最後の条件は、言語コンテンツに関するあいまいさがある場合です。 このシナリオは、たとえばテキストを文字列変数に変換するときに文字エンコードの問題が原因で、アナライザーが解析できないテキスト コンテンツを送信した場合に発生する可能性があります。 その結果、言語名と ISO コードの応答は (unknown) として返され、スコア値は 0として返されます。