未経験からのNLP(自然言語処理) 入門

Kuromoji(形態素解析)を2分で使えるようにする方法(Java)

  • このエントリーをはてなブックマークに追加
  • Pocket
形態素解析

自然言語処理関連の仕事をする中、絶対に切り離せないのが形態素解析です。

特に、Java、Pythonで使用する事が多いので、ここに記しておきます。

JavaでMeCabをセットアップすると大変ですが、Kuromojiだと使うまでに3分もかからないはずです。

使用した環境

  • Windows or Macを仮定
  • Eclipse(Neon3)を使用
  • Java8.X を使用

1.Kuromojiを使用するための設定(1分以内)

*EclipseでのMavenプロジェクトの作成方法等は、本記事の範囲外として割愛させて頂きます。

pom.xmlファイルへの依存関係の追加

1-1.Kuromojiのリポジトリの追加

<repositories>
	<repository>
		<id>Atilika Open Source repository</id>
		<url>http://www.atilika.org/nexus/content/repositories/atilika</url>
	</repository>
</repositories>

1-2.依存関係の追加

<dependency>
	<groupId>org.atilika.kuromoji</groupId>
	<artifactId>kuromoji</artifactId>
	<version>0.7.7</version>
	<type>jar</type>
	<scope>compile</scope>
</dependency>

基本的にはこれだけです。

2.Kuromojiを使ってみよう(1分以内)

基本的に以下のコードをコピペして頂ければ、そのまま使えます。非常に楽ですね。

import java.util.List;

import org.atilika.kuromoji.Token;
import org.atilika.kuromoji.Tokenizer;

public class KuromojiTest {

	public static void main(String[] args) {
		String str = "これは形態素解析のテストです"; // 形態素解析対象文字列

		Tokenizer tokenizer = Tokenizer.builder().build(); // Kuromojiオブジェクト作成

		List tokens = tokenizer.tokenize(str); // Tokenize

		for (Token token : tokens) {
			System.out.println("----------------------");
			System.out.println("表層:" + token.getSurfaceForm()); // Tokenの表層

			System.out.println("語幹:" + token.getBaseForm()); // Tokenの語幹

			System.out.println("読み:" + token.getReading()); // Tokenの読み

			System.out.println("POS:" + token.getAllFeatures()); // TokenのPOS詳細情報
		}
	}
}

以下は上記のコードの実行結果です。

----------------------
表層:これ
語幹:これ
読み:コレ
POS:名詞,代名詞,一般,*,*,*,これ,コレ,コレ
----------------------
表層:は
語幹:は
読み:ハ
POS:助詞,係助詞,*,*,*,*,は,ハ,ワ
----------------------
表層:形態素
語幹:形態素
読み:ケイタイソ
POS:名詞,一般,*,*,*,*,形態素,ケイタイソ,ケイタイソ
----------------------
表層:解析
語幹:解析
読み:カイセキ
POS:名詞,サ変接続,*,*,*,*,解析,カイセキ,カイセキ
----------------------
表層:の
語幹:の
読み:ノ
POS:助詞,連体化,*,*,*,*,の,ノ,ノ
----------------------
表層:テスト
語幹:テスト
読み:テスト
POS:名詞,サ変接続,*,*,*,*,テスト,テスト,テスト
----------------------
表層:です
語幹:です
読み:デス
POS:助動詞,*,*,*,特殊・デス,基本形,です,デス,デス

最新記事をSNSでお届けします

よく一緒に読まれている記事

ディープラーニングとは? 今色々な場所で盛り上がっているディープラーニング。 言葉は聞いたことあるけど実際なんなの?って人も多いかと思います。 そんな方のために、な...
機械学習とは? ディープラーニング、ニューラルネットワークについて解説してきましたが、では、ニューラルネットワークはどのようにつくるのでしょうか? その質問に答...
ニューラルネットワークとは? 今人工知能というワードがホットですが、人工知能の技術と切っても切り離せないニューラルネットワークというモデルについて解説したいと思います。 ニュ...
シンギュラリティ(=技術的特異点)とは?... シンギュラリティ(=技術的特異点)とは、人工知能が暴走的に成長し始めるタイミングの事を指します。 このタイミングが訪れると、その人工知能は自分自...
ボットが人間のコミュニケーションを活性化する!?... 「ボットは人間ほど賢く無くとも、人間のグループに役に立つ振る舞いができる。」という発表がアメリカのYale大学でありました。 職場などのチームの...
  • このエントリーをはてなブックマークに追加
  • Pocket

Leave a Reply

*