Webフレームワークと人工知能の秘密の関係
多くのWebアプリケーションはRuby on RailsやPlay Framework、小規模なものであればWordpressなど、効率的に開発を行うためのフレームワークを使用しているのではないでしょうか。
例えば、ディープラーニングの手法を既存のWebサービスに組み込む場合にはどのようにしたらよいのでしょうか?
ディープラーニングのライブラリはC系の言語で書かれていることが多く、今までPHPやRubyなど、メジャーフレームワークの選定にもとづいて選択した言語しか触ってこなかったエンジニアにとっては、なかなかとっつきづらいというのが本音ではないでしょうか。
これから人工知能機能の開発に本腰を入れていこうと考えている方や、触りだけでも試験導入してみたいという方へ向けて、複数の言語の受け渡しが必要なケースについてどのように連携していくのかを俯瞰してとらえていくことにしましょう。
1. PHPとC 言語の連携
2. PHPとPythonの連携
PHP から Python プログラムを実行させる方法について
3. RubyとC言語の連携
4. RubyとPythonの連携
C言語やC++をイチから勉強するのは難しいという方でも、MVC系のフレームワークとディープラーニング系のフレームワークを組み合わせて、プロトタイピングすることもできる時代です。
より柔軟に拡張したり、パフォーマンスを最大化したいなど、特定の目的が明確に見えている場合はゼロから開発することが必要だと思いますが、とりあえず触ってみたいという方は、便利な仕組みを利用して開発をおこなってみてはいかがでしょうか。
人工知能系のライブラリはある程度充分に揃っているため、これからは既存のサービスなどといかにして組み合わせるか、という課題を具現化していくという動きが予測されます。
Linux環境でディープラーニングのフレームワークを試すというところから一歩踏み出して、ご自身のブログにチャットボットを埋め込んでみたり、独自の商品紹介レコメンドなどを実装してみたり、実用的な人工知能の発展が進むと盛り上がっていきそうですね。
人工知能のプログラムの障壁は、ある種言語の障壁でもあり、理解した上でフレームワークを使用できる方というのはまだまだ多くない印象ですが、Ruby on Railsが人気になったように、ChainerやTensorFlowなどのフレームワーク側もより簡単に使用できるように進化していくと人工知能のプログラムの発展も加速するのかもしれません。