はじめる
- 目的
- 利用登録する
- 会話する
- 文章中の単語と機能を連動
CotoGoto(コトゴト)の人工知能NOBY(ノビィ)は会話型人工知能のWeb APIです。
NOBY APIはCotoGoto(コトゴト)内で利用している人工知能のAPIです。
NOBY APIを利用することで、CotoGoto(コトゴト)に対しても会話を通して、様々な操作をすることができます。
CotoGoto(コトゴト)はFacebook、Twitter、Googleカレンダー、Boccoなどのサービスとも連携していますので、NOBY APIを通して、連動させることも可能となります。
※会話内容の例はこちらのサイトの「AIとの会話のコツ」を参考にしてください。
以下のページから利用登録を行うと、Consumer Key(App Key)が発行されます。
下記の YOUR_API_KEY の部分をメールで届いた API キーに置き換えて下記のコマンドをターミナル上で実行すると、会話結果のJsonが返却されます。
$ curl 'https://app.cotogoto.ai/webapi/noby.json' \
--verbose \
--get \
--data 'text=おはようございます' \
--data 'appkey=YOUR_API_KEY'
『地名』と『天気』という単語が含まれた場合、天気を教えてくれます。
$ curl 'https://app.cotogoto.ai/webapi/noby.json' \
--verbose \
--get \
--data 'text=今日の名古屋の天気は?' \
--data 'appkey=YOUR_API_KEY'
『ニュース』という単語が含まれた場合、リアルタイムにニュースを教えてくれます。
$ curl 'https://app.cotogoto.ai/webapi/noby.json' \
--verbose \
--get \
--data 'text=ニュースを教えて!' \
--data 'appkey=YOUR_API_KEY'
『おみくじ』と『引きたい』という単語が含まれるとおみくじが引けます。
$ curl 'https://app.cotogoto.ai/webapi/noby.json' \
--verbose \
--get \
--data 'text=おみくじ引きたいな。' \
--data 'appkey=YOUR_API_KEY'
他にも色々と話しかけて色々な反応を試してください。
会話の中に複数のキーワードを設定することにより、動作(コマンド機能)を設定することができます。
取得した動作(コマンド機能)は一意の動作キーを発行します。
動作キーからプログラム実行やデバイスへの指示などを送ったり、様々な連携を可能とします。
https://app.cotogoto.ai/webapi/
1日1000回までリクエストができます。
登録時に発行されたConsumer Key(App Key)をリクエスト時に付与することで利用できます。
Apiaryにて、サンプルコードやAPIの動作確認をすることができます。
http://docs.nobyapi.apiary.io/
この API では HTTP レスポンスのステータスコードとレスポンスボディのJSON によって「成功」「失敗」を通知します。 この API が返すレスポンスコードとエラーコードを以下に示します。
コード |
|
---|---|
200 | 成功。 |
400 | 送信されたJSONの解析/変換に失敗した。 |
404 | クラス/メソッドが見つからない。 |
500 | その他の例外が発生した。 |
10 | parameter is required | パラメータが設定されていません。 |
20 | Invalid or expired token | 無効または有効期限が切れたConsumer Key(App Key)です。 |
21 | Rate limit exceeded | このリクエストに対する制限は利用限度に達しています。 |
全てのリクエストは HTTPS 経由で行なってください。
GET /noby.json
appkey | 登録時に発行したConsumer Key(App Key)を設定します。 | - | 必須 |
コトゴトのログイン時のメールアドレスを設定します。 ※個人での利用する場合のみに限定してください。 |
- | 任意 | |
pass | コトゴトのログイン時のパスワートを設定します。 ※個人での利用する場合のみに限定してください。 |
- | 任意 |
text | 会話の文章を設定します。 | - | 必須 |
lat | 緯度。コトゴトのチェックイン機能を利用します。 | - | 任意 |
lng | 経度。コトゴトのチェックイン機能を利用します。 | - | 任意 |
study | 会話時の学習の有無を選択します。 「0:無」,「1:有」 |
1 | 任意 |
persona | 人工知能の人格を選択します。 「0:ノーマル」,「1:ツンデレ(女)」,「2:ツンデレ(男)」,「3:神」 |
1 | 任意 |
ending | 語尾を設定します。 例:のじゃ、だっちゃ 等 |
- | 任意 |
commandId | コマンドIDを返します。 | |
commandName | コマンド名を返します。 | |
text | 会話の返事を返します。 | |
type | 会話の返事タイプを返します。 (コマンド・あいさつ・マルコフ連鎖・パターン・テンプレート・ランダム・あいづち) | |
mood | 会話のムードを返します。 | |
negaposi | ネガポジ(ネガティブ -3 <---> 3 ポジティブ)を返します。 | |
negaposiList | word | ネガポジの単語を返します。 |
score | ネガポジのスコア(ネガティブ -3 <---> 3 ポジティブ)を返します。 | |
emotion | angerFear | 感情のスコア(怖れ -3 <---> 3 怒り)を返します。 |
joySad | 感情のスコア(悲しい -3 <---> 3 嬉しい)を返します。 | |
likeDislike | 感情のスコア(嫌い -3 <---> 3 好ましい)を返します。 | |
emotionList | angerFear | 感情のスコア(怖れ -3 <---> 3 怒り)を返します。 |
joySad | 感情のスコア(悲しい -3 <---> 3 嬉しい)を返します。 | |
likeDislike | 感情のスコア(嫌い -3 <---> 3 好ましい)を返します。 | |
word | 感情の単語を返します。 | |
wordList | feature | 形態素の全情報を文字列で返します。 |
start | 形態素の開始位置を返します。 | |
surface | 形態素の表記を返します。 | |
art | 固有表現(人工物名)を返します。 | |
org | 固有表現(組織名)を返します。 | |
psn | 固有表現(人名)を返します。 | |
loc | 固有表現(地名)を返します。 | |
dat | 固有表現(日付表現)を返します。 | |
tim | 固有表現(時刻表現)を返します。 |
リクエストはGETのみ対応しています。
コマンド機能は文章中に設定した単語が登場した場合、登録したコマンドIDを返却します。
コマンド機能の登録・更新は以下から設定します。