AWSの話題を中心に、日々の業務やプログラミングの徒然を綴るエンジニアブログです。

HANDS LAB

HANDS LAB ENGINEERS BLOG

ハンズラボエンジニアブログ

カテゴリー: Alexa

【Alexa】非エンジニアにもできるスキル開発!Storyline続報!

Pocket

こんにちは、無事に新年度を迎えました松本です。

amazon echoシリーズ、一般販売が開始されましたね!
弊社でも、まだなかったecho plusを購入してみました!

開封の儀・・・!


わー、届いた


おぉ・・・なるほどplus、「dotとは一味違うぜ」と言いたげな顔をしている


plus、具体的にdotやecho無印と何が違うのかというと、最大の特徴としてはスマートホームハブ機能を備えている点があげられます。
dotやecho無印は、例えばPhilips HueのライトをAlexaでON/OFFするためにWifiからライト用の無線へ中継する「ブリッジ」が必要になるのですが、
plusはこのブリッジの機能が内臓されているので、追加でブリッジを購入しなくていいんです。


ちょっと後ろの配線が恥ずかしいですが・・・
自席に開発用に置いているechoたちが増えて、賑やかになってきました!
それぞれ形が違うので、集めるのがつい楽しくなってしまいますね。

Storylineがついに日本語スキルに対応!

さて、以前エンジニアブログでもご紹介させていただいた、プログラミング不要で、
直感的にスキル開発ができるStolylineが、URLから生まれ変わる大幅なアップデートを
2月に行っていました。

新URL:https://getstoryline.com/

そしてなんと日本語スキルに対応!

大変丁寧なHowTo記事がすでにあるので、Storylineを使ったカスタムスキルの作り方については
割愛させていただき、フラッシュニュースブリーフィングスキルの方を見てみたいと思います。

参考)Storylineを使ったカスタムスキルの作り方

簡単にAlexaスキルが作れると噂の「Storyline」でスキル開発~公開申請まで実際にやってみた
コーディングなしでサクッとAlexaスキルを作成できるサービス「Storyline」を試してみた

Storylineでフラッシュブリーフィングスキルを作ってみた


↑「New Skill」を押して


↑「New flash briefing」を選択


↑Amazon Developerに登録しているメールアドレスでサインイン
 今回は日本語スキルなのでAmazon.co.jpに紐付くアカウントであるか注意!


↑ここで「Japanese」をチェックするのを忘れずに!


↑「Add post」で今日のニュースを追加してみましょう!


↑入力項目はこんな感じ


↑「Post Type」にテキストと音声と映像がありますね。Spotがあれば映像も活躍するかも?


↑これで「Save」してみます


↑開発者コンソールを見るとちゃんとスキルが追加されてます!


↑デプロイされた内容。ジャンルが自動的にエンタメになるんですね


↑アイコンまで自動でセットされてます
 公開情報はセットされていないのでスキルをリリースする際には、
 そこだけ開発者コンソールで入力が必要です。
 公開情報入力画面へはStorylineの画面右上の「Publish」からもジャンプできます。

フラッシュブリーフィングスキルは公式で作っても簡単なのでStorylineだとどうなるのかな
と思ったんですが、RSSフィードを設定するのではなく、ニュースをここから直接Postでき、
まるでTwitterみたいにニュースを更新できて面白いかもしれないですね!

公式の仕様だけでなくStorylineのようなAlexa関連サービスも日々変わっていて
スピード感に目が回りそうですが、なんとかついていきたいと思います!

Pocket

東急ハンズのAlexaスキルに営業時間ご案内機能を追加しました

Pocket

こんにちは、Echoの招待がようやく届いた松本です。
周りの様子を見ていても徐々に招待メールが来るようになってきている印象ですね。
Echosimやテストシミュレーターもいいんだけど、やっぱり実機で動かす楽しさってあると思うので、早くみんなが手軽に購入できるようになるといいなと思ってます。

新機能リリース!

さて、ハンズラボで開発している東急ハンズのAlexaスキルですが、2月7日に新機能をリリースいたしました!
東急ハンズスキルを有効にしてAlexaに話しかけてみてください。

「アレクサ、ハンズで新宿店の営業時間を調べて」

どうでしょうか、きっと営業時間を答えてくれたと思います!
もちろん「新宿店」だけでなく、お近くの東急ハンズの営業時間も同じようにAlexaがご案内いたします。

東急ハンズの店舗一覧はこちら

営業時間の情報は各店舗のページから取得しています。

Alexaが音声でアナウンスするのは通常営業時間のみですが、営業時間に変更があった場合には
Alexaアプリから確認できる「ホームカード」に表示しますのでそちらも是非ご確認ください。

