AI、人工知能の分野における研究は近年活発になり、より人間らしい知能、もしくは人間を超える処理能力を発揮する事も増えてきました。将棋やチェスなどでは度々人間対コンピュータの戦いが注目されていますよね。
そんな注目が集まりつつあるAIを実際に自分でも実装してみたいと言う方もいると思いますので、今回は実際にAIを作る方法についてご紹介します。
AIはコンピュータを制御する1つの方法ですのでプログラミングの知識が少し必要ですが、今まで触れた事がない人でもできるサービスも増えてきていますので、ぜひ試してみてください。
ドンピシャ案件の探し方
「案件はたくさんあるはずなのに、なかなか自分の望む案件が見つからない…」
エンジニア市場は売り手市場であるものの、いまだに正しいマッチングノウハウが確立されておらず、多くの方が案件探しに苦労されています。
ですが、現在の市場感や企業側に刺さる経験・スキルを理解し正しく案件探しをすれば、誰でも自身のバリューを活かし単価を伸ばすことができる、というのも事実です。
ITプロパートナーズでは、
・9割がエンド直案件のため、高単価
・約6割が週3-4案件のため、柔軟に働ける
・事業会社の自社開発案件が多い
などの魅力的な案件を数多く保有し、マッチング能力の高い即戦力エージェントが完全サポートします。
初めてのフリーランス、情報収集段階でも大丈夫です。あなたの働き方にマッチし、単価も高く、最もバリューを発揮できる案件を探しませんか?
目次
そもそもAIって?
それでは具体的に実装する話をする前に、まずはAIとは何かという話から始めていきます。
AI、人工知能。コンピュータに人間と同じような知能を与える技術の事を指しますが、このAIにはいくつか種類があるのをご存知ですか。
先ほどの将棋やチェスなどのゲームのAI、もちろんテレビゲームにおけるCPUの動きもAIと呼ばれますが、これらは『弱いAI』と呼ばれています。
なぜ弱いAIと呼ばれているかというと、これらのAIは限定的な場面でしか活動できないからです。将棋のAIがチェスでは使えないように、テレビゲームのCPUがいきなりプレイヤーに向かって話しかけてこないように、予めプログラムされた動作しかできないので『弱いAI』と呼ばれているのです。
これに対して、あらゆる状況や場面において自分で判断を下して問題を解決できるのが『強いAI』と呼ばれています。
多くのエンジニアや科学者が挙って研究しているのは、こちらの『強いAI』を作るためです。これこそが漫画で言うドラえもんのようなAIに近い物になります。
このようにAIと一言で言ってもかなり違いがあります。最初にこの説明をしたのは、今回ご紹介するAIは基本的に『弱いAI』になる事を覚えておいて欲しかったからです。
「自分は『強いAI』を作りたいんだ」という方でも、人工知能に関する知識や技術を学んでいくためにはやはり『弱いAI』から入る方が良いと思いますので、まずは『弱いAI』の技術からどのようにして『強いAI』を作れるのかを考えていくのが良いでしょう。
そもそも完全な『強いAI』というのはまだどこでも作られていません。
近年注目されているAI技術もどちらかと言えば『弱いAI』の延長線上です。
膨大な量の学習データを最初に取り込んでいますし、何よりそれぞれのAIでできる事、得意な事に違いがあります。
その点をよく踏まえた上で実際に自分が作りたいAIがどんな物かをしっかりと考えておきましょう。
初心者でもAIを使ったプログラミングができるって本当?
さて皆さんはどんなAIを作ろうと考えていますか。画像処理に長けたAIなのか、それとも架空の人物とおしゃべりできるような言語処理に長けたAIでしょうか。
これから実際にAIを作るわけですから、どんなシステムなのかをしっかりと考えておく事は大事です。その上で実際に作るとなると結構大変じゃないのかって思っている事でしょう。
しかし近年のAI技術の発展は目まぐるしく、実は初心者でも簡単にAIを使ったプログラミングができるサービスが多く存在するのです。
個々のサービスの説明は後ほど詳しく説明しますが、『Wit.ai』という音声認識AIのサービスは無料で誰でも簡単に作れるという事で注目を集めています。
音声認識のアプリと言えば『Siri』を思い浮かべる人も多いと思いますが、こちらの『Wit.ai』を使えば自作で『Siri』のような対話システムを作る事も可能です。
もちろんある程度のプログラミングに関する勉強は必要ですが、AIを作ろうとしている初心者には打ってつけのサービスになっています。
他にも数多くのAI作成のためのサービスがあり、それぞれ得意としている分野が違います。
自分がどんなAIを作りたいのか決めたら、これから紹介するサービスをぜひ活用してみてください。
AIを使った開発に適したサービスまとめ
それではここからは具体的にAI開発をサポートしてくれるサービスをご紹介します。
言語処理
まずは言語処理に特化しているサービスです。
AIを作る上で音声認識や画像処理よりも比較的理解しやすいのが言語処理の分野になりますので、最初はこちらから試してみるのをお勧めします。
全自動会話API
1つ目は『全自動会話API』です。
http://ai.userlocal.jp/
フリートーク型のチャットポットを開発でき、日本語に対応しているのでこれからAIを勉強しようとしている人にはお勧めです。
ただこちらはまだまだ発展途上のサービスであり、基本的な用途としてはお遊び感覚の物になります。本格的なAIを作るのは厳しいですが、AIを手軽に作ってみたいという点ではかなり良いので初心者はここから触れていくと良いでしょう。
Meya
2つ目は『Meya』です。こちらも日本語対応していて、TwitterやFacebookに組み込める特徴を持っています。
https://meya.ai/
あらかじめ台本を作っておけば、例えばTwitterで誰かからコメントをもらった時に自動で応対してくれるように設定する事も可能です。
『全自動会話API』よりも実用性の高いチャットポットを作成できますので、何らかの言語処理AIを作りたい時にはこちらがお勧めですよ。
言語処理AIはまだまだ研究途中の分野でサービスも少ないですが、全くないわけではないのでぜひ活用してみてください。
音声認識
続いては音声認識に特化しているサービスです。
Wit.ai
1つ目は先ほども紹介した『Wit.ai』です。
https://wit.ai/
コンピュータに話しかけたり、文章を送る事で何らかのアクションを起こすAIを作成する事ができます。
こちらのサービスの利点は2つあり、まず1つは対応言語が豊富な点です。
iOSやAndroidなどのスマホに対応させる事も可能ですし、Node.jsやRuby、PythonやC言語などの多くの言語で対応していますからプログラマ―は1から新しい言語を覚える必要がほとんどありません。
もう1つの利点はオープンソースのコミュニティが活発な点です。
初心者であればやはり1から作るのはハードルが高いと思いますので、まずはオープンソースに触れる事で『Wit.ai』でできる事を知っていくのをお勧めしますよ。
Api.ai
続いては『Api.ai』です。こちらも『Wit.ai』と同様のサービスを提供していますが、1つ特徴的な部分があります。
https://api.ai/
それはドメインという概念です。
よくサイト登録の空メール送信時にドメインは解除しておいてくださいなどと言われる事がありますが、これとは別です。
こちらはインターネット上の住所としてのドメインですが、こちらはある程度まとまった情報の領域を指しています。
小難しい単語を使っていて分かりづらいと思いますので具体的な例を出すと、「アラーム」というドメインを有効にした時に「アラーム」の設定に関する処理がまとめてできるようになります。
最初から「世間話」や「地図と観光ポイント」など多くのドメインが存在するため初心者向けのAI作成サービスの1つとなっています。
ドメインごとにできる処理を差別化できるので、必要な処理だけを組み込みやすくなります。
より細かい場面でのAIを作ろうとしたら『Wit.ai』よりもこちらの方が簡単に実装できる可能性が高いですよ。
Jasper
音声認識AIの最後は『Jasper』です。こちらは前述の2つと違って言語が限られていて、『Raspberry Pi』を使って音声認識できるAIが作れるPython製のオープンソースプラットフォームです。
http://jasperproject.github.io/
また専門用語が出て戸惑うかもしれませんが、こちらも簡単でPythonというプログラミング言語の中に『Raspberry Pi』というパッケージ(ライブラリ)があるだけです。
Pythonの勉強もこれからしていくつもりという方ならこちらで練習してみましょう。
音声認識によって天気やニュースの確認をしたり、Facebookの通知やSpotifyと連携させたりもできますよ。
音声認識に特化しているサービスを3つご紹介しました。
基本的にどれも外国で提供されているサービスなので、英語での処理が基本となります。
しかし日本語対応も少しずつ展開されてきているので、英語が苦手な人も諦めずまずは試してみてください。
画像認識
それでは最後は画像認識に特化しているサービスです。
Cloud Vision API
1つ目は『Cloud Vision API』です。こちらはAPIに画像を送信すると、その画像内に写っている物の名前をテキストで返してくれるという物です。
https://cloud.google.com/vision/
画像認識AIの基本的な用途としては画像に対して自動でタグ付けしてくれる機能になります。
これによって画像をネット上にアップした時、言葉による検索でも画像が探せるようになったのですから。
また自分のコンピュータ上の画像を大量に一気に分類する時にも使えます。
『Cloud Vision API』では人物の感情の類推も可能ですので、画像内に人物がいる前提の機能を作る時にもお勧めですよ。
Clarifai
2つ目は『Clarifai』です。こちらも『Cloud Vision API』と同じように画像内の物を認識して自動でタグ付けしてくれますが、こちらは画像だけでなく動画にも対応しています。
https://www.clarifai.com/
さらにディープラーニングを搭載しているので、長期的に利用する事で人工知能の精度が向上していくシステムにもなっています。
利用者にとって見たい動画や画像だけを提供できるようにするのに打ってつけの機能を備えていますので、より実用的な機能を考えているならこちらがお勧めですよ。
画像認識AIも多数のサービスがありますので、ここで紹介した2つ以外にも『indico』や『AlchemyAPI』などがありますので、興味があればぜひそれらも調べてみてください。
AIを活用したプログラミングについてのまとめ
AI開発をサポートしてくれるサービスをいくつかご紹介しましたがいかがでしたか。自分もAIを作ってみたいと思いませんでしたか。
1から作ろうとすればプログラミング言語の勉強から機械学習、果てアは数学の知識も必要になってきて、作ろうと思っても敷居が高く感じる事でしょう。
しかしこれらのサービスは枠組みがある程度完成されているため、初心者でも簡単に作れるようになっているのです。
プログラミング初心者でも簡単に作れますので、ぜひ試してみてください。
- 高額案件を定期的に紹介してもらいたい
- 週2日、リモートワークなど自由な働き方をしてみたい
- 面倒な契約周りはまかせて仕事に集中したい
そのような方はぜひ、ITプロパートナーズをご利用ください!
まずは会員登録をして案件をチェック!