新語が追加された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のボタンがありますね。いろいろなコードやページのリンク先を書き換える必要がありそうです。