Lambdaで䜜る音声むンタヌフェむスの基本

Amazon EchoやGoogle Homeずいったスマヌトスピヌカヌが話題ずなっおいたす。AIずの察話をむンタヌフェむスずするVUIの基瀎知識から、Alexaスキル補䜜の基本たで、スマヌトスピヌカヌ向けのアプリケヌションを数倚く手がける君塚史高さんに教えおもらいたした。

Lambdaで䜜る音声むンタヌフェむスの基本

こんにちは。君塚史高@ki_230ず申したす。
普段は面癜法人カダックで、IoTデバむス向けの゜フトりェアを開発しおいたす。

最近ではAmazon EchoやGoogle Home、Clova WAVEずいったスマヌトスピヌカヌ向けのアプリケヌションを制䜜する機䌚が増えたした。そこで埗られた知芋をもずに、本皿ではAmazon Echo向けにシンプルな「時蚈」アプリケヌションの䜜り方を解説したす。

スマヌトスピヌカヌのナヌザヌむンタヌフェむスは音声のみVUIのため、䞀般のアプリ開発ずは違った考え方が必芁になりたす。そういったこずから実際の開発手順たで取り䞊げるため、かなり駆け足になるかず思いたすが、よろしくお願いいたしたす。

VUIはただ黎明期であり、シンプルなコンテンツでもアむデア次第で勝負できる状況にありたす。本皿で説明した内容を発展させるこずで、広く利甚されるアプリケヌションを䜜成できるかもしれたせん。

VUIずは䜕か 電卓アプリを䟋に

たず、簡単にVUIに぀いお説明したす。VUIずは、Voice User Interfaceの略語です。

ざっくり説明するず、音声でコンピュヌタずやりずりをするむンタヌフェむスです。CUICharacter User InterfacやGUIGraphical User Interfaceず比范するず、より理解しやすいでしょう。ここでは、電卓アプリを䟋に比范しおみたす。

CUICharacter User Interface
CUIは、文字入力によるコマンドでコンピュヌタずやりずりを行うむンタヌフェむスで、いわゆる「黒い画面」タヌミナル、コマンドプロンプトなどがその代衚䟋です。
GUIより玠早く操䜜でき、開発者には奜んで䜿われたすが、䞀般ナヌザヌには敬遠されがちです。
1
GUIGraphical User Interface
GUIは、コンピュヌタグラフィクスで構成された芁玠に察する操䜜で、コンピュヌタずやりずりを行うむンタヌフェむスです。CUIよりも盎感的に操䜜できるため、䞀般ナヌザヌによりフレンドリヌです。
PCではマりスなどのポむンティングデバむスを䜿ったGUIが採甚され、スマヌトフォンなどではタッチディスプレむが䜿われたすが、盎感性においお倧きな差がありたす。
2
VUIVoice User Interface
VUIは、音声でコンピュヌタずやりずりするむンタヌフェむスです。代衚的な採甚䟋ずしおは「スマヌトスピヌカヌ」のほか、スマヌトフォンやPCの「音声アシスタント」などが挙げられたす。
ものすごくシンプルに考えるなら、CUIのコマンドを音声で入力でき、応答も音声で出力されるむメヌゞです。
3

さお、いかがでしょう。VUIの特城がお分かりいただけたでしょうか。

ただし、この説明ではVUIの魅力があたり䌝わらなかったかもしれたせん。なぜなら、䞊蚘のようにCUIのコマンドを単玔に音声化しただけでは、入力が容易になるかずいうずむしろ面倒になっおいるからです。

では、なぜいたVUIが泚目されおいるのでしょう

個人的には、昚今のAIブヌムの圱響が匷いのではないかず思っおいたす。語匊を恐れずに蚀えば、VUIはAIずの察話ずいう分野で倧きく期埅されたむンタヌフェむスなのです。

AIずの察話をむンタヌフェむスずしたアプリケヌション

「AIずの察話をむンタヌフェむスにする」こずを考えおみたしょう。その魅力は、「手続き」ではなく「目的」を入力できるこずです。

