Mecabにユーザー辞書を導入する(はてな、Wikipedia、ニコニコ大百科など)

Mecabにはてなキーワード、Wikipedia、ニコニコ大百科などを元にしたユーザー辞書を追加します。公式マニュアルはこちら

ユーザー辞書を追加する流れは、

1.元データを取得してCSVファイルに変換
2.CSVファイルを辞書ファイルにコンパイル
3.Mecabの設定ファイルに追加

となります。

1.元データを取得してCSVを作成

今回は、例としてはてなキーワードを追加します。

まずは元データを取得します。

$ wget http://d.hatena.ne.jp/images/keyword/keywordlist_furigana.csv

次に「mecabにはてなキーワードのタイトルリストを追加する」を参考に以下のPHPスクリプトを実行してMecabのユーザー辞書用CSVファイルを作成します。

 $v) {
        if (preg_match("/[\",\n]/", $v)) {
            $data[$k] = '"' . str_replace('"', '""', $v) . '"';
        }
    }
    $line = implode(',', $data);
    return $line;
}

//インポート元CSVとエクスポート先CSVを引数に指定
make_csv("keywordlist_furigana.csv","hatena.csv");

なおニコニコ大百科とWikipediaについては、以下のサイトの通りすれば追加できると思います。

ニコニコ大百科データからMeCab辞書を生成する
mecabにwikipediaのタイトルリストを追加する

2.CSVからユーザー辞書を作成

下記のコマンドを実行して、csvファイルからユーザー辞書ファイル(.dic)にコンパイルします。

$ /usr/local/libexec/mecab/mecab-dict-index -d/usr/local/lib/mecab/dic/ipadic -u 辞書名.dic -f utf-8 -t utf-8 インポート元.csv

以下のコマンドで辞書を指定してmecabが使えれば問題なくコンパイルできています。

$ mecab -u 辞書名.dic

3.辞書をユーザー辞書として登録

任意のディレクトリに作成した辞書名.dicを移動します。今回は/usr/local/lib/mecab/dicにuserを作成して移動します。

$ mkdir /usr/local/lib/mecab/dic/user
$ mv 辞書名.dic /usr/local/lib/mecab/dic/user/辞書名.dic

/usr/local/lib/mecab/dic/ipadic/dicrc もしくは /usr/local/etc/mecabrc に以下を追加します。

userdic = /usr/local/lib/mecab/dic/user/辞書名.dic

これで完了です!

コメントを残す

メールアドレスが公開されることはありません。