次回より『ヒデログ』とご検索ください

【Python】チャットボットの作り方「TalkAPI(pya3rt)編」

Python チャットボット

リクルートが開発したAPIを使用して、簡単なチャットボットを作るソースコードを公開します。jupyter notebookでもコピペで使用できる簡単なコードにしてあります。

ひでひろ
コピペで使えるソースコードがあるよ
この記事を読むと分かる事
  • TalkAPIのAPI KEYの取得方法
  • TalkAPIを使った簡単なチャットボットの作成

TalkAPIとは?

Talk APIはChatbotを作成するためのAPIです。 Recurrent Neural Network(LSTM)を用いた入力文からの応答文生成による日常会話応答機能を提供します。 Talk APIを活用したChatbotによって様々なアプリケーション上でユーザとの対話を自動化し、 どのようなタイミングにおいても即座にユーザからの問いかけに対して応答することができます。 TalkAPI

実装は後程説明しますが、TalkAPIのAPI KEYを取得すれば簡単に会話型のボットを作成することができます。

APIの取得方法

以下のURLからAPIを取得します。
https://a3rt.recruit-tech.co.jp/product/talkAPI/registered/
TalkAPI

登録後にくるメール

登録後にくるメールです。赤枠がAPI KEYになります。これをプログラムで使用します。一度しか来ないので保存しておきましょう。

TalkAPI

TalkAPIのモジュール「pya3rt」の解説

TalkAPIで使うモジュール(pya3rt)をインポートする

pip install pya3rt

「いい天気ですね」とボットに話しかけてみる。

# TALKAPIのモジュールをインポート
import pya3rt

# 取得したAPI KEY
apky = "xxxxxxxxxxxxxxxxxxxxxxxxx"
clnt = pya3rt.TalkClient(apky)

rply=clnt.talk("いい天気ですね")
print(reply_message)
実行結果
{'status': 0, 'message': 'ok', 'results': [{'perplexity': 0.3281335453433945, 'reply': '晴れてよかったです'}]}

実行結果のパラメータの意味

  • status:常に0
  • message:常に’OK’
  • perplexity:確からしさ、ただし、数値の定義は不明
  • reply:入力値に対する返答
TalkAPI

pya3rtを使った簡単なチャットボット

ひでひろ
コピペで使えるよ。
Jupyter notebookや.pyファイルどちらでも使えます。

import pya3rt

# 取得したAPI KEY
apky = "xxxxxxxxxxxxxxxxxxxxxxxxx"
clnt = pya3rt.TalkClient(apky)

wrds = input("あなた >")
while wrds!="":
    # インプットにexit()でループを抜ける
    if wrds == 'exit()':
        break
    rply= clnt.talk(wrds)
  # 返答のみ取得
    print("Bot >"+((rply['results'])[0])['reply'])
    wrds = input("あなた >")
実行結果
Bot

見る限り、会話になっているところと会話になっていないところがあります。精度はまだまだのようです。

好きな人はいますか?」で「います」と回答したのでBotにも好きな人がいるようです(笑)

まとめ

ひでひろ
簡単なチャットボットの作り方を解説しました。
リクルートが作成した「TalkAPI」というチャットボットを使って、Pythonの実行知識さえあれば、他の知識なしにコピペで使用できるソースコードを紹介しました。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です