NTT ドコモの 知識Q&A API を使ってみました。文章で質問すると、答を返してくれます。
質問
回答
候補
Web API について
呼出しは GET で行います。レスポンスは JSON です。
くわしくは docomo のサイトで
エンドポイント
https://api.apigw.smt.docomo.ne.jp/knowledgeQA/v1/ask
GET のパラメータ
APIKEY:キー
(docomo Developer support に登録して API の利用を申請するとキーが発行されます)
q:質問
レスポンス(JSON)
レスポンスの JSON データフォーマットはこんな感じです。
code
message
┗ textForDisplay
┗ textForSpeech
answers
┗ rank
┗ answerText
┗ linkText
┗ linkUrl
message
┗ textForDisplay
┗ textForSpeech
answers
┗ rank
┗ answerText
┗ linkText
┗ linkUrl
message に答、answers に候補がのってくるようです。
2016年のアメリカ大統領選挙の翌日に「次期アメリカ大統領は?」と質問したところ、以下の JSON 文字列が返ってきました。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
{ "code":"S020010", "message": { "textForDisplay":"インターネットで調べたところ、一位は、トランプです。", "textForSpeech":"インターネットで調べたところ、一位は、トランプです。" }, "answers": [ { "rank":"1", "answerText":"トランプ", "linkText":"第164回:トランプ氏が次期アメリカ大統領に!", "linkUrl":"http://ameblo.jp/mushroombell/entry-12217865925.html" }, { "rank":"2", "answerText":"ヒラリー・クリントン", "linkText":"ヒラリー・クリントン氏は次期アメリカ大統領選挙の有力候補ですか?", "linkUrl":"http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q14138614804" }, { "rank":"3", "answerText":"オバマ", "linkText":"ビル・リチャードソンとは - goo Wikipedia (ウィキペディア)", "linkUrl":"http://wpedia.goo.ne.jp/smp/wiki/%E3%83%93%E3%83%AB%E3%83%BB%E3%83%AA%E3%83%81%E3%83%A3%E3%83%BC%E3%83%89%E3%82%BD%E3%83%B3/" } ] } |
呼出しサンプル(python)
python だとこうなります。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
import requests import json params={'q':'次期アメリカ大統領は?', 'APIKEY':'xxxxxxxxxxxx'} s = requests.session() r = s.get('https://api.apigw.smt.docomo.ne.jp/knowledgeQA/v1/ask', params=params) res_json = json.loads(r.text) print res_json['code'] print res_json['message']['textForDisplay'] answers = res_json['answers'] for answer in answers: print 'rank:',answer['rank'],answer['answerText'],answer['linkText'],answer['linkUrl'] # |
使った感想
答が明確な質問はかなり答えてくれます。
たとえば「日本の首相は?」とか「世界一の富豪はだれ?」のような質問はちゃんと正解を教えてくれます。
ただ、「東京の明日の天気は?」と聞くと「わかりませんでした」というやや残念な結果です。
意味的に同じ質問でも、漢字、かなの使い方次第で別の答えが返ってきます。たとえば、おもしろい漫画を4パターンで聞いてみたところ
【質問】
面白い漫画
面白いマンガ
おもしろい漫画
おもしろいマンガ
面白い漫画
面白いマンガ
おもしろい漫画
おもしろいマンガ
・
→
→
→
→
→
→
→
→
【答】
ちはやふる
ワンピース
恋愛カタログ
いつわりびと空
ちはやふる
ワンピース
恋愛カタログ
いつわりびと空
うーん…
やっぱり自然言語処理はこれからの技術なんですね。
期待してます、docomo さん。