Cotogoto::Noby APIを使ってみる
ハッカソンなどに参加していると会話系のAPIを使用する機会も増えてきます。以前紹介したDoCoMoさんの対話雑談APIも良いのですが 個人的にはもう少し個性のある会話エンジンのほうが楽しいと思っています。
そこで選択肢になるエンジンとしてはライフログであるコトゴトの機能の一部であるCotogoto::Noby APIが選択肢になることも多いようです(この表現であっているのだろうか)。特に名古屋近辺ではNobyの神様にあえるので、詳しく話を聞くこともできます。
Noby APIとは?
主な特徴としては
サイト内の解説がかなり詳細なので、検索するよりメインサイトを確認するのが開発の近道になると思います。
PowershellのCLIから使用してみる
ログインして【登録はこちら(無料)】(緑色)のボタンを押すとConsumer Key(App Key)が取得できます。以下の画面上はみえないようにしています。
これをメモっておきます。更に画面を下にスクロールさせるとCLIを使ったCode snipetがあるのでそれを使って実験をすることになります。
今回、自分はWindowsPCを使用しているため純粋なcurl
がつかえないので、Powershellで同じことを行ってみます。(PowerShellで使用するcurl
はInvoke-WebRequest
のAliasになっています。)例えば、Code snipet#1と同じコードは以下のようになります。
PS C:\> curl -Uri "https://www.cotogoto.ai/webapi/noby.json?text=おはようございます&app_key=【取得したキー】" -Method GET StatusCode : 200 StatusDescription : OK Content : {"art":null,"commandId":null,"commandName":null,"dat":"おはようございます","loc":null,"mood":0.0,"n egaposi":0.0,"negaposiList":[{"score":0.0,"word":"ござい"}],"org":null,"psn":null,"text":"おはよー ございます","tim":null,"... RawContent : HTTP/1.1 200 OK Pragma: no-cache Transfer-Encoding: chunked Cache-Control: no-cache Content-Type: application/json;charset=UTF-8 Date: Mon, 14 Nov 2016 20:35:16 GMT Expires: Tue, 29 Feb 2000 12:... Forms : {} Headers : {[Pragma, no-cache], [Transfer-Encoding, chunked], [Cache-Control, no-cache], [Content-Type, applic ation/json;charset=UTF-8]...} Images : {} InputFields : {} Links : {} ParsedHtml : mshtml.HTMLDocumentClass RawContentLength : 390
このようになっていますがレスポンスのJSONデータをみると(先程の結果とは少し違っていますが^^;)
{ "art": null, "commandId": null, "commandName": null, "dat": "おはようございます", "loc": null, "mood": 0, "negaposi": 0, "negaposiList": [ { "score": 0, "word": "ござい" } ], "org": null, "psn": null, "text": "おはっよー", "tim": null, "type": "Greet", "wordList": [ { "feature": "名詞,一般,*,*,*,*,おはようございます,*,*,", "start": "0", "surface": "おはようございます" } ] }
text
に格納されたデータがNobyAPIから返された会話データになります。Docomoの雑談対話APIに比べてムードやネガポジ判定がある点が面白いです。
詳しくはこちらを御覧ください。
RaspberryPiでの使用に続く。