はじめに
今まで、形態素解析エンジンにはMecabを使ってきたのですが、JUMAN++を使わないといけない機会がありました。そこで、Mecabを使っていた時に作ったユーザ辞書を、どうにかJUMAN++でも使えるようにできないか調べていたところ、以下のようなスクリプトを作っていらっしゃる方がいました。
neologd辞書をjuman/juman++で使えるようにするスクリプト作った
NEologdについて詳しくは下記のページをご覧ください。ようはMecabの辞書の一つです。
MeCab 用の新語辞書 mecab-ipadic-neologd を公開しました
このスクリプト(neologd2juman)自体は、NEologdに特化したつくりになっていますが、少しMakefileを書き換えると、NEologd関係なしに、自分で作ったMecab用ユーザ辞書をJUMAN++用辞書に変換することができました。この記事では、その方法を記していきたいと思います。
注意
- あらかじめMecabユーザ辞書を作ったときのcsvファイルをご用意ください。dicファイルに既に変換したものは使用できません。
- この方法は、neologd2jumanのスクリプトを、本来の使用用途と少し逸脱して使用します。
環境
当方は、macOS Sierra (10.12)で作業を行いました。なお、あらかじめ以下をインストールしておいてください。
- Python 3系
- JUMAN++
- mojimoji (Pythonのライブラリ。
pip
コマンド等でインストールしておく。) - jaconv (Pythonのライブラリ。
pip
コマンド等でインストールしておく。)
また、JUMAN++をダウンロードしたときのディレクトリ内にあったdict-build
ディレクトリは、消さずに残しておいてください。消してしまった場合は、もう一度ダウンロードしておいてください。
手順
1.neologd2jumanを用意
neologd2jumanがGitHubで公開されていますので、ダウンロードし、あらかじめ解凍しておいてください。
2.Mecabユーザ辞書のcsvをコピー
neologd2jumanのルートディレクトリ(Makefileなどがある位置)に、Mecabユーザ辞書作成時に使用したcsvファイルをコピーしておいてください。ここでは、csvのファイル名をmecab-user-dic.csv
としますが、任意のファイル名で構いません。
3.Makefileの書き換え
neologd2jumanのルートディレクトリにあるMakefileを以下のように書き換えます。
install:
bash neologd2juman.sh mecab-user-dic.csv
mv mecab-user-dic.csv.dic mecab-user-dic.dic
clean:
rm -r mecab-user-dic.csv*
4.make
ターミナル上で、あらかじめneologd2jumanのルートディレクトリに移動しておき、make
コマンドを実行します。すると、mecab-user-dic.dic
ファイルが出来上がります。
5.JUMAN++用にコンパイル
JUMAN++をダウンロードした際に中にあったdict-build
ディレクトリで、コンパイル・インストールを行います。まず、さきほど出来上がったmecab-user-dic.dic
をdict-build/userdic
に配置します。
次にターミナル上でdict-build
ディレクトリに移動しておき、make
コマンドを実行します。辞書のコンパイルが行われます。この作業には時間がかかる場合があります。
最後に、sudo ./install.sh
コマンドを実行すれば、JUMAN++にインストールされます。