SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

【夏サミ2016】セッションレポート (AD)

畑とLINEで友達になって会話できる!? 自然言語処理とBotが実現するニュータイプなIoTアプリ【夏サミ2016レポート】

  • このエントリーをはてなブックマークに追加

 AIやIoTといった最新テクノロジーがどんどん身近になりつつある。Raspberry Piやオープンソース、無償で利用できるクラウドサービスといった「安価ですぐに入手できるもの」をうまく活用することで、AI等の特殊な技術の専門的な知識を持たなくとも、容易に最新テクノロジーを試す環境が手に入るようになった。その具体例として、日本オラクルの中嶋氏が紹介するのは、「畑と会話できる(!?)」という仕組み。いったいどうやって作るのか、またその可能性はどこに広がるのか。デモンストレーションの様子を紹介する。

  • このエントリーをはてなブックマークに追加
日本オラクル Cloud Platform事業推進室 エバンジェリスト Oracle Cloud Developers 中嶋 一樹氏
日本オラクル Cloud Platform事業推進室 エバンジェリスト Oracle Cloud Developers 中嶋 一樹氏

手軽なデバイスや技術による、IoTで畑と会話する「オラクル畑」

 近年のビッグワードとなりつつある「IoT」。あらゆるものがネットワークでつながり、コミュニケーションし合うとなれば、いったいどのような世界になるのだろうか。日本オラクルの中嶋一樹氏は、「IoTが実現すれば、一見ITとはかけ離れたもの、例えば“畑”ともコミュニケーションできるようになる」という。

 畑の例だと、畑に設置したセンサーが土壌の水分量や温度などを測定し、その数値から状況を言語化して伝達する。「畑」に問い合わせれば知りたい状況を教えてもらえるというわけだ。もちろん、これまでもさまざまな技術を組み合わせれば実現できなかったわけではない。しかし、特別な技術や知識がなくとも、高額な投資をせずとも、容易に調達できる安価な技術や道具で実現できる。それがIoT活用を大きく牽引するという。

 実際に中嶋氏が「オラクル畑」と名付けたIoTシステムに使用したデバイスや技術などは次の通りだ。いずれも容易に調達できるものばかりだ。

  • Raspberry Pi(ラズベリーパイ)
    • Linuxが入った小さなコンピュータ。GPO端子にセンサーが接続できるようになっている。
  • 土壌水分センサー
    • 土に刺しておくと水分量を測定できるセンサー。他、pHセンサーやカラーセンサーなどもある。
  • Oracle Database Cloud
    • クラウドデータベースとしてデータを蓄積。用途によってはパブリッククラウドでも代用可能。

インタフェイスにLINEを使用、Botで自然なコミュニケーションに

 セッションでは実際に「オラクル畑」のデモンストレーションが行われた。まず中嶋氏が畑に見立てた「容器に入れた土」に土壌水分センサーを刺し、システムの電源を入れると、その水分量が測定され、Raspberry Piを通じてクラウドデータベースに送られる。と、ここまでは一昔前のサーバ監視にそっくりであり、畑に行かずして状況を把握できるとはいえ、取得したデータに対して常に監視し判断する必要がある。

 これをもっと便利な“イノベーティブな仕組み”として成り立たせるためには、ITリテラシーが低い人でも容易に使えなくてはならない。そこで、中嶋氏が採用したのが「LINE Bot」である。

  • LINE
    • SNSをコミュニケーションインタフェイスとして活用。「オラクル畑」のアカウントを取り、それに問いかける形で状況を把握する。
  • Bot
    • データや命令を受け取ると、それに合わせた内容を自動送信する仕組み。今回は自然言語処理対応を間において柔軟性を高めている。

 「オラクル畑」のBotをLINEの友達として登録し、「水分は?」と問いかけると「からからです」「じゃぶじゃぶです」というように、自然言語で畑の状況が返ってくる。

 この答えは決められたルールに基づいた固定文ではなく、センサーの数値に基づいた動的なものだ。つまり、取得したデータがしきい値以下なら「からから」、以上なら「じゃぶじゃぶ」というように答えの内容が変えられるように設定されている。

 まず、畑のセンサーからRaspberry Piにデータが伝わり、ソラコムのIoT向けデータ通信SIM「Air SIM」を通じてOracle Database Cloudに送られる。一方、LINE BotのプログラムはNode.jsで実装しており、届いたメッセージ(「水分は?」など)に応じてOracle Database Cloudに最新の水分量のデータをとりにいく。その値に応じて答えが設定されており、LINEに返されるという仕組みだ。

