ハンズラボエンジニアブログAWSの話題を中心に、日々の業務やプログラミングの徒然を綴るエンジニアブログです。Alexa【Alexa】非エンジニアにもできるスキル開発!Storyline続報!Alexa2018年4月12日MatsumotoSaraPocketこんにちは、無事に新年度を迎えました松本です。plusを購入してみました!開封の儀・・・!わー、届いたおぉ・・・なるほどplus、「dotとは一味違うぜ」と言いたげな顔をしているplus、具体的にdotやecho無印と何が違うのかというと、最大の特徴としてはスマートホームハブ機能を備えている点があげられます。HueのライトをAlexaでON/OFFするためにWifiからライト用の無線へ中継する「ブリッジ」が必要になるのですが、plusはこのブリッジの機能が内臓されているので、追加でブリッジを購入しなくていいんです。自席に開発用に置いているechoたちが増えて、賑やかになってきました!それぞれ形が違うので、集めるのがつい楽しくなってしまいますね。直感的にスキル開発ができるStolylineが、URLから生まれ変わる大幅なアップデートを2月に行っていました。新URL:https://getstoryline.com/そしてなんと日本語スキルに対応!大変丁寧なHowTo記事がすでにあるので、Storylineを使ったカスタムスキルの作り方については割愛させていただき、フラッシュニュースブリーフィングスキルの方を見てみたいと思います。Type」にテキストと音声と映像がありますね。Spotがあれば映像も活躍するかも?↑これで「Save」してみます↑開発者コンソールを見るとちゃんとスキルが追加されてます!↑デプロイされた内容。へはStorylineの画面右上の「Publish」からもジャンプできます。フラッシュブリーフィングスキルは公式で作っても簡単なのでStorylineだとどうなるのかなと思ったんですが、RSSフィードを設定するのではなく、ニュースをここから直接Postでき、まるでTwitterみたいにニュースを更新できて面白いかもしれないですね!公式の仕様だけでなくStorylineのようなAlexa関連サービスも日々変わっていてスピード感に目が回りそうですが、なんとかついていきたいと思います!Pocket東急ハンズのAlexaスキルに営業時間ご案内機能を追加しましたAlexa2018年2月23日MatsumotoSaraPocketこんにちは、Echoの招待がようやく届いた松本です。周りの様子を見ていても徐々に招待メールが来るようになってきている印象ですね。Echosimやテストシミュレーターもいいんだけど、やっぱり実機で動かす楽しさってあると思うので、早くみんなが手軽に購入できるようになるといいなと思ってます。新機能リリース!さて、ハンズラボで開発している東急ハンズのAlexaスキルですが、2月7日に新機能をリリースいたしました!東急ハンズスキルを有効にしてAlexaに話しかけてみてください。「アレクサ、ハンズで新宿店の営業時間を調べて」どうでしょうか、きっと営業時間を答えてくれたと思います!もちろん「新宿店」だけでなく、お近くの東急ハンズの営業時間も同じようにAlexaがご案内いたします。東急ハンズの店舗一覧はこちら営業時間の情報は各店舗のページから取得しています。Alexaが音声でアナウンスするのは通常営業時間のみですが、営業時間に変更があった場合にはAlexaアプリから確認できる「ホームカード」に表示しますのでそちらも是非ご確認ください。開発するにあたって営業時間ご案内機能を開発するにあたり、会話フローを見直し、より自然に呼びかけられるようにサンプル発話の充実を目指しました。良い会話フローとされる「シンプルな会話」を目指すには、Alexaのセリフをスリムに整える必要があります。今回使用している営業時間の変更情報のように、これまで管理してきた情報は、画面に表示することを前提にしたものであることが多く、それをどのように会話フローに組み込むのかは創意工夫が求められるポイントになると思われます。営業時間ご案内機能の場合は、音声による情報は通常営業時間についてのみに絞り、それ以外はホームカード表示という視覚情報を補助として用いました。Showが今後登場することも考えるとホームカードは非常に有効な手段ではありますが、音声のみのアナウンスでどこまでスマートに情報伝達できるかも挑戦していきたいですね。サンプル発話の登録について、Amazonは「1インテント当たりのサンプル発話数は30個以上を目安」としています。「渋谷店まだやってる?」などの、キーワードとなる「営業時間」を含まない、より自然な発話にも対応できるよう、これまで以上に数を増やし、現時点で46個のサンプル発話を登録しました。一部の表記揺れはAlexa側で吸収して処理してくれますが、日々進化途中ということもあり、処理してもらえるかどうかは一つ一つ試してみなければわからない状態です。営業時間ご案内機能では、インテント呼び出し時のユーザーの発話に店舗名があってもなくても処理できるように、店舗名の指定がなければ、「どちらの店舗の営業時間を調べますか?」と確認するようになっています。そこでサンプル発話に、例えば「<店舗名>の営業時間を調べて」と「店舗の営業時間を調べて」という発話にも対応できるように登録を行いました。実機で「店舗の営業時間を調べて」という発話をテストしたところ、何度呼びかけてもAlexaの認識では「テンポの営業時間を調べて」と変換され、存在しない「テンポ」という名前の店舗の営業時間を調べようとしてしまって、思った通りに動作しないことがわかりました。現在はさらに「テンポの営業時間」というサンプル発話を登録することで「店舗」が「テンポ」と変換されても店舗名として認識しないように補正しています。スキル内で実行しているLambda側で補正することも考えましたが、いずれAlexa側の進化で誤変換がなくなる可能性もあるので、今回は手軽にサンプル発話で補正しています。どちらで補正するかはその都度考慮していく必要があるだろうと考えています。2/14に自由な検索ワードを受け取れる機能が発表されたり、Alexaはまだまだ進化中!ハンズラボもVUXとはどういうものなのか試行錯誤しながら一緒に進化していきたいと思います。Alexa2017年12月18日MatsumotoSaraPocket追記(2018/4/11)Storylineが大幅にリニューアルし、日本語にも対応するようになっていました!すごい!コーディングなしでサクッとAlexaスキルを作成できるサービス「Storyline」を試してみた下記の当時投稿した情報は古くなってしまっていますのでご注意ください。2017/12/17時点の情報こんにちは、9月に入社したAWSチームの松本です。AmazonEchoが発売して1ヶ月が経ちましたね。招待メール、届いた方どのくらいいらっしゃいますでしょうか?Echoに搭載されているAlexaの強みは、なんといってもスキルの数の多さ!現在登録されているスキルの数は2万を超えており、その数は今後もどんどん増えていくと思われます。ハンズラボでもAlexaスキルを開発しました。音声による情報のやりとりは、ちょっとした言い回しを変えるだけで会話としてのスムーズさが劇的に向上することがあります。いった言い回しの細やかな設計を行うには、繰り返しの微調整やエンジニア以外の方の意見をいただくことが重要になるのではないでしょうか。12日目の記事で、プログラム言語を用いずにAlexaスキルが開発できるツール「StoryLine」をご紹介させていただきました。(※ただし英語・ドイツ語スキルの開発のみ)紹介といってもスキル作成までの流れを淡々と書いた形になったのですが、せっかく非エンジニアの方にも気軽にお使いいただける、直感的に操作ができるツールなのでもう少しマインドマップ部分の操作方法にも触れて、改めてご紹介したいと思います。new」から新しい会話フローを作成します。Mindmap」をクリック。これで別サービスのCoggleというマインドマップ作成ツールと連携させます。画面上はStorylineだけで完結しているのでCoggleとStoryLineを行き来する必要はありません。ACCESS」をクリック。Scratch」を選択します。AppName(会話フロー名)を決めます。後でApp一覧から名前を変更することも可能です。この会話フローの言語を選択します。「英語(US)」「英語(UK)」「英語(インド)」「ドイツ語」から選択可能です。すると自由に会話フローを生成できる画面になります。グレーの部分にカーソルを合わせるとプラスボタンが表示されるのでクリックします。するとブランチが出てきます。英語スキルなので、適当に英語のセリフを入れてみます。このとき、記号、図、フォントの太字斜体指定などができますが、Alexaの読み上げに効果をつけられるわけではないのでここでは使用しません。入力規則などはこの「Cheatsheet」を見るとだいたいわかります。行頭を「//」で始めるとユーザーの発話の指定になります。行頭が「==」で始めるセリフを複数行入力しておくと、Alexaがその中からランダムに1行選択し、セリフを話します。ブランチをクリックするとクリックするとブランチのスタイルを選択できます。外側の円からの色選択、ブランチの太さの指定などは有料プランになります。ブランチの色を変更するとそのブランチより先の枝の方の色が一斉に変更されます。ブランチを右クリックするとブランチの追加・削除・コピー・移動、コメント追加ができます。ここからブラウザテストもできます。playing」で会話フローの「Start」の位置から自動再生、プルダウンから会話フローの開始地点を指定することもできます。ユーザーの音声入力シーンになるとマイク許可を求められるので承認します。会話フローが完成したらAlexaスキルとして展開してみましょう。「Deproy」をクリックするとAmazonアカウントとAWS開発者アカウントの登録画面になります。このとき、ASKを始めるところまで進めていないとデプロイが実行されないようなので注意してください。「Deploy」ボタンの横に緑のチェックマークが表示されたらAlexaスキル作成完了です。アマゾンアプリ開発者ポータルにスキルが作成されていると思います。「テスト」を有効にするように促されるので、その他にも一通りスキルの設定をしましょう。設定のポイントは呼び出し名を下記のように単語で区切った状態で指定することです。造語だとなかなかうまく反応しません。複数の言葉を組み合わせたものがいいと思います。ここでの設定内容は「Deploy」ボタンを押すたびに元に戻るのでどう設定したかメモした方がいいかもしれません。呼び出し名の調整以外は、設定しなくても実機テストは可能です。英語版のスキルなので、実機でテストするには「alexa.amazon.com」に登録されているAlexa対応端末が必要です。この一覧に先ほど作成されたスキルが表示されると思うので有効にします。※同じ端末を英語スキルを扱う「alexa.amazon.com」と日本語スキルを扱う「alexa.amazon.co.jp」の両方に登録することはできないようです。登録先を切り替えるとWifi設定からスタートすることにになりますが、有効にしたスキル情報などは切り替え後も保持されます。StoryLineは、画面右下の「Conversations」から気軽に問い合わせできる点もよかったです。対応してくれたスタッフは非常に気さくで対応も結構スムーズでした。Alexa2017年11月8日ハンズラボPocketAWSチームの鹿倉です。Echo」を年内に日本で展開のすることを発表しました。我々ハンズラボも日本上陸に合わせて東急ハンズのAlexaスキルの開発に早期に取り組みました。このブログでは今回初めてAlexaスキルの開発をどのように行ったか、またその時出てきた課題などについて共有したいと思います。Alexaスキル開発の流れまず、開発〜ローンチまでの主な流れは以下の通りです。Amazonの開発者コンソールからAlexaスキルを新規追加する。Echo)をセットアップする。LambdaもしくはHTTPSベースのAPI)。テスト(実機でテスト&開発者コンソールのシュミレーターでテスト)Amazonに申請また、今回はローンチまでの期間が短かったので、以下の機能に絞りました。店舗では売っていないネット限定商品の紹介まずはプロトタイプを作成し、ブラッシュアップしていくスタイルで開発を進めました。プロトタイプはエンジニア1人で2〜3週間ほどで完成させたのですが、実際に試してみると色々問題が浮かび上がってきました。弊社でも引き続き改善を行っているところではありますが、いくつか分かっている問題、改善ポイントについてご紹介いたします。ユーザーの発話パターンは多種多様であること当たり前の話ですが、ユーザがなんと発話するのかにはいろいろなパターンがあります。イベント情報を聞く時、「渋谷のイベントを教えて」、「今週のイベントは何?」など場所を知りたいケースや時期を知りたいケースなど、まだ単純に「イベント」とだけ言うユーザーもいます。Alexaではあらかじめユーザが発話しそうな発話例(サンプル発話)を用意しておく必要があります。「○○のイベントを教えて」と言われたらイベント情報を伝える処理をするというような登録が必要になるのです。社内メンバーにもいろいろ試してもらいながら、できるだけ様々なパターンでも応答できるようにサンプル発話を考えました。開発時のサンプルは社内メンバーに限られていたので今後運用フェーズで実際にユーザはどのようにAlexaと会話しているのかデータを収集して改善していくポイントだと考えています。今あるコンテンツが音声発話した時に聞きづらい今回、イベント情報やおすすめ商品を紹介する機能を作成しましたが、機能としては単純にWebで掲載している情報(文章)をAlexaに読ませているだけです。これがなんとも、、、音声ではかなり聞きづらいし、長い・・・開発する前からなんとなく想定していたのですが、Alexaが勝手に学習してめちゃくちゃいい感じに発話してくれるのではないかと淡い期待をして開発を進めました。たしかにAlexaはすごくて開発中もどんどん発話がいい感じになっていきます。商品名や商品説明とかは聞きづらいです。(特にハンズはマニアックな商品なども含まれるからかもしれませんが)今後、この機能を充実させるならコンテンツもWebとは別で音声用のコンテンツを用意すべきだと感じました。アメリカではディスプレイ付きのデバイスなどもあるらしいので、デバイスが充実してきたら、ディスプレイ&音声で紹介するような機能を提供できれば便利かもしれません。Webで検索するよりも、会話形式であった方が便利な機能をユーザに提供した方が良い上記で述べた通り、商品紹介など一方的に会話を進める機能は音声インターフェースよりも、今のところWebの方が良いと感じています。音声会話で便利な機能を充実させるべきという方向で改善を進めようと考えています。ハンズであれば、営業時間や在庫確認、お店までの行き方などのお問い合わせをお電話で受けることがあります。このようなお問い合わせ業務をAlexaで提供することで、よりスピーディにお客様の要求に答えれるようにすること。従業員の方々の負担を軽減することで、トータルでお客様により良いサービスと提供できるのではないかと考えています。最後にハンズラボでは東急ハンズのAlexaスキルを開発しておりますが、合わせて他の事業社様のAlexaスキル開発についても今後承ります。ご興味のある方は是非弊社にお問い合わせください。Beanstalk(4)GitHub(2)Go(1)IAM(1)JavaScript(3)Kinesis(1)Lambda(7)S3(1)SQS(1)Vue.js(1)serverless(3)イベント(11)キーボード部(1)スクラム(1)デザイン(2)ブロックチェーン(1)新人研修(15)暗号通貨(1)機械学習(1)CONTACTハンズラボへのお問い合わせ、取材・講演のご依頼は、こちらからお願い致します。折り返し担当者よりご連絡させていただきます。RESERVED.トップ。