windows ActivePerlでyahoo 日本語形態素解析APIを使ってみる

| コメント(0) | トラックバック(0) |
||

Yahoo!デベロッパーネットワーク - テキスト解析 - 日本語形態素解析 APIをwindows ActivePerlで使ってみました。忘れないようにコードを書いておきます。

windows環境でActivePerlを使ってYahoo!デベロッパーネットワーク - テキスト解析 - 日本語形態素解析APIを試してみました。おーまたちょっと進歩、アイデアを形にすることに近づけるかなぁーと。忘れないようにコード書いておきます。

linuxとwindowsでは、コードの書き方もちょっと異なってくるのでそこら辺が理解できなかったのですが、最近ようやく慣れてきた(パターンがわかってきた)ような気がします。

コード

#!/usr/bin/perl

use strict;
use Encode;
use LWP::Simple;
use XML::Simple;
use URI::Escape;

my $base_url = 'http://api.jlp.yahoo.co.jp/MAService/V1/parse?';

my $app_id   = 'your appid';

my $sentence ='日本語形態素解析Web APIは、24時間以内で1つのアプリケーションIDにつき50000件のリクエストが上限となっています。また、1リクエストの最大サイズを100KBに制限 しています。詳しくは「利用制限」をご参照ください。';
   $sentence = decode('shiftjis', $sentence);
   $sentence = encode('utf8', $sentence);
   $sentence = uri_escape($sentence);

my $req_url = $base_url . "appid=$app_id" . "&results=ma&response=surface,reading,pos,baseform,feature&sentence=" . $sentence;

my $res = LWP::Simple::get($req_url) or die "cannot get content from $req_url";

my $parser = XML::Simple->new(forcearray => 1);
my $doc = XMLin($res);

for my $w ( @{ $doc->{ma_result}->{word_list}->{word} } ) {
    print encode('shiftjis', (sprintf "%s\t%s,%s\n", $w->{surface}, $w->{feature}, $w->{reading}) );
}

以下の記事を参考にさせてコード書きました。ありがとうございます。

出力

日本語  名詞,名詞,*,日本語,にほんご,日本語,にほんご
形態素  名詞,名詞,*,形態素,けいたいそ,形態素,けいたいそ
解析    名詞,名サ他,*,解析,かいせき,解析,かいせき
Web     名詞,名詞,*,Web,Web,Web,Web
HASH(0x2307b08) 特殊,空白,*, , , ,HASH(0x2307b14)
API     名詞,名詞,*,API,API,API,API
は      助詞,係助詞,*,は,は,は,は
、      特殊,読点,*,、,、,、,、
24      名詞,数詞,*,24,24,24,24
時間    接尾辞,助数,*,時間,じかん,時間,じかん
以内    接尾辞,接尾,*,以内,いない,以内,いない
で      助詞,格助詞,*,で,で,で,で
1       名詞,数詞,*,1,1,1,1
つ      接尾辞,助数,*,つ,つ,つ,つ
の      助詞,助詞連体化,*,の,の,の,の
アプリケーション        名詞,名詞,*,アプリケーション,あぷりけーしょん,アプリケー
ション,あぷりけーしょん
ID      名詞,名詞,*,ID,ID,ID,ID
に      助詞,格助詞,*,に,に,に,に
つき    動詞,カ五,連用形,つき,つき,つく,つき
50000   名詞,数詞,*,50000,50000,50000,50000
件      接尾辞,助数,*,件,けん,件,けん
の      助詞,助詞連体化,*,の,の,の,の
リクエスト      名詞,名サ自,*,リクエスト,りくえすと,リクエスト,りくえすと
が      助詞,格助詞,*,が,が,が,が
上限    名詞,名詞,*,上限,じょうげん,上限,じょうげん
と      助詞,格助詞,*,と,と,と,と
なっ    動詞,ラ五,連用タ接続,なっ,なっ,なる,なっ
て      助詞,接続助詞,*,て,て,て,て
い      助動詞,助動詞一段,連用形,い,い,いる,い
ます    助動詞,助動詞ます,基本形,ます,ます,ます,ます
。      特殊,句点,*,。,。,。,。
また    副詞,副詞,*,また,また,また,また
、      特殊,読点,*,、,、,、,、
1       名詞,数詞,*,1,1,1,1
リクエスト      名詞,名サ自,*,リクエスト,りくえすと,リクエスト,りくえすと
の      助詞,助詞連体化,*,の,の,の,の
最大    名詞,名詞,*,最大,さいだい,最大,さいだい
サイズ  名詞,名詞,*,サイズ,さいず,サイズ,さいず
を      助詞,格助詞,*,を,を,を,を
100     名詞,数詞,*,100,100,100,100
KB      名詞,名詞,*,KB,KB,KB,KB
に      助詞,格助詞,*,に,に,に,に
制限    名詞,名サ他,*,制限,せいげん,制限,せいげん
HASH(0x231f290) 特殊,空白,*, , , ,HASH(0x231f29c)
し      動詞,サ変する,連用形,し,し,する,し
て      助詞,接続助詞,*,て,て,て,て
い      助動詞,助動詞一段,連用形,い,い,いる,い
ます    助動詞,助動詞ます,基本形,ます,ます,ます,ます
。      特殊,句点,*,。,。,。,。
詳しく  名詞,名詞,*,詳しく,くわしく,詳しく,くわしく
は      助詞,係助詞,*,は,は,は,は
「      特殊,括弧開,*,「,「,「,「
利用    名詞,名サ他,*,利用,りよう,利用,りよう
制限    名詞,名サ他,*,制限,せいげん,制限,せいげん
」      特殊,括弧閉,*,」,」,」,」
を      助詞,格助詞,*,を,を,を,を
ご参照  名詞,名サ他,*,ご参照,ごさんしょう,ご参照,ごさんしょう
ください        助動詞,助動詞特殊,命令i,ください,ください,くださる,ください
。      特殊,句点,*,。,。,。,。

 

 

