Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
スマートスピーカー×obnizでVUI IoTを加速しよう!
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
田中みそ
September 07, 2018
Technology
3
1.7k
スマートスピーカー×obnizでVUI IoTを加速しよう!
2018/9/7に行われたスマートスピーカーを遊びたおす会 vol.3での登壇資料です。
obnizを使用したスマートスピーカースキルに関する内容になります。
田中みそ
September 07, 2018
Tweet
Share
More Decks by 田中みそ
See All by 田中みそ
アレをアレに埋め込むアレを作ってみた
miso
0
110
プラレールのめちゃくちゃ良く折れるアレをできる限り手抜きして3Dプリンターでなんとかしようとした
miso
0
86
子どもの写真からデフォルメフィギュアを作ってみた
miso
1
840
LINE x IoT 入門ハンズオン
miso
0
280
M5ATOMでNintendo Switchを自動化してみた
miso
0
650
ngrokを使ったLINE Bot開発を超絶楽ちんにする「linegrok」のご紹介
miso
0
470
opnizのご紹介
miso
0
880
ルービックキューブスクランブラーが欲しかったので作ってみた
miso
0
940
MineCraftのレッドストーンを現実世界まで拡張してみた
miso
0
210
Other Decks in Technology
See All in Technology
作りっぱなしで終わらせない! 価値を出し続ける AI エージェントのための「信頼性」設計 / Designing Reliability for AI Agents that Deliver Continuous Value
aoto
PRO
2
280
SaaSからAIへの過渡期の中で現在、組織内で起こっている変化 / SaaS to AI Paradigm Shift
aeonpeople
0
120
僕、S3 シンプルって名前だけど全然シンプルじゃありません よろしくお願いします
yama3133
1
190
AIエージェント、 社内展開の前に知っておきたいこと
oracle4engineer
PRO
2
100
[JAWSDAYS2026][D8]その起票、愛が足りてますか?AWSサポートを味方につける、技術的「ラブレター」の書き方
hirosys_
3
120
[JAWSDAYS2026]Who is responsible for IAM
mizukibbb
0
420
[E2]CCoEはAI指揮官へ。Bedrock×MCPで構築するコスト・セキュリティ自律運用基盤
taku1418
0
130
「ストレッチゾーンに挑戦し続ける」ことって難しくないですか? メンバーの持続的成長を支えるEMの環境設計
sansantech
PRO
3
640
Security Diaries of an Open Source IAM
ahus1
0
210
Kubernetesにおける推論基盤
ry
1
310
開発組織の課題解決を加速するための権限委譲 -する側、される側としての向き合い方-
daitasu
5
580
JAWS DAYS 2026 ExaWizards_20260307
exawizards
0
410
Featured
See All Featured
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Reality Check: Gamification 10 Years Later
codingconduct
0
2k
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
0
680
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
1.9k
GraphQLとの向き合い方2022年版
quramy
50
14k
What's in a price? How to price your products and services
michaelherold
247
13k
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
1.8k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.5k
Believing is Seeing
oripsolob
1
79
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.3k
A Tale of Four Properties
chriscoyier
163
24k
Transcript
スマートスピーカー×obnizで VUI IoTを加速しよう! 田中 みそ (田中 大樹)
自己紹介 田中 みそ (田中 大樹) Qiita: miso_develop Twitter: miso_develop Facebook:
田中みそ Google Home購入を機にITに目覚めた 初心者非エンジニア。 好きな食べ物はRaspberry Piとバナナ。 Facebook
自己紹介 田中 みそ (田中 大樹) Qiita: miso_develop Twitter: miso_develop Facebook:
田中みそ Google Home購入を機にITに目覚めた 初心者非エンジニア。 好きな食べ物はRaspberry Piとバナナ。 Facebook
None
None
None
DEMO
Clova Extensions Kit システム構成図
ESP32
ESP32 簡単に言えばWi-Fi付きArduino Google Homeに話しかけてお湯はりボタンを プッシュしたり ハンドスピナーを回したり
つまりは…?
None
M5Stackとかとの違い 最大の違いはプログラムの置き場所 Cっぽい低レイヤー言語で書いた プログラムをマイコンに書き込む マイコンにプログラムを書き込めない(!?) クラウドでプログラムを動かす!! (Node.jsで書ける!!!)
None
None
None
ユーザーの利用フロー
ユーザーの利用フロー ①obnizをポチる(パーツも一緒に)
ユーザーの利用フロー ②パーツをつなげる
ユーザーの利用フロー ③Wi-Fiにつなげる(obniz単体で可能)
ユーザーの利用フロー ④スキルにobniz IDを伝える 1234-5678
ユーザーの利用フロー これだけ。たったの4ステップ…!! ①買う ②組み立てる ③繋げる ④認証する
ユーザーの利用フロー ネックになるのはパーツの接続ぐらい パーツのセット売り、購入先リンクをまとめる 基盤にはんだ付けしといてobnizに挿すだけにする obnizごとオリジナルのケースに詰めて販売
それ以外のフローはスマートスピーカーの セットアップと変わらない
マネタイズの可能性 スキル開発なかなかお金にならない>< Alexaはリワードプログラムあるけど… Tシャツはそろそろ一週間ローテいける スマートスピーカー対応ハードウェアは…?
赤外線学習リモコンは年度末ぐらいまで ほぼ売り切れ状態だった
スキル開発での知見
obniz IDの登録フロー obnizは8桁の数字で構成されるIDを持つ これさえあればobnizがどこにあろうと オンライン状態であれば操作可能
obniz IDの登録フロー スキルの初回起動時に音声で登録を行う 8桁を1度に発話してもらう? 4桁を2回に分けて発話してもらう?
obniz IDの登録フロー 4桁を2回に分けて発話してもらう! ID登録は基本的に初回のみ 利便性より確実性を重視 8桁数字はユーザーも発話に詰まる恐れあり
スマートスピーカー自体も聞き間違えが発生 しやすくなる
obniz IDの登録フロー スロット Clovaの場合 ビルトインスロット「Clova.NUMBER」 数字を単体読みすると認識しない
サンプル発話で4つに分けても認識がイマイチ… 「2018」→「にせんじゅうはち」と読めば認識可能… 単発数字発話用のスロットを作成することで解決!
半角、全角、漢数字、 ひらがなを一通り拾う
一桁づつスロット名 を割り振る 作ったスロットを指定
obniz IDの登録フロー Alexaの場合 「AMAZON.FOUR_DIGIT_NUMBER」 というビルトインスロットがある…!
obniz IDの登録フロー Google Assistantの場合 英語なら「@sys.number-sequence」がある… 「@sys.flight-number」無理やり使えるかも?
obniz IDの登録フロー 各スマートスピーカーで対応している GUIからもID登録可能にしておく Clova: LINE Bot
Alexa: Echo Spotの画面 Google Assistant: スマホ版Google Assistant アカウントリンクを使う IDの変更、消去の手段も用意しておく
obniz IDの登録フロー obniz IDがわかればどこからでも操作できる 悪い人にバレると危険☠!!!! アクセストークンがあるけどこれを有効化すると…
IDはDB格納時に暗号化、利用時は複合しよう スキル申請時にプライバシーポリシーへの 記載が必要?
タイムアウトの壁 センサーからのデータ取得に時間がかかる ケースがある 基本的にはほとんどのセンサーは一瞬で値を 返してくれるはず 今回ハッカソンスキルで使った心拍センサーは 値取得に6~7秒かかる…
さすがにストレス というかClovaがタイムアウト…
タイムアウトの壁 対策 スキル起動インテントのLambdaから 心拍取得用の裏Lambdaをキック ユーザーが次のインテントを呼び出すまでの 間に心拍数をDBに格納する
基本的に3秒以内のレスポンスを目指す
ここが 長い…→ 「心の音へようこそ…」 センサーから心拍数取得 「心に響く曲教えて」 「現在の心拍数は…」 「心の音を開いて」
ここが 長い…→ 「心の音へようこそ…」 センサーから心拍数取得 「心に響く曲教えて」 「現在の心拍数は…」 「心の音を開いて」 タイムアウト!!!!
「心の音を開いて」 「心の音へようこそ…」 裏Lambdaキック! ← センサーから 心拍数取得…! (Lambda自体の タイムアウト長め) DBから心拍数取得 DBに心拍数格納!
「心に響く曲教えて」 「現在の心拍数は…」 ここが 長い…→
タイムアウトの壁 対策(時間稼ぎ) setTimeoutでwaitする 長くても500msecぐらい 応答メッセージを沢山しゃべる
SSMLで発話スピードを遅くする 起動時にオープニングSEを入れる
タイムアウトの壁 UXの悪化とトレードオフ 起動時SEはスキルのタイプによる SSML: 個人的にはユーザーが発話スピードを 自由に設定できるような実装が理想
複数のインテントに少しづつ色んな アプローチをすることでUXの悪化を軽減!
スマートスピーカーはIoTデバイス obnizはその機能を拡張する可能性を秘めている…! 何よりスキル開発の楽しさが格段にアップ!! 興味がでてきた方は まずは公式ページをチェック(https://obniz.io/)
サンプルやドキュメントがすごく充実! ぜひハンズオンにも参加してみて! コマンドひとつも打たず、ローカルファイルすら作らない 不思議なハンズオン…! さいごに
ハッカソン、めちゃくちゃ楽しい!!! LINE BOOT AWARDS終わっても 毎月開催してください…!!! さいごに
None
おわり ご清聴ありがとうございました