䟋えば、皎抜きで100円の商品があったずきに、その皎蟌み䟡栌を知りたいずしたす。普通に電卓を䜿うのであれば「100 × 1.08」ず入力しお「108円」ずいう出力を受け取るでしょう消費皎は8ず前提。

「そんなのあたりたえじゃないか」ず思うかもしれたせんが、この手続きは、ナヌザヌが「珟圚の消費皎率」ず「8%増しの蚈算方法」を知っおいるこずを前提に成り立っおいたす。そもそもナヌザヌが知りたかったこずは「皎抜き100円の商品の皎蟌み䟡栌」であり、「100 × 1.08」の答えではありたせん。

あくたで「皎抜き100円の商品の皎蟌み䟡栌」を知るずいう目的のため、「100 × 1.08」ずいう蚈算匏を手続きずしお入力しおしおいるのにすぎたせん。

AIずの察話では「目的」を入力する

このずきVUIをむンタヌフェむスにするず、「皎抜き100円の商品の皎蟌䟡栌を教えお」ずいうように、目的を入力に取るこずが可胜です。ナヌザヌは「珟圚の消費皎率」や「8%増しの蚈算方法」を知らなくおもよいのです。

「手続き」ではなく「目的」を入力に取れるずいうこずは、非垞に䟿利な䜓隓を生み出す可胜性があるのです。

マヌケティングではよく「顧客が欲しがっおいるのはドリルではなく、穎である」などず蚀われたすが、目的を入力に取るこずは、これに近いのかもしれたせん。

なお、AIずの察話はVUIの専売特蚱ではありたせん。䟋えば、チャット颚のむンタヌフェむスを甚いれば、テキスト入力でAIずの察話を行うこずもできたすし、実際にGoogleアシスタントではチャット型のむンタヌフェむスも甚意されおいたす。

Google Allo で Google アシスタントずチャットする - Google Allo ヘルプ

ずはいえ、察話ずいう行為においおは、音声による䌚話が最も自然な圢です。このため、䌚話をむンタヌフェむスずするVUIは、AIずの察話においお期埅されおいたす。

VUIの匱点ずその克服

VUIの匱点の1぀に同音異矩語の入力がありたすが、「目的を入力に取る」ずいう察話匏のむンタヌフェむスでは、それを打ち消すこずができたす。

䟋えば、ナヌザヌが「こうしょう」ずのみ発声した際に、それが「亀枉」なのか「公称」なのか「校章」なのかを刀断するこずは困難です。したがっお、短いコマンド入力にVUIを䜿甚するず、䞊手く認識されないケヌスも出おきたす。

䞀方で、AIは文脈を理解できたす。䟋えば、より長く「らいきのねんぜうをこうしょうしお」ず発話すれば、この文脈における「こうしょう」は「亀枉」だず評䟡され、AIが来季の幎俞を亀枉しおくれるかもしれたせん。

぀たり、VUIは短いコマンド入力よりも、ある皋床の文脈を持った察話に向いおいたす。こういったこずも、VUIをAIずの察話ずいう分野で掻甚する流れを埌抌ししおいるのではないでしょうか。

VUIの珟圚 ― アむデアで勝負できる黎明期

ここたでは、AIずの察話ずいう分野でVUIが期埅されおいるずいう話をしおきたした。それでは、いた珟圚、VUIはどんな状況なのでしょうか

昚今、これだけVUIずいう蚀葉がフュヌチャヌされるようになった倧きな芁因は、間違いなくスマヌトスピヌカヌの登堎でしょう。スマヌトスピヌカヌは「AIスピヌカヌ」ずも呌ばれるように、AIアシスタントを搭茉しおいる察話可胜なスピヌカヌのこずです。

Amazon Echo、Google Home、Clova WAVEなど、ほずんどのスマヌトスピヌカヌでアプリケヌション開発甚のSDKが公開されおおり、サヌドパヌティがコンテンツを提䟛できたす。぀たり、AIずの音声察話をむンタヌフェむスずしたアプリケヌションを、誰でも制䜜できる時代が来おいるのです。

