Gracias por tu visita. Esta página solo está disponible en inglés.
Alexa Blogs Alexa Developer Blogs /blogs/alexa/feed/entries/atom 2019-09-13T20:05:12+00:00 Apache Roller /blogs/alexa/post/1b35938c-20d6-4f06-80f6-5b2f60400b8d/announcing-the-winners-of-jp-alexa-developer-skills-award Alexa Developerスキルアワード2019受賞結果 Motoko Onitsuka 2019-09-12T01:53:14+00:00 2019-09-12T01:53:14+00:00 <p><img alt="" src="https://m.media-amazon.com/images/G/01/mobile-apps/dex/alexa/alexa-skills-kit/jp/blog_JP_skill_award_2019_954_240._CB1568019434_.png" style="height:480px; width:1908px" /></p> <p>何度でも使いたくなるような魅力あふれるAlexaスキル開発の場をご提供することを目的に開催された<a href="https://amazonalexaskillawards2019.splashthat.com">Alexa Developer スキルアワード2019</a>の受賞者を発表いたします。日本での開発者向けコンテストとして2回目の今回は、応募作品がスキルストアに公開されていることが条件となり、昨年と比べて応募のハードルが上がりましたが、5月9日~8月25日の応募期間内に100件を超えるご応募をいただきました。スキルを開発いただいた全ての開発者の皆様に、心から感謝いたします。</p> <p><img alt="" src="https://m.media-amazon.com/images/G/01/mobile-apps/dex/alexa/alexa-skills-kit/jp/blog_JP_skill_award_2019_954_240._CB1568019434_.png" style="height:480px; width:1908px" /></p> <p>何度でも使いたくなるような魅力あふれるAlexaスキル開発の場をご提供することを目的に開催された<a href="https://amazonalexaskillawards2019.splashthat.com">Alexa Developer スキルアワード2019</a>の受賞者を発表いたします。日本での開発者向けコンテストとして2回目の今回は、応募作品がスキルストアに公開されていることが条件となり、昨年と比べて応募のハードルが上がりましたが、5月9日~8月25日の応募期間内に100件を超えるご応募をいただきました。スキルを開発いただいた全ての開発者の皆様に、心から感謝いたします。<br /> 審査は、1)継続性(ユーザーが何度でも使いたくなるスキル)、2)わかりやすさ(ユーザーが使いやすい音声インターフェイス)、3)独創性(アイデア・技術が独創的)の3項目を基準に行われました。<br /> 今回の応募作品には、評価基準の一つである「継続性」を意識した、会話デザインの洗練されたスキルが多数ありました。APLやSSMLを活用して独自の世界観を創造したゲームスキルや、ウェブゲームをAlexaがナビゲートするような斬新なアイデアもあり、スキル開発が新たなステージへ進化している様子が伺えました。<br /> <br /> 受賞作となったスキルはAmazon.co.jpの<a href="https://www.amazon.co.jp/ref=askdev19/b?ie=UTF8&amp;node=7470919051">スキルアワード特集ページ</a>でも本日から~10月9日まで、掲載されます。ぜひ使ってみてください。<br /> 以下、スキル名、応募者・チーム名、応募者によるスキルの説明、紹介動画、審査委員からのコメントの順にご紹介しています。</p> <p>&nbsp;</p> <h2><strong>最優秀賞 Alexa Developer スキルグランプリ</strong></h2> <p><a href="https://www.amazon.co.jp/gp/product/B07WV9N617">どうぶつびより - 動物をふらせて消して痛快ゲーム!</a>(ボイスアップラボ株式会社)<br /> どうぶつびよりは「対戦型 落ちものパズルゲーム」。スマホやパソコンのWebゲームブラウザでゲーム画面を見ながらプレイします。同時にアクセスする他のプレイヤーとリアルタイムで協力したりバトルできます。好きな動物をふらせて、4個つなげてどんどん消して、高得点を目指せ!<br /> 動画:<a href="https://youtu.be/wnJQ9BcRn2c">https://youtu.be/wnJQ9BcRn2c</a><br /> 審査コメント:声で対戦できるというこれまでにないコンセプトで、Alexaの使い方の幅を広げている。高度な技術が使われているにも関わらず、シンプルで誰でも簡単に遊べるVUIデザインと、洗練されたグラフィクスで魅力あふれるスキルに仕上がっている。ゲームの完成度も高い。</p> <p>&nbsp;</p> <h2><strong>部門賞</strong></h2> <h2><strong>ゲーム部門</strong></h2> <p><a href="https://www.amazon.co.jp/dp/B07W6SCCS1">ダーツの対戦</a>(五十嵐祐介)<br /> 2人でのダーツの対戦をサポートするスキルです。ゲーム選択後、ダーツの各ラウンドでの得点を伝えると、自動的に得点を計算し、ゲームの進行をしてくれます。ゲームの進行をスムーズにし、スキルを使いやすくする複数の便利機能を搭載しています。<br /> 動画:<a href="https://youtu.be/Uva5iGdTNLI">https://youtu.be/Uva5iGdTNLI</a><br /> 審査コメント:気軽に声でスコアを記録でき、Alexaと親和性が高い。プレイヤーがゲームに集中できるようにAlexaがスコアリングをアシストするというコンセプトは、ほかのゲームやスポーツへの応用の可能性も考えられる。ゲームに必要な情報を画面にうまく表示できている。</p> <h2><strong>キッズ部門</strong></h2> <p><a href="https://www.amazon.co.jp/dp/B07W1J54Q9/">サカナノジカン</a>(サカナノジカン)<br /> 「サカナノジカン」はEcho ShowやEcho Spotなど、画面付きEcho端末を水槽に見立てて サカナ育成を楽しむスキルです。(画面のないEcho端末でも楽しむことができます。)<br /> 動画:<a href="https://youtu.be/nYXrQD8EBxA">https://youtu.be/nYXrQD8EBxA</a><br /> 審査コメント:コンセプトが分かりやすく、「育てる」だけでなく、遊びのギミックがちりばめられていて、飽きのこない工夫が施されている。ビジュアルもポップで楽しい。親子で楽しめる育成ゲームを音声とビジュアルを活用し、シンプルでわかりやすいVUIで仕上げている。</p> <h2><strong>ヘルスケア部門</strong></h2> <p><a href="https://www.amazon.co.jp/dp/B07WW3HZXB">ランナビ</a>(CYハッカソン&amp;Lab. チームランナビ )<br /> ランナビは、あなたのランニングをサポートするスキルです。目標の消費カロリーに基づいて、走行距離と走行時間を算出します。途中で消費カロリーを確認することもできます。<br /> 動画:<a href="https://youtu.be/uAQMPrcXHaE">https://youtu.be/uAQMPrcXHaE</a><br /> 審査コメント:BGMが流れる工夫や、途中で消費カロリーがわかるのが良い。デバイスの位置情報を活用したアイデアであり、今後Alexa Mobile Accessory Kitを採用したモバイルデバイスの普及に伴い、様々な発展系が期待される。</p> <h2><strong>シニア部門</strong></h2> <p><a href="https://www.amazon.co.jp/dp/B07S91M88Y">回想新聞 for Alexa</a>(回想新聞社&ヘッドウォータース )<br /> 昭和の懐かしいニュースを伝える「回想新聞」のバックナンバーを音声でも楽しめるスキルです。レクリエーションやお家での会話に役立てたり、読み聞かせや問いかけを通して、脳トレに最適な「回想法」を気軽に体験できるコンテンツとしてもお役立てください。<br /> 動画:<a href="https://youtu.be/W0pwAzknY8Q">https://youtu.be/W0pwAzknY8Q</a><br /> 審査コメント:シニア世代が、昔を懐かしむニーズにマッチしている。コンテンツも充実しており、継続性が見込まれる。読み上げのスピードもゆっくりで聞きやすく、シニアに優しいVUIに仕上げられている。</p> <p>&nbsp;</p> <h2><strong>特別賞</strong></h2> <h2><strong>マルチモーダル賞</strong>:音声と画像の両方で優れたインターフェースをAPLで実現しているスキル</h2> <p><a href="https://www.amazon.co.jp/dp/B07RC3VVFG/">仮想彼女</a>(Create a fantasy YUMA)<br /> 人工知能ユマと会話できます。Echo Spotにも対応しており、ユマとの会話パターンを10個増やすことのできる「AIBOX」の購入も可能です!<br /> 動画:<a href="https://youtu.be/mXLZ2mEQ4yo">https://youtu.be/mXLZ2mEQ4yo</a><br /> 審査コメント:リップシンクの画像を効果的に利用できている。APL Videoと音声ファイルをうまく制御することで、自然な会話やリアクションを演出している。会話のパターンが豊富で、ユーザーが飽きないように工夫されている。</p> <h2><strong>クリエイティビティ賞</strong>:アイデアが特に独創的なスキル</h2> <p><a href="https://www.amazon.co.jp/dp/B07WFRB95S">ステルスインベーダー</a>(WonderTips)<br /> ステルスインベーダーは音声を頼りに方向や射撃の指示を行い、 見えない敵を撃破する新感覚音声射撃シミュレーションゲームです。<br /> 動画:<a href="https://youtu.be/l6U0_JEixAo">https://youtu.be/l6U0_JEixAo</a><br /> 審査コメント:聴覚を研ぎ澄まさなければ敵に命中できない難しさがユニーク。ゲーム自体はシンプルだが、独特な世界観があり、ユーザーを夢中にさせる魅力がある。</p> /blogs/alexa/post/5b7d2d4a-f310-4e56-9437-2d9332fc4bbf/deep-dive-how-to-build-an-alexa-connected-musical-keyboard-with-the-alexa-gadgets-toolkit Deep Dive: How to Build an Alexa-Connected Musical Keyboard with the Alexa Gadgets Toolkit Karen Yue 2019-09-11T20:50:50+00:00 2019-09-11T20:50:50+00:00 <p><a href="http://developer.amazon.com/blogs/alexa/post/5b7d2d4a-f310-4e56-9437-2d9332fc4bbf/deep-dive-how-to-build-an-alexa-connected-musical-keyboard-with-the-alexa-gadgets-toolkit" target="_blank"><img alt="Musical Teardown" src="https://m.media-amazon.com/images/G/01/mobile-apps/dex/alexa/gadgets/blog_agt-keyboard_954x240._CB1568159247_.png" style="height:480px; width:1908px" /></a></p> <p>Want to start building with Custom Interfaces, but don’t know where to start? To demonstrate the process for building a prototype, we created an Alexa-connected musical keyboard using the Alexa Gadgets Toolkit.</p> <p><img alt="Musical Teardown" src="https://m.media-amazon.com/images/G/01/mobile-apps/dex/alexa/gadgets/blog_agt-keyboard_954x240._CB1568159247_.png" style="height:480px; width:1908px" /></p> <p>In August, we released Custom Interfaces, the newest feature available in the Alexa Gadgets Toolkit. Custom Interfaces enable you to connect <a href="https://developer.amazon.com/alexa/alexa-gadgets/smart-toys" target="_blank">gadgets, games, and smart toy products</a> with immersive skill-based content—unlocking creative ways for customers to experience your product. Using the Custom Interface Controller, you can design voice experiences that are tailored to your product’s unique functionality.<br /> <br /> Want to start building with Custom Interfaces, but don’t know where to start? To demonstrate the process for building a prototype, we created our own Alexa-connected musical keyboard using the Alexa Gadgets Toolkit. Alexa lights up a sequence of keys on the keyboard corresponding to a given song. When user plays that sequence back, Alexa provides feedback on whether the user pressed right sequence of keys or not. Here’s a video of the experience:<br /> &nbsp;</p> <p><iframe allowfullscreen="" frameborder="0" height="385" src="https://www.youtube.com/embed/td65hljQsV0" width="640"></iframe></p> <p>The prototype for this musical keyboard uses the Color Cycler sample provided in the Alexa Gadgets Raspberry Pi Samples Github repository, and builds upon the sample to enable new and unique functionality to teach people how to play different songs.</p> <h2>The Hardware</h2> <p>The Color Cycler sample uses a single RGB LED and a simple button for the hardware, and uses an Alexa skill to respond to a button press before the experience ends. For the keyboard experience, we needed multiple LEDs to indicate what keys should be pressed, and multiple buttons – a single button for each key. Once the new hardware has been added, it looked something like this without the keyboard overlay:</p> <p><img alt="Hardware" src="https://m.media-amazon.com/images/G/01/mobile-apps/dex/alexa/gadgets/hardware._CB1568160245_.jpg" style="height:491px; width:600px" /></p> <p>&nbsp;</p> <p>As you can see, each LED is aligned to its corresponding button used for each key. With the updated hardware in place, the keyboard can light up when a customer chooses a song from within the skill.</p> <h2>Illuminating Keys in a Sequence</h2> <p>With the hardware assembled, LEDs can be illuminated to teach the customer which keys to press to play the song. When the skill starts, the Enumeration API is used to verify there is a gadget paired to the Echo device. If so, the customer can select a song they want to learn to play. Based on the chosen song, a Custom Directive is sent to the paired Alexa Gadget via a Custom Interface that has been defined. The JSON sent from the skill looks like this:</p> <pre> { &quot;type&quot;:&quot;CustomInterfaceController.SendDirective&quot;, &quot;header&quot;: { &quot;name&quot;: &quot;ledSequencer&quot;, &quot;namespace&quot;: &quot;custom.PianoMessaging&quot; }, &quot;endpoint&quot;: { &quot;endpointId&quot;: &quot;...&quot; }, &quot;payload&quot;: { &quot;gapTime&quot;: 500, &quot;sequence&quot;: '112143', &quot;init_delay&quot;: 1000 } }</pre> <p>The payload specifies which notes should be played, the time between each note, and a delay that controls when the sequence should start playing. On the gadget side, the payload is parsed and used to illuminate the LEDs in accordance to the song that was chosen.</p> <h2>Hitting the Right Notes</h2> <p>Illuminating the keys to indicate which notes should be hit is only half of the experience. In order to learn the song, the customer must press the keys in the correct order – otherwise, Alexa will adapt the experience accordingly. Using the Custom Interface we defined previously, events from the Alexa Gadget can be sent to the skill, giving Alexa the opportunity to respond and customize the experience.<br /> <br /> On the gadget side, two types of events are sent to the skill: an event that lets the skill know that the LED sequence has stopped playing and the skill should start listening to key presses, and an event that is sent to the skill on each key press. The event for the individual key press looks like this:</p> <pre> { &quot;header&quot;: { &quot;namespace&quot;: &quot;Custom.PianoMessaging&quot;, &quot;name&quot;: &quot;keyStroke&quot; }, &quot;payload&quot;: { &quot;keystroke&quot;: &quot;1&quot; } }</pre> <p>As each key press is sent to the skill, the sequence can be compared to the master sequence stored as a session attribute within the skill. If the customer presses all the right keys, it should match the session attribute, and they can continue through the skill. If they make a mistake, the sequence will not match what’s in the session attribute, and Alexa can jump in to help.</p> <h2>Start Building Today with the Alexa Gadgets Toolkit</h2> <p>These highlighted elements of the musical keyboard are unique to this type of product. There’s so much more to dive into with Custom Interfaces, Alexa skills, and building an Alexa Gadget that really showcases the capabilities of your product. Check out these resources to start building your prototype:</p> <ol> <li>Learn more about <a href="https://developer.amazon.com/blogs/alexa/post/ca2cfbfb-37a2-49de-840c-f06f6ad8b74d/introducing-custom-interfaces-enabling-developers-to-build-dynamic-gadgets-games-and-smart-toys-with-alexa" target="_blank">Custom Interfaces</a></li> <li>Reference the <a href="https://developer.amazon.com/docs/alexa-gadgets-toolkit/understand-alexa-gadgets-toolkit.html" target="_blank">Custom Interfaces technical documentation</a></li> <li>Check out the <a href="https://github.com/alexa/Alexa-Gadgets-Raspberry-Pi-Samples/tree/master/src/examples/colorcycler" target="_blank">sample application that uses Custom Interfaces and step-by-step guides</a></li> <li>Check out our <a href="https://www.youtube.com/watch?v=rZyA7Xst2Y8&amp;feature=youtu.be" target="_blank">YouTube video</a></li> </ol> /blogs/alexa/post/0dfa897d-8545-4ff9-ab9b-9cab853b7f68/enabling-offline-access-to-alexa-in-vehicles-with-local-voice-control-extension-to-alexa-auto-sdk-v2-0 Enabling Offline Access to Alexa in Vehicles with Local Voice Control Extension to Alexa Auto SDK v2.0 Adam Foster 2019-09-10T22:39:22+00:00 2019-09-10T22:39:22+00:00 <p><a href="https://developer.amazon.com/blogs/alexa/post/0dfa897d-8545-4ff9-ab9b-9cab853b7f68/enabling-offline-access-to-alexa-in-vehicles-with-local-voice-control-extension-to-alexa-auto-sdk-v2-0" target="_self"><img alt="Alexa auto sdk 2.0" src="https://m.media-amazon.com/images/G/01/mobile-apps/dex/alexa/auto/auto-sdk-2-0-blog._CB1565976571_.jpg" style="height:240px; width:954px" /></a></p> <p>Today, Amazon announced version 2.0 of the Alexa Auto SDK, which now includes a full-suite of offline, in addition to online, functionality&nbsp;for accessing Alexa in the car, including: music and radio, search and navigation, calling and messaging, and car control.</p> <p><img alt="Alexa auto sdk 2.0" src="https://m.media-amazon.com/images/G/01/mobile-apps/dex/alexa/auto/auto-sdk-2-0-blog._CB1565976571_.jpg" style="height:240px; width:954px" /></p> <p>Today, we announced version 2.0 of the Alexa Auto SDK, which now offers a full-suite of offline functionality, in addition to online functionality, for accessing Alexa in the car, including: music and radio, search and navigation, calling and messaging, and car control. Automakers and their suppliers can use the Alexa Auto SDK to integrate Alexa into their vehicles, helping keep customers entertained and productive—even when connectivity is intermittent or not available.</p> <p><a href="https://developer.amazon.com/alexa-voice-service/alexa-auto-sdk" target="_blank">Start developing with the Alexa Auto SDK today &raquo;</a></p> <p>Although <a href="https://techcrunch.com/2019/02/12/report-voice-assistants-in-use-to-triple-to-8-billion-by-2023/" target="_blank">voice services are becoming a more important</a> part of our daily lives at home and on the go, <a href="https://www.jdpower.com/Cars/Ratings/Dependability/2018/2018-us-vehicle-dependability-study-results" target="_blank">it continues to be challenging to provide such services</a>&nbsp;in vehicles. We took a <a href="https://developer.amazon.com/blogs/alexa/post/4688f6ea-40ab-4cc0-a5e7-313f5735366a/j-d-power-voice-is-a-deciding-factor-in-the-vehicle-purchase-decision" target="_blank">closer look</a> with JD Power in 2018 and found that the in-vehicle voice service will impact the purchasing decision of 59% buyers, and most (76%) people want continuity from their voice service at home to their vehicle. This growing demand encouraged us to create the Alexa Auto SDK, which lets automakers improve the in-car voice experience by adding automotive-specific functionality to Alexa and contextualizing the experience for the vehicle. To help reduce development effort, the SDK includes ready-to-run sample applications and support for most automotive platforms and design guidelines to help automakers deliver the familiar Alexa customer experience while maintaining their own branding. Further, automakers can extend the functionality of Alexa in their vehicles by building custom skills with the Alexa Skills Kit.</p> <p>“Since its release last summer, we’ve seen an incredible response from automakers interested in using the Alexa Auto SDK to embed Alexa directly into their vehicles,” said Ned Curic, VP of Alexa Auto at Amazon. “At the same time, we know drivers often find themselves in places with poor or limited connectivity, and they still want to be able to access certain features and services through Alexa. This newest version of the Alexa Auto SDK delivers that capability for automakers, enabling their customers to take Alexa even more places on the go.”</p> <p>The Alexa Auto SDK enables core Alexa functionality, such as speech recognition and text-to-speech, and other capabilities such as streaming media, controlling smart home devices, notifications, weather reports, and tens of thousands of custom skills. It can be updated over-the-air and now includes the Local Voice Control extension, which ensures that customers get a reliable response from Alexa regardless of connectivity. On a normal commute, drivers lose connectivity or experience intermittent or transitional connectivity while driving in dense urban areas, through tunnels, in remote areas, or in parking garages. With the Local Voice Control extension to the Alexa Auto SDK, automakers embed a scaled-down version of Alexa’s cloud-based Automatic Speech Recognition (ASR) and Natural Language Understanding (NLU) into the vehicle’s infotainment system that increases resiliency of the cloud-based capabilities. This ensures that a customer can always ask, “Alexa, turn on the A/C,” “Alexa, tune to 90.5 FM,” or “Alexa, call Jackie,” and get the appropriate response and action from Alexa.</p> <p>“The vehicle environment is unique and requires online and offline voice capabilities to be truly successful,” says Matt Arcaro, Research Manager, Next-Generation Automotive Research at IDC. “This dual-mode support not only reduces the impact of variable network conditions, but will give vehicle users the confidence to increasingly think of voice as an effective and efficient means for vehicle interaction and customization.”</p> <p>The following features are now available through the Alexa Auto SDK:</p> <ul> <li><strong>Music and Radio</strong>: control media playback, stream music, audiobooks, and podcasts from leading providers, tune radio, change local media sources, turn up the volume, and adjust equalizer.</li> <li><strong>Calling and Messaging</strong>: dial by name and number, control call in progress, make Alexa announcements, use Alexa Drop In, join meetings, and send and receive Alexa messages.</li> <li><strong>Search and Navigation</strong>: navigate to favorite destinations, search for places by name, brand, category, address, or intersection, get details such as hours of operation, phone number, and ratings, determine route info like traffic and ETA, and cancel navigation in progress.</li> <li><strong>Car Control</strong>: turn on air conditioning, set desired cabin temperature, control temperature by zone, set fan mode and speed, defrost front and rear windshield, and control interior cabin lighting.</li> </ul> <p><strong>Automakers</strong>: Learn more about integrating Alexa into your vehicles with the <a href="https://developer.amazon.com/alexa-voice-service/alexa-auto-sdk" target="_blank">Alexa Auto SDK</a>.</p> <p><strong>Skill developers</strong>: Learn how you can <a href="https://developer.amazon.com/blogs/alexa/post/51d38081-bb6a-478c-87cd-e643e8c64021/alexa-skill-developers-can-now-optimize-their-experiences-for-alexa-auto-vehicles-and-devices" target="_blank">customize your Alexa skill for in-vehicle use cases</a>.</p> /blogs/alexa/post/01242d2b-5c5d-40a5-8fbd-3dad15e68929/create-a-consistent-customer-experience-with-mutual-account-linking-for-your-alexa-skill Create a Consistent Customer Experience with Mutual Account Linking for Your Alexa Skill Michelle Wallace 2019-09-10T20:37:41+00:00 2019-09-10T20:37:41+00:00 <p><img alt="" src="https://m.media-amazon.com/images/G/01/DeveloperBlogs/AlexaBlogs/default/debugging.png._CB437613271_.png" style="height:240px; width:954px" /></p> <p>When a developer wants to link the Alexa back end to an external back end that requires authentication, account linking provides a secure way to do that. However, some skill types require the user to <strong>mutually</strong> link accounts so that skills can send proactive updates to the Alexa back end. Learn how.</p> <p><img alt="" src="https://m.media-amazon.com/images/G/01/DeveloperBlogs/AlexaBlogs/default/debugging.png._CB437613271_.png" style="height:240px; width:954px" /></p> <p>With the Alexa Skill Kit (ASK), developers can leverage Amazon’s knowledge in voice design to build quickly and easily. When a developer wants to link the Alexa back end to an external back end that requires authentication, <a href="https://developer.amazon.com/docs/account-linking/understand-account-linking.html">account linking</a> provides a secure way to do that. However, some skill types require the user to <strong>mutually</strong> link accounts so that skills can send proactive updates to the Alexa back end. This allows customer data to stay in sync across systems and ensures a consistent customer experience across both an Alexa skill and an external app.</p> <p>Say a customer just welcomed a new baby to their family. They want to start tracking diaper changes and feedings using their voice. You are a developer who has built a baby activity skill using the <a href="https://developer.amazon.com/blogs/alexa/post/5a29dc2c-3fee-452a-adaf-736973e850f0/baby-activity-skill-api">Baby Activity Skill API</a>. You also offer an app to your customers, and you would like to present them with a consistent experience across both your Alexa skill and your app. A customer can start by adding a new profile with the baby’s name in the app that corresponds to your skill. But Alexa needs to know about this update too! Mutual account linking allows the corresponding app to send a health profile update to Alexa.</p> <p>Most OAuth servers only provide the ability to authenticate and authorize users in the skill developers' system. However, some skills, like <a href="https://developer.amazon.com/docs/health/overview.html">Baby Activity Skill</a><a href="https://developer.amazon.com/docs/health/overview.html">s,</a> must proactively interact with the Alexa backend to make updates. In Alexa, this is achieved by a <a href="https://developer.amazon.com/docs/account-linking/account-linking-for-health.html#get-your-tokens">reciprocal authorization endpoint</a>, which is hosted by the skill developer to obtain the auth_code from Alexa. This blog post will show you how to use the sample code to enable mutual account linking with your Alexa skill. We provide an example of account linking with <a href="https://oauth.net/2/" target="_blank">OAuth 2.0</a>, and an example that leverages a <a href="https://developer.amazon.com/docs/account-linking/account-linking-for-health.html#get-your-tokens">reciprocal authorization endpoint</a> as an additional step for mutual account linking.</p> <h2>Prerequisites</h2> <p>In order to complete the steps in this blog post you will need the following:</p> <ul> <li>An AWS account. <em><a href="https://console.aws.amazon.com/console/home" target="_blank">Log in or Sign up</a>.</em></li> <li>An Amazon developer account. <em><a href="https://developer.amazon.com/alexa">Log in or Sign up</a>.</em></li> <li>A basic understanding of Amazon Alexa <a href="https://developer.amazon.com/en-US/alexa/alexa-skills-kit">skill development</a>.</li> </ul> <h2>Step 1: Set up an OAuth Server</h2> <p><img alt="" src="https://m.media-amazon.com/images/G/01/DeveloperBlogs/AlexaBlogs/default/OAuth_Server.jpg._CB436534863_.jpg" style="height:495px; width:704px" /></p> <p>To help skill developers implement their own OAuth server, we have provided a repository with OAuth sample code (based on&nbsp;<a href="https://spring.io/projects/spring-security" target="_blank">Spring Security</a>), necessary infrastructure based on&nbsp;<a href="https://aws.amazon.com/cloudformation/" target="_blank">AWS Cloud Formation</a>&nbsp;(to help set up a web service on&nbsp;<a href="https://aws.amazon.com/elasticbeanstalk/" target="_blank">AWS Elastic Beanstalk</a>), a set of&nbsp;<a href="https://aws.amazon.com/dynamodb/" target="_blank">AWS DynamoDB</a>&nbsp;tables to store tokens, and an&nbsp;<a href="https://aws.amazon.com/codepipeline/" target="_blank">AWS Code Pipeline</a>&nbsp;to help you build and deploy code from your Github repository. Follow these steps to set up your server:</p> <p><img alt="" src="https://m.media-amazon.com/images/G/01/DeveloperBlogs/AlexaBlogs/default/Set_up_Server.jpg._CB436534964_.jpg" style="height:56px; width:600px" /></p> <ol> <li>Clone from the <a href="https://github.com/alexa/alexa-oauth-sample" target="_blank">sample repository</a>.</li> <li>Create your <a href="https://us-west-2.console.aws.amazon.com/cloudformation/home?region=us-west-2#/stacks/create/template?stackName=OAuthStack" target="_blank">Cloud formation</a> stack with this <a href="https://github.com/alexa/alexa-oauth-sample/blob/master/template.json" target="_blank">template file</a>.<br /> <br /> <img alt="" src="https://m.media-amazon.com/images/G/01/DeveloperBlogs/AlexaBlogs/default/Template_file.jpg._CB436533707_.jpg" style="height:446px; width:900px" /><br /> &nbsp;</li> <li>Enter the following stack parameters: <ol> <li>GitHubOwner: The owner of the repository</li> <li>RepositoryName: The name of your git repository.</li> <li>BranchName: The branch name of your git repository.</li> <li>GitHubOAuthToken: Follow the steps in the <a href="https://help.github.com/en/articles/creating-a-personal-access-token-for-the-command-line" target="_blank">GitHub documentation</a> to create a new (OAuth 2) token.</li> <li>VpcId: You can pick the default VPC from drop down, or create your own VPC.</li> </ol> </li> </ol> <p>After following these steps, you will have generated the following endpoints:</p> <ul> <li><strong>/oauth/authorize</strong>: The authorization endpoint is the endpoint on the authorization server where the resource owner logs in and grants authorization to the client application.</li> <li><strong>/oauth/token</strong>: The token endpoint is the endpoint on the authorization server where the client application exchanges the authorization code, client ID, and client secret for an access token.</li> <li><strong>/api/reciprocal/authorize</strong>: The reciprocal authorization endpoint will be invoked by Alexa to send a LWA auth code <em>(only required for mutual account linking).</em></li> <li><strong>/api/partner/token</strong>: The endpoint to refresh/obtain a partner token (e.g. LWA token) saved in your system.</li> </ul> <h2>Step 2: Integrate with Your Identity Provider</h2> <ul> <li>Test your identity provider with a mock user. We have provided the following mock user for testing: <ul> <li>{username: admin, password: password}: a user with Administration Role.</li> <li>{username: user, password: password}: a user with Normal Role.</li> </ul> </li> </ul> <p>Once completed, you are ready to verify the user identity in your own system.</p> <ul> <li>Customize the <a href="https://github.com/alexa/alexa-oauth-sample/blob/master/src/main/java/com/oauth/server/authentication/AuthenticationServiceProvider.java" target="_blank">AuthenticationServiceProvider.java</a> class by overriding the following method.</li> </ul> <pre> <code>public UserDetails loadUserByUsername(final String username) throws UsernameNotFoundException { //TODO: Integrate with your authentication system in replace the mock users. }</code></pre> <h2>Step 3: Bind Your SSL Certificate to Your HTTPS Endpoint</h2> <ol> <li>Alexa requires https endpoints for secure data transactions. You will need to request a SSL certificate or upload your own through&nbsp;<a href="https://aws.amazon.com/certificate-manager/" target="_blank">AWS Certificate Manager</a>.<br /> <br /> <img alt="" src="https://m.media-amazon.com/images/G/01/DeveloperBlogs/AlexaBlogs/default/AWS_Certificate_Manager.jpg._CB436533782_.jpg" style="height:329px; width:900px" /><br /> &nbsp;</li> <li>Once your domain certificate is requested/uploaded, you will need to add HTTPS(443) in load balancer. <ol> <li>Navigate to the Elastic Beanstalk application that you created earlier</li> <li>Click Configuration → Modify load balancer</li> <li>Add a new port as shown below:</li> </ol> </li> </ol> <p style="margin-left:40px"><img alt="" src="https://m.media-amazon.com/images/G/01/DeveloperBlogs/AlexaBlogs/default/Add_port.jpg._CB436502914_.jpg" style="height:288px; width:900px" /></p> <h2>Step 4: Create an OAuth Client (and Partner) for Your Alexa Skill</h2> <ol> <li>Log in to the <a href="https://developer.amazon.com/alexa/console/ask">Alexa developer console</a> and select your skill.</li> <li>In the &quot;PERMISSIONS&quot; section, paste your Client Id and Client Secret.<br /> <br /> <img alt="" src="https://m.media-amazon.com/images/G/01/DeveloperBlogs/AlexaBlogs/default/Permissions.jpg._CB436503383_.jpg" style="height:79px; width:700px" /><br /> &nbsp;</li> <li>In the &quot;ACCOUNT LINKING&quot; section, paste your redirect URLs.<br /> <br /> <img alt="" src="https://m.media-amazon.com/images/G/01/DeveloperBlogs/AlexaBlogs/default/Account_linking.jpg._CB436503491_.jpg" /><br /> &nbsp;</li> <li>Log in to https://YOUR_DOMAIN/ as an administrator. Create an OAuth client that you vend to Alexa (for example, test_alexa_client).<br /> <br /> <img alt="" src="https://m.media-amazon.com/images/G/01/DeveloperBlogs/AlexaBlogs/default/Edit_client.jpg._CB436503104_.jpg" style="height:435px; width:900px" /><br /> &nbsp;</li> <li>(Only for mutual account linking) Log in to&nbsp;https://YOUR_DOMAIN/ as an administrator and create an OAuth partner to call Alexa APIs. <ol> <li><strong>IMPORTANT</strong>: clientId and clientSecret are generated by your Alexa Skill (Under the PERMISSION tab). The partnerId should be the same as the &quot;clientId&quot; in the previous step.</li> </ol> </li> </ol> <p style="margin-left:40px"><img alt="" src="https://m.media-amazon.com/images/G/01/DeveloperBlogs/AlexaBlogs/default/Partner.jpg._CB436505866_.jpg" /></p> <h2>Step 5: Update OAuth Endpoints in the Developer Console</h2> <ol> <li>Log in to <a href="https://developer.amazon.com/alexa/console/ask">Alexa developer console</a> and select your skill.</li> <li>Click &quot;ACCOUNT LINKING&quot; and fill the form with the following:<br /> <br /> <img alt="" src="https://m.media-amazon.com/images/G/01/DeveloperBlogs/AlexaBlogs/default/Account_linking_-_form.jpg._CB436578455_.jpg" style="height:730px; width:900px" /><br /> &nbsp; <ul> <li>Authorization URI: https://YOUR_DOMAIN/oauth/authorize</li> <li>Access Token URI: https://YOUR_DOMAIN/oauth/token</li> <li>Reciprocal Access Token URI: https://YOUR_DOMAIN/api/reciprocal/authorize</li> <li>Client ID: The clientId of the client you have created in the previous section</li> <li>Client Secret: The clientSecret of the client you created in the previous section</li> <li>Client Authentication Scheme: Select “Credentials in request body” option in the drop down</li> <li>Scope: OAuth scopes to define the permissions (this is used for your resource server, so leave it empty if you do not have one)</li> <li>Domain List: YOUR DOMAIN (for example, for domain.com, this would be www.domain.com)</li> </ul> </li> </ol> <h2>Step 6:Test Your Alexa Skill</h2> <p>After you have linked Alexa with your OAuth server in developer console, test your skill by following these steps:</p> <ol> <li>Download and log in to your Alexa app or visit <a href="https://alexa.amazon.com" target="_blank">Alexa Web</a> with the same account you used for the developer console.</li> <li>Find your own skill in DEV SKILLS section.<br /> <br /> <img alt="" src="https://m.media-amazon.com/images/G/01/DeveloperBlogs/AlexaBlogs/default/Dev_skills.jpg._CB436579018_.jpg" /><br /> &nbsp;</li> <li>Click Enable and you will be redirected to the OAuth server you just set up, where you will need to log in and grant the permission to your Alexa skill.<br /> <br /> <img alt="" src="https://m.media-amazon.com/images/G/01/DeveloperBlogs/AlexaBlogs/default/Enable.jpg._CB436578966_.jpg" /><br /> <br /> <img alt="" src="https://m.media-amazon.com/images/G/01/DeveloperBlogs/AlexaBlogs/default/Login_page.jpg._CB436884746_.jpg" style="height:259px; width:600px" /><br /> &nbsp;</li> <li>Once logged in, select Approve to grant the access to your test Alexa skill.<br /> <br /> <img alt="" src="https://m.media-amazon.com/images/G/01/DeveloperBlogs/AlexaBlogs/default/Approve.jpg._CB436884864_.jpg" style="height:204px; width:600px" /><br /> &nbsp;</li> <li>Once account linking is completed, you will see a successful linked page.<br /> <br /> <img alt="" src="https://m.media-amazon.com/images/G/01/DeveloperBlogs/AlexaBlogs/default/Successfully_linked.jpg._CB436884497_.jpg" /><br /> &nbsp;</li> <li>As part of the mutual account linking, Alexa also sends its own OAuth token(LWA) to your OAuth&nbsp;reciprocal endpoint, and can be retrieved from /api/partner/token endpoint. <ol> <li>Get an access token with admin client credential:<br /> <br /> <img alt="" src="https://m.media-amazon.com/images/G/01/DeveloperBlogs/AlexaBlogs/default/Get_access_token.jpg._CB436885307_.jpg" style="height:138px; width:700px" /><br /> &nbsp;</li> <li>Use the access_token you got from previous step to retrieve the LWA token for your Alexa skill.<br /> <br /> <img alt="" src="https://m.media-amazon.com/images/G/01/DeveloperBlogs/AlexaBlogs/default/Retrieve_token.jpg._CB436885092_.jpg" style="height:404px; width:700px" /><br /> &nbsp;</li> </ol> </li> <li>Add Authorization (“Bearer + LWA token”) in request header when you need to interact with Alexa APIs&nbsp;to create/upload your&nbsp;baby health profile(s) for the baby activity skills. Here is a <a href="https://github.com/alexa/alexa-baby-activity/blob/master/sample_messages/UserProfileReport/singleProfile.json" target="_blank">profile example</a>.</li> </ol> <pre> <code>{ &quot;report&quot;: { &quot;messageId&quot;: &quot;&lt;message id&gt;&quot;, &quot;profiles&quot;: [ { &quot;profileId&quot;: &quot;&lt;profile id&gt;&quot;, &quot;name&quot;: { &quot;firstName&quot;: &quot;John&quot;, &quot;lastName&quot;: &quot;Doe&quot; }, &quot;capabilities&quot;: [ { &quot;name&quot;: &quot;Alexa.Health.Weight&quot;, &quot;type&quot;: &quot;AlexaInterface&quot;, &quot;version&quot;: &quot;1&quot;, &quot;supportedOperations&quot;: [&quot;Add&quot;, &quot;Delete&quot;, &quot;Get&quot;] }, { &quot;name&quot;: &quot;Alexa.Health.Sleep&quot;, &quot;type&quot;: &quot;AlexaInterface&quot;, &quot;version&quot;: &quot;1&quot;, &quot;supportedOperations&quot;: [&quot;Add&quot;, &quot;Delete&quot;, &quot;Get&quot;] } ] } ] } } </code></pre> <p style="margin-left:40px"><img alt="" src="https://m.media-amazon.com/images/G/01/DeveloperBlogs/AlexaBlogs/default/Profile_example.jpg._CB436885208_.jpg" style="height:333px; width:900px" /></p> <h2>Conclusion</h2> <p>Congratulations! Your customers will now have a consistent experience across your Alexa skill and your app. You have created your own OAuth server to securely communicate with the Alexa backend system when your customers link accounts with Alexa. In addition, you have hosted a reciprocal authorization endpoint to proactively interact with the Alexa backend.</p> <h2>Try the Baby Activity Skill API Today</h2> <p>Now, when customers welcome a new member to their family, the change they make to their profile in the app will automatically be reflected in their corresponding Alexa skill. Review <a href="https://developer.amazon.com/docs/health/overview.html">our documentation</a> to get started. We are excited for you to leverage the power of voice to further increase the value of your services for your customers.</p> <p>&nbsp;</p> /blogs/alexa/post/e38efffc-0696-4dfe-ae31-87d8678255b8/enter-the-alexa-skills-challenge-in-skill-purchasing-to-compete-for-over-120-000-in-prizes Enter the Alexa Skills Challenge: In-Skill Purchasing to Compete for Over $120,000 in Prizes Ben Grossman 2019-09-10T16:00:28+00:00 2019-09-13T20:05:12+00:00 <p><a href="https://m.media-amazon.com/images/G/01/DeveloperBlogs/AlexaBlogs/default/blog_ISP-Skill-Challenge_954x240.png._CB436517371_.png"><img alt="" src="https://m.media-amazon.com/images/G/01/DeveloperBlogs/AlexaBlogs/default/blog_ISP-Skill-Challenge_954x240.png._CB436517371_.png" style="height:240px; width:954px" /></a></p> <p>We’re thrilled to announce the Alexa Skills Challenge: In-Skill Purchasing with Devpost, an opportunity to invent the future of premium voice content and compete for cash prizes.</p> <p><a href="https://m.media-amazon.com/images/G/01/DeveloperBlogs/AlexaBlogs/default/blog_ISP-Skill-Challenge_954x240.png._CB436517371_.png"><img alt="" src="https://m.media-amazon.com/images/G/01/DeveloperBlogs/AlexaBlogs/default/blog_ISP-Skill-Challenge_954x240.png._CB436517371_.png" style="height:240px; width:954px" /></a></p> <p>We’re thrilled to announce the <u><a href="https://alexaisp.devpost.com/" target="_blank">Alexa Skills Challenge: In-Skill<strong> </strong>Purchasing</a><strong> </strong></u>with Devpost, an opportunity to invent the future of premium voice content with over $120k in prizes. Plus, challenge finalists will be invited to Amazon’s headquarters in Seattle for an exclusive one-day summit on monetization opportunities. Start building skills with in-skill purchasing and enter the challenge by November 12th.</p> <p>&nbsp;</p> <h2>Invent the Future of Premium Voice Content</h2> <p>Customers have purchased over 100 million Alexa-enabled devices and there are hundreds of thousands of developers building voice experiences on Alexa. In-skill purchasing (ISP) lets you make money from your Alexa skills by selling premium digital content to enrich your customer’s experience, including anything from hints in a trivia skill to enhanced features in a weather reporting skill. In-skill purchasing is currently available in the United States, United Kingdom, Germany, and Japan. Developers who monetize their skills across these skill stores will be able to tap into a larger customer base, generating revenue to grow their global voice business.&nbsp;Entrepreneur Mark Cuban has <a href="https://developer.amazon.com/blogs/alexa/post/0902e3c5-9649-47e5-b705-984666b85125/mark-cuban-voice-ambient-computing-are-the-future-and-why-developers-should-get-in-now" target="_blank">said</a> that if he were to start a business today, he’d build it around Alexa. It is still the early days of voice technology and voice entrepreneurs are getting in now to capitalize on Alexa’s reach.</p> <p>&nbsp;</p> <h2>What You're Competitng for</h2> <p>All eligible participants will receive a $50 Amazon gift card for submitting a brand new skill or updated skill with In-Skill Purchasing (Participants from outside of the US will receive cash equivalent value. See <a href="https://alexaisp.devpost.com/rules" target="_blank">rules </a>for details).</p> <p><strong>Finalist Prizes</strong> <strong>– </strong>We will select 10 finalists who will each take home $5,000 and more. Four finalists will be selected for the best premium skills in each country that supports in-skill purchasing and receive $10,000, and six wildcard finalists will receive $5,000. Plus, all 10 finalists will be invited to Amazon’s headquarters for an exclusive finalist summit.</p> <ul> <li><strong>US Skill Store Finalist</strong><strong> </strong>&nbsp;- The best premium skill published in the US skill store will receive $10,000, plus invitation &amp; travel to the ISP Finalist Summit in Seattle</li> <li><strong>Germany Skill Store Finalist</strong><strong> </strong>&nbsp;- The best premium skill published in the German skill store will receive $10,000, plus invitation &amp; travel to the ISP Finalist Summit in Seattle</li> <li><strong>Japan Skill Store Finalist</strong><strong> </strong>&nbsp;- The best premium skill published in the Japanese skill store will receive $10,000, plus invitation &amp; travel to the ISP Finalist Summit in Seattle</li> <li><strong>UK Skill Store Finalist</strong><strong> </strong>&nbsp;- The best premium skill published in the UK skill store will receive $10,000, plus invitation &amp; travel to the ISP Finalist Summit in Seattle</li> <li><strong>Wildcard Finalists</strong><strong> </strong>&nbsp;- The 6 remaining finalists will receive $5,000 each, plus invitation &amp; travel to the ISP Finalist Summit in Seattle</li> <li><strong>Grand Prize</strong><strong> </strong>&nbsp;- The winner for the overall best skill with In-Skill Purchasing will be chosen from the finalists and will receive $15,000 in addition to their finalist prize</li> </ul> <p>&nbsp;</p> <h2>What is the Alexa ISP Finalist Summit?</h2> <p>The Alexa ISP Finalist Summit is an invite-only workshop for challenge finalists where they will have the opportunity to learn in-depth how to build premium experiences on voice. The event will be held at Amazon’s headquarters in Seattle, with air travel and hotel covered for up to 2 team members in each finalist team. Participants will have the opportunity to meet the Alexa team, share their feedback, and spend time with experts learning how to take their skills and premium ideas forward. And of course, a tour of the Amazon headquarters campus. The summit will take place in January 2020 with further details announced during the challenge.</p> <p>&nbsp;</p> <h2>More Ways to Win: Bonus Prizes</h2> <p>In addition to the grand prize winner and 10 finalists, we will select 6 additional bonus prize winners. You could be eligible to win up to one bonus prize in each category.</p> <p><strong>Contest Bonus Prizes – </strong>Winners of these bonus prizes will receive $3,000 and need not be a finalist:</p> <ul> <li><strong>Bonus Prize - Best Premium Game Category experience</strong> (Premium game and/or entertainment skills certified in the Games category of the Skills Store)</li> <li><strong>Bonus Prize - Best Agency-Developed Premium Experience</strong> (Organizations such as traditional and digital advertising agencies, consultants, innovators, tool creators, global holding companies, and developer partners will be eligible for the Agency prize, but may also win other prizes.)</li> <li><strong>Bonus Prize - Best One-Time Purchase Product Experience</strong> (Provides access to premium content that never expires.)</li> <li><strong>Bonus Prize - Best Subscription Product experience</strong> (Allows customer to pay a flat monthly fee for access to all content, or for tiered access to content etc.)</li> <li><strong>Bonus Prize - Best Consumables Product experience</strong> (Provides access to premium content that can be purchased, depleted when used, and purchased again)</li> <li><strong>Bonus Prize - Best Multimodal experience with ISP</strong> (Provides an in-skill purchasing option for skills optimized for multiple devices like the Fire TV.)</li> </ul> <p>&nbsp;</p> <h2>How to Enter</h2> <p>Build a new Alexa Skill with in-skill purchasing or add in-skill purchasing to an existing skill. If an existing skill, submitters will be required to have integrated ISP during the submission period. Existing skills that already integrated ISP will NOT be eligible. Skills must be published in at least one of the <a href="https://developer.amazon.com/docs/in-skill-purchase/isp-language-distribution-pricing.html#countries-regions" target="_blank">Skill Stores that currently support ISP</a>: United States, United Kingdom, Germany, and/or Japan.</p> <p>&nbsp;</p> <h2>What are the Types of In-Skill Purchases?</h2> <ol> <li><strong>Consumable</strong>: Provides access to premium content that can be purchased, depleted when used, and purchased again. For example: A trivia skill offers a hint to a difficult question for a one-time fee.</li> <li><strong>Subscription</strong>: Allows customers to pay a flat monthly fee for access to all content, or for tiered access to content. For example, a radio broadcaster allows access to all channels and content on Alexa for a flat monthly rate.</li> <li><strong>One-time purchase</strong>: Provides access to premium content that never expires. For example, a trivia game offers additional themed packs of quizzes customers can re-play for a one-time fee.</li> </ol> <p>&nbsp;</p> <h2>What Makes a Great Premium Skill?</h2> <p>Quality premium skills add additional content to an already engaging experience:</p> <ul> <li><strong>Help customers get their money's worth</strong>. Encourage repeat usage of your skill. Give customers a reason to come back daily or weekly with fresh content or to unlock new content or rewards for continued use.</li> <li><strong>Offer a seamless customer experience. </strong>Customers can clearly distinguish between premium and free content, can easily discover and access the skill’s premium offerings, and the skill handles all possible outcomes of the purchase user flow</li> <li><strong>Provide a compelling free experience.</strong> The premium experience is meant to enhance the skill with more useful features or tools and to provide additional content. Before you add a premium experience to your skill, you first need to build an engaging skill that resonates with customers and keeps them coming back.</li> </ul> <p>&nbsp;</p> <h2>Resources to Help You Get started</h2> <p>Check out the following resources to learn about In-Skill Purchasing and prepare for the challenge.</p> <ul> <li><strong>Live Announcement Event</strong>: Join our upcoming live <a href="https://www.twitch.tv/events/1PPcaQ32S-2l9vZGyEaJLA">Twitch event</a> on Thursday, September 12<sup>th</sup> at 11am PDT. We’ll share tips and best practices to help you kick-start your challenge submission.</li> <li><strong>Introductory Guide</strong>: You can also check out the following resources to learn more about in-skill purchasing and prepare for the challenge. For more help, check out the page <a href="https://developer.amazon.com/en-US/alexa/alexa-skills-kit/make-money/in-skill-purchasing" target="_blank">Make Money through In-Skill Purchasing</a> for more details.</li> </ul> <ul> <li><strong>Sample Skill Repository:</strong> <ul> <li><a href="https://github.com/alexa/skill-sample-nodejs-premium-hello-world" target="_blank">Premium Hello World Skill</a> – A great beginner sample with a tutorial on building for with In-Skill Purchasing</li> <li><a href="https://github.com/alexa/skill-sample-nodejs-fact-in-skill-purchases" target="_blank">Premium Fact Skill</a> – A more robust, intermediate code sample that shows One Time Purchases, Subscriptions, and Consumables being used together in a fact skill</li> </ul> </li> </ul> <ul> <li><strong>Read </strong><u><a href="https://developer.amazon.com/docs/in-skill-purchase/isp-overview.html" target="_blank">technical documentation</a></u><strong> </strong></li> </ul> <p>&nbsp;</p> <h2>Join the Challenge Today</h2> <p>Round 1 begins now! Publish your ISP skill and submit your challenge entry to Devpost by November 12th. Submit sooner and take advantage of more time to get customer ratings and feedback from friends and family to improve your skill as needed. We’ll announce the finalist winners in December 2019.</p> <p>We can’t wait to see what incredible premium experiences you build for Alexa customers around the world!</p> /blogs/alexa/post/45381fa8-6869-453c-982e-4f60c21f80bd/enter-the-alexa-skills-challenge-in-skill-purchasing-to-compete-for-over-120-000-in-prizes-jp Alexa スキルチャレンジに参加しよう:賞金総額120,000ドル超のスキル内課金コンテスト Motoko Onitsuka 2019-09-10T15:00:00+00:00 2019-09-11T21:34:17+00:00 <p><a href="https://m.media-amazon.com/images/G/01/DeveloperBlogs/AlexaBlogs/default/blog_ISP-Skill-Challenge_954x240.png._CB436517371_.png"><img alt="" src="https://m.media-amazon.com/images/G/01/DeveloperBlogs/AlexaBlogs/default/blog_ISP-Skill-Challenge_954x240.png._CB436517371_.png" /></a></p> <p>私たちは<a href="https://alexaisp.devpost.com/">Alexaスキルチャレンジ:スキル内課金(ISP)</a>wtih Devpost の開催を発表することをうれしく思います。プレミアム音声コンテンツの未来へのイノベーションを行う機会です。</p> <p><a href="https://m.media-amazon.com/images/G/01/DeveloperBlogs/AlexaBlogs/default/blog_ISP-Skill-Challenge_954x240.png._CB436517371_.png"><img alt="" src="https://m.media-amazon.com/images/G/01/DeveloperBlogs/AlexaBlogs/default/blog_ISP-Skill-Challenge_954x240.png._CB436517371_.png" /></a></p> <p>[編集注]このブログの原文は<a href="https://developer.amazon.com/blogs/alexa/post/e38efffc-0696-4dfe-ae31-87d8678255b8/enter-the-alexa-skills-challenge-in-skill-purchasing-to-compete-for-over-120-000-in-prizes">Enter the Alexa Skills Challenge: In-Skill Purchasing to Compete for Over $120,000 in Prizes</a>です。<u>コンテストの正式な規約は<a href="https://alexaisp.devpost.com/">コンテスト公式ページ</a>に英語で掲載されているものとなりますので、必ずご確認ください。</u><br /> <br /> 私たちは<a href="https://alexaisp.devpost.com/">Alexaスキルチャレンジ:スキル内課金(ISP)</a>wtih Devpost の開催を発表することをうれしく思います。総額120,000ドル超の賞金をめぐり、プレミアム音声コンテンツの未来へのイノベーションを行う機会です。さらに、このチャレンジのファイナリストは、シアトルにあるAmazonの本社で、収益化をテーマとした1日の招待者限定サミットにご招待いたします。スキル内課金を実装したスキルを開発して、11月12日(米国東部標準時)までにチャレンジに申し込みましょう。</p> <p>&nbsp;</p> <h2>プレミアム音声コンテンツの未来を発明しよう</h2> <p>世界では1億台を超えるAlexaを使えるデバイスが購入されており、Alexaの音声エクスペリエンスの開発者は数十万人にも上ります。スキル内課金は、ユーザー体験を豊かにするプレミアムなデジタルコンテンツを販売することで、Alexaスキルにより収益化が可能になる仕組みです。プレミアムコンテンツには、例えば、トリビアスキルのヒントや、天気予報スキルの追加機能などが含まれます。スキル内課金は、米国、英国、ドイツ、日本で利用できます。これらの国々のスキルストアでスキルを収益化すると、さらに多くのユーザーにリーチし、グローバルな音声ビジネスを伸ばす収益を得るチャンスにつながります。音声テクノロジーはまだ始まったばかりです。音声起業家たちが、Alexaに投資し始めています。Mark Cubanは、「今日ビジネスを始めるなら、Alexaに関するものにする」と言っています。</p> <p>&nbsp;</p> <h2>チャレンジで獲得できるのは・・・</h2> <p>参加条件を満たした参加者には、新しいスキルを公開するか、既存スキルにスキル内課金を実装すれば、50ドルのAmazonギフトカードが贈られます。米国外からの参加者には、同等額の現金となります。参加賞の数には限りがありますので、<u>条件の詳細は必ず<a href="https://alexaisp.devpost.com/rules">ルール</a>をご確認ください</u>。<br /> <br /> ファイナリスト賞:私たちは5,000ドルかそれ以上を獲得できる10人のファイナリストを選びます。4人のファイナリストは、スキル内課金が使える各国でのベストプレミアムスキルとしてそれぞれ選ばれ、各10,000ドルが贈られます。6人のワイルドカードファイナリストには、5,000ドルが贈られます。また、この10人のファイナリスト全員が、Amazonの本社で行われる招待者限定のサミットに招待されます。</p> <ul> <li><strong>USスキルストアファイナリスト</strong>:USスキルストアに公開された中でベストプレミアムスキルには、10,000ドルと、シアトルでのISPファイナリストサミット旅行へのご招待をお贈りします。</li> <li><strong>ドイツスキルストアファイナリスト</strong>:ドイツのスキルストアに公開された中でベストプレミアムスキルには、10,000ドルと、シアトルでのISPファイナリストサミット旅行へのご招待をお贈りします。</li> <li><strong>日本スキルストアファイナリスト</strong>:日本のスキルストアに公開された中でベストプレミアムスキルには、10,000ドルと、シアトルでのISPファイナリストサミット旅行へのご招待をお贈りします。</li> <li><strong>英国スキルストアファイナリスト</strong>:英国のスキルストアに公開された中でベストプレミアムスキルには、10,000ドルと、シアトルでのISPファイナリストサミット旅行へのご招待をお贈りします。</li> <li><strong>ワイルドカードファイナリスト</strong>:残り6人のファイナリストには各5,000ドルと、シアトルでのISPファイナリストサミット旅行へのご招待をお贈りします。</li> <li><strong>グランプリ</strong>:ファイナリストの中から、最優秀スキルが選ばれます。ファイナリスト賞に加えて、15,000ドルが贈られます。</li> </ul> <p>&nbsp;</p> <h2>Alexa ISPファイナリストサミットとは?</h2> <p>Alexa ISPファイナリストサミットは、チャレンジのファイナリストのための、招待者限定ワークショップです。音声でプレミアムエクスペリエンスを開発する方法を掘り下げて学ぶことのできる機会です。このイベントはシアトルにあるAmazonの本社で行われ、飛行機代と宿泊費が1ファイナリストチームにつき、2人まで提供されます。参加者は、Alexaチームに会い、フィードバックを共有し、エキスパートからスキルやプレミアムなアイデアをさらに次の段階にもっていく方法を学ぶことができます。そしてもちろん、Amazonの本社ツアーもあります。サミットは2020年の1月に行われる予定で、詳細は本チャレンジ開催中に追加でアナウンスされます。</p> <p>&nbsp;</p> <h2>そのほかの賞を獲得する方法:ボーナス賞</h2> <p>グランプリと10人のファイナリストに加え、私たちは6人のボーナス賞受賞者を選びます。カテゴリーごとに、最大1つのボーナス賞を獲得することができます。<br /> <br /> コンテンツボーナス賞:以下のボーナス賞の受賞者には3,000ドルが贈られます。ファイナリストである必要はありません。</p> <ul> <li><strong>ボーナスプライズ:プレミアムゲームカテゴリエクスペリエンス</strong>(Alexaスキルストアのゲームカテゴリで認定された、プレミアムゲーム/またはエンターテインメントスキル)</li> <li><strong>ボーナスプライズ:エージェンシー開発プレミアムエクスペリエンス</strong>(伝統的なデジタル広告エージェンシー、コンサルタント、イノベーター、ツール開発者、グローバルカンパニー、デベロッパーパートナーなどの組織はエージェンシー賞の対象です。ほかの賞を受賞する可能性もあります)</li> <li><strong>ボーナスプライズ:買い切り型商品エクスペリエンス</strong>(期限切れにならないプレミアムコンテンツへのアクセスを付与)</li> <li><strong>ボーナスプライズ:サブスクリプション商品エクスペリエンス</strong>(ユーザーが毎月定額を払うことで、すべてのコンテンツを使えるようにする、または段階的にコンテンツにアクセスできるようにする、など)</li> <li><strong>ボーナスプライズ:消費型商品エクスペリエンス</strong>(購入可能で、使うと消費され、再度購入できるプレミアムコンテンツへのアクセスを付与)</li> <li><strong>ボーナスプライズ:ISPでマルチモーダルエクスペリエンス</strong>(Fire TVのような違った種類のデバイスに適応したスキルで、スキル内課金オプションを提供)</li> </ul> <p>&nbsp;</p> <h2>チャレンジに参加するには</h2> <p>参加するには、スキル内課金を使った新しいAlexaスキルを開発するか、既存のスキルに新しくスキル内課金を追加してください。既存スキルの場合は、スキル内課金を本チャレンジで定めるサブミッション期間中に実装する必要があります。すでにスキル内課金を実装している既存スキルは<u><strong>対象外となります</strong></u><strong>。</strong>スキルは現在<a href="https://developer.amazon.com/ja/docs/in-skill-purchase/isp-language-distribution-pricing.html#countries-regions">スキル内課金がサポートされているスキルストア</a>(米国、英国、ドイツ、日本)のうち少なくとも一つに公開されている必要があります。参加方法の詳細はチャレンジの<a href="https://alexaisp.devpost.com/">公式ページ</a>をご確認ください。</p> <h2>&nbsp;</h2> <h2>日本の開発者向け追加情報(本コンテスト公式ページからの一部抜粋、翻訳となります。正式な情報は公式ページの<a href="https://alexaisp.devpost.com/rules">ルール</a>、<a href="https://alexaisp.devpost.com/details/prizes">賞の内容</a>をご確認ください)</h2> <ul> <li>サブミッションパッケージ:スキル説明、デモビデオ、その他の情報はDevpostの公式サイトから11月12日午後5時(米国東部標準時)までにサブミットされる必要があります。必要な条件については、<a href="https://alexaisp.devpost.com/rules">ルール</a>をご覧下さい。</li> </ul> <ul> <li>審査:すべてのスキルはAlexaスキルストアに11月12日午後5時(米国東部標準時)までに審査提出され、12月6日午後5時(米国東部標準時)までに審査通過する必要があります。</li> </ul> <ul> <li><u>スキル以外のDevpostへのサブミッションの内容は英語である必要があります。英語でない場合は、デモビデオ、テキストでの説明、テスト手順の説明を含むすべての内容において、英語の翻訳を提供してください。</u></li> <li>スキルは、サブミットする国のスキルストアの主要言語をサポートしている必要があります(日本のスキルストアの場合は日本語です)。</li> <li>応募スキルはユーザーが何を買えるかを直接判断できるよう、「何が買えるの?」という発話をサポートできるようにしてください。</li> </ul> <p>&nbsp;</p> <h2>開発リソース</h2> <ul> <li>ライブアナウンスメントイベント:ライブの <a href="https://www.twitch.tv/events/1PPcaQ32S-2l9vZGyEaJLA">Twitch event</a>(英語)が9月12日(木)午前11時( 米国太平洋夏時間)に行われます。チャレンジのための、アドバイスやベストプラクティスをお伝えします。</li> <li>Alexa道場:<a href="https://youtu.be/wBJcZc33prs">スキル内課金を動かしてみよう</a>(日本語)</li> <li>サンプルスキルレポジトリ <ul> <li>シンプルハローワールド(日本語、近日公開予定):初心者向けの、買い切り型、サブスクリプションについてのスキル内課金サンプルコードです。課題形式で出題・答え合わせの形で進めていただけます。</li> <li><a href="https://github.com/alexa/skill-sample-nodejs-fact-in-skill-purchases/tree/ja-JP">プレミアムトリビア</a>(日本語):スキル内商品の作成から、サンプルスキルを動かす手順までをステップバイステップで説明します。中級者用です。</li> <li><a href="https://github.com/alexa/skill-sample-nodejs-premium-hello-world">Premium Hello World Skill</a>(英語):ISPの作り方のチュートリアル付き、初心者のためのサンプル</li> <li><a href="https://github.com/alexa/skill-sample-nodejs-fact-in-skill-purchases">Premium Fact Skill</a>(英語):買い切り型、サブスクリプション、消費型のISPをファクトスキルの中で一緒に使っている中級者用コードサンプル</li> </ul> </li> <li>日本語ブログ  <ul> <li><a href="https://developer.amazon.com/blogs/alexa/post/096dc4fa-6bc0-4896-b7c9-ff8ae72070bc/how-to-make-isp-skill-in-jp">Alexaスキル開発トレーニングシリーズ: スキル内課金の開発手順</a></li> <li><a href="https://developer.amazon.com/blogs/alexa/post/c43838d3-a9a8-4024-b28d-131743714bbf/how-to-make-isp-skill-faq-jp">Alexaスキル開発トレーニングシリーズ: スキル内課金に関するFAQ</a></li> </ul> </li> <li><a href="https://developer.amazon.com/ja/docs/in-skill-purchase/isp-overview.html">技術文書</a>(日本語)</li> <li><a href="https://forums.developer.amazon.com/topics/isp-jp.html">スキル内課金フォーラム</a>(日本語)</li> <li>イントロダクションガイド:<a href="https://build.amazonalexadev.com/alexa-skill-monetization-guide-jp.html">Alexaスキルで収益につなげよう</a>(日本語、PDFダウンロード)</li> </ul> <p>&nbsp;</p> <h2>今すぐ参加しよう</h2> <p>第1ラウンドが始まりました!ISPスキルを公開して、11月12日(米国東部標準時)までにDevpostにエントリーしましょう。早く公開すると、ユーザーの評価や友達、家族からのフィードバックにより、スキルをさらに改善する時間が生まれます。ファイナリストは、2019年12月にアナウンス予定です。<br /> 世界中で、Alexaユーザーのための素晴らしいプレミアムエクスペリエンスが開発されるのを、心からお待ちしています。</p> /blogs/alexa/post/058882af-553a-49f4-8402-51207cfb5a94/the-16-alexa-related-papers-at-this-year-s-interspeech The 16 Alexa-Related Papers at This Year’s Interspeech Larry Hardesty 2019-09-10T13:00:00+00:00 2019-09-12T15:20:36+00:00 <p>Research spans the five core areas of Alexa functionality, as well as more-general questions in machine learning.</p> <p><img alt="Graz.jpg" src="https://m.media-amazon.com/images/G/01/DeveloperBlogs/AlexaBlogs/default/Graz.jpg._CB436557955_.jpg?t=true" style="float:left; height:333px; margin-left:10px; margin-right:10px; width:400px" /><em><sup>This year's Interspeech will be held in Graz, Austria, whose famed clock tower was built in the mid-1500s</sup></em><br /> <br /> At next week’s <a href="https://www.interspeech2019.org/" target="_blank">Interspeech</a>, the largest conference on the science and technology of spoken-language processing, Alexa researchers have 16 papers, which span the five core areas of Alexa functionality: <em>device activation</em>, or recognizing speech intended for Alexa and&nbsp;other audio events that require processing; <em>automatic speech recognition</em> (ASR), or converting the speech signal into text; <em>natural-language understanding</em>, or determining the meaning of customer utterances; <em>dialogue management</em>, or handling multiturn conversational exchanges; and <em>text-to-speech</em>, or generating natural-sounding synthetic speech to convey Alexa’s responses. Two of the papers are also more-general explorations of topics in <em>machine learning</em>.</p> <h3>&nbsp;</h3> <h3><strong>Device Activation</strong></h3> <p><a href="https://arxiv.org/pdf/1907.00873.pdf" target="_blank"><strong>Model Compression on Acoustic Event Detection with Quantized Distillation</strong></a><br /> <em>Bowen Shi, Ming Sun, <a href="https://developer.amazon.com/blogs/alexa/author/Chieh-Chi+Kao" target="_blank">Chieh-Chi Kao</a>, <a href="https://developer.amazon.com/blogs/alexa/author/Viktor+Rozgic" target="_blank">Viktor Rozgic</a>, Spyros Matsoukas, Chao Wang</em></p> <p>The researchers <a href="https://developer.amazon.com/blogs/alexa/post/bb807639-efc1-45aa-ac59-11143c0e5a06/more-efficient-machine-learning-models-for-on-device-operation" target="_blank">combine</a> two techniques to shrink neural networks trained to detect sounds by 88%, with no loss in accuracy. One technique, distillation, involves using a large, powerful model to train a leaner, more-efficient one. The other technique, quantization, involves using a fixed number of values to approximate a larger range of values.</p> <p><a href="https://arxiv.org/pdf/1907.01448.pdf" target="_blank"><strong>Sub-band Convolutional Neural Networks for Small-footprint Spoken Term Classification</strong></a><br /> <em><a href="https://developer.amazon.com/blogs/alexa/author/Chieh-Chi+Kao" target="_blank">Chieh-Chi Kao</a>, <a href="https://developer.amazon.com/blogs/alexa/author/Ming+Sun" target="_blank">Ming Sun</a>, Yixin Gao, Shiv Vitaladevuni, Chao Wang</em></p> <p>Convolutional neural nets (CNNs) were originally designed to look for the same patterns in every block of pixels in a digital image. But they can also be applied to acoustic signals, which can be represented as two-dimensional mappings of time against frequency-based “features”. By <a href="https://developer.amazon.com/blogs/alexa/post/bb807639-efc1-45aa-ac59-11143c0e5a06/more-efficient-machine-learning-models-for-on-device-operation" target="_blank">restricting</a> an audio-processing CNN’s search only to the feature ranges where a particular pattern is likely to occur, the researchers make it much more computationally efficient. This could make audio processing more practical for power-constrained devices.</p> <p><a href="https://m.media-amazon.com/images/G/01/amazon.jobs/A_Study_for_Improving_Device_DirectedSpeechDetectiontowardFrictionlessHumanMachineInteractionCameraReadyDraft._CB441843621_.pdf" target="_blank"><strong>A Study for Improving Device-Directed Speech Detection toward Frictionless Human-Machine Interaction</strong></a><br /> <em>Che-Wei Huang, <a href="https://developer.amazon.com/blogs/alexa/author/Roland+Maas" target="_blank">Roland Maas</a>, <a href="https://developer.amazon.com/blogs/alexa/author/Harish+Mallidi" target="_blank">Sri Harish Mallidi</a>, Bj&ouml;rn Hoffmeister</em></p> <p>This paper is an update of prior <a href="https://developer.amazon.com/blogs/alexa/post/60438cf4-f163-4a26-995c-b855dd9cc419/alexa-do-i-need-to-use-your-wake-word-how-about-now" target="_blank">work</a> on detecting device-directed speech, or identifying utterances intended for Alexa. The researchers find that labeling dialogue turns (distinguishing initial utterances from subsequent utterances) and using signal representations based on Fourier transforms rather than mel-frequencies improve accuracy. They also find that, among the features extracted from speech recognizers that the system considers, confusion networks, which represent word probabilities at successive sentence positions, have the most predictive power.</p> <h3><strong>Automatic Speech Recognition (ASR)</strong></h3> <p><a href="https://m.media-amazon.com/images/G/01/amazon.jobs/AcousticModelBootstrappingUsingSemiSupervisedLearning._CB441840935_.pdf" target="_blank"><strong>Acoustic Model Bootstrapping Using Semi-Supervised Learning</strong></a><br /> <em>Langzhou Chen, Volker Leutnant</em></p> <p>The researchers propose a method for selecting machine-labeled utterances for <a href="https://blogs.scientificamerican.com/observations/how-alexa-learns/" target="_blank">semi-supervised training</a> of an acoustic model, the component of an ASR system that takes an acoustic signal as input. First, for each training sample, the system uses the existing acoustic model to identify the two most probable word-level interpretations of the signal at each position in the sentence. Then it finds examples in the training data that either support or contradict those probability estimates, which it uses to adjust the uncertainty of the ASR output. Samples that yield significant reductions in uncertainty are preferentially selected for training.</p> <p><a href="https://m.media-amazon.com/images/G/01/amazon.jobs/ImprovingASRconfidencescoresforAlexausingacousticandhypothesis._CB441840415_.pdf" target="_blank"><strong>Improving ASR Confidence Scores for Alexa Using Acoustic and Hypothesis Embeddings</strong></a><br /> <em>Prakhar Swarup, <a href="https://developer.amazon.com/blogs/alexa/author/Roland+Maas" target="_blank">Roland Maas</a>, Sri Garimella, <a href="https://developer.amazon.com/blogs/alexa/author/Harish+Mallidi" target="_blank">Sri Harish Mallidi</a>, Bj&ouml;rn Hoffmeister</em></p> <p>Speech recognizers assign probabilities to different interpretations of acoustic signals, and these probabilities can serve as inputs to a machine learning model that assesses the recognizer’s confidence in its classifications. The resulting confidence scores can be useful to other applications, such as <a href="https://developer.amazon.com/blogs/alexa/post/32f8381b-1b30-4f42-bbcd-4dfad6605eb5/active-learning-algorithmically-selecting-training-data-to-improve-alexa-s-natural-language-understanding" target="_blank">systems</a> that select machine-labeled training data for <a href="https://blogs.scientificamerican.com/observations/how-alexa-learns/" target="_blank">semi-supervised learning</a>. The researchers append embeddings — fixed-length vector representations — of both the raw acoustic input and the speech recognizer’s best estimate of the word sequence to the inputs to a confidence-scoring network. The result: a 6.5% reduction in equal-error rate (the error rate that results when the false-negative and false-positive rates are set as equal).</p> <p><a href="https://m.media-amazon.com/images/G/01/amazon.jobs/Multidialectacousticmodelingusingphonemappingandonlineivestors._CB441833448_.pdf" target="_blank"><strong>Multi-Dialect Acoustic Modeling Using Phone Mapping and Online I-Vectors</strong></a><br /> <em>Harish Arsikere, Ashtosh Sapru, Sri Garimella</em></p> <p>Multi-dialect acoustic models, which help convert multi-dialect speech signals to words, are typically neural networks trained on pooled multi-dialect data, with separate output layers for each dialect. The researchers show that mapping&nbsp;the phones — the smallest phonetic units of speech — of each dialect to those of the others offers comparable results with shorter training times and better parameter sharing. They also show that recognition accuracy can be improved by adapting multi-dialect acoustic models, on the fly, to a target speaker.</p> <p><a href="https://m.media-amazon.com/images/G/01/amazon.jobs/Neural_Machine_Translation_for_Multilingual_Grapheme-to-Phoneme_Conversion._CB1563385158_.pdf" target="_blank"><strong>Neural Machine Translation for Multilingual Grapheme-to-Phoneme Conversion</strong></a><br /> <em>Alex Sokolov, Tracy Rohlin, Ariya Rastrow</em></p> <p>Grapheme-to-phoneme models, which translate written words into their phonetic equivalents (“echo” to “E k oU”), enable speech recognizers to handle words they haven’t seen before. The researchers train a single neural model to handle grapheme-to-phoneme conversion in 18 languages. The results are comparable to those of state-of-the-art single-language models for languages with abundant training data and better for languages with sparse data. Multilingual models are more flexible and easier to maintain in production environments.</p> <p><a href="https://arxiv.org/pdf/1907.01677.pdf" target="_blank"><strong>Scalable Multi Corpora Neural Language Models for ASR</strong></a><br /> <em><a href="https://developer.amazon.com/blogs/alexa/author/Anirudh+Raju" target="_blank">Anirudh Raju</a>, Denis Filimonov, Gautam Tiwari, Guitang Lan, Ariya Rastrow</em></p> <p>Language models, which compute the probability of a given sequence of words, help distinguish between different interpretations of speech signals. Neural language models promise greater accuracy than existing models, but they’re difficult to incorporate into real-time speech recognition systems. The researchers describe <a href="https://developer.amazon.com/blogs/alexa/post/9c5174ef-12e3-47a3-9e09-a27d1efbc604/how-to-make-neural-language-models-practical-for-speech-recognition" target="_blank">several techniques</a> to make neural language models practical, from a technique for weighting training samples from out-of-domain data sets to noise contrastive estimation, which turns the calculation of massive probability distributions into simple binary decisions.</p> <h3><strong>Natural-Language Understanding</strong></h3> <p><a href="https://arxiv.org/pdf/1808.07364.pdf" target="_blank"><strong>Neural Named Entity Recognition from Subword Units</strong></a><br /> <em><a href="https://developer.amazon.com/blogs/alexa/author/Abdalghani+Abujabal" target="_blank">Abdalghani Abujabal</a>, <a href="https://developer.amazon.com/blogs/alexa/author/Judith+Gaspers" target="_blank">Judith Gaspers</a></em></p> <p>Named-entity recognition is crucial to voice-controlled systems — as when you tell Alexa “Play ‘Spirit’ by Beyonc&eacute;”. A neural network that recognizes named entities typically has dedicated input channels for every word in its vocabulary. This has two drawbacks: (1) the network grows extremely large, which makes it slower and more memory intensive, and (2) it has trouble handling unfamiliar words. The researchers trained a named-entity recognizer that instead takes subword units — characters, phonemes, and bytes — as inputs. It offers comparable performance with a vocabulary of only 332 subwords, versus 74,000-odd words.</p> <h3><strong>Dialogue Management</strong></h3> <p><a href="https://arxiv.org/pdf/1907.00883.pdf" target="_blank"><strong>HyST: A Hybrid Approach for Flexible and Accurate Dialogue State Tracking</strong></a><br /> <em><a href="https://developer.amazon.com/blogs/alexa/author/Rahul+Goel" target="_blank">Rahul Goel</a>, Shachi Paul, <a href="https://developer.amazon.com/blogs/alexa/author/Dilek+Hakkani-Tur" target="_blank">Dilek Hakkani-T&uuml;r</a></em></p> <p>Dialogue-based computer systems need to track “slots” — types of entities mentioned in conversation, such as movie names — and their values — such as <em>Avengers: Endgame</em>. <a href="https://developer.amazon.com/blogs/alexa/post/5253edc1-e295-4e25-9d57-0e33873ad3f8/new-alexa-research-on-task-oriented-dialogue-systems" target="_blank">Training</a> a machine learning system to decide whether to pull candidate slot values from prior conversation or compute a distribution over all possible slot values improves slot-tracking accuracy by 24% over the best-performing previous system.</p> <p><a href="https://arxiv.org/pdf/1907.03020.pdf" target="_blank"><strong>Towards Universal Dialogue Act Tagging for Task-Oriented Dialogues</strong></a><br /> Shachi Paul, <em><a href="https://developer.amazon.com/blogs/alexa/author/Rahul+Goel" target="_blank">Rahul Goel</a></em>, <em><a href="https://developer.amazon.com/blogs/alexa/author/Dilek+Hakkani-Tur" target="_blank">Dilek Hakkani-T&uuml;r</a></em></p> <p>Dialogue-based computer systems typically classify utterances by “dialogue act” — such as requesting, informing, and denying — as a way of gauging progress toward a conversational goal. As a first step in developing a system that will automatically label dialogue acts in human-human conversations (to, in turn, train a dialogue-act classifier), the researchers <a href="https://developer.amazon.com/blogs/alexa/post/5253edc1-e295-4e25-9d57-0e33873ad3f8/new-alexa-research-on-task-oriented-dialogue-systems" target="_blank">create</a> a “universal tagging scheme” for dialogue acts. They use this scheme to reconcile the disparate tags used in different data sets.</p> <p><a href="https://m.media-amazon.com/images/G/01/amazon.jobs/3079_Paper._CB1565131710_.pdf" target="_blank"><strong>Topical-Chat: Towards Knowledge-Grounded Open-Domain Conversations</strong></a><br /> <em>Karthik Gopalakrishnan, <a href="https://developer.amazon.com/blogs/alexa/author/Behnam+Hedayatnia" target="_blank">Behnam Hedayatnia</a>, Qinlang Chen, Anna Gottardi, Sanjeev Kwatra, <a href="https://developer.amazon.com/blogs/alexa/author/Anu+Venkatesh" target="_blank">Anu Venkatesh</a>, Raefer Gabriel, <a href="https://developer.amazon.com/blogs/alexa/author/Dilek+Hakkani-Tur" target="_blank">Dilek Hakkani-T&uuml;r</a></em></p> <p>The researchers report a new data set, which grew out of the Alexa Prize competition and is intended to advance research on AI agents that engage in social conversations. Pairs of workers recruited through Mechanical Turk were given information on topics that arose frequently during Alexa Prize interactions and asked to converse about them, documenting the sources of their factual assertions. The researchers used the resulting data set to train a knowledge-grounded response generation network, and they report automated and human evaluation results as state-of-the-art baselines.</p> <h3><strong>Text-to-Speech</strong></h3> <p><a href="https://arxiv.org/pdf/1811.06292.pdf" target="_blank"><strong>Towards Achieving Robust Universal Neural Vocoding</strong></a><br /> <em><a href="https://developer.amazon.com/blogs/alexa/author/Jaime+Lorenzo+Trueba" target="_blank">Jaime Lorenzo Trueba</a>, Thomas Drugman, Javier Latorre, Thomas Merritt, Bartosz Putrycz, Roberto Barra-Chicote, Alexis Moinet, Vatsal Aggarwal</em></p> <p>A vocoder is the component of a speech synthesizer that takes the frequency-spectrum snapshots generated by other components and fills in the information necessary to convert them to audio. The researchers <a href="https://developer.amazon.com/blogs/alexa/post/dbf34a42-70a4-475c-a2af-e2d876c18371/neural-text-to-speech-makes-speech-synthesizers-much-more-versatile" target="_blank">trained</a> a neural-network-based vocoder using data from 74 speakers of both genders in 17 languages. The resulting “universal vocoder” outperformed speaker-specific vocoders, even on speakers and languages it had never encountered before and unusual tasks such as synthesized singing.</p> <p><a href="https://arxiv.org/pdf/1907.02479.pdfhttps://arxiv.org/pdf/1907.02479.pdf" target="_blank"><strong>Fine-Grained Robust Prosody Transfer for Single-Speaker Neural Text-to-Speech</strong></a><br /> <em>Viacheslav Klimkov, Srikanth Ronanki, Jonas Rohnke, Thomas Drugman</em></p> <p>The researchers present a <a href="https://developer.amazon.com/blogs/alexa/post/dbf34a42-70a4-475c-a2af-e2d876c18371/neural-text-to-speech-makes-speech-synthesizers-much-more-versatile" target="_blank">new technique</a> for transferring prosody (intonation, stress, and rhythm) from a recording to a synthesized voice, enabling the user to choose whose voice will read recorded content, with inflections preserved. Where earlier prosody transfer systems used spectrograms — frequency spectrum snapshots — as inputs, the researchers’ system uses easily normalized prosodic features extracted from the raw audio.</p> <h3><strong>Machine Learning</strong></h3> <p><a href="https://m.media-amazon.com/images/G/01/amazon.jobs/TwoTieredDistributedTrainingAlgorithmforAcousticModelingNEW._CB1566335659_.pdf" target="_blank"><strong>Two Tiered Distributed Training Algorithm for Acoustic Modeling</strong></a><br /> <em><a href="https://developer.amazon.com/blogs/alexa/author/Pranav+Ladkat" target="_blank">Pranav Ladkat</a>, Oleg Rybakov, Radhika Arava, <a href="https://developer.amazon.com/blogs/alexa/author/Hari+Parthasarathi" target="_blank">Sree Hari Krishnan Parthasarathi</a>,</em><br /> I-Fan Chen, Nikko Strom</p> <p>When neural networks are trained on large data sets, the training needs to be distributed, or broken up across multiple processors. A <a href="https://developer.amazon.com/blogs/alexa/post/499916a4-7175-4c15-b272-81b16a1a2e4d/speeding-parallel-training-of-neural-nets" target="_blank">novel combination</a> of two state-of-the-art distributed-learning algorithms — GTC and BMUF — achieves both higher accuracy and more-efficient training then either, when learning is distributed to 128 parallel processors.</p> <p style="text-align:center"><img alt="BMUF-GTC.gif" src="https://m.media-amazon.com/images/G/01/DeveloperBlogs/AlexaBlogs/default/BMUF-GTC.gif._CB436386414_.gif?t=true" style="display:block; height:240px; margin-left:auto; margin-right:auto; width:450px" /><br /> <em><sup>The researchers' new method splits distributed processors into groups, and within each group, the processors use the highly accurate GTC method to synchronize their models. At regular intervals, designated representatives from all the groups use a different method — BMUF — to share their models and update them accordingly. Finally, each representative broadcasts its updated model to the rest of its group.</sup></em></p> <p><a href="https://arxiv.org/pdf/1906.08858.pdf" target="_blank"><strong>One-vs-All Models for Asynchronous Training: An Empirical Analysis</strong></a><br /> <em><a href="https://developer.amazon.com/blogs/alexa/author/Rahul+Gupta" target="_blank">Rahul Gupta</a>, Aman Alok, Shankar Ananthakrishnan</em></p> <p>A neural network can be trained to perform multiple classifications at once: it might recognize multiple objects in an image, or assign multiple topic categories to a single news article. An alternative is to train a separate “one-versus-all” (OVA) classifier for each category, which classifies data as either in the category or out of it. The advantage of this approach is that each OVA classifier can be re-trained separately as new data becomes available. The researchers present a new metric that enables comparison of multiclass and OVA strategies, to help data scientists determine which is more useful for a given application.</p> <p><br /> <em><sup>Photo courtesy of Getty Images;&nbsp;animation by&nbsp;<a href="https://www.nicholaslittleillustration.com/" target="_blank">Nick&nbsp;Little</a></sup></em></p> /blogs/alexa/post/14b168c2-72a1-4dc1-8c2c-325ac0792f16/what-s-new-in-the-alexa-skills-kit-august-2019-release-roundup What's New in the Alexa Skills Kit: August 2019 Release Roundup Leo Ohannesian 2019-09-10T01:37:25+00:00 2019-09-10T01:37:25+00:00 <p><img alt="Intent-history_blog.png" src="https://m.media-amazon.com/images/G/01/DeveloperBlogs/AlexaBlogs/default/Intent-history_blog.png._CB460678784_.png?t=true" /></p> <p>What's new in the Alexa Skills Kit for August 2019? Read our release roundup blog to find out.</p> <p><em><strong>Editor's Note: </strong>Our monthly release roundup series showcases the latest in Alexa Skills Kit developer tools and features that can make your skills easier to manage, simpler to deploy, and more engaging for your customers. Build with these new capabilities to enable your Alexa skills to drive brand or revenue objectives.</em></p> <p>In this roundup video we share details about the new things released for skill developers last month, including the announcement of the App-to-App Account Linking, Skill Flow Builder, and Custom Interfaces for gadgets along with several other features that can help make you be more productive or build more engaging skills. Check out the entire video for more information from Alexa evangelists and code samples.</p> <p><iframe allowfullscreen="" frameborder="0" height="360" src="//www.youtube.com/embed/s0RxxGdgnws" width="640"></iframe></p> <h2>1. Improved response structure for client errors in the CLI and SMAPI</h2> <p>Spend less time debugging during skill development with improved error responses. SMAPI and CLI error responses are now more detailed and more actionable for failed operations performed in skill development.&nbsp;<a href="https://developer.amazon.com/blogs/alexa/post/77ec9b58-f93d-4cae-8de9-bb1b9fedb5e5/improved-response-structure-for-client-errors-in-the-cli-and-smapi?&amp;sc_category=Owned&amp;sc_channel=BG&amp;sc_campaign=roundup&amp;sc_content_category=Productivity&amp;sc_country=WW" target="_blank">Check out the announcement here</a> or <a href="https://developer.amazon.com/docs/smapi/error-codes.html?&amp;sc_category=Owned&amp;sc_channel=BG&amp;sc_campaign=roundup&amp;sc_content_category=Productivity&amp;sc_country=WW" target="_blank">learn about it in our&nbsp;docs here.</a></p> <ul> </ul> <h2>2. Create story-based game skills faster with Skill Flow Builder</h2> <p>We are excited to introduce Skill Flow Builder (SFB), a new tool that enables you to build story-based game skills faster including interactive fiction, branching narratives, and role-playing games. SFB complements tools like the Alexa Skills Kit (ASK) SDK, and provides an easy-to-use solution for the creation of skill flow and content by separating content creation from skill code. <a href="https://developer.amazon.com/blogs/alexa/post/83c61d4e-ab3f-443e-bf71-75b5354bdc9e/skill-flow-builder?&amp;sc_category=Owned&amp;sc_channel=BG&amp;sc_campaign=roundup&amp;sc_content_category=Games&amp;sc_country=WW" target="_blank">Check out the announcement</a> or&nbsp;<a href="https://developer.amazon.com/docs/custom-skills/understand-the-skill-flow-builder.html?&amp;sc_category=Owned&amp;sc_channel=BG&amp;sc_campaign=roundup&amp;sc_content_category=Games&amp;sc_country=WW" target="_blank">read about it in our docs</a>.&nbsp;</p> <h2>3. Introducing Custom Interfaces to build dynamic gadgets, games, and smart toys</h2> <p>We are excited to introduce Custom Interfaces, enabling you to connect gadgets, games, and smart toy products with immersive skill-based content—unlocking creative ways for customers to experience your product. <a href="https://developer.amazon.com/alexa/alexa-gadgets/resources?&amp;sc_category=Owned&amp;sc_channel=BG&amp;sc_campaign=roundup&amp;sc_content_category=Gadgets&amp;sc_country=WW" target="_blank">Click here for additional resources</a> or <a href="https://developer.amazon.com/blogs/alexa/post/ca2cfbfb-37a2-49de-840c-f06f6ad8b74d/introducing-custom-interfaces-enabling-developers-to-build-dynamic-gadgets-games-and-smart-toys-with-alexa?&amp;sc_category=Owned&amp;sc_channel=BG&amp;sc_campaign=roundup&amp;sc_content_category=Gadgets&amp;sc_country=WW" target="_blank">check out the announcement here.&nbsp;</a></p> <h2>4. Use App-to-App account linking and new Skill Activation API to simplify skill setup</h2> <p>Now you can use&nbsp;<a href="https://developer.amazon.com/docs/account-linking/app-to-app-account-linking.html?&amp;sc_category=Owned&amp;sc_channel=BG&amp;sc_campaign=roundup&amp;sc_content_category=Personalization&amp;sc_country=WW" target="_blank">App-to-App account linking</a>&nbsp;and the&nbsp;<a href="https://developer.amazon.com/docs/account-linking/skill-activation-api.html?&amp;sc_category=Owned&amp;sc_channel=BG&amp;sc_campaign=roundup&amp;sc_content_category=Personalization&amp;sc_country=WW" target="_blank">Alexa Skill Activation API</a>&nbsp;to let customers link their Alexa account and enable your skill from within your mobile application.&nbsp;<a href="https://developer.amazon.com/blogs/alexa/post/f8251953-17ab-44df-b504-5af79af9684a/use-app-to-app-account-linking-and-new-skill-activation-api-to-simplify-skill-setup?&amp;sc_category=Owned&amp;sc_channel=BG&amp;sc_campaign=roundup&amp;sc_content_category=Personalization&amp;sc_country=WW" target="_blank">Learn more about it from the announcement.&nbsp;</a></p> <h2>5. New ASK SDK support for Express.js and Jinja</h2> <p>Newly added support for Express.js in the Node.js SDK and Jinja support in the Python SDK now make it easier to build and integrate skills.&nbsp;<a href="https://developer.amazon.com/blogs/alexa/post/077d022d-1d3d-42ce-83b6-1e28a362b7f7/new-ask-sdk-support-for-express-js-and-jinja?&amp;sc_category=Owned&amp;sc_channel=BG&amp;sc_campaign=roundup&amp;sc_content_category=Productivity&amp;sc_country=WW" target="_blank">Check out the announcement here</a>.</p> <ul> </ul> <h2>6. Join the ASK CLI beta, now open source</h2> <p>We’re excited to announce the open source release of the ASK CLI in beta on&nbsp;<a href="https://github.com/alexa/ask-cli" target="_blank">GitHub</a>, now with support for deploying your skill code to AWS using CloudFormation. As an open source tool, anyone can now contribute new features and improvements to the ASK CLI. Additionally, with support for CloudFormation, you can now manage your entire skill infrastructure from a single file.&nbsp;<a href="https://developer.amazon.com/blogs/alexa/post/460fe09c-8573-4968-b476-a8bf87a27c63/join-the-ask-cli-beta-now-open-source?&amp;sc_category=Owned&amp;sc_channel=BG&amp;sc_campaign=roundup&amp;sc_content_category=Productivity&amp;sc_country=WW" target="_blank">Check out the announcement</a>.</p> <h2>7. New operational metrics available for smart home developers</h2> <p>Starting today, you can view request volume, latency, and success rates for your smart home skills by visiting the Analytics page in the Alexa developer console. You can monitor the metrics from as recently as five minutes prior to quickly identify and resolve issues with your smart home skills in order to minimize customer impact. As a result, you can improve both responsiveness and reliability for your customers.<a href="https://developer.amazon.com/docs/devconsole/measure-skill-usage.html?&amp;sc_category=Owned&amp;sc_channel=BG&amp;sc_campaign=roundup&amp;sc_content_category=SmartHome&amp;sc_country=WW" target="_blank">&nbsp;Read about it in our docs.&nbsp;</a></p> <h2>&nbsp;</h2> <p>As always, we can't wait to see what you build. As a reminder, learn how to get the most out of the tech docs by visiting the <a href="https://developer.amazon.com/docs/ask-overviews/latest-tips-documentation.html" target="_blank">Latest Tips page.</a></p> /blogs/alexa/post/58d68581-ce39-4791-951a-3e70f2a38195/new-avs-developer-solutions-announced-at-ifa-2019 New AVS Developer Solutions at IFA 2019 Adam Vavrek 2019-09-06T06:08:14+00:00 2019-09-06T07:23:26+00:00 <p style="text-align:start"><a href="https://developer.amazon.com/blogs/alexa/post/58d68581-ce39-4791-951a-3e70f2a38195/new-avs-developer-solutions-announced-at-ifa-2019" target="_self"><img alt="Amazon Alexa at IFA 2019" src="https://m.media-amazon.com/images/G/01/mobile-apps/dex/alexa/auto/blog_ifa-2019_954x240.png" style="display:block; height:240px; margin-left:auto; margin-right:auto; width:954px" /></a></p> <p>If you are at IFA in Berlin, we encourage you to&nbsp;stop by the Amazon Alexa exhibit (Stand 201 in Hall 26) where we will showcase new products and solutions for developers.</p> <p style="text-align:start"><img alt="Amazon Alexa at IFA 2019" src="https://m.media-amazon.com/images/G/01/mobile-apps/dex/alexa/auto/blog_ifa-2019_954x240.png" style="display:block; height:240px; margin-left:auto; margin-right:auto; width:954px" /></p> <p style="text-align:start">Today, we are announcing new white-box solutions, development kits, and Original Design Manufacturers&nbsp;to help device makers bring new innovative products to market faster. If you are at IFA in Berlin, we encourage you to&nbsp;stop by the Amazon Alexa exhibit (Stand 201 in Hall 26). You can also learn more about our presence at IFA, including the <em>Spin to Win</em> program&nbsp;<a href="https://developer.amazon.com/alexa-voice-service/ifa2019" target="_blank">here</a>.</p> <h2 style="text-align:start"><strong>New White-Box Solutions from Qualified Original Design Manufacturers (ODM)</strong></h2> <div style="-webkit-text-stroke-width:0px; text-align:start"> <p style="margin-left:0in; margin-right:0in; text-align:start">White-box solutions with Alexa built-in are the fastest way to get your products to market, with several ODMs offering turnkey solutions and processes to design, test, and manufacture your products.&nbsp;We are pleased to announce four&nbsp;new white-box products for device makers, of which two&nbsp;were recently added to the AVS ODM portfolio (Horn and Tatung):</p> <p style="margin-left:0in; margin-right:0in; text-align:start">The&nbsp;<strong>RealityVoice</strong>&nbsp;from&nbsp;Third Reality&nbsp;is a white-box design for a smart home hub with Alexa built-in that features an integrated ZigBee hub and Wi-Fi connectivity. It uses a 2-mic voice capture solution and can be bundled with other smart home products like light bulbs and light switches from ThirdReality.</p> <p style="margin-left:0in; margin-right:0in; text-align:start">The <strong>Hansong</strong>&nbsp;<strong>Microdot</strong>&nbsp;<strong>XS</strong>&nbsp;is a small, portable speaker with Alexa built-in. Based on Libre's MAVID solution, it features a 3-mic far-field array, dual band Wi-Fi, Bluetooth, and optional 4G connectivity. The device has 700mAh rechargeable battery that provides four hours of playback time.</p> <p style="margin-left:0in; margin-right:0in; text-align:start"><strong>Horn’s Luduan V4</strong>&nbsp;is a 2-mic headset with Alexa built-in, using Amazon‘s Alexa Mobile Accessory (AMA) protocol. Based on Ambiq's solution, the&nbsp;headset provides users with a wake-on-voice Alexa experience and is rated IPX5 for water resistance.&nbsp;</p> <p style="margin-left:0in; margin-right:0in; text-align:start">The&nbsp;<strong>Aston Two from Tatung</strong>&nbsp;are headphones with Alexa built-in that deliver quality audio and Alexa interaction using both wake-on-voice and tap-to-talk modes. They feature both Bluetooth and Wi-Fi connectivity, making them flexible for indoor and outdoor usage.&nbsp;This product is also based on Libre’s MAVID solution.&nbsp;</p> </div> <div style="-webkit-text-stroke-width:0px; text-align:start"> <a href="https://developer.amazon.com/alexa-voice-service/odm-solutions" target="_blank">Learn more</a>. </div> <div style="-webkit-text-stroke-width:0px; text-align:start"> &nbsp; </div> <h2 style="text-align:start"><strong>New Development Kits for AVS</strong></h2> <div style="-webkit-text-stroke-width:0px; text-align:start"> <p style="margin-left:0in; margin-right:0in; text-align:start">We work with leading chipset providers to qualify their hardware + software based reference solutions for creating devices with Alexa built-in.&nbsp;This helps device makers reduce their development time and focus on product quality and differentiation. Today, we are introducing two new qualified development kits:</p> <p style="margin-left:0in; margin-right:0in; text-align:start">The new&nbsp;<strong>MediaTek 2-Mic Dev Kit</strong>&nbsp;<strong>for AVS</strong>&nbsp;is a highly efficient audio applications processor designed for smart speakers, sound bars, smart appliances or other in-home smart products with Alexa built-in. It features far-field voice capture using only 2 microphones, and is compatible with the Alexa Multi-Room Music feature.</p> <p style="margin-left:0in; margin-right:0in; text-align:start">The&nbsp;<strong>XMOS VocalFusion 2-Mic Dev Kit for AVS</strong>&nbsp;is a BOM-efficient solution optimized for smart TVs and set-top boxes with Alexa built-in. It features an adaptive delay estimator to ensure audio-visual sync and stereo acoustic echo cancellation for barge-in support.</p> </div> <div style="-webkit-text-stroke-width:0px; text-align:start"> <a href="https://developer.amazon.com/alexa-voice-service/dev-kits" target="_blank">Learn more</a>. </div> <div style="-webkit-text-stroke-width:0px; text-align:start"> &nbsp; </div> <div style="-webkit-text-stroke-width:0px; text-align:start"> If you are a developer wanting to learn how to integrate Alexa into&nbsp;your device&nbsp;or teach Alexa new skills, come to our booth in Hall 26 and and meet our Solutions Architects. You can also join the developer community by <a href="https://alexa.design/IFA2019blog96" target="_blank">subscribing to our Voice Mail email newsletter</a>. </div> /blogs/alexa/post/499916a4-7175-4c15-b272-81b16a1a2e4d/speeding-parallel-training-of-neural-nets Accelerating Parallel Training of Neural Nets Larry Hardesty 2019-09-05T13:00:00+00:00 2019-09-05T14:50:47+00:00 <p>By combining two state-of-the-art techniques for parallelizing machine learning — one that prioritizes accuracy, one that prioritizes efficiency — Alexa researchers improve on both.</p> <p>Earlier this year, we <a href="https://developer.amazon.com/blogs/alexa/post/9e8392c6-5476-4a34-a2d8-c4e479677954/new-speech-recognition-experiments-demonstrate-how-machine-learning-can-scale" target="_blank">reported</a> a speech recognition system trained on a million hours of data, a feat possible through semi-supervised learning, in which training data is annotated by machines rather than by people.&nbsp;</p> <p>These sorts of massive machine learning projects are becoming more common, and they require distributing the training process across multiple processors. Otherwise, training becomes too time consuming.</p> <p>In theory, doubling the number of processors should halve the training time, but in practice, it doesn’t work that way: the need to synchronize distributed computations results in some inevitable communication overhead. Parallelization schemes always involve some trade-off between training efficiency and the accuracy of the resulting model.</p> <p>In a <a href="https://m.media-amazon.com/images/G/01/amazon.jobs/TwoTieredDistributedTrainingAlgorithmforAcousticModelingNEW._CB1566335659_.pdf" target="_blank">paper</a> we’re presenting at this year’s Interspeech, we describe a new approach to parallelizing the training of neural networks that combines two state-of-the-art methods and improves on both. One of the existing methods prioritizes model accuracy, and the other prioritizes training efficiency. In tests that involved training an acoustic model — a vital component of a speech recognition system — our hybrid method proved both more accurate than the accuracy-prioritizing method and more efficient than the efficiency-prioritizing method.</p> <p>The accuracy-prioritizing method was <a href="https://s3-us-west-2.amazonaws.com/amazon.jobs-public-documents/strom_interspeech2015.pdf" target="_blank">proposed</a> in 2015 by Amazon senior principal scientist Nikko Strom, who’s also a coauthor on the new paper. At the time, the method — known as synchronous GTC, for gradient threshold compression — was a breakthrough, enabling parallelization to as many as 32 processors with little loss in model accuracy. Our experiments indicate, however, that beyond 32 processors, communications overhead can make GTC much less efficient.&nbsp;</p> <p>When we needed to increase the processor count to handle a million hours of data, we switched to a different parallelization method, called BMUF, for blockwise model update filtering. BMUF scales better than GTC, but at the price of accuracy. In experiments we report in our new paper, at 64 processors, BMUF triples the training rate achievable with GTC — but it also triples the loss in accuracy.</p> <p>In our new work, we split the distributed processors into groups, and each group performs GTC within itself. Every so often, however, the groups share their latest models using BMUF, which re-synchronizes models across all processors.</p> <p><img alt="BMUF-GTC.gif" src="https://m.media-amazon.com/images/G/01/DeveloperBlogs/AlexaBlogs/default/BMUF-GTC.gif._CB436386414_.gif?t=true" style="display:block; height:320px; margin-left:auto; margin-right:auto; width:600px" /></p> <p style="text-align:center">&nbsp;<em><sup>Our new method splits distributed processors into groups, and within each group, the processors use the highly accurate GTC method to synchronize their models. At regular intervals, designated representatives from all the groups share their models and update their own local models accordingly. Finally, each representative broadcasts its updated model to the rest of its group.</sup></em></p> <p>A neural network consists of thousands or even millions of very simple processors, often called neurons. Each neuron receives data from several other neurons, processes it, and passes the results&nbsp;to still other neurons. Connections between neurons have associated <em>weights</em>, which determine how big a role the outputs of one neuron play in the computations&nbsp;performed by the next.&nbsp;</p> <p>During training, a network will process a small amount of data, known as a minibatch, evaluate the results, and update its weights accordingly. Then it will process the next minibatch, and so on.</p> <p>The natural way to parallelize this procedure is to give each processor its own copy of the initial network weights and its own set of minibatches. After each minibatch, each processor will broadcast the updates it needs to make to its weights (technically, “gradients”) to all the other processors. A given processor simply combines all the updates it receives and applies them to its own, local copy of the network.&nbsp;Then it processes its next minibatch.</p> <p>This method is equivalent to training a model on a single processor. But broadcasting a full set of weight updates&nbsp;after each minibatch is so bandwidth intensive that it eats up the time savings from parallelization. GTC modifies this procedure in a few crucial ways.</p> <p>First, it exploits the fact that the weight updates that follow the processing of a single minibatch tend to make major modifications to only a few neural connections. GTC requires the establishment of a <em>threshold</em> — the <em>T</em> in GTC — below which weight updates will not be broadcast, saving bandwidth. (Weights that fall below the threshold are, however, stored locally, where they may still factor into later computations.)</p> <p>The weight threshold, denoted by the Greek letter tau, is determined empirically and varies from application to application. In our experiments, the optimal setting of tau turned out to be 8.&nbsp;</p> <p>Next, when broadcasting its weight updates, each processor sends only one of two values, tau or -tau. Those two values can be represented by a single bit of information, <em>compressing</em> (the <em>C</em> in GTC) the update message. (Like updates that fall below the threshold, the residuals of weights above the threshold are stored locally and factor into later computations.)</p> <p>These two modifications do sacrifice some accuracy. That’s why, in our experiments, we evaluate relative increase in error rate. All three methods we compare — GTC, BMUF, and our GTC-BMUF hybrid — increase error rate. The question is how much, and what we gain in efficiency in exchange.</p> <p>With BMUF, each processor continually updates its own local copy of the neural model. After a fixed number of minibatches — say, 50 — it broadcasts its model, and all the processors update their models accordingly. This drastically cuts down on bandwidth consumption, but it decreases model accuracy.</p> <p>By combining these approaches — GTC locally, BMUF globally — we get the best of both worlds. On the acoustic-modeling task we used for testing, our hybrid is slightly less efficient than BMUF at 32 cores, offering a 31-fold speedup relative to single-core processing; BMUF’s speedup is actually superlinear, at 36.6-fold. But our method reduces the error rate, while BMUF increases it by 3.5%. GTC, with a 26-fold speedup, increases error rate by 1.4%.</p> <p>At 64 cores, GTC offers the best accuracy, with an error rate increase of 2.8%, versus 3.1% for our method and 8.9% for BMUF. But GTC’s efficiency actually falls, to 17-fold, versus 57-fold for BMUF and 42-fold for our method.</p> <p>At 128 cores, our method is the undisputed champion, offering a 97-fold speedup and a 4.7% error rate increase, to 80-fold/9.6% for BMUF and 11-fold/15.6% for GTC.</p> <p><em>Pranav Ladkat is a research engineer in Alexa AI’s Machine Learning Platform Services group.</em></p> <p><a href="https://m.media-amazon.com/images/G/01/amazon.jobs/TwoTieredDistributedTrainingAlgorithmforAcousticModelingNEW._CB1566335659_.pdf" target="_blank"><strong>Paper</strong></a>: “Two Tiered Distributed Training Algorithm for Acoustic Modeling”</p> <p><a href="https://developer.amazon.com/alexa/science" target="_blank"><strong>Alexa science</strong></a></p> <p><strong>Acknowledgments</strong>:&nbsp;Oleg Rybakov, Radhika Arava, Sree Hari Krishnan Parthasarathi, I-Fan Chen, Nikko Strom</p> <p><strong>Related</strong>:</p> <ul> <li><a href="https://developer.amazon.com/blogs/alexa/post/9e8392c6-5476-4a34-a2d8-c4e479677954/new-speech-recognition-experiments-demonstrate-how-machine-learning-can-scale">New Speech Recognition Experiments Demonstrate How Machine Learning Can Scale</a></li> <li><a href="https://developer.amazon.com/blogs/alexa/post/f2c93a90-5539-4386-aefb-2342f9b1cc4c/new-approach-to-language-modeling-reduces-speech-recognition-errors-by-up-to-15" target="_blank">New Approach to Language Modeling Reduces Speech Recognition Errors by Up to 15%</a></li> <li><a href="https://developer.amazon.com/blogs/alexa/post/ab5bd7dd-ffa4-4607-b5b9-3c87f2bca5d1/contextual-clues-can-help-improve-alexa-s-speech-recognizers" target="_blank">Contextual Clues Can Help Improve Alexa’s Speech Recognizers</a></li> </ul> <p><sub><em>Animation by&nbsp;<a href="https://www.nicholaslittleillustration.com/" target="_blank">Nick&nbsp;Little</a></em></sub></p>