キャラクター会話班
大田翔貴 北清敦也 髙橋利孔
大田翔貴 北清敦也 髙橋利孔
この班では、ゲームキャラクターの会話文を自動生成することを課題としています。
課題を実現するために、実際のゲームからキャラクターの会話文を収集し、事前に決定した属性ごとの会話文を分析します。その後、分析結果を用いて、自動生成アルゴリズムの実現を目指します。
キャラクター会話班では、キャラクターの会話がゲーム内での世界観の一部を創造していると考え、会話文を自動で生成することで、より容易に世界観を表現することを目指します。
本年度は、モブキャラクターの会話文の語尾を自動生成することを目標としています。生成するモブキャラクターの属性は性別が「男性・女性」の2属性と、年齢が「子供・成人・老人」の3属性を掛け合わせた計6種類です。
統計的手法を用いるため、多くのデータを収集する必要がありました。そのため、以下の条件で収集対象作品を選定し、収集の決まりを設けました。
収集対象作品となる条件
多くの作品があるシリーズ物
多くの人に買われている作品
ゲームジャンルはRPG
収集対象作品
Final FantasyⅠ
Final FantasyⅡ
Final FantasyⅢ
Final FantasyⅣ
Final FantasyⅤ
ドラゴンクエスト
ドラゴンクエストⅡ 悪霊の神々
ドラゴンクエストⅢ そして伝説へ…
ドラゴンクエストⅣ 導かれし者たち
ドラゴンクエストⅤ 天空の花嫁
収集するデータの決まり
収集に使用するソフトウェアはMicrosoft Excelとする
収集範囲は最初の村から4つ目の村に至るまでのモブキャラクターの会話文
収集するモブキャラクターは性別や年代が見た目で判断できるものに限定
収集した内容は、「性別(男性・女性)」、「年齢(子供・成人・老人)」、「発話内容」の3点
収集したデータを元にデータ分析を以下の手順で行い、特徴抽出をしました。
データ分析の手順
6属性ごとに使用されている語尾をカウントする
カウントしたデータに「形態素解析」を行う
解析したデータに「カイ二乗検定」を行う
形態素解析...文を言語上の最小単位である形態素に分割し、それぞれの品詞や変化などを割り出すこと。
(例:これはペンです 。→ これ(代名詞)は(係助詞)ペン(一般名詞)です(助動詞))
カイ二乗検定...要素の登場回数が5未満の数が全体の20%未満のときに、有意な要素を求めること。
カイ二乗検定によって話者属性ごとに、どの助詞・助動詞が多く使用されているかという結果が得られました。この結果をもとに、自動生成のプログラムに適応させました。
データ分析をする際には、プログラミング言語のPythonを利用しました。また、形態素解析エンジンとして、MeCabを利用しました。具体的には、以下の5つを作成しました。
作成したファイル
収集したデータを形態素解析して、属性ごとに分けたCSVファイルで保存する
属性ごと分けたファイルで、形態素解析した助詞・助動詞ごとの合計を算出する
6つのファイルを形態素解析した助詞・助動詞ごとに、1つの表にして、6属性での合計値を出す
合計値が多い順にソートし、カイ二乗検定に適した表をファイルに出力する
上のファイルから助詞・助動詞ごとに登場する会話文を抽出する
語尾の対応関係を表にまとめ、その表をルールとして、ルールベースで変換することで自動生成としました。
自動生成するにあたり行った手順
有意な助動詞から語尾を抽出する
他の属性の会話から、抽出した語尾と同じ意味を持つ語尾を集める
語尾の登場回数を計測する
語尾同士の対応関係を表にする
登場回数を載せ、語尾の意味の確率を求め、意味を取りました。また、変換する際も語尾が複数ある場合には、確率によって決定しました。語尾の置き換えは記号(-*-)を目印にしました。以下は、対応関係の表です。
下に、サンプルプログラムを用意しました。リンクをクリックすると、サイトに移動します。お時間があるときに、やってみてください。
データ分析対象を増やします
ー語尾の自動生成の精度向上
ー多様な自動生成に取り掛かれるようにするため
2021年春頃、学会発表予定です