Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
7
Help us understand the problem. What are the problem?

More than 3 years have passed since last update.

posted at

updated at

MeCab-ipadic-neologdをshift-jisでコンパイルする

MeCab-ipadic-neologdをshift-jisでコンパイルする

概要

  • MeCab-ipadic-neologdはWindows用には作られていない。だけどデフォルトのシステム辞書だけでは精度が悪すぎる...
  • そこでMeCab-ipadic-neologdをLinuxやMacOSでコンパイルしてWindowsに辞書だけを持ってくる方法がある。但しデフォルトの文字コードはutf8。
  • 文字コードはShif-JISが一般的であるWindowsのために、MeCab解析をShift-jisで使えるようにコンパイルする方法を紹介。Windowsでも幸せなMeCab生活を送りたい人へのtips。

辞書をshift-jisでコンパイル

Mac(linux)側でやること

  1. MeCab-ipadic-neologdをダウンロード
  2. ダウンロードしたディレクトリの中の/libexec/make-mecab-ipadic-neologd.shを以下に編集

    ./libexec/make-mecab-ipadic-neologd.sh
    # 上の行のutf8を下の行のようにshift-jisに書き換えてあげる
    # ${MECAB_LIBEXEC_DIR}/mecab-dict-index -f UTF8 -t UTF8 -d ${MECAB_DIC_DIR}/ipadic -u ${NEOLOGD_DIC_DIR}/${SEED_FILE_NAME}.dic ${NEOLOGD_DIC_DIR}/${SEED_FILE_NAME}
    ${MECAB_LIBEXEC_DIR}/mecab-dict-index -f UTF8 -t shift-jis -d ${MECAB_DIC_DIR}/ipadic -u ${NEOLOGD_DIC_DIR}/${SEED_FILE_NAME}.dic ${NEOLOGD_DIC_DIR}/${SEED_FILE_NAME}
    
    ./libexec/make-mecab-ipadic-neologd.sh
    # 上の行を下のように編集
    # ${MECAB_LIBEXEC_DIR}/mecab-dict-index -f UTF8 -t UTF8
    # ${MECAB_LIBEXEC_DIR}/mecab-dict-index -f UTF8 -t shift-jis
    
  3. MeCab-ipadic-neologdを下のコマンドでコンパイル

    ./bin/install-mecab-ipadic-neologd -n

  4. buildで出来上がったディレクトリの下にあるsys.dicとunk.dicをWindowsマシンに渡してあげる

Windowsでやること

mecabは事前に入っているという前提.
以下のコマンドを叩く

mecab -d hoge-directory # sys.dicとunk.dicを置いた場所のパス

そもそもShift-JISを使って開発してることに驚きを隠せないが・・
後輩が困っていたら教えてあげて下さい。

参考にしたページ

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
7
Help us understand the problem. What are the problem?