JUMAN++ver2をwindows10にインストールするまでが滅茶苦茶大変だったので、忘れないためにも備忘しておく。

プログラミング

思っていたより10000倍大変だったので備忘として残す。

結論としては1日半かけて動かすことができるようになった。

BERTのサンプルプログラムを動かしたかっただけなのだが、まさかこんなに時間をとられるとは・・・。(

とほほ)

これだけ時間がかかった原因の一つとしては、参考にした記事があったのだが、文章だけでいかんせん何をしていいのかわからなかったということが考えられる。

やっぱり環境構築系はスクショ付き説明されたほうがわかりやすいですよね・・・?

なのでこの備忘では極力画像付きで説明を残しておきたいと思います。

Juman++ Version: 2.0.0-rc3 をWindowsにインストールする手順

  1. Cmakeをインストールする
  2. Visual Studio 2017 communityをインストールする
  3. Juman++ Version: 2.0.0-rc3をダウンロードする
  4. jumanpp-2.0.0-rc3.tar.xzを展開する
  5. jumanpp-2.0.0-rc3.tarを展開する
  6. jumanpp-2.0.0-rc3をビルドする
  7. jumanpp_v2.exe、jumandic.conf、jumandic.jppmdlをコピーしてC直下に移動させる
  8. batファイルを作成する
  9. 環境変数にpathを通す
  10. 実行して動作を確認する。

全体の流れとしては以上になります。

それでは詳細を説明していきます。

その前に・・・、そもそもなんでこんなめんどくさいことをしなければいけないのかという気持ちはあります。

ぶっちゃけJUMANを動かすのに必要なファイルは3つだけです。

ビルドをして生成される、jumanpp_v2.exe、jumandic.conf、jumandic.jppmdlになります。

このファイルをGoogle Driveか何かにアップロードして、ダウンロードできるようにしちゃダメなんですかね・・・。(誰かやりそうなものだが・・・調べても出てこない。)

とまぁ愚痴をいっても仕方ないですね。ビルドする必要があるのであれば、するしかないでしょう。

所要時間はだいたい(エラーがなければ)1時間くらいで完了できると思います。

ビルドをするのに挫折した人も多いようですが、これを見て成功させられることを祈っております。

Cmakeをインストールする

まずCmakeをインストールします。

公式サイトのダウンロードページからexeファイルをダウンロードしてインストールします。

基本的にデフォルト設定のまま、インストールしていきました。

ということでインストールが完了したら、cmakeが動くかどうか確認します。

はい、動きませんね。環境変数を編集して、pathを通しましょう。

(インストーラーでpathを通すを選んだはずなんだが・・・。)

\CMake\binにpathを通したら、コマンドプロンプトは一度閉じて、開きなおすようにしましょう。

意外と開いたままのコマンドプロンプトでコマンドを試して動かないーなんで?となることがあります。

注意しましょう。

pathが通っていれば「where cmake」で結果が返ってくるはずです。

Visual Studio 2017 communityをインストールする

続いてvisual studio 2017をインストールします。

この段階で「は?なんでやねん」と思う人もいるでしょう。私も思いました。

厳密にいうと必要なのはvisual studio 2017で得られるビルド用のツールです。

PCに変なソフトは入れたくないなと思っていたし、めんどくさくてやる気が起きませんでしたがインストールを決意します。

visual studioは2019が最新で(2020年9月現在)、2017は前のバージョンになります。

ここで私は「2017でもできるんだから2019でもできるだろう」と考えて2019をインストールしたのですが、結局よくわからないことになったので、2019と2017のどちらもインストールする羽目になりました・・・。

(多分2019でもできると思います。最初のインストール画面で、「C++によるデスクトップ環境」を選択して、インストールを押せば2019でもいけるはず・・・!)

ここでは2017の画面で説明をするので、2017をインストールすることをおすすめします。

Visual Studio 2017ダウンロードページ

インストールが完了したら、次に進みましょう。

Juman++ Version: 2.0.0-rc3をダウンロードして、展開する

https://github.com/ku-nlp/jumanpp/releases

Juman++をgitからダウンロードしていきます。

ファイルの大きさは300MBくらいです。

ファイル名は「jumanpp-2.0.0-rc3.tar.xz」になっていました(2020年9月現在)

解凍には7-Zipを使いました。

解凍用のファイルがない方もよっぽど理由がない限りは7-Zipを使えばいいと思います。

インストールは以下からおこなえます。

https://sevenzip.osdn.jp/

7-Zipが用意できたら解凍していきます。

僕は以下のように展開していきました。

最終的に「jumanpp-2.0.0-rc3」というフォルダができ、その中にビルドに必要なファイルが入っています。

jumanpp-2.0.0-rc3をビルドする

では準備が整ったのでビルドしていきます。

ちなみにビルドとは、「実行できる形にファイルを変換し、組み立てること」です。

ダウンロードしてきたファイルも、使えない形では無用の長物ということですね。

ではコマンドプロンプトでCMakeを実行していきます。

その前にjumanを解凍したファイルまでcdしておきしょう。

