Portal:siro

ダイレクトマーケティングブログ

しろぼっとの機能について - ユイ(学習)機能




概要:ランダムなタイミングでしろぼっとが最近話題のキーワードを「○○ってなーに?」と聞いてきます。
それに対し「○○って意味だよ」とreplyを返すと、しろぼっとが学習し、それをランダム発言リストに追加します。

しろぼっとは新しいものに興味津々ですので、どうぞ皆さんでいろいろなことを教えてあげてください。


詳細:
ちょっと複雑な機能のため、箇条書きします。*1

・質問タイミング
ランダムです*2
現状は通常Post50%、ユイ機能40%、形態素解析10%という割合で動作しています。
ただ、一度した質問はずっと有効なので、過去の「ってなーに?」Postにreplyを返していただいても問題なく学習を行います。


・話題のキーワード
現状はばずったー(@buzztter)の最新Postの先頭ワードを選択しています。
(バズワードが10個並んでいるPostのみ。HOT:は現状無視するようにプログラムを組んでいます)
そのため、これといったニュースのない朝方は「寒い」とか「雨」とかの意味を尋ねてくることがあります。


・反応ワード
「って意味だよ」の他に、「って学習して」「って学んで」にも反応します。
なお、DMの喋って機能とは違い、フッタ等(って意味だよ 以降にある文字)は無視します。
なので、「って意味だよん」とか言ってもOKです。


・学習結果
正しく学習できたら、しろぼっとから@xxxxxx [学習単語]って[学習意味]って意味なんだ!みたいなreplyが飛んできます。
失敗した場合は、なにが?と大変冷たい発言が返ってきます。
失敗した場合はおそらく反応ワードが間違っていますが、間違ってねーぞゴルァの場合は@siro_xxまでご連絡ください。



少し技術的な話:
機能を利用するだけなら読まなくてOKです。アルゴリズム的な話。

この機能は、他の機能と同じくreply読み込み時に反応ワードが含まれるreplyを受信していれば関数を呼び出すという処理を行っています。
そのreplyのin_reply_to(返信元Post)を読み込み、返信元Postに「ってなーに?」ってワードが含まれているかどうかを確認して処理を実行しています。
なので、任意の単語を学習させたいならば喋って機能などで「××ってなーに?」と喋らせることで意図的に質問文生成を行うことができますが、それならば素直に学習結果を喋らせたほうが早いような気がします。ま、余談です。


ばずったーの最新Post読み込み&トリム、in_reply_toの読み込み&トリムを行っているので、この機能はかなり処理が遅いです。
昨日試したら30秒ほど通常よりreplyが遅れました。
なんとかしないとな…と現状思ってるのですが何かいい方法はないでしょうか。

*1:実装にも普段の機能追加の倍近い時間が掛かってます

*2:しろぼっとの通常Postと同じ、僕がiGoogleを開いたりその他諸々のイベントが発生したタイミングです