俺はサラリーマン時代、後輩のO皮君と二人で広島県(県警含む)の複数の Web サーバを串刺し検索できるキーワード検索システムを Perl で一から作った経験があるので(もう 20年近く前だけど(笑))、「形態素解析」という言葉には敏感に反応するのだ(笑)
application/x-www-form-urlencoded形式での POST を受け付けるそうなので、以下のようなスクリプトを作成。
リクエストID は任意の適当な文字列を。
#!/usr/bin/perl
use strict;
use LWP::UserAgent;
use HTTP::Request::Common;
$ENV{'PERL_NET_HTTPS_SSL_SOCKET_CLASS'} = "Net::SSL";
$ENV{'PERL_LWP_SSL_VERIFY_HOSTNAME'} = 0;
my $url = 'https://labs.goo.ne.jp/api/morph';
my %postdata = (
'app_id' => 'c4e54ef1667***************************************495c84125',
'request_id' => 'hogehoge001',
'sentence' => '私の名前はりんごちゃんだよ。男好きだよ。',
'info_filter' => 'form|pos|read'
);
my $request = POST($url, \%postdata);
my $ua = LWP::UserAgent -> new;
my $res = $ua -> request($request) -> as_string;
print $res;
これを実行すると、
HTTP/1.1 200 OK
Date: Fri, 05 Dec 2014 03:34:34 GMT
Server: thin 1.5.1 codename Straight Razor
Content-Length: 462
Content-Type: application/json
Client-Date: Fri, 05 Dec 2014 03:34:34 GMT
Client-Peer: XXX.XXX.XXX.XXX:443
Client-Response-Num: 1
Client-SSL-Cert-Issuer: /C=US/O=Symantec Corporation/OU=Symantec Trust Network/CN=Symantec Class 3 Secure Server CA - G4
Client-SSL-Cert-Subject: /C=JP/ST=Tokyo/L=Minato-ku/O=NTT Resonant Inc./OU=goo Service Platform 1/CN=labs.goo.ne.jp
Client-SSL-Cipher: RC4-SHA
Client-SSL-Warning: Peer certificate not verified
P3P: policyref="/w3c/p3p.xml",CP="CAO DSP COR CURa ADMa DEVa TAIa PSAa PSDa IVAi IVDi CONo OUR SAMo OTRo IND PHY ONL UNI PUR FIN COM NAV INT DEM CNT STA HEA PRE LOC"
X-Cnection: close
X-Content-Type-Options: nosniff
{"request_id":"hogehoge001","info_filter":"form|pos|read","word_list":[[["私","名詞","ワタシ"],["の","格助詞","ノ"],["名前","名詞","ナマエ"],["は","連用助詞","ハ"],["りんご","名詞","リンゴ"],["ちゃん","名詞接尾辞","チャン"],["だ","判定詞","ダ"],["よ","終助詞","ヨ"],["。","句点","$"]],[["男好き","名詞","オトコズキ"],["だ","判定詞","ダ"],["よ","終助詞","ヨ"],["。","句点","$"]]]}
という結果が JSON 形式で返ってくる。
うひょう、面白え~
これはちょっと遊べるかも。いや、遊んでる暇がまったくないんですが(^^;