LoginSignup
4

More than 3 years have passed since last update.

イベント情報から散歩コースの提案をする【Alexaスキル】

Last updated at Posted at 2019-08-06

「神戸市のイベント情報を使って、Alexaに散歩コースの提案をしてもらう」
というAlexaスキル(アプリ)をつくりました。
Alexaスキルのページで公開中。

AlexaDay2019というイベント内のコンテストで 優勝しました!
この記事に写真載ってます: https://japan.cnet.com/article/35135432/
コンテストでのプレゼン資料はこちら: https://speakerdeck.com/ryotaikeuchi0/sanpo

デモ


システム概要

システム図.png

いくつかAPIを使って検索し、ユーザーの条件(日付&歩く時間)に合った 結果(イベント&駅)を求めます。
その結果を、Alexaから読み上げ&メール送信します。

ポイント

  • 「歩きたい時間」でコースを検索する (これは ちょっとユニークかと)
  • わくわくさせて盛り上げる効果音、コース名(がっつりコースとか)、画面イラスト(歩く人が会話ごとに動く)
  • メールのリンクからGoogleMapアプリを開ける (散歩中にスマホでコース確認できる)(駅の変更などはスマホ画面で簡単にセルフでどうぞ)
  • 画面UIも活用するがスマホの方が適している場合はそちらを使う (会話が長くなりすぎないように詳細はメールに任せる)

詳細

github: https://github.com/ryotaikeuchi/kobe-no-sanpo-alexa-skill

画面表示(APL)

シミュレータ(alexa developer console)と実機で表示に違いがあり、なかなか辛かったです。このあたりは改善されていくようですが。シミュレータでうまくいかなくても絶望せずに実機でも確認するのが重要でした。
背景色を変えるにはFrameコンポーネントを使う必要がありますがこれは子を1つしか持てないので、「Frame - Container1つ - Container複数」という構成にしました。慣れている人には当然かもしれませんが、思いつくのに時間かかったです。(ちなみに背景は土のイメージの色です)

効果音

Alexa Skills Kitサウンドライブラリーを使いました。簡単につかえて便利ですね。

会話

ユーザーが、質問通りに"日付"と"歩きたい時間"を1つずつ答えるのでなく、一度に答える(「明日30分」とか)ことも想定しています。
その他、オライリーの『デザイニング・ボイスユーザーインターフェース』が非常に参考になりました。もっと何度も読んで体に染付けたい。

おわりに

  • 当初APLにはあまり興味がなかったのですが、コーデ相談 by WEARを使ってみて感動し、手を出してみました。大変だったけど、勉強になったはず。
  • 検索って初めてやりましたが、奥が深くて難しいと感じました。いろいろと妥協しました。
  • 比較的使い慣れたPython+Numpyの環境で開発したのですが、いろいろあってデプロイに毎回3分もかかってしまい、開発に時間がかかってしまいました。モチベーションにも関わるので、こういうところは重要ですね。
  • AlexaDayのコンテストでのプレゼンでは聴衆の皆さんのノリがよくて、非常にありがたかったです。ちょっとボケたら漏れなく反応してくれて。プレゼン途中で拍手まで起きて…あんなに気持ちいいプレゼンはもう一生なさそう。思い切って、変なネタに振ってみたアイデアでしたが、運良くハマって優勝できてうれしかったです。

参考

使用API

その他参考にさせていただいた記事など

ボツにしたアイデア

  • 歩いた時間から消費カロリーに換算して、それに相当する食べ物で表現する(ご飯1杯分コースとか)
  • 家から最寄り駅までの徒歩も考慮する(やりだすと難しい)
  • 路線を考慮して検索する(家の最寄り駅と出来るだけ同じ路線にするとか)
  • 検索するイベントの種類をユーザーが選べるようにする(会話が増えるのは困るが)
  • Alexa対応イヤホンを使ってスキルを起動し、歩きながら言った感想を投稿できるようにする(歩きながら感想というのはユニークかと)

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4