18
14

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

日本語形態素解析器SudachiをMacにインストールしてみた

Last updated at Posted at 2017-10-16
  • WorksApplicationsさんがSudachiという日本語形態素解析器を公開しているのでタイトルの通りMacにインストールしてみました
  • 日本語形態素解析器とは日本語の文章や文字列から名詞や形容詞を抽出するものです
  • 他に有名なものにMeCabやkuromojiなどがあります
  • MeCabと比べると正規化が出来るとのことです(詳しい対応表はGitHubのREADMEをご参照ください)
  • 今回は自分の持っている環境であるMacにインストールしましたが、Javaで書かれているためbrewインストールの部分を変更すればWindowsでも可能かと思います

環境

  • macOS Sierra
  • RAM 16GB

Sudachiのインストール

  1. Javaのインストール
  • Mavenで管理されているリポジトリであるためJavaが必要になります

  • もうすでに入っている方は次に進んでください

  • 公式からjdkの最新版のdmgをダウンロードしてインストールしました

    $ java -version
    java version "1.8.0_144"
    
  1. Git LFSのインストール
  1. Mavenのインストール
  • brew install mavenが楽でいいかと思います

    $ brew install maven
    $ mvn -version
    Apache Maven 3.5.0
    
  1. Sudachiのコードをクローンして辞書をビルドする
  • GitHubのソースコードをクローンしてきて辞書をビルドします

  • 今回はSudachiのREADMEに書いてある通りビルドしたいと思います

  • 辞書をダウンロードするので有線でやった方がいいと思います(無線でやったら20分かかった)

    $ git clone https://github.com/WorksApplications/Sudachi.git
    $ cd Sudachi/
    $ mvn package
    
  • このときGit LFSがインストールされていない場合は辞書がダウンロードされていないため、ビルドがコケます

  • その場合はまず、git lfs pullをやったあとmvn packageをすることでビルド可能です

  1. 作成された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.zipsudachi-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)

18
14
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
18
14

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?