言語の検出

このドキュメントでは、Cloud Translation API を使用して文字列の言語を検出する方法について説明します。

テキスト文字列の言語の検出

テキスト文字列の言語を検出するには、次の形式の URL を使用して HTTP リクエストを送信します。

https://translation.googleapis.com/language/translate/v2/detect

1 つの文字列の言語の検出

curl コマンド

テキストの言語を検出するには、POST リクエストを作成して適切なリクエスト本文を提供します。次は、curl を使用した POST リクエストの例です。この例では、Google Cloud Platform Cloud SDK を使用してプロジェクト用に設定されたサービス アカウントのアクセス トークンを使用しています。Cloud SDK のインストール、サービス アカウントを使用したプロジェクトの設定、アクセス トークンの取得については、クイックスタートをご覧ください。

curl -X POST \
     -H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \
     -H "Content-Type: application/json; charset=utf-8" \
     --data "{
  'q': 'Mi comida favorita es una enchilada.',
}" "https://translation.googleapis.com/language/translate/v2/detect"

リクエストが成功すると、サーバーは 200 OK HTTP ステータス コードと JSON 形式のレスポンスを返します。

200 OK
{
  "data": {
    "detections": [
      [
        {
          "confidence": 1,
          "isReliable": false,
          "language": "es"
        }
      ]
    ]
  }
}

このレスポンスで、language は検出された言語コードです。残り 2 つの isReliableconfidence は、下位互換性のための非推奨のフィールドです。これらの値を意思決定やしきい値に使用しないことをおすすめします。

C#

このサンプルを試す前に、クイックスタート: クライアント ライブラリの使用の C# の設定手順を実施してください。詳細については、Translation API C# API のリファレンス ドキュメントをご覧ください。

using Google.Cloud.Translation.V2;
using System;

public partial class TranslateSample
{
    public Detection DetectLanguage()
    {
        TranslationClient client = TranslationClient.Create();
        var detection = client.DetectLanguage(text: "Hello world.");
        Console.WriteLine(
            $"{detection.Language}\tConfidence: {detection.Confidence}");
        return detection;
    }
}

Go

このサンプルを試す前に、クイックスタート: クライアント ライブラリの使用の Go の設定手順を実施してください。詳細については、Translation API Go API のリファレンス ドキュメントをご覧ください。

func detectLanguage(text string) (*translate.Detection, error) {
	ctx := context.Background()
	client, err := translate.NewClient(ctx)
	if err != nil {
		return nil, err
	}
	defer client.Close()

	lang, err := client.DetectLanguage(ctx, []string{text})
	if err != nil {
		return nil, err
	}
	return &lang[0][0], nil
}

Java

このサンプルを試す前に、クイックスタート: クライアント ライブラリの使用の Java の設定手順を実施してください。詳細については、Translation API Java API のリファレンス ドキュメントをご覧ください。

// TODO(developer): Uncomment these lines.
// import com.google.cloud.translate.*;
// Translate translate = TranslateOptions.getDefaultInstance().getService();

List<String> texts = new LinkedList<>();
texts.add("Hello, World!");
texts.add("¡Hola Mundo!");
List<Detection> detections = translate.detect(texts);

System.out.println("Language(s) detected:");
for (Detection detection : detections) {
  System.out.printf("\t%s\n", detection);
}

Node.js

このサンプルを試す前に、クイックスタート: クライアント ライブラリの使用の Node.js の設定手順を実施してください。詳細については、Translation API Node.js API のリファレンス ドキュメントをご覧ください。

// Imports the Google Cloud client library
const {Translate} = require('@google-cloud/translate');

// Creates a client
const translate = new Translate();

/**
 * TODO(developer): Uncomment the following line before running the sample.
 */
// const text = 'The text for which to detect language, e.g. Hello, world!';

// Detects the language. "text" can be a string for detecting the language of
// a single piece of text, or an array of strings for detecting the languages
// of multiple texts.
let [detections] = await translate.detect(text);
detections = Array.isArray(detections) ? detections : [detections];
console.log('Detections:');
detections.forEach(detection => {
  console.log(`${detection.input} => ${detection.language}`);
});

PHP

このサンプルを試す前に、クイックスタート: クライアント ライブラリの使用の PHP の設定手順を実施してください。詳細については、Translation API PHP API のリファレンス ドキュメントをご覧ください。

use Google\Cloud\Translate\TranslateClient;

// $text = 'The text whose language to detect.  This will be detected as en.';

$translate = new TranslateClient();
$result = $translate->detectLanguage($text);
print("Language code: $result[languageCode]\n");
print("Confidence: $result[confidence]\n");

Python

このサンプルを試す前に、クイックスタート: クライアント ライブラリの使用の Python の設定手順を実施してください。詳細については、Translation API Python API のリファレンス ドキュメントをご覧ください。

"""Detects the text's language."""
translate_client = translate.Client()

# Text can also be a sequence of strings, in which case this method
# will return a sequence of results for each text.
result = translate_client.detect_language(text)

print('Text: {}'.format(text))
print('Confidence: {}'.format(result['confidence']))
print('Language: {}'.format(result['language']))

Ruby

このサンプルを試す前に、クイックスタート: クライアント ライブラリの使用の Ruby の設定手順を実施してください。詳細については、Translation API Ruby API のリファレンス ドキュメントをご覧ください。

# project_id = "Your Google Cloud project ID"
# text       = "The text you would like to detect the language of"

require "google/cloud/translate"

translate = Google::Cloud::Translate.new project: project_id
detection = translate.detect text

puts "'#{text}' detected as language: #{detection.language}"
puts "Confidence: #{detection.confidence}"

複数の文字列の言語の検出

curl コマンド

複数の文字列の言語を検出するには、q パラメータを使用して各文字列を指定します。この例では、検出のために 2 つの個別の文字列を渡しています。

curl -X POST \
     -H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \
     -H "Content-Type: application/json; charset=utf-8" \
     --data "{
  'q': 'Hello world',
  'q': '我的名字叫傑夫'
}" "https://translation.googleapis.com/language/translate/v2/detect"

リクエストが成功すると、サーバーは 200 OK HTTP ステータス コードと JSON 形式のレスポンスを返します。

{
  "data": {
    "detections": [
      [
        {
          "confidence": 1,
          "isReliable": false,
          "language": "en"
        }
      ],
      [
        {
          "confidence": 1,
          "isReliable": false,
          "language": "zh-TW"
        }
      ]
    ]
  }
}

この場合、レスポンスには、リクエストで指定された対応する 2 つの原文の文字列と同じ順番で検出結果が含まれます。

C#

複数のテキストの言語を検出するには、単に文字列のリストを上の例に示した client.DetectLanguage メソッドに渡すだけです。

Go

複数のテキストの言語を検出するには、複数の文字列を含めたスライスを上の例に示した Client#DetectLanguage メソッドに渡します。

Java

複数のテキストの言語を検出するには、単に文字列のリストを上の例に示した Translate#detect メソッドに渡すだけです。

Node.js

複数のテキストの言語を検出するには、単に文字列の配列を上の例に示した Translate#detect メソッドに渡すだけです。

Python

複数のテキストの言語を検出するには、単に文字列のリストを上の例に示した Client#detect_language メソッドに渡すだけです。

Ruby

複数のテキストの言語を検出するには、単に複数の文字列を上の例に示した Translate#detect メソッドに渡すだけです。

このページは役立ちましたか?評価をお願いいたします。

フィードバックを送信...

ご不明な点がありましたら、Google のサポートページをご覧ください。