kun432's blog

技術ネタ、読書記録、など。2015年から人生をやり直し中です。

Google Home + GHKit + IFTTTで、奥さんの晩ごはん作りのタイミングを支援する

スマートスピーカーIFTTT 大喜利 Advent Calendar 2018の2日目です。Advent Calender 初参加です。よろしくおねがいします。

こういう使い方は既出ネタだと思いますが、「少しづつ改善」して「きちんと家族の役に立ってるよ」ということを、我が家のユースケース交えて説明します。

課題その1

毎日会社から帰るときにお家の方に「帰るよー」メールをする方、多いと思います。うちでも、毎日帰る前に奥さんにメールをしますが、うちの奥さんはこのメールをトリガーにして晩ごはんを作り始めます。

が、これ、たまに忘れちゃうんですよね。。。ということで、IFTTTを使ってこれを自動化する話です。

イメージ

f:id:kun432:20181201215541j:plain

トリガー

IFTTTのthisは「Location」を選択します。

これでIFTTTアプリからスマホの位置情報を利用して

  • エリアに入ったとき
  • エリアから出たとき
  • エリアに入ったとき or 出たとき

がトリガーになります。「帰るよー」の場合は、

  • エリア:会社近辺
  • エリアから出たとき

でOKです。あんまりピンポイントなエリア選択にすると、GPSの精度的にうまく拾えない場合もあるので、多少広めに設定するほうが無難です。

アクション

次にthatですが、まあ普通に考えると、奥さんのスマホにメール/SMS/LINEで通知すればよいと思いますが、なんせ晩ごはん時ですから、奥さんは手が離せない、という問題もありますのでここはスマートスピーカーに話させましょう。ただし、IFTTTのthatにはスマートスピーカー系のものはないです。そこで「GHKit」を使います。

GHKitを使うと、プッシュ用のAPIが用意されて、JSONでPOSTすれば、GHKit経由でGoogle Homeに喋らせることができます。Raspberry Pi + Google Home Notifierでも同じことができます。

ということで、GHKit+IFTTTの設定例は以下を参考にして「Webhook」の設定を追加するだけですね。

  • URL:https://ifttt.ghkit.jp/
  • Method:POST
  • Content Type:application/json
  • Body:{"message": "XXXXXXXX 旦那さん、会社を出たよー"}
    • ※ X部分にGHKit IDを入れる
    • ※ メッセージは自由に。

最終的なIFTTT設定

f:id:kun432:20181125233837p:plain

簡単ですね。とりあえずこれで「会社を出て、家へ帰り出した」ということをGoogle Homeから声で伝えれるようになりました。

課題その2

これでメールを忘れた場合でも、まずは会社を出たことは伝わるようになりましたが、以下のような要望がありました。

  • 帰ってくるタイミングが確実にわかるようになってよかった。ご飯炊き始めるのにちょうどよい。
  • でも、パスタとかの場合は15分ぐらい前にもわかるようにしたい。

ということで、これも解決していきます。

イメージ

f:id:kun432:20181201215544j:plain

トリガーとアクション

課題その1でやったことをLocationを変えてやるだけですね。私の場合は途中で乗り換える駅があるのでそこに設定してます。

  • Location
    • エリア:乗り換える駅
    • エリアに入ったとき
  • Webhook
    • URL:https://ifttt.ghkit.jp/
    • Method:POST
    • Content Type:application/json
    • Body:{"message": "XXXXXXXX 旦那さん、○○駅についたよー"}
      • ※ X部分にGHKit IDを入れる
      • ※ ○○に乗り換え駅名を入れる。その他のメッセージは自由に。

ほとんど同じなので、スクショは省略します。

少しだけ工夫しているのは、

  • 最初と違って、「エリアに入ったとき」「ついたよー」にしている。
    • IFTTTの場合、タイムラグがあってすぐに実行されない場合もある。
    • 出たよー、だと、もうすぐ家に着く、早く作らないと!というプレッシャー回避
  • 自宅の最寄駅にしていない。
    • 最寄駅だと、休みの日に駅前のスーパーとかへ行くだけで通知されるのでうざい。
    • 最寄り駅だと、着いた!家まですぐじゃん?!早く作らないと!というプレッシャー回避

というところですかね。

