(57)【特許請求の範囲】
【請求項１】
ゲームの内容に応じて関連付けられたゲームにおける説明文を表す自然言語データ及びゲームを制御するための制御データを含むゲームスクリプトの作成を支援するためのシステムであって、
予め作成された作成済ゲームスクリプトが含む制御データを自然言語データである制御説明文に変換し、説明文及び該説明文に対応する制御説明文を含む加工済スクリプト文を作成するデータ前処理部と、
自然言語に関する文法構造及び文章間の関係が予め学習された自然言語事前学習済モデルに、加工済スクリプト文を学習させることにより、学習済モデルを生成する学習部と、
を含む、システム。
【請求項２】
制御データは機能によって複数の種別に分類可能であり、
前記データ前処理部は、制御データの種別ごとに、予め作成された作成済ゲームスクリプトが含む制御データを自然言語データである制御説明文に変換し、説明文及び該説明文に対応する制御説明文を含む加工済スクリプト文を作成し、
前記学習部は、制御データの種別ごとに、自然言語に関する文法構造及び文章間の関係が予め学習された自然言語事前学習済モデルに、加工済スクリプト文を学習させることにより、制御データの種別ごとの学習済モデルを生成する、請求項１に記載のシステム。
【請求項３】
前記データ前処理部は、複数のデータ前処理ユニットを含み、一の該データ前処理ユニットが、作成済ゲームスクリプトが含む制御データのうちの一の種別に対応する制御データを制御説明文に変換して加工済スクリプト文を作成することにより、前記データ前処理部は制御データの種別ごとに加工済スクリプト文を作成し、
前記学習部は、複数のデータ前処理ユニットの各々に対応する複数の学習ユニットを含む、請求項２に記載のシステム。
【請求項４】
前記学習部は、加工済スクリプト文を学習データとして用いて、自然言語事前学習済モデルをファインチューニングして学習済モデルを生成する、請求項１から３のいずれか１項に記載のシステム。
【請求項５】
加工済スクリプト文は、説明文及びランダムに選択された制御説明文を更に含み、
前記学習部は、自然言語事前学習済モデルに、加工済スクリプト文が含む説明文及び該説明文に対応する制御説明文を正解のデータとして学習させ、かつ該説明文及びランダムに選択された制御説明文を不正解のデータとして学習させて学習済モデルを生成する、請求項1から４のいずれか１項に記載のシステム。
【請求項６】
ゲームスクリプトは、行列形式のデータ又は構造化データであり、各々がゲームの個々の場面に対応する複数の識別子と、該識別子に関連付けられた自然言語データ及び制御データとを含む、請求項１から５のいずれか１項に記載のシステム。
【請求項７】
ゲームスクリプトは、識別子に関連付けられたキャラクタ名を表す自然言語データを更に含み、
作成済ゲームスクリプトをキャラクタごとに分類してキャラクタごとの作成済ゲームスクリプトを記憶するデータ分割部を更に含み、
前記データ前処理部は、キャラクタごとに、作成済ゲームスクリプトが含む制御データを制御説明文に変換して説明文及び該説明文に対応する制御説明文を含む加工済スクリプト文を作成し、
前記学習部は、キャラクタごとに、加工済スクリプト文を自然言語事前学習済モデルに学習させることによりキャラクタごとの学習済モデルを生成する、請求項６に記載のシステム。
【請求項８】
前記データ前処理部は、制御データと制御説明文との対応関係を示す変換情報に基づいて、制御データを制御説明文へ変換し、
前記システムは、
ゲームにおける説明文の入力を受け付ける入力受付部と、
自然言語に関する文法構造及び文章間の関係が予め学習された自然言語事前学習済モデルに加工済スクリプト文を学習させることにより生成された学習済モデルを用いて、前記入力受付部が入力を受け付けた説明文から制御説明文を推論する推論部であって、加工済スクリプト文は、予め作成された作成済ゲームスクリプトが含む説明文及び該説明文に対応する制御データから作成された自然言語データである制御説明文を含むものである、推論部と、
前記変換情報に基づいて、前記推論部により推論される制御説明文から制御データを作成するデータ後処理部と
を含む、請求項１から７のいずれか１項に記載のシステム。
【請求項９】
ゲームの内容に応じて関連付けられたゲームにおける説明文を表す自然言語データ及びゲームを制御するための制御データを含むゲームスクリプトの作成を支援するための学習済モデルを生成する方法であって、
予め作成された作成済ゲームスクリプトが含む制御データを自然言語データである制御説明文に変換し、説明文及び該説明文に対応する制御説明文を含む加工済スクリプト文を作成するステップと、
自然言語に関する文法構造及び文章間の関係が予め学習された自然言語事前学習済モデルに、加工済スクリプト文を学習させることにより、学習済モデルを生成するステップと、
を含む、方法。
【請求項１０】
ゲームの内容に応じて関連付けられたゲームにおける説明文を表す自然言語データ及びゲームを制御するための制御データを含むゲームスクリプトの作成を支援するためのシステムであって、
ゲームにおける説明文の入力を受け付ける入力受付部と、
自然言語に関する文法構造及び文章間の関係が予め学習された自然言語事前学習済モデルに加工済スクリプト文を学習させることにより生成された学習済モデルを用いて、前記入力受付部が入力を受け付けた説明文から制御説明文を推論する推論部であって、加工済スクリプト文は、予め作成された作成済ゲームスクリプトが含む説明文及び該説明文に対応する制御データから作成された自然言語データである制御説明文を含むものである、推論部と、
を含む、システム。
【請求項１１】
制御データと制御説明文との対応関係を示す変換情報に基づいて、前記推論部により推論される制御説明文から制御データを作成するデータ後処理部を更に含む、請求項１０に記載のシステム。
【請求項１２】
ゲームにおける説明文を表す自然言語データ及びゲームを制御するための制御データを含むゲームスクリプトの作成を支援するための方法であって、
ゲームにおける説明文の入力を受け付けるステップと、
自然言語に関する文法構造及び文章間の関係が予め学習された自然言語事前学習済モデルに加工済スクリプト文を学習させることにより生成された学習済モデルを用いて、前記入力を受け付けた説明文から制御説明文を推論するステップであって、加工済スクリプト文は、予め作成された作成済ゲームスクリプトが含む説明文及び該説明文に対応する制御データから作成された自然言語データである制御説明文を含むものである、ステップと、
を含む、方法。
【請求項１３】
請求項９又は１２に記載の方法の各ステップをコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ゲームスクリプトの作成を支援するためのシステム及び方法に関する。
【背景技術】
【０００２】
従来、スマートフォン等に代表される小型の携帯型電子装置上で実行されるゲームをはじめとする様々なゲームがリリースされている。例えば、ＲＰＧなどの物語性のあるゲームにおいては、キャラクタの立ち絵やセリフなどを切り替えながらストーリーが進行するゲームがある。このような物語性のあるゲームは、キャラクタのセリフからなるシナリオテキストに、画面遷移などの物語の進行制御を担うコマンド列などを付け加えた「ゲームスクリプト」に記載された事項に沿って物語が進行する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１８−１６９７１５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
従来、上記のような物語性のあるゲームにおけるゲームスクリプトを作成する場合、すべて人手で入力する必要があり、ゲーム制作において、ゲームスクリプト作成工程はコスト要因の一つとなっていた。このような状況において、物語性のあるゲームの開発では、品質を落とさずに人手による関与を低減化することが可能な、ゲームスクリプトの作成を支援するためのシステムが求められている。例えば、進行制御を担うコマンド列の入力などのゲームスクリプトの少なくとも一部を自動作成することができれば、品質を落とさずに人手による関与を低減化することができる。物語性のあるゲーム開発における自動化については、本出願人により様々な取り組みが行われており、例えば特許文献１は、機械翻訳システムを用いて翻訳コストを低減化することが可能な翻訳支援システムを開示している。
【０００５】
本発明は、このような課題を解決するためになされたものであり、物語性のあるゲーム開発において、ゲームスクリプトの作成を支援することが可能なシステムを提供することを主目的とする。
【課題を解決するための手段】
【０００６】
本発明の一態様としてのシステムは、
〔１〕ゲームの内容に応じて関連付けられたゲームにおける説明文を表す自然言語データ及びゲームを制御するための制御データを含むゲームスクリプトの作成を支援するためのシステムであって、
予め作成された作成済ゲームスクリプトが含む制御データを自然言語データである制御説明文に変換し、説明文及び該説明文に対応する制御説明文を含む加工済スクリプト文を作成するデータ前処理部と、
自然言語に関する文法構造及び文章間の関係が予め学習された自然言語事前学習済モデルに、加工済スクリプト文を学習させることにより、学習済モデルを生成する学習部と、
を含むことを特徴とする。
【０００７】
また、本発明の一態様としてのシステムは、
〔２〕制御データは機能によって複数の種別に分類可能であり、
前記データ前処理部は、制御データの種別ごとに、予め作成された作成済ゲームスクリプトが含む制御データを自然言語データである制御説明文に変換し、説明文及び該説明文に対応する制御説明文を含む加工済スクリプト文を作成し、
前記学習部は、制御データの種別ごとに、自然言語に関する文法構造及び文章間の関係が予め学習された自然言語事前学習済モデルに、加工済スクリプト文を学習させることにより、制御データの種別ごとの学習済モデルを生成する、〔１〕に記載のシステムである。
【０００８】
また、本発明の一態様としてのシステムは、
〔３〕前記データ前処理部は、複数のデータ前処理ユニットを含み、一の該データ前処理ユニットが、作成済ゲームスクリプトが含む制御データのうちの一の種別に対応する制御データを制御説明文に変換して加工済スクリプト文を作成することにより、前記データ前処理部は制御データの種別ごとに加工済スクリプト文を作成し、
前記学習部は、複数のデータ前処理ユニットの各々に対応する複数の学習ユニットを含む、〔２〕に記載のシステムである。
【０００９】
また、本発明の一態様としてのシステムは、
〔４〕前記学習部は、加工済スクリプト文を学習データとして用いて、自然言語事前学習済モデルをファインチューニングして学習済モデルを生成する、〔１〕から〔３〕のいずれか１つに記載のシステムである。
【００１０】
また、本発明の一態様としてのシステムは、
〔５〕加工済スクリプト文は、説明文及びランダムに選択された制御説明文を更に含み、
前記学習部は、自然言語事前学習済モデルに、加工済スクリプト文が含む説明文及び該説明文に対応する制御説明文を正解のデータとして学習させ、かつ該説明文及びランダムに選択された制御説明文を不正解のデータとして学習させて学習済モデルを生成する、〔１〕から〔４〕のいずれか１つに記載のシステムである。
【００１１】
また、本発明の一態様としてのシステムは、
〔６〕ゲームスクリプトは、行列形式のデータ又は構造化データであり、各々がゲームの個々の場面に対応する複数の識別子と、該識別子に関連付けられた自然言語データ及び制御データとを含む、〔１〕から〔５〕のいずれか１つに記載のシステムである。
【００１２】
また、本発明の一態様としてのシステムは、
〔７〕ゲームスクリプトは、識別子に関連付けられたキャラクタ名を表す自然言語データを更に含み、
作成済ゲームスクリプトをキャラクタごとに分類してキャラクタごとの作成済ゲームスクリプトを記憶するデータ分割部を更に含み、
前記データ前処理部は、キャラクタごとに、作成済ゲームスクリプトが含む制御データを制御説明文に変換して説明文及び該説明文に対応する制御説明文を含む加工済スクリプト文を作成し、
前記学習部は、キャラクタごとに、加工済スクリプト文を自然言語事前学習済モデルに学習させることによりキャラクタごとの学習済モデルを生成する、〔６〕に記載のシステムである。
【００１３】
また、本発明の一態様としてのシステムは、
〔８〕前記データ前処理部は、制御データと制御説明文との対応関係を示す変換情報に基づいて、制御データを制御説明文へ変換し、
前記システムは、
ゲームにおける説明文の入力を受け付ける入力受付部と、
自然言語に関する文法構造及び文章間の関係が予め学習された自然言語事前学習済モデルに加工済スクリプト文を学習させることにより生成された学習済モデルを用いて、前記入力受付部が入力を受け付けた説明文から制御説明文を推論する推論部であって、加工済スクリプト文は、予め作成された作成済ゲームスクリプトが含む説明文及び該説明文に対応する制御データから作成された自然言語データである制御説明文を含むものである、推論部と、
前記変換情報に基づいて、前記推論部により推論される制御説明文から制御データを作成するデータ後処理部と
を含む、〔１〕から〔７〕のいずれか１つに記載のシステムである。
【００１４】
また、本発明の一態様としての方法は、
〔９〕ゲームの内容に応じて関連付けられたゲームにおける説明文を表す自然言語データ及びゲームを制御するための制御データを含むゲームスクリプトの作成を支援するための学習済モデルを生成する方法であって、
予め作成された作成済ゲームスクリプトが含む制御データを自然言語データである制御説明文に変換し、説明文及び該説明文に対応する制御説明文を含む加工済スクリプト文を作成するステップと、
自然言語に関する文法構造及び文章間の関係が予め学習された自然言語事前学習済モデルに、加工済スクリプト文を学習させることにより、学習済モデルを生成するステップと、
を含むことを特徴とする。
【００１５】
また、本発明の一態様としてのシステムは、
〔１０〕ゲームの内容に応じて関連付けられたゲームにおける説明文を表す自然言語データ及びゲームを制御するための制御データを含むゲームスクリプトの作成を支援するためのシステムであって、
ゲームにおける説明文の入力を受け付ける入力受付部と、
自然言語に関する文法構造及び文章間の関係が予め学習された自然言語事前学習済モデルに加工済スクリプト文を学習させることにより生成された学習済モデルを用いて、前記入力受付部が入力を受け付けた説明文から制御説明文を推論する推論部であって、加工済スクリプト文は、予め作成された作成済ゲームスクリプトが含む説明文及び該説明文に対応する制御データから作成された自然言語データである制御説明文を含むものである、推論部と、
を含むことを特徴とする。
【００１６】
また、本発明の一態様としてのシステムは、
〔１１〕制御データと制御説明文との対応関係を示す変換情報に基づいて、前記推論部により推論される制御説明文から制御データを作成するデータ後処理部を更に含む。
【００１７】
また、本発明の一態様としての方法は、
〔１２〕ゲームにおける説明文を表す自然言語データ及びゲームを制御するための制御データを含むゲームスクリプトの作成を支援するための方法であって、
ゲームにおける説明文の入力を受け付けるステップと、
自然言語に関する文法構造及び文章間の関係が予め学習された自然言語事前学習済モデルに加工済スクリプト文を学習させることにより生成された学習済モデルを用いて、前記入力を受け付けた説明文から制御説明文を推論するステップであって、加工済スクリプト文は、予め作成された作成済ゲームスクリプトが含む説明文及び該説明文に対応する制御データから作成された自然言語データである制御説明文を含むものである、ステップと、
を含むことを特徴とする。
【００１８】
本発明の一態様としてのプログラムは、〔９〕又は〔１２〕に記載の方法の各ステップをコンピュータに実行させることを特徴とする。
【発明の効果】
【００１９】
本発明によれば、物語性のあるゲーム開発において、ゲームスクリプトの作成を支援することができる。
【図面の簡単な説明】
【００２０】
【図１】本発明の第１の実施形態の学習支援装置のハードウェア構成を示すブロック図である。
【図２】本発明の一実施形態の学習支援装置の機能ブロック図である。
【図３】ゲームスクリプトの一例を示す図である。
【図４】ゲーム画面４０の一例を示す図である。
【図５】１つの種別の制御データに関連する作成済ゲームスクリプトの一例を示す図である。
【図６】データ前処理ユニットが図５に示す作成済ゲームスクリプトから作成した加工済スクリプト文の一例を示す図である。
【図７】ｃｏｍｍａｎｄ１のコマンドデータと制御説明文との対応を示す変換テーブルの一例を示す図である。
【図８】データ前処理ユニットが図５に示す作成済ゲームスクリプトから作成した加工済スクリプト文の一例を示す図である。
【図９】画像パスに含まれる文字列と感情の対応関係を示す図であり、画像パスと制御説明文との対応を示す変換テーブルの一例を示す図である。
【図１０】本発明の一実施形態の学習支援装置の学習済モデルの生成処理を示すフローチャートである。
【図１１】本発明の第２の実施形態の生成支援装置のハードウェア構成を示すブロック図である。
【図１２】本発明の一実施形態の生成支援装置の機能ブロック図である。
【図１３】推論部による制御説明文の推定の一例を示す図である。
【図１４】本発明の一実施形態の生成支援装置のゲームスクリプトの一部の自動作成処理を示すフローチャートである。
【発明を実施するための形態】
【００２１】
以下、図面を参照して、本発明の実施形態のゲームスクリプトの作成を支援するための装置（システム）を説明する。各図において同一の符号は、特に言及が無い限り同一又は相当部分を示すものとし、説明の便宜上、図面の縦横の縮尺を実際のものとは異なるように表す場合がある。また、説明の便宜上、必要以上に詳細な説明は省略する場合がある。例えば、既によく知られた事項の詳細説明や実質的に同一の構成についての重複説明を省略する場合がある。
【００２２】
本発明の第１の実施形態の学習支援装置１０は、ゲームスクリプトの作成を支援するために、学習済モデルを生成する装置である。本発明の第２の実施形態の生成支援装置５０は、ゲームスクリプトの作成を支援するために、作成された学習済モデルを用いて、ゲームスクリプトの少なくとも一部を自動作成する装置である。学習支援装置１０は、複数の装置などから構成される学習支援システムの１つの実施形態であるが、以下の実施形態においては、説明の便宜上、１つの装置として説明する。生成支援装置５０についても同様である。
【００２３】
本発明の実施形態におけるゲームは、ゲーム開発者によりゲームスクリプトに記載された事項に沿ってキャラクタの立ち絵やセリフなどを切り替えながらストーリーが進行する物語性のあるゲームである。例えば、スマートフォンなどの電子装置において実行されるゲームプログラムは、ゲームスクリプトを読み込むことにより、ゲームのための処理を実行する。
【００２４】
ゲームスクリプトは、ゲームの内容に応じて関連付けられた、例えばゲームの個々の場面に対応する識別子に関連付けられた自然言語データ及び制御データを含むものである。例えばゲームスクリプトは、シナリオテキストに記載されたセリフ、キャラクタ、演出等ゲーム進行に必要な最小限の情報を元に、キャラクタ名やセリフなどの自然言語データと、キャラクタの振る舞い、立ち絵、背景画像、背景音楽、効果音などの制御データとが入力されたものである。
【００２５】
自然言語データは、自然言語を表すデータであり、キャラクタのセリフや状況の説明などの説明文を含む。制御データは、自然言語データ以外のデータであり、ゲームを制御するためのコマンドデータや、画像を格納するパスなどの画面に表示する画像に関するデータを含む。例えばコマンドデータは、キャラクタの動きや画面遷移などの物語の進行を制御するためのデータであり、ゲームプログラムにより読み込まれたときに、意図するゲーム上の制御が実行されるような形式で記載される。制御データは、例えばコマンドデータや画像に関するデータなどのように、制御データの機能や内容に応じて、複数の種別に分類することができるものである。制御データのうちの１つの種別のコマンドデータは、コマンドデータの機能や内容に応じて、更に分類することができる場合がある。
【００２６】
図３は、ゲームスクリプトの一例を示す図である。本実施形態において、ゲームスクリプトは、行列形式のデータである。行の要素は、ＩＤ３１により識別されるものであり、列の要素はＩＤ３１に関連付けられたデータである。ＩＤ３１に関連付けられた列の要素は、キャラクタ名３２、説明文３３、画像パス３４、及びコマンドデータ３５の列の要素を含む。なお、行の要素と列の要素は、入れ替えることができる。
【００２７】
ＩＤ３１の各々、すなわち行の各々は、ゲームの個々の場面に対応し、列の要素の各々はＩＤ３１に関連付けられることでゲームの個々の場面に関連付けられる。好ましくは、ＩＤ３１は数字を含み、該数字は時系列的な順番を示す。ＩＤ３１は、識別子の１つの例示である。
【００２８】
キャラクタ名３２は、登場するキャラクタの名前を表す自然言語データである。図３に示すゲームスクリプトにおいては、キャラクタ名３２は、１つのキャラクタに対応するｃｈａｒａｃｔｅｒ１＿ｎａｍｅの列の要素のみ記載されている。この場合、当該キャラクタが話者キャラクタに対応するが、ゲームスクリプトは、キャラクタ名３２に対応する列の要素を増減することができ、話者キャラクタ以外の１又は複数のキャラクタに対応するキャラクタ名３２の列の要素を含むことができる。１つの好適な例では、キャラクタ名３２は、キャラクタの名前の代わりにキャラクタを識別可能なキャラクタＩＤである。この場合、キャラクタＩＤは、自然言語データであるキャラクタ名と１対１で対応するものであり、キャラクタ名を特定することができるため、自然言語データとみなすことができるものとする。ゲームプログラムは、ゲームスクリプトを読み込むことにより、キャラクタＩＤとキャラクタ名が対応付けられたテーブルを参照することができる。
【００２９】
説明文３３は、キャラクタのセリフ又は状況の説明の少なくとも１つを表す自然言語データである。
【００３０】
画像パス３４は、キャラクタ画像が格納されるパスを示すものであり、制御データの１つである。ゲームプログラムは、格納先にアクセスすることで当該キャラクタ画像を取得する。例えば、一のＩＤ３１に関連付けられるキャラクタ名３２が指定の無い場合、例えばキャラクタ名３２に「ｎｕｌｌ」が記載される場合、該一のＩＤ３１に関連付けられる説明文３３は状況の説明を表す自然言語データとなる。
【００３１】
コマンドデータ３５は、ゲームの１つの場面に対応するゲームを制御するためのコマンドを表すものであり、制御データの１つである。例えばコマンドデータ３５は、同じＩＤ３１に関連付けられた画像パス３４により取得したキャラクタ画像の表示方法を指定するコマンドである。図３に示すゲームスクリプトにおいては、コマンドデータ３５は、ｃｏｍｍａｎｄ１の列の要素のみ記載されているが、コマンドデータ３５は、ｃｏｍｍａｎｄ１、ｃｏｍｍａｎｄ２のように複数のコマンドデータ３５の列の要素を含むことができる。本実施形態では、ｃｏｍｍａｎｄ１は、キャラクタ及び背景の動きの制御に関するコマンドデータである。本実施形態では、１つの列の要素のコマンドデータ３５が１つの種別のコマンドデータ３５に対応する。例えば１つの種別のコマンドデータ３５がｃｏｍｍａｎｄ１であり、ｃｏｍｍａｎｄ１は、「ｆａｄｅｉｎ」や「ｆａｄｅｏｕｔ」などの複数の種類のコマンドデータを含むことができるものである。ただし、複数列の要素のコマンドデータ３５が１つの種別のコマンドデータ３５に対応するように構成してもよい。図３に示すゲームスクリプトは、コマンドデータ３５以外の他の列の要素を含むこともできる。
【００３２】
１つの例では、コマンドデータ３５は、キャラクタ名３２が示すキャラクタの各々に対応するコマンドデータ３５の列の要素を含み、キャラクタに対応しないゲーム全体に対応するコマンドデータ３５の列の要素を含むことができる。他の例では、１つのコマンドデータ３５の列の要素は、キャラクタ及び背景の動きの制御に関するコマンドデータであり、他の１つのコマンドデータ３５の列の要素は、キャラクタのセリフに合った表情やポーズをとっている立ち絵の指定に関するコマンドである。
【００３３】
図４は、ゲーム画面４０の一例を示す図である。ゲーム画面４０は、立ち絵４１と、キャラクタ名４２と、説明文４３とを含む。立ち絵４１は、ゲームに登場するキャラクタの絵であり、話者や表情の動きに応じて表示される。キャラクタ名４２は、話者キャラクタの名前である。説明文４３は、セリフ又は状況の説明である。
【００３４】
１つの例では、ゲームプログラムは、ゲームスクリプトを読み込むと、画像パス３４を介して、立ち絵４１に対応するキャラクタ画像を取得し、ゲーム画面４０内に取得したキャラクタ画像を表示する処理を実行する。この場合、好ましくは、ゲームプログラムは、コマンドデータ３５に記載された制御方法に応じてキャラクタ画像を表示する処理を実行する。１つの例では、ゲームプログラムは、ゲームスクリプトを読み込むと、キャラクタ名３２及び説明文３３を取得する処理を実行する。説明文３３と同じＩＤ３１に関連付けられたキャラクタ名３２の指定が有る場合、説明文３３はセリフであり、ゲームプログラムは、ゲーム画面４０内に、キャラクタ名３２及び説明文３３に対応するキャラクタ名４２及び説明文４３を表示する処理を実行する。説明文３３と同じＩＤ３１に関連付けられたキャラクタ名３２の指定が無い場合、説明文３３は状況の説明であり、ゲームプログラムは、ゲーム画面４０内に、説明文３３に対応する説明文４３を表示する処理を実行する。
【００３５】
図１は本発明の第１の実施形態の学習支援装置１０のハードウェア構成を示すブロック図である。学習支援装置１０は、プロセッサ１１、入力装置１２、表示装置１３、記憶装置１４、及び通信装置１５を備える。これらの各構成装置はバス１６によって接続される。なお、バス１６と各構成装置との間には必要に応じてインタフェースが介在しているものとする。学習支援装置１０は、一般的なサーバやＰＣ等と同様の構成を含む。
【００３６】
プロセッサ１１は、学習支援装置１０全体の動作を制御する。例えばプロセッサ１１は、ＣＰＵである。プロセッサ１１は、記憶装置１４に格納されているプログラムやデータを読み込んで実行することにより、様々な処理を実行する。プロセッサ１１は、複数のプロセッサから構成されてもよい。
【００３７】
入力装置１２は、学習支援装置１０に対するユーザからの入力を受け付けるユーザインタフェースであり、例えば、タッチパネル、タッチパッド、又はボタンである。表示装置１３は、プロセッサ１１の制御に従って、アプリケーション画面などを学習支援装置１０のユーザに表示するディスプレイである。
【００３８】
記憶装置１４は、主記憶装置及び補助記憶装置を含む。主記憶装置は、例えばＲＡＭのような半導体メモリである。ＲＡＭは、情報の高速な読み書きが可能な揮発性の記憶媒体であり、プロセッサ１１が情報を処理する際の記憶領域及び作業領域として用いられる。主記憶装置は、読み出し専用の不揮発性記憶媒体であるＲＯＭを含んでいてもよい。補助記憶装置は、様々なプログラムや、各プログラムの実行に際してプロセッサ１１が使用するデータを格納する。補助記憶装置は、情報を格納できるものであればいかなる不揮発性ストレージ又は不揮発性メモリであってもよく、着脱可能なものであっても構わない。
【００３９】
記憶装置１４は、予め作成されたゲームスクリプトである作成済ゲームスクリプトを記憶する。作成済ゲームスクリプトは、学習支援装置１０に学習させるためのゲームスクリプトである。記憶装置１４は、作成済ゲームスクリプトが読み込まれたときに参照されるキャラクタ画像を記憶する。
【００４０】
通信装置１５は、ネットワークを介してユーザ端末又はサーバなどの他のコンピュータとの間でデータの授受を行うことが可能な無線ＬＡＮモジュールである。通信装置１５は、Ｂｌｕｅｔｏｏｔｈ（登録商標）モジュールなどの他の無線用通信デバイスとすることもできるし、イーサネット（登録商標）モジュールやＵＳＢインタフェースなどの有線用通信デバイスとすることもできる。
【００４１】
図２は本発明の一実施形態の学習支援装置１０の機能ブロック図である。学習支援装置１０は、データ分割部２１、データ前処理部２２、及び学習部２３を備える。本実施形態においては、プログラムがプロセッサ１１により実行されることによりこれらの機能が実現される。例えば実行されるプログラムは、記憶装置１４に記憶されている又は通信装置１５を介して受信したプログラムである。このように、各種機能がプログラム読み込みにより実現されるため、１つのパート（機能）の一部又は全部を他のパートが有していてもよい。ただし、各機能の一部又は全部を実現するための電子回路等を構成することによりハードウェアによってもこれらの機能は実現してもよい。
【００４２】
最初に学習支援装置１０の全体動作について説明する。学習支援装置１０は、制御データの種別ごとに、データ前処理部２２により作成された加工済スクリプト文を用いて学習部２３により学習させて、制御データの種別ごとの学習済モデルを生成する。学習支援装置１０は、一の種別の制御データがキャラクタの個性に依存する制御データに関する作成済ゲームスクリプトを学習させる場合、データ分割部２１により作成済ゲームスクリプトをキャラクタごとに分類してキャラクタごとの作成済ゲームスクリプトを作成する。この場合、学習支援装置１０は、データ前処理部２２によりキャラクタごとに作成された加工済スクリプト文を用いて学習部２３により学習させる。学習支援装置１０は、一の種別の制御データがキャラクタの個性に依存しない制御データに関する作成済ゲームスクリプトを学習させる場合、データ分割部２１により作成済ゲームスクリプトを分類しない。
【００４３】
データ分割部２１は、作成済ゲームスクリプトをキャラクタごとに分類して、キャラクタごとの作成済ゲームスクリプトを記憶装置１４に記憶する。キャラクタごとの分類とは、話者キャラクタに対応するキャラクタ名３２ごとの分類である。１つの好適な例では、データ分割部２１は、作成済ゲームスクリプトにおけるＩＤ３１に関連付けられたデータ、すなわち各行のデータが、どの話者キャラクタに関するデータであるかを特定し、話者キャラクタごとに各行のデータを集約することにより、話者キャラクタごとの作成済ゲームスクリプトを作成する。データ分割部２１は、キャラクタごとに作成した作成済ゲームスクリプトをキャラクタごとに記憶装置１４に記憶する。なお、ＩＤ３１に関連付けられたデータ、すなわち各行のデータは、キャラクタ名を参照することで、どの話者キャラクタに関するデータであることが特定可能である。データ分割部２１は、制御データの種別によっては、キャラクタごとに分類しない。
【００４４】
データ前処理部２２は、制御データの種別ごとに、記憶装置１４に記憶された作成済ゲームスクリプトが含む制御データを自然言語データである制御説明文に変換して加工済スクリプト文を作成する。加工済スクリプト文は、説明文３３及び説明文３３に対応する制御説明文を含む自然言語データであり、作成済ゲームスクリプトに基づいて作成されるものである。データ分割部２１により作成済ゲームスクリプトが分割される場合、データ前処理部２２は、キャラクタごとに記憶装置１４に記憶された作成済ゲームスクリプトが含む制御データを制御説明文に変換して、キャラクタごとに、加工済スクリプト文を作成する。
【００４５】
本実施形態では、データ前処理部２２は、各々がデータ前処理部２２の機能を有する複数のデータ前処理ユニット１２２を含む。データ前処理ユニット１２２の各々は、作成済ゲームスクリプトが含む制御データの種別のうちの１つの種別に対応するものである。データ前処理ユニット１２２の各々は、作成済ゲームスクリプトが含む制御データのうちの一の種別に対応する制御データを制御説明文に変換して加工済スクリプト文を作成する。このようにして、データ前処理部２２は、制御データの種別ごとに加工済スクリプト文を作成する。ただし、データ前処理部２２は、１つのデータ前処理ユニットや他のソフトウェアモジュールなどにより実現されてもよい。例えば「ｆａｄｅｉｎ」させたキャラクタを「ｆａｄｅｏｕｔ」させる場合などに、データ前処理ユニット１２２は、作成済ゲームスクリプトが含むコマンドデータのうちの「ｆａｄｅｉｎ」及び「ｆａｄｅｏｕｔ」を制御説明文に変換して加工済スクリプト文を作成する。
【００４６】
１つの例では、データ前処理ユニット１２２は、作成済ゲームスクリプトの制御データを制御説明文に変換し、同一のＩＤ３１に関連付けられた説明文３３及び制御説明文を関連付け又は結合して、加工済スクリプト文を作成する。加工済スクリプト文は、作成済ゲームスクリプトに基づいて、ＩＤ３１に関連付けられた行のデータ１つずつ作成される。加工済スクリプト文は、作成済ゲームスクリプトから作成された自然言語データ全体を示すものであるが、作成済ゲームスクリプトから作成されたデータのうちの１つのＩＤ３１に関連付けられた自然言語データを示す場合もある。
【００４７】
１つの好適な例では、データ前処理ユニット１２２は、ＩＤ３１に関連付けられた行のデータ１つずつ、作成済ゲームスクリプトのキャラクタ名３２及び説明文３３の自然言語データを用いて、表１に示すような１つの説明文３３’を作成する。説明文３３’は、制御説明文に関連付ける又は結合する自然言語データである。
【表１】
0006812583.tif 000002
【００４８】
ここでは、学習対象の制御データの種別がｃｏｍｍａｎｄ１（コマンドデータ３５）の場合のデータ前処理部２２及び学習部２３の動作について説明する。図５は、１つの種別の制御データに関連する作成済ゲームスクリプトの一例を示す図であり、図６は、データ前処理ユニット１２２が図５に示す作成済ゲームスクリプトから作成した加工済スクリプト文の一例を示す図である。図５は、ｃｏｍｍａｎｄ１に関連するゲームスクリプトを示す。ここでは、ｃｏｍｍａｎｄ１は、キャラクタと背景の動きの制御に関する制御データである。この場合、制御データはキャラクタの個性に依存しないため、データ分割部２１は、ｃｏｍｍａｎｄ１を含む１つの種別の制御データについては、作成済ゲームスクリプトをキャラクタごとに分割しない。
【００４９】
データ前処理ユニット１２２は、図５に示すキャラクタ名３２及び説明文３３の列の要素に記載の自然言語データを図６に示す説明文３３’の列の要素に記載の自然言語データへ加工する。図６に示すように、加工済スクリプト文は、各行が自然言語データから構成される。なお説明の便宜上、図６に示す加工済スクリプト文において、ゲームスクリプトのＩＤ３１に対応させることを目的として説明文３３’及び制御説明文３５’はＩＤに関連付けられているが、各行のデータが管理可能なものであればよい。
【００５０】
表１に記載する「キャラクタの動きを制御する部分であることを示すマーカ」は、図６における「登場人物は」という自然言語に対応する。図６における「ＮｏＣｈａｒ」という自然言語は「ＮｏＣｈａｒａｃｔｅｒ」の略であり、キャラクタ名が指定されていないことを意味する。データ前処理ユニット１２２は、キャラクタ名３２が「ｎｕｌｌ」の場合、「マーカ」後の「キャラクタ」が「ＮｏＣｈａｒ」となるように説明文３３’の自然言語データを作成する。したがって、「手前のキャラクタ」及び「話者キャラクタ」が指定されていない場合、「登場人物は、ＮｏＣｈａｒ、ＮｏＣｈａｒ」と記載される。
【００５１】
図５においてＩＤ３１が「１」の場面は、最初の場面であり、「手前のキャラクタ」が不在であり、「話者キャラクタ」の「カタリナ」のみ存在する。この場合、データ前処理ユニット１２２は、ＩＤ３１の「マーカ」以後の記載が「登場人物は、ＮｏＣｈａｒ、カタリナ」となるように説明文３３’を作成した。また図５においてＩＤ３１が「２」の場面は、「話者キャラクタ」としてのキャラクタ名３２に「ビィ」が指定され、１つ前の場面の「話者キャラクタ」の「カタリナ」が指定されていない。この場合、データ前処理ユニット１２２は、「話者キャラクタ」が「ビィ」、「手前のキャラクタ」が「カタリナ」となるように説明文３３’を作成した。
【００５２】
記憶装置１４は、制御データの種別ごとに、制御データと制御説明文との対応関係を示す制御データ変換情報を記憶する。制御データ変換情報は、例えば制御データがコマンドデータ３５の場合、コマンドデータ３５の内容の各々を制御説明文の各々と対応付けた情報であり、例えば変換テーブルのような形式で記憶される。データ前処理ユニット１２２は、制御データ変換情報に基づいて、制御データを制御説明文へ変換する。
【００５３】
図７は、ｃｏｍｍａｎｄ１のコマンドデータ３５と制御説明文３５’との対応を示す変換テーブルの一例を示す図である。データ前処理ユニット１２２は、図７に示す変換テーブルを用いて、図５に示すコマンドデータ３５を図６に示す制御説明文３５’へ変換する。例えばデータ前処理ユニット１２２は、図７に示す変換テーブルを用いて、コマンドデータ「ｆａｄｅｉｎ」を制御説明文「（キャラクタ）が現れた」へ変換する。
【００５４】
学習部２３は、制御データの種別ごとに、自然言語に関する文法構造及び文章間の関係が予め学習された自然言語事前学習済モデルに、加工済スクリプト文を学習させることにより、制御データの種別ごとの学習済モデルを生成する。データ前処理部２２によりキャラクタごとに加工済スクリプト文が作成される場合、学習部２３は、制御データの種別ごとに、キャラクタごとに作成された加工済スクリプト文を自然言語事前学習済モデルに学習させることによりキャラクタごとの学習済モデルを生成する。
【００５５】
自然言語学習済モデルは、文法構造の学習と文章間の関係の学習とを用いて、予め大量の自然言語の文章を学習して作成された学習モデルである。文法構造の学習は、例えば「Ｍｙ  ｄｏｇ  ｉｓ  ｈａｉｒｙ」という文の構造を学習させるために、（１）単語のマスキング「Ｍｙ  ｄｏｇ  ｉｓ  ［ＭＡＳＫ］」、（２）単語のランダム置換「Ｍｙ  ｄｏｇ  ｉｓ  ａｐｐｌｅ」、（３）単語の操作なし「Ｍｙ  ｄｏｇ  ｉｓ  ｈａｉｒｙ」の３パターンを学習させることを意味する。文章間の関係の学習は、例えば学習対象の２つの連続する文の組がある場合に、元の２つの文の組（正解の組）と、ランダムで選択した文の組（不正解の組）とを半分ずつ作成し、文の関連性があるか否かを２値分類問題として学習することを意味する。
【００５６】
自然言語学習済モデルは、学習支援装置１０とは異なる他の装置に記憶され、学習支援装置１０は、通信装置１５を介して該他の装置と通信することにより、自然言語学習済モデルに対して学習させ、学習させて得られた学習モデルを該他の装置から取得する。ただし、学習支援装置１０は、自然言語学習済モデルを記憶装置１４に記憶してもよい。
【００５７】
本実施形態では、学習部２３は、各々が学習部２３の機能を有する複数の学習ユニット１２３を含む。学習ユニット１２３の各々は、複数のデータ前処理ユニット１２２の各々に対応し、対応するデータ前処理ユニット１２２が作成した加工済スクリプト文を自然言語事前学習済モデルに学習させることにより、学習済モデルを各々生成する。ただし、学習部２３は、１つの学習ユニットや他のソフトウェアモジュールなどにより実現されてもよい。
【００５８】
１つの好適な例では、自然言語事前学習済モデルは、Ｇｏｏｇｌｅ社により提供されるＢＥＲＴと呼ばれる学習済モデルであり、学習ユニット１２３は、通信装置１５を介してＢＥＲＴのシステムと通信し、ＢＥＲＴに加工済スクリプト文を学習させる。この場合、学習ユニット１２３は、自然言語データの加工済スクリプト文を学習データとして用いて、制御データの種別ごとに自然言語事前学習済モデルをファインチューニングして、制御データの種別ごとの学習済モデルを生成する。ファインチューニングは、自然言語事前学習済モデルを再学習させてパラメータへの再重み付けを行うことを意味する。したがって、学習ユニット１２３は、既に学習済の自然言語事前学習済モデルを、加工済スクリプト文を用いて再学習させることにより、自然言語事前学習済モデルを微調整した新たな学習モデルを生成するものである。
【００５９】
本実施形態では、学習ユニット１２３は、自然言語事前学習済モデルに対して、文章間の関係を学習させる。データ前処理ユニット１２２は、図５に示す作成済ゲームスクリプトから、学習ユニット１２３が文章間の関係を学習させることが可能な加工済スクリプト文を作成する。図８は、データ前処理ユニット１２２が図５に示す作成済ゲームスクリプトから作成した加工済スクリプト文の一例を示す図である。加工済スクリプト文においては、説明文３３’及び制御説明文３５’にラベル３６が関連付けられる。加工済スクリプト文は、ラベル３６を含むものではないが、説明の便宜上、図８においては、学習部２３が自然言語事前学習済モデルに学習させるために付与するラベル３６を明示している。また説明の便宜上、図８に示す加工済スクリプト文において、ゲームスクリプトのＩＤ３１に対応させることを目的として説明文３３’及び制御説明文３５’はＩＤに関連付けられているが、各行のデータが管理可能なものであればよい。
【００６０】
ラベル３６は、正解ラベルとして「ＩｓＮｅｘｔ」が記載され、不正解ラベルとして「ＮｏｔＮｅｘｔ」が記載される。データ前処理ユニット１２２は、正解の組として、図５に示す作成済ゲームスクリプトのＩＤ３１の「１」のキャラクタ名３２及び説明文３３に対応する説明文３３’と、ＩＤ３１の「１」のコマンドデータ３５に対応する制御説明文３５’との組を作成する。データ前処理ユニット１２２は、不正解の組として、図５に示す作成済ゲームスクリプトのＩＤ３１の「１」のキャラクタ名３２及び説明文３３に対応する説明文３３’と、ランダムに選択した制御説明文３５’との組を作成する。学習ユニット１２３は、正解の組に「ＩｓＮｅｘｔ」のラベル３６を関連付け、不正解の組に「ＮｏｔＮｅｘｔ」のラベル３６を関連付ける。
【００６１】
学習ユニット１２３は、自然言語事前学習済モデルに対して、正解の組として作成された説明文３３’及び制御説明文３５’を連結して正解のデータとして（正解ラベルを付与して）学習させ、不正解の組として作成された説明文３３’及び制御説明文３５’を連結して不正解のデータとして（不正解ラベルを付与して）学習させる。変形例として、ｃｏｍｍａｎｄ１及びｃｏｍｍａｎｄ２が１つの種別の制御データであり、当該制御データが学習対象の制御データの１つの種別である場合、データ前処理ユニット１２２は、ｃｏｍｍａｎｄ１及びｃｏｍｍａｎｄ２の各々に対応する制御説明文３５’を作成できるように構成される。この場合、学習ユニット１２３は、ｃｏｍｍａｎｄ１及びｃｏｍｍａｎｄ２の各々に対応する制御説明文３５’を連結して１つの制御説明文３５Ａ’として扱い、自然言語事前学習済モデルに対して、説明文３３’と制御説明文３５Ａ’の文章間の関係を学習させる。
【００６２】
次に、学習対象の制御データの種別が画像パス３４の場合のデータ前処理部２２及び学習部２３の動作について、主としてコマンドデータ３５の場合との相違点に関して説明する。画像パス３４は、キャラクタＩＤ及び感情を含む文字列から構成されるファイル名を含む。例えばキャラクタＩＤが「３０５０」の場合、ファイル名が「３０５０」であると「中立」の感情、「３０５０＿ｌａｕｇｈ」だと「笑う」の感情、「３０５０＿ａｎｇｒｙ」だと「怒る」の感情、「３０５０＿ｃｏｎｃｅｎｔｒａｔｉｏｎ」だと「その他」の感情、「３０５０＿ａ」だと「その他」の感情となる。この場合、図６に示す加工済スクリプト文は、コマンドデータ３５に対応する制御説明文３５’ではなく、画像パス３４の文字列に含まれる感情に対応する制御説明文３４’を含む。またこの場合、制御データはキャラクタの個性に依存するため、データ分割部２１は、作成済ゲームスクリプトをキャラクタごとに分割する。
【００６３】
図９は、画像パス３４に含まれる文字列と感情の対応関係を示す図であり、画像パス３４と制御説明文３４’との対応を示す変換テーブルの一例を示す図である。データ前処理ユニット１２２は、図９に示す変換テーブルを用いて、画像パス３４の文字列に含まれる感情を制御説明文３４’「感情」へ変換する。データ前処理ユニット１２２は、キャラクタごとに記憶装置１４に記憶された作成済ゲームスクリプトが含む制御データを制御説明文に変換して、キャラクタごとに、加工済スクリプト文を作成する。この場合の加工済スクリプト文は、図６又は図８に示す加工済スクリプト文における、コマンドデータ３５に対応する制御説明文３５’の代わりに画像パス３４に対応する制御説明文３４’の「感情」を含むものである。データ前処理ユニット１２２は、ｃｏｍｍａｎｄ１の制御データの場合と同様にして、正解の組として、作成済ゲームスクリプトに基づいて作成された説明文３３’と制御説明文３４’との組を作成する。同様に、データ前処理ユニット１２２は、不正解の組として、作成済ゲームスクリプトに基づいて作成された説明文３３’とランダムに選択した制御説明文３４’との組を作成する。
【００６４】
次に、本発明の一実施形態の学習支援装置１０の学習済モデルの生成処理について図１０に示したフローチャートを用いて説明する。ステップ１０１において、データ分割部２１は、作成済ゲームスクリプトをキャラクタごとに分類して、キャラクタごとの作成済ゲームスクリプトを記憶装置１４に記憶する。
【００６５】
ステップ１０２において、データ前処理部２２は、制御データの種別ごとに、キャラクタごとに記憶された作成済ゲームスクリプトが含む制御データを制御説明文に変換して、キャラクタごとに、加工済スクリプト文を作成する。ステップ１０３において、学習部２３は、制御データの種別ごとに、キャラクタごとに作成された加工済スクリプト文を自然言語事前学習済モデルに学習させることによりキャラクタごとの学習済モデルを生成する。
【００６６】
ただし、データ分割部２１により作成済ゲームスクリプトが分割されない場合、本フローチャートは、ステップ１０１の処理を実行しない。この場合、ステップ１０２において、データ前処理部２２は、制御データの種別ごとに、記憶された作成済ゲームスクリプトが含む制御データを制御説明文に変換して、加工済スクリプト文を作成する。ステップ１０３において、学習部２３は、制御データの種別ごとに、作成された加工済スクリプト文を自然言語事前学習済モデルに学習させることにより学習済モデルを生成する。
【００６７】
図１１は本発明の第２の実施形態の生成支援装置５０のハードウェア構成を示すブロック図である。生成支援装置５０は、プロセッサ５１、入力装置５２、表示装置５３、記憶装置５４、及び通信装置５５を備える。これらの各構成装置はバス５６によって接続される。なお、バス５６と各構成装置との間には必要に応じてインタフェースが介在しているものとする。生成支援装置５０は、一般的なサーバやＰＣ等と同様の構成を含む。
【００６８】
プロセッサ５１は、生成支援装置５０全体の動作を制御する。例えばプロセッサ５１は、ＣＰＵである。プロセッサ５１は、記憶装置５４に格納されているプログラムやデータを読み込んで実行することにより、様々な処理を実行する。プロセッサ５１は、複数のプロセッサから構成されてもよい。
【００６９】
入力装置５２は、生成支援装置５０に対するユーザからの入力を受け付けるユーザインタフェースであり、例えば、タッチパネル、タッチパッド、又はボタンである。表示装置５３は、プロセッサ５１の制御に従って、アプリケーション画面などを生成支援装置５０のユーザに表示するディスプレイである。
【００７０】
記憶装置５４は、主記憶装置及び補助記憶装置を含む。主記憶装置は、例えばＲＡＭのような半導体メモリである。ＲＡＭは、情報の高速な読み書きが可能な揮発性の記憶媒体であり、プロセッサ５１が情報を処理する際の記憶領域及び作業領域として用いられる。主記憶装置は、読み出し専用の不揮発性記憶媒体であるＲＯＭを含んでいてもよい。補助記憶装置は、様々なプログラムや、各プログラムの実行に際してプロセッサ５１が使用するデータを格納する。補助記憶装置は、情報を格納できるものであればいかなる不揮発性ストレージ又は不揮発性メモリであってもよく、着脱可能なものであっても構わない。
【００７１】
記憶装置５４は、学習支援装置１０の学習部２３により生成された制御データの種別ごとの学習済モデルを記憶する。記憶装置５４は、制御データの種別に応じて学習済モデルがキャラクタごとに生成された場合、制御データの種別ごと、かつキャラクタごとの学習済モデルを記憶する。また記憶装置１４は、ゲームスクリプトが読み込まれたときに参照されるキャラクタ画像を記憶する。前述のとおり、キャラクタ画像のファイル名は、キャラクタＩＤ及び感情を含む文字列から構成される。
【００７２】
通信装置５５は、ネットワークを介してユーザ端末又はサーバなどの他のコンピュータとの間でデータの授受を行うことが可能な無線ＬＡＮモジュールである。通信装置５５は、Ｂｌｕｅｔｏｏｔｈ（登録商標）モジュールなどの他の無線用通信デバイスとすることもできるし、イーサネット（登録商標）モジュールやＵＳＢインタフェースなどの有線用通信デバイスとすることもできる。
【００７３】
図１２は本発明の一実施形態の生成支援装置５０の機能ブロック図である。生成支援装置５０は、入力受付部６１、データ加工部６２、推論部６３、及びデータ後処理部６４を備える。本実施形態においては、プログラムがプロセッサ５１により実行されることによりこれらの機能が実現される。例えば実行されるプログラムは、記憶装置５４に記憶されている又は通信装置５５を介して受信したプログラムである。このように、各種機能がプログラム読み込みにより実現されるため、１つのパート（機能）の一部又は全部を他のパートが有していてもよい。ただし、各機能の一部又は全部を実現するための電子回路等を構成することによりハードウェアによってもこれらの機能は実現してもよい。
【００７４】
入力受付部６１は、ゲームスクリプトのキャラクタ名３２及び説明文３３の入力を受け付ける。１つの例では、入力受付部６１は、図３に示すゲームスクリプトにおけるキャラクタ名３２及び説明文３３の入力を受け付け、入力を受け付けたデータはＩＤ３１に関連付けられる。ただし、推論対象の制御データの種別がｃｏｍｍａｎｄ１の場合、制御データはキャラクタの個性に依存しないため、入力受付部６１は、説明文３３のみを受け付けるように構成されてもよい。
【００７５】
データ加工部６２は、ＩＤ３１に関連付けられた行のデータ１つずつ、キャラクタ名３２及び説明文３３の自然言語データに基づいて、表１に示すような１つの説明文３３’の自然言語データを作成する。
【００７６】
推論部６３は、学習支援装置１０の学習部２３により生成された制御データの種別ごとの学習済モデル、又は制御データの種別ごと、かつキャラクタごとの学習済モデルを用いて、入力受付部６１が入力を受け付けた説明文から制御説明文を推論する。データ後処理部６４は、制御データ変換情報に基づいて、推論部６３により推論される制御説明文から制御データを作成する。具体的には、制御データの種別がコマンドデータ３５の場合、データ後処理部６４は、制御データ変換情報に基づいて、制御説明文を制御データに変換する。
【００７７】
１つの例では、推論対象の制御データの種別がｃｏｍｍａｎｄ１の場合、推論部６３は、データ加工部６２が作成した説明文３３’と、ｃｏｍｍａｎｄ１に記載される全種別のコマンドデータに対応する制御説明文３５’の各々との組を作成する。推論部６３は、ｃｏｍｍａｎｄ１に対応する学習済モデルに対して、作成した組を入力して関連性点数を算出する。推論部６３は、最も適切な制御説明文として、最も高い点数の組の制御説明文３５’を選択（出力）する。
【００７８】
図１３は、推論部６３による制御説明文３５’の推定の一例を示す図であり、表２は、データ加工部６２が作成した説明文３３’を示す。
【表２】
0006812583.tif 000003
【００７９】
データ加工部６２は、現在の話者キャラクタが「ビィ」であり、直前の話者キャラクタが「ラインハルザ」であることから、説明文３３であるセリフに「登場人物は、ラインハルザ、ビィ」を追記し、説明文３３’を作成した。推論部６３は、作成した説明文３３’と全種別のコマンドデータに対応する制御説明文「何も起こらなかった」、「（キャラクタ）が現れた」、「（キャラクタ）が消えた」、「（キャラクタ）が飛び跳ねた」、及び「何かが起きた」の各々との組を作成する。上記全種別の制御説明文は、全種別のコマンドデータ「ＮｏＣｏｍｍａｎｄ」、「ｆａｄｅｉｎ」、「ｆａｄｅｏｕｔ」、「ｊｕｍｐ」、及び「ｏｔｈｅｒ」に対応するものである。推論部６３は、ｃｏｍｍａｎｄ１に対応する学習済モデルに対して、作成した組を入力して関連性点数を算出し、最も高い点数の「（キャラクタ）が飛び跳ねた」を、説明文３３に対して最も適切な制御説明文として選択する。
【００８０】
データ後処理部６４は、推論部６３により推論部により推論される制御説明文を制御データに変換して、入力受付部６１が入力を受け付けた説明文３３及び該説明文３３に対応する制御説明文３５’を出力する。１つの好適な例では、記憶装置５４は、学習支援装置１０の記憶装置１４が記憶する、制御データの種別ごとの制御データ変換情報を記憶する。データ後処理部６４は、制御データ変換情報に基づいて、制御説明文を制御データに変換（作成）する。データ後処理部６４は、変換した制御データを対応するゲームスクリプトの箇所に出力できるように構成される。
【００８１】
１つの例では、推論対象の制御データの種別が画像パス３４の場合、推論部６３は、データ加工部６２が作成した説明文３３’と、画像パス３４に含まれる全種類の感情に対応する制御説明文３４’の各々との組を作成する。推論部６３は、入力受付部６１が受け付けたキャラクタ名３２に対応するキャラクタに対応し、かつ画像パス３４に対応する学習済モデルに対して、作成した組を入力して関連性点数を算出する。推論部６３は、画像パス３４に対応する学習済モデルに対して、作成した組を入力して関連性点数を算出し、最も高い点数の制御説明文３４’を、説明文３３に対して最も適切な制御説明文として選択する。例えばデータ後処理部６４は、制御データ変換情報に基づいて、制御説明文を「ｌａｕｇｈ」や「ａｎｇｒｙ」などの感情を含む文字列に変換する。データ後処理部６４は、説明文３３’から特定されるキャラクタＩＤ及び変換した文字列を含むファイル名が格納される画像パス（制御データ）を作成する。データ後処理部６４は、作成した画像パスを対応するゲームスクリプトの箇所に出力できるように構成される。他の例では、制御説明文３４’は感情に対応する自然言語データであるため、生成支援装置５０は、最も高い点数の制御説明文３４’を、データ後処理部６４による処理を行わずに、そのまま対応するゲームスクリプトの箇所にコメントのような形で出力できるように構成される。
【００８２】
次に、本発明の一実施形態の生成支援装置５０のゲームスクリプトの一部の自動作成処理について図１４に示したフローチャートを用いて説明する。ステップ２０１において、入力受付部６１は、キャラクタ名３２及び説明文３３の入力を受け付ける。ステップ２０１において、データ加工部６２は、キャラクタ名３２及び説明文３３の自然言語データに基づいて、表１に示すような説明文３３’を作成する。
【００８３】
ステップ２０２において、推論部６３は、学習支援装置１０の学習部２３により生成された制御データの種別ごとの学習済モデルを用いて、入力受付部６１が入力を受け付けた説明文から制御説明文を推論する。具体的には、推論部６３は、１つの制御説明文を出力する。ステップ２０３において、データ後処理部６４は、推論部６３により推論部により推論（出力）される制御説明文を制御データに変換して、入力受付部６１が入力を受け付けた説明文３３及び該説明文３３に対応する制御説明文を出力する。
【００８４】
次に、本発明の実施形態の学習支援装置１０及び生成支援装置５０の主な作用効果について説明する。本発明の実施形態では、学習支援装置１０は、データ前処理部２２及び学習部２３を備える。作成済ゲームスクリプトを学習データとして用いるため、データ前処理部２２は、学習させるための制御データを制御説明文に変換して自然言語化し、加工済スクリプト文を作成する。データ前処理部２２は、制御データの種別ごとに、かつキャラクタごとに、加工済スクリプト文を作成可能に構成される。学習部２３は、自然言語事前学習済モデルに、加工済スクリプト文を学習させることにより、学習済モデルを生成する。学習部２３は、制御データの種別ごとに、かつキャラクタごとに作成された加工済スクリプト文を用いることにより、制御データの種別ごとに、かつキャラクタごとに学習済モデルを生成可能に構成される。
【００８５】
このように、本実施形態では、学習支援装置１０は、制御データを自然言語化することで、学習させるためのデータをすべて自然言語化し、自然言語化した学習用データを用いて、ＢＥＲＴなどの自然言語事前学習済モデルを再学習させて学習済モデルを生成する。
【００８６】
このような構成とすることにより、本実施形態では、作成済ゲームスクリプトを用いて、ゲームスクリプトの少なくとも一部の自動作成を実現するための学習済モデルを生成することが可能となる。
学習済モデルは、制御データの種別ごとに生成可能であり、更にキャラクタごとに生成可能であるため、自動作成の対象とする制御データの種別やキャラクタの種別に応じた独立した学習済モデルを生成することが可能となる。すなわち、複数のキャラクタや推定対象（制御データの種別）に応じて別々の学習済モデルを生成することが可能となる。これにより、キャラクタや制御データの異なる複数の物語性のあるゲームに適用できる学習済モデルを生成することが可能となる。
【００８７】
生成支援装置５０は、推論部６３及びデータ後処理部６４を備える。推論部６３は、学習支援装置１０が生成した学習済モデルを用いて、例えばセリフの入力を受け付けると、制御データの種別ごとに、制御説明文を推論して出力可能に構成される。推論部６３は、制御データの種別に応じて、更にキャラクタごとに制御説明文を推論して出力可能に構成される。データ後処理部６４は、制御データ変換情報を用いて、推論部６３が出力した自然言語データである制御説明文を制御データに変換可能に構成される。データ後処理部６４は、変換した制御データを対応するゲームスクリプトの箇所に出力可能に構成される。
【００８８】
このような構成とすることにより、本実施形態では、ゲームスクリプトにキャラクタ名やセリフを入力すると、自動的に制御データを出力することが可能となる。このように従来は手入力で行ったゲームスクリプト作成作業を半自動化することにより、ゲーム開発者のゲームスクリプト作成に必要な労力を削減することが可能となる。このようにして、ゲームスクリプトの少なくとも一部の作成を支援することが可能となる。
【００８９】
また本実施形態では、学習支援装置１０は、ＸＭＬタグなどのタグを使用せずに、自然言語データを組み合わせて学習用データを生成する。このような構成とすることにより、タグ規約の取り決めやアノテーションが不要となることでゲームスクリプト作成工程を効率化することが可能となり、ゲーム開発者のゲームスクリプト作成に必要な労力を削減することが可能となる。
【００９０】
なお、今まで自然言語を学習するためには、学習すべき自然言語に属性情報を付与するアノテーション作業が必要であり、学習データを用意するためには、全学習データを人間が読み、タグ付けを行う必要があった。本実施形態の学習支援装置１０は、例えばＢＥＲＴ（"Devlin, Jacob and Chang, Ming-Wei and Lee, Kenton and Toutanova, Kristina, BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding, 2018, arXiv preprint arXiv:1810.04805."）を利用するものである。これにより、タグ付けを行わず、推定に必要な属性情報込みの自然言語をセリフに自動的に加えるだけで学習ができるようになった。
【００９１】
上記の作用効果は、特に言及が無い限り、他の実施形態や他の実施例においても同様である。
【００９２】
本発明の他の実施形態では、上記で説明した学習支援装置１０及び生成支援装置５０の構成を備える自動作成支援装置とすることができる。自動作成支援装置は、複数の装置などから構成される自動作成支援システムとすることもできるし、学習支援装置１０及び生成支援装置５０を含むシステムとして実現することもできる。
【００９３】
本発明の他の実施形態では、制御データがすべてキャラクタによらない場合やキャラクタごとに学習させる必要がない場合、学習支援装置１０は、データ分割部２１を備えない。
【００９４】
本発明の他の実施形態では、制御データが機能によって複数の種別に分類できない場合又は分類する必要がない場合、学習支援装置１０及び生成支援装置５０は、制御データの種別ごとに、各処理を実行しない。例えばデータ前処理部２２は、制御データの種別ごとに分類せずに、記憶装置１４に記憶された作成済ゲームスクリプトが含む制御データを自然言語データである制御説明文に変換して加工済スクリプト文を作成し、学習部２３は、制御データの種別ごとに分類せずに、自然言語事前学習済モデルに、加工済スクリプト文を学習させることにより、学習済モデルを生成する。当該実施形態においても、データ分割部２１は、作成済ゲームスクリプトをキャラクタごとに分類して、キャラクタごとの作成済ゲームスクリプトを記憶装置１４に記憶することができる。この場合、データ前処理部２２は、キャラクタごとに加工済スクリプト文を作成し、学習部２３は、制御データの種別ごとに、キャラクタごとの学習済モデルを生成する。
【００９５】
本発明の他の実施形態では、ゲームスクリプトは、行列形式のデータの代わりにツリー構造などの構造化データである。この場合、行列形式のデータの場合の行の要素の識別子が、ツリーのノードの識別子又はパスに対応付けられ、列の要素の各々が、ノードの各々に対応付けられる。
【００９６】
本発明の他の実施形態では、上記で説明した本発明の実施形態の機能やフローチャートに示す情報処理を実現するプログラムや該プログラムを格納したコンピュータ読み取り可能な記憶媒体とすることもできる。また他の実施形態では、上記で説明した本発明の実施形態の機能やフローチャートに示す情報処理を単独で実現する電子装置とすることもできる。また他の実施形態では、上記で説明した本発明の実施形態の機能やフローチャートに示す情報処理を実現する方法とすることもできる。また他の実施形態では、上記で説明した本発明の実施形態の機能やフローチャートに示す情報処理を実現するプログラムをコンピュータに供給することができるサーバとすることもできる。また他の実施形態では、上記で説明した本発明の実施形態の機能やフローチャートに示す情報処理を実現する仮想マシンとすることもできる。
【００９７】
以上に説明した処理又は動作において、あるステップにおいて、そのステップではまだ利用することができないはずのデータを利用しているなどの処理又は動作上の矛盾が生じない限りにおいて、処理又は動作を自由に変更することができる。また以上に説明してきた各実施例は、本発明を説明するための例示であり、本発明はこれらの実施例に限定されるものではない。本発明は、その要旨を逸脱しない限り、種々の形態で実施することができる。
【符号の説明】
【００９８】
１０  学習支援装置
１１  プロセッサ
１２  入力装置
１３  表示装置
１４  記憶装置
１５  通信装置
１６  バス
２１  データ分割部
２２  データ前処理部
２３  学習部
３１  ＩＤ
３２  キャラクタ名
３３、３３’  説明文
３４  画像パス
３４’  制御説明文
３５  コマンドデータ
３５’  制御説明文
３６  ラベル
４０  ゲーム画面
４１  立ち絵
４２  キャラクタ名
４３  説明文
５０  生成支援装置
５１  プロセッサ
５２  入力装置
５３  表示装置
５４  記憶装置
５５  通信装置
５６  バス
６１  入力受付部
６２  データ加工部
６３  推論部
６４  データ後処理部
１２２  データ前処理ユニット
１２３  学習ユニット
【要約】      （修正有）【課題】物語性のあるゲーム開発において、ゲームスクリプトの作成を支援することが可能なシステムを提供する。【解決手段】ゲームスクリプトの作成を支援するための学習支援装置１０は、作成済ゲームスクリプトをキャラクタごとに分類して、キャラクタごとの作成済ゲームスクリプトを記憶装置に記憶するデータ分割部２１と、機能によって複数の種類に分類可能な制御データを、制御データの種類ごとに、予め作成された作成済ゲームスクリプトが含む制御データを自然言語データである制御説明文に変換し、説明文及び該説明文に対応する制御説明文を含む加工済スクリプト文を作成するデータ前処理部２２と、制御データの種類ごとに、自然言語に関する文法構造及び文章間の関係が予め学習された自然言語事前学習済モデルに、加工済スクリプト文を学習させることにより、制御データの種類ごとの学習済モデルを生成する学習部２３と、を含む。【選択図】図２【図１】
0006812583.tif 000004
【図２】
0006812583.tif 000005
【図３】
0006812583.tif 000006
【図４】
0006812583.tif 000007
【図５】
0006812583.tif 000008
【図６】
0006812583.tif 000009
【図７】
0006812583.tif 000010
【図８】
0006812583.tif 000011
【図９】
0006812583.tif 000012
【図１０】
0006812583.tif 000013
【図１１】
0006812583.tif 000014
【図１２】
0006812583.tif 000015
【図１３】
0006812583.tif 000016
【図１４】
0006812583.tif 000017