work.log

元エンジニアの備忘録的ブログ

PerlモジュールText::MeCabを使って分かち書きのテスト

投稿:2013-08-25 11:21  更新:

MeCab で形態要素解析するメモ書きです。

今回は、Perl スクリプト内からも MeCab を使うためモジュールを使ってみたいと思います。

調べた所、Text::MeCab というモジュールが使いやすそうだったので試してみました。

Text::MeCabのインストールと動作確認

まずは Perl モジュールのインストールから。今回は ports を使いました。

# cd /usr/ports/japanese/p5-Text-MeCab
# make install clearn

使い方は簡単で、分かち書きするだけならこんな感じに使えます。

#!/usr/bin/perl

use strict;
use warnings;
use Text::MeCab;

    my $str   = 'ブログのエントリータイトルを自動作成して候補リストを作成したい!';

    my $mecab = Text::MeCab->new();
    my $node  = $mecab->parse($str);

    while ($node->surface) {

        print $node->surface . ',' . $node->feature . "\n";
        $node = $node->next;

    }

exit;

実行結果はこんな感じです。

ブログ,名詞,一般,*,*,*,*,*
の,助詞,連体化,*,*,*,*,の,ノ,ノ
エントリータイトル,名詞,一般,*,*,*,*,エントリータイトル,エントリータイトル,エントリータイトル
を,助詞,格助詞,一般,*,*,*,を,ヲ,ヲ
自動作成,名詞,一般,*,*,*,*,自動作成,ジドウサクセイ,ジドーサクセイ
して,*,*,*,して,シテ,シテ
候補リスト,名詞,一般,*,*,*,*,候補リスト,候補リスト,候補リスト
を,助詞,格助詞,一般,*,*,*,を,ヲ,ヲ
作成,名詞,サ変接続,*,*,*,*,作成,サクセイ,サクセイ
したい,*,サ変・する,連用形,したい,シタイ,シタイ
!,記号,一般,*,*,*,*,!,!,!

簡単に分かち書きができました。

次回は、マルコフ連鎖について書こうと思います。