もう少しいろんな形で出力ができるように触ってみて、ask go!go! (askgo) on Twitterで役立てれるようにしたいと考えています。

  • モバツイッターの"イマココ L:地域名"にも対応できるようにする
  • 他にも返信用ボット作成で地域名入力しなくても近辺の情報が取り出せるように。
  • 検索地域と今現在の地域とのローケションを調べてロケーション案内へのリンク生成などにもチャレンジしてみたいなと。
  • 重複ポストをしないように取得したログから頻出キーワードと問い合わせ数なども調べてみたいとも(ただ、全く活用されていないw。できないのが現状)

他にはgreasemonkeyで名詞、動詞抜き出すものもあるようなので、そちらもいずれ試してみようかなと考えています。twitterなどストリームから抜き出した自社へのフィードバックを自社タイムライン(Movabletype Motionなどへ)に流すという前提で、名詞のみフォントサイズを変更することで視覚的にタイムラインを表現するといったことなどに。

windows に ActivePerl CPAN 導入

先月送料税込30,000円でlenovo ideapadが販売されていたので迷わず購入価格.com - Lenovo IdeaPad S10e 4068AGJ 価格比較。いつもperlを勉強するときにはUbuntu(linux)環境で行っているのですが、最近lenovo を持って外出することもあり、出先でperlを使っていろいろとAPIを試したいなぁーということで、windowsにもActivePerlを入れてコード書くようにしました。

windowsでPerl導入も簡単になったような気がします。以前plaggerをインストールするときはかなり苦戦したような記憶があったのですが、ActivePerlインストールするだけでCPANインストールもオート一発でできるのも驚きました。面倒な設定が無いので文字エンコードとコマンドラインの入力などを覚えるだけでlinuxとあまり変わらないような気がしました。

あとは、CRONw - CRON for Windows をインストールするだけでボットサーバができますね。twitter_botや情報収集ボットなんかも使用電力が低いネットブックなんかを使って常時稼動すれば低コストですね。

Comments for this entry on FriendFeed.

トラックバック(0)

トラックバックURL: http://weblibrary.s224.xrea.com/x/mt/mt-tb.cgi/3015

コメントする

サービス

AmaPOP - amazon affiliate link generator/アマゾンアソシエイト(アフィリエイト)リンク

AmaPOP - amazon affiliate link generator
手軽にあなたのアソシエイトID入りのアマゾンアソシエイト(アフィリエイト)リンクを作成することができるサービス

人気アクセスランキング

OpenID対応しています OpenIDについて
Powered by Movable Type 4.25

このブログ記事について

このページは、cool_ni_ikouが2009年7月29日 02:03に書いたブログ記事です。

ひとつ前のブログ記事は「Twitter reply bot グルメ情報返信ボット @askgoを作成しました 」です。

次のブログ記事は「perl Plagger プラグイン HatenaBookmarkRelatedEntryで関連エントリーもフィードに。 」です。

edit

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。