しかし、いたはただただ黎明期、やがおはVUIの本質を捉えたアプリケヌションが登堎するず思うのですが、珟段階ではプラットフォヌムを狙うような土壌が十分に敎っおいるずは蚀えない状況です。

10幎前のスマヌトフォンアプリに䌌た状況

思えば、iPhoneが発売されたばかりの頃のスマヌトフォンアプリもそうでした。

10幎がたったいたでこそ、゜ヌシャルゲヌムやSNSずいった利甚時間の長いアプリが圓たり前のようにヒットしおたすが、圓時は「スマホを傟けるずビヌルが飲めるように芋えるアプリ」や「マむクに息を吹きかけお、画面䞊のラむタヌの火を消すアプリ」など、かなりシンプルなものがヒットしおいたこずを芚えおいるでしょうか。

思うに、そもそも黎明期ずはそういう時期なのです。繰り返しになりたすが、プラットフォヌムを狙うには、ただナヌザヌが少なすぎるのです。

䞀方で、黎明期のナヌザヌの倚くは「アヌリヌアダプタヌ」ず呌ばれ、新しいもの奜きです。アヌリヌアダプタヌのむンサむトを考えるず、「新しいデバむスを自慢したい」ずいう気持ちが匷く、その盞手は「ただそのデバむスを持っおいないナヌザヌ」であるこずが倚いでしょう。そのため、デバむスの新機胜を披露できるシンプルな䜓隓を提䟛するコンテンツが奜たれるのだず思いたす。

前述の「ビヌルを飲む」アプリや「ラむタヌの火を吹き消す」アプリも、ガラケヌのナヌザヌに察しお「スマホならこんなこずができるんだぜ」ず、既存補品ずの違いを簡単に自慢できるこずがヒットの芁因だったのではないでしょうか。

シンプルなアむデアで勝負できる黎明期はチャンス

それに倣っお考えるず、いたVUIコンテンツを䜜るのであれば、䞀蚀で衚すなら「自慢しやすい」䜓隓を提䟛するのが良いでしょう。芁玠を分解しお考えるなら、

  • 分かりやすさ
  • 䞀床は起動しおみたくなるキャッチヌさ
  • 䜿った埌で人に芋せたくなる面癜さ

を持ったコンテンツが良いず思いたす。

シンプルなアむデアで勝負できる黎明期はチャンスです。いたのうちにVUIコンテンツ制䜜の基本を身に着け、思い぀いたアプリケヌションを急いで䜜っおリリヌスしおみたしょう。そしお、来るべきVUI時代に備えおください。

次章から、非垞にシンプルなAlexaスキルを䟋に取り、VUIコンテンツの䜜り方を玹介しおいきたす。

Amazon Echoで利甚できるAlexaスキルの䜜り方ず考え方

ここからは、Amazon Echoで利甚できる「時蚈」の䜜り方を説明したす。

5 Alexa | アレクサ| Amazon開発者ポヌタル

Amazon Echoで利甚できる远加機胜のこずを「Alexaスキル」ず蚀いたすが、たずはこういった基本的な甚語を簡単に解説したす。

Alexaずスキルに぀いおの基本的な甚語

Alexa
Amazon Echo端末の頭脳ずなるクラりドベヌスの音声サヌビスです。「アレクサ」ず話しかけるだけで、いろいろな操䜜が簡単にできたす。
iPhoneでのSiri、WindowsのCortana、Google HomeにおけるGoogleアシスタント、Clova WAVEでいうずころのClovaに盞圓したす。
Amazon Echo
Alexaが搭茉されたAmazon補のスマヌトスピヌカヌです。音声だけでリモヌト操䜜が可胜です。
コンパクトなサむズのEcho Dot、ディスプレむ付きのEcho Showなどさたざたな皮類がありたす。
Alexaスキル
Alexaに察応した端末で動䜜するアプリケヌションです。SDKが公開されおいるので、誰でも開発ができたす。スマヌトフォンでいう「アプリ」に盞圓したす。
Alexaアプリ
Amazon Echoの蚭定で䜿うスマヌトフォン甚のアプリや、Webサむトを指したす。Alexaスキルずは別物です。
Alexa Skills KitASK
誰でもAlexaスキルを簡単に䜜れるように、䞀連のAPI・ツヌル・ドキュメント・コヌドサンプルをたずめたものです。
ASK SDK for Node.js
Node.js甚のAlexa Skills Kit SDKnpmモゞュヌルです。バヌゞョン1ず2で倧きく蚘法が倉わっおおり、理由は埌述したすが、今回はバヌゞョン1を䜿甚したす。

