ガジェット好きは賢く生きたい

ガジェット(特にAmazonEcho)の情報を発信します。

超初心者がAlexaスキルを作ってみる【1日目】

 

はじめに

Amazon Echoが家に届いてからドハマリしてしましまい,その使い方などを伝えたくなったところからスタートしたこのブログですが,この度Alexaスキルを作ってみようと思い立ちました。

僕は開発経験はまったくのゼロです。一応,基本情報技術者試験をC言語を選んで合格したほかに,C#もかじったこともあるのですが,開発スキルは皆無に近いでしょう。

そんな私が,Alexaスキルを一から試行錯誤しながら作っていく様子を書き綴っていこうと思います。

読んでくださる方がいれば,温かく見守ってください。

 

 

Alexaスキル開発トレーニングシリーズをやる

Google先生に聞いてみても良い情報があまり出てこないので,こちらのAmazon公式のトレーニング講座から始めてみます。→https://developer.amazon.com/ja/alexa-skills-kit/training/building-a-skill

 

第一回の内容は,以下のようです。早速スキルが作れちゃうの!?

  1. Alexaとは
  2. Alexaスキル
  3. スキル実行の仕組み
  4. 実習 : サンプルスキルの作成

 

AlexaスキルとAlexa Voice Service(AVS)という2つの拡張方法があるらしい。

前者は皆さんご存知のスキルで,AVSは独自デバイスによるAlexa連携とのことです。

よくわかんないけど,AVSはハードも必要っていう感じかな。。。

 

スキルにも3つの種類があるらしい

  1. カスタムスキル : 汎用のスキル
  2. スマートホームスキル : 家電製品などを制御するスキル
  3. フラッシュブリーフィングスキル : ニュースなどを読み上げるスキル

なるほどね,

この講座ではカスタムスキルを作るらしい。いつか公開したいなぁ・・

 

 

スキルの仕組み

 

f:id:nktroad:20171203223610p:plain

 

デバイスが聞き取ったサービスをAlexaサービスがAIで解析し,Lambdaで処理を実行して,それをデバイスに戻してユーザーに伝わるという流れらしい。

サンプルスキルの作成

 いよいよ実際にスキルを作るらしい。早い!!

Amazon Developerに登録したり,AWSに登録したり大変なようだ・・・

いったんカット!!!

 

f:id:nktroad:20171203224710p:plain

これがスキルの作成画面です。難しそうです・・・・

今回は宇宙豆知識というスキルを作ってみるそうです。

 

f:id:nktroad:20171203225210p:plain

JSONをコピーアンドペーストしろというので言われるがままに貼り付けてみる。

JSONというのはJavaScript Object Notationというプログラミング言語のことらしい。

JavaScriptしかしらない。後の回をチラ見したらちゃんと解説してくれそうなので先に進んでみる。

 

次は,処理を担当するLambdaをいじるらしい。

 

f:id:nktroad:20171203230716p:plain

 少し書いてある内容と違っていたので戸惑った。トリガーを追加したり,Lambda関数のコードのzipファイルをアップロードするのは,MyFactSkillを作成した後からしかいじることができなかった。作成した後,MyFactSkillのボックスをクリックしましょう。

 

f:id:nktroad:20171203232533p:plain

 言われるがままにテストを実行すると成功することができた。

" 知ってましたか?天の川銀河は約50億年後にアンドロメダ星雲と衝突します。"と表示されたようだ。どうやらアップロードしたzipファイルにコードが入っていたらしい。

テストを実行するたびに,出てくる豆知識が違うようだ。

 

次は,スキルとLambdaの連携を行う。Lambdaの固有のIDみたいのをスキルのエンドポイントの欄に貼り付ければよいようだ。エンドポイントとはアドレスみたいなことを示しているようだ。

 

連携ができたのでいよいよ最終テストに移る。

f:id:nktroad:20171203233754p:plain

 

発話を入力してくださいというところに,発話を入力すると,答えが返ってくる。

ちゃんと宇宙の豆知識を答えてくれている。やったー!!!

終わりに

第1回目の講座はこれでお終いでした。

第1回目はプログラムは書く必要がなく,スキル作成の体験というような内容でした。

第1回目を終えて思ったのは結構簡単にできそう!ということ

言語の処理はAIがやってくれるので私たちは入力と出力をプログラミングするだけでよさそう!

やっぱAlexaってすげーな