オススメ機能
Twitter
お気に入り
記事履歴
ランキング
お気に入りタイトル/ワード

タイトル/ワード名(記事数)

最近記事を読んだタイトル/ワード

タイトル/ワード名(記事数)

LINEで4Gamerアカウントを登録
[GDC 2019]「左の敵を足止めしてくれ」と,ゲーム内のキャラクターに音声で命令できるようになる? スクエニが自然言語コミュニケーションの将来像を語る
特集記事一覧
注目のレビュー
注目のムービー

メディアパートナー

印刷2019/03/22 00:00

イベント

[GDC 2019]「左の敵を足止めしてくれ」と,ゲーム内のキャラクターに音声で命令できるようになる? スクエニが自然言語コミュニケーションの将来像を語る

Gautier Boeda氏(スクウェア・エニックス テクノロジー推進部 AIエンジニア)
画像(002)[GDC 2019]「左の敵を足止めしてくれ」と,ゲーム内のキャラクターに音声で命令できるようになる? スクエニが自然言語コミュニケーションの将来像を語る
 GDC 2019のスクウェア・エニックスはAI分野の論文採択が目立っている。
 現地で話を聞いたスクウェア・エニックス関係者によれば,申請した4つのAI関連論文がすべて採択されたのだそうだ。さすがに4つすべてをレポートするのは難しいのだが,4Gamerでは,先に掲載したメタAIのものとは別に,もう1セッション聴講できたので,内容をレポートしてみたいと思う。

 本稿で紹介するのは,「Enhanced Immersivity: Using Speech Recognition for More Natural Player AI Interactions」(没入感の強調:プレイヤーとAIのインタラクションをより自然にするための音声認識活用)。本セッションで登壇したのはスクウェア・エニックスのGautier Boeda氏である。

画像(003)[GDC 2019]「左の敵を足止めしてくれ」と,ゲーム内のキャラクターに音声で命令できるようになる? スクエニが自然言語コミュニケーションの将来像を語る


自然言語コミュニケーションによる対話で進めるパズルゲーム的なデモ


 Boeda氏の研究へのモチベーションは,「ジャンルに関わらず,どんなゲームにおいても,自然言語コミュニケーションを応用すれば,より没入感の高いゲーム体験を実現できるはずだ」というところに端を発しているという。

 そもそもの話として,現在,一般の家庭生活において,自然言語コミュニケーションは「普通」になりつつある。スマートフォンが音声操作に対応して久しく,最近ではスマートスピーカーと呼ばれる「対話しながら使えるガジェット」の存在感も日に日に増している状況だ。
 しかし,ゲーム業界における自然言語コミュニケーションの効果的な応用は意外なほど事例が少ない。せいぜい思い起こされるのは「プレイステーション,電源を切る」「コルタナ,Xboxオン」といった基本操作とか,恋愛シミュレーションゲームで異性キャラクターに「愛している」と叫ぶくらいだだろう。

 一方,普段プレイするゲームにおいては,プレイヤーの操作する主人公キャラクターが,なんらかの相棒キャラクターを引き連れつつゲーム世界を冒険するタイトルは増えている。それが犬だったり,少女だったり,ロボだったりととシチュエーションはいろいろだが,このとき相棒を操るときに使えるのはボタン数個で,当然,基本的なコマンドしか与えられない。Boeda氏は,こうしたもどかしい状況をなんとかしたい,もっと言えば,自然言語コミュニケーションで相棒キャラクターを操作したいと考えているのだ。

