AmazonEcho:オンラインセミナーAlexa道場・第16回(11/22)「ダイアログモデル」が開催されました!

Amazon期間限定広告(-181211)

おはようございます!!

これまでAmazon Echoプログラミングセミナー
Alexaウェブセミナー「Alexa道場」を紹介させていただいてます。

Amazon Echo他に搭載されているAlexaのオンラインWebセミナーとTシャツプレゼントキャンペーンの紹介です。早速セミナーに申し込んでみました!!
3/23開催のAlexaウェブセミナー「Alexa道場」を受講しました。3/27にも同内容で開催されるようですので、よかったら受講くださいね!
Alexa道場の第3回「音声ユーザーインターフェースをデザインしよう」を受講しましたが、トラブルがあった為簡単なレポートとトラブルの内容報告です。
Alexa道場の第4回「Node.jsを使ってAlexaスキルを作ろう」を受講しました。前回との2回で作業しただけで動くようになりましたが、言われたとおりにしただけなのですが楽しいですね!!
Alexa道場の第5回「スロットを使って発話内の可変文字列を取得しよう」が開催されました。今回は欠席となりましたが、簡単に紹介させていただきます。
Alexa道場の第6回「ユーザーと対話するマルチターンのスキルを作ろう」が開催されましたので、簡単に紹介させていただきます。
Alexa道場の第7回「スキルの公開申請と審査について知ろう」が開催されましたので、簡単に紹介させていただきます。
Alexa道場の第8回「DynamoDBを使って前回の会話内容を覚えているスキルを作ろう」が開催されましたので、簡単に紹介させていただきます。
Alexa道場の第9回「ASK SDK for Node.js Version 2」が開催されましたので、簡単に紹介させていただきます。
Alexa道場の第10回「Echo Spotに対応したスキルを作ろう」が開催されましたので、簡単に紹介させていただきます。「Echo Spot対応スキル」ということで楽しみだったのですが、私にはかなり難解でした。
Alexa道場の第11回「フラッシュブリーフィングスキルを作ろう」が開催されましたので、簡単に紹介させていただきます。簡単に作れるのは驚きでしたが、大きな壁もあることがわかりました。
Alexa道場の第12回「Alexa Voice Service(AVS)の概要について学ぼう」が開催されましたので、簡単に紹介させていただきます。Alexaを組み込んだ機器の話が面白かったです。
Alexa道場の第13回「アカウントリンクで既存のサービスと連携するスキルを作ろう」が開催されましたので簡単に紹介させていただきます。他のサービスとの連携は面白そうですが、設定手順は地獄ですね。
Alexa道場の第14回Alexa道場:「ASK CLI を使ってスキル開発を効率化しよう」が開催されましたので簡単に紹介させていただきます。内部構造を理解してないと、使うのは難しそうですね。
Alexa道場の第15回Alexa道場:「米国スキル開発最前線」が開催されましたので簡単に紹介させていただきます。

これまで15回開催(1,2は、ほぼ同内容)され、昨日(11/22)が16回目でした。
約1ヶ月半ぶりでしたが、今回も定番の木曜の昼12時開催でした。

昨日もリアルタイムで受講できましたので、簡単に紹介させていただきます。
(※ 画面コピーはあくまでも動画の一部です。見にくい部分もあると思いますが御了承ください。)
(※ 今回は画像が荒く、読めない場合もあります。)

第16回Alexa道場:「ダイアログモデル」

https://build.amazonalexadev.com/alexadojo015-web-reg.html

昨日11月22日(木)12:00 – 12:40に開催されました。

YouTubeにアップされた公式動画です。
(’18 11/28 追記)遅くなり申し訳ありませんでした。

本編「ダイアログモデル」

もう第16回なんですね!!

いきなり温泉の話からスタートしました。

どこに行くか?どうやって行くか?何泊?ホテルのグレード?・・など、いくつも聞かないといけないことをAlexaさんが解決してくれる。

解説動画


ドキュメントはこちらです。

