質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

Q&A

0回答

987閲覧

Alexaのダイアログモデルを使ったJSONファイルに対してのLamda関数の実装方法について

failurer

総合スコア4

Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

0グッド

1クリップ

投稿2018/07/18 04:24

編集2018/07/18 07:52

前提・実現したいこと

alexaで受付システムを作っています。
Lambda関数実装に苦戦しています。
ダイアログモデルを使うと、対話中の全てのスロットに値が入っていないとインテントが終わらないという解釈です。アレクサが相手に聞き出すとこまではうまくいっていると思っています。uketuke.jsにアレクサに会話を任せてアレクサ主体で対話を完結させるにはどのような処理を書かなければいけないのでしょうか?
jsでIntentの名前やセッションアトリビュートの名前がjsonに記述されているものと一致していないことは把握しています。

該当のjsonファイル

{ "interactionModel": { "languageModel": { "invocationName": "受付", "intents": [ { "name": "AMAZON.CancelIntent", "samples": [ "キャンセル" ] }, { "name": "AMAZON.HelpIntent", "samples": [ "ヘルプ", "助けて" ] }, { "name": "AMAZON.StopIntent", "samples": [ "ストップ", "やめて" ] }, { "name": "AcceptanceIntent", "slots": [ { "name": "corporation", "type": "AMAZON.Corporation", "samples": [ "{corporation} です", "{corporation} " ] }, { "name": "picname", "type": "AMAZON.Person", "samples": [ "{picname} さんよろしくお願いします", "{picname} さん", "{picname} さんお願いします" ] }, { "name": "visitorname", "type": "AMAZON.Actor", "samples": [ "{visitorname}", "{visitorname} です", "{visitorname} と申します" ] }, { "name": "visitornumber", "type": "AMAZON.NUMBER", "samples": [ "{visitornumber}", "{visitornumber} 人", "{visitornumber} 人です" ] } ], "samples": [ "受付を開いて {picname} を呼び出して {corporation} の {visitorname} です {visitornumber} です" ] }, { "name": "AMAZON.YesIntent", "samples": [ "はい" ] }, { "name": "AMAZON.NoIntent", "samples": [ "いいえ" ] } ], "types": [] }, "dialog": { "intents": [ { "name": "AcceptanceIntent", "confirmationRequired": true, "prompts": { "confirmation": "Confirm.Intent.766062147096" }, "slots": [ { "name": "corporation", "type": "AMAZON.Corporation", "confirmationRequired": true, "elicitationRequired": true, "prompts": { "confirmation": "Confirm.Slot.702387998667.634421989410", "elicitation": "Elicit.Slot.766062147096.1510698603114" } }, { "name": "picname", "type": "AMAZON.Person", "confirmationRequired": true, "elicitationRequired": true, "prompts": { "confirmation": "Confirm.Slot.702387998667.1016225193224", "elicitation": "Elicit.Slot.702387998667.1016225193224" } }, { "name": "visitorname", "type": "AMAZON.Actor", "confirmationRequired": true, "elicitationRequired": true, "prompts": { "confirmation": "Confirm.Slot.702387998667.564409773127", "elicitation": "Elicit.Slot.702387998667.564409773127" } }, { "name": "visitornumber", "type": "AMAZON.NUMBER", "confirmationRequired": true, "elicitationRequired": true, "prompts": { "confirmation": "Confirm.Slot.702387998667.1369613246462", "elicitation": "Elicit.Slot.702387998667.1369613246462" } } ] } ] }, "prompts": [ { "id": "Confirm.Slot.702387998667.634421989410", "variations": [ { "type": "PlainText", "value": "お客様の会社名は {corporation}株式会社でお間違えないですか?" }, { "type": "PlainText", "value": "お客様の会社名は 株式会社 {corporation} でお間違えないですか?" } ] }, { "id": "Elicit.Slot.702387998667.1016225193224", "variations": [ { "type": "PlainText", "value": "弊社の担当者の名前を教えていただけますか?" } ] }, { "id": "Confirm.Slot.702387998667.1016225193224", "variations": [ { "type": "PlainText", "value": "担当者の名前は {picname} でよろしいでしょうか?" } ] }, { "id": "Elicit.Slot.702387998667.564409773127", "variations": [ { "type": "PlainText", "value": "お客様のお名前を教えていただけますか?" } ] }, { "id": "Confirm.Slot.702387998667.564409773127", "variations": [ { "type": "PlainText", "value": "お客様のお名前は {visitorname} でお間違えないですか?" } ] }, { "id": "Elicit.Slot.702387998667.1369613246462", "variations": [ { "type": "PlainText", "value": "お客様のご来社人数を教えていただけますか?" } ] }, { "id": "Confirm.Slot.702387998667.1369613246462", "variations": [ { "type": "PlainText", "value": "お客様のご来社人数は {visitornumber}人でお間違えないですか?" } ] }, { "id": "Confirm.Intent.766062147096", "variations": [ { "type": "PlainText", "value": "{corporation} の {visitorname} 様。ご来社人数は {visitornumber} 人、呼び出すのは担当 {picname} でお間違えないですか?  " } ] }, { "id": "Elicit.Slot.766062147096.1510698603114", "variations": [ { "type": "PlainText", "value": "お客様の御社名を教えていただけますか?" } ] } ] } }

文字数制限があるので作成したuketuke.jsは「Alexaのダイアログモデルを使ったJSONファイルに対してのLamda関数の実装方法について2」のほうへ記載いたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問