自然言語コミュニケーションでNPCを操ることができればゲーム体験はさらに没入度を増すはずだ,というのがBoeda氏の研究モチベーション
画像(004)[GDC 2019]「左の敵を足止めしてくれ」と,ゲーム内のキャラクターに音声で命令できるようになる? スクエニが自然言語コミュニケーションの将来像を語る

 それを踏まえてBoeda氏は,スクウェア・エニックス研究グループで開発した新作デモ「First Glance at Kobun」を披露した。


 これはスクウェア・エニックスの未発表新作タイトル……ではなく,あくまでも技術デモという位置づけのものだ。ただ,再生してもらうと分かるように,自然言語コミュニケーションをゲーム仕立てで応用した,しっかりした内容のものになっている。

 First Glance at Kobunでプレイヤーは「未知の惑星に墜落したロケットの乗組員」で,墜落事故の影響で自由が奪われてしまっているという設定だ。そこで,この惑星の原住種族である可愛らしい宇宙人のコブン――おそらくは「子分」からきた名前だろう――が通りかかったので,彼に自然言語で話しかけて,この状況から脱しましょう,というのがデモのゴールとなる。

 燃料タンクとパイプラインをつないだり,電源コネクタを配線したりといったロケット修理する工程を,ゲームコントローラを使うことなく,「燃料タンクを取ってノズルに注いで」みたいな感じの音声を通してプレイヤーがコブンくんに命令しているのが見てとれよう。


コブンくんとの対話における言語処理パイプライン


 このデモ映像を示したところでBoeda氏は,デモの実現するにあたって適用した技術要素の紹介へと移った。

 このゲームデモにおける音声認識エンジンでBoeda氏らの研究グループはオープンソースプロジェクト「Julius」を選択している。
 Juliusは名古屋工業大学が開発したもので,商用利用にも制限がないオープンライセンスでありながら,完全にリアルタイムな音声認識に対応するのが特徴だ。日本語と英語をはじめとしたマルチ言語対応も採用の決め手になったようである。

音声認識エンジンとしてはJuliusを選択した
画像(005)[GDC 2019]「左の敵を足止めしてくれ」と,ゲーム内のキャラクターに音声で命令できるようになる? スクエニが自然言語コミュニケーションの将来像を語る

 Boeda氏によると,今回の技術デモ開発プロジェクトでは,音声をテキストに変換したあと,それをそのまま「言語の意味解析」にかけるのではなく,「言語ごとに存在する,独特な意味の違いを吸収する抽象化処理パイプライン」を設けて,そこへ入れているそうだ。これは,ゲームに開発におけるローカライズ時の開発負荷低減を狙ったものだという。

 たとえば,ゲーム展開やゲームメカニクス(≒ゲーム性)を日本語の言語体系で構築してしまった場合,そこから他の言語に対応させようとした場合,言語関連の処理系を丸ごと別言語仕様へと作り直す必要が出てくる。
 それを避けるべく,当該ゲームタイトルのゲームメカニクスを動作させるのに都合の良い,そのゲーム特有の独自の抽象化言語文法をあらかじめ設計しているわけだ。
 要するに,言語認識エンジンたるJuliusでテキスト化してから当該言語の意味解析を行って,さらにそのゲーム特有の抽象化言語文法に変換する多段パイプラインとしたのである。

 たとえば「リンゴを拾う」(Pick up an apple)ことが必要なゲームメカニクスが設定されている状況下で,英語圏のプレイヤーは「Pick up an apple」としゃべる場合と「Take an apple」としゃべる場合があり得る。両者は記述言語としては異なるが,意味は同じだ。
 そこで,抽象化言語の処理を行うことで「Take」を「Pick up」に変換してしまう。この部分は各プレイヤーごとの語彙の違いを吸収する処理系,あるいは「言葉の意味を1つに収束させる処理系」と言っていいかもしれない。

 こうすることで,あらかじめ設計しておいた独自言語ベースのゲームメカニクスをそのまま活かしつつ,多様な言語へのローカライズができることになる。それこそFirst Glance at Kobunをフランス語に対応させようとした場合は,Juliusをフランス語版に切換えたうえで,意味収束化を行いつつ,フランス語の自然言語をゲーム独自文法へ変換する抽象化処理層を開発すればいいことになる。ゲームメカニクスはいじらなくていいのだ。

意味を収束化させつつゲーム独自文法に変換する処理系にはWordNetのSynsetを利用する
画像(006)[GDC 2019]「左の敵を足止めしてくれ」と,ゲーム内のキャラクターに音声で命令できるようになる? スクエニが自然言語コミュニケーションの将来像を語る
 この抽象化処理系には,WordNetによる意味辞書データベースの同義語辞書「Synset」を採用しているという。
 抽象化層を経て意味を収束させ,ゲームメカニクス側が処理しやすい文法としてからは,実際にそれをゲームに向けて発行するコマンドとして実行することになる。

