[日本語 Alexa] 女優、航空会社、空港、航空会社、動物、有名人、地名などが新たに追加され、益々便利になったリストタイプスロットについて
1 はじめに
AIソリューション部の平内(SIN)です。
先週、新しいリストタイプスロットの追加がアナウンスされました。
Deliver Better User Experiences Faster with New Built-in Slot Types and an Intent
サンプル発話では、そのパラメータとしてスロットが利用されます。
「Alexaスキル開発トレーニングシリーズ 第2回 対話モデルとAlexa SDK」より
スロットには、その取りうる値が予め定義された、組み込みスロットと、全てを開発者が定義するカスタムスロットがありますが、リストタイプのスロットは、組み込みスロットの1つです。
今回は、この、リストタイプのスロットについて少し纏めてみました。
2 組み込みスロットの種類
組み込みスロットには、以下の3種類があります。
- 数値、日付、時刻
- フレーズ
- リスト
(1) 数値、日付、時刻
2018/12/22現在、日本語で利用可能なものは、以下の5種類です。このスロットは、それぞれ決められた形式で値を取り出せます。
スロットタイプ | 説明 | 一例 | 取得形式 |
---|---|---|---|
AMAZON.DATE | 日付 | 今日、明日、7月 | 2015-07-00T9 |
AMAZON.DURATION | 期間 | 5分、5分間 | PT5M |
AMAZON.FOUR_DIGIT_NUMBER | 4桁の数字(※桁数に縛りはない) | 六〇四五 | 6045 |
AMAZON.NUMBER | 数字 | 一、五 | 1,5 |
AMAZON.TIME | 時間 | 10時、朝の4時 | 10:00,04:00 |
(2) フレーズ
2018/12/22現在、日本語で利用可能なフレーズは、以下の1種類です。
スロットタイプ | 説明 | 一例 |
---|---|---|
AMAZON.SearchQuery | 検索クエリー | なぜ空は青いのか、メリーランド州の州都はどこか近くのレストラン |
(3) リスト
2018/12/22現在、全てパブリックベータですが、今回、新たに追加されたものを含め、全部で25種類あります。
スロットタイプ | 説明 | 一例 | |
---|---|---|---|
1 | AMAZON.Actor | 俳優や女優の名前 | 綾瀬はるか、柴咲コウ |
2 | AMAZON.Airline | 航空会社 | ANA、スカイマーク |
3 | AMAZON.Airport | 空港 | 羽田空港、新千歳空港 |
4 | AMAZON.Animal | 動物の名前 | 犬、猫 |
5 | AMAZON.Artist | アーティストの名前 | 葛飾北斎、村上隆 |
6 | AMAZON.Author | 作家名 | 夏目漱石、太宰治 |
7 | AMAZON.Book | 書籍名 | 人間失格、吾輩は猫である |
8 | AMAZON.City | 都市名 | 渋谷、新宿 |
9 | AMAZON.Color | 色 | オレンジ色、紺 |
10 | AMAZON.Corporation | 企業名 | ソフトバンク、日産 |
11 | AMAZON.Country | 国名 | 中国、イギリス |
12 | AMAZON.CreativeWorkType | 創作物の種類 | 小説、漫画 |
13 | AMAZON.DayOfWeek | 週の暦日 | 日曜日、土日、週末 |
14 | AMAZON.FirstName | 日本人の名 | ヒロシ、ハルキ |
15 | AMAZON.Food | 食品名 | 寿司、餃子 |
16 | AMAZON.Genre | メディアのジャンル名 | ロック、洋楽 |
17 | AMAZON.Language | 言語名 | 日本語、英語 |
18 | AMAZON.Month | 暦月名 | 1月、2月 |
19 | AMAZON.Movie | 映画のタイトル | 千と千尋の神隠し、タイタニック |
20 | AMAZON.Person | 有名人の名前 | マツコ・デラックス、イチロー |
21 | AMAZON.Region | 都道府県や地域名 | 東京、大阪 |
22 | AMAZON.Room | 部屋の名前 | キッチン、台所 |
23 | AMAZON.Sport | スポーツ | 野球、サッカー |
24 | AMAZON.StreetName | 地名 | 六本木、西麻布 |
25 | AMAZON.VideoGame | テレビゲーム | スーパーマリオブラザーズ、ゼルダの伝説 |
3 リストタイプスロットを使ったスキル
リストタイプのスロットを使って、簡単なスキルを作ってみます。
「一番好きな動物」は「あなたの本当の性格」を表しています。
らしいです。
という事で、コンテンツは、適当で恐縮ですが、好きな動物で心理テスト を行うスキルです。
作成したインテントは1つ、好きな動物の種類を受け取るためのAnimalIntentです。
そしてスロットは、リストタイプスロットであるAMAZON.Animalを使用しました。
コードは、ざっとこんな感じ
const LaunchRequestHandler: Alexa.RequestHandler = { canHandle(h: Alexa.HandlerInput) { return isMatch(h, ['LaunchRequest']); }, handle(h: Alexa.HandlerInput) { let speak = 'このスキルは、性格を診断するスキルです。'; let reprompt = '貴方の一番好きな動物はなんですか?' return h.responseBuilder .speak(speak + reprompt) .reprompt(reprompt) .getResponse(); } } const AnimalIntentHandler: Alexa.RequestHandler = { canHandle(h: Alexa.HandlerInput) { return isMatch(h, ['AnimalIntent']); }, handle(h: Alexa.HandlerInput) { let animal = '動物'; const request = h.requestEnvelope.request; if (request.type == 'IntentRequest' && request.intent && request.intent.slots) { animal = request.intent.slots['animal'].value; } let speak = animal + 'が好きな貴方は、自立していて、発想力豊か、夜行性、リーダーシップがあります。' return h.responseBuilder .speak(speak) .withShouldEndSession(true) .getResponse(); } };
実行すると、以下のようになります。
動物の種類は、山ほどあります。利用者が言うかも知れない動物を全部列挙することは、恐らく無理でしょう。しかし、リストタイプのスロットがあれば、一発で解決です。
4 スロット値の編集
ちょっと欲張って、好きな動物だけでなく、好きな食べ物でも心理テストができるようにスキルを拡張しようと考えた時、問題が発生してしまいました。
好きな食べ物を受け取るためにインテント(FoodIntent)を追加しました。
そして、スロットは、こちらもリストタイプスロットである、AMAZON.Foodを指定しました。
同じように「ひよこ」が好きって言うと、先程のように、AnimalIntentに入らなくなってしまいました。
これは、「ひよこ」が動物でなく食べ物として認識されてしまったようです。もしかしてひよこ豆???
この問題を解決するには、リストタイプのスロットを編集(追加)することです。
下図では、AMAZON.Animalにひよこを追加しています。
これで、ひよこは、ちゃんと動物として認識されるようになりました。
5 スロット値の一括編集
先程の、スロットの編集には、一括編集というボタンがあります。
こちらを使用すると、たくさんの値を簡単に追加することができます。
送信すると、全てがシノニムとして一気に登録されます。
シノニムが利用できているようすです。
6 最後に
今回は、組み込みスロットの一つである、リストタイプのスロットについて纏めてみました。リストタイプのスロットを使用すると、「動物」や「食べ物」など、全てを列挙することが困難なものでも、簡単利用できます。
今回、女優、航空会社、空港、航空会社、動物、有名人、地名などが、新たに利用可能となったわけですが、今度も、どんどん増えていくことでしょう。スキルの開発は、益々捗りそうです。
弊社では、「Amazon Connect」の導入を検討している方を対象とした無料相談会を毎週開催中です。
また、音声を利用した各種ソリューションの導入支援を行っております。お気軽にお問い合わせください。
チャットボット開発支援
クラウド型コンタクトセンターサービス導入支援