開発するにあたって

営業時間ご案内機能を開発するにあたり、会話フローを見直し、より自然に呼びかけられるようにサンプル発話の充実を目指しました。

良い会話フローとされる「シンプルな会話」を目指すには、Alexaのセリフをスリムに整える必要があります。
しかし、例えば今回使用している営業時間の変更情報のように、これまで管理してきた情報は、画面に表示することを前提にしたものであることが多く、それをどのように会話フローに組み込むのかは創意工夫が求められるポイントになると思われます。

営業時間ご案内機能の場合は、音声による情報は通常営業時間についてのみに絞り、それ以外はホームカード表示という視覚情報を補助として用いました。
画面付きのEcho Spot、Echo Showが今後登場することも考えるとホームカードは非常に有効な手段ではありますが、音声のみのアナウンスでどこまでスマートに情報伝達できるかも挑戦していきたいですね。

また、サンプル発話の登録について、Amazonは「1インテント当たりのサンプル発話数は30個以上を目安」としています。
「渋谷店まだやってる?」などの、キーワードとなる「営業時間」を含まない、より自然な発話にも対応できるよう、これまで以上に数を増やし、現時点で46個のサンプル発話を登録しました。
一部の表記揺れはAlexa側で吸収して処理してくれますが、日々進化途中ということもあり、処理してもらえるかどうかは一つ一つ試してみなければわからない状態です。

営業時間ご案内機能では、インテント呼び出し時のユーザーの発話に店舗名があってもなくても処理できるように、店舗名の指定がなければ、「どちらの店舗の営業時間を調べますか?」と確認するようになっています。
そこでサンプル発話に、例えば「<店舗名>の営業時間を調べて」と「店舗の営業時間を調べて」という発話にも対応できるように登録を行いました。

しかし実機で「店舗の営業時間を調べて」という発話をテストしたところ、何度呼びかけてもAlexaの認識では「テンポの営業時間を調べて」と変換され、存在しない「テンポ」という名前の店舗の営業時間を調べようとしてしまって、思った通りに動作しないことがわかりました。
現在はさらに「テンポの営業時間」というサンプル発話を登録することで「店舗」が「テンポ」と変換されても店舗名として認識しないように補正しています。

スキル内で実行しているLambda側で補正することも考えましたが、いずれAlexa側の進化で誤変換がなくなる可能性もあるので、今回は手軽にサンプル発話で補正しています。
どちらで補正するかはその都度考慮していく必要があるだろうと考えています。

2/14に自由な検索ワードを受け取れる機能が発表されたり、Alexaはまだまだ進化中!
ハンズラボもVUXとはどういうものなのか試行錯誤しながら一緒に進化していきたいと思います。

Pocket

【Alexa】非エンジニアにもできる!Alexaスキル開発 〜「StoryLine」編〜

Pocket

追記(2018/4/11)

Storylineが大幅にリニューアルし、日本語にも対応するようになっていました!すごい!
コーディングなしでサクッとAlexaスキルを作成できるサービス「Storyline」を試してみた

下記の当時投稿した情報は古くなってしまっていますのでご注意ください。

2017/12/17時点の情報

こんにちは、9月に入社したAWSチームの松本です。
AmazonEchoが発売して1ヶ月が経ちましたね。
招待メール、届いた方どのくらいいらっしゃいますでしょうか?

Echoに搭載されているAlexaの強みは、なんといってもスキルの数の多さ!
現在登録されているスキルの数は2万を超えており、
その数は今後もどんどん増えていくと思われます。
ハンズラボでもAlexaスキルを開発しました。 → 東急ハンズスキル

・・・

さて、Alexaスキルを開発する際、
そのユーザー体験を向上させるのに重要なポイント、それは…
「会話フロー」 です。

音声による情報のやりとりは、ちょっとした言い回しを変えるだけで
会話としてのスムーズさが劇的に向上することがあります。
そしてそういった言い回しの細やかな設計を行うには、繰り返しの微調整や
エンジニア以外の方の意見をいただくことが重要になるのではないでしょうか。

そんなとき、誰でも簡単に文言の修正ができるツールがあったら素敵!
ということで、先日 ハンズラボ Advent Calendar 2017 の12日目の記事で、
プログラム言語を用いずにAlexaスキルが開発できるツール
「StoryLine」をご紹介させていただきました。(※ただし英語・ドイツ語スキルの開発のみ)

紹介といってもスキル作成までの流れを淡々と書いた形になったのですが、
せっかく非エンジニアの方にも気軽にお使いいただける、直感的に操作ができるツールなので
もう少しマインドマップ部分の操作方法にも触れて、改めてご紹介したいと思います。

