MeCab 用の新語辞書 mecab-ipadic-neologd を公開しました
日本語の文書を機械的に処理しようと思った時に、ほとんどの人が MeCabとIPADIC(IPA辞書)の両方、または、どちらかを使うことになります。
ところが、IPADICは先月に急に流行ったような言葉は収録していないので、今日生まれたような新しい文書(例、Apple Watch発売)を解析する時に困りますね。困らない人もいますけど、僕は困ります。
その課題に対処するために、日本全国津々浦々、自然言語処理に関わる全ての人は独自にMeCabの新語辞書を作って対応しているわけです。その際に使われることが多いのは Wikipedia 日本語版とはてなキーワードです。
困ったことに、新語辞書を生成するにはとても面倒な処理(本文抽出とか、コスト付けとか)を確実に行う必要があって面倒です。また、インターネット上に公開されている新語辞書作成の手法は提案者によってまちまちです。どのような結果を狙っているのか不明確な手法も多々見かけます。
「もう2015年だし、新語への対応どうしよう・・・、とかそろそろ考えたくないよね?」
ということで粛々と作業をして作りました。
新語辞書の名前は mecab-ipadic-neologd です。
https://github.com/neologd/mecab-ipadic-neologd/blob/master/README.ja.md
これをMeCabと一緒に使うと要するにこういうことができます。
$ mecab -d /usr/local/lib/mecab/dic/mecab-ipadic-neologd アップルは Apple Watchを4月24日に国内発売します。 アップル 名詞,一般,*,*,*,*,アップル,アップル,アップル は 助詞,係助詞,*,*,*,*,は,ハ,ワ Apple Watch 名詞,固有名詞,一般,*,*,*,Apple Watch,アップルウォッチ,アップルウォッチ を 助詞,格助詞,一般,*,*,*,を,ヲ,ヲ 4月24日 名詞,固有名詞,一般,*,*,*,4月24日,シガツニジュウヨッカ,シガツニジュウヨッカ に 助詞,格助詞,一般,*,*,*,に,ニ,ニ 国内 名詞,一般,*,*,*,*,国内,コクナイ,コクナイ 発売 名詞,サ変接続,*,*,*,*,発売,ハツバイ,ハツバイ し 動詞,自立,*,*,サ変・スル,連用形,する,シ,シ ます 助動詞,*,*,*,特殊・マス,基本形,ます,マス,マス 。 記号,句点,*,*,*,*,。,。,。 EOS
かなり便利そうですよね?!!!!!!!!!!
便利そうだと思った方に使って頂けると嬉しいです。
詳細は、上記した github 上でご確認頂きたいです。
FAQ
mecab-ipadic-neologd とは?
より正しく書くと、MeCab のシステム辞書である IPADIC を拡張する形式で利用する新語辞書のシードと、新語辞書を組み込んだIPADICのインストールツール群のセットのことです。
インストールの過程でmecab-ipadicのソースコードを取得して、mecab-ipadic-neologd のシードデータを含むインデックスを構築するので、実際にインストールしてその様子を確認してみたください。
おすすめポイントは?
個人的には以下の3点です。
- 名詞的フレーズの連結をする処理を作る作業から解法される。
- 読み仮名が付く
- 月に数回更新される
シードデータはいつ更新されるの?
シードデータの更新は少なくとも月に2回程度、月初めと半ばに行います。
公開していませんが2014年の8月位から更新作業をしており、それを公開しつつ継続するだけです。
月初めと半ばに以外にも、辞書に資源を足したり、品詞情報を改善したり、バグを修正した場合には更新されます。
解析結果とかどうなってるの?
僕が社内の製品に適用したときに大きな問題が無い程度の正確さがあります。
シードの生成過程で実用上問題ない品質化のチェックは簡易にではありますが行っております。
今後定量評価した結果も公開する予定です。
でも、定量評価って結果を出すまでにやることが多いのです。
しばらく時間がかかると思いますけど、どこかの勉強会などでお話すると思います。
バイナリパッケージなどは提供されるの
提供する予定があります。
個人的にはすでにyumでインストールしています。
yumやbrewなどのコマンドで簡単にインストールできる状態にできると思います。
ただ、mecab-ipadic-neologd 自体の公開と、品質の向上を優先したいので、したいので、パッケージの公開はもう少し先です。
バージョン番号はあるの?
mecab-ipadic-neologd にバージョン番号はありませんが、シードデータには日付が入っています。
また、パッケージ提供する際には、パッケージを一意に特定する日付ベースの番号が付きます。
neologd ってどういう意味
neologism dictionary (新語辞書)から発音しやすい部分だけ取りました。
「ネオログディー」と発音します。
daemonじゃなくてdictionaryなのにdですいません。
新語辞書のシードはどうやって作っているの?
NEologd というまだ未公開のツールで生成しています。
https://github.com/neologd/neologd
いろいろな言語資源から4カラムの辞書データを生成する課題を解きます。
詳細はまた今度。
最後に
個人的にMeCabの辞書には mecab-ipadic-neologd と ipadic の両方を同時に使うのがオススメです。
何かご意見やアドバイスがございましたら、京都で開催される NLP2015 に行きますのでお声がけ下さい。