これは誰でもハマると思うので、インストール手順をまとめておきます。「username」を自分のアカウント名に置き換えて利用してください。
ちなみに著者は「さくらのレンタルサーバ スタンダード」です。
「tar zxfv ******」の「******」は予め「/home/username/」にダウンロードしておくか、wgetを使ってください。
ひとつインストールできる度に「/home/username」に戻ってください。(念のため)
libiconvをインストール
tar zxfv libiconv-1.13.1.tar.gz
cd libiconv-1.13.1
./configure --with-prefix=/home/username/local
make
make install prefix='/home/username/local' exec_prefix='/home/username/local' libdir='/home/username/local/lib'
mecabをインストール
tar zxfv mecab-0.98.tar.gz
cd mecab-0.98
./configure --prefix=/home/username/local --with-charset=utf-8 LIBS=-liconv CPPFLAGS=-I/home/username/local/include LDFLAGS='-L/home/username/local/lib -R/home/username/local/lib'
make
make check
chmod 755 install-sh
make install
↓のエラーが出るけど大丈夫っぽいです。
(少なくとも自分はこれが出ても動きました)
runtests faild in
exit: Illegal number: -1
FAIL: run-cost-train.sh
===================
1 of 3 tests failed
===================
mecab-ipadicをインストール
tar zxfv mecab-ipadic-2.7.0-20070801.tar.gz
cd mecab-ipadic-2.7.0-20070801
./configure --prefix=/home/username/local --with-charset=utf-8
make
make install
mecab-configのパスを調べる(次のステップで聞かれるため)
whereis mecab-config
mecab-config: /home/username/local/bin/mecab-config
Text::MeCabのインストール
tar zxvf Text-MeCab-0.20008.tar.gz
cd Text-MeCab-0.20010
perl Makefile.PL prefix=/home/username/local/lib/perl5/ LIB=/home/username/local/lib/perl5/ INSTALLMAN1DIR=~/home/username/local/man/man1 INSTALLMAN3DIR=~/home/username/local/man/man3
↓のメッセージが出る場合は(恐らく出る)
Can't link/include 'mecab', 'mecab'
「/home/username/Text-MeCab-0.20010/Makefile.PL」をテキストエディタで開いて「check_lib($config);」を「#check_lib($config);」にしてコメントアウト。
コメントアウトしたら、「Text::MeCabのインストール」のコマンドを再度入力。
Warning: prerequisite Test::Requires 0 not found.
↑のエラーが良くみたら出ている場合は、
cpan
install Test::Requires
で一応インストール。
「Test::Requires」をインストールしたら「Text::MeCabのインストール」のコマンドを再入力。
無事に終わったら完了です!もしエラーが出ていたら、まずはエラーの英語をよく読みましょう。
サンプルコード↓(文字コード:UTF-8)
#!/usr/bin/perl
use strict;
use warnings;
use lib qw(/home/username/local/lib/perl5/i386-freebsd-64int);
use Text::MeCab;
print "Content-Type: text/html; charset=UTF-8\n\n";
my $mecab = Text::MeCab->new();
my $str = "私はかわいいものが好きなだけであってロリコンではないぞ!";
my $node = $mecab->parse($str);
for(my $node = $mecab->parse($str); $node; $node = $node->next)
{
print " 表層:" . $node->surface . "<br />\n"; # 表層
print " 品詞:" . $node->feature . "<br />\n"; # 現在の品詞
print "コスト:" . $node->cost . "<br />\n"; # その形態素までのコスト
print "<br />\n";
}
サンプルコードに対するアウトプット↓
表層:私
品詞:名詞,代名詞,一般,*,*,*,私,ワタシ,ワタシ
コスト:2737
表層:は
品詞:助詞,係助詞,*,*,*,*,は,ハ,ワ
コスト:3163
表層:かわいい
品詞:形容詞,自立,*,*,形容詞・イ段,基本形,かわいい,カワイイ,カワイイ
コスト:9394
表層:もの
品詞:名詞,非自立,一般,*,*,*,もの,モノ,モノ
コスト:11400
表層:が
品詞:助詞,格助詞,一般,*,*,*,が,ガ,ガ
コスト:10091
表層:好き
品詞:名詞,形容動詞語幹,*,*,*,*,好き,スキ,スキ
コスト:10402
表層:な
品詞:助動詞,*,*,*,特殊・ダ,体言接続,だ,ナ,ナ
コスト:9498
表層:だけ
品詞:助詞,副助詞,*,*,*,*,だけ,ダケ,ダケ
コスト:13285
表層:で
品詞:助動詞,*,*,*,特殊・ダ,連用形,だ,デ,デ
コスト:14327
表層:あっ
品詞:助動詞,*,*,*,五段・ラ行アル,連用タ接続,ある,アッ,アッ
コスト:10781
表層:て
品詞:助詞,接続助詞,*,*,*,*,て,テ,テ
コスト:11972
表層:ロリコン
品詞:名詞,一般,*,*,*,*,ロリコン,ロリコン,ロリコン
コスト:16804
表層:で
品詞:助詞,格助詞,一般,*,*,*,で,デ,デ
コスト:17505
表層:は
品詞:助詞,係助詞,*,*,*,*,は,ハ,ワ
コスト:17740
表層:ない
品詞:形容詞,自立,*,*,形容詞・アウオ段,基本形,ない,ナイ,ナイ
コスト:19285
表層:ぞ
品詞:助詞,終助詞,*,*,*,*,ぞ,ゾ,ゾ
コスト:21801
表層:!
品詞:記号,一般,*,*,*,*,!,!,!
コスト:22256
表層:
品詞:BOS/EOS,*,*,*,*,*,*,*,*
コスト:20519