SSブログ

MeCab for Win での単語追加 [日記]

形態素解析ツールの「MeCab (和布蕪)」を使ってみた。

で、単語を追加するのに(ユーザ辞書を作るのに)色々と苦労したので、メモっておく。

ちなみに、以下の話は、コンパイル済みのMeCab 0.95 for Windows(mecab-0.95.exe)の話。


単語の追加方法は
http://mecab.sourceforge.net/dic.html
にあるので、その通りにやってみた。

まず、登録する単語(エントリ)をCSVファイルに書きます。

ユーザ設定,-1,-1,10,名詞,一般,*,*,*,*,ユーザ設定,ユーザセッテイ,ユーザセッテイ,追加エントリ

ここで1つ目の落とし穴。

マニュアルには、左文脈IDと右文脈ID(CSVの2つ目と3つめの値)は

『-1 としておくと, mecab-dict-index が自動的に ID を付与します.』

と書いてある。

しかし、実際は-1にすると辞書の作成に失敗する。
というか、rewrite.defというファイルが無いと言われる(もっともrewrite.defを用意しても、うまく行かないが…)。

辞書ファイル(mecab-ipadic-***-***.tar.gz)に付属のleft_id.def、right_id.defから左文脈IDと右文脈IDを探して、自前で指定しなければいけませんでした。
(ちなみに、一般名詞のIDは 1285)


無事にユーザ辞書が出来たので、それを有効にします。

マニュアルに依ると、{インストールディレクトリ}\etc\mecabrc ファイルを編集して

userdic = ユーザ辞書名

と追加すれば良いらしい。

そして2つ目の落とし穴。

userdic は : をデリミタに複数指定可能

つまり、

userdic = c:\work\mydic.dic

と書くと、「c」と「\work\mydic.dic」の2つが指定されていることになって、『“c”なんてファイルは無い』とエラーになる。

仕方がないので、辞書をカレントディレクトリに置いて、相対パス指定にすることで対処しました。


辞書は出来た。設定も出来た。
さぁ実行だ。

………。最後の落とし穴。

「ユーザ辞書とシステム辞書に互換がない」とか言われる。

原因は、これ。

辞書を作るツール「mecab-dict-index.exe」は、デフォルトで文字コード「SHIFT-JIS」の辞書を作ります。
付属のシステム辞書は、文字コード「shift_jis」で作られています。

文字コードが「SHIFT-JIS」と「shift_jis」で異なるので、互換性がない………
………
………
………
うがーーーーっ!!

メーリングリストにも同じことで悩んでいる人が居ました。
フォローが付いていないけど、解決してるかな?


そんなわけで、まとめ。

  • 文脈IDは、ちゃんと書く。
  • ユーザ辞書はカレントドライブの何処かにおいて、ドライブの指定はしない
  • ユーザ辞書の文字コードがshift_jisになるように指定する。
[飛行機] 今日の一冊
ダーウィンの剃刀 (Hayakawa novels)

ダーウィンの剃刀

  • 作者: ダン・シモンズ
  • 出版社/メーカー: 早川書房
  • 発売日: 2002/01
  • メディア: 単行本

タグ:MeCab
nice!(0)  コメント(0)  トラックバック(0) 

nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

トラックバック 0

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。