Storyline

https://thestoryline.io/

会話のスタート地点からマインドマップ形式で会話フローを作成していくと
Alexaスキルが出来上がります!

こちら、残念ながら今のところ対応言語が英語とドイツ語しかないですが、
英語は苦手…という方も安心!スマホの読み上げ機能を使って動かしてみることが可能でした!

事前準備

  1. Googleアカウントの用意
  2. Amazonアカウントの用意
  3. AWS開発者アカウントの用意(ASKを始めるところまで設定しておく

手順

Storylineの使い方について公式動画もあります(英語)

「+Create new」から新しい会話フローを作成します。
2.png

「Connect Coggle Mindmap」をクリック。
これで別サービスのCoggleというマインドマップ作成ツールと連携させます。
画面上はStorylineだけで完結しているのでCoggleとStoryLineを行き来する必要はありません。
3.png

「YES, ALLOW ACCESS」をクリック。
4.png

「Fact App」「Quiz Game App」・・・簡単なテンプレートが自動生成されます
「Create from Scratch」・・・自分で一から会話フローを作成します
今回は「Create from Scratch」を選択します。
5.png

AppName(会話フロー名)を決めます。後でApp一覧から名前を変更することも可能です。
7.png

この会話フローの言語を選択します。「英語(US)」「英語(UK)」「英語(インド)」「ドイツ語」から選択可能です。
8.png

そうすると自由に会話フローを生成できる画面になります。
グレーの部分にカーソルを合わせるとプラスボタンが表示されるのでクリックします。
9.png

そうするとブランチが出てきます。
英語スキルなので、適当に英語のセリフを入れてみます。
このとき、記号、図、フォントの太字斜体指定などができますが、Alexaの読み上げに効果をつけられるわけではないのでここでは使用しません。
10.png

入力規則などはこの「Cheatsheet」を見るとだいたいわかります。
例えば行頭を「//」で始めるとユーザーの発話の指定になります。
行頭が「==」で始めるセリフを複数行入力しておくと、Alexaがその中からランダムに1行選択し、セリフを話します。
11.png

ブランチをクリックするとクリックするとブランチのスタイルを選択できます。
ただし、無料プランでできるのは内側の円の中から色を選択するのみで、
外側の円からの色選択、ブランチの太さの指定などは有料プランになります。
ブランチの色を変更するとそのブランチより先の枝の方の色が一斉に変更されます。

ブランチを右クリックするとブランチの追加・削除・コピー・移動、コメント追加ができます。

ここからブラウザテストもできます。
12.png

「Start playing」で会話フローの「Start」の位置から自動再生、
プルダウンから会話フローの開始地点を指定することもできます。
ユーザーの音声入力シーンになるとマイク許可を求められるので承認します。
13.png

会話フローが完成したらAlexaスキルとして展開してみましょう。
「Deproy」をクリックするとAmazonアカウントとAWS開発者アカウントの登録画面になります。このとき、ASKを始めるところまで進めていないとデプロイが実行されないようなので注意してください。
14.png

「Deploy」ボタンの横に緑のチェックマークが表示されたらAlexaスキル作成完了です。
アマゾンアプリ開発者ポータルにスキルが作成されていると思います。
「テスト」を有効にするように促されるので、その他にも一通りスキルの設定をしましょう。

設定のポイントは呼び出し名を下記のように単語で区切った状態で指定することです。
造語だとなかなかうまく反応しません。
複数の言葉を組み合わせたものがいいと思います。

ここでの設定内容は「Deploy」ボタンを押すたびに元に戻るのでどう設定したかメモした方がいいかもしれません。
呼び出し名の調整以外は、設定しなくても実機テストは可能です。

英語版のスキルなので、実機でテストするには「alexa.amazon.com」に登録されているAlexa対応端末が必要です。
この一覧に先ほど作成されたスキルが表示されると思うので有効にします。
※同じ端末を英語スキルを扱う「alexa.amazon.com」と日本語スキルを扱う「alexa.amazon.co.jp」の両方に登録することはできないようです。
登録先を切り替えるとWifi設定からスタートすることにになりますが、有効にしたスキル情報などは切り替え後も保持されます。

StoryLineは、画面右下の「Conversations」から気軽に問い合わせできる点もよかったです。
アカウントを自分で削除することができないため、ここから依頼したのですが、
対応してくれたスタッフは非常に気さくで対応も結構スムーズでした。

以上です。
今回は英語版スキルの開発ツールでしたが、日本語対応のスキル作成ツールも使ってみたいですね!

参考

音声アプリ戦国時代の救世主?プログラミング無しでAlexa Skillが作れる「Storyline」
【祝Alexa日本上陸】とりあえず日本語でスキルを作ってみる
開発中のAlexaスキルを実機テストする方法

Pocket

Amazon Alexa日本上陸に合わせてAlexaスキルを開発しました!

Pocket

AWSチームの鹿倉です。

2017年10月2日にアマゾンが「Alexa」、「Amazon Echo」を年内に日本で展開のすることを発表しました。そして、我々ハンズラボも日本上陸に合わせて東急ハンズのAlexaスキルの開発に早期に取り組みました。このブログでは今回初めてAlexaスキルの開発をどのように行ったか、またその時出てきた課題などについて共有したいと思います。

Alexaスキル開発の流れ

 

まず、開発〜ローンチまでの主な流れは以下の通りです。

  1. Amazonの開発者コンソールからAlexaスキルを新規追加する。
  2. デバイス(Amazon Echo)をセットアップする。(開発者コンソールにシュミレーターが用意されているので、ひとまずデバイスは無くても開発は進められます)
  3. プログラムを開発する(AWS LambdaもしくはHTTPSベースのAPI)。
  4. テスト(実機でテスト&開発者コンソールのシュミレーターでテスト)
  5. Amazonに申請

 

また、今回はローンチまでの期間が短かったので、以下の機能に絞りました。

  • 各店舗のイベント情報の紹介
  • おすすめ商品の紹介
  • 店舗では売っていないネット限定商品の紹介

 

まずはプロトタイプを作成し、ブラッシュアップしていくスタイルで開発を進めました。プロトタイプはエンジニア1人で2〜3週間ほどで完成させたのですが、実際に試してみると色々問題が浮かび上がってきました。弊社でも引き続き改善を行っているところではありますが、いくつか分かっている問題、改善ポイントについてご紹介いたします。

ユーザーの発話パターンは多種多様であること

 

当たり前の話ですが、ユーザがなんと発話するのかにはいろいろなパターンがあります。例えば、イベント情報を聞く時、「渋谷のイベントを教えて」、「今週のイベントは何?」など場所を知りたいケースや時期を知りたいケースなど、まだ単純に「イベント」とだけ言うユーザーもいます。

Alexaではあらかじめユーザが発話しそうな発話例(サンプル発話)を用意しておく必要があります。「○○のイベントを教えて」と言われたらイベント情報を伝える処理をするというような登録が必要になるのです。社内メンバーにもいろいろ試してもらいながら、できるだけ様々なパターンでも応答できるようにサンプル発話を考えました。また、開発時のサンプルは社内メンバーに限られていたので今後運用フェーズで実際にユーザはどのようにAlexaと会話しているのかデータを収集して改善していくポイントだと考えています。

今あるコンテンツが音声発話した時に聞きづらい

 

今回、イベント情報やおすすめ商品を紹介する機能を作成しましたが、機能としては単純にWebで掲載している情報(文章)をAlexaに読ませているだけです。

これがなんとも、、、音声ではかなり聞きづらいし、長い・・・開発する前からなんとなく想定していたのですが、Alexaが勝手に学習してめちゃくちゃいい感じに発話してくれるのではないかと淡い期待をして開発を進めました。たしかにAlexaはすごくて開発中もどんどん発話がいい感じになっていきます。が、さすがに商品名や商品説明とかは聞きづらいです。(特にハンズはマニアックな商品なども含まれるからかもしれませんが)

今後、この機能を充実させるならコンテンツもWebとは別で音声用のコンテンツを用意すべきだと感じました。また、アメリカではディスプレイ付きのデバイスなどもあるらしいので、デバイスが充実してきたら、ディスプレイ&音声で紹介するような機能を提供できれば便利かもしれません。

Webで検索するよりも、会話形式であった方が便利な機能をユーザに提供した方が良い

 

上記で述べた通り、商品紹介など一方的に会話を進める機能は音声インターフェースよりも、今のところWebの方が良いと感じています。

なので、まずは、音声会話で便利な機能を充実させるべきという方向で改善を進めようと考えています。例えば、ハンズであれば、営業時間や在庫確認、お店までの行き方などのお問い合わせをお電話で受けることがあります。このようなお問い合わせ業務をAlexaで提供することで、よりスピーディにお客様の要求に答えれるようにすること。また従業員の方々の負担を軽減することで、トータルでお客様により良いサービスと提供できるのではないかと考えています。

最後に

ハンズラボでは東急ハンズのAlexaスキルを開発しておりますが、合わせて他の事業社様のAlexaスキル開発についても今後承ります。ご興味のある方は是非弊社にお問い合わせください。

弊社へのお問い合わせはコチラ

Pocket