LoginSignup
2
0

More than 5 years have passed since last update.

AlexaSkillのnode.js(V2)で類義語を固定で取得する

Last updated at Posted at 2018-05-16

alexa-skills-kit-sdk-for-nodejs(ask-sdk)にてスロットを取得しようとした時、基本的には以下のようにとってた

const request = handlerInput.requestEnvelope.request; 
var slots = request.intent.slots.slotsName.value; // slotsNameというスロットを取得

しかし、これはユーザーが発したスロットをアレクサが聞き取った単語をそのまま取得する方法である。
しかし、ASKのスロットには類義語IDを設定することができる。

例えば、fruitスロットがオレンジで設定しているものがあった時、以下のような類義語とIDを設定したりできる。

fruitスロット
オレンジ

[類義語]
おれんじ
みかん
ミカン
蜜柑

[id]
orange

この時、ユーザーがfruitスロットのところに蜜柑と言った時、上記のコードでは蜜柑と取得する。
しかし、スロットを固定で取得したかったり、idで取得したかったりする場合は以下のうように取得できる

const request = handlerInput.requestEnvelope.request; 

var slotsValue = request.intent.slots.fruit.resolutions.resolutionsPerAuthority[0].values[0].value.name; // 蜜柑
var slotsId = request.intent.slots.fruit.resolutions.resolutionsPerAuthority[0].values[0].value.id; // orange
2
0
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0