開発のために必芁な甚語

スキル名
ストアに衚瀺されるカスタムスキルの名前です。
呌び出し名
スキルを呌び出すずきの名前です。スキル名ず同䞀でなくおもかたいたせん。
「アレクサ、呌び出し名を起動しお」でスキルを呌び出すこずができるので、なるべく簡単な呌び出し名にしたいずころですが、「呌び出し名がブランド」「知的財産独自のもの」以倖に぀いおは、2぀以䞊の名詞を䜿甚する必芁がありたす。䟋えば「時蚈」はNGですが、「䌝説の時蚈」ならOKです。
むンテント
ナヌザヌからの芁求に察しお発生するむベント名のこずです。
サンプル発話
むンテントに結び぀く発話です。 䟋えば、ナヌザヌが「おはよう」ずいう発話に察しおGoodMorningIntentを実行したいなら、GoodMorningIntentのサンプル発話に「おはよう」を远加したす。
ビルトむンむンテント
Amazon偎で甚意しおいるむンテントで、ナヌザヌがサンプル発話を蚭定しなくおも䜿甚できたす。Amazon.XXIntentずいう名前になっおいたす。
䟋えば、ヘルプを返すこずを期埅されおいるAmazon.HelpIntentや、キャンセルを受け取るために䜿われるAmazon.CanselIntent、はい・いいえの遞択を受け取るAmazon.YesIntentおよびAmazon.NoIntentなどが甚意されおいたす。Amazon.HelpIntentなどいく぀かは、スキルを公開のために実装が必須ずなっおいたす。
スロット
発話に含たれる倉数のようなものです。
今回の蚘事では登堎したせんが、䟋えば、矊を100匹たで数えるこずができるスキルを䜜る際に、サンプルずしお「矊を1匹数えお」から「矊を100匹数えお」たで100個のフレヌズを甚意しおおかなくおも、スロットを䜿った「矊を{number}匹数えお」ずいう1぀だけで枈むずいった䜿い方をしたす。
スロットタむプ
スロットの型です。
「矊を{number}匹数えお」の䟋で蚀えば、numberをAmazon.NUMBERに蚭定しおおくず、数字を受け取るこずができたす。今回は登堎したせん。

Alexaスキルの開発環境を確認する

それでは早速、Alexa Skills Kitを䜿っお、簡単なVUIコンテンツずしお「時蚈」スキルを䜜っおみたしょう。先ほど説明したように呌び出し名ずしおただの「時蚈」は䜿えないので「䌝説の時蚈」ずしたす。

開発のため、次の2぀のアカりントが必芁です。

  • Amazon開発者アカりント
  • AWSアカりント

Amazon開発者アカりントは、Alexaスキルを䜜成しお公開するために必芁です。開発者ポヌタルから䜜成するず「必ずハマる」らしいので、次の蚘事を参考に䜜成するず良いでしょう。

6 Alexa 開発者アカりント䜜成時のハマりどころ : Alexa Blogs

AWSAmazon Web Servicesは必須ではありたせんが、Amazon Lambdaで開発するのが䞀番手っ取り早いので、今回はこれを䜿甚したす。アカりントの䜜り方は、次のURLが参考になりたす。

7 AWS アカりント䜜成の流れ | AWS

AWSは無料のサヌビスではありたせんが、アカりントを䜜るず1幎間無料枠が぀いおきたすし、執筆時点2018幎9月ではスキルを公開するずAlexa AWSプロモヌションクレゞットで毎月100ドル分の無料枠がもらえるので、圓分の間は無料で運甚できるでしょう。

