※サンプル・コード掲載
あらすじ
自然言語処理関連の仕事をする中、絶対に切り離せないのが形態素解析です。
特に、Java、Pythonで使用する事が多いので、ここに記しておきます。
JavaでMeCabをセットアップすると大変ですが、Kuromojiだと使うまでに3分もかからないはずです。
使用した環境
- Windows or Macを仮定
- Eclipse(Neon3)を使用
- Java8.X を使用
Kuromojiを使用するための設定(1分以内)
*EclipseでのMavenプロジェクトの作成方法等は、本記事の範囲外として割愛させて頂きます。
pom.xmlファイルへの依存関係の追加
Kuromojiのリポジトリの追加
<repositories> <repository> <id>Atilika Open Source repository</id> <url>http://www.atilika.org/nexus/content/repositories/atilika</url> </repository> </repositories>
依存関係の追加
<dependency> <groupId>org.atilika.kuromoji</groupId> <artifactId>kuromoji</artifactId> <version>0.7.7</version> <type>jar</type> <scope>compile</scope> </dependency>
基本的にはこれだけです。
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:助動詞,*,*,*,特殊・デス,基本形,です,デス,デス