サーバレスとGoogle Cloud Platformで実現 「ピカチュウトーク」アプリ開発の裏側『ピカッ』『ピカー』『ピカピーカ』の違いが分かるか?(1/2 ページ)

「Google Cloud Next'18」において、ポケモン社 マネジャー プロダクトエンジニアの小川慧氏が「ピカチュウトーク」開発の背景や、サーバレスを活用したアーキテクチャについて説明した。

» 2018年10月31日 05時00分 公開
[石川俊明@IT]

 Googleは2018年9月19、20日に「Google Cloud Next'18」を開催した。本稿では、ポケモン社でマネジャー プロダクトエンジニアを務める小川慧氏の講演「Google Homeアプリをサーバレスで実現! 『ピカチュウトーク』開発の裏側」の内容から注目すべきポイントを抜粋してお伝えする。

利用者の「とりあえず試してみる」に応えるアプリとして開発

 ピカチュウトークは、ポケモンの「ピカチュウ」と会話できるVUI(音声ユーザーインタフェース:Voice User Interface)アプリだ。「Amazon Echo」や「Google Home」などのスマートスピーカーから無料で利用できる。

 小川氏は、ピカチュウトーク開発のいきさつについて、「上司が『Google Home』を購入して社内に持ち込んだところ、評判が良く『何かやってみない?』という社員の一声からアイデア出しが始まった」と振り返る。

社内からはポケモンの鳴き声を利用した「アラーム」アプリや「ダンジョンを声で攻略する」アプリのアイデアまで出たそうだ 社内からはポケモンの鳴き声を利用した「アラーム」アプリや「ダンジョンを声で攻略する」アプリのアイデアまで出たそうだ

 社内からさまざまなアイデアが出たが、「『手が使えないときに利用する』『サクッと試せる』というVUIの特性に合わせてアイデアを選定。「携帯ゲーム機やスマートフォンを操作できない子どもが『声で遊べる』という特長も生かそう」と考えた。

 結果、声で受け取った質問にピカチュウが返事をするという、“スマートスピーカーを買ったらすぐに試せるアプリ”の開発に至ったのだという。

講演でデモを披露した小川氏 ピカチュウが10万ボルトの技を繰り出すと、会場の参加者たちが沸いていた 講演でデモを披露した小川氏 ピカチュウが10万ボルトの技を繰り出すと、会場の参加者たちが沸いていた

「サーバにコストをかけたくない」 サーバレスでシンプルに構築

 小川氏はピカチュウトークのアーキテクチャについて説明する。「ピカチュウトークの開発では、Googleが提供する『Dialogflow』やGoogle Cloud Platformのサーバレスの実行環境『Google Cloud Functions』、NoSQL データベースの『Google Cloud Datastore』、オブジェクトストレージの『Google Cloud Storage』を利用した」

 Dialogflowは、ユーザーが発話した内容を理解して返答する自然言語処理機能や、ユーザーの発話内容を基に学習する機能を持つ、対話処理を開発するためのプラットフォームだ。ユーザーの発話内容から返答に必要な単語を抽出する「Entity」や、ユーザーの質問に対して最適な返答を定義する「Intent」などの機能を使ってVUIアプリを開発できる。VUIアプリでは、開発側が意図しなかった表現や語順でユーザーが質問をしてくる場合があるが、これらの機能によって最適な返答ができるようになる。

Dialogflowの「ありがとうIntent」の例 ユーザーの発話内容にTraining phrasesの単語が含まれていた場合、このIntentが選択され、Intentにひも付けられた返答がスマートスピーカーから流れる仕組みだ Dialogflowの「ありがとうIntent」の例 ユーザーの発話内容にTraining phrasesの単語が含まれていた場合、このIntentが選択され、Intentにひも付けられた返答がスマートスピーカーから流れる仕組みだ

 ピカチュウトークでは、スマートスピーカーが、受け取った音声を文字列に変換してjson形式のデータとしてDialogflowに送信。Dialogflowは、受け取ったデータからEntityを基に必要な情報を抽出し、発話内容の返答として最適なIntentを選択する。その後、Intentを基に、Node.jsで定義したGoogle Cloud Functionsが、Google Cloud Storageにあるピカチュウの鳴き声の音声ファイルを再生する。

 「『サーバにコストをかけるのは避けたい』『ユーザー数によってサーバ側に自動でスケールさせたい』という考えから、ピカチュウトークのアーキテクチャは、スマートスピーカーのアプリ開発でよくあるサーバレスの構成になった。アプリの維持費は月1000円弱で運用できている」

ピカチュウトークのアーキテクチャ ピカチュウトークのアーキテクチャ
       1|2 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。