イベント
[GDC 2019]「左の敵を足止めしてくれ」と,ゲーム内のキャラクターに音声で命令できるようになる? スクエニが自然言語コミュニケーションの将来像を語る
現地で話を聞いたスクウェア・エニックス関係者によれば,申請した4つのAI関連論文がすべて採択されたのだそうだ。さすがに4つすべてをレポートするのは難しいのだが,4Gamerでは,先に掲載したメタAIのものとは別に,もう1セッション聴講できたので,内容をレポートしてみたいと思う。
本稿で紹介するのは,「Enhanced Immersivity: Using Speech Recognition for More Natural Player AI Interactions」(没入感の強調:プレイヤーとAIのインタラクションをより自然にするための音声認識活用)。本セッションで登壇したのはスクウェア・エニックスのGautier Boeda氏である。
自然言語コミュニケーションによる対話で進めるパズルゲーム的なデモ
Boeda氏の研究へのモチベーションは,「ジャンルに関わらず,どんなゲームにおいても,自然言語コミュニケーションを応用すれば,より没入感の高いゲーム体験を実現できるはずだ」というところに端を発しているという。
そもそもの話として,現在,一般の家庭生活において,自然言語コミュニケーションは「普通」になりつつある。スマートフォンが音声操作に対応して久しく,最近ではスマートスピーカーと呼ばれる「対話しながら使えるガジェット」の存在感も日に日に増している状況だ。
しかし,ゲーム業界における自然言語コミュニケーションの効果的な応用は意外なほど事例が少ない。せいぜい思い起こされるのは「プレイステーション,電源を切る」「コルタナ,Xboxオン」といった基本操作とか,恋愛シミュレーションゲームで異性キャラクターに「愛している」と叫ぶくらいだだろう。
一方,普段プレイするゲームにおいては,プレイヤーの操作する主人公キャラクターが,なんらかの相棒キャラクターを引き連れつつゲーム世界を冒険するタイトルは増えている。それが犬だったり,少女だったり,ロボだったりととシチュエーションはいろいろだが,このとき相棒を操るときに使えるのはボタン数個で,当然,基本的なコマンドしか与えられない。Boeda氏は,こうしたもどかしい状況をなんとかしたい,もっと言えば,自然言語コミュニケーションで相棒キャラクターを操作したいと考えているのだ。
それを踏まえてBoeda氏は,スクウェア・エニックス研究グループで開発した新作デモ「First Glance at Kobun」を披露した。
これはスクウェア・エニックスの未発表新作タイトル……ではなく,あくまでも技術デモという位置づけのものだ。ただ,再生してもらうと分かるように,自然言語コミュニケーションをゲーム仕立てで応用した,しっかりした内容のものになっている。
First Glance at Kobunでプレイヤーは「未知の惑星に墜落したロケットの乗組員」で,墜落事故の影響で自由が奪われてしまっているという設定だ。そこで,この惑星の原住種族である可愛らしい宇宙人のコブン――おそらくは「子分」からきた名前だろう――が通りかかったので,彼に自然言語で話しかけて,この状況から脱しましょう,というのがデモのゴールとなる。
燃料タンクとパイプラインをつないだり,電源コネクタを配線したりといったロケット修理する工程を,ゲームコントローラを使うことなく,「燃料タンクを取ってノズルに注いで」みたいな感じの音声を通してプレイヤーがコブンくんに命令しているのが見てとれよう。
コブンくんとの対話における言語処理パイプライン
このデモ映像を示したところでBoeda氏は,デモの実現するにあたって適用した技術要素の紹介へと移った。
このゲームデモにおける音声認識エンジンでBoeda氏らの研究グループはオープンソースプロジェクト「Julius」を選択している。
Juliusは名古屋工業大学が開発したもので,商用利用にも制限がないオープンライセンスでありながら,完全にリアルタイムな音声認識に対応するのが特徴だ。日本語と英語をはじめとしたマルチ言語対応も採用の決め手になったようである。
Boeda氏によると,今回の技術デモ開発プロジェクトでは,音声をテキストに変換したあと,それをそのまま「言語の意味解析」にかけるのではなく,「言語ごとに存在する,独特な意味の違いを吸収する抽象化処理パイプライン」を設けて,そこへ入れているそうだ。これは,ゲームに開発におけるローカライズ時の開発負荷低減を狙ったものだという。
たとえば,ゲーム展開やゲームメカニクス(≒ゲーム性)を日本語の言語体系で構築してしまった場合,そこから他の言語に対応させようとした場合,言語関連の処理系を丸ごと別言語仕様へと作り直す必要が出てくる。
それを避けるべく,当該ゲームタイトルのゲームメカニクスを動作させるのに都合の良い,そのゲーム特有の独自の抽象化言語文法をあらかじめ設計しているわけだ。
要するに,言語認識エンジンたるJuliusでテキスト化してから当該言語の意味解析を行って,さらにそのゲーム特有の抽象化言語文法に変換する多段パイプラインとしたのである。
たとえば「リンゴを拾う」(Pick up an apple)ことが必要なゲームメカニクスが設定されている状況下で,英語圏のプレイヤーは「Pick up an apple」としゃべる場合と「Take an apple」としゃべる場合があり得る。両者は記述言語としては異なるが,意味は同じだ。
そこで,抽象化言語の処理を行うことで「Take」を「Pick up」に変換してしまう。この部分は各プレイヤーごとの語彙の違いを吸収する処理系,あるいは「言葉の意味を1つに収束させる処理系」と言っていいかもしれない。
こうすることで,あらかじめ設計しておいた独自言語ベースのゲームメカニクスをそのまま活かしつつ,多様な言語へのローカライズができることになる。それこそFirst Glance at Kobunをフランス語に対応させようとした場合は,Juliusをフランス語版に切換えたうえで,意味収束化を行いつつ,フランス語の自然言語をゲーム独自文法へ変換する抽象化処理層を開発すればいいことになる。ゲームメカニクスはいじらなくていいのだ。
抽象化層を経て意味を収束させ,ゲームメカニクス側が処理しやすい文法としてからは,実際にそれをゲームに向けて発行するコマンドとして実行することになる。
同義語などの意味を収束化する流れ |
コマンド発行の流れ |
自然言語ならではの難しい局面に対してどう立ち向かうか
以上が基本アーキテクチャだが,実際にFirst Glance at Kobunを制作してテストプレイしてみると,自然言語ならではの曖昧さからくる「うまくいかないケース」がけっこう出てきたそうだ。
1つは,音節の区切りをどう認識するかで意味が変わってきてしまうケースである。
たとえばプレイヤーが「○○を押して」と話したとき,続く「を」と「押」の音節が「ひとつながりの音節」と誤認識された場合,意味的には「○○をして」「○○押して」と,解釈法がふたとおりになる。英語で言うと前者は「Do」,後者は「Push」と,意味がまったく変わってきてしまう。「○○」に相当する目的語がはっきりしていれば文脈を予測することも可能だが,完璧にはいかない。
付け加えると,抽象化層を通しても,同音異義語(Homonym)は言葉の意味を収束させることができない。ゲームメカニクス側で想定している言葉側のほうで同音異義語が持つ「複数の意味」をいくつか用意しておけば,どれか1つと合致した場合,プレイヤーはその言葉を選択したのだなという予測は可能だ。しかし,ゲームメカニクス側で想定している言葉側のほうで,当該同音異義語が持つ「複数の意味」のうち,複数と合致してしまったらもうお手上げだ。
また,さまざまな手立てを用意しても,結局うまくいかないケースもあるそうだ。そういう場合は,今回のデモでいうところのコブンくんなど,ゲーム内のキャラクターからプレイヤーへのフィードバックとして「態度で示す」のもありだろうとBoeda氏は述べていた。
「あれ」「これ」「そこ」などの代名詞や,「〜の右」「〜の前に」といった相対的な位置指定なども,自然言語コミュニケーションを実現にするにあたっては重要なテーマとなる。
その点Juliusでは,使った言葉に対して時間コード(=タイムスタンプ)を付与して記憶しておけるので,この仕組みを用いれば,「用いられた代名詞」の意味を特定することができるという。
面白いのは「〜の右」「〜の前に」といった相対的な位置指定の意味解釈である。
対象物に正面や背面といった明確な向きがある場合は,それに配慮して意味を汲まなければならない。また,「前後左右」といった相対位置指定は,あくまでもプレイヤーの視点から見た相対位置であり,命令を受けるキャラクター側――今回のデモではコブンくん――の視点からだと逆方向に相当することがあるのだ。
ここは自然言語コミュニケーションだけでなく,現在置かれている状況や環境の認識までもAIに求められるケースだと言えよう。
ただ,言語上ではなく,VRなどの一人称視点における「指さし」操作などで「あれ」「これ」「そこ」を示す場合は,その「指さし」を吟味したうえで対象物を特定する必要が出てくる点も押さえておきたいところだ。
やりがちな誤りは,コントローラ操作などで動かした指先の延長線上のオブジェクトを対象物として選択してしまう事例である。というのも,人間の「指さし」はけっこう曖昧だからで,Boeda氏は「間違いが少ないのは,目と指先の両方を通る線の延長線上を候補として採択する手法」としていた。
昨今,VR対応のヘッドマウントディスプレイでは視線追跡(アイトラッキング)対応が相次いでいるが,それは,自然言語コミュニケーションにおいて有用だからなのかもしれない。
近い将来,相棒に指示したり,敵を恫喝したり,愛のささやきでヒロインを元気づけたりできるようになるかも
いろいろと配慮しなければいけないことや,どう対応してもうまくいかないケースは依然としてありながらも,自然言語コミュニケーションでゲーム内のキャラクターと意思疎通を図れるようになればゲーム体験は確かにさらに没入感や感情移入が高まりそうな気配は,First Glance at Kobunから強く感じられた。
今回のコブンくんのように,自然言語コミュニケーションそのものがゲームメカニクスと直結しているゲームも楽しそうだが,おそらく主流となりそうなのは,プレイヤーがゲームパッドやマウス&キーボードを操作してプレイする伝統的なゲームメカニクスを採用しつつ,NPCを自然言語コミュニケーションで操作できるタイプではないかと思う。
「左の敵を足止めして」「俺の後ろについてこい」「そっちの角に敵がいないか確認して」といった指示が,ゲーム中にヘッドセットを使ってできるようになれば,ゲームはさらに面白さを増すような気がする。
スクウェア・エニックスには,ドラゴンクエストやファイナルファンタジーといったパーティプレイのゲーム題材は多くあるわけで,今回紹介された技術を効果的に応用できるはずだ。今後が楽しみである。
スクウェア・エニックス テクノロジー推進部公式ページ
- この記事のURL: