おはようございます!!
これまでAmazon Echoのプログラミングセミナー、
Alexaウェブセミナー「Alexa道場」を紹介させていただいてます。
これまで15回開催(1,2は、ほぼ同内容)され、昨日(11/22)が16回目でした。
約1ヶ月半ぶりでしたが、今回も定番の木曜の昼12時開催でした。
昨日もリアルタイムで受講できましたので、簡単に紹介させていただきます。
(※ 画面コピーはあくまでも動画の一部です。見にくい部分もあると思いますが御了承ください。)
(※ 今回は画像が荒く、読めない場合もあります。)
目次
第16回Alexa道場:「ダイアログモデル」
昨日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の値が無い場合のセッションアトリビュートからの読み込みなどが必要になってしまう。
ダイアログモデルを使うコーヒーショップスキル
インテントのよくあるパターン
①を効率化するのがダイアログモデルの目的
ユーザーに入力を求めるためにAlexaが話しかける内容、
それに対してユーザーがどう答えるか、などを設定してやる。
最後のスロットの確認は、「本当にXXXでいいですか?」など、くどくなる可能性もあるので有無は判断すればいい。
他のSlot、そしてIntent自体に関しても同じように設定してやる。
コードがどれだけ小さくなったか?
ダイアログモデルのヘルパー関数
上の例では1つ目しか使わなかったので、残りの3つの説明がありました。
- スロット値を要求するフレーズを動的に変更する
- スロットの確認フレーズを動的に変更する
- インテントの確認フレーズを動的に変更する
ダイアログモデルのまとめ
後者の方は回避するコードがGiHubのfoodieにある(こちら)
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でスキルを作っているのですが、凝った事をしようと思ったときにそのまま環境を移せないので苦労しています。
どちらの環境で作ればベストか最初の段階で判断できればいいのですが、後になってわかることや思いつくことも多いんです。
今回のダイアログモデルも同じようなイメージを感じました。
便利なのですが、最初の見極めを誤ると二度手間になりそうな・・・
それができる方には便利な手法なんでしょうね。
(おわり)