(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2024-03-25
(45)【発行日】2024-04-02
(54)【発明の名称】プログラム及びシステム
(51)【国際特許分類】
G06F 3/04842 20220101AFI20240326BHJP
G06T 19/00 20110101ALI20240326BHJP
H04L 67/131 20220101ALI20240326BHJP
G06F 3/04847 20220101ALI20240326BHJP
【FI】
G06F3/04842
G06T19/00 A
H04L67/131
G06F3/04847
(21)【出願番号】P 2023147750
(22)【出願日】2023-09-12
【審査請求日】2023-11-15
【早期審査対象出願】
(73)【特許権者】
【識別番号】509070463
【氏名又は名称】株式会社コロプラ
(74)【代理人】
【識別番号】110000442
【氏名又は名称】弁理士法人武和国際特許事務所
(72)【発明者】
【氏名】馬場 功淳
【審査官】橘 高志
(56)【参考文献】
【文献】特開2018-170013(JP,A)
【文献】特開2018-106499(JP,A)
【文献】米国特許出願公開第2009/0254859(US,A1)
【文献】米国特許出願公開第2013/0074002(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 3/04842
G06T 19/00
H04L 67/131
G06F 3/04847
(57)【特許請求の範囲】
【請求項1】
コンピュータを、
オンライン空間に配置されるオブジェクトの視覚的な特徴を設定するためにユーザが選択した複数の設定値に従って、前記オブジェクトを生成するオブジェクト生成手段と、
予め学習させた学習済みモデルに複数の前記設定値を入力して、前記オブジェクトのプロフィールを生成させるプロフィール生成手段と、
前記プロフィール生成手段が生成した前記プロフィールを、前記オブジェクト生成手段が生成した前記オブジェクトに対応付けて、前記オンライン空間に公開する公開手段として機能させる、プログラム。
【請求項2】
請求項1に記載のプログラムにおいて、
前記コンピュータを、前記プロフィール生成手段が生成した前記プロフィールを編集する自動編集手段として機能させ、
前記公開手段は、前記自動編集手段が編集した前記プロフィールを公開する、プログラム。
【請求項3】
請求項2に記載のプログラムにおいて、
前記自動編集手段は、前記プロフィール生成手段が生成した前記プロフィールから、予め定められたキーワードを削除する、プログラム。
【請求項4】
請求項2に記載のプログラムにおいて、
前記コンピュータを、複数の前記設定値を入力データとし、前記自動編集手段が編集した前記プロフィールを正解データとする学習データを、前記学習済みモデルに入力してさらに学習させる学習手段として機能させる、プログラム。
【請求項5】
請求項1に記載のプログラムにおいて、
前記コンピュータを、複数の前記設定値のうち、前記学習済みモデルに入力する前記設定値を選択する選択手段として機能させる、プログラム。
【請求項6】
請求項5に記載のプログラムにおいて、
前記選択手段は、複数の前記設定値のうち、他のユーザが選択した回数が少ない前記設定値を優先して選択する、プログラム。
【請求項7】
請求項1に記載のプログラムにおいて、
前記コンピュータを、
前記プロフィール生成手段が生成した前記プロフィールを、ユーザの指示に従って編集するユーザ編集手段と、
複数の前記設定値を入力データとし、前記ユーザ編集手段が編集した前記プロフィールを正解データとする学習データを、前記学習済みモデルに入力してさらに学習させる学習手段として機能させる、プログラム。
【請求項8】
請求項1に記載のプログラムにおいて、
前記コンピュータを、前記公開手段が公開した前記プロフィールを見た他のユーザから前記プロフィールに対する評価を取得して、前記学習済みモデルにフィードバックするフィードバック手段として機能させる、プログラム。
【請求項9】
オンライン空間に配置されるオブジェクトの視覚的な特徴を設定するためにユーザが選択した複数の設定値に従って、前記オブジェクトを生成するオブジェクト生成手段と、
予め学習させた学習済みモデルに複数の前記設定値を入力して、前記オブジェクトのプロフィールを生成させるプロフィール生成手段と、
前記プロフィール生成手段が生成した前記プロフィールを、前記オブジェクト生成手段が生成した前記オブジェクトに対応付けて、前記オンライン空間に公開する公開手段とを備える、システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、プログラム及びシステムに関する。
【背景技術】
【0002】
従来より、VR(Virtual Reality)空間において、自身のアバターのプロフィールを他のアバターに公開する技術が知られている(例えば、特許文献1、2を参照)。そして、VR空間では、他のアバターのプロフィールを見て、当該アバターと友達になる(所謂、フレンド登録)か否かを決定することができる。
【0003】
同様に、複数のアバターが協力してプレイする協力型のオンラインゲーム、または複数のアバターが対戦する対戦型のオンラインゲームにおいて、他のアバターのプロフィールを見て、協力または対戦するアバターを選択することができるものがある。このように、VR空間やオンラインゲームにおいて、各アバターのプロフィールの重要度は高まってきている。
【先行技術文献】
【特許文献】
【0004】
【文献】特開2018-170013号公報
【文献】特開2018-106499号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、プロフィールの作成作業を負担に感じるユーザも多い。そのため、予め定められたデフォルトのプロフィールを使用するアバターが多くなると、フレンド登録、協力または対戦するアバターを選択するうえで、プロフィールが役に立たなくなるという課題を生じる。
【0006】
本発明は、上記の事情に鑑みてなされたものであり、その目的は、ユーザの作業負担を増加させることなく、オブジェクトに合わせて作成されたユニークなプロフィールを、当該オブジェクトに対応付けて公開可能なプログラムを提供することにある。
【課題を解決するための手段】
【0007】
前記課題を解決するため、本発明に係るプログラムは、コンピュータを、オンライン空間に配置されるオブジェクトの視覚的な特徴を設定するためにユーザが選択した複数の設定値に従って、前記オブジェクトを生成するオブジェクト生成手段と、予め学習させた学習済みモデルに複数の前記設定値を入力して、前記オブジェクトのプロフィールを生成させるプロフィール生成手段と、前記プロフィール生成手段が生成した前記プロフィールを、前記オブジェクト生成手段が生成した前記オブジェクトに対応付けて、前記オンライン空間に公開する公開手段として機能させる。
【発明の効果】
【0008】
本発明によれば、ユーザの作業負担を増加させることなく、オブジェクトに合わせて作成されたユニークなプロフィールを、当該オブジェクトに対応付けて公開することができる。
【図面の簡単な説明】
【0009】
【
図1】本実施形態に係るシステムの概要を示す図である。
【
図2】AIによる学習処理(A)及び生成処理(B)の概念図である。
【
図3】AIを実現するニューラルネットワークを示す図である。
【
図7】設定パラメータの優先度(A)及び設定値ヒストグラム(B)、(C)の一例である。
【
図8】プロフィール(A)、(B)及び学習データ(C)の一例である。
【
図10】設定パラメータの優先度(A)及び設定値ヒストグラム(B)、(C)の他の例である。
【
図11】プロフィール(A)、(B)及び学習データ(C)の他の例である。
【
図12】プロフィール編集画面(A)及び学習データ(B)の例である。
【
図13】ユーザ選択画面(A)及びユーザ詳細画面(B)の画面例である。
【発明を実施するための形態】
【0010】
以下、実施形態に係るシステム1を図面に基づいて説明する。なお、以下に記載する本発明の実施形態は、本発明を具体化する際の一例を示すものであって、本発明の範囲を実施形態の記載の範囲に限定するものではない。従って、本発明は、実施形態に種々の変更を加えて実施することができる。
【0011】
[システム1の概要]
図1は、本実施形態に係るシステム1の概要を示す図である。
図1に示すように、システム1は、ゲームサーバ10と、AIサーバ15と、複数のユーザ端末20とを主に備える。なお、
図1には3つのユーザ端末20が図示されているが、システム1に含まれるユーザ端末20の数はこれに限定されない。ゲームサーバ10、AIサーバ15、及びユーザ端末20は、通信ネットワーク2を介して相互通信可能に接続されている。通信ネットワーク2の具体例は特に限定されないが、例えば、インターネット、移動体通信システム(例えば、4G、5Gなど)、Wi-Fi(登録商標)などの無線ネットワーク、またはこれらの組み合わせで構成される。
【0012】
一例として、システム1は、複数のユーザ端末20A、20B、20Cのユーザ(プレイヤ)が協力してプレイする協力型のオンラインゲームを実現する。他の例として、システム1は、複数のユーザ端末20A、20B、20Cのユーザ(プレイヤ)が対戦する対戦型のオンラインゲームを実現する。さらに他の例として、複数のユーザ端末20A、20B、20Cのユーザがアバターを介してコミュニケーションする仮想空間を実現する。これらのシステム1は既に周知なので、詳細な説明は省略する。
【0013】
[ゲームサーバ10の構成]
ゲームサーバ10は、例えば、ワークステーション、またはパーソナルコンピュータなどの汎用コンピュータで実現される。一例として、オンラインゲームを提供するゲームサーバ10は、複数のユーザ端末20それぞれのゲームデータを同期させる。他の例として、仮想空間を提供するゲームサーバ10は、複数のユーザ端末20それぞれの仮想空間データを同期させる。以下、複数のユーザが参加可能なオンラインゲーム及び仮想空間を総称して、「オンライン空間」と表記する。すなわち、ゲームサーバ10は、複数のユーザ端末20A、20B、20Cに対して、オンライン空間を提供する。
【0014】
[AIサーバ15の構成]
AIサーバ15は、例えば、ワークステーション、またはパーソナルコンピュータなどの汎用コンピュータで実現される。AIサーバ15は、学習済みモデルを含むAI(Artificial Intelligence)16を実現する。一例として、AIサーバ15は、ゲームサーバ10が提供するオンライン空間に対して最適化された専用AIを搭載していてもよい。このとき、ゲームサーバ10及びAIサーバ15は、1つのハードウェアで実現されてもよい。他の例として、AIサーバ15は、様々な用途に活用され得る汎用AIを搭載していてもよい。AI16の構成は既に周知なので詳細な説明は省略するが、例えば以下のような構成である。
【0015】
図2は、AI16による学習処理(A)及び生成処理(B)の概念図である。
図3は、AI16を実現するニューラルネットワーク17を示す図である。AIサーバ15に搭載されるAI16は、入力データを処理して出力データを生成する、所謂「生成AI」である。そして、AI16は、
図2(A)に示す学習処理と、
図2(B)に示す生成処理とを実行する。また、AI16は、例えば、
図3に示すニューラルネットワーク17を用いて、入力データから出力データを生成する。
【0016】
図2(A)に示すように、AI16は、学習モデル16aを備える。学習モデル16aとは、学習処理が行われる前のニューラルネットワーク17を指す。そして、学習モデル16aは、入力データ及び正解データを含む学習データによって、学習済みモデル16bとなる。入力データとは、AI16に入力されるデータを指す。正解データは、入力データが入力されたときに出力されるべきデータを指す。そして、学習モデル16aに複数の学習データを入力することによって、後述するようにニューラルネットワーク17が最適化されて、学習済みモデル16bとなる。
【0017】
また、
図2(B)に示すように、学習済みモデル16bは、ニューラルネットワーク17に入力データを入力することによって、出力データを生成して出力する。入力データ及び出力データは、テキスト形式、画像形式、音声形式の他、あらゆる形式のデータであってもよい。また、入力データ及び出力データは、形式の異なるデータでもよい。一方、正解データの形式は、出力データの形式と同一である。
【0018】
なお、
図2(A)に示す学習処理は、学習モデル16aに対してだけでなく、学習済みモデル16bに対して実行されてもよい。また、AI16は、本発明で現実に用いる入力データ及び正解データを用いて学習している必要はなく、汎用的な学習データで学習していてもよい。さらに、AI16が実行する学習処理は、入力データ及び正解データを入力する「教師あり学習」に限定されず、正解データを入力しない「教師なし学習」でもよいし、強化学習や転移学習などを実行してもよい。
【0019】
図3に示すように、学習モデル16aまたは学習済みモデル16bのニューラルネットワーク17は、複数のノードI1、I2、I3で構成される入力層L1と、複数のノードH1、H2、H3、H4、H5で構成される中間層L2と、複数のノードO1、O2、O3で構成される出力層L3とで構成される。なお、
図3の例では、入力層L1及び出力層L3ノード数が一致しているが、入力層L1及び出力層L3のノード数は異なっていてもよい。また、ニューラルネットワーク17は、複数の中間層L2を有していてもよい。さらに、
図3では、各層L1、L2、L3を構成する複数のノードが隣接する層の全てのノードに接続された全結合型のニューラルネットワーク17を示しているが、ニューラルネットワーク17の構造はこれに限定されない。
【0020】
そして、学習処理は、入力データが入力層L1に入力されたときに、正解データが出力層L3から出力されるように、各ノードの重み係数やバイアスを調整する処理である。また、生成処理は、入力層L1に入力された入力データを、ノード毎に予め調整された重み係数やバイアスを用いて処理することによって、出力データを生成して出力層L3から出力する処理である。
【0021】
但し、前述したAI16による処理の具体例は、一例であって、AIサーバ15では周知の様々な手法を採用することができる。他の例として、AI16は、CNN(Convolutional Neural Network)のネットワーク構造等があってもよい。さらに他の例として、ネットワーク構造は、LLM(Large Language Model:大規模言語モデル)、RNN(Recurrent Neural Network:再帰型ニューラルネットワーク)又はLSTM(Long Short-Term Memory)等の構成を有してもよい。すなわち、AI16は、ディープラーニング以外のネットワーク構造等であってもよい。
【0022】
本実施形態では、テキスト形式の入力データを学習済みモデル16bに入力して、テキスト形式の出力データが生成される例を説明する。より詳細には、本実施形態に係る入力データは、アバター(オブジェクト)の視覚的または聴覚的(少なくとも、視覚的)な特徴を設定するためにユーザが選択した複数の設定値である。また、本実施形態に係る出力データは、複数の設定値に従って生成されたアバター(オブジェクト)のプロフィールである。
【0023】
[ユーザ端末20の構成]
ユーザ端末20は、例えば、HMDセット、タブレット端末、スマートフォン、フィーチャーフォン、ラップトップ型コンピュータ、デスクトップコンピュータなどとして実現される。本実施形態では、
図1に示すように、タブレット端末としてのユーザ端末20の例を説明する。
【0024】
図4は、ユーザ端末20のハードウェア構成図である。
図4に示すように、ユーザ端末20は、プロセッサ21と、メモリ22と、ストレージ23と、通信インタフェース25と、モニタ31と、カメラ33、34と、マイク35と、スピーカ36と、動きセンサ41と、操作装置42(操作部)とを主に備える。ユーザ端末20の各構成要素は、通信バス29に接続されている。
【0025】
プロセッサ21は、メモリ22またはストレージ23に格納されている端末プログラム23Pに含まれる一連の命令を実行することによって、後述する処理を実現する。プロセッサ21は、例えば、CPU(Central Processing Unit)、GPU(Graphics Processing Unit)、MPU(Micro Processing Unit)、FPGA(Field-Programmable Gate Array)、その他のデバイスとして実現される。
【0026】
メモリ22は、端末プログラム23P及びデータを一時的に保持する。端末プログラム23Pは、例えば、ストレージ23からロードされる。データは、ユーザ端末20に入力されたデータと、プロセッサ21によって生成されたデータとを含む。例えば、メモリ22は、RAM(Random Access Memory)、その他の揮発メモリとして実現される。
【0027】
ストレージ23は、端末プログラム23P及びデータを永続的に保持する。ストレージ23は、例えば、ROM(Read-Only Memory)、ハードディスク装置、フラッシュメモリ、その他の不揮発記憶装置として実現される。また、ストレージ23は、メモリカードのように着脱可能な記憶装置として実現されてもよい。さらに他の例として、ストレージ23は、ユーザ端末20に内蔵されることに代えて、外部記憶装置としてユーザ端末20に接続されていてもよい。このような構成によれば、例えば、アミューズメント施設のように複数のユーザ端末20が使用される場面において、端末プログラム23Pやデータの更新を一括して行うことが可能になる。
【0028】
通信インタフェース25は、通信ネットワーク2に接続されている他の装置(例えば、ゲームサーバ10、AIサーバ15)と通信する。通信インタフェース25は、例えば、LAN(Local Area Network)など有線通信インタフェース、Wi-Fi(Wireless Fidelity)、Bluetooth(登録商標)、NFC(Near Field Communication)などの無線通信インタフェースとして実現される。
【0029】
モニタ31は、例えば
図1に示すように、平板状の筐体の表面に設けられている。モニタ31は、画像または映像を表示する表示装置(表示部)である。カメラ33は、平板状の筐体の表面に取り付けられて、モニタ31を視認するユーザの顔を撮像する、所謂インカメラである。カメラ34は、平板状の筐体の裏面(モニタ31と反対側の面)に取り付けられて、周囲を撮像する、所謂アウトカメラである。
【0030】
マイク35は、ユーザの発話を音声信号(電気信号)に変換してコンピュータ26に出力する。スピーカ36は、コンピュータ26から出力された音声信号を音声に変換してユーザに出力する。なお、ユーザ端末20は、スピーカ36に替えてイヤホンを含み得る。
【0031】
動きセンサ41は、筐体の動き(例えば、互いに直交する3軸周りの回転)を検知する。動きセンサ41は、例えば、角速度センサ、地磁気センサ、あるいは加速度センサで実現されてもよい。
【0032】
操作装置42は、ユーザによるユーザ端末20に対する命令の入力(操作)を受け付ける。操作装置42は、例えば、モニタ31に重畳されて、ユーザによる各種タッチ操作を受け付けるタッチパネルである。すなわち、本実施形態に係るモニタ31は、タッチパネル式の表示部である。但し、ユーザ端末20の具体的なハードウェア構成は、前述の例に限定されない。他の例として、ユーザ端末20は、ボタンや操作スティック等を備えたコントローラを、操作装置42として備えていてもよい。
【0033】
[ユーザ端末20の機能ブロック図]
図5は、ユーザ端末20の機能ブロック図である。
図5に示すように、メモリ22にロードされた端末プログラム23Pは、ユーザ端末20(コンピュータ)を、オブジェクト生成手段210と、選択手段220と、プロフィール生成手段230と、自動編集手段240と、学習手段250と、公開手段260と、ユーザ編集手段270と、フィードバック手段280として機能させる。
【0034】
なお、
図5にはプロフィールを生成して公開をするための機能ブロックを中心に図示しているが、ユーザ端末20は、オンライン空間での処理(例えば、ゲームへの参加、アバターの動作)を実現する機能をさらに有する。また、
図5には、ユーザ端末20Aの機能ブロックを中心に図示しているが、ユーザ端末20B、20Cも同様の機能ブロックを有する。
【0035】
まず、
図6~
図8を参照して、ユーザ端末20Aにおいて、アバター及びプロフィールを生成する処理の例を説明する。
図6は、アバター生成画面の一例である。
図7は、設定パラメータの優先度(A)及び設定値ヒストグラム(B)、(C)の一例である。
図8は、プロフィール(A)、(B)及び学習データ(C)の一例である。
【0036】
オブジェクト生成手段210は、
図6に示すアバター生成画面をモニタ31に表示させる。アバター生成画面は、アバター(キャラクタ)を生成するための画面である。また、アバター生成画面は、アバターの視覚的(外見)または聴覚的(声色)な特徴を設定するために、ユーザ端末20Aのユーザに複数の設定値を選択させるための画面である。以下、視覚的な特徴を中心にアバター及びプロフィールを生成する処理を説明する。
【0037】
アバターは、ユーザの分身となってオンライン空間内で動作するオブジェクトの一例である。また、アバターは、3次元的に描かれた形状の3D形式でもよいし、2次元的に描かれた形状の2D形式でもよい。さらに、アバターは、視覚的な特徴を表すデータ(例えば、画像データ、3Dモデルデータ)と、聴覚的な特徴を表すデータ(例えば、音声データ)、或いはこれらを組み合わせて特定される。
【0038】
図6に示すように、アバター生成画面は、アバター表示領域A1と、性別選択領域A2と、年齢選択領域A3と、設定パラメータ選択領域A4と、候補アイコン選択領域A5と、[決定]アイコンとを含む。
【0039】
アバター表示領域A1は、選択領域A2~A5を通じてユーザが選択した設定値に従って生成したアバターの画像(以下、「アバター画像」と表記する。)を表示する領域である。すなわち、選択領域A2~A5を通じて設定値が変更されることによって、アバター表示領域A1に表示されるアバター画像の見た目が変化する。また、アバター表示領域A1に対するタッチ操作(例えば、スワイプ操作、ピンチイン操作、ピンチアウト操作)によって、表示されるアバター画像が変化(例えば、回転、縮小、拡大)してもよい。
【0040】
性別選択領域A2は、アバターの性別を選択する領域である。性別選択領域A2は、性別パラメータの設定値の候補として、[男性]アイコンと、[女性]アイコンとを含む。年齢選択領域A3は、アバターの年齢を選択する領域である。年齢選択領域A3は、年齢パラメータの設定値の候補として、[子供]アイコンと、[大人]アイコンとを含む。但し、年齢選択領域A3は、生年月日を入力するテキストボックスやプルダウンメニューを含んでもよい。
【0041】
設定パラメータ選択領域A4は、設定パラメータ(輪郭、髪型、肌の色、服装、カラー)を選択する領域である。設定パラメータ選択領域A4は、[輪郭]タブ、[髪型]タブ、[肌の色]タブ、[服]タブ、[カラー]タブを含む。輪郭は、アバターの顔の輪郭を示す。髪型は、アバターの髪型を示す。肌の色は、アバターの肌の色を示す。服は、アバターが着る服を示す。カラーは、アバターのベースカラー(例えば、髪、服、アクセサリーの色)を示す。
【0042】
候補アイコン選択領域A5は、設定パラメータ選択領域A4で選択された選択パラメータに対応する設定値を選択する領域である。一例として、設定パラメータ選択領域A4で[髪型]タブが選択された場合、設定パラメータ選択領域A4には、選択可能な髪型の設定値(例えば、ショート、お団子、ツインテール、ポニーテール)の候補を示す複数の候補アイコンが表示される。他の例として、設定パラメータ選択領域A4で[服]タブが選択された場合、設定パラメータ選択領域A4には、選択可能な服の設定値(例えば、ワンピース、ミニスカ、デニム、メイド)の候補を示す複数の候補アイコンが表示される。
【0043】
図6の例において、性別、年齢、輪郭、髪型、肌の色、服、カラーは、設定パラメータの一例である。また、設定パラメータ(例えば、性別)に対応付けて選択可能な候補アイコン(例えば、[男性]アイコン、[女性]アイコン)は、アバター(オブジェクト)の視覚的な特徴を表す設定値の候補である。すなわち、設定パラメータとは、同種の設定値のグループ(種別)を表す。
【0044】
但し、設定パラメータの具体例は、前述の例に限定されない。また、前述した設定パラメータにおいて、選択可能な設定値の候補は、前述の例に限定されない。さらに、設定パラメータは、アバターの視覚的な特徴を設定するものに限定されない。例えば、アバターの聴覚的な特徴を設定する設定パラメータとして、声色パラメータが挙げられる。声色パラメータの設定値としては、ソプラノ、メゾソプラノ、アルトなどが挙げられる。
【0045】
なお、視覚的な特徴としてのアバター自体、視覚的な特徴としてのアバターが身に着けるアイテム(例えば、衣装、アクセサリ等)、聴覚的な特徴としてのアバターの声のデータは、課金やガチャ等を通じて取得できてもよい。例えば、デフォルトのアバターと異なる見た目のアバター、漫画やアニメに登場するキャラが身に着けているアイテム、現実の声優の声のデータ等を取得できるようにしてもよい。
【0046】
そして、オブジェクト生成手段210は、選択領域A2~A5を通じてユーザが選択した複数の設定値(例えば、性別=女性、年齢=子供、輪郭=丸顔、髪型=ツインテール、肌の色=色白、服=メイド、カラー=白)に従って、アバターデータ(画像データ、3Dモデルデータ)を生成し、生成したアバターデータで示されるアバター画像をアバター表示領域A1に表示する。さらに、オブジェクト生成手段210は、[決定]アイコンが選択されたことに応じて、生成したアバターデータを確定させる。
【0047】
選択手段220は、アバター生成画面を通じて選択された複数の設定値のうち、学習済みモデル16bに入力する設定値を選択する。選択手段220は、例えば、
図7(A)に示す優先度テーブルと、
図7(B)及び
図7(C)に示す設定値ヒストグラムとを用いて、学習済みモデル16bに入力する設定値を選択する。なお、本実施形態では、7つの設定値のうちから4つの設定値を選択するものとする。但し、選択する設定値の数は、前述の例に限定されない。
【0048】
図7(A)に示す優先度テーブルは、設定パラメータ毎の初期優先度を保持している。初期優先度は、複数の設定パラメータの予め定められた優先度を示す。初期優先度は、数値が小さいほど、優先度が高いことを示す。優先度テーブルは、例えば、ゲームサーバ10の管理者によって設定されて、予めユーザ端末20Aにダウンロードされる。すなわち、選択手段220は、
図7(A)に示す優先度テーブルのみに従えば、性別、年齢、髪型、肌の色の設定値を固定で選択することになる。
【0049】
図7(B)及び
図7(C)に示す設定値ヒストグラムは、ゲームサーバ10が提供するオンライン空間において、過去に他のユーザが選択した設定値を、設定パラメータ(例えば、髪型、服)毎に集計したものである。
図7(B)及び
図7(C)の縦軸は、選択された回数(度数)でもよいし、選択された割合(%)でもよい。これらの設定値ヒストグラムは、例えば、ゲームサーバ10によって集計される。そして、選択手段220は、通信IF25を通じてゲームサーバ10から設定値ヒストグラムを受信する。なお、
図7には、髪型パラメータ及び服パラメータの設定値ヒストグラムのみを示しているが、他の設定パラメータの設定値ヒストグラムを参照してもよい。
【0050】
そして、選択手段220は、ゲームサーバ10から取得した設定値ヒストグラムに基づいて、設定パラメータの優先度を変更する。一例として、選択手段220は、
図7(B)に示すように、髪型パラメータにおける「ツインテール」の選択回数が2番目に多いので、髪型パラメータの優先度を変更しない。他の例として、選択手段220は、
図7(C)に示すように、服パラメータにおける「メイド」の選択回数が1番少ないので、服パラメータの優先度を“1”に変更する(最も高くする)。
【0051】
その結果、選択手段220は、
図6及び
図7の例において、学習済みモデル16bに入力する設定値として、性別=女性、年齢=子供、服=メイド、肌の色=色白を選択することになる。このように、選択手段220は、複数の設定値のうち、他のユーザが選択した回数が少ない設定値を優先して選択すればよい。但し、選択手段220が設定値を選択する方法は、これに限定されない。他の例として、選択手段220は、複数の設定値のうちから、学習済みモデル16bに入力する設定値をランダムに選択してもよい。さらに他の例として、選択手段220は、課金して取得したアバター、アイテム、声を示す設定値を、他の設定値より優先して学習済みモデル16bに入力してもよい。
【0052】
プロフィール生成手段230は、選択手段220が選択した設定値(例えば、性別=女性、年齢=子供、服=メイド、肌の色=色白)を学習済みモデル16bに入力して、アバターのプロフィールを生成させる。また、プロフィール生成手段230は、ユーザが決定(入力)したアバターの名前(例えば、名前=リンダ)を、さらに学習済みモデル16bに入力してもよい。さらに、プロフィール生成手段230は、プロフィールの文字数の範囲(例えば、70~100文字)を、さらに学習済みモデル16bに入力してもよい。
【0053】
例えば、自然言語処理が可能なAI16にプロフィールを生成させる場合、プロフィール生成手段230は、テキスト形式の入力データとして、「女性、子供、メイド、色白のリンダのプロフィールを、70~100文字で生成してください。」を、通信IF25を通じてAIサーバ15に送信する。
【0054】
AIサーバ15は、ユーザ端末20Aから取得した入力データを入力層L1に入力し、中間層L2で処理して、テキスト形式のプロフィールを出力層L3から出力する。また、AIサーバ15は、生成したプロフィールをユーザ端末20Aに送信する。そして、プロフィール生成手段230は、
図8(A)に示すプロフィール(出力データ)を、通信IF25を通じてAIサーバ15から受信する。
【0055】
プロフィールは、アバターを紹介するテキスト形式のデータである。プロフィールに含まれるのは、アバターの嗜好、オンライン空間でやりたいこと、他のユーザに対するメッセージ、バックストーリー(例えば、出身地、学歴、職歴)、家族構成など、アバターに関するあらゆるテキスト情報が含まれ得る。また、プロフィールは、入力データとして入力した複数の設定値からイメージされるテキストである。但し、プロフィールは、テキスト形式に限定されず、画像形式、音声形式、或いはこれらの組み合わせでもよい。さらに、プロフィールは、真実である必要はなく、創作(フィクション)でよい。
【0056】
自動編集手段240は、プロフィール生成手段230が生成したプロフィールを編集する。一例として、自動編集手段240は、プロフィール生成手段が生成したプロフィールから、予め定められたキーワードを削除してもよい。他の例として、自動編集手段240は、プロフィール生成手段が生成したプロフィールのうち、予め定められたキーワードを、他のワードに置換してもよい。キーワードとは、例えば、性的、暴力的、差別的な表現、入力データに含めた設定値そのもの、具体的な個人情報(現住所、電話番号)などが挙げられる。
【0057】
図8(B)の例では、設定値そのものである「色白メイドの」が削除され、性的な表現である「セクシー」が「色々」に置換されている。キーワードを削除するか他のワードに置換するかは、予め定められていてもよいし、AI16に判断させてもよい。また、自動編集手段240は、予め定められたキーワードがプロフィールに含まれていない場合、編集の実行をスキップしてもよい。
【0058】
学習手段250は、
図8(C)に示すように、「女性、子供、メイド、色白のリンダのプロフィールを、70~100文字で生成してください。」を入力データとし、自動編集手段240が編集したプロフィールを正解データとする学習データを、学習済みモデル16bに入力してさらに学習させる。すなわち、学習手段250は、通信IF25を通じて学習データをAIサーバ15に送信する。AIサーバ15は、ユーザ端末20Aから受信した学習データを用いて、学習済みモデル16bに学習処理を実行させる。
【0059】
公開手段260は、プロフィール生成手段230が生成した、または自動編集手段240が編集したプロフィールを、オブジェクト生成手段210が生成したアバターに対応付けて、オンライン空間に公開する。より詳細には、公開手段260は、プロフィール生成手段230が生成したアバターデータと、プロフィール生成手段230または自動編集手段240が生成したプロフィールデータとを対応付けて、通信IF25を通じてゲームサーバ10に送信する。
【0060】
ゲームサーバ10は、ユーザ端末20B、20Cからの要求に応じて、ユーザ端末20Aから受信したアバターデータ及びプロフィールデータを、ユーザ端末20B、20Cに送信する。これにより、ユーザ端末20B、20Cのユーザは、ユーザ端末20Aが生成したアバター(以下、「アバターA」と表記する。)及びプロフィール(以下、「プロフィールA」と表記する。)を、モニタ31やスピーカ36を通じて知覚することができる。
【0061】
一例として、ユーザ端末20B、20Cのユーザは、オンライン空間において、自身のアバターB、Cの視界に入ったアバターAを視認する。また、ユーザ端末20B、20Cのユーザは、視界に入ったアバターAを選択することによって、プロフィールAを閲覧する。さらに、ユーザ端末20B、20Cのユーザは、
図13を参照して後述するユーザ選択画面またはユーザ詳細画面を通じて、アバターA及びプロフィールAを閲覧する。
【0062】
次に、
図9~
図11を参照して、ユーザ端末20Bにおいて、アバター及びプロフィールを生成する処理の例を説明する。
図9は、アバター生成画面の他の例である。
図10は、設定パラメータの優先度(A)及び設定値ヒストグラム(B)、(C)の他の例である。
図11は、プロフィール(A)、(B)及び学習データ(C)の他の例である。なお、
図6~
図8の例との共通点の詳細な説明は省略し、相違点を中心に説明する。
図9~
図11の例は、アバター生成画面を通じてユーザが選択する設定値の組み合わせが
図6~
図8の例と異なる。
【0063】
より詳細には、ユーザ端末20Bのユーザは、性別=男性、年齢=大人、輪郭=丸顔、髪型=モヒカン、肌の色=色黒、服=特攻服、カラー=白を、設定値として選択したものとする。オブジェクト生成手段210は、これらの設定値に従ってアバターデータを生成し、生成したアバターデータで示されるアバター画像をアバター表示領域A1に表示する。
【0064】
選択手段220は、
図10(A)及び
図10(B)に示すように、髪型パラメータにおける「モヒカン」及び服パラメータにおける「特攻服」の選択回数が最も少ないので、髪型パラメータ及び服パラメータの優先度を“1”に変更する。そして、選択手段220は、
図9及び
図10の例において、学習済みモデル16bに入力する設定値として、性別=男性、年齢=大人、髪型=モヒカン、服=特攻服を選択する。
【0065】
プロフィール生成手段230は、テキスト形式の入力データ「男性、大人、モヒカン、特攻服の太朗のプロフィールを、70~100文字で生成してください。」を学習済みモデル16bに入力して、
図11(A)に示すプロフィールを生成させる。自動編集手段240は、
図11(A)に示すプロフィールのうち、暴力的な表現である「と喧嘩」を削除し、暴力的な表現である「ストリートファイト」を「スポーツ」に置換する。なお、自動編集手段240の役割を学習済みモデル16bに担わせてもよい。すなわち、学習済みモデル16bは、予め定められたキーワード(換言すれば、プロフィールの使用に適さないキーワード)を事前学習していて、当該キーワードを含まないプロフィールを生成してもよい。
【0066】
学習手段250は、
図11(C)に示すように、「男性、大人、モヒカン、特攻服の太朗のプロフィールを、70~100文字で生成してください。」を入力データとし、自動編集手段240が編集したプロフィールを正解データとする学習データを、学習済みモデル16bに入力してさらに学習させる。
【0067】
公開手段260は、プロフィール生成手段230が生成した、または自動編集手段240が編集したプロフィール(以下、「プロフィールB」と表記する。)を、オブジェクト生成手段210が生成したアバター(以下、「アバターB」と表記する。)に対応付けて、オンライン空間に公開する。
【0068】
図12は、プロフィール編集画面(A)及び学習データ(B)の例である。ユーザ編集手段270は、プロフィール生成手段230が生成した、または自動編集手段240が編集したプロフィールを、ユーザ端末20Aのユーザの指示に従って編集する。より詳細には、ユーザ編集手段270は、
図12(A)に示すプロフィール編集画面を、モニタ31に表示させる。
【0069】
プロフィール編集画面は、プロフィール表示領域A6と、ソフトウェアキーボードA7と、[決定]アイコンとを含む。プロフィール表示領域A6は、プロフィール生成手段230が生成した、または自動編集手段240が編集したプロフィールを表示する領域である。ソフトウェアキーボードA7は、プロフィール表示領域A6に表示されたプロフィールの編集(文字の追加、削除、修正)を指示するユーザの操作を受け付ける領域である。
【0070】
ユーザ編集手段270は、ソフトウェアキーボードA7を通じたユーザの操作(指示)に従って、プロフィール表示領域A6に表示されたプロフィールを編集する。そして、ユーザ編集手段270は、[決定]アイコンが選択されたことに応じて、プロフィールの編集を確定させる。なお、ユーザ編集手段270は、予め定められたキーワード(換言すれば、プロフィールの使用に適さないキーワード)をユーザが入力した場合に、当該キーワードをプロフィールに反映しないようにしてもよい。
【0071】
そして、公開手段260は、ユーザ編集手段270が編集したプロフィールを、アバターに対応付けて公開する。また、学習手段250は、
図12(B)に示すように、プロフィール生成手段230が生成した入力データと、ユーザ編集手段270が編集したプロフィール(正解データ)とを含む学習データを、学習済みモデル16bに入力してさらに学習させる。
【0072】
次に、
図13を参照して、ユーザ端末20CのユーザがアバターA、B及びプロフィールA、Bを閲覧する処理を説明する。ここでは、協力型のオンラインゲームにおいて、協力してプレイするユーザを選択する処理を例として説明する。
図13は、ユーザ選択画面(A)及びユーザ詳細画面(B)の画面例である。
【0073】
ユーザ端末20Cは、
図13(A)に示すユーザ選択画面をモニタ31に表示させる。ユーザ選択画面は、協力してプレイできるユーザ(例えば、オンラインゲームにログインしているユーザ)の一覧を表示する。ユーザ選択画面は、例えば、アバター、名前、レベル、[詳細]アイコンを、協力プレイできるユーザ毎に表示させる。すなわち、ユーザ端末20Cは、協力プレイできるユーザのアバター、名前、レベルをゲームサーバ10から受信して、ユーザ選択画面に一覧表示する。
【0074】
ユーザ端末20Cは、例えば、名前=リンダに対応する[詳細]アイコンが選択されたことに応じて、
図13(B)に示すユーザ詳細画面をモニタ31に表示させる。ユーザ詳細画面は、ユーザ選択画面を通じて選択されたユーザの詳細な情報を表示する画面である。ユーザ詳細画面は、例えば、選択したユーザの名前、レベル、アバター画像、プロフィール、評価、[協力要請]アイコンを含む。
【0075】
ユーザ詳細画面の評価の項目には、[GOOD]アイコンと、[BAD]アイコンと、過去に[GOOD]アイコンが選択された高評価回数(91)と、過去に[BAD]アイコンが選択された低評価回数(9)とを含む。[GOOD]アイコンは、プロフィールを見たユーザによる高評価に対応する。[BAD]アイコンは、プロフィールを見たユーザによる低評価に対応する。高評価回数及び低評価回数は、ゲームサーバ10によって集計された累積値である。ユーザ端末20Cは、[GOOD]アイコンまたは[BAD]アイコンが選択された場合に、選択されたアイコンをゲームサーバ10に通知する。ゲームサーバ10は、高評価回数及び低評価回数の集計結果を更新すると共に、更新後の高評価回数及び低評価回数をユーザ端末20Aに通知する。
【0076】
フィードバック手段280は、更新された高評価回数及び低評価回数を、通信IF25を通じてゲームサーバ10から受信する。高評価回数及び低評価回数は、プロフィールに対する評価の一例である。そして、フィードバック手段280は、プロフィールに対する評価を、学習済みモデル16bにフィードバックする。フィードバック手段280は、例えば、高評価回数をプロフィールの点数として、通信IF25を通じてAIサーバ15に送信する。学習済みモデル16bは、フィードバック手段280からフィードバックされた高評価回数を用いて再学習または追加学習する。すなわち、学習済みモデル16bは、高評価回数が多いプロフィールに近いプロフィールを生成しやすくなり、高評価回数が少ないプロフィールに近いプロフィールを生成しにくくなる。
【0077】
フィードバック手段280が評価をフィードバックするタイミング及び条件としては、例えば、以下が考えられる。一例として、フィードバック手段280は、プロフィールを公開してから所定の時間(例えば、10時間)が経過したタイミングで、フィードバックを実行する。他の例として、フィードバック手段280は、高評価回数、低評価回数、または高評価回数及び低評価回数の合計が所定の数(例えば、100回)に達したことを条件として、フィードバックを実行する。但し、プロフィールに対する他のユーザの評価の具体的な方法は、前述の例に限定されない。
【0078】
[実施形態の作用効果]
上記の実施形態によれば、アバターを生成する際に選択する複数の設定値を入力データとして、アバターのプロフィールを学習済みモデル16bに生成させる。これにより、ユーザの作業負担を増加させることなく、アバターに合わせて生成されたユニークなプロフィールを、当該アバターに対応付けて公開することができる。
【0079】
また、上記の実施形態によれば、複数の設定値のうちから学習済みモデル16bに入力する設定値を選択することによって、ユニークなプロフィールを生成することができる。特に、他のユーザが選択する回数の少ない設定値を優先して入力することによって、さらにユニークなプロフィールを生成することができる。但し、全ての設定値を学習済みモデル16bに入力する場合は、選択手段220は省略可能である。
【0080】
また、上記の実施形態によれば、学習済みモデル16bが生成したプロフィールを編集することによって、好ましくない表現を含むプロフィールがオンライン空間に公開されるのを防止できる。但し、学習済みモデル16bに好ましくない表現を除外するように学習させておけば、自動編集手段240は省略可能である。
【0081】
また、上記の実施形態によれば、ユーザによるプロフィールの編集を可能にすることによって、ユーザの好みのプロフィールをオンライン空間に公開することができる。また、プロフィールを最初からユーザに生成させるのと比較すれば、ユーザの作業負担を軽減することができる。但し、ユーザ編集手段270は省略可能である。
【0082】
また、上記の実施形態によれば、自動編集手段240及びユーザ編集手段270が編集したプロフィールを、正解データとして学習済みモデル16bに再学習させることによって、さらにユニークで、好ましくない表現を含まず、且つユーザの好みに合ったプロフィールを生成することができる。但し、学習データの入力インタフェースを公開していない汎用のAI16を用いる場合は、学習手段250は省略可能である。
【0083】
さらに、上記の実施形態によれば、オンライン空間に公開されたプロフィールを見た他のユーザの評価を集計して、学習済みモデル16bにフィードバックすることによって、さらにオンライン空間に適したプロフィールを生成することができる。但し、フィードバックの入力インタフェースを公開していない汎用のAI16を用いる場合は、フィードバック手段280は省略可能である。
【0084】
[その他の実施形態]
なお、オブジェクトの具体例はアバターに限定されず、動物、モンスター、ロボット等のキャラクタ、装備(例えば、武器、防具、アクセサリ)、乗り物(例えば、自動車、船、航空機、宇宙船)、建物(例えば、住宅、城)等でもよい。また、設定パラメータの具体例は、オブジェクトの種類によって様々に変化する。例えば、住宅のオブジェクトに対応する設定パラメータとしては、屋根の形、壁の素材、窓の形、間取りなどが該当する。
【0085】
また、本発明に係るプログラムは、単一のプログラムに限定されず、複数のプログラムの集合体でもよい。また、本発明に係るプログラムは、単一の装置で実行されるものに限定されず、複数の装置で分担して実行されてもよい。さらに、ゲームサーバ10、AIサーバ15、及びユーザ端末20の役割分担は、前述の例に限定されない。すなわち、ゲームサーバ10の処理の一部がAIサーバ15またはユーザ端末20によって実行されてもよいし、AIサーバ15の処理の一部がゲームサーバ10またはユーザ端末20によって実行されてもよいし、ユーザ端末20の処理の一部がゲームサーバ10またはAIサーバ15によって実行されてもよい。
【0086】
さらに、プログラムによって実現される各手段の一部または全部は、集積回路などのハードウェアで実現することもできる。さらに、プログラムは、コンピュータによって読み出し可能な非一過性の記録媒体に記録されて提供されてもよい。記録媒体とは、例えば、ハードディスク、SDカード、DVDの他、インターネット上のサーバ等を指す。
【符号の説明】
【0087】
1…システム、2…通信ネットワーク、10…ゲームサーバ、15…AIサーバ、16…学習モデル、16a…学習モデル、16b…学習済みモデル、17…ニューラルネットワーク、20…ユーザ端末、21…プロセッサ、22…メモリ、23…ストレージ、23P…端末プログラム、25…通信インタフェース、26…コンピュータ、29…通信バス、31…モニタ、33…カメラ、34…カメラ、35…マイク、36…スピーカ、41…動きセンサ、42…操作装置、210…オブジェクト生成手段、220…選択手段、230…プロフィール生成手段、240…自動編集手段、250…学習手段、260…公開手段、270…ユーザ編集手段、280…フィードバック手段
【要約】
【課題】ユーザの作業負担を増加させることなく、オブジェクトに合わせて作成されたユニークなプロフィールを、当該オブジェクトに対応付けて公開可能なプログラムを提供する。
【解決手段】プログラムは、コンピュータを、オンライン空間に配置されるオブジェクトの視覚的な特徴を設定するためにユーザが選択した複数の設定値に従って、オブジェクトを生成するオブジェクト生成手段と、予め学習させた学習済みモデルに複数の設定値を入力して、オブジェクトのプロフィールを生成させるプロフィール生成手段と、プロフィール生成手段が生成したプロフィールを、オブジェクト生成手段が生成したオブジェクトに対応付けて、オンライン空間に公開する公開手段として機能させる。
【選択図】
図13