ダイアログモデルは対話モデルの1つのオプション的な方法で、これを使うと幸せになれる。

従来の方法は1つずつのSlot取得、確認、処理などでコード量が増えた。

ダイアログモデルを使うとSlot収集、確認処理をAlexaに任せられる。

コード量が減る事でバグが少なくなってクオリティが上がるとの事。

ダイアログモデルを使わないコーヒーショップスキル

モデル側の呼び出し名はボイスカフェ。
Slotは4つ(うち、unitは言葉のゆれ吸収用)


Menu.lst、Amount.lst、Size.lstが必要。

サンプル発話の例。
3つのSlotのうち、1つしか言ってくれないなど、いろいろなパターンを組み込んでいる。

Lambda側のコード。
OrderIntentがキモで、Slotの値が無い場合のセッションアトリビュートからの読み込みなどが必要になってしまう。

ダイアログモデルを使うコーヒーショップスキル

インテントのよくあるパターン
①を効率化するのがダイアログモデルの目的


Menu.lstのスロットのオプションに注目!


ユーザーに入力を求めるためにAlexaが話しかける内容、
それに対してユーザーがどう答えるか、などを設定してやる。


最後のスロットの確認は、「本当にXXXでいいですか?」など、くどくなる可能性もあるので有無は判断すればいい。


他のSlot、そしてIntent自体に関しても同じように設定してやる。


Lambdaの方も修正するがSDKヘルパー関数がある。


dialogStateで状態を知ることができる。

コードがどれだけ小さくなったか?

ダイアログモデルのヘルパー関数


上の例では1つ目しか使わなかったので、残りの3つの説明がありました。

  • スロット値を要求するフレーズを動的に変更する
  • スロットの確認フレーズを動的に変更する
  • インテントの確認フレーズを動的に変更する

ダイアログモデルのまとめ


弱点もあるようです。(2018-11現在)


後者の方は回避するコードGiHubfoodieにある(こちら

Q&A

Q1:「1つのSlotで複数の値を取る事はできますか?」
(珈琲とカフェオレなど)
A1:「現時点では難しいです」
(配列で取る事は可能ですが、それぞれの杯数とか処理が・・・)

気になるスキルコーナー

今回もありませんでした。

お知らせ

Alexa Dev Days SUMMIT Tokyo 2018こちら

 12/14,15開催だそうです。(そろそろ埋まりそうだとか・・)

Alexa ハンズオントレーニング

 今回はありませんでした。

・スキル開発者への特典(こちら

  • Tシャツ スキル1つ
  • タンブラー 年末年始に関するスキル1つ
  • Amazon Echo Dot  スキル3つ
  • Amazon Echo Show スキル4つ(うち1つはスクリーン対応)

Echoはどちらかだそうです。

次回 12/20(木)12:00~12:40
第17回
「Alexa Presentation Language(APL)

また、1ヶ月近く空きます。

登録ページこちらですね。

・アンケート

フォームは前回と同じでした。

以上です。

ダイアログモデル、どんな時に使ったらいいかいろいろ考えてました。
確かにLambdaの方のコードは減りますが、その分、分散して見通しが悪くなりますね。それに何か拡張しようとするとヘルパー関数駆使してって感じです。
それならば最初からLambdaで・・・とも思います。

今、StoryLineでスキルを作っているのですが、凝った事をしようと思ったときにそのまま環境を移せないので苦労しています。
どちらの環境で作ればベストか最初の段階で判断できればいいのですが、後になってわかることや思いつくことも多いんです。

今回のダイアログモデルも同じようなイメージを感じました。
便利なのですが、最初の見極めを誤ると二度手間になりそうな・・・
それができる方には便利な手法なんでしょうね。

(おわり)

ブログ村

↓ この記事よかったよ!!という方はクリックお願いいたします。
ブログランキング・にほんブログ村へ
にほんブログ村

人気ブログランキング

↓ この記事よかったよ!!という方はクリックお願いいたします。

人気ブログランキング

シェアする

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

フォローする