2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Alexaでシノニム(同義語)を設定してAWS Lambdaで使う方法

Posted at

「○○さん今どこ?」でAlexaがGoogleカレンダーから人を探してくれるカスタムスキルでシノニム(同義語)を使用したので、設定方法とAWS Lambdaでの使い方まとめます。
以後記事での呼び方は同義語で統一します。

同義語の設定方法

1.画像下部のインテントスロットで変数名(name)と同義語の種類(AMAZON.FirstName)を設定

スクリーンショット 2018-06-22 11.22.34.png

nameにあたる変数名は好きなものを設定、サンプル発話で利用できます。
今回選んだAMAZON.FirstNameは自動的に名前を聞きとりやすくしてくれるもの。他にも日付を聞き取りやすくしてくれる(というか自動で色々な呼び方しても聞き取ってくれる)やつとかある。
これについてはAlexa開発者ポータルの概要みてね。


2.同義語を設定

まずは左のメニューバーから、同義語を設定したいスロットタイプを選択

スクリーンショット 2018-06-22 11.22.52.png
選択すると下の画像のようなページが開かれます。 ここが同義語を設定するページです。 スクリーンショット 2018-06-22 11.23.42.png

今回は苗字や名前、あだ名で呼びかけてもtanakaと変換させるようにします。
"値"の欄に目的の文字列をセット。
"同義語(オプション)"に、苗字や名前等の同義語設定したいワードをどんどん追加していきます。

同義語の設定はこれで以上。

AWS Lambdaで同義語設定した値を使うには

以下の書き方で名前を取得できます。

//nameの部分には自分の設定した変数名を書く
//多分お目当てのスロットタイプを取得してる
var slotName = this.event.request.intent.slots.name;

//スロットタイプの中から目的の値を取り出す
var searchName = slotName.resolutions["resolutionsPerAuthority"][0]["values"][0]["value"]["name"];

値の取り出し方をどうしてこう書くのか、スロットタイプの構造が気になる人は[Alexa] スロット値にシノニム(同義語)を設定してみるが多分詳しく書いてくれているのでいいと思います。

私は上記のリンク先と、開発者ポータルでテストした時のJSON入力欄(下記画像)の内容(下記コード)を参考にしました。


スクリーンショット 2018-06-26 8.06.34.png
	"intent": {
			"name": "SearchIntent",
			"confirmationStatus": "NONE",
			"slots": {
				"name": { 
					"name": "name",
					"value": "たろ",
					"resolutions": {
						"resolutionsPerAuthority": [
							{
								"authority": "amzn1.er-authority.echo-sdk.amzn1.ask.skill.5e808e29-9155-4129-a3ce-2c856dbd0483.AMAZON.FirstName",
								"status": {
									"code": "ER_SUCCESS_MATCH"
								},
								"values": [
									{
										"value": {
											"name": "tanaka",
											"id": "0292e031195ca50fed149b421c7df329"
										}
									}
								]
							}
						]
					},
					"confirmationStatus": "NONE"
				}
			}
		}

"alexa,同義語,設定"とかでググれば色々出てくるはず。 スキル作成中に躓いたからとにかく疑問解消したいって人はカスタムスキル実際に作っている人のを参考にするのがよいかも。
2
1
0

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
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?