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腹話術スキルの紹介

794 views

Published on

https://linedevelopercommunity.connpass.com/event/124116/

Published in: Technology
  • DOWNLOAD FULL. BOOKS INTO AVAILABLE FORMAT, ......................................................................................................................... ......................................................................................................................... 1.DOWNLOAD FULL. PDF EBOOK here { https://tinyurl.com/y8nn3gmc } ......................................................................................................................... 1.DOWNLOAD FULL. EPUB Ebook here { https://tinyurl.com/y8nn3gmc } ......................................................................................................................... 1.DOWNLOAD FULL. doc Ebook here { https://tinyurl.com/y8nn3gmc } ......................................................................................................................... 1.DOWNLOAD FULL. PDF EBOOK here { https://tinyurl.com/y8nn3gmc } ......................................................................................................................... 1.DOWNLOAD FULL. EPUB Ebook here { https://tinyurl.com/y8nn3gmc } ......................................................................................................................... 1.DOWNLOAD FULL. doc Ebook here { https://tinyurl.com/y8nn3gmc } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Be the first to like this

Clova腹話術スキルの紹介

  1. 1. Botと連携する Clovaスキルの自慢! 平林 拓将(ひらりん) himarin269 / himanago LINE Developer Community : 第 2 回 ボット自慢 LT 大会 2019/4/12
  2. 2. 自己紹介 • Name • 平林 拓将(ひらりん) • Work • テクニカルトレーナー/アーキテクト • Like • C# と Azure と LINE! • Social • Twitter:@himarin269 • GitHub:himanago • Blog:http://himanago.hatenablog.com/ プロフィール画像迷走中 (Linux使いではありません)
  3. 3. LINE BOOT AWARDS 2018 • 「Clova&LINEで絵本読み聞かせ」でファイナル進出! ClovaとLINEが同期して 絵と読み聞かせ音声が 同時に楽しめるスキル
  4. 4. 今回自慢するスキル • 絵本スキル公開に向けてのリニューアル中に生まれた副産物 ※絵本のほうは年明けくらいにはリリースしたいと思ってたけど Clova Deskも出たしちょっとリニューアルの方向を見直し中…
  5. 5. DEMO
  6. 6. 腹話術~おしゃべりClova~ LINEからの入力でClovaに好きな言葉を しゃべらせることができる腹話術スキル!
  7. 7. できること • スキルとBotが連携し、LINEで入力した内容をそのまましゃべらせる 活用例 ≪はげましてもらう≫ ≪子どもと遊ぶ≫
  8. 8. できること • LINE上でセリフの事前登録が可能(テンプレート作成) リッチメニューから 作成開始 メッセージを送ると セリフがリストに 追加される クイックリプライで 作成終了
  9. 9. すごいところ どんなセリフでも 自由なタイミングで しゃべるよ! 対話が原則のClovaスキルの常識を覆す! その場で何でもしゃべってくれる! いつまでも続くスキルのセッション! → 話しかけなくてもClovaだけがしゃべりだす → 自由な言葉を言わせることができる → セッションが勝手に切れず長時間遊べる
  10. 10. こんな使い道も! • Clovaの発音チェック • スキル開発に便利(かも?) はじめて 始めて
  11. 11. アーキテクチャ CEK Messaging API Azure Functions Clova LINE これだけ!!
  12. 12. Azure Functionsとは で使えるサーバーレスのサービスは ※サーバーを意識せずに使えるコード実行環境 (AWSでいうLambda)
  13. 13. は? ClovaとLINEを連携させた 長時間でステートフルな機能を、 DBとかを使った永続化なしに サーバーレスの関数だけで 実現できるわけないじゃん!
  14. 14. できちゃうのがAzure Functions! そう、拡張機能「Durable Functions」ならね
  15. 15. Durable Functionsでできること 関数チェーン ファンアウト/ファンイン 非同期 HTTP API 監視 人による操作 複雑&ステートフルなワークフローをシンプルに実装可能 "Durable"(=永続的/持続的)な処理をシンプルな関数コードの組み合わせだけで作れる!
  16. 16. Durable Functionsの基本 • 3種類の関数を作って使う OrchestrationClient Orchestrator関数 Activity関数 • 外部から呼び出し/実行される 関数本体で、CEKやMessaging APIからのHTTPリクエストを で呼び出されるもの • Orchestratorを起動する役割を 持つ • Activityを呼び出し、オーケス トレーションを担当する • ランダム値やI/O処理、非同期 APIの呼び出しを直接行うこと は禁止(Activityにやらせる必 要がある) • Orchestratorからの実行指示で 起動する関数 • アプリケーションの機能を担当 する Activity関数 Activity関数 履歴などの実行情報をストレージに書き込んで勝手に管理してくれる!
  17. 17. 各関数で使用する代表的なメソッド • 関数同士を連携させて"Durable"な処理を作る部品が揃っている! 関数 メソッド名 処理内容 OrchestrationClient StartNewAsync Orchestratorを開始する。 TerminateAsync Orchestratorを終了する。 GetStatusAsync Orchestratorの状態を取得する。 RaiseEventAsync 任意の名前のイベントを起こす。 Orchestrator関数 CallActivityAsync Activityを呼び出して実行する。パラメータで好きな値を 渡せる(タプルやコレクションも使えるのでかなり自由)。 CallActivityWithRetryAsync 失敗した場合にリトライするCallActivityAsync。 CallSubOrchestratorAsync 別のOrchestratorを実行する。 CallSubOrchestratorWithRetryAsync 失敗した場合にリトライするCallSubOrchestratorAsync。 ContinueAsNew 今回実行した際の情報をパラメータとして渡して状態を 維持し、自身を再実行する。 WaitForExternalEvent 指定した名前のイベントが起きるまで待機する。 GetInput 呼び出し元から渡されたパラメータを取得する。 Activity関数 GetInput 呼び出し元から渡されたパラメータを取得する。
  18. 18. しくみ解説~テンプレート作成 OrchestrationClient Orchestrator ・Postback(作成開始) ・テキスト ・Postback(作成終了) WaitForExternalEvent Activity ・セリフリストの作成 (ContinueAsNewで再実行) ・返信Activityの呼び出し (リストとReplyTokenを渡す) 完成したテンプレートを返信 RaiseEventAsync 面倒なことはすべておまかせ!真のサーバーレス体験! イベントの管理 状態の保持
  19. 19. コード(テンプレート作成のOrchestrator) 外部イベントの 発生を待機 セリフリストに追加し、 そのリストを引数にして 自身を再帰的に実行 作成完了かどうかを 文字列の頭で判定し、 Botの返信Activityをコール
  20. 20. さらにCEK裏技「無音無限ループ」 • CEKのAudioPlayerのイベントを利用して、スキルを起動したまま 無限にClovaを待機させるしくみが作れる "PlayFinished" 「無音」再生指示 無音mp3の再生指示を出すことで無限ループを作る (何らかの条件を満たした場合に無音再生以外の指示を出すことで無限ループから抜ける) 無限 ループ・・・ Durable Functionsと相性がいい!
  21. 21. しくみ解説~ Botで操る腹話術 OrchestrationClient Orchestrator 起動時 or 読み上げ終了時 WaitForExternalEvent RaiseEventAsync LINE Botとの連携も自在な"Durable Session" • 状態を確認し、完了するまで 無音無限ループで待機させる OrchestrationClient GetStatusAsync 無音mp3のPlayFinished時 無音mp3の再生指示 • 完了していたらセリフをしゃべらせ、 Orchestratorを再実行
  22. 22. コード(腹話術スキルのエンドポイント) 無音mp3の再生指示 再生終了 イベント Orchestratorの進行状況を チェックし、完了していたら (=LINEからメッセージを受信 したら)その内容を受け取り Clovaに言わせる
  23. 23. 苦労した点 • セリフを短い間隔で連続で指示しても読み上げられない 外部イベントを投げるのを、 オーケストレーターが待機状態になるまで 待つようにすることで(ある程度)間隔の 短い連続実行も可能にした
  24. 24. まとめ • Durable Functionsすごい • コードのみで実現できる範囲を広げる真のサーバーレス • LINE BotやClovaスキルの可能性を大きく広げる • Azureはいいぞ • ノンコーディングでいろいろできるLogic Appsも神 https://github.com/himanago/ClovaVentriloquism ★ソースコードはこちら

×