Mecabにユーザー辞書を導入する(はてな、Wikipedia、ニコニコ大百科など)
Mecabにはてなキーワード、Wikipedia、ニコニコ大百科などを元にしたユーザー辞書を追加します。公式マニュアルはこちら。
ユーザー辞書を追加する流れは、
1.元データを取得してCSVファイルに変換 2.CSVファイルを辞書ファイルにコンパイル 3.Mecabの設定ファイルに追加
となります。
[amazonjs asin=“489476654X” locale=“JP” title=“Rで学ぶ日本語テキストマイニング”]
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
これで完了です!