NLP4J - Java で 形態素解析(Yahoo! デベロッパーネットワーク 日本語形態素解析を利用)


Index

Yahoo! デベロッパーネットワーク 日本語形態素解析とは?

Yahoo! Japan が提供している日本語形態素解析APIです。

テキスト解析:日本語形態素解析 - Yahoo!デベロッパーネットワーク
https://developer.yahoo.co.jp/webapi/jlp/ma/v1/parse.html

項目 説明
提供者 ヤフー株式会社 Yahoo Japan Corporation
提供形式 Web API (HTTP GET)
公式クライアントライブラリの提供 なし ​
API キー アプリケーションID

Maven

<dependency>
    <groupId>org.nlp4j</groupId>
    <artifactId>nlp4j-core</artifactId>
    <version>1.3.0.0</version>
</dependency>
<dependency>
    <groupId>org.nlp4j</groupId>
    <artifactId>nlp4j-yahoojp</artifactId>
    <version>1.3.0.0</version>
</dependency>

APP IDの用意

Yahoo!デベロッパーネットワーク (https://developer.yahoo.co.jp/) にてAPP IDを取得済みの場合は以下のようにJVMの環境変数(yhoo_jp.appid)にセットして実行してください。

未取得の場合でもとりあえず動かしてみたいという場合は無しでもとりあえず動くようにしてあります。
お早目にAPP ID の取得をお願いします。

-Dyhoo_jp.appid=YOUR_CODE

コード

package example;
import java.util.ArrayList;
import nlp4j.Keyword;
import nlp4j.yhoo_jp.YJpMaService;

public class HelloYahooNLP1 {

    public static void main(String[] args) throws Exception {
        // 自然文のテキスト
        String text = "今日はいい天気です。";

        Document doc = new DefaultDocument();
        // 属性「text」としてセットする
        doc.putAttribute("text", text);

        // Yahoo! JP アノテーター
        YJpMaAnnotator annotator = new YJpMaAnnotator();
        // 処理対象の属性を指定
        annotator.setProperty("target", "text");
        // 形態素解析処理
        annotator.annotate(doc); // throws Exception

        // キーワードの出力
        for (Keyword kwd : doc.getKeywords()) {
            System.err.println(kwd);
        }
    }
}

結果

出力結果は以下のようになります。
短いコードで形態素解析の結果を取得することができました。

今日 [facet=名詞, str=今日]
は [facet=助詞, str=は]
いい [facet=形容詞, str=いい]
天気 [facet=名詞, str=天気]
です [facet=助動詞, str=です]
。 [facet=特殊, str=。]

プロジェクトURL

https://www.nlp4j.org/


Index