LoginSignup
7
10

More than 5 years have passed since last update.

Mecabのユーザ辞書をJUMAN++で使えるようにする

Posted at

はじめに

 今まで、形態素解析エンジンには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.dicdict-build/userdicに配置します。

 次にターミナル上でdict-buildディレクトリに移動しておき、makeコマンドを実行します。辞書のコンパイルが行われます。この作業には時間がかかる場合があります。

 最後に、sudo ./install.shコマンドを実行すれば、JUMAN++にインストールされます。

7
10
0

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
7
10