画像(007)[GDC 2019]「左の敵を足止めしてくれ」と,ゲーム内のキャラクターに音声で命令できるようになる? スクエニが自然言語コミュニケーションの将来像を語る
同義語などの意味を収束化する流れ
画像(008)[GDC 2019]「左の敵を足止めしてくれ」と,ゲーム内のキャラクターに音声で命令できるようになる? スクエニが自然言語コミュニケーションの将来像を語る
コマンド発行の流れ


自然言語ならではの難しい局面に対してどう立ち向かうか


 以上が基本アーキテクチャだが,実際にFirst Glance at Kobunを制作してテストプレイしてみると,自然言語ならではの曖昧さからくる「うまくいかないケース」がけっこう出てきたそうだ。

 1つは,音節の区切りをどう認識するかで意味が変わってきてしまうケースである。
 たとえばプレイヤーが「○○を押して」と話したとき,続く「を」と「押」の音節が「ひとつながりの音節」と誤認識された場合,意味的には「○○をして」「○○押して」と,解釈法がふたとおりになる。英語で言うと前者は「Do」,後者は「Push」と,意味がまったく変わってきてしまう。「○○」に相当する目的語がはっきりしていれば文脈を予測することも可能だが,完璧にはいかない。

自然言語認識においては「○○を押して」が「○○をして」と誤認識されるケースがある
画像(009)[GDC 2019]「左の敵を足止めしてくれ」と,ゲーム内のキャラクターに音声で命令できるようになる? スクエニが自然言語コミュニケーションの将来像を語る
「目的語として何がくるか」を吟味すれば動詞を推測することもできるが,それでも動詞の有力候補が複数出てしまうケースはままある
画像(010)[GDC 2019]「左の敵を足止めしてくれ」と,ゲーム内のキャラクターに音声で命令できるようになる? スクエニが自然言語コミュニケーションの将来像を語る

 付け加えると,抽象化層を通しても,同音異義語(Homonym)は言葉の意味を収束させることができない。ゲームメカニクス側で想定している言葉側のほうで同音異義語が持つ「複数の意味」をいくつか用意しておけば,どれか1つと合致した場合,プレイヤーはその言葉を選択したのだなという予測は可能だ。しかし,ゲームメカニクス側で想定している言葉側のほうで,当該同音異義語が持つ「複数の意味」のうち,複数と合致してしまったらもうお手上げだ。

「はなす」が発話された場合,「話す」「離す」「放す」のどれなのかを,その時点のゲーム状況下に照らし合わせて推測することはできるが,やはり完璧ではない
画像(011)[GDC 2019]「左の敵を足止めしてくれ」と,ゲーム内のキャラクターに音声で命令できるようになる? スクエニが自然言語コミュニケーションの将来像を語る

 また,さまざまな手立てを用意しても,結局うまくいかないケースもあるそうだ。そういう場合は,今回のデモでいうところのコブンくんなど,ゲーム内のキャラクターからプレイヤーへのフィードバックとして「態度で示す」のもありだろうとBoeda氏は述べていた。

悲しそうな顔や難しそうな顔をさせたりして,プレイヤーに対し適切な態度を示すことで,プレイヤーにリトライを促すというのはアリだという。そうすることで,次の発話ではうまく行く可能性が高まる場合もあるはずとのことだ
画像(012)[GDC 2019]「左の敵を足止めしてくれ」と,ゲーム内のキャラクターに音声で命令できるようになる? スクエニが自然言語コミュニケーションの将来像を語る

 「あれ」「これ」「そこ」などの代名詞や,「〜の右」「〜の前に」といった相対的な位置指定なども,自然言語コミュニケーションを実現にするにあたっては重要なテーマとなる。
 その点Juliusでは,使った言葉に対して時間コード(=タイムスタンプ)を付与して記憶しておけるので,この仕組みを用いれば,「用いられた代名詞」の意味を特定することができるという。

