おもしろまじめなAIスピーカーアプリをつくろう -Google Home(アシスタント)&Amazon Echo(Alexa)音声アシスタント開発

概 要

スマートスピーカー(AIスピーカー)がついに日本にも上陸しました。AIスピーカーは便利なだけでなく、オリジナルアプリの開発もできることが最大の魅力です。本書は、Google HomeとAmazon Echo用のアプリ開発に必要な知識とプログラムを学べる本です。簡単なアプリからステップアップして、少しずついろいろな技術を学べます。あなたのアイディアを誰よりも早くカタチにして、全世界で使ってもらえるアプリを作りましょう!

著者 松浦健一郎、司ゆき
価格 本体2800円(税別)
ISBN 978-4-7980-5273-1
発売日 2018/1/16
判型 B5変
ページ数 416
CD/DVD
ダウンロード
表紙イメージ
購入 アマゾンで購入する
楽天で購入する

※リンク先によっては、販売ページが用意されていないことがあります。あらかじめご了承ください。

新しいウィンドウで開く 書籍購入のご案内

サポート

サポート情報は以下からご参照下さい。

サポート情報へのリンク

目次

Part1 音声アシスタントとスマートスピーカーの基本

1章 音声アシスタントとは

キャラクター紹介

AIアシスタント

スマートスピーカー

音声アシスタントの利点

どちらを選ぶ?

まとめ

2章 エージェントやスキルの仕組み

音声アシスタント向けアプリケーション

スマートスピーカーの仕組み

アプリケーションはどう動く

ユーザとアプリケーションの通信

音声アシスタントとアプリケーションの通信

JSONを使ったHTTPリクエスト

オブジェクト/配列/値

JSONを使ったHTTPレスポンス

アプリケーションの技術的みどころ

まとめ

3章 開発環境のセットアップ

セットアップの手順

サーバの準備

Pythonについて/SSLについて

プログラミング言語の導入

Pythonのバージョン

サーバへのPythonのインストール

ローカルコンピュータへのPythonのインストール

Pythonのインストール手順(Windows版)/Pythonの動作確認(Windows版)/Pythonのインストールと動作確認(macOS版)/Pythonのインストールと動作確認(Linux版)

テキストエディタの導入

FTPクライアントの導入

アカウントの作成

Googleアカウントの作成/Amazonアカウントの作成

スマートスピーカーのテスト

Google Home/Amazon Echo

Amazon Alexaの言語設定

まとめ

Part2 いろいろなアプリケーション

4章 あいさつアプリケーション~「ラーイ」~ ― JSONを使ったレスポンスの生成

あいさつアプリケーションを作ろう

共通のプログラム

まずは手元のコンピュータで

モジュールのインポート(local.pyの(3))/レスポンスのメッセージヘッダを出力する(local.pyの(5))/スピーカーへの指示を記述する(local.pyの(6))/JSON形式で出力(local.pyの(7))

サーバ上で動作するプログラムに

pythonコマンドのパス(hello.pyの(1))/プログラムの文字エンコーディング(hello.pyの(2))/Pythonプログラム保存時の文字エンコーディング/リクエストの読み込み(hello.pyの(4))

サーバにプログラムファイルを配置する

パーミッションの設定/CGIプログラムの動作テスト

HTTPレスポンスの出力

HTTPレスポンスの構造

Google用のプログラム

アプリケーションの作成/Webhookの設定/インテントの設定/コンソールによるアプリケーションの実行/スマートスピーカーによるアプリケーションの実行/アプリケーションの終了/Google Assistantアプリによるアプリケーションの実行/日本語を話させる/アプリケーションのセーブとロード

Amazon用のプログラム

アプリケーションの実行/インテントの設定/Webhookの設定/コンソールによるアプリケーションの実行/スマートスピーカーによるアプリケーションの実行

日本語アプリケーションの作成

アプリケーションの完成

テストは音声で

まとめ

5章 コピーアプリケーション ― JSONを使ったリクエストの取得

コピーアプリケーションを作ろう

音声アシスタントのサーバからHTTPリクエストを受け取る

リクエストの内容をファイルに保存する

プログラムを動かしてみよう

ローカル環境での動作テスト/サーバ上で動作させる/Google Assistantの場合/Amazon Alexaの場合

HTTPリクエストの内容

Google用のアプリケーション

インテントの設定/新しいインテントの作成/プログラム/アプリケーションの実行/リクエストの確認

Amazon用のアプリケーション

スキルの作成/インテントの作成/プログラム/アプリケーションの実行/リクエストの確認/聞き返してくれるアプリケーション

アプリケーションの完成

まとめ

6章 Beepアプリケーション ― リクエストの加工を使ったレスポンスの生成

Beepアプリケーションを作ろう

Google用のアプリケーション

デフォルトインテントの変更/プログラム/アプリケーションの実行

Amazon用のアプリケーション

スキルの作成/インテントの作成/プログラム/アプリケーションの実行

Python文法

