[Android]kuromojiを使って形態素解析

人口無能の解説本「恋するプログラム」を手に入れたので、 Androidで人口無能を作り始めました。
人口無能の応答を返す時の入力文の解析に形態素解析が必要となり
Androidで使用できるライブラリ(kuromoji)をAndroid Studioで
使ったので導入手順を記載します。


1.mvnをインストールする

ライブラリとして公開されているkuromoji Ver.0.9はAndroidで
動作させるとエラーが出るようなので最新のコミットをダウンロード時し
コンパイルして使います。

コンパイルに必要なmvnコマンドを以下からダウンロードします。

https://maven.apache.org/download.cgi

開発環境がWindowsならapache-maven-3.6.3-bin.zipのようにZIP形式が
いいと思います。
任意のフォルダに展開する(例:c:\java\apache-maven)


2.コマンドプロンプトを開き、mvnの実行ディレクトリにパスを通す


set PATH=%PATH%;c:\java\apache-maven;


3.kuromojiのソースコードのディレクトリに移る


cd c:\projects\kuromoji

4.コンパイルする


mvn clean package


5.生成されたjarファイルを取り出し app/libsにコピーする


kuromoji/kuromoji-core/target/kuromoji-core-1.0-SNAPSHOT.jar
kuromoji/kuromoji-ipadic/target/kuromoji-ipadic-1.0-SNAPSHOT.jar


6. build.gradleに以下を追加する


android {
    packagingOptions {
        exclude 'META-INF/CONTRIBUTORS.md'
        exclude 'META-INF/LICENSE.md'
        exclude 'META-INF/DEPENDENCIES'
        exclude 'META-INF/NOTICE.md'
        exclude 'META-INF/LICENSE'
    }
}

dependencies {
    //kuromoji
    implementation files("libs/kuromoji-core-1.0-SNAPSHOT.jar")
    implementation files("libs/kuromoji-ipadic-1.0-SNAPSHOT.jar")
}


7.以下のようなコードで動く


    final Tokenizer tokenizer = new Tokenizer.Builder().mode(TokenizerBase.Mode.NORMAL).build();
    List list = tokenizer.tokenize(message);
    for(Token token : list){
        Log.v(TAG, "AddMessage : " + token.getAllFeatures());
    }

0 件のコメント :

コメントを投稿