- WorksApplicationsさんがSudachiという日本語形態素解析器を公開しているのでタイトルの通りMacにインストールしてみました
- 日本語形態素解析器とは日本語の文章や文字列から名詞や形容詞を抽出するものです
- 他に有名なものにMeCabやkuromojiなどがあります
- MeCabと比べると正規化が出来るとのことです(詳しい対応表はGitHubのREADMEをご参照ください)
- 今回は自分の持っている環境であるMacにインストールしましたが、Javaで書かれているためbrewインストールの部分を変更すればWindowsでも可能かと思います
環境
- macOS Sierra
- RAM 16GB
Sudachiのインストール
- Javaのインストール
-
Mavenで管理されているリポジトリであるためJavaが必要になります
-
もうすでに入っている方は次に進んでください
-
公式からjdkの最新版のdmgをダウンロードしてインストールしました
$ java -version java version "1.8.0_144"
- Git LFSのインストール
- Git Large File Storage
-
homebrewがインストールされているなら
brew install git-lfs
が楽でいいかと思います
- Mavenのインストール
-
brew install maven
が楽でいいかと思います$ brew install maven $ mvn -version Apache Maven 3.5.0
- Sudachiのコードをクローンして辞書をビルドする
-
GitHubのソースコードをクローンしてきて辞書をビルドします
-
今回はSudachiのREADMEに書いてある通りビルドしたいと思います
-
辞書をダウンロードするので有線でやった方がいいと思います(無線でやったら20分かかった)
$ git clone https://github.com/WorksApplications/Sudachi.git $ cd Sudachi/ $ mvn package
-
このときGit LFSがインストールされていない場合は辞書がダウンロードされていないため、ビルドがコケます
-
その場合はまず、
git lfs pull
をやったあとmvn package
をすることでビルド可能です
- 作成されたjarファイルを実行
-
target
フォルダーを確認するとsudachi-0.1-SNAPSHOT.jar
ができていますので早速実行$ java -jar target/sudachi-0.1-SNAPSHOT.jar Exception in thread "main" java.io.FileNotFoundException: system.dic (No such file or directory) at java.io.FileInputStream.open0(Native Method) at java.io.FileInputStream.open(FileInputStream.java:195) at java.io.FileInputStream.<init>(FileInputStream.java:138) at java.io.FileInputStream.<init>(FileInputStream.java:93) at
com.worksap.nlp.sudachi.JapaneseDictionary.readSystemDictionary(JapaneseDictionary.java:91)
at com.worksap.nlp.sudachi.JapaneseDictionary.(JapaneseDictionary.java:56)
at com.worksap.nlp.sudachi.JapaneseDictionary.(JapaneseDictionary.java:48)
at com.worksap.nlp.sudachi.DictionaryFactory.create(DictionaryFactory.java:34)
at com.worksap.nlp.sudachi.SudachiCommandLine.main(SudachiCommandLine.java:155)
```
-
エラー、どうやら
system.dic
というファイルがみつからないようです -
@matsuda_vla さんご教示いただきありがとうございました
-
sudachi-0.1-SNAPSHOT.jarと同階層にできる
sudachi-0.1-SNAPSHOT-executable.zip
かsudachi-0.1-SNAPSHOT-executable.tar.bz2
を解凍することで必要なファイルが含まれていました -
unzipしてそのディレクトリに入って実行してみます
$ unzip sudachi-0.1-SNAPSHOT-executable.zip Archive: sudachi-0.1-SNAPSHOT-executable.zip
creating: sudachi-0.1-SNAPSHOT/
inflating: sudachi-0.1-SNAPSHOT/LICENSE-2.0.txt
creating: sudachi-0.1-SNAPSHOT/licenses/
inflating: sudachi-0.1-SNAPSHOT/licenses/javax.json-1.1.txt
inflating: sudachi-0.1-SNAPSHOT/README.md
inflating: sudachi-0.1-SNAPSHOT/javax.json-1.1.jar
inflating: sudachi-0.1-SNAPSHOT/sudachi-0.1-SNAPSHOT.jar
inflating: sudachi-0.1-SNAPSHOT/system.dic
inflating: sudachi-0.1-SNAPSHOT/char.def
inflating: sudachi-0.1-SNAPSHOT/unk.def
$ cd sudachi-0.1-SNAPSHOT
$ ls
LICENSE-2.0.txt char.def licenses system.dic
README.md javax.json-1.1.jar sudachi-0.1-SNAPSHOT.jar unk.def
$ java -jar sudachi-0.1-SNAPSHOT.jar
コミュニケーション
コミュニケーション 名詞,普通名詞,サ変可能,,,* コミュニケーション
EOS
コミニケーション
コミニケーション 名詞,普通名詞,サ変可能,,,* コミュニケーション
EOS
シュミレーション
シュミレーション 名詞,普通名詞,サ変可能,,,* シミュレーション
EOS
シミュレーション
シミュレーション 名詞,普通名詞,サ変可能,,,* シミュレーション
EOS
- 動きました 表記揺れも修正できているようです
# 終わり
- インストールの手順について間違っている場合やもっとこうした方がいい情報は教えていただきたいです
# 参考
- [仕組みについてSlideShare](https://t.co/NXZ6h6GGyF)
- [SudachiのGitHubリポジトリ](https://github.com/WorksApplications/Sudachi)