前の日 / 次の日 / 2015-03
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

2015-03-13 Fri

MeCab 用の新語辞書 mecab-ipadic-neologd を公開しました

日本語の文書を機械的に処理しようと思った時に、ほとんどの人が MeCabとIPADIC(IPA辞書)の両方、または、どちらかを使うことになります。

IPADICはとてもよく出来ていますが、更新されないまま年月が過ぎているので、例えば2015年3月上旬に急に流行ったような言葉は収録していません。そのため、今日生まれたような新しい文書(例、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のソースコードを取得して、mecab-ipadic-neologd のシードデータを含むインデックスを構築するので、実際にインストールしてその様子を確認してください。

おすすめポイントは?

個人的には以下の3点です。

- 名詞的なフレーズを連結する処理、を作る作業から開放される
- 新語に読み仮名が付く
- 辞書のシードが月に数回更新される

シードデータはいつ更新されるの?

シードデータの更新は少なくとも月に2回程度、月初めと半ばに行います。
公開していませんが2014年の8月位から更新作業をしていますので、同様の作業を公開しつつ継続するだけです。

月初めと半ばに以外にも、辞書に資源を足したり、品詞情報を改善したり、バグを修正した場合には更新されます。

解析結果とかどうなってるの?

僕が社内の製品に適用したときに大きな問題が無い程度の正確さがあります。

シードの生成過程で実用上問題ない品質かどうかのチェックは簡易ですけど行っております。
今後定量評価した結果も公開する予定です。

でも、定量評価って結果を出すまでにやることが多いのです。
しばらく時間がかかると思いますけど、どこかの勉強会やカンファレンスなどでお話すると思います。

本当にインストールする価値があるの?

インストールする前のテストで以下のように、どんな風に語の区切りが変わる可能性があるか(実際には文脈によって変わる)が確認できる出力を表示します。
出力結果はインストールするタイミングによって変化するので、更新の度にお楽しみ下さい。

default system dictonary     |	mecab-ipadic-neologd
福岡 恋愛 白書 	     |	福岡恋愛白書
バナナ ムーン 	     |	バナナムーン
未来 ロケット 	     |	未来ロケット
ミュージック ドラゴン 	     |	ミュージックドラゴン
g の レコンギスタ 	     |	gのレコンギスタ
北 区 赤羽 	     |	北区赤羽
幻 魔 チャレンジ 	     |	幻魔 チャレンジ
雪 風 		     |	雪風
特急 は く た か 	     |	特急 はくたか


その結果が気に入ったら yes してインストールを継続して下さい。

バイナリパッケージなどは提供されるの

提供する予定があります。

個人的にはすでに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 に行きますのでお声がけ下さい。

投稿者:としのり  日時:23:59:59 | コメント | トラックバック |

関連エントリ

[2015-05-29-1] UniDic に固有表現やUnicode 絵文字などを足す mecab-unidic-NEologd を公開しました
[-] 1