AIお悩み相談室
今まで雑談機能のあるWeb APIを色々弄っていたのだが、いっそのこと雑談API同士で会話させてみたら面白いんじゃないか、と思いついて、作ったのが上記リンクのウェブアプリ。一応、お悩み相談室とはなっているが、本当は雑談API同士が会話しているだけで、ユーザーはその話のきっかけとなる言葉を入力出来るに過ぎない。百聞は一見にしかずで、試してもらうと分かるのだが、雑談の機能がそれほど高くはないが故に、思わぬ面白回答を返してくれる。3種類の雑談APIが順番に答えを繋いでいき、それを10回繰り返して、3×10の30通りの回答が見られる。で、最後の3回をそれぞれの雑談APIのお悩みへの回答としている。まあ数回やったら飽きるけどね・・・(笑)
難点
ぱぱっと回答が出れば何度も連続してやれて面白いんだけど、何しろ時間が掛かる・・・。APIに並列的にアクセス出来る方法もネットで見かけたのだが、何しろ順番に答えを繋いでいくことで成り立っているので、直列的に処理をするより仕方がない。それでも、一回ごとに接続して、答えを渡して、回答をもらって、接続を終了する、というのを愚直に繰り返しているので、それはなんとかならんのかな、と思うが、今のところ答えは見つけられていない。cURLで接続を解除せず、APIに渡す情報だけ切り替えられるやり方があったら誰か教えてつかぁさい。
苦労したところ
初期バージョンというか、実験段階では、入力して後はひたすら答えが出そろうのを待つ、という状態だったのだが、それだとまるでフリーズしている様なので、処理中であることを示す何かがあった方がいいな・・・と軽く思ったのがハマるきっかけだった。結局のところ、ページを遷移せずに、PHPの処理を待って、同じページにHTMLのコードをはき出すというのは、AJAX(Asynchronous JavaScript+XML)なる技術を使わざるを得ず、思わずJavaScriptを1から勉強するはめになってしまった。結局、HTML、CSS、JavaScript、PHPと色々勉強し直すこととなった。まあでもいい勉強になったということで・・・。
今後
Web APIが面白すぎるので、まだまだ作りたい。ディープラーニングだなんだというのは、私の様なプログラミング初心者には全く縁遠い存在だったのだが、APIを通して、その成果を簡単に利用できるというのは結構凄いことだと思う。なんというか最小の努力で最大の結果が得られるというか。そうは言っても、当然思ったように動く様にする為には色々な勉強が欠かせず、それらをやっているうちに気付けばプログラミングも上達していた、というのが理想かなぁ。