このページの本文へ

素人だってパーソナルアシスタントを作れる!人工知能APIまとめ【2017年版】

2017年05月15日 11時19分更新

文●Patrick Catanzariti

  • この記事をはてなブックマークに追加
本文印刷
AIプログラミングの専門知識がないけど、アップルのSiriやアマゾンのAlexaのようなパーソナルアシスタントを作りたい開発者へ。手軽に試せるWebサービスAPIとフレームワークを紹介します。

人工知能やパーソナルアシスタント、チャットボットは急速に普及しています。「Siri」「Alexa」「Cortana」「Ok Google」という言葉で人をWebにつないでくれるパーソナルアシスタントや、増え続けるIoT(Internet of Things:モノのインターネット)は、これからますます当たり前になってきます。2017年、ほぼすべてのメッセンジャープログラムとスマートフォンOSにはチャットボットやパーソナルアシスタントが用意されています。 「人工知能」の定義については議論の余地がありますが、誰でも仮想アシスタントを自由に使える世界の幕開けを私たちは目の当たりにしているのです。

幸いなことに、自分でも何か作ってみたい開発者のために、ベーシックな人工知能やチャットボット、パーソナルアシスタントの構築を簡単に始められる夢のようなサービスがあります。スマートホームをつなぎ合わせ、自分専用のメディアセンターをコントロールし、パーソナルAIアシスタントを介してあらゆる種類の情報を配信できます。いろいろなAPIとサービスのおかげで、たくさんの選択肢があります。2015年、2016年の準備が実を結び、2017年は開発者にとってこれまで以上に多くの選択肢がある年となっています。開発者は本当に自分のソリューションを作り始められるのです。

この記事では2016年の1年を通して利用できるようになった、開発者が自分のアプリやIoTデバイスを音声認識やチャットボット、人工知能と接続できるサービスを紹介します。

Wit.ai

Wit.ai

Wit.aiは、開発者向けの音声認識と機械学習の優れた組み合わせを提供するサービスです。言語入力をテキストに変換できる機能があり、どのように理解するかを鍛えることもできます。また機械学習ができ、以前は理解できなかったコマンドを理解させるために訓練もできますが、このプロセスは自動ではありません(まだ完全な知能ではありません!)。2015年のはじめにFacebookに買収され、プラットホーム全体を公開してプライベート、パブリック両方のインスタンスで無料にしました。これまで開発に波がありましたが、2017年は大きな計画を立てています

Wit.aiには、アプリに組み込むための主な要素が2つ(インテントとエンティティ)があります。インテントとは、命令がどのようなアクションをとるべきか(たとえば、照明をつけるなど)です。エンティティとは、インテントを特定するためにAIが知っておくべき特定のオブジェクトまたは情報です(たとえば、どの照明? スマートライト? 色を識別する必要があるか? など)。Wit.aiは、インテントをゼロから作成する必要はなく、開発者コミュニティ内にある既存のインテントにアクセスできます。これはとてもうまい仕組みですね!

Wit.aiには、異なるコンテキストでエンティティを区別することを学習する「役割」という概念もあります(たとえば、命令にある数字は、年齢、順序、数などさまざまな意味を持ちます)。またあるエンティティタイプでは、温度、URL、電子メール、期間などと理解される場合もあります。

Wit.aiの新機能は、典型的な会話を新しい方法で定義できる「ストーリー」機能です。「シドニーの天気はどうですか?」のような最初の質問を設定し、そのあとのステップと継続する質問を定義できます。また、「ブランチ」という概念もあり、必要な情報がすべて取得できないとき(たとえば、ユーザーが「天気はどうですか?」と言った場合など)、会話をさまざまな方向へ切り替えられます。

iOS、Android、Node.js、Raspberry Pi、Ruby、Python、C、Rust、Windows Phoneの開発者向けWit.ai APIがあります。フロントエンド開発者向けのJavaScriptプラグインもあります。

Api.ai

Api.ai

Api.aiは、Wit.aiのインテントとエンティティに似た機能を提供するチャットボットAPIです。機械学習機能があり、あらかじめ登録したものとは少し異なるフレーズを使われたときでも理解できます。Api.aiは2016年9月にグーグルに買収されました。現在、グーグルのホームプラットホーム用の会話型インターフェースを構築するメインエンジンになりました。

Wit.aiと異なるApi.aiの特徴は「ドメイン」です。ドメインとは、すべてのApi.aiエージェント(Api.aiではアプリケーションは「エージェント」と呼ばれます)で使用できる状態になっている、Api.aiの知識とデータ構造の全コレクションです。ドメインには、共通の動詞とコンテンツタイプの知見が含まれます。たとえば、「Book hotel」と「Book restaurant」では、必要とされるさまざまなデータの種類が異なることを理解しています。歴史、言葉の定義、人物名(有名人、作家、キャラクターなど)、映画、株価などが載っている百科事典の情報が搭載されています。

