新語が追加されたmecab-ipadic-neologd辞書

日本語形態素解析エンジンMeCabで標準的に使われているIPA辞書に新語を追加したmecab-ipadic-neologdが公開されました:
[O] MeCab 用の新語辞書 mecab-ipadic-neologd を公開しました

これまでもWikipediaやはてなキーワードからとりだした単語をMeCabの辞書に登録する取り組みはいろいろとありました:
livedoor Techブログ : wikipediaのデータや顔文字辞書からmecabのユーザ辞書を作成するフレームワーク
MeCabの辞書にはてなキーワードを追加しよう - 不可視点

最近のJUMANの辞書にもWikipediaやWebからとられた単語が登録されています:
JUMAN - KUROHASHI-KAWAHARA LAB

mecab-ipadic-neologdは新語データを定期的に更新して改善を続ける予定ということで、今後が楽しみです。

MacPortsにこのmecab-ipadic-neologdを追加しました。MeCabのシステム辞書として使う場合は次のコマンドを実行します:

$ sudo port selfupdate
$ sudo port install mecab-utf8 +neologd

解析対象の文字コードはUTF−8です。MeCabはもともとEUC文字コードベースだったため、ポート名には-utf8がついています。辞書データは、/opt/local/lib/mecab/dic/neologd-utf8にインストールされます。

ただし、すでにIPA辞書版などのmecab-utf8がインストールされている場合は上のコマンドがエラーを起こしてしまうので、いったんmecab-utf8を取り除いてから、オプションを指定して入れ直します:

$ sudo port -f uninstall mecab-utf8
$ sudo port install mecab-utf8 +neologd

なお、上のコマンドは単にシステム辞書のシンボリックリンク/opt/local/lib/mecab/dic/sysを張り替えるだけなので、これまでにインストールした辞書データやエンジン自体は消えずにそのまま残ります。

システム辞書を変えずに辞書データだけをインストールする場合は:

$ sudo port install mecab-ipadic-neologd

試しにサンプルの文を解析してみます:

$ echo '「人工知能」という名前は1956年にダートマス会議でジョン・マッカーシーにより命名された。' | mecab
「	記号,括弧開,*,*,*,*,「,「,「
人工知能	名詞,固有名詞,一般,*,*,*,人工知能,ジンコウチノウ,ジンコウチノウ
」	記号,括弧閉,*,*,*,*,」,」,」
という	助詞,格助詞,連語,*,*,*,という,トイウ,トユウ
名前	名詞,一般,*,*,*,*,名前,ナマエ,ナマエ
は	助詞,係助詞,*,*,*,*,は,ハ,ワ
1956年	名詞,固有名詞,一般,*,*,*,1956年,センキュウヒャクゴジュウロクネン,センキュウヒャクゴジュウロクネン
に	助詞,格助詞,一般,*,*,*,に,ニ,ニ
ダートマス会議	名詞,固有名詞,一般,*,*,*,ダートマス会議,ダートマスカイギ,ダートマスカイギ
で	助詞,格助詞,一般,*,*,*,で,デ,デ
ジョン・マッカーシー	名詞,固有名詞,人名,*,*,*,ジョン・マッカーシー,ジョンマッカーシー,ジョンマッカーシー
により	助詞,格助詞,連語,*,*,*,により,ニヨリ,ニヨリ
命名	名詞,サ変接続,*,*,*,*,命名,メイメイ,メイメイ
さ	動詞,自立,*,*,サ変・スル,未然レル接続,する,サ,サ
れ	動詞,接尾,*,*,一段,連用形,れる,レ,レ
た	助動詞,*,*,*,特殊・タ,基本形,た,タ,タ
。	記号,句点,*,*,*,*,。,。,。
EOS

「人工知能」「1956年」「ダートマス会議」「ジョン・マッカーシー」が固有名詞としてかたまりでとれています。実際には解析の前に正規化処理をしておく必要があります。

ちなみにMacPortsではソースのスクリプトにパッチをあてています。一つは、辞書をビルドするときに使われるxargsに制限によるもので、MacPortsでビルド作業をするディレクトリの絶対パス名が、xargsが扱える引数のバイト数を超えて長くなってしまうので、相対パス名を使うようにしています。もう一つは、/tmpに一時ファイルを作らないようにして、MacPortsが管理していない場所にファイルが作られるのを防ぎます。ビルドのときはmacportsユーザで作業するため、/tmpに残ったファイルは一般ユーザが上書きできなくなってしまいます。

ところで現在MeCabのソースコードはGoogle Codeで管理されていますが、来年閉鎖されることが発表されました:
Bidding farewell to Google Code | Google Open Source Blog

MeCabのページにも、Export to GitHubのボタンがありますね。いろいろなコードやページのリンク先を書き換える必要がありそうです。