windows版mecabにutf-8のシステム辞書を追加する

この記事について

環境Windows7 64bit、MeCab(utf-8)
目的windows版mecabにutf-8のシステム辞書を追加する
結果辞書CSV/defをutf-8に変換して追加辞書を放り込み、mecab-dict-indexでコンパイルし直す

つまずきポイント要約

  • インストール時にutf-8を選んでも辞書データはsjisで保存されている
  • ディレクトリ全体を一括utf-8変換するのはダメだった。CSVとdefだけ変換する
  • パスに半角スペースがあるのでダブルクォートでくくる
  • アクセス権エラーはフォルダに権限を与え、一度デスクトップにコピーしてから移動

windows版mecabにシステム辞書を追加する。(unix版はこちら
unicodeの文字も扱いたいので、辞書の文字コードはutf-8とする。

環境: windows 7 (64bit)

windows版のmecab(辞書の文字コードutf-8)が既にインストールされていることが前提。

1.utf-8で書かれた辞書を用意する

こちらのページの1~3を参考

2.インストール済みmecabの辞書をutf-8に保存し直す

windowsにインストールされたmecabの辞書データはsjisで保存されている(インストール時にutf-8を選んだとしても)。拡張子がCSVとdefのファイルが辞書データなのですべてutf-8に保存し直す。(ディレクトリ全体に対してutf-8変換してもいい) ←ダメだった

辞書CSVファイルのパス

C:\Program Files (x86)\MeCab\dic\ipadic

文字コード一括変換のために使用したソフト
KanjiTranslator
「UTF-8(BOM無し)」「改行=CR+LF」← この設定で行った

utf-8に変換したら、追加用の辞書も同じフォルダに放り込む

3.辞書をコンパイルし直す

mecab-dict-indexを実行するので、mecab-dict-index.exeのあるフォルダまでコマンドプロンプトで移動。

mecab-dict-indexの詳細。こちら

mecab-dict-index.exeはここにあった。

C:\Program Files (x86)\MeCab\bin

実行。

mecab-dict-index -d "C:\Program Files (x86)\MeCab\dic\ipadic" -f utf-8 -t utf-8

パスの途中の半角スペースが区切りと誤認されないようにパス全体をダブルクォートでくくる。

「アクセスできない」等のエラーが出たら、フォルダを右クリックしてアクセス権を与えておく。

成功すると、4つのファイルができる

ファイルができる場所

C:\Program Files (x86)\MeCab\bin

ファイル名

char.bin
sys.dic
unk.dic
matrix.bin

4.できたファイルを正しい場所に移動させる

移動場所。元あるファイルと置換となる。

C:\Program Files (x86)\MeCab\dic\ipadic

ファイル移動の際アクセス権限がないとエラーが出たら、フォルダに権限を与えて、一度デスクトップにコピーして、目的のフォルダへ移動。(フォルダからフォルダへの移動ができなかった)
mecabは終了させておく。起動してると元ファイルが削除できない。

以上。

関連記事

タイトルとURLをコピーしました