バグがありましたので、またバージョンアップです。
利用者もいるし、完成度も高まってきたので、専用ページ作りました。
こんな感じにポップアップしてくれます。↓
このブログでも動いているので↓にもサンプル書きます。(ただしこのブログでは影は無効にしてあります)
ここにマウス載せてね。 CCさくら
IE6?なにそれ?(動作未確認)
使い方はsample.htmlを見れば分かると思います。jsファイルには「ユーザー初期設定」欄を用意したので適当にいじってください。
もし需要があるならちゃんとした説明ページ作るのでコメントでゴルァしてください。
+追記+
Ver. 1.11 出ました!
これは誰でもハマると思うので、インストール手順をまとめておきます。「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
OSはWindows Vistaでやりました。
↑の2つのリンクでほぼできます。
VS2010の場合、c:\OpenCV2.1\lib\ia32\vc9 を c:\OpenCV2.1\lib\ia32\vc10 に置き換えて、あとはCMakeのConfigureボタンを押したあとに出る「どの開発環境を使うか?」のところでVisual Studio 10 を選択するのに注意です。
VC++ ディレクトリはプロジェクト毎に設定できますが、プロジェクト毎に設定するのが面倒な場合は、「C:\Users\ユーザ名\Local Settings\Application Data\Microsoft\MSBuild\v4.0\Microsoft.Cpp.Win32.user.props」をテキストエディタで開いて、↓のようにすれば新しくプロジェクトを作った時点で設定済みになっています。(ARToolKitのも混ざっています・・(^^; )
<?xml version="1.0" encoding="utf-8"?> <Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <PropertyGroup> <ExecutablePath>$(ExecutablePath)</ExecutablePath> <IncludePath>C:\OpenCV2.1\include\opencv;C:\OpenCV2.1\include\tbb;C:\Program Files\ARToolKit\include;$(IncludePath)</IncludePath> <ReferencePath>$(ReferencePath)</ReferencePath> <LibraryPath>C:\OpenCV2.1\build\lib\Debug;C:\OpenCV2.1\build\lib\Release;C:\OpenCV2.1\lib\ia32\vc10;C:\Program Files\ARToolKit\lib;$(LibraryPath)</LibraryPath> <SourcePath>$(SourcePath)</SourcePath> <ExcludePath>$(ExcludePath)</ExcludePath> </PropertyGroup> </Project>
Twitterで「Perlでのモダンなメールの送信方法はNet::SMTPかな!?」とつぶやいたら、「Email::Sender」だよ!と教えてもらったのでモジュールのインストールからやりました。
CPANのインストール手順は省略するとして、Email::Senderのインストールは他のモジュールをインストールする手順で普通にできました。Moose依存なので少し時間がかかりましたが・・・。
とりあえず日本語のメールも送信できるコード↓
#!/usr/bin/perl
use utf8;
use strict;
use warnings;
#use CGI::Carp qw/fatalsToBrowser/;
use Encode qw/encode/;
use lib qw(Emaill::Senderをインストールしたパス);
use Email::Sender::Simple qw/sendmail/;
use Email::MIME;
use Email::MIME::Creator;
binmode STDOUT => ':utf8';
my $email = Email::MIME->create
(
header =>
[
To => encode('MIME-Header-ISO_2022_JP' => '"ぱわ" <pawaアッー!とdojikko.com>'),
From => encode('MIME-Header-ISO_2022_JP' => '"くりえ" <kurieアッー!とk-hanyan.com>'),
Subject => encode('MIME-Header-ISO_2022_JP' => "てすとめぇる"),
],
attributes =>
{
content_type => 'text/plain',
charset => 'ISO-2022-JP',
encoding => '7bit',
},
body => encode('iso-2022-jp' => "がぉぉぉ!nなのです!n"),
);
sendmail($email);
print "Content-Type: text/html; charset=UTF-8nn";
print "送信完了!";
ちなみに、本文の部分はISO-2022-JPに、ヘッダー部(To,From,Subjectなどの部分)はISO-2022-JPをさらにMIMEという形式に変換したものでなければならないようです。
Visual Studio 2010 Professionalの場合
VC++ディレクトリを設定できないので、「C:\Users\ユーザ名\Local Settings\Application Data\Microsoft\MSBuild\v4.0\Microsoft.Cpp.Win32.user.props」をテキストエディタで開き
<?xml version="1.0" encoding="utf-8"?> <Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <PropertyGroup> <ExecutablePath>$(ExecutablePath)</ExecutablePath> <IncludePath>C:\Program Files\ARToolKit\include;$(IncludePath)</IncludePath> <ReferencePath>$(ReferencePath)</ReferencePath> <LibraryPath>C:\Program Files\ARToolKit\lib;$(LibraryPath)</LibraryPath> <SourcePath>$(SourcePath)</SourcePath> <ExcludePath>$(ExcludePath)</ExcludePath> </PropertyGroup> </Project>
とする。