久しぶりにMeCabをいれることになったけど超絶簡単になっててびっくりした。
yumでインストールできます。
yum mecab mecab-devel ipadic
ipadicは辞書です。辞書がないとmecabは機能しません。
一昔前までeucだのsjisだとutf8だの言ってたけど、yumで入れるとutf8の辞書ができ上がっています。
perlで弄る為にcpanモジュールもインストール。
cpanのシェルでインストールするとコケるので、無理やりインストール。
force install Text::MeCab
途中で辞書のエンコーディングは何か聞かれるのでデフォルトのutf-8を選択
これでperlからmecabを使う準備が整いました。
#!/usr/bin/perl
use strict;
use warnings;
use utf8;
use Text::MeCab;
my $m = Text::MeCab->new();
my $text = "このブログは俺のメモです。";
for (my $node = $m->parse($text); $node; $node = $node->next) {
print $node->surface, "\t", $node->feature, "\t", $node->cost, "\n";
}
実行するとこんな感じです。
この 連体詞,*,*,*,*,*,この,コノ,コノ -664
ブログ 名詞,一般,*,*,*,*,* 7643
は 助詞,係助詞,*,*,*,*,は,ハ,ワ 7663
俺 名詞,代名詞,一般,*,*,*,俺,オレ,オレ 11792
の 助詞,連体化,*,*,*,*,の,ノ,ノ 12160
メモ 名詞,サ変接続,*,*,*,*,メモ,メモ,メモ 14654
です 助動詞,*,*,*,特殊・デス,基本形,です,デス,デス 17196
。 記号,句点,*,*,*,*,。,。,。 13806
BOS/EOS,*,*,*,*,*,*,*,* 12270
残念ながらこのままでは「俺のメモ」が分解されてしまいます。
一つの単語として認識させるにはユーザー辞書に登録する必要があります。
登録の仕方はこの記事を参考にしてください。