Api.aiは無料で使用できますが、現時点のWebサイトでは少し曖昧な表現がされています。2016年は完全に無料とは言えませんでした。おおかたの「ドメイン」を使うにはアカウントをアップグレードする必要があるからです。ただし、価格は明らかになっていません(開発者はApi.aiの営業チームに連絡する必要があります)。また、Api.aiには有料のエンタープライズオプションがあり、プライベートクラウドでサービス全体を実行できます。もし完全に非公開で使いたい場合は、有力な選択肢になります。

Api.aiにはAndroid、iOS、Apple Watch、Node.js、Cordova、Unity、C ++、Xamarin、Python、JavaScriptのSDKがあります。特にUnity連携は、ほかのSDKにはない追加のプラットホームまで範囲を広げるかもしれません! アマゾンのEcho、Skype、Slack、Facebook Messenger、マイクロソフトのCortanaなどとも連携できます。

Api.aiを試したい人は、SitePointで私が書いている「Building an AI assistant with Api.ai」シリーズを参考にしてください。ドメインの使用には有料アカウントが必要です。そのため私が書いた記事中の例は、有料アカウントがないと何の質問にも答えられないことをお断りしてきます。

Melissa

Melissa

もし、自分自身でAIのプログラミングをしたくて、さらにRaspberry Piが好きなら、Melissaがおすすめです。MelissaはPythonで書かれたオープンソースのパーソナルアシスタントで、Raspberry Pi、Windows、OS X、Linuxで動作します。非常に頻繁に更新されていて、とても人気があります!

Melissaは、常にボイスコントロール機能が動いていて、ノートを取ったり、占星術を教えてくれたり、ウィキペディアの定義を取得したり、音楽を演奏したりといったさまざまな会話のサンプルを用意しています。すべてをコントロールしたいPython開発者にとって、Melissaはぴったりです! どのように組み合わされているかといった詳細は、Melissaの主要な開発者であるTanay PantがMelissaの詳細について網羅した書籍を執筆しているので参考にしてください。2017年のはじめに彼とMelissaについて話しました。彼はMelissaにとても注力しています!

Clarifai

Clarifai

Clarifaiは画像と動画コンテンツを認識する、これまでとはまったく異なる視点の人工知能サービスです。使うたびに継続的に向上する独自のディープラーニングのエンジンを持っています。まったく新しいレベルのAIのプロトタイプを作りたいなら、オブジェクトを見たり認識したりできるようにしてみてはどうでしょうか。画像にタグを付けたり、視覚的に類似した他の画像を探したり、不適切な画像にフラグを立てるなど、あらゆる種類のことができます。もし、Clarifaiレベルをもう一段高めたいのなら、オリジナルのデータを使ってトレーニングすることで、プラットホームにまったく新しい概念も教えられます。

アプリケーションに組み込む際、ClarifaiにはPython、Java、Node.js APIだけでなく、使用している言語と連携できるREST APIがあります。このサービスは月に5000回まで無料で利用できます。私はSitePointでClarifaiを使いたい人のためのガイド『How to Make Your Web App Smarter with Image Recognition(画像認識でWebアプリケーションをもっとスマートにする方法)』を書いていますので参照してください。

TensorFlow

TensorFlow

重い処理のサービスを改善したかったり、本当に人工知能システムをゼロから作りたいなら、グーグルのTensorFlowが最適な選択肢かもしれません。導入には時間がかかりますが、ディープラーニングと人工知能について深く学べます。TensorFlowは、データフローグラフを使用した数値計算のためのオープンソースソフトウェアライブラリーです。画像認識システムを鍛えたり、言語処理の学習をさせたりするには最適です。また、TensorFlowではRedditの数百万のコメントで訓練されたニューラルモデルの上に構築されたチャットボットSpeakEasy AIのような、特定のデータを訓練した対話型AIも作成できます。

TensorFlowで動くプログラムに制限はありません。TensorFlowの開発者は90年代のヒット作『Friends』の新しいエピソードを書くように訓練しました

最後に

人工知能、パーソナルアシスタント、チャットボットなどを提供するさまざまななサービスやAPIがあります。自分のアプリに組み込んで実装するためにコンピュータサイエンスの専門家である必要はありません。紹介したサービスやAPIを試して、どのようなものが作成できるのかを試してください。もし自信があれば、最初からTensorFlowを使って革新的な人工知能を作ってみるのもいいでしょう。

※この記事は2017年4月7日に更新されました。新しいフレームワークが追加されています。

(原文:Five Simple Ways to Build Artificial Intelligence in 2017

[翻訳:萩原伸悟/編集:Livit

Web Professionalトップへ

この記事の編集者は以下の記事をオススメしています