神谷町にある株式会社ウフルさんで8月23日に開催された「LINE BOOT AWARDS – Clova × enebularハンズオン」に参加してきました。
【増席しました】LINE BOOT AWARDS – Clova × enebularハンズオン – connpass
このハンズオンでやったことは、Lineのスマートスピーカー「Clova」とIoTの開発・運用サービスの「enebular(エネブラー)」を使って、スマートスピーカーに特定のキーワード含んだ言葉を話しかけると、用意された回答が音声で回答するサービスです。
今回、enebularを使うことで、スマートスピーカーだけでなく他のIoT機器や設備制御のためのゲートウェイなども、具体的にビジネスが考えられるレベルで連携することができるなと感じましたのでご紹介したいと思います。
enebular(エネブラー)について
「enebular」Uhuru 株式会社ウフルの提供する「IoT製品・サービスづくりを包括的に支援する開発・運用サービス」です。
昨今話題となっているIoTを実際のビジネスで使う場合、現実空間にあるセンサーや設備機器などの情報を【インプット】としてネットワークに取り込み、他の要素やデータと合わせてプログラムによって導き出された結果を【アウトプット】する仕組みすべてが必要になります。
たとえば従来であれば、オフィスの照明をコントロールするのは人感や照度などのセンサーによるものぐらいしか実用的ではありませんでしたが、IoTやサーバーにあるデータを利用することで、CO2濃度、外の天候、リアルタイムでの人の位置、社員の属性など、ありとあらゆる要素をソースとして利用することができます。
しかし、言葉にすると簡単ですがそういった仕組みを検証するのも、実際につくりあげるのも、ゼロから1社で立ち上げるのはとても大変です。
今回、私もウフル社の「enebular」を触ってみて、まさにこれは「IoT製品・サービスづくりを包括的に支援する開発・運用サービス」なのだなと、すごく理解できました。
というのも、今まで設備制御とIoTの連携をやってきて大変だなぁとかこれどうしようと頭を悩ませてきたいくつかのことが、この「enebular」を使うことで解決できるとわかったからです。
具体的には、離れた場所にある設備の制御とデータの見える化、そして、他のクラウド系サービスとの連携ですが、ここらへんの詳細は、今後も記事にしていきます。
ということで、今回のハンズオンイベントでやったこと、enebular使うとエンジニア以外の人でもいろいろできそうと思ったことを紹介します。
全体のシステム
全体のシステムは、当日に講師をされた田中正吾さんの記事が詳しいですが、私の方でもあらためて説明します。
LINE Clova Extensions Kitとenebularを連携して会話させてみよう | enebular blog
上図のように、Clovaというスマートスピーカーに音声で話かけると、Line社の提供するClova Extension Kit(通称 CEK)からenebularに処理されたデータが送られます。
Enebular側ではフローツールにて、入力されたデータによる挙動の設定をおこない、事前に指定したメッセージを再度 CEKに戻すようにしています。
実際になにができるのか
これは文字で説明するよりも動画で見てもらうのが早いです。
まずはこちらの動画をみてください。
* ちなみに、この動画は私のYouTubeチャンネルなのでチャンネル登録もお願いします。
enebularで変更できる要素
先程の動画では、「元気」というキーワードが含まれた会話がされると、「うふ、元気です」と回答しましたが、この回答する内容はenebularで簡単に変更できます。
Enebularのflowにあるこちらの矢印の先のノードに回答する言葉が設定されています。
// 例1:単文タイプ(SimpleSpeech)の音声情報を返す-テキスト msg.payload = { "version": "1.0", "sessionAttributes": {}, "response": { "outputSpeech": { "type": "SimpleSpeech", "values": { "type": "PlainText", "lang": "ja", "value": "うふ、元気です。" } }, "card": {}, "directives": [], "shouldEndSession": false } } return msg;
上記の「うふ、元気です」を、変えることでClovaが回答する言葉も簡単に変えることができます。
同じように、該当するキーワードが含まれていなかったときの回答、「その質問は答えられません」も変えられます。
矢印の先にあるノードをみてみると
msg.payload = { "version": "1.0", "sessionAttributes": {}, "response": { "outputSpeech": { "type": "SimpleSpeech", "values": { "type": "PlainText", "lang": "ja", "value": "その質問は答えられません" }
「その質問は答えられません」を、たとえば、「ごめん、無理!」と変更することで、回答する言葉も簡単に変えられます。
今回のハンズオンで理解したこと
ハンズオンではClovaのExtension Kit側で、どんな言葉がスマートスピーカーに話しかけられたときに、どんな挙動をするかということを行いましたが、この部分はエンジニア属性がない人にメンテナンスを任せるのは難しそうでした。
しかし、設定したキーワードが入力されたときに、どんな言葉を回答するかの部分はenebularで設定しましたが、回答する文言を変更するという部分は、「ここを直せば回答する音声が変わる」というのを伝えれば、エンジニア以外の人でも、もしなにかあった場合に対応できそうな感じでした。
もしくは、この文言を変更する入力画面を別でつくって、営業の人でも変更できるようにするということができそうです。
あとは、開発&運用環境は、Clova Extension Kitの管理画面とenebularさえあればできるというのがわかりました。
まとめ
以上、「LINE BOOT AWARDS – Clova × enebularハンズオン」にて実際に自分で手を動かして仕組みづくりと全体像の理解ができましたので、今後はより設備制御に関係するDALIやKNXを絡めることをやっていきたいと思います。