代名詞は過去に発話された言葉のタイムスタンプから判断できる
画像(013)[GDC 2019]「左の敵を足止めしてくれ」と,ゲーム内のキャラクターに音声で命令できるようになる? スクエニが自然言語コミュニケーションの将来像を語る

 面白いのは「〜の右」「〜の前に」といった相対的な位置指定の意味解釈である。
 対象物に正面や背面といった明確な向きがある場合は,それに配慮して意味を汲まなければならない。また,「前後左右」といった相対位置指定は,あくまでもプレイヤーの視点から見た相対位置であり,命令を受けるキャラクター側――今回のデモではコブンくん――の視点からだと逆方向に相当することがあるのだ。
 ここは自然言語コミュニケーションだけでなく,現在置かれている状況や環境の認識までもAIに求められるケースだと言えよう。

「テレビは画面が正面と認知される場合が多いから,図にあるリンゴの位置はテレビの画面を基準として『左にある』と解釈するのが自然」と考えるべきだというスライド
画像(014)[GDC 2019]「左の敵を足止めしてくれ」と,ゲーム内のキャラクターに音声で命令できるようになる? スクエニが自然言語コミュニケーションの将来像を語る

 ただ,言語上ではなく,VRなどの一人称視点における「指さし」操作などで「あれ」「これ」「そこ」を示す場合は,その「指さし」を吟味したうえで対象物を特定する必要が出てくる点も押さえておきたいところだ。
 やりがちな誤りは,コントローラ操作などで動かした指先の延長線上のオブジェクトを対象物として選択してしまう事例である。というのも,人間の「指さし」はけっこう曖昧だからで,Boeda氏は「間違いが少ないのは,目と指先の両方を通る線の延長線上を候補として採択する手法」としていた。
 昨今,VR対応のヘッドマウントディスプレイでは視線追跡(アイトラッキング)対応が相次いでいるが,それは,自然言語コミュニケーションにおいて有用だからなのかもしれない。

「指さし」による位置指定では,指先の延長線上にあるオブジェクトではなく,目と指の先端の両方を通る線の延長線上で解釈したほうが正解率が良いとのこと
画像(015)[GDC 2019]「左の敵を足止めしてくれ」と,ゲーム内のキャラクターに音声で命令できるようになる? スクエニが自然言語コミュニケーションの将来像を語る


近い将来,相棒に指示したり,敵を恫喝したり,愛のささやきでヒロインを元気づけたりできるようになるかも


 いろいろと配慮しなければいけないことや,どう対応してもうまくいかないケースは依然としてありながらも,自然言語コミュニケーションでゲーム内のキャラクターと意思疎通を図れるようになればゲーム体験は確かにさらに没入感や感情移入が高まりそうな気配は,First Glance at Kobunから強く感じられた。

画像(016)[GDC 2019]「左の敵を足止めしてくれ」と,ゲーム内のキャラクターに音声で命令できるようになる? スクエニが自然言語コミュニケーションの将来像を語る

 今回のコブンくんのように,自然言語コミュニケーションそのものがゲームメカニクスと直結しているゲームも楽しそうだが,おそらく主流となりそうなのは,プレイヤーがゲームパッドやマウス&キーボードを操作してプレイする伝統的なゲームメカニクスを採用しつつ,NPCを自然言語コミュニケーションで操作できるタイプではないかと思う。

 「左の敵を足止めして」「俺の後ろについてこい」「そっちの角に敵がいないか確認して」といった指示が,ゲーム中にヘッドセットを使ってできるようになれば,ゲームはさらに面白さを増すような気がする。
 スクウェア・エニックスには,ドラゴンクエストやファイナルファンタジーといったパーティプレイのゲーム題材は多くあるわけで,今回紹介された技術を効果的に応用できるはずだ。今後が楽しみである。

スクウェア・エニックス テクノロジー推進部公式ページ

  • この記事のURL:
4Gamer.net最新情報
プラットフォーム別新着記事
総合新着記事
企画記事
トピックス
スペシャルコンテンツ
注目記事ランキング
集計:04月25日〜04月26日