りんごの会計アプリ作成

りんごの会計アプリ作成

はじめに

本記事は「スマートスピーカー × AIプログラミング」を元に開発しております。詳細に関してはそちらをご覧ください。

作成したもの

赤りんごと青りんごの個数を聞いて合計金額を回答するGoogleHome用アプリを作成しました。初めてのスマートスピーカ向けアプリを作成しましたが、スマートスピーカ向けアプリで注意するべきことは様々な話し方をする人がいるのでそれに応じたものを開発する必要があることに気付きました。例えばスマホアプリの場合、赤りんごを指定する際、多分赤りんごを表す文字や画像をタップするという指定の仕方をすると思います。しかし、スマートスピーカでは「赤りんご」を表す言葉がそもそも沢山出てきます。「赤いりんご」「あかいりんご」「あかいほう」等。また、「赤りんご」と伝えたはずでも「赤りんごー」と認識をしてしまう可能性があるのです。全ての音声をカバーすることは難しいですが、仕組み(Dialogflow)を使いつつ認識しやすい音声を言わせるかがスマートスピーカ向けアプリ開発のキーになると思いました。

仕組の概要

GoogleHome

グーグルホーム(Google Home)はグーグルが開発したスマートスピーカー。

引用:Wikipedia

個人的な印象かもしれませんが、GoogleHomeはスピーカとマイク、そしてGoogleAssistantというシステムが入っていると捉えるとわかりやすいかと思っています。ユーザはマイクに向かって話し、GoogleAssistant処理命令を行い、処理結果をスピーカから流すというものです。実はAndroidスマホにも既にGoogleAssistantが入っていますのでGoogleHomeがなにか特別な大きな力をもっているわけではないようです。勿論、マイクとスピーカの性能が違うと思いますが。。。GoogleAssistantはAppleのSiriやMicrosoftのCortanaと同じようなAIアシスタントと呼ばれるものの1つです。タスクまたはサービスを実行することが役割になります。

Actions on Google

GoogleAssistantのサードパーティ連携機能でGoogle Assistantに独自のサービスを追加することができます。GoogleAssistantからアクションを呼びだすのですが、Actions on Googleはそのアクションを開発するプラットフォームのことを指します。よってアクションの名前やアクション起動文言等を登録するようです。うーん、わかりずらいような。。。イメージとしてはスマホで言うアプリがアクションでそのアプリを登録するGooglePlayがActions on Googleと捉えると良さそうです。申請するとかありますし、、、。

Dialogflow

人間が何を言おうとしているのかという言葉を解析するプラットフォームです。少し前までは「API.AI」だったようです。ボット生成ツールと捉えればよいかと思います。ここでは主に会話の内容を登録し、言語解析の難しいところを行ってくれます。DialogflowはGoogle Assistant以外(SlackやTwitter等)からも使用ができる優れもののようです。言語解析した後の処理は別のサーバで行うこともできるのでいろいろなサービスで使えそうです。今回は簡単な計算ですが、Raspberry Piのサーバにアクセスさせます。

Raspberry Pi

Raspberry Pi(ラズベリーパイ)とは、内蔵ハードディスクなどを搭載しない代わりに、電源やSDカードストレージを装着することによって使用できる、「ワンボードマイコン」と呼ばれるハードウェアです。

引用:Raspberry Piとは?|その特徴とラズパイでできる3つの事

Raspberry Piには小さいPCでそこにRaspbianというDebianベースのOSがのっています。勿論、スペックは優れているとは言い難いですが、プログラムが動きますのでここで色々な処理を行います。今回は計算のみですのでRaspberry Piでなくてもよいですが、、、。

尚、Raspberry PiではPythonというプログラム言語、Flaskというフレームワークそしてngrokというトンネルサービスを使用しています。

まとめ

一旦ここでまとめに入ります。後日、書きたくなったらもう少し細かい部分を別ブログとして残していきたいと考えています。が、いずれにせよ計算アプリだけでも色々な勉強になりました。因みに今回動画に字幕をつけましたが、フリーで動画編集できるいけているツールが見つかりませんでした。今度あまり使う機会なさそうですが、動画編集ツール買ってみようかなと考え中です。あと、draw.ioという無料図形作成アプリケーションを使ってみました。日々勉強になること多しです。