そして移動できたらビルドされたファイルが格納されるフォルダを[jumanpp-2.0.0-rc3]にmkdirします。

私は[cmake-build-dir]というフォルダを作りました。

コマンドにすると以下になります。

ここまで出来たらCmakeしていきます。

コードとしては以下のようになります。

ですが、私のほうはさっそくエラーです。

Cのコンパイラがないと言われているようです。

同じようなエラーになる方もいるかと思ったのでエラー文を載せておきました。

これが出た方は、visual studio 2017の「x64 Native tools comand prompt」を開いてください。開き方はスタートボタンから探すなり、虫眼鏡マークから検索するなりででてくると思います。

要するにCmakeをするためのコンパイラはvisual studioの中にあって、通常のコマンドプロンプトからは使えないってことなんですかね・・・?

正直よくわかっていませんが、「x64 Native tools comand prompt」を押すと出てくるプロンプトでcmakeしていきます。cdで[jumanpp-2.0.0-rc3]まで移動するのを忘れずに。

そしてCMakeを実行します。

念のためもう一度実行するコードを貼っておきます。

1行実行するたびに待ち時間が3分~5分くらいあるかもしれません。

ビルド画面は黄色い文字やら水色の文字やらがでてきてエラーがでているのか、でていないのかよくわかりませんが、一旦待ちます。

このCMakeですが、最初やった時エラーが頻発して心が折れそうになりました。

恐らくjumanppを使ってみようと思ってトライする人の多くがここで挫折するのではと思っています。

ビルドが終わると[cmake-build-dir]の中にはファイルがたくさん生成されていることが確認できます。

ここまでできたらあと少しです・・・が、僕はここから滅茶苦茶時間がかかりました。

jumanpp_v2.exe、jumandic.conf、jumandic.jppmdlをコピーしてC直下に移動させる

ビルドされたフォルダにはファイルがたくさんありますが、前述のとおり使うファイルは3つだけです。

jumanを実行するのに必要なファイル

  • jumanpp_v2.exe
  • jumandic.conf
  • jumandic.jppmdl
  • \jumanpp-2.0.0-rc3\cmake-build-dir\src\jumandic\Releaseの中にjumanpp_v2.exeはあります。
  • \jumanpp-2.0.0-rc3.tar\jumanpp-2.0.0-rc3\modelの中に、jumandic.conf.inとjumandic.jppmdlがあります。jumandic.conf.inは最後の.inを消してしまいましょう

この3つのファイルがあればjumanは動くので、別の場所にこの3つのファイルを移動します。Cドライブ直下に[jumanpp]というフォルダを作成しますが、そこへ3つのファイルを格納しましょう。

格納はjumanpp直下にjumanpp_v2.exe。残りの2つはjumanppの中にもう一つフォルダを作成してそこに格納しておきます。今回名前は[libexec]という名前にしました。

最終的には以下のようになります。

見慣れないbatファイルがありますが、これは今から作っていくので、今はなくて大丈夫です。

jumandic.confの編集とjumanpp.batの作成

jumandic.confをメモ帳でもなんでもいいので編集します。

中身をいかに書き換えてください。(といっても1行目しか変わらないと思います。)

ここで使用するモデルのファイルパスを記載するようです。

最初は相対パスになっているので、絶対パスに書き換えます。

これでjumanを使えるようになっているのですが、実行をするためには --configというパラメータでconfigファイルのパスを指定しなければいけません。実行のたびにconfigパラメータを書いていてはめんどくさいので、batファイルで常にconfigが参照されるようにします。

exeファイルと同じ場所に[jumanpp.bat]を作成しましょう(右クリックからファイルを作成で大丈夫です)

できたら、batファイルに以下の内容を書き込みます。

これで、jumanppを実行するだけで、勝手にconfigファイルが参照されるようになりました。

環境変数を編集してpathを通す

これで最後です。

環境変数を編集してpathを通しましょう。

pathを通したらコマンドプロンプトを新規で開き、満を持して動かしてみます。

ちなみにjumanはUTF-8にしか対応していないので、コマンドプロンプトの文字コードをUTF-8に変更してからでないと文字化けします。(chcpで文字コードを変更)

うおおおおおおおおおおおお、動いたああああああああああ!!!

となぜここまで感動しているかというと、configの設定がうまくできず、エラー地獄をさまよっていたからです。

jumanのコマンドを実行しても無限にこのエラーがでてきて発狂寸前でした。

(ただconfig設定をちゃんとすれば解決できることだったんですけどね・・・)

最後に

ということで丸2日かかりましたが、windowsでもjumanを動かすことができました。

資料が少ない&わかりにくいので、わかりやすさを優先して記事にしました。

これでもわからんorエラーが解消できないということになったらtwitterやこのサイトの問い合わせから質問いただければ一緒に考えます。(力になれるかどうかは保証しません・・・)

以上です。

これでBERTが動かせるぞおおお!!(たぶん)

参考にしたサイト

NLP準備運動 : 分かち書き環境の構築 Mecab , Juman++ver2 - Qiita

Juman++v2をWindowsでビルドする - TadaoYamaokaの日記

Windows の Python で JUMAN++ を使う - YouTube

広告