以前、Androidアプリを作って「機能のアップデートも予定」とか言ってた割には全然なにもしていませんでした。

 代わりに自分が何をしていたかというと、最近流行ってるAIによって受け答えが出来るちょっとしたチャットアプリのようなものを作ってました。
 一般にAIとは自身が貯めた膨大なデータの中から最適な答えを導くようなイメージがありますが、それをするのは非常に面倒なので、それこそそういった面倒なのはGoogleに任せてしまいたいと思います。んで、一個人ができることといえば、一つは特定の乱数からランダムに選択肢を選ぶということ。

 人間「今日遊びたい?」

 っていう質問に対して、あらかじめ「遊びたくない」「別の日ならいいよ」「遊びたい」みたいな回答を用意して、時間などを基にしたランダム関数で%を決めて、特定の選択した応答を返せばよいです。まぁそれは正直、プログラマーであれば数分でできます。あとはスロットとかパチンコで虹色が出るのと同じような感じで、超低確率で「そんなことより、SEXして遊ぼう」とか返せるようにすれば完璧です。まあそこまでは簡単。

 特定の質問や、語句に対して応答することは簡単なのですが、やっぱりそんな数百個の質問と数百個の応答だけじゃつまらない...。そこで第2ステップとして、やっぱり検索エンジンからレスポンスを返してそれを元に、応答するシステムが一番簡単なんじゃないかと思って、AIの中で検索エンジンからレスポンスを返してもらい、それを元に応答を返すようにすればよいと思いました。

 

アクター(操作する人)→APP⇔TCP通信⇔AIサーバ⇔HTTPS通信⇔検索エンジン

 GoogleアシスタントやSiriなどじゃなくて、LINEのりんなとかに近いかなぁ。あれの応答文の元ネタは検索エンジンらしいです。
 つこって検索エンジンとアプリを繋ぐ内部APIみたいなとこも、良い感じで文章で取得できるような感じでできたんですけど、特定のワードに対する"検索文章を作り"(ステップ3)、検索結果に対して応答を解析し、"応答文章を作る"(ステップ4)っていうこのステップ3とステップ4が激むず。他のAIはどう作っているのかっていう参考サイトを実は一切見てないので、そろそろここらで情報収集すべきだと思っています。

 今のところ、試しにチャット入力してみるとこんな応答になります。

 入力「パンツ何色?」

 AI「パンツ何色?という質問は物理系の人間としては違和感がある。セクハラですよ?」

 検索エンジンの応答から、複数の文章を「。」で区切ってピックアップし、乱数を使ってランダムで、区切った文章を2~3個結合しただけ。

 一応AndroidでもiOSでもLinuxでもホームページ経由でも、通信できるように組み込んでるので、ちょっと公開できるようになったらベータ版公開しようかなぁとか考えてますが、いつになることやら。他にもちょっと色々面白い仕組みを考えてますが、何しろ時間がないのと他の人がもっといいものを作ってる気がするので、自己満足で終わらせたいかも・・・。