言語検出を使用する方法

言語検出機能を使うと、テキストを評価し、ドキュメントが書かれた言語を示す言語識別子を取得できます。

言語検出は、言語が不明な任意のテキストを収集するコンテンツ ストアに役立ちます。 この分析の結果を解析して、入力ドキュメントでいずれの言語が使用されるかを特定できます。 応答では、モデルの信頼度を反映する 0 から 1 の範囲のスコアも返されます。

言語検出機能では、さまざまな言語、変異形、方言のほか、一部の地方言語や文化言語も検出できます。

開発オプション

言語検出を使用するには、分析のために未加工の非構造化テキストを送信し、お使いのアプリケーションで API 出力を処理します。 分析はそのままの状態で行われ、データに使用されるモデルに対して追加のカスタマイズは行われません。 言語検出を使用するには、次の 2 つの方法があります。

開発オプション 説明
Language Studio Language Studio は Web ベースのプラットフォームであり、Azure アカウントがなければテキストの例で、サインアップしたら独自のデータで、エンティティ リンクを試すことができます。 詳しくは、Language Studio の Web サイトまたは Language Studio のクイックスタートに関する記事をご覧ください。
REST API またはクライアント ライブラリ (Azure SDK) さまざまな言語で使用できる REST API、またはクライアント ライブラリを使用して、言語検出をお使いのアプリケーションに統合します。 詳細については、言語検出のクイックスタートに関するページをご覧ください。
Docker コンテナー 利用できる Docker コンテナーを使って、この機能をオンプレミスに展開します。 これらの Docker コンテナーを使用すると、コンプライアンス、セキュリティ、またはその他の運用上の理由により、データにいっそう近いところにサービスを持ってくることができます。

データの処理方法を決定する (省略可能)

言語検出モデルを指定する

既定では、使用できる最新の AI モデルがテキストで使われます。 特定のバージョンのモデルを使うように API 要求を構成することもできます。

入力言語

評価対象のドキュメントを送信すると、サポートされている言語のいずれかでテキストが書かれたかどうかの判定が、言語検出によって試みられます。

使用頻度の低い言語で表されるコンテンツがある場合、言語検出機能を試して、コードが返されるかどうか確認できます。 検出できない言語の応答は unknown です。

データの送信

ヒント

言語検出には Docker コンテナーを使えるため、オンプレミスで API を使うことができます。

要求が受信されると分析が実行されます。 言語検出機能の同期的な使用はステートレスです。 データはアカウントに保存されず、結果がすぐに応答で返されます。

この機能を非同期的に使うと、API の結果は、応答で示される要求取り込み時刻から 24 時間利用できます。 この時間が経過すると、結果は消去され、取得できなくなります。

言語検出の結果の取得

言語検出から結果を取得するときは、結果をアプリケーションにストリーミングしたり、ローカル システム上のファイルに出力を保存したりできます。

言語検出からは、送信したドキュメントごとに 1 つの主要な言語と、その ISO 639-1 名、人間が判読できる名前、信頼度スコアが返されます。 正のスコア 1 は、分析で可能な最も高い信頼度レベルを示します。

あいまいなコンテンツ

場合によっては、入力に基づいて言語を明確に区別するのが困難なことがあります。 countryHint パラメーターを使用して、ISO 3166-1 alpha-2 国および地域コードを指定できます。 API では、国の既定のヒントとして "US" が使われます。 この動作を削除するには、この値を空の文字列(countryHint = "") に設定して、このパラメーターをリセットします。

たとえば、英語とフランス語の両方に共通の "communication" が、限られたコンテキストと共に指定されている場合、応答は "US" の国/地域ヒントに基づきます。 テキストがフランスに由来することがわかっている場合は、それをヒントとして指定することができます。

入力

{
    "documents": [
        {
            "id": "1",
            "text": "communication"
        },
        {
            "id": "2",
            "text": "communication",
            "countryHint": "fr"
        }
    ]
}

言語検出モデルには、より適切な判断を行うためのコンテキストが追加されました。

出力

{
    "documents":[
        {
            "detectedLanguage":{
                "confidenceScore":0.62,
                "iso6391Name":"en",
                "name":"English"
            },
            "id":"1",
            "warnings":[
                
            ]
        },
        {
            "detectedLanguage":{
                "confidenceScore":1.0,
                "iso6391Name":"fr",
                "name":"French"
            },
            "id":"2",
            "warnings":[
                
            ]
        }
    ],
    "errors":[
        
    ],
    "modelVersion":"2022-10-01"
}

アナライザーで入力を解析できない場合は、(Unknown) が返されます。 たとえば、数字だけで構成されるテキスト文字列を送信するような場合です。

{
    "documents": [
        {
            "id": "1",
            "detectedLanguage": {
                "name": "(Unknown)",
                "iso6391Name": "(Unknown)",
                "confidenceScore": 0.0
            },
            "warnings": []
        }
    ],
    "errors": [],
    "modelVersion": "2021-01-05"
}

混合言語コンテンツ

同じドキュメント内に混合言語のコンテンツが含まれている場合は、コンテンツの最大の表現で言語が返されますが、評価の肯定度は低くなります。 評価には、評価の限界強度が反映されます。 次の例では、入力は英語、スペイン語、フランス語の混在です。 アナライザーは各セグメント内の文字をカウントして、主要な言語を特定します。

入力

{
    "documents": [
        {
            "id": "1",
            "text": "Hello, I would like to take a class at your University. ¿Se ofrecen clases en español? Es mi primera lengua y más fácil para escribir. Que diriez-vous des cours en français?"
        }
    ]
}

出力

結果の出力は主要な言語で構成され、スコアは 1.0 未満となります。この数値が小さいほど、信頼度レベルは低くなります。

{
    "documents": [
        {
            "id": "1",
            "detectedLanguage": {
                "name": "Spanish",
                "iso6391Name": "es",
                "confidenceScore": 0.88
            },
            "warnings": []
        }
    ],
    "errors": [],
    "modelVersion": "2021-01-05"
}

サービスとデータの制限

分単位および秒単位で送信できる要求のサイズと数については、サービスの制限に関する記事を参照してください。

関連項目