鴨川にあこがれる日々

軽い技術っぽい記事かいてます

Mecabの辞書の拡張って一体どこでしたらいいんだろうってちょっと迷ったので、メモ

Background

Mecabという形態素解析器があります。
mecab - Japanese morphological analyzer - Google Project Hosting
ただし既存の辞書データでは現代語に対応しきれないこともあるので、Wikipediaの見出し語やはてなキーワードを辞書に追加したくなります。今回は作成した辞書データをいちいちコマンドで設定することなくMecabが読み込んでくれるようにしたい、というのが背景にあります。

(コマンドで指定する場合には
mecab -u 辞書ファイル名
とできますが、Ruby上でMecabを動かしたいときにはめんどうだと思いました。)

Contents

OSはMacOSXを想定しています。
まずMecabの辞書をするファイル"mecabrc"がどこにあるのか探す必要があります。(初心者なので…)
Unixのコマンドで

find / -name mecabrc

とします。私はsudo を付けないとPermission denidedされたので、sudo を前につけました。見つかったらmecabrcをエディタで編集します。

これは編集後のmecabrcです。;がコメントアウトになります。

;
; Configuration file of MeCab
;
; $Id: mecabrc.in,v 1.3 2006/05/29 15:36:08 taku-ku Exp $;
;
dicdir =  /usr/local/Cellar/mecab/0.996/lib/mecab/dic/ipadic
userdic = /Users/nzw/Documents/prog/wiki_key.dic

; output-format-type = wakati
; input-buffer-size = 8192

; node-format = %m\n
; bos-format = %S\n
; eos-format = EOS\n

最初であればdicdir = /usr/---
の部分だけがコメントアウトされていないと思います。ここで辞書ファイルなどがあるディレクトリ指定を行っています。
実際に編集するのはdicdirではなくコメントアウトしてある

;userdic= なんとか

userdic = /Users/nzw/Documents/prog/wiki_key.dic

のように書き換えます。dicファイルが拡張したい辞書ファイルになります。

The last

拡張前では

花澤香菜
花澤	名詞,固有名詞,人名,姓,*,*,花澤,ハナザワ,ハナザワ
香菜	名詞,固有名詞,人名,名,*,*,香菜,カナ,カナ
EOS

でしたが、拡張後は

花澤香菜
花澤香菜	名詞,一般,*,*,*,*,*,ハナザワカナ,*,Wikipedia
EOS

となります。
終わり。