人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

VPS上のCentOS 6.3で、形態素解析エンジン「MeCab」をUTF-8で使いたい

……のですが、辞書等がEUC-JPになってしまいます。
VPSはGMO・さくらで試用期間。


【やったこと】

# ■libiconv入れ
wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz
./configure --prefix=/usr/local

■ iconv --version
■ /usr/local/bin/iconv --version
→iconv (GNU libiconv 1.14)

■/usr/bin/iconv --version
iconv (GNU libc) 2.12

■gcc/g++ -v
gcc version 4.4.6 20120305 (Red Hat 4.4.6-4) (GCC)

>vi /etc/ld.so.conf.d/lib.conf
/usr/local/lib/
ldconfig

# ■MeCab+辞書入れ
wget http://mecab.googlecode.com/files/mecab-0.995.tar.gz
wget http://mecab.googlecode.com/files/mecab-ipadic-2.7.0-20070801.tar.gz
本体
./configure --with-charset=utf-8 --enable-utf8-only LIBS=-liconv
辞書
./configure --with-charset=utf-8

こんな感じでやっているのですが、
>echo "隣の客は良く柿食う客だ"| nkf -e | mecab | nkf -w
これで結果が正常に表示される辺り、辞書がどうもUTF-8ではなくEUC-JPになってるようです。
mecab -Dでは辞書情報がutf-8になっているのですが……

filename: /usr/local/lib/mecab/dic/ipadic/sys.dic
charset: utf-8

どうか知恵を貸していただけないでしょうか。よろしくお願い致します。

●質問者: proanagram
●カテゴリ:ウェブ制作 学習・教育
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

質問者から

#iconvに問題があるなら辞書の文字を手動でUTF-8統一しちゃえ。
find -name '*.csv' | xargs nkf --overwrite -w
find -name '*.def' | xargs nkf --overwrite -w
vi dicrc
>config-charset = UTF-8
で再makeでmecab結果は辞書の文字コード通りUTF-8になり、想定通り=正常になります。
が、根本的な解決になっているのか疑問符…。


1 ● kaki_k
ベストアンサー

MeCab 0.995 は、

公式サイト
http://mecab.googlecode.com/svn/trunk/mecab/doc/index.html で、

2013-02-16 MeCab 0.996
configure script の不備によりこiconvへのリンクに失敗する問題を修正

となっていますが、まだ0.996 がアップされていないようです。

辞書のmakeで、
/usr/local/libexec/mecab/mecab-dict-index -d . -o . -f EUC-JP -t utf-8
が失敗している模様。

0.994 を落として、辞書をmakeし直すと文字化けも直ると思います。


proanagramさんのコメント
>2013-02-18 MeCab 0.996 ・configure script の不備によりこiconvへのリンクに失敗する問題を修正 ・ユーザ辞書用CSVファイルのコストと左/右文脈IDを付与し, 新たなCSVファイルを生成する機能の追加 ・解析結果からLattice を作成する Lattice::set_result() メソッドを追加. 単体テスト時のスタブの作成等に利用可能 とのことですね。Ver特有?の不具合だったようで。有難うございます。
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