IoTと並んでにわかに注目を集めているのが、「人工知能」。中でも、IBMが提供する「Watson」は、ロボット、金融、ヘルスケアなど、さまざまな分野での活用がニュースになっています。
Bluemixを使ったIoTアプリの開発をWebアプリの開発方法から、デバイスの制御までを解説する連載の第2回では、Watsonをクラウド経由でAPIとして利用する「Watsonサービス」を使ってみましょう。
IoTで取得した環境の情報や個人のアクティビティを分析し、具体的なアクションに結びつける橋渡しをするには、自然言語処理や機械学習が必須ですが、BluemixではWatsonサービスをこうした目的で利用できます。
今回は、文章から筆者のパーソナリティ(性格)を分析できる「Personality Insights」を使った簡単な性格診断アプリを作ります。IoTデータを組み合わせることで、個人や個人に関連するモノについての洞察を得ることができるでしょう。
なお、Personality Insightsは2016年3月現在、英文にのみ対応しています。
作成するアプリの構成
Webブラウザーに入力された分析対象のテキストをWatsonのPersonality Insightsに送り、分析結果を画面に表示します。以下のように、サービスは「pisample.mybluemix.net」という名前で公開されます。
Node-REDで作成するアプリの準備
それではアプリの作成を始めましょう。
Bluemixのカタログ画面から[Node-RED Starterコミュニティー]をクリックします。
※BluemixとNode-REDの使い方は第1回を参照してください
※Bluemixアカウントを新しく登録する場合は、「IBMサインアップ手順」を参考に進めください。登録後30日間は無償です
[アプリの作成]が表示されますので、[名前]の欄にアプリ名を入力して[作成]をクリックします。この名前が公開されるホスト名になります。ここでは「pisample」としました。
[アプリケーションをステージングしています]と表示され、しばらくすると[アプリは稼動しています]に変わります。
これでNode-REDで作成するアプリ「pisample」の準備が整いました。
Personality Insightsを使えるようにする
次に、今回使用する「Personality Insights」をNode-REDアプリ「pisample」で使えるようにします。画面左側の[概要]をクリックし[サービスまたはAPIの追加]ボタンをクリックします。
追加するサービスを指定するためカタログ画面が表示されるので[Personality Insights]をクリックします。
[サービスの追加]画面になるので、作成したNode-REDアプリ(pisample)があらかじめ指定されていることを確認し、[作成]ボタンをクリックします。
追加した「Personality Insights」サービスを有効にするために、Node-REDアプリを再ステージする必要があります。[アプリケーションの再ステージ]画面で[再ステージ]をクリックします。
再ステージが終了したらNode-REDを起動します。[アプリは稼動しています]の右側に表示されているURLをクリックします。
次の画面で[Go to your Node-RED flow editor]のボタンをクリックすると、Node-REDフロー・エディターが起動します。なお、フロー・エディターのURLは「http://pisample.mybluemix.net/red/」になります。
ノード、フローのインポートとデプロイ
今回は作成済みのノードおよびフローをインポートします。
記事の最後にあるコードをすべて選択してコピーします。画面右上のメニューボタンをクリックします。
[Import]→[Clipboard]と選択し、先ほどコピーした内容を貼り付けます。
Node-REDにノードとフローがインポートされ、次のようにフローが表示されます。
インポートされたノードとフローをデプロイして実際に動かすため、画面右上の[Deploy]ボタンをクリックします。
特にエラーが出なければ無事にデプロイできていますので、ブラウザーで「http://pisample.mybluemix.net/」にアクセスします。初回の起動と同じURLですが、今度はフロー定義どおりに入力フォームが表示されます。
実際に文章を入力して分析ボタンをクリックしてみましょう。対応しているのは英文のみですので、例として、1963年8月28日、「I have a dream」として知られているリンカーン記念館階段でキング牧師が演説した内容を入力してみます。
入力した文章から筆者(キング牧師)の性格が分析されて、次のように表示されます。
以上で、文章から筆者の性格を分析するアプリは完成です。