2018-09-30 :-)
_ [自然言語処理][NLP][TalkAPI][A3RT]TalkAPI - A3RT
Talk APIはChatbotを作成するためのAPIです。 Recurrent Neural Network(LSTM)を用いた入力文からの応答文生成による日常会話応答機能を提供します。
ページ下部に「API KEY発行」があるので API KEY を発行します。
ページのサンプルどおりに使ってみます。
curl -X POST https://api.a3rt.recruit-tech.co.jp/talk/v1/smalltalk \ -F "apikey=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" \ -F "query=おはよう"
なんかしら返ってきます。UTF-8 は脳内デコードできないのでとりあえず放置。
{"status": 0, "message": "ok", "results": [{"perplexity": 0.07743213382788067, "reply": "\u304a\u306f\u3088\u3046\u3054\u3056\u3044\u307e\u3059"}]}rin@emi[~/work/lang/ruby/a3rt-talk]%
_ [ruby][自然言語処理][NLP][TalkAPI][A3RT]A3rt::Talk
Helper for A3RT talk API
gem でインストールしたりします。
サンプルどおりに使ってみます。require 必要です。
require 'a3rt/talk' api_key = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" msg = "おはよう" resp = A3rt::Talk.talk(msg, api_key) puts resp.least_perplex.reply
% ruby a.rb おはようございます
同じ query に対しては同じ message が返るようです。
_ [ruby][twitter][A3rt][自然言語処理][NLP]A3rt::Talk で twitter で自動返信ボット
こんな感じで。フォロワーだけに限定。API 使用量制限などは何も考えてないので注意。
client = Twitter::REST::Client.new do |config| config.consumer_key = 'CONSUMER_KEY' config.consumer_secret = 'CONSUMER_SECRET' config.access_token = 'ACCESS_TOKEN' config.access_token_secret = 'ACCESS_TOKEN_SECRET' end client.followers.each {|follower| puts "follower.screen_name #{follower.screen_name}" client.user_timeline(follower.screen_name, {count: 1}).each {|tweet| api_key = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" resp = A3rt::Talk.talk(tweet.text, api_key) rep = resp.least_perplex.reply puts " #{rep}" client.update("@#{tweet.user.screen_name} #{rep}", in_reply_to_status_id: tweet.id) } }
[ツッコミを入れる]