さくらインターネットにText::MeCabがインストールできないのでmecab.pmを使ってみる
Text::MeCabを使った場合は以下のようになります。
use strict;
use Text::MeCab;
my $m = Text::MeCab->new();
my $s = "将来の話をしようじゃないか.";
my $n = $m->parse($s);
my $t="";
while ($t = $n->next) {
printf("%s\t%s\n",
$n->surface, # 表層
$n->feature # 現在の品詞
);
$n = $t;
}
mecab.pmの場合は以下のようになります。
#!/usr/bin/perl
use strict;
use warnings;
use MeCab;
my $m = new MeCab::Tagger ("");
my $n = $m->parseToNode ("将来の話をしようじゃないか.");
while ($n = $n->{next}) {
print "$n->{surface} $n->{feature} $n->{cost}\n";
}
若干print文の書き方が違うのですが、
ほとんど変えるところはないようですね。
newの仕方が違うかな・・・?
mecab.pmの方ではTaggerというのを使っていますが、引数には辞書を明示的に指定できるみたいです。
m = MeCab::Tagger.new("-u #{辞書ファイルのパス}")
あとは
parse
↓
parseToNode
と変わっていますね。
ちなみに結果はこのようにとれます。
将来 名詞,副詞可能,*,*,*,*,将来,ショウライ,ショーライ,, 3644 の 助詞,連体化,*,*,*,*,の,ノ,ノ,, 4286 話 名詞,サ変接続,*,*,*,*,話,ハナシ,ハナシ,, 7266 を 助詞,格助詞,一般,*,*,*,を,ヲ,ヲ,, 6790 しよ 動詞,自立,*,*,サ変・スル,未然ウ接続,する,シヨ,シヨ,, 9169 う 助動詞,*,*,*,不変化型,基本形,う,ウ,ウ,, 7777 じゃ 助詞,副助詞,*,*,*,*,じゃ,ジャ,ジャ,, 10731 ない 助動詞,*,*,*,特殊・ナイ,基本形,ない,ナイ,ナイ,, 11857 か 助詞,副助詞/並立助詞/終助詞,*,*,*,*,か,カ,カ,, 11413 . 記号,句点,*,*,*,*,.,.,.,, 8953 BOS/EOS,*,*,*,*,*,*,*,* 8351
ディスカッション
コメント一覧
まだ、コメントがありません