既製のチャットボットは、りんな、ドコモ雑談対話、A3RTあたりが日本では有名ですが、海外には、チャットボットをユーザーが作って投稿するサイト、Personality Forgeがあります。
基本的な使い方
トップページはこちらです。
https://www.personalityforge.com
上にログインや、アカウント作成リンクがありますが、しばらく無視します。
(APIを使う際には登録が必要)
まずは、上のメニューのCHAT->Find Chatbotsに進みましょう。
https://www.personalityforge.com/chatbot-finder.php
Advancedをクリックすると、それなりに出来の良いチャットボット一覧が見れます。
https://www.personalityforge.com/advanced-chatbots.php
全部、英語のチャットボットです。誰でもボットを作って登録できます。
レーティング区分があります。AやMは大人向けの内容(日本のチャットボットに渡してしまったらアカウント消されかねない内容)、EやTは大丈夫な内容、らしいですが、Eでも、なんだこれ、という内容のものもありますので、あくまで目安です。
現時点(2017年12月)でのオススメは、↓です。
点数的には↓が圧倒してますが、煽り要素が多いため人を選びます。
とりあえず、興味のあるもののChatボタンをクリックしましょう。
https://www.personalityforge.com/chatbot-chat.php?botID=23958
チャット画面に、適当に何か入れると、会話が進んでいきます。
ボット同士で会話させてみる
Personality Forgeの面白いところは、登録されたボット同士で会話をさせて楽しめることです。ちょうど、昨日のボットアドレントカレンダーの記事のような感じになります。
メニューからCHAT->Two Chatbots Talkingを選択します。
https://www.personalityforge.com/two-bots-chatting.php
初期状態ではランダムに2体のボットが選出されます。Type any namesをクリックして、対話させるボットを指定することもできます。
Beginボタンをクリックします。
ログインしていない状態では、以下の画面が出てきて、レーティング区分を指定できます。
どうでもいい場合は、そのままSave & Continueをクリックして進みます。
会話が始まります。
どうしても英語が、、という場合には、Chromeで開いてGoogle翻訳を使うと、日本語で楽しめます。
途中で止まったら、Continueボタンをクリックすると、続行します。
チューリングテスト
メニューのCHAT->Turing Testsでは、チューリングテスト(人間かボットかを判別するテスト)の結果が公開されています。
https://www.personalityforge.com/turing-booth-results.php
人間と間違えられた回数が多いものは、人間らしいボットに仕上がっていると判断できます。show/hide individual detailsをクリックすると、判定がなされた時の対話ログを見れます。
APIの利用
Personality ForgeのWeb画面以外の場所、例えばSlackやLINEで日本語翻訳APIを噛ませて連携させたい、などという場合は、APIを使う必要があります。
まず、Create Accountでユーザー登録し、ログインします。
それから、INTEGRATE->Chatbot APIで、APIの説明画面を開きます。
https://www.personalityforge.com/platform/my-chatbot-api.php
画面下のほうに、APIの設定画面があります。
デフォルトではEnable Simple APIにはチェックが入っていません。「セキュアな」(メッセージを、指定したハッシュで暗号化して含める必要がある)APIが不要であれば、Enable Simple APIにチェックを入れてしまいましょう。
チェックを入れた場合、Allowed Sites & IPsに、APIを利用するマシンのドメイン名やIPアドレスを指定します。ドメイン名がPersonality Forgeで解決できない場合はIPアドレスで判定されますので、IPアドレスで指定しておいたほうが確実かもしれません。
Update API Settingsをクリックすると、APIが利用可能になります。毎月5000コールまでは無料で、アップグレードしない限りクレジットカードの登録は必要ありません。
画面上のAPI Documentationリンクをクリックすると、API仕様が見れます。毎回辿り着くのが面倒なので、開発中は↓をブックマークに入れておくと良いでしょう。
https://www.personalityforge.com/chatbot-api-docs.php
その画面の下のほうに、他のユーザーが作ったボットの一覧が載っています。この一覧に載っているボットだけが、APIから利用可能です。一覧に載っていないボットは、Personality ForgeサイトのWebチャット画面だけで利用できます。
クエリの例
apiKeyにAPIページのapiKeyの内容、chatBotIDに↑の一覧のID:の値、messageに発言、externalIDに適当な文字列を入れて、GETで送信します。以下の例ではProb(ID:23958)に呼びかけています。
https://www.personalityforge.com/api/chat/?apiKey=<APIKEY>&chatBotID=23958&message=How+are+you+doing+today%3F&externalID=abc-639184572
レスポンスの例
Content-Typeは**text/html; charset=UTF-8**で返ってきます。HTMLですよHTML。中身はJSONです。
{
"success": 1,
"errorMessage": "",
"message": {
"chatBotName": "prob",
"chatBotID": 23958,
"message": "Boring. Boring. Boring.",
"emotion": "normal"
},
"data": []
}
リクエストがボットまで到達していて、ボット内で何らかのエラーが発生した場合は、HTTP 200が返りますが、successに0が入ります。
