休日はどうするの?

平日は通勤経路が決まってるので問題ないんですが、休みの日に私が一人でどこかに出かけたりする場合とか、出張でいつもと違う経路を通ったり、というような場合には対応できません。これについてはさすがに自動化まではできないので、Foursquareのチェックインを使うことにしました。

ifttt.com

スマホのswarmアプリからのチェックインをトリガーにして、さっきと同じようにWebhookからGHKitにメッセージを飛ばすようにしてます。

  • Webhook
    • URL:https://ifttt.ghkit.jp/
    • Method:POST
    • Content Type:application/json
    • Body:{"message": "XXXXXXXX 旦那さんが VenueName にチェックインしました〜"}

VenueNameFoursquareでチェックインした場所名が入ります。

帰り道のポイントポイントでチェックインすることで、なんとなく「あ、そろそろ帰ってきてるっぽいなー」みたいな雰囲気で伝える感じです。いろんな場所でチェックインしたいと言う私の欲求も満たせるのでWIN-WINな感じです。

f:id:kun432:20181202003208p:plain

まとめ

たまにWebhookに失敗してたりタイムラグがあったりはしますけど、概ね好評です。ちなみに、会社の行きも設定は別にしてあって、毎日無事に会社に着いている・無事に帰路についている、というのが確認できて安心というのも大きいみたいです(今年は災害が多かったので)。

とはいいつつ、メールも並行でやってます。自動化しちゃうことでコミュニケーションの機会が減っては意味がないですしね。日頃のコミュニケーションを「支援」するような形でいろいろできたらなぁと思っています。

Github Pages + Hugo でポートフォリオサイトを作る

今回作ったAlexaスキル「HTTPステータス検索」には、プライバシーポリシーや利用規約のようなものはありません。なぜかというと、特にユーザ情報等を取得するような機能がない場合には、Alexaスキルの申請では必須ではないためです。ただし、

  • ユーザ情報を取得するようなスキルの場合はもちろん必須(AlexaやClova)
  • Google Homeのアクションの場合は常に必須(の様子)

ということもあり、いろいろ作るにあたっては、プライバシーポリシーや利用規約等の置き場についてはあらかじめ考えておく必要があるかと思います。

ブログとか、安いレンタルサーバとか、やり方はいろいろあると思いますが、ちょっと変わったものが良い、どうせなら公開したスキルをポートフォリオに載せたい、今回Github Pages + Hugo でサイトを作ってみました。Githubなので開発者にもつながるわけですし、良い感じです。

参考にさせていただいたのはこのあたり。というかまんまやってみただけですね。。。

gohugo.io onoxeve.com

事前準備

