How to Install MeCab with UTF-8環境Debian Sarge UTF8# apt-get install autoconf automake gcc libc6-dev g++ ダウンロードhttp://mecab.sourceforge.jp/src/にアクセス。下記の3つをダウンロード。辞書は11.5MBと少々重たい。
解凍する# tar -zxvf mecab-0.93.tar.gz # tar -zxvf mecab-ipadic-2.7.0-20060707.tar.gz # tar -zxvf mecab-perl-0.93.tar.gz ※ipadicの解凍時に、所有者の書き換えができない、とエラーがでるがスルー。 Mecabのインストール# cd /data/mecab-0.93 # ./configure --enable-utf8-only # make # make install mecab-ipadicのインストール# cd /data/mecab-ipadic-2.7.0-20060707 # ./configure --with-charset=utf8 # make # make install ちょっと動作確認。# echo "この橋渡るべからず" | mecab この 連体詞,*,*,*,*,*,この,コノ,コノ 橋 名詞,一般,*,*,*,*,橋,ハシ,ハシ 渡る 動詞,自立,*,*,五段・ラ行,基本形,渡る,ワタル,ワタル べから 助動詞,*,*,*,文語・ベシ,未然形,べし,ベカラ,ベカラ ず 助動詞,*,*,*,特殊・ヌ,連用ニ接続,ぬ,ズ,ズ EOS mecab-perlのインストール# cd /data/mecab-perl-0.93 # perl Makefile.PL # make # make install 動作確認test.pl
use utf8;
use MeCab;
$m = new MeCab::Tagger("") || die $!;
print $m->parse("この橋渡るべからず");
これは動く。が、
$m = new MeCab::Tagger("-Oxml") || die $!;
だと、
# perl test.pl RuntimeError tagger.cpp(146) [writer_.open(param)] writer.cpp(62) [! std::string(param.getProfileString(nfk.c_str())).empty()] unknown format type [xml] ...propagated at est.pl line 3.XML形式なんて知らない、と言われてしまう。 XML形式の出力フォーマットを入手する0.80にはあるが,最新版にはない。下記はapt-getでmecabとipadicを入れた際に入手したモノ。 0.80だと"/usr/share/mecab/dic/ipadic/dicrc"に定義がある。 ; XML bos-format-xml = <sen input="%S" len="%L">\n node-format-xml = \s\s<token pos="%F-[0,1,2,3]" base="%f[6]" cfrom="%f[4]" ctype="%f[5]" read="%f[7]" pron="%f[8]">%m</token>\n eos-format-xml = </sen>\n これを,"/usr/local/lib/mecab/dic/ipadic/dicrc"に追記。 念願のXML形式出力# perl test.pl <sen input="この橋渡るべからず" len="27"> <token pos="連体詞" base="この" cfrom="" ctype="" read="コノ" pron="コノ">この</token> <token pos="名詞-一般" base="橋" cfrom="" ctype="" read="ハシ" pron="ハシ">橋</token> <token pos="動詞-自立" base="渡る" cfrom="五段・ラ行" ctype="基本形" read="ワタル" pron="ワタル">渡る</token> <token pos="助動詞" base="べし" cfrom="文語・ベシ" ctype="未然形" read="ベカラ" pron="ベカラ">べから</token> <token pos="助動詞" base="ぬ" cfrom="特殊・ヌ" ctype="連用ニ接続" read="ズ" pron="ズ">ず</token> </sen> 参考URL
|