未経験からの自然言語処理 実践入門

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

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

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

特に、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:助動詞,*,*,*,特殊・デス,基本形,です,デス,デス

ご質問等ございましたら、以下コメント欄よりお気軽にお問合せ下さい!

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

アクセス・ランキング

人気AI記事 月間ランキングTOP25

詳しくはこちら

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

MeCab(形態素解析)をPythonから2分で使えるようにする方法... Javaだと、Kuromojiを使用するまでに必要な手続きは、基本的にjarファイルを追加するだけで完了しますので、形態素解析を使うまでの敷居は高くありません。 しかし、PythonでMeCabを使おうとすると、セットアップに時間を取られてしまうことがあります。 ですので、今回は最小限の...
Javaで簡単に感情分析する方法 近年、AIの技術の活用分野は多岐に渡り、その中でも特に、人間の言葉を解釈する技術であるNLP(自然言語処理)が進歩してきています。 テキストマイニングや、対話システム等多岐に渡って使用され、人間のコミュニケーションを一部、チャットボットが代行するという所まで来ています。 今回は、そのNL...
Bag of wordsでのテキストマイニング最速精度向上方法... 空前のAI(人工知能)ブームで、NLP(自然言語処理)に興味を持ち、MeCabやKuromoji等の形態素解析器を試した方は多いと思います。 ただし、いまいち形態素解析器が何に活かせるのか把握していない人は多く、その出力をどう料理すればいいのかわからない人が多いのも事実です。 そこで、本...
ビタビアルゴリズム【入門】具体例で分かりやすく解説!... 1.あらすじ ビタビアルゴリズム、おそらく人工知能について興味を持っている方で、音声認識、音声合成関連の仕事や、勉強をされている方には馴染みの言葉かと思います。 特に、音声認識分野での活用が多く、ビタビアルゴリズムを活用して、入力された音声信号から、最もそれらしい文字列を見つけ出す際に使用さ...
決定木の2つの種類とランダムフォレストによる機械学習入門... 1.あらすじ 空前の人工知能ブームの昨今、ディープラーニングを始めとする、人工知能技術の中心である「機械学習」に対する期待と、世の中の需要は日に日に上昇してきています。 ディープラーニングも、ニューラルネットをベースにした機械学習の1つであり、現在の人工知能分野で主流のアルゴリズムになってい...

最新の人工知能アルゴリズムをSNSでお届けします

Leave a Reply

*