「オラクル畑」のシステム構成
「オラクル畑」のシステム構成

人の代わりに何かをしてくれるBot、自然言語解析の進化がカギに

 あたかも畑が答えてくれるような「オラクル畑」の仕組みの要となっているのが「Bot」である。かつてBotはスパムなどの悪いイメージが先行していたが、ピザの注文などで自動応答に対応したり、スマートハウスで音声命令すると電気を消してくれたり、いまや「人の代わりに何かをしてくれる」便利な存在として注目されつつある。身近なところではiPhoneに搭載された「Siri」やGoogleのチャットアシスタント「Allo」、Amazonの音声認識エンジンAlexaが搭載された「Amazon Echo」などが代表格だろう。

 Botへの注目度が高まってきた理由として、中嶋氏は「自然言語処理技術の進歩」を挙げる。つまり、自然言語解析の精度が上がったことで、Bot自体の精度も上がり、便利なものになってきたというわけだ。一般的に自然言語処理では、伝えられた命令文の中から“インテント=意図”を抽出し、理解することが最も重要なステップになる。

 「オラクル畑」では、自然言語からインテントを抽出する役割を自然言語解析エンジンの「api.ai」が担っている。api.aiはインテントを表す例文を与えることで学習し、完全に一致していなくても意図を汲み取れるという機能を持つ。つまり「水分は?」「水は?」といった自然言語での命令から「畑の水分量について知りたい」というインテントを抽出しているわけだ。とはいえ英語に比べて日本語の理解度がやや低いため、「オラクル畑」では間に、翻訳APIである「Google Translate」を挟んでメッセージの翻訳を行い、それをapi.aiで処理するようになっている。

IoT、自然言語処理を擁するBotのアーキテクチャ例
IoT、自然言語処理を擁するBotのアーキテクチャ例

 こうしたBotによるシステムを動かすのは、インテントと対応する答えについて記載されたBotのプログラムだ。例えば「オラクル畑」なら、「get latest moisture」という入力に対し、クラウドに水分データを取りに行き、その数値に応じてLINE用のメッセージを生成して配信するという分岐が必要だ。このスイッチ文を増やすことによってBotが「できること=スキル」を増やすことができる。

 従来のアプリとBotの違いについて、中嶋氏は「アプリは人間が操作方法を覚える必要があったが、Botなら何も覚える必要がない」と語る。面倒な学習部分をBot側が吸収し、ITリテラシーを問わずに誰もが使えることが重要というわけだ。

BotやAIがASPで使い放題、アイディア次第でチャレンジを!

 今回はLINE上でBotを活用したが、こうしたBotを使用できるプラットフォームは、現在続々と増えている。まず、既に開発者の間ではSlack上での利用が活性化しており、iOSでもSiriのAPIが公開されたことで自身のアプリに入れ込んで活用できるようになった。他にもFacebookやSkypeなどでも対応している。

BotのUIを開発できるプラットフォーム
BotのUIを開発できるプラットフォーム
Botの自然言語をサポートするサービス
Botの自然言語をサポートするサービス

 またBotの自然言語処理をサポートするサービスとして、「オラクル畑」に活用されたapi.aiの他に、ストーリー仕立てで会話を行い、文脈を保存して必要なパラメータを拾う機能を持つ「wit.ai」などがある。wit.aiは2015年1月にFacebookに買収され、その活用が期待されるが、現在もフリープランが用意されており、api.ai同様自由に使うことができる。

 そして、若干用途は異なるものの、Googleからは、文から感情分析やパラメータ抽出、文脈解析を行う「Google Natural Language API」のβ版が登場している。社内のSNSの中から現在つぶやかれているキーワードを抽出するなどの活用法が想定される。

 こうした多彩なAIやBotおよび自然言語処理が、安価かつ容易に利用できるようになったことで、IoTがもたらす新たな価値が大きく広がることが期待される。

 中嶋氏は「センサーとサーバのみでは従来のシステムと大差がない。そこにたとえば『畑と会話する』といったコンセプトを持ち込むことで一気に活用の可能性が広がる。そしてそれを実現するAIやBotなどが登場している今、あとはアイディア次第」と力強いメッセージを送り、セッションの結びとした。

 なお「オラクル畑」のソースコードはGitHubで公開されている。ぜひ、挑戦してみてはいかがだろうか。

お問い合わせ

 日本オラクル株式会社

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加

【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/9605 2016/08/25 14:00

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング