検索
特集

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

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

Share
Tweet
LINE
Hatena
前のページへ |       

ピカチュウに「生き物らしさ」を――ピカチュウトークの工夫

 小川氏が「家にピカチュウがやってくる」というコンセプトを実現するために、ピカチュウトークで工夫した点が、時間や親密度、疲労度の概念だ。例えば、早朝や深夜に話し掛けるとピカチュウが眠そうな鳴き声を返したり、10万ボルトの技を何度も出すと疲れてしまったりするユーザー体験を実現している。

 「生き物らしさを再現するために、内部で『親密度』や『疲労度』といった変化する値をパラメーターとして用意し、Google Cloud Datastoreに保存している」

 さらに、ユーザーのさまざまな発話に応答できるよう、とにかくIntentを増やしたそうだ。小川氏は、Intentに必要だった台本の制作方法について説明する。

 「Amazon EchoとGoogle Home用、両方のアプリ開発を同時に進めたため、利用者から受け取る内容と、それに対するピカチュウの鳴き声のペアを『台本』として『Google スプレッドシート』で管理した。JavaScriptのコードで、そのGoogle スプレッドシートをjson形式に変換、出力し、Dialogflowにインポート。Dialogflowのシミュレーター環境でアプリをテストし、テスト結果を基に台本を改善するというサイクルを回すことで、効率的に開発を進めることができた」

ピカチュウトークの台本の開発サイクル
ピカチュウトークの台本の開発サイクル

 台本作成後は、Dialogflow上のシミュレーターで、質問に対してピカチュウが実際に正しく返答するか確かめていったが、ここで思わぬ落とし穴があった。「アプリの網羅テストをしようにも、ピカチュウの返事が、『ピカッ』『ピカー』『ピカピーカ』と、声色やイントネーションが微妙に違う鳴き声ばかりで、質問に対して、想定していた返答をしているのか分からず、テストができなかった」のだ。そこでピカチュウの音声を流すのではなく、音声に割り当てられたIDを、『Google Cloud Text-to-Speech(TTS)』を利用して読み上げさせることで、テスト作業を進めることができたという。

「翻訳の壁」を乗り越えて 海外版を提供開始

 2018年2月、ピカチュウトークは米国でも提供を開始した。しかし、海外版を提供するに当たって、2つの課題があったという。一つは翻訳の問題だ。

ポケモン社 マネジャー プロダクトエンジニアの小川慧氏
ポケモン社 マネジャー プロダクトエンジニアの小川慧氏

 「例えば、昼にピカチュウへ話し掛ける場合、日本語では『こんにちは』だが、英語の場合は『Hello』『Hey』『What's up』と複数の表現が考えられる。ただ訳すのではなく、他の言語にどんな表現があるか、表現を再定義してIntentを調整する作業が必要になった」

 さらに、生き物らしさを出すための時間の概念も課題に挙がった。「日本で提供する場合は、日本標準時を利用して時間の概念を実装していたので問題はなかったが、米国で提供する場合は西部から東部まで3時間の時差があり、位置情報を利用する必要があった」

 しかし、位置情報の取得にはパーミッション(権限の許可)をユーザーに求める必要がある。「『サクッと試せる』というVUIを利用する動機を損ないたくないという思いから、パーミッションを取らない方針でアプリを公開していたため、米国版では時間の概念を取り入れた機能の実装を断念した」

 このように、さまざまな工夫をこらしたピカチュウトークは、2018年8月末時点で、1日の平均発話数が約2万6000回に上る人気アプリの一つになっているという。小川氏は、これからVUIアプリを開発しようと考えている開発者に向けてアドバイスを語り、講演を締めくくった。

 「VUIは『複雑な操作が覚えられない』『面倒くさい』から使われる側面があるので、複雑な設計にしないことが大切だ。できるだけシンプルに、ユーザーへ返答できるパターンを増やすため、人力でもいいのでIntentを追加していくといいだろう」

Copyright © ITmedia, Inc. All Rights Reserved.

前のページへ |       
ページトップに戻る