Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Clova「おしゃべり禁止モード」

220 views

Published on

VUIリーグ決勝審査会 #ヒーローズリーグ
https://mashupawards.connpass.com/event/153888/

Durable Functions+無音無限ループによる作品

Published in: Engineering
  • Be the first to comment

  • Be the first to like this

Clova「おしゃべり禁止モード」

  1. 1. Clova 「おしゃべり禁止モード」 平林 拓将(ひらりん) himarin269 / himanago ヒーローズリーグ VUIリーグ決勝審査会 2019/11/24
  2. 2. 自己紹介 [Name] 平林 拓将(ひらりん) [Work] 社内システム開発・運用 & トレーナー [Like] • Microsoft 関連技術(C#, Azure) • LINE API(Messaging API, Clova) • スマートスピーカー [Social] • Twitter:@himarin269 • GitHub:himanago • Blog:http://himanago.hatenablog.com/Microsoft MVP for Microsoft Azure (2019.11 ~) ※ Twitter アイコン変えた
  3. 3. ヒーローとは?
  4. 4. ヒーローとは 寡黙な者である …と定義してみる
  5. 5. ヒーローになりきれない人たち 勉強しているのに ついついしゃべってしまう ひとりごとが多い
  6. 6. 人間、やっぱり しゃべってしまう
  7. 7. でもヒーローに なりたい © Mr.Children
  8. 8. そんなあなたに
  9. 9. Clova スキル「おしゃべり禁止モード」爆誕!!
  10. 10. 「おしゃべり禁止モード」 • スマートスピーカーなのにしゃべってはいけない! • 指定した時間だけ、おしゃべりをしないよう監視してくれる • 「人の話し声」を聴き分けるスマートスピーカー本来の能力をフル活用 • 数十分でも数時間でも!長時間持続する異次元のスキル
  11. 11. 限界を超えられる者 こそがヒーロー
  12. 12. VUI の限界を超える!! • 対話やシビアなタイムアウトなどの数々の制約がある VUI そんな限界、超えちゃってもいいんじゃない!? 無限のスキル維持・しゃべることが一切禁止の 前代未聞のスキルが誕生!
  13. 13. アーキテクチャ Clova Extensions Kit (CEK) Azure FunctionsClova 基本的にこれだけ!
  14. 14. Durable Functions でステートフル処理も可能 関数チェーン ファンアウト/ファンイン 非同期 HTTP API 監視 人による操作 複雑&ステートフルなワークフローをシンプルに実装可能 "Durable"(=永続的/持続的)な処理をシンプルな関数コードの組み合わせだけで作れる!
  15. 15. Durable Functions によるロングランニング処理 • 指定した秒数測ってくれるサーバーレスなタイマーを簡単に書ける [FunctionName("KeepSilentFunctions_RunOrchestrator")] public async Task RunOrchestrator( [OrchestrationTrigger] IDurableOrchestrationContext context) { var sec = context.GetInput<int>(); var deadline = context.CurrentUtcDateTime.Add(TimeSpan.FromSeconds(sec)); await context.CreateTimer(deadline, CancellationToken.None); } 最大実行時間(10分)を超えても測れる & お財布にも優しい!
  16. 16. でもどうやってセッションを維持しているの? スマートスピーカースキルは 会話を続けないと すぐ終わっちゃうよね?
  17. 17. ヒーローには 必殺技がある
  18. 18. Clova Extensions Kit 奥義 !!
  19. 19. CEK 裏技「無音無限ループ」 • AudioPlayer のイベントを利用して、スキルを起動したまま 無限に Clova を待機させるしくみが作れる "PlayFinished" 「無音」再生指示 無音mp3の再生指示を出すことで無限ループを作る (何らかの条件を満たした場合に無音再生以外の指示を出すことで無限ループから抜ける) 無限 ループ・・・
  20. 20. さらなる応用 FallbackIntent 等に対応して「しーっ!」と返せばおしゃべり監視に! 無音再生 無音再生 無音再生 … 一定間隔でリスニング状態に! 無音再生 通常のレスポンス(shoudEndSession = false で 1秒無音 mp3 再生) + AudioPlayer(4秒無音 mp3 再生)
  21. 21. まとめ! • 無音無限ループ × Durable Functions = ∞の可能性! • 無限セッションと会話禁止でスマートスピーカーの限界突破! • 「おしゃべり禁止モード」でかっこいいヒーローになろう!
  22. 22. BE A HERO!

×