Github上に2つのレポジトリを作る

  1. プロジェクト全体のレポジトリ(ex. https://github.com/kun432/hugo-kun432.github.io.git)。Hugo本体含めた、コンテンツ制作環境全体を管理します。
  2. github pagesのレポジトリ(ex. https://github.com/kun432/kun432.github.io.git)。実際にGithub Pagesで公開されるコンテンツを管理します。

作業

プロジェクトリポジトリをcloneする

$ git clone https://github.com/kun432/hugo-kun432.github.io.git
$ cd hugo-kun432.github.io

hugoでサイトを作る

$ hugo new site portfolio
$ cd portfolio

ここが テーマを導入する。テーマは https://themes.gohugo.io/ にいろいろあるのだけど、今回はちょっと違うところから持ってきたものを使います。

github.com

$ git submodule add -b master https://github.com/anirbanmu/hugo-sustain-vitae.git themes/hugo-sustain-vitae

必要なものをルートにコピーし、カスタマイズしていきます。この部分については後述しますので、まずは最低限。

$ cp -i themes/hugo-sustain-vitae/exampleSite/config.toml .

config.tomlが基本の設定ファイルになるのでこれを修正します。テーマによって修正箇所が異なるのけど、とりあえずこんな感じです。

baseurl = "https://kun432.github.io/"
languageCode = "ja-JP"
title = "Kuniaki Shimizu"
・・・
[params]
  avatar = "profile.png"
  author = "Kuniaki Shimizu"
  description = "Kuniaki Shimizu's Portfolio"

[params.social]
  Github        = "kun432"
#  Email         = "email@example.com"
  Twitter       = "kun432"
#  LinkedIn      = "username"
#  Stackoverflow = "username"
#  Medium        = "username"
#  Telegram      = "username"

[params.vitae]
  website = "kun432.github.io"
  website_full = "https://kun432.github.io/"
#  tel = "+44 0000 000000"
#  tel_full = "+440000000000"
  google_maps = "https://www.google.co.jp/maps/place/%E5%85%B5%E5%BA%AB%E7%9C%8C%E7%A5%9E%E6%88%B8%E5%B8%82%E7%81%98%E5%8C%BA/@34.7315238,135.192916,13z/data=!3m1!4b1!4m5!3m4!1s0x60008c015d1dfe99:0xe786b31b96838de5!8m2!3d34.7123285!4d135.2396571?hl=ja"
  address = "Nada-ku"
#  postcode = "EH3 5BL"
  city = "Kobe, HYOGO"
  country = "Japan"

とりあえずローカルで立ち上げます。

$ hugo server -w

ブラウザで http://localhost:1313 にアクセスすると見えますね。-w がついていると修正がすぐに反映されますので、カスタマイズ中はとても便利です。

一通り終わったら、Github Pagesにアップするコンテンツ生成の準備です。

Hugoではサイトのルートディレクトリ(今回だとportfolioディレクトリ)のpublicディレクトリ内にコンテンツが生成されるので、ここをgit submoduleで登録します。

$ git submodule add -b master https://github.com/kun432/kun432.github.io.git public

デプロイ用のシェルが用意されているので、これを使います。

$ vi deploy.sh
#!/bin/bash

echo -e "\033[0;32mDeploying updates to GitHub...\033[0m"

# Build the project.
hugo # if using a theme, replace with `hugo -t <YOURTHEME>`

# Go To Public folder
cd public
# Add changes to git.
git add .

# Commit changes.
msg="rebuilding site `date`"
if [ $# -eq 1 ]
  then msg="$1"
fi
git commit -m "$msg"

# Push source and build repos.
git push origin master

# Come Back up to the Project Root
cd ..

実行します。

$ chmod +x ./deploy.sh
$ ./deploy.sh

Github Pages用レポジトリにプッシュされて公開されます。

最後に、プロジェクト用レポジトリもcommit、pushしておきます。

$ cd ../..
$ ls
portfolio
$ git commit -a -m "first commit"
$ git push -u origin master

でできたのがこれです。

f:id:kun432:20180923022516p:plain

f:id:kun432:20180923022522p:plain

f:id:kun432:20180923022529p:plain

f:id:kun432:20180923022535p:plain

設定とカスタマイズ

テンプレをそのまま使ってブログを書くだけならいいんだけど、いろいろカスタマイズしたくなりますよね。今回のサイトでもかなりいじってて、その過程でいろいろ役に立った情報やサイトなどをまとめておきます。

  • 基本的には、themesフォルダのファイルはいじらない。カスタマイズが必要ならば、themesフォルダのファイルをルートディレクトリの同じディレクトリ構成にコピーしていじる。

  • とはいいつつ、いきなりは難しいので、一旦はテーマのexampleSite内をまるっとルートフォルダに上書きして、データがテンプレートでどのように整形されて表示されるのかを確かめつつやるのがよい。その場合、contens、dataにあるデータがlayoutsにあるテンプレートに表示されるって感じ。

  • exampleSiteのデータをコピーした場合、最後には不要になるものも多いので、削除すること。

以下参考にさせていただいたサイトです。

Hugoでテーマをカスタマイズする方法

Hugo のテンプレート 基本 | My Blog

Hugoにコメント欄を追加できるDISQUSを導入 - Mono Works

まとめ

以前、Jekyllでブログを作っていたこともあるのですが、いつでもどこでも気楽に更新したいというブログのニーズや、Jekyllの環境構築の面倒さで、長続きしませんでした。今回、ポートフォリオということで、そんなに更新頻度高いわけではないですし、goなら環境構築もシンプルなので、とてもマッチしてます。カスタマイズもしやすいし、ユースケースにあえば、おすすめです。

新しいスキルができたらどんどん載せて行きたいと思います。

初Alexaスキル「HTTPステータス検索」を公開しました

今年の目標の一つだった、Alexaスキル「HTTPステータス検索」を公開しました!

HTTPステータス検索

HTTPステータス検索

HTTPのステータスコード(3桁の数字)を言うとそのレスポンスの意味を教えてくれるという、とてもシンプルなスキルです。

実際に動いているところはこんな感じです。


Alexaスキル「HTTPステータス検索」

もしよろしければお試しください。

そんな大したことはできないシンプルなスキルなのですが、初Alexaスキルということもあり、いろいろ知見もあったので、そのあたりは別エントリでまとめたいと思います。

次はGoogle HomeとClovaに対応したいと思っています。

GCP認定資格 Professional Cloud Architectを取得した

Google Cloud Platformの認定資格であるProfessional Cloud Architectを取得したので、どういうことをして合格したか?をまとめておきます。これから取得を検討されている方の参考になれば。

https://api.accredible.com/v1/frontend/credential_website_embed_image/certificate/11773132?key=d3eeaf488c961caeb914682e436066be3b5424424a6b8b73dbbca82aba2b3621

私のスペック

  • インフラエンジニア(10年以上)。
  • 開発エンジニア(2年、PHP、はるか遠い昔)。
  • オンプレ一筋。クラウドの実務経験はほとんどなし。
  • AWS認定ソリューションアーキテクト アソシエイトとAWS認定SysOpsアドミニストレーター アソシエイトは個人で一応取得済。
  • AWSGCPもプライベートでちょろちょろいじってる程度。サービス自分で立ち上げたりとかはしてない。
  • 上記以外
    • LPIC Level3(HA)
    • 英語は、海外の技術ニュースやドキュメントとかを読んだり程度は苦にならない程度。

勉強時間

  • トータル期間としては半年弱
  • ただし、1日30分程度、毎日できているわけでもないので、実質は1〜2ヶ月程度ではなかろうかと。

勉強方法

他の方の体験記

何はともあれ、既に合格されている方の体験記を見て、参考にさせてもらいました。

試験ガイド

何はともあれ試験の範囲を確認します。

とりあえず範囲が広そうということがわかります。。。

Coursera

AWSに比べるとGCPは圧倒的に情報量が少ないので、どういう風に体系的・効率的に学ぶか?というところがわかりませんでした。手っ取り早く確実に取得する、かつ、会社が負担してくれるなら有償セミナー受けるのが良さそうです。私の場合は、会社が負担してくれ(る|ない)に関係なく、個人で取りたいというのが基本的にありましたので、費用的に有償セミナーは諦めてましたが、たまたまWantedlyがCoursera(&Z会)とコラボキャンペーンしてて安くなっていたので、それを使いました(通常約5万円→約3.5万円)。

Cousera自体の感想としては、

  • 基本的に英語オンリーだけど問題なし
  • 各章ごとにレクチャ・ハンズオン・小テストみたいな構成
  • レクチャは複数のチャプターに分かれていて、1本あたり概ね数分〜長くても10分程度、コツコツ進めれる。
  • レクチャの資料は有償ハンズオンで使用されているものっぽい感じ(確証なし)
  • ハンズオンはQwiklabsが使える。受講期間中は何度でもやり直しできるのでよい。
  • 小テストは試験問題と違って、各章ごとのおさらいみたいな感じ。
  • 全体としては、前半のコースは、各サービスごとの特徴とかどういうユースケースにあうか、後半はもう少し大きな概念で、設計とかデプロイとか運用とか故障とかにどう取り組むか?みたいな構成。後半部分はGCPの思想みたいなものが見えて興味深いです。

という感じで、いかにも試験対策という感じではないけど、他に選択肢もあまりないことを踏まえるとまあまあかなという感じでした。

一応終わると修了証がもらえます。

f:id:kun432:20180801012633p:plain

模擬試験

一通り勉強が終わったタイミングで、実際の試験前に受けてみました。

一通り進めると結果が出ます。正解率は65%でした。ボーダーラインですね。間違っても解説が一切ないのが辛いのですが、解説している方がいらっしゃいました。

↑でコメントありますが、英語版の模擬試験だと答えの解説がでます。1問だけですが、違う問題もありましたので、こちらもやっておきました。

あと、模擬試験でも出てくるのですが、試験ガイドに出てくるケーススタディについては、事前に読んでおくのがいいかもしれません。多少の時間を稼げる部分はあるかと。

実際の試験

ということで試験です。詳細は書けないので印象だけ。

  • 一言で言うと、問題がわかりにくかったです。日本語訳がこなれていないのか、元々の問題が微妙なのか・・・英語への切り替えもできなかったので今となってはわかりません。
  • 模擬試験はやっておくべきです。が、本番のほうがより難しいと個人的には感じました。
  • あとは時間ですかね。最初の5、6問ぐらいで、この手の問題をいちいち読み解いてたら間に合わないと思ったので、ザッと最後まで進めてから順に見直すやり方に変えました。それでもギリギリ一杯って感じでした。
  • 悩まずにスパッと回答できたものは50%ぐらい。残りは見直しの中で結構直した気がします。時間配分と見直しは重要ですね。
  • 結果はすぐに出ますが、全体の正答率や分野ごとの正答率などは一切出ません。。。。

試験中も全く受かる気がしなかったのですが、なんとか合格できてホッとしました。

感想

GCPのサービスの細部を問う、というよりは、GCPというかクラウドのメリットを踏まえた場合にどうするか?を問われている感じがしました。その意味でいうとAWSとかの知識も大いに役に立った気がしました。

今後

この流れでGoogle認定 Professional Data Engineerを受けたいなぁと思っていますが、Professional Cloud Architect以上に情報がないので、またCourseraの世話になるのがよいのかな、と思いますが、有償です。。。

あとAWSの方も今持っているAssociate資格2つとも更新時期が近づいてきてて、めんどくさいしモチベーション出ないけど手っ取り早く2つとも再認定するか、もしくは頑張ってProfessionalの方に進むか、って感じなのですが、Professionalは普段から実務で触ってないと正直厳しそうな気もしてて、ちょっと悩み中です。

今年度の目標

遅くなったけど

  • Google認定プロフェッショナル・クラウド・アーキテクトを取る 達成(8/6)
  • AWS認定DevOpsエンジニア - プロフェッショナルを取る
  • Alexaスキル/Google Homeアプリを作って公開する達成(9/13)

Amazon Alexa Skills Challenge: Life Hacks のファイナリストのスキルのアイデアを見てみる

echo spotついに発表されましたね

f:id:kun432:20180621222006j:plain

それもあって、スキル作りたい熱が高まっているのだけど、肝心のアイデアが出ない。。。。ということで、USでやっているスキルチャレンジのファイナリストのスキルを見て参考にしてみたいと思います。一応テーマはライフハックということみたい(他のテーマのチャレンジもあるんですかね?)

https://developer.amazon.com/ja/blogs/alexa/post/7bb66d22-05b7-4492-aed3-aecc2a312ee6/life-hacks-challenge-finalistsdeveloper.amazon.com

ただし、USオンリーでしか試せない模様なので説明文からの推測です。(試せる方法があれば誰か教えてください、端末の言語設定だけじゃダメですよね???)


www.amazon.com

緊急時に知り合いに連絡をしてくれるスキル。予めwebサイトの方で連絡先を登録しておいて「アレクサ、ask My Buddyで全員にヘルプ」とすればメールなりSMSなりで通知が行く。特定の誰かだけを選択することも可能。また、「今日も大丈夫」みたいなのを伝えることもできるようです。緊急時にきちんと呼び出せる余裕があるのか?というのはあるけど、スマホでやるよりは圧倒的に早いでしょう。スマホの操作が苦手なお年寄りとかを想定すると音声インタフェースはいいですね。見守りは一つのジャンルですね。


www.amazon.com

「アレクサ、calm nowを開いて」というと、深呼吸とか足をブルブルする体操とか、心を落ち着けるための手法をいろいろ教えてくれる。一応、子供向けというところで作られているようで、他にも可愛いマークの子供向けスキルを作られているようですが、大人の方がむしろ必要だよねぇ。ヨガとかエクササイズとかのインストラクションをしてくれるようなスキルはとてもポピュラーなのでテーマを探せばいろいろできそうです。


www.amazon.com

いわゆる「家計簿」スキルですね。使ったものと金額を記録して、後日確認できる。すごいのは1ヶ月ぐらい記録するとパーソナライズされた消費プランのようなものを作ってくれて通知(?)してくれるみたいで、単なる音声インタフェース対応スピーカーにとどまらずに、きちんと「AI」スピーカーになっているのが良いと思います。


www.amazon.com

いろんな野菜や果物とかの切り方を動画で楽しく教えてくれるスキル、ということでecho spot/show対応ですね。動画を見てもらったほうがわかりやすい。

www.youtube.com

上で紹介したcalm nowのようなインストラクションは映像があるととてもわかり易いですね。echo spotやecho showだとまずはこういうのが増えてくると思います。


www.amazon.com

エコロジーに関するゲームスキルの様子。"Truth or Dare"という遊びがあって、truthの場合は秘密を告白する、dareの場合はなにか難しいことをやる、ということだから、alexaがなんかエコに寄与するようなハックを教えてくれるんでしょうね。会話ゲームをベースにして大人も子供も楽しみつつ、エコなテーマに取り組めるというのは社会的に良いですね。日本でやるとするならば山手線ゲームとかですかねぇ、そこまで認識スピード早くないと思うので厳しいかもですが。


www.amazon.com

家の家事を誰がやったかを記憶して、あとで、前回誰がやったか?とか今週一番やったのは誰か?とかを確認できるスキル。何かを記録するというのはポピュラーなんだけど、皿洗いとか犬の散歩とか、めんどくさいなー、と思うようなことにゲーム性をもたせて積極的にやるモチベーションを出させるというのは良いです。子どもたちが競い合ってやってくれるとお父さん・お母さんは大助かりですね。


www.amazon.com

最初に目標を設定して、日々の達成率を記録することで、今の進捗率を教えてくれるスキル。例えば、1冊の本を読むという目標に対して今日は20ページ読んだので○%達成みたいな感じかな。上のと違うのはゴールが設定されていることで、目標に向かってモチベーションを上げるという感じですね。非常にポピュラーなんだけど、永続的なデータ保存ができるとスキル開発のレベルが一段あがるのは間違いないので、少し調べてみよう。


www.amazon.com

子供がお母さんに伝えたいメッセージを話すと、メールやSMSがお母さんに送信され、それに対して返信するとechoに通知が送信されるというスキル。音声インタフェースは子供向けにとても良いし、お母さんからのレスポンスを通知として実装しているところがよいですね。ダイレクトに返せるようになるともっといいんだけどな。LINE Clovaとかだともっと直感的にできそうですね。はやくSDK公開してほしいところです。


www.amazon.com

いろんな音声データを登録しておけばポッドキャスト的に垂れ流しができるスキルの様子。コンテンツはGoogleドライブ上でOK、自分でプレイリスト作れたり、購読型のポッドキャストにも対応してたりといろいろ便利そう。これならrebuild.fmも聞けたりするかなー。Googleポッドキャスト対応したし、echoでも公式に対応してほしいなと思ったりします。echo spot/echo showだと動画とかもできそうですね。


www.amazon.com

リマインダスキルなんだけど、おもしろいのはそのToDoが達成されるまで1分間隔でスヌーズしてくれるところ。これってまさに「あと10分寝かせて〜」みたいなやつだけど、その後は容赦なく1分間隔でスヌーズされるので寝坊しなくて済みそうな気がしますw。バックグラウンドで動いてくれるわけではないとあるので、タイムアウトとかうまく対応しているということかなと思います。公式のリマインダだとスヌーズ機能はないってことかな?echo spotだと非常にほしいところだと思うのですが。


個人的には、HouseTrackerが、実装はポピュラーなんだけど、うまくユースケースに落とし込んだって感じで1票ですね。家族の課題も楽しく解決できる風景はechoのCMにぴったりな気がします。ご参考までに。

Alexaスキル開発を始めるための本を片っ端から買ってみた

最近はずーっとスマートスピーカーを触ってて、自分でスキルを作りたい、ということでいろいろな書籍を片っ端から買って読んでみたので、レビュー。これから始めてみる方の参考になれば。

## 書籍一覧

はじめてのAlexaスキル開発 [音声認識アプリ開発の基礎知識を身に付ける! ]

はじめてのAlexaスキル開発 [音声認識アプリ開発の基礎知識を身に付ける! ]

今んところ一番最新。いろいろ変化が激しいので新しいと言うだけで価値があるんだけど、中身も基礎知識と演習に分かれててとても良い上、細かい機能の説明や審査のステップまでカバーされていてとても良い。コードも他の本はPythonで書かれているものが多いのだけど、これは公式のSDKであるNode.jsベースになっていて、コードの中身についても解説あるし、amazon公式の情報を参考にしたりする場合でもとても都合がよい。今買うなら最もオススメ。

Alexaスキル制作テクニック (I・O BOOKS)

Alexaスキル制作テクニック (I・O BOOKS)

画面が少し古くなってるけど、カスタムスキルだけではなく、フラッシュブリーフィンスキル、スマートホームスキル、さらにAVSまでカバーされているところが良い。紙面上にコードはないけど、その分電車とかでも読みやすいサイズにまとまってるし、最後の章にあるVUIの設計の章をあえて章立てしてるところが秀逸。上のと合わせて読むのがおススメ。コードはpython

kindleオンリーかつunlimitedで読める。公式SDKCLI版ベースで書かれているのが特徴。GUI開発者コンソールとAWS Lambdaの組み合わせが標準スタイルなんだけど、やっぱりコードはgithubあたりで管理したい、デプロイもコマンドでやりたい、と思うのが人の性で、ask-cli使えばそれができます。GUIで一通りの流れがわかった後にやってもよいし、軽く触ってみたいという場合でも良いかもしれない。コードはNode.js。

AlexaとGoogle Homeの両方をカバーしているのが最大の特徴。流し読みしかしてないのだけど一通り読むと、結局どっちも自分で実装するのはJSON返すだけなんだなということがよくわかる。イラストも多いしレンタルサーバCGIで出来るので初心者の方にはいいんじゃないかと。細かい説明は少し物足りない気がするけど、Google Home向けにDialogflowについて書かれているのも良いところ。コードはpython

まださわりしか読めてないのだけど、他の本とはちょっと毛色が違って、スマートスピーカーだけでなく、スマートホームとか機械学習とかいろいろ連携したみようという感じ。イラストも多いし対話形式で書かれているので初心者向けという体裁だけど、説明はあまりないし、やることの幅は広いので、ある程度わかってないと厳しい気がする。alexaとか一通り触った後に幅を広げるために読むのがお勧めだと思います。

シェルスクリプトマガジン vol.54

シェルスクリプトマガジン vol.54

  • 作者: 當仲寛哲,しょっさん,今泉光之,福田潔,岡本秀高,米田聡,すずきひろのぶ,熊野憲辰,濱口誠一,菅雄一,伊藤貴之,楠目幹,法林浩之,山本美穂,大岩元,飯尾淳,桑原滝弥,大内智明,gori.sh,USP研究所,ジーズバンク,イケヤシロウ
  • 出版社/メーカー: USP研究所
  • 発売日: 2018/05/25
  • メディア: 雑誌
  • この商品を含むブログを見る

元はシェル芸の雑誌なんだけど、alexaとnode.jsがセットで特集になっているので、どっちも初めて、まずはさらっと始めてみたい、というのであれば、値段も安いし、実は一番オススメかもしれない。
余談だけど、昔よりも丁装よくなってて少しリッチ感ありw

## まとめ

今買うなら一番新しいはじめてのAlexaスキル開発 [音声認識アプリ開発の基礎知識を身に付ける! ]が中身の構成的にもおススメかな。その他についても、まとめて読むと理解力高まるので、何冊か読んでみる事をお勧めします。

あと、基本となる音声インタフェース概論みたいなのについてはこういうのもあるみたいなので、一度読んでみようと思ってます。

AIアシスタントのコア・コンセプト―人工知能時代の意思決定プロセスデザイン

AIアシスタントのコア・コンセプト―人工知能時代の意思決定プロセスデザイン

以下は洋書のみ。洋書だとこの手のもの含めて結構種類もありますね、羨ましい。洋書でも良いんだけど少し高いんだよなー。

Designing Voice User Interfaces: Principles of Conversational Experiences

Designing Voice User Interfaces: Principles of Conversational Experiences

個人的には、Google homeに特化した書籍が出てほしい。出たら即買いします。