Alexaのリストスロットタイプが追加されていたので触ってみる

こんなツイートが流れてきました。

これは触るしかないですね。

リストスロットタイプの一覧

2018年4月27日時点で日本語スキルが利用可能なリストスロットタイプの一覧をまとめてみました。

スロットタイプ名 説明
AMAZON.Actor 俳優や女優の名前です。
AMAZON.Artist アーティストのフルネームです。
AMAZON.Author 作家のフルネームです。
AMAZON.Book 書籍名です。
AMAZON.City スロットタイプが使用されているロケールで、話し手が一般的に使用する地方都市や大都市を認識します。たとえば、en-INのスキルで使用されている場合、インドの都市になります。
AMAZON.Color 色の名前です。
AMAZON.Corporation 企業の正式名称です。
AMAZON.FirstName スキルのロケールで、話し手が一般的に使用する何千もの一般的な名前を認識します。たとえば、en-INのスキルでは、インド人の名前を認識します。
AMAZON.Food 食品の名前です。
AMAZON.Language スペイン語、タミル語、ヒンディー語、英語などの自然言語です。
AMAZON.Movie 映画のタイトルです。
AMAZON.Person 実在の人物と架空の人物のフルネームです。
AMAZON.Region スキルのロケールで、話し手が一般的に使用する国名や地名を認識します。たとえば、en-INのスキルでは、インド人の英語話者が一般的に認識する地名のことです。
AMAZON.Room 家やその他の建物で一般的な部屋の名前です。
AMAZON.SearchQuery 標準的な検索エンジンに入力するような、検索クエリーのことです。

ここからはこれらの値をいろいろ試してみようと思います。

サンプルの対話モデルを作る

ビルトインスロットタイプを使うには、まず[ビルド]で使用するスロットタイプを登録する必要があります。

ここで登録しておかないと、インテント内でスロットを登録する際に利用できないので気をつけてください。

そのあと登録したスロットタイプを使ったインテントスロットを作成します。

最後にインテントスロットを使ったサンプル発話を作って対話モデルをビルドすればOKです。

サンプルの対話モデルでスキルI/Oを確認する

サンプル:お屠蘇はハングルでなんとよぶ

なんとなく日本っぽいもの + 英語以外のものの組み合わせで試そうとした結果、かなりカオスなチョイスになりました。

{
	"version": "1.0",
	"session": {...},
	"context": {...},
	"request": {
		"type": "IntentRequest",
		"requestId": "amzn1.echo-api.request.XXXXXX",
		"timestamp": "2018-04-27T14:00:06Z",
		"locale": "ja-JP",
		"intent": {
			"name": "FoodQuestionIntent",
			"confirmationStatus": "NONE",
			"slots": {
				"region": {
					"name": "region",
					"confirmationStatus": "NONE"
				},
				"lang": {
					"name": "lang",
					"value": "ハングル",
					"confirmationStatus": "NONE"
				},
				"city": {
					"name": "city",
					"confirmationStatus": "NONE"
				},
				"food": {
					"name": "food",
					"value": "お屠蘇",
					"confirmationStatus": "NONE"
				}
			}
		}
	}
}

そのままそれぞれのslotに入っていますね。

ビルトインスロットタイプを使うメリットって?

上のサンプルだけだと「え、普通にスロット作るのと何が違うの?」となってしまうかもしれません。というのも、ビルトインスロットタイプが威力を発揮するのは、Automatic speech recognition (ASR)の部分だからです。

Alexaでは、ユーザーの発話をどのように解釈して変数化すべきかを、対話モデルのスロット部分で定義する仕組みになっています。そのため「こういう値が入りますよ」と事前に設定しておくことで、より高い精度での発話の認識が可能になります。

しかし人名や会社名などを自力で網羅するのはものすごい労力が必要となります。そこでAmazonが用意するビルトインスロットタイプを利用することで、Amazon側がそのサンプルを提供してくれるようになります。また、ドキュメントには以下のように記載されておりますので、独自のサンプルを追加して拡張するようなことも可能となります。

これらのスロットタイプは拡張して、発話を追加できます。そのためには、同じ名前でカスタムスロットタイプを定義し、追加のアイテムとしてカスタムスロットタイプ値を追加します。発話とスロット値の例については、この後のセクションを参照してください。

https://developer.amazon.com/ja/docs/custom-skills/slot-type-reference.html#list-types

ドキュメントに解釈の例などもありますので、積極的にビルトインスロットタイプを使ってスキル開発を効率化していくことをオススメします。

[PR]WordPressの入門書共著しました

ローカル環境の構築からテーマ作成・サイトの運営やコミュニティの紹介など、
「WordPressを触って終わり」ではなく、仕事でできるようになるには何が必要かがわかるようになる内容になっています。


(目次)
Lesson01:WordPressをはじめよう
Lesson02:必要な環境を整えインストールする
Lesson03:初期設定をしよう
Lesson04:コンテンツの追加・編集とナビゲーションの設定
Lesson05:テーマとプラグインによる外観カスタマイズ
Lesson06:プラグインによる機能の追加
Lesson07:ローカル開発環境をつくろう
Lesson08:テーマ作成の第一歩〜PHPとテーマの基礎
Lesson09:テンプレートファイルの作成
Lesson10:各種テンプレートファイルの作成
Lesson11:テーマカスタマイザーの実装
Lesson12:WordPressを本番環境へデプロイする
Lesson13:サイトの広報と集客
Lesson14:サイトの運営と管理
Lesson15:もっとWordPressを使いこなす・学ぶ

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です