変数の定義/for文と文字列/if文/in演算子/if文のelif部とelse部/文字列の連結

アプリケーションの完成

まとめ

7章 応援アプリケーション~「ハヤクゲンキニナレ」 ― インテントを使った動作の切り替え

応援アプリケーションを作ろう

共通の処理

インテントによる分岐

Google用のアプリケーション

新しいインテントの作成/既存インテントの編集/プログラム/アプリケーションの実行

Amazon用のアプリケーション

スキルの作成/インテントの作成/プログラム/アプリケーションの実行

アプリケーションの完成

まとめ

8章 睡眠アプリケーション~「羊が1匹。羊が2匹。」 ― コンテキストやセッションによる継続的な会話の実現

睡眠アプリケーションを作ろう

共通の処理

羊を数える処理

Google用のアプリケーション

デフォルトインテントの削除/フォールバックインテントの作成/インテントの作成

Google用のプログラム

1回目の実行/2回目以降の実行/アプリケーションを実行

Amazon用のアプリケーション

スキルの作成/インテントの作成/アプリケーションのURLを登録

Amazon用のプログラム

1回目の実行/2回目以降の実行/アプリケーションの実行

アプリケーションの完成

まとめ

9章 オーディオアプリケーション~「とけいの おとで ねむらせた!」 ― SSMLやディレクティブを使ったオーディオの再生

オーディオアプリケーションを作ろう

共通の処理

オーディオファイル

Google用のアプリケーション

インテントの作成/プログラム/アプリケーションの実行

Amazon用のアプリケーション

スキルの作成/インテントの作成/プログラム/アプリケーションの実行

Amazon用スリープタイマー

スキルの作成/インテントの作成/プログラム/アプリケーションの実行

アプリケーションの完成

まとめ

10章 ゲームアプリケーション~「1、2、フィズ、3、4、バズ」 ― 会話を使ったゲームの実現

ゲームアプリケーションを作ろう

Fizz Buzzゲームとは

共通の処理

Fizz Buzzの関数

Google用のアプリケーション

フォールバックインテントとウェルカムインテントの作成/数値を入力するインテントの作成/フィズバズを入力するインテントの作成/プログラム/アプリケーションの実行

Amazon用のアプリケーション

スキルの作成/インテントの作成/プログラム/アプリケーションの実行

アプリケーションの完成

まとめ

11章 ドクターアプリケーション~「ケアに満足しましたか?」 ― ユーザIDを使った個人別データの管理

ドクターアプリケーションを作ろう

共通の処理

ファイルの読み書き/ファイルのロック/ファイルのアクセス権限/数値への変換

Google用のアプリケーション

フォールバックインテントとウェルカムインテントの作成/体重に関するインテントの作成/フォローアップインテントの作成/プログラム/アプリケーションの実行

Amazon用のアプリケーション

スキルの作成/インテントの作成/プログラム/アプリケーションの実行

アプリケーションの完成

まとめ

12章 ショップアプリケーション~「チョコバーを注文するのだ」 ― ユーザに対する問い合わせと確認を伴う注文処理の実現

ショップアプリケーションを作ろう

共通の処理

注文の確認/注文の保存

Google用のアプリケーション

フォールバックインテントとウェルカムインテントの作成/エンティティの作成/注文インテントの作成/フォローアップインテントの作成/プログラム/アプリケーションの実行

Amazon用のアプリケーション

スキルの作成/スキルビルダーの起動/カスタムスロットタイプの作成/インテントの作成/インテントの編集/プログラム/アプリケーションの実行

アプリケーションの完成

まとめ

補足資料

Android WearとGoogle Assistant

リクエストとレスポンスの構成一覧

用語対応表

用語目次

Technology サーバ

Technology URLとURI

Technology HTTP

Technology 共有SSL

Technology 文字エンコーディング

Language プログラムとスクリプト

Language 文

Language import文

Language 文字列

Language エスケープシーケンス

Language print関数

Language 関数

Language 変数

Language 辞書

Language dump関数

Language コメント

Technology パーミッション

Technology MIMEタイプ

Google Assistant用語 Fulfillment(フルフィルメント)

Google Assistant用語 Intent(インテント)

Google Assistant用語 Default Fallback Intent

Google Assistant用語 Default Welcome Intent

Amazon Alexa用語 インテントスキーマ(intent schema)

Amazon Alexa用語 サンプル発話(sample utterance)

Language ファイル入出力

Language インデント

Language キーワード引数

Google Assistant用語 parameter(パラメータ)

Google Assistant用語 entity(エンティティ)

Amazon Alexa用語 スロット(slot)

Amazon Alexa用語 スロットタイプ(slot type)

Language 例外処理

Language 比較演算子==

Language range関数

Language str関数

Language +=演算子

Language pass文

Language リスト

Language リストとfor文

Language int関数

Amazon Alexa用語 スリープタイマー

Language 比較演算子 <

Language 関数の定義

Language 論理演算子or

Language in演算子

Language メソッド

PR

秀和システム