ツイッターbotの自動返信のこと
今回作成したbotには、決まったフレーズを一定時間間隔でツイートする基本的な機能のほか、相手からのツイートに対して自動的に返信(リプライ)する機能を実装しています。
自動でリプライするときのサンプルは、誰かと誰かのTwitterでの会話になるわけですが、ここでTwitterの仕様について色々見えてきました。
今回はそんなコラムです。またもやWebマーケティングには直接関係しません。
目次 Table of Contents
Twitterは会話のためのツールじゃない
会話のサンプルを取得したときに、一番困ったのはここでした。
普通にツイッターを使っているユーザーの方ならわかると思いますが、Twitterはつぶやき(という名のテキスト)をシェア・拡散するツールです。
つまり会話がメインのツールじゃないということです。
いや、会話はちゃんとできるんですけどね、その会話の内容は他のユーザーからも見ることができ、例えばその会話の中で「おもしろい」と思われた「返し」なんかがネタとして拡散されたりするわけです。
まるでテレビの中のトークのように、公開された会話となるので、プライベートな会話ツールとは異なります。
したがって、ガンガン会話をしまくっているユーザーは少ないということになりますね。
さらに追い打ちなのが、Twitter APIではキーワード検索でツイートを取得するとき、元のツイート→それに対するリプライという方向での取得が難しいのです。
それ専用のAPIは公開されていないので、元のツイートを検索→そのツイートをしたユーザーに対するツイート一覧を取得→その中で元のツイートとツイートIDが一致するものがあれば会話成立とみなす、という方法で取得できなくはないですが・・・、数回の試行でようやく1サンプル手に入る程度なのでちょっと使い物になりません。
んで、今回はしょうがないので適当なキーワードでリプライツイートを検索し、元となるツイートとセットで会話サンプルにしました。
これなら会話サンプルはたくさん取得できますが、逆方向からの検索なのでキーワードが難しいです。
「褒めると飴くれるおじさん」は一応「褒めると」と言っているので、褒められたときに返しそうなキーワードから逆に検索しなくてはいけないという、変な感じになります(笑)
それでも会話サンプル自体はたくさん取得できていますので、数によって会話の精度があがれば面白いな~とは思っています。
人工無能は会話のマッチングが難しい
人工無能という造語を知っているでしょうか?
人工知能(AI)に対して作られたもので、Twitterの自動返信botのことを指す造語のようです。
AIであれば、ツイートに対して的確に答えることができるでしょうが、人工無能は違います。
例えば次のような会話サンプルがあるとします。
ID | ツイート | リプライ |
1 | 昨日のライブまぢカッコよかったですぅ~(*’▽’) | ありがとうございます!今新曲作ってるので、次のライブでやれるかな? |
2 | さっき電車でGoogle Glassしてる人見たよ!めっちゃかっこよくてウケるwww | まじで??電車はないわ~ww |
3 | iPhone6sぐうかっこよくね??? | いいよね~!予約した? |
そして飴おじさんに対して「おじさんカッコいいですね!」というツイートが送られたとします。
すると最初に“おじさんカッコいいですね!”を含むツイートがないか、ツイートの列を探します。
まあまずありませんので、次に文末を一文字削除して“おじさんカッコいいですね”で検索します。
それでも無ければ文頭の一文字を削除した“じさんカッコいいですね!”で検索・・・、という感じでだんだん削っていきます。
該当したものがあった時点で、それに対応するリプライを送るという仕組みです。
会話の意味など一切関係なく、文字のマッチングだけで返信内容が決まるので、かなり意味不明な会話になることもあります(;’∀’)
かと思えば、「おじさんかっこいいね」→「え~やめてよ!照れるじゃん(*´Д`)」みたいに会話が成立したりもします。
そんなわけで「人工無能」という名前になっているわけですね。
現在ver0.9で、のんびりカスタムアップしようと思っていますが、よかったらフォローして遊んでやってください(*’▽’)
→褒めると飴くれるおじさん