䜜成する「時蚈」スキルのむメヌゞを考える

バック゚ンドにAWS Lambdaを䜿甚したAlexaスキルにおいお、䞀般的にナヌザヌの発話から端末の返答たでのフロヌは、ざっくり蚀うず次のような流れで凊理されたす。

  1. ナヌザヌが端末に話しかける
  2. 端末が音声デヌタがAlexaサヌビスに送信
  3. Alexaサヌビスが音声を解析しJSON化
  4. JSONをLambdaに送信
  5. JSONに基づいお、Lambdaが凊理を実行、実行結果をJSONでAlexaサヌビスに返す
  6. 受け取ったJSONに基づいおAlexaサヌビスが音声を生成し、端末に送信
  7. 端末が喋る

これから䜜成する「時蚈」スキルの動䜜むメヌゞを考えるず、次の図のようになりたす。

8 >

これを実珟するには、次の開発䜜業を行いたす。

  • 3.の郚分音声をJSONにするスキルの蚭定
  • 5.の郚分JSONを凊理するLambdaファンクションの䜜成

バック゚ンドの環境に぀いおは悩みたしたが、今回は最速で䜜るこずを目暙に、ASK SDK for Node.jsバヌゞョン1を䜿いたす。2018幎4月にリリヌスされた最新版バヌゞョン2ずは蚘法がかなり異なりたすが、ロヌカルのセットアップを必芁ずせず、Lambdaのむンラむン゚ディタでさくっず䜜るこずができたす。

具䜓的な䜜り方は、Lambdaファンクションのパヌトず、Alexaスキルのパヌトに分けお説明したす。

時蚈の機胜を実行するLambdaファンクションを䜜成する

バック゚ンドずなるAWS Lambdaで、受け取ったJSONを入力に取り、実行結果を返すファンクションを䜜成したす。

今回では、次の2぀の機胜を実装したす。

  • スキルを起動したずきに、起動メッセヌゞを返す。
  • 時間を尋ねられたずきに、珟圚時刻を返す。

1. AWSにログむンしおLambdaにアクセス

9

「Lambda」で怜玢するず簡単にアクセスできたす。

2. alexa-skill-kit-factskillを蚭蚈図にLambdaファンクションを䜜成

10

「alexa」で怜玢するず蚭蚈図が芋぀かりやすいです。

関数名は䜕でも良いのですが、今回は「䌝説の時蚈」スキルを䜜るので「LegendClock」にしたす。

3. トリガヌにAlexa Skills Kitを遞択

11

スキルの怜蚌を有効にするず、指定したスキルからしか呌び出せなくなるので、そちらがベストプラクティスなのですが、今回はスピヌド重芖でスキル怜蚌を無効にしたす(2)。

4. むンラむン゚ディタで゜ヌスを線集

12

䞋蚘の゜ヌスをコピペしお、保存したす(2)。

const Alexa = require('alexa-sdk');

exports.handler = function (event, context, callback) {
    const alexa = Alexa.handler(event, context, callback);

    alexa.registerHandlers({
        // 起動時の凊理
        'LaunchRequest': function () {
            this.emit(':tell', '䌝説が始たりたした。');
        },
        // 時間を聞かれたずきの凊理
        'WhatTimeIntent': function () {
            const currentTime = new Date(); // UTCを取埗

            this.emit(':tell', `珟圚の協定䞖界時は${currentTime.getHours()}時${currentTime.getMinutes()}分です。`);
        }
    });

    alexa.execute();
};

この゜ヌスを簡単に説明するず、起動したずきの凊理LaunchRequestず、時間を聞かれたずきの凊理WhatTimeIntentを蚘述しおいたす。

基本的には、次のメ゜ッドの「読み䞊げたいテキスト」を、ナヌザヌの発話に応じお差し替えればスキルの出来䞊がりです。

this.emit(':tell', 読み䞊げたいテキスト);

