人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

yahoo api(形態素解析)を利用して名詞抽出プログラムを作成してください.

使用言語:perl
環境:windows

よろしくおねがいします.

●質問者: いまよ
●カテゴリ:コンピュータ
✍キーワード:API Perl Windows Yahoo プログラム
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● Galapagos
●60ポイント

以下のようになります。

あらかじめ $sentence に解析したい文を、$appidにはあなたのアプリケーションIDをセットしてください。


Perlのバージョンやモジュール導入状況がよく分からないので、必要が応じてCSPANモジュールをインストールしてください。(「http://digit.que.ne.jp/work/wiki.cgi?Perl%E3%83%A1%E3%83%A2%2F%E...(CPAN):title=Perlメモ/モジュールのインストール(CPAN)]」参照)


#!/usr/bin/perl
use strict;
use warnings;
use utf8;
use Encode;
use LWP::UserAgent;
use HTTP::Request::Common qw(POST);
use XML::Simple;
use Data::Dumper;

my $url = 'http://jlp.yahooapis.jp/MAService/V1/parse';
my $referer = 'http://api.jlp.yahoo.co.jp/';
my $appid = 'あなたの';
my $sentence = '小惑星探査機が帰還しました。'; #解析したい文
my %params = (
 appid => $appid,
 sentence => $sentence,
 results => 'ma',
 filter => '9', #名詞を抽出
);
my $request = POST($url, [%params]);
$request->referer($referer);

my $ua = LWP::UserAgent->new;
$ua->timeout(30);
$ua->agent('Mozilla');

my $response = $ua->request($request);

if ($response->is_success) {
 my $xs = new XML::Simple();
 my $ref = $xs->XMLin($response->content);
 my $i = 0;
 while (defined($ref->{ma_result}->{word_list}->{word}->[$i]->{surface})) {
 my $str = $ref->{ma_result}->{word_list}->{word}->[$i]->{surface};
 $str = encode('utf-8', $str);
 print "$str\n";
 $i++;
 }
} else {
 print $response->status_line, "\n";
}
関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