Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
AlexaSkillのVUIを改善した話
Search
euledge
April 28, 2021
Technology
0
64
AlexaSkillのVUIを改善した話
JAWS-UG浜松 AWS勉強会 2021#4で話した資料です。
個人開発のAlexaスキルを改善するために行ったことの紹介
euledge
April 28, 2021
Tweet
Share
More Decks by euledge
See All by euledge
初Amplifyデプロイした話.pdf
euledge
0
120
春だから始めようVue.js/2018-spring-hamamatsujs-3-vuejs
euledge
0
510
Other Decks in Technology
See All in Technology
「どこから読む?」コードとカルチャーに最速で馴染むための実践ガイド
zozotech
PRO
0
540
Snowflake Intelligenceにはこうやって立ち向かう!クラシルが考えるAI Readyなデータ基盤と活用のためのDataOps
gappy50
0
270
AWSで始める実践Dagster入門
kitagawaz
1
700
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
10
75k
Terraformで構築する セルフサービス型データプラットフォーム / terraform-self-service-data-platform
pei0804
1
190
なぜスクラムはこうなったのか?歴史が教えてくれたこと/Shall we explore the roots of Scrum
sanogemaru
5
1.6k
5年目から始める Vue3 サイト改善 #frontendo
tacck
PRO
3
230
「その開発、認知負荷高すぎませんか?」Platform Engineeringで始める開発者体験カイゼン術
sansantech
PRO
2
130
「全員プロダクトマネージャー」を実現する、Cursorによる仕様検討の自動運転
applism118
22
12k
職種の壁を溶かして開発サイクルを高速に回す~情報透明性と職種越境から考えるAIフレンドリーな職種間連携~
daitasu
0
170
新アイテムをどう使っていくか?みんなであーだこーだ言ってみよう / 20250911-rpi-jam-tokyo
akkiesoft
0
320
ブロックテーマ時代における、テーマの CSS について考える Toro_Unit / 2025.09.13 @ Shinshu WordPress Meetup
torounit
0
130
Featured
See All Featured
GraphQLとの向き合い方2022年版
quramy
49
14k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
113
20k
Building an army of robots
kneath
306
46k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
23
1.4k
How GitHub (no longer) Works
holman
315
140k
Gamification - CAS2011
davidbonilla
81
5.4k
What’s in a name? Adding method to the madness
productmarketing
PRO
23
3.7k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
YesSQL, Process and Tooling at Scale
rocio
173
14k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.1k
Transcript
Alexa SkillのVUIを改善した話 @eulede (kuroyanagi) JAWS-UG浜松 AWS勉強会 2021#4
Kuroyanagi Hitoshi @euledge https://github.com/euledge 黒 柳 仁 自己紹介 普段は SpringBoot(Java)
+ Vue.js でお仕事してます。 開発チームの体制づくりのためのツール導入とか、フレームワークづくりとか 最近はDDDとかAmplify+LINE APIに興味あり
袋井市のオープンデータ活用事例 Alexaスキル「ゴミ出しふくろい」 を掲載していただきました。
Alexa Hosted Skill
今までの変遷 2019/6 最初のバージョン公開 2020/10 袋井市から実証実験に使いたいとの連絡 放置していたので慌てて2020年のデータに対応 2020/12 スキル名称を「ゴミ出しふくろい」に変更 2021/2 街の名前を覚える機能追加
2021/4 リマインド機能 EchoShow対応
https://alexa-skills.amazon.co.jp/apis/custom/skills/amzn1.ask.skill.2a344529-21df-4d41-9d39-cce634cf07ed/launch -
川井はカワイイ? 川井(かわい)をアレクサが ‘かわいい’ と間違える 東通り(ひがしどおり) ? 東同笠(ひがしどうり)
値 同義語 東通り ひがしどおり、ひがしどうり、ひがしどーり、 東通り、東通 東同笠 ひがしどおり、ひがしどうり、ひがしどーり、 東通り、東通 値 同義語
川井東 かわいい、かわい、かわいひがし、かわいいひ がし、川井
えっ、また聞かれるの? 昨日 今日
let persistAttributes = (await attributesManager.getPersistentAttributes()) || {}; persistAttributes.lastAccess = dayjs().toISOString();
persistAttributes.streetName = streetName; attributesManager.setPersistentAttributes(persistAttributes); await attributesManager.savePersistentAttributes(); Alexa Skill KitでDynamoDBに対して attributesManagerでアクセスできる。
町名の発音はAlexaには、むづかしい 見取 初越 西同笠 木原 上新池 みどり はづこし にしどうり きわら
かみにいけ
読み仮名も一緒に渡して読ませる function getPronounceTown(streetName) { const street = area_days.find((item) => item.street
=== streetName); const streetPronunciation = street.streetPronunciation; return `<break time="0.2s" /><say-as interpret-as="address">${streetPronunciation}</say- as><break time="0.1s" />`; } const speechText = `${getPronounceTown(resolutionName)}の次の収集日 は ${collectionDate} です。<break time="0.2s" /> 次のご利用の時にも<break time="0.1s" /> ${getPronounceTown(resolutionName)}<break time="0.1s" />の収集日をお知らせ しますか?`; {"street": "木原", "area": "袋井西", "streetPronunciation": "木原(きわら)", "areaPronunciation": "袋井西", "alias": "", "days": "20210309 20210324 20210408 20210422 }, { "street": "土橋", "area": "袋井西", "streetPronunciation": "土橋(つちはし)", "areaPronunciation" : "袋井西", "alias" : "", "days" : "20210309 20210324 20210408 20210422 }, { "street" : "可睡" , "area" : "袋井北" , "streetPronunciation" : "可睡(かすい)" , "areaPronunciation" : "袋井北", "alias" : "かすい" , "days" : "20210311 20210326 20210413 20210427 }
音声の補助としてディスプレイも使う
いや、この前聞いたけど忘れちゃった Alexaは基本的には自発的には しゃべってくれない。 前の日になったら 教えてほしいな
リマインダーに追加するにはアクセス権の許可が必要 const client = handlerInput.serviceClientFactory.getReminderManagementServiceClient(); const reminderRequest = { trigger:
{ type: "SCHEDULED_ABSOLUTE", // 指定時刻にリマインド scheduledTime: remindAt, }, alertInfo: { spokenInfo: { content: [ { locale: "ja-JP", text: `明日は${streetName}の不燃物収集日です。`, }, ], }, }, pushNotification: { status: "ENABLED", }, }; console.log(JSON.stringify(reminderRequest)); const reminderResponse = await client.createReminder(reminderRequest); console.log(JSON.stringify(reminderResponse));
2. 申請されたスキルは、スキルがリマインダーにアクセスする必要がある理由に関する詳細情報をユーザーに提示していません。 スキルはこちらのドキュメントにリストされているサンプルメッセージに則った音声プロンプトを提供し、 またユーザーがパーミッションを許可する為のカードを提示する必要があります。 カードについての詳細はこちらを参照してください。 補足: スキルの権限について、なんの権限が必要なのかどうして必要なのかという理由をユーザーに提示しておりません。 3. スキルは、各リマインダーまたはリマインダーの一連を設定する際に、ユーザーの許可を取得しませんでした。 スキルとユーザー間の対話の中で、スキルが明確な許可を得ていることを確認してください。
例:毎週のトーナメントのために、リマインダーを週毎に設定しますか? リマインダ―の詳細については、こちら を参照してください。リクエスト例については こちら を参照してください。 リマインダーに関する申請時のフィードバック
Alexa Skill開発の情報ソース • Alexa道場 Alexa Skills Kit: Webinars (amazon.com) •
Alexa Skills Kit (ASK) (日本語) - Forums (amazon.com) • Slack alexa-jp
Alexa Skill開発者にお得な特典! AWS Promotional Credits for Alexa - Amazon Alexa