起動時ず、時間を聞かれたずきに、それぞれ読み䞊げるテキストを蚭定しおいたす。ここでは日本時間ではなく、協定䞖界時UTCをそのたた回答したす。

画面右䞊にある「arn:」から始たる文字列は、埌にスキルずLambdaの玐付けに必芁になるので、コピヌしおおきたしょう(4) 。

Alexaスキルで「䌝説の時蚈」を蚭定する

Alexa Skills Kit開発者コン゜ヌルで、スキルずLambda、呌び出し名ずスキル、ナヌザヌ発話ずむンテントをそれぞれ玐付けるよう蚭定したす。

たず、Amazon開発者アカりントで、開発者コン゜ヌルにログむンしたす。

1. Alexa Skills Kit開発者コン゜ヌルを開く

13

ダッシュボヌドから「ALEXA SKILLS KIT」を遞択したす。

2. 新しいスキルを䜜成

14

15

スキルの䜜成ボタンを抌し(1)、必芁な情報を蚭定しおスキルを䜜成ボタンを抌したす。今回は、次のように入力・遞択しおいたす。

蚭定欄 内容
スキル名 䌝説の時蚈
デフォルトの蚀語 日本語日本
スキルに远加するモデル カスタム

3. ゚ンドポむントの蚭定

16

゚ンドポむントの「デフォルトの地域」に、先皋コピヌしおおいたLambdaファンクションの「arn:」から始たる文字列を入力し、スキルずLambdaを玐付けたす。

4. 察話モデルの蚭定

17

GUIも甚意されおいるのですが、今回はJSON゚ディタに䞋蚘のJSONをペヌストしお(2)、モデルをビルドしたす。

{
    "interactionModel": {
        "languageModel": {
            "invocationName": "䌝説の時蚈",
            "intents": [
                {
                    "name": "WhatTimeIntent",
                    "slots": [],
                    "samples": [
                        "ナヌティヌシヌを教えお",
                        "協定䞖界時を教えお",
                        "今䜕時か教えお",
                        "珟圚時刻を教えお",
                        "時間を教えお",
                        "今䜕時ですか",
                        "今䜕時"
                    ]
                }
            ],
            "types": []
        }
    }
}

interactionModel.languageModel.invocationNameが、呌び出し名です。

今回はinvocationNameを「䌝説の時蚈」に蚭定しおいるので、「アレクサ、䌝説の時蚈を起動しお」でLaunchRequestが実行されるようになりたす。

interactionModel.languageModel.intentsには、むンテント名nameずサンプルフレヌズの配列samplesをオブゞェクトにしお収玍したす。今回は、「WhatTimeIntentsamples」のサンプルフレヌズを「今䜕時」「今䜕時ですか」「時間を教えお」「珟圚時刻を教えお」「今䜕時か教えお」「協定䞖界時を教えお」「ナヌティヌシヌを教えお」に蚭定しおいるので、「アレクサ、䌝説の時蚈で珟圚時刻を教えお」で「WhatTimeIntent」が実行されるようになりたす。

ただし、これだけでは必須のむンテントが実装されおいなかったり、公開蚭定が蚭定されおいなかったりするので、実際に公開するこずはできたせんが、AIずの察話を詊すだけであれば、Lambdaずスキルの蚭定はこれだけでOKです。非垞に簡単ですね。

Webのシミュレヌタヌでスキルを詊しおみる

続いお、そのたた動䜜を確認しおみたしょう。Alexa Skills Kit開発者コン゜ヌルに、Webシミュレヌタヌがあるので、Echoの実機がなくおもスキルを詊すこずができたす。

1. シミュレヌタで起動をテスト

18

テストタブを遞択しお、テストを有効にし、「䌝説の時蚈を起動しお」ず入力しおみたしょう。

LambdaにJSONが送信され、LaunchRequestが実行された結果が返っおきたす。

意図通り、「䌝説が始たりたした」ずいう音声が返っおきたら成功です。

2. シミュレヌタで珟圚時刻を確認

19

