LoginSignup
4
3

More than 1 year has passed since last update.

JavaでCognitive ServicesのText Analyticsを使う

Posted at

私の大学時代の専攻は人工知能でした。そのため、AzureのCognitive Servicesは触ってて楽しいです。普段はHTTPのAPIを素で叩くことが多いですが、Java向けのライブラリも充実しているようなので触ってみました。

Cognitive Servicesには色々な種類がありますが、今回はText Analyticsを試しました。その中でも色んな機能がありますが、今回はテキストの文章から言語を特定するものを使ってみました。

実行結果

先に結果を紹介します。以下のような日本語の文章をCognitive Servicesに食わせると

String text = "私の推しメンは乃木坂46の大園桃子さんです。";

以下の結果になります。

検出した言語は Japanese です。ISO 6391の言語コードは ja 、スコアは 1.000000.

英語を入れてみます。

String text = "Nogizaka46 is a Japanese female idol group produced by Yasushi Akimoto, created as the official rival of the group AKB48. ";

ちゃんと判定してくれます。

検出した言語は English です。ISO 6391の言語コードは en 、スコアは 0.990000.

Javaプロジェクトの準備

Mavenでプロジェクトを作成して、pom.xmlに以下の依存性を追加します。

<dependency>
  <groupId>com.azure</groupId>
  <artifactId>azure-ai-textanalytics</artifactId>
  <version>5.0.4</version>
</dependency>

Javaのコードは簡単でこれだけです。xxxとなっている部分については後ほど紹介します。

package com.example;

import com.azure.ai.textanalytics.TextAnalyticsClient;
import com.azure.ai.textanalytics.TextAnalyticsClientBuilder;
import com.azure.ai.textanalytics.models.DetectedLanguage;
import com.azure.core.credential.AzureKeyCredential;

public class App 
{
    public static void main( String[] args )
    {
        TextAnalyticsClient textAnalyticsClient = new TextAnalyticsClientBuilder()
            .credential(new AzureKeyCredential("xxxxxxxxxx"))
            .endpoint("https://xxxxxx.cognitiveservices.azure.com/")
            .buildClient();

        String text = "私の推しメンは乃木坂46の大園桃子さんです。";
        DetectedLanguage detectedLanguage = textAnalyticsClient.detectLanguage(text);
        System.out.printf("検出した言語は %s です。ISO 6391の言語コードは %s 、スコアは %f.%n です",
            detectedLanguage.getName(), detectedLanguage.getIso6391Name(), detectedLanguage.getConfidenceScore());
    }
}

Text Analyticsの設定

コードの準備ができたらAzureのポータルを開いてCognitive Servicesを検索します。以下の画面になったら「cognitive servicesの作成」を押します。

スクリーンショット 2021-04-28 22.40.15.png

「Text Analytics」は日本語で「テキスト分析」と出てくるので、そのまま選びます。
スクリーンショット 2021-04-28 22.41.29.png

「作成」ボタンを押します。
スクリーンショット 2021-04-28 22.41.43.png

リソースグループと名前を入力して価格レベルを選択します。今回はFree F0を選びました。
スクリーンショット 2021-04-28 22.42.46.png

APIキーをクリックします。
スクリーンショット 2021-04-28 22.45.49.png

キー1をコピーして、冒頭に紹介したJavaコードに設定します。エンドポイントも同様です。
スクリーンショット 2021-04-28 22.45.58.png

これだけです。これでJavaのプログラムを実行すれば、最初に紹介した結果になります。

参考ドキュメントはこちらです。
https://github.com/Azure/azure-sdk-for-java/tree/azure-ai-textanalytics_5.1.0-beta.5/sdk/textanalytics/azure-ai-textanalytics

4
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
3