トップ «前の日記(2018-09-29) 最新 次の日記(2018-10-01)» 編集

ヨタの日々

2001|08|09|10|11|12|
2002|01|02|03|04|05|06|07|08|09|10|11|12|
2003|01|02|03|04|05|06|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|01|02|03|04|05|06|07|08|09|10|11|12|
2013|01|02|03|04|05|06|07|08|09|10|11|12|
2014|01|02|03|04|05|06|07|08|09|10|11|12|
2015|01|02|03|04|05|06|07|08|09|10|11|12|
2016|01|02|03|04|05|06|07|08|09|10|11|12|
2017|01|02|03|04|05|06|07|08|09|10|11|12|
2018|01|02|03|04|05|06|07|08|09|10|11|12|
2019|01|02|03|04|05|06|07|08|09|10|11|12|
2020|01|02|03|04|05|06|07|08|09|10|11|12|
2021|01|02|03|04|05|06|07|08|09|10|11|12|
2022|01|02|03|04|05|06|07|08|09|10|11|12|
2023|01|02|03|04|05|06|07|08|12|
2024|01|02|03|04|

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 で自動返信ボット

The Twitter Ruby Gem

こんな感じで。フォロワーだけに限定。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)
  }
}