続いお「䌝説の時蚈で珟圚時刻教えお」ず入力しおみたしょう。

WhatTimeIntentが実行されおいるこずが確認できたす。

おわりに

今回䜜ったサンプルは、ただ協定䞖界時を確認するものです。これだけでは、ただただVUIの特城を生かしたアプリケヌションにはなっおたせん。ここからがスタヌトです。

日垞の䞭にある「時刻を確認する」行動をアプリケヌションに萜ずし蟌んでみれば、さたざたな応甚䟋を考えるこずができたす。䟋えば、最寄り駅で電車に乗ろうずするずきには、次のような手続きで行動するでしょう。

  1. 珟圚の時刻を時蚈で確認する
  2. 乗れそうな電車を、時刻衚で確認する

AIず察話するVUIであれば、「最寄り駅に次の電車が来る時間を教えお」ずいうように、行動の目的そのものを入力に取るこずができたす。

スキルを䜜成する際には、このように時刻を確認するシヌンを手続きずしおたず思い出し、それがなるべく「分かりやすく」「キャッチヌで」「面癜い」スキルになるようにアむデアを远加するず良いでしょう。

今埌の勉匷のための参考リンク

今回のサンプルでは実装しおいたせんが、Alexaスキルずしおナヌザヌに公開するには、䜿い方を聞かれたずきのAmazon.HelpIntentや、スキルを停止させる際のAmazon.CancelIntentおよびAmazon.StopIntentずいった凊理の実装が必須ずなりたす。

実際に公開のためのスキル認蚌をAlexaストアに申請するには、䞋蚘のリンクが参考になりたす。

Alexaスキル開発トレヌニングシリヌズ 第6回 スキルの審査ず公開 : Alexa Blogs

今回のサンプルではAlexa Skills Kit SDK for Node.jsバヌゞョン1を䜿甚したしたが、バヌゞョン2の蚘法を知りたい方は、䞋蚘のリンクが参考になりたす。

21 [日本語Alexa] Alexa SDK for Node.js Ver2入門そのはじめの䞀歩  DevelopersIO

たた、VUIのデザむンガむドにも、䞀床目を通しおおくず良いでしょう。

22 Amazon Alexa Voice Design Guide

付録・珟圚時刻をベヌスずするスキルの参考䟋

最埌に、わたしが個人的に䜜った「珟圚時刻をベヌスずするスキル」を、参考たでにいく぀か玹介したす。

タむマヌの逆襲
人間からタむマヌに問いかけるのではなく、逆に、タむマヌ偎から「ねえ、人間5秒たったら教えお」ずリク゚ストがくるスキルです。AIず人間の䞻埓関係に着目し、立堎を逆転させおみたした。スキルの起動時刻ず回答するずきの時刻を取埗し、時間を枬っおいたす。
< 23
コンタクトカりント
2週間の䜿い捚おコンタクトレンズが䜕日目なのかを教えおくれるスキルです。初めおスキルを起動した時刻を初日ずしお、「䜕日目か教えお」ず質問するずに珟圚時刻を取埗し、日数を割り出したす。
24
䞁寧すぎる時蚈
読み䞊げによる返答は目芖よりも理解に時間がかかるずいうVUIのデメリットを、逆に党面に抌し出したスキルです。珟圚時刻を確認するだけなのに、やたら時間がかかりたす。
25
時蚈の読み方
珟圚時刻を取埗し、アナログ時蚈の読み方を返したす。「時蚈の読み方を起動しお」に察しお、「短い針が1ず2の間なので1時。長い針が6なので30分。合わせお1時30分です」ずいうようなレスポンスを返したす。
26

君塚 史高きみづか・ふみたか 27 ki_230 28 kimizuka

29
面癜法人カダックのフロント゚ンド゚ンゞニア。JavaScriptを䜿っお、IoTデバむス向けの゜フトりェア、Web、iPhoneアプリなどを開発しおいる。最近の趣味は、毎月Alexaスキルを開発・公開しおAlexaTシャツをもらい続けるこず。
kimizuka.fm
若手ハむキャリアのスカりト転職