2011 |
01,15 |
perlでText::MeCabを使っていて、「なんか変だなー。みょ〜〜に、変だな〜・・」と稲川淳二ばりに思っていたら、作成したはずのmecabのユーザ辞書がText::MeCabに適応されていませんでした。人生オワタ、と嘆いていると、ザッツさんがCPANを見ればといってくれたので、見てみると、あーなるほど普通に書いてある。ということで、Text::MeCabに自分で作成したユーザ辞書を適応させる方法です(CPAN見れば書くまでもありませんが...)。
実行結果
できました。まあ、ちゃんとCPANなりなんなりを読めと言うことですね。
use Text::MeCab;
use utf8;
binmode(STDOUT, ":raw :utf8");
binmode(STDIN, ":raw :utf8");
use Encode;
my $userdic ='../mecab_dic/wikipedia.dic, ../mecab_dic/hatena_keyword.dic'; # <- ユーザ辞書パス(複数OK)
my $m = Text::MeCab->new({ # <- ここで辞書のパスを記載
userdic => $userdic,
});
my $str = "千と千尋の神隠し";
my $n = $m->parse($str);
do{
printf("%s\t%s\t%s\n",
decode('utf8' ,$n->surface), # 表層
decode('utf8' ,$n->feature), # 現在の品詞
$n->cost, # その形態素までのコスト
);
}while ($n = $n->next)
実行結果
千と千尋の神隠し 名詞,固有名詞,*,*,*,*,千と千尋の神隠し,*,*,wikipedia_word, -4034
BOS/EOS,*,*,*,*,*,*,*,* -4468
Use of uninitialized value in printf at /home/akito/workspace/長岡さん/source/OLD_source/test_mecab.pl line 14.
できました。まあ、ちゃんとCPANなりなんなりを読めと言うことですね。
PR
Post your Comment
プロフィール
HN:
fukushimu
性別:
男性
自己紹介:
熊本の某大学で情報処理の勉強をしてます。
カレンダー
カテゴリー
ブログ内検索
つぶやきパーツテスト
カレンダー
最新記事
最新コメント
最古記事
最新TB
P R
カウンター
フリーエリア