Alexaの
カスタムスキルを作ろう
@yoshidashingo
2018.2.13
MasterCloud #10 超AWS神回の予感
誰だこのタイトル考えたやつ
吉田真吾
n バックグラウンド
証券システム基盤開発
p 基盤システム開発、Oracleチューニングなど
エバンジェリスト
p 講演113回(2013年実績)
p AWS設計・構築・移行(2014-2015)
n 現在のしごと
(株) セクションナイン 代表取締役社長
p APN コンサルティングパートナー
p DevOps Dockerize Serverless 支援など
(株) 実績等
p AWSウルトラクイズ
初代チャンピオン (2012年)
p AWS Samurai 2014 / 2016
Alexa スキル
• カスタム対話モデル
• スマートホームスキルAPI
• フラッシュブリーフィング
スキルAPI
• ビデオスキルAPI
・Amazon開発者ポータルアカウント
・AWS Lambda(AWSアカウント)
・alexaアプリ(+Amazon.co.jpアカウント)
エコちっち
• Alexaの中で妖精を育てる育
成ゲーム
• インテント
• リセット(たまごに戻す)
• エコちっちの状態確認
• ごはん
• ダンス
• お勉強
• トイレ
• 寝かせる
• 起こす
エコちっち (デモ)
• 「Alexa、エコちっちでリセットして」
• 「Alexa、エコちっちで元気か教えて」
• 「Alexa、エコちっちでごはんを食べさせて」
カード
Alexa SDK for Node.js
こまった!対話のフロー制御
• [発話]状態確認
→おなかがすいてます。ごはんを食べさせてあげますか?
→はい
→(インテント:状態確認※「ごはん」を呼びたいのに)
• [発話]ダンスを踊らせて
→ダンスを踊らせてあげますか?
→はい
→(インテント:ダンス)
ステート
1. ステートの定義
2. ステートに応じたハンドラー
群の定義
3. ハンドラー登録
→ステートに応じて追加した
ハンドラーが呼ばれる
こまった!エコちっちの生涯
• エコちっちの生涯=Lambdaランタイムの
ライフサイクル
• Lambdaが初期化されると「たまご」からスタート
してしまう
→もっと長生きさせたい
セッション
HRアプリ (デモ)
• 「Alexa、オー人事で佐藤さんの給与グレードを
教えて」
• 「Alexa、オー人事で高橋さんの評価を教えて」
• 「Alexa、オー人事で鈴木さんの上司を教えて」
• 「Alexa、オー人事で人事ニュースを教えて」
• 「Alexa、オー人事で自己評価の進捗を教えて」
こまった!スロット別のコマンド制御
• 「Alexa、オー人事で佐藤さんの給与グレードを教
えて」
• 「Alexa、オー人事で高橋さんの評価を教えて」
• 「Alexa、オー人事で鈴木さんの上司を教えて」
• 「Alexa、オー人事で人事ニュースを教えて」
• 「Alexa、オー人事で自己評価の進捗を教えて」
→1つのインテントのスロット別にコマンドがある
こまった!スロット別のコマンド制御
こまった!スロット別のコマンド制御
• Developerポータルで作成したカスタムスロッ
トの値が、シノニムにひっかかった場合はシノ
ニムの「値」で入ってくる
→スロットの「ID (オプション)」を
使うことでSwitchできる
→返答するメッセージはスロットの値(ユー
ザーが発話した単語)をそのままおうむ返しし
てあげるのが自然です
ステートを制するものが
対話モデルを制す
そして結論

Alexaスキルを作ろう