NTTレゾナントが日本語解析技術に関するAPIを「gooラボ」で公開しました。
いくつかありますが、その中の「固有表現抽出API」を試してみました。
固有表現抽出API:文字列中の人名・地名などを抽出する技術 – gooラボ
サンプルは次のとおりです。PHPで書きました。
$url = "https://labs.goo.ne.jp/api/entity";
$data = array(
"app_id"=>"{アプリケーションID}",
"sentence" => "{文字列}"
);
$options = array("http" => array(
"method" => "POST",
"content" => http_build_query($data),
));
$text = file_get_contents($url,
false,
stream_context_create($options)
);
print $text;
$data = array(
"app_id"=>"{アプリケーションID}",
"sentence" => "{文字列}"
);
$options = array("http" => array(
"method" => "POST",
"content" => http_build_query($data),
));
$text = file_get_contents($url,
false,
stream_context_create($options)
);
print $text;
アプリケーションIDは各自で取得してください。GitHubに登録する必要があります。私もこの機会に登録しました。
文字列を次のようにしてみます。
「モナリザ」は西暦1500年頃にイタリアのレオナルド・ダ・ヴィンチが描いた。
実行すると次のように出力されます。
{
"request_id": "{省略}",
"ne_list": [
["モナリザ", "ART"],
["1500年", "DAT"],
["イタリア", "LOC"],
["レオナルド・ダ・ヴィンチ", "PSN"]
]
}
"request_id": "{省略}",
"ne_list": [
["モナリザ", "ART"],
["1500年", "DAT"],
["イタリア", "LOC"],
["レオナルド・ダ・ヴィンチ", "PSN"]
]
}
結果はJSONで出力されます。種別は次のとおりです。
ART(人工物名)
ORG(組織名)
PSN(人名)
LOC(地名)
DAT(日付表現)
TIM(時刻表現)
「人工物名」は美術品などの作品名のようです。「組織名」は「FIFA」などを抽出するようです。
日本語解析ツールを使って試すことができます。「固有表現抽出」を使ってみてください。
コメント