(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024153752
(43)【公開日】2024-10-29
(54)【発明の名称】ビデオゲーム対話のための自然言語ダイアログシステム
(51)【国際特許分類】
G10L 15/22 20060101AFI20241022BHJP
A63F 13/42 20140101ALI20241022BHJP
A63F 13/424 20140101ALI20241022BHJP
G10L 15/00 20130101ALI20241022BHJP
G06F 3/0481 20220101ALI20241022BHJP
G06F 3/16 20060101ALN20241022BHJP
【FI】
G10L15/22 300U
A63F13/42
A63F13/424
G10L15/00 200H
G06F3/0481
G06F3/16 690
G06F3/16 620
G06F3/16 650
【審査請求】有
【請求項の数】21
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2024120198
(22)【出願日】2024-07-25
(62)【分割の表示】P 2022520301の分割
【原出願日】2020-04-15
(31)【優先権主張番号】62/988,942
(32)【優先日】2020-03-13
(33)【優先権主張国・地域又は機関】US
(71)【出願人】
【識別番号】502208397
【氏名又は名称】グーグル エルエルシー
【氏名又は名称原語表記】Google LLC
【住所又は居所原語表記】1600 Amphitheatre Parkway 94043 Mountain View, CA U.S.A.
(74)【代理人】
【識別番号】110001195
【氏名又は名称】弁理士法人深見特許事務所
(72)【発明者】
【氏名】キプニス,アンナ
(72)【発明者】
【氏名】ミカル,ロバート・ジェイ
(72)【発明者】
【氏名】プッチ,スティーブン・リー
(72)【発明者】
【氏名】ピーターザック,ベンジャミン
(72)【発明者】
【氏名】バーンスタイン,レイチェル
(72)【発明者】
【氏名】コーエン,アーロン・ディ
(57)【要約】 (修正有)
【課題】ビデオゲームでのユーザエクスペリエンスの没入感及び楽しさを高める方法及びコンピュータ可読媒体を提供する。
【解決手段】ビデオゲームシステム[100]は、自然言語モデル(NLM)[120]に基づいてダイアログ応答[117]を提供する。NLMは、ビデオゲームシステムのユーザによって提供されるダイアログ選択、音声レコード、または自然言語テキスト入力等の言語入力[116]を受信する言語モデルである。言語入力に応じて、かつ、自然言語の候補行のコーパスに基づいて、NLMは、1つ以上の潜在的な応答を識別する。ビデオゲームシステムは、識別された潜在的な応答から最終の応答を選択し、選択された応答を、例えば、1つ以上の表示フレーム[115]を介して、または音声出力を介してユーザに提供する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
ビデオゲーム[106]から受信した言語入力[116]に基づいて、自然言語モデル[120]を用いて第1の応答[117]を決定することと、
前記ビデオゲームを介してユーザに前記第1の応答を提供することとを備える、方法。
【請求項2】
前記第1の応答を決定することは、
前記自然言語モデルを用いて、前記言語入力と、複数の記憶された候補[226、227]のうちの第1の候補との間の適合率を決定することと、
前記第1の候補に基づいて前記第1の応答を決定することとを含み、
各候補は潜在的な応答に対応する、請求項1に記載の方法。
【請求項3】
前記適合を決定することは、前記言語入力と、前記複数の記憶された候補に対する指定された制約[445]とに基づいて前記適合を決定することを含む、請求項2に記載の方法。
【請求項4】
前記適合を決定することは、
前記自然言語モデルと、前記言語入力とに基づいて、前記複数の記憶された候補のランク付けされたリスト[440]を決定することと、
前記指定された制約に基づいて、前記ランク付けされたリストから前記第1の候補を選択することとを含む、請求項2または3に記載の方法。
【請求項5】
前記適合を決定することは、前記ビデオゲームのゲーム状態[446]に基づいて前記適合を決定することを含む、請求項2~4のうちの少なくとも1項に記載の方法。
【請求項6】
前記適合を決定することは、前記自然言語モデルに基づいて識別された以前の応答に基づいて前記適合を決定することを含む、請求項2~5のうちの少なくとも1項に記載の方法。
【請求項7】
前記ビデオゲームへの音声入力に基づいて前記言語入力を決定することをさらに含む、先行する請求項のうちの少なくとも1項に記載の方法。
【請求項8】
前記ビデオゲームに提供されたユーザダイアログ選択に基づいて前記言語入力を決定することをさらに含む、先行する請求項のうちの少なくとも1項に記載の方法。
【請求項9】
ビデオゲームから言語入力[116]を受信することと、
自然言語モデル[120]に基づいて、対応する複数の自然言語応答に関連付けられた複数の候補[226、227]のランク付けされたリスト[440]を決定することと、
前記ビデオゲームを介して、前記ランク付けされたリストに基づいて選択された応答[117]を提供することとを備える、方法。
【請求項10】
前記ランク付けされたリストを決定することは、
前記自然言語モデルを用いて、前記複数の候補の各々について前記言語入力との適合率を決定することと、
各決定された適合率に基づいて前記ランク付けされたリストを決定することとを含む、請求項9に記載の方法。
【請求項11】
前記適合率を決定することは、意味的類似確率を決定することを含む、請求項10に記載の方法。
【請求項12】
前記言語入力は自然言語入力である、請求項9に記載の方法。
【請求項13】
実行可能な命令のセットを具現化する非一時的コンピュータ可読媒体であって、プロセッサを操作するための前記実行可能な命令のセットは、
ビデオゲーム[106]から受信した言語入力[116]に基づいて、自然言語モデル[120]を用いて第1の応答[117]を決定するための命令と、
前記ビデオゲームを介してユーザに前記第1の応答を提供するための命令とを含む、非一時的コンピュータ可読媒体。
【請求項14】
前記第1の応答を決定するための前記命令は、
前記自然言語モデルを用いて、前記言語入力と、複数の記憶された候補[226、227]のうちの第1の候補との間の適合率を決定するための命令と、
前記第1の候補に基づいて前記第1の応答を決定するための命令とを含む、請求項13に記載のコンピュータ可読媒体。
【請求項15】
前記適合を決定するための前記命令は、前記言語入力と、前記複数の記憶された候補に対する指定された制約[445]とに基づいて前記適合を決定するための命令を含む、請求項14に記載のコンピュータ可読媒体。
【請求項16】
前記適合を決定するための前記命令は、
前記自然言語モデルと、前記言語入力とに基づいて、前記複数の記憶された候補のランク付けされたリスト[440]を決定するための命令と、
前記指定された制約に基づいて前記ランク付けされたリストから前記第1の候補を選択するための命令とを含む、請求項15に記載のコンピュータ可読媒体。
【請求項17】
前記適合を決定するための前記命令は、前記ビデオゲームのゲーム状態[446]に基づいて前記適合を決定するための命令を含む、請求項15または16に記載のコンピュータ可読媒体。
【請求項18】
前記適合を決定するための前記命令は、前記自然言語モデルに基づいて識別された以前の応答に基づいて前記適合を決定するための命令を含む、請求項14~17のうちの少なくとも1項に記載のコンピュータ可読媒体。
【請求項19】
前記実行可能な命令のセットは、前記ビデオゲームへの音声入力に基づいて前記言語入力を決定するための命令を含む、請求項13~18のうちの少なくとも1項に記載のコンピュータ可読媒体。
【請求項20】
前記実行可能な命令のセットは、前記ビデオゲームに提供されたユーザダイアログ選択に基づいて前記言語入力を決定するための命令を含む、請求項13から19のうちの少なくとも1項に記載のコンピュータ可読媒体。
【発明の詳細な説明】
【背景技術】
【0001】
コンピュータ、ゲームコンソール、スマートフォン、またはゲームストリーミングシステム等のビデオゲームシステムは、ユーザがビデオゲームプログラムによって提示される仮想環境と対話することを可能にする。ユーザは、ゲームコントローラ又は他の入力装置を介してシステムに入力を提供し、それに応じて、ビデオゲームシステムは、ビデオゲームに関連付けられたゲーム状態を更新する。ゲーム状態に基づいて、ビデオゲームシステムは、表示のための仮想環境を表す画像を生成し、表示された画像に基づいて、ユーザは追加の入力を提供する。したがって、比較的洗練された又は複雑なユーザ入力をサポートすることは、ビデオゲームでのユーザエクスペリエンスの没入感及び楽しさを高めることができる。例えば、いくつかのビデオゲームは、ユーザがダイアログオプションのメニューから選択することによってゲームキャラクタと対話することを可能にする等、ユーザがダイアログを使用して仮想環境と対話することを可能にする。しかしながら、ビデオゲームにおけるダイアログ双方向性(dialog interactivity)をサポートするための既存の技術は限られており、特に、ダイアログ入力とビデオゲームによる応答との両方のために提供される選択肢は比較的少ない。
【0002】
本開示は、添付の図面を参照することによって、よりよく理解され得、その多数の特徴および利点が当業者に明らかになる。異なる図面における同じ参照符号の使用は、類似または同一の項目を示す。
【図面の簡単な説明】
【0003】
【
図1】いくつかの実施形態による、ビデオゲームのためのダイアログ応答を選択するために自然言語モデルを使用するゲームストリーミングシステムのブロック図である。
【
図2】いくつかの実施形態による、
図1の自然言語モデルの一例を示すブロック図である。
【
図3】いくつかの実施形態による、
図2の自然言語モデルのコーパス(corpus)によって使用される候補行(candidate line)の一例のブロック図である。
【
図4】いくつかの実施形態による、ビデオゲームのためのダイアログ応答を作成する
図1の自然言語モデルの一例を示す図である。
【
図5】いくつかの実施形態による、自然言語モデルを使用してビデオゲームのためのダイアログ応答を作成する方法のフローチャートである。
【発明を実施するための形態】
【0004】
詳細な説明
図1~
図5は、自然言語モデル(natural language model: NLM)に基づいてビデオゲームシステムにおいてダイアログ応答を提供するための技術を示す。NLMは、ビデオゲームシステムのユーザによって提供されるダイアログ選択、音声レコード、または自然言語テキスト入力等の言語入力を受信する言語モデルである。言語入力に応じて、かつ、自然言語の候補行のコーパスに基づいて、NLMは、1つ以上の潜在的な応答を識別する。ビデオゲームシステムは、識別された潜在的な応答から最終の応答を選択し、選択された応答を、例えば、1つ以上の表示フレームを介して、または音声出力を介してユーザに提供する。NLMを使用することによって、ビデオゲームシステムは、柔軟な言語入力と、言語入力に対する比較的多種多様な応答との両方をサポートすることができ、それによって、没入型で楽しいゲームを作成する開発者の能力を強化し、ユーザが自然で記述されていない方法でゲームと対話することを可能にし、したがってユーザエクスペリエンスを改善する。
【0005】
例示のために、従来のビデオゲームにおけるダイアログシステムは、典型的には、ルールベースのアプローチを適用し、許可された言語入力および対応する応答は、ルールのセットによって定義される。例えば、いくつかのビデオゲームでは、ゲームとの所与の対話について、ユーザは、ビデオゲーム自体によって提供される言語入力のセットのうちの1つを選択することによって、またはユーザによる予期しない言語入力に対する事前定義された応答を提供するビデオゲームによって等、事前定義された言語入力を提供することを明示的または黙示的に許可されるだけである。許容される入力を比較的狭い範囲の事前定義された選択に制限することによって、ビデオゲームは、ユーザの創造性および表現を制限する。加えて、従来のビデオゲームは、典型的には、各言語入力に対して、比較的小さい範囲の潜在的な応答を提供する。これらの制約は、ユーザがゲームとの反復的な又はそうでなければ制限された対話を有することにつながり得、貧相なユーザエクスペリエンスをもたらす。
【0006】
対照的に、本明細書で説明されるNLMダイアログ応答技術は、言語入力と対応する候補行とのはるかに柔軟な範囲をサポートする。例えば、いくつかの実施形態では、NLMは、所与の自然言語入力について、および、候補行のコーパスの各候補行について(例えば、入力に対する潜在的な応答のセット、または、対応する定義された応答を有する候補入力のセット等について)、候補行が入力と適合する相対確率(つまり、どの候補行が他の候補行よりも応答性が高いか)を予測する自然言語モデルを使用する。自然言語入力を受け入れることによって、NLMは、ビデオゲームがダイアログ入力に対するより柔軟なアプローチを実行することを可能にし、例えば、ユーザがビデオゲームによって定義されたルールの限られたセットによって制約されない音声情報(例えば、発言)又はテキスト情報を入力することを可能にする。加えて、NLMは、ビデオゲームとの没入型で満足のいくユーザエクスペリエンスを提供すると予想される候補行の適合率(match probabilities)がより高くなるようにトレーニングされる。例えば、いくつかの実施形態では、N
LMは、ニューラルネットワークとして実装される。当該ニューラルネットワークは、ニューラルネットワークが満足のいくユーザエクスペリエンスをもたらす適合スコア(match scores)を提供するように、入力と予想される応答との定義されたセットを使用してトレーニングされ、ニューラルネットワークの特性(例えば、ニューラルネットワークの重みおよびエッジ)の調整をもたらす。したがって、NLMがビデオゲームに組み込まれるとき、ゲームは、プレーヤから言語入力を受信し、応答ルールの厳密なセットによって制約されない応答を提供し、それによって、ビデオゲームとのより自然なプレーヤ対話性をサポートする。
【0007】
いくつかの実施形態では、言語入力に応じて、NLMは候補行のリストをランク付けする。各候補行のランクは、候補行が言語入力に適合する対応する確率に基づく。ビデオゲームは、指定された選択基準に基づいてリストから候補行を選択し、候補行に基づく応答をユーザに提供する。選択基準は、いくつかの要因のいずれかを含むことができ、ユーザエクスペリエンスをさらに向上させるために、ビデオゲーム開発者またはユーザによって調整されることができる。例えば、いくつかの実施形態では、ビデオゲームは、ランク付けされた候補行のうちの1つ以上がゲームによって最近使用されたかどうかに基づいて、ランク付けされたリストから候補行を選択することができ、それによって、ゲームの没入感を低減し得る反復応答を低減する。
【0008】
いくつかの実施形態では、ビデオゲームは、各応答に関連付けられたメタデータの組合せに基づいて、かつ、ビデオゲームのゲーム状態に基づいて候補行を選択することができる。例えば、各応答は、ゲームキャラクタがゲーム世界の指定された領域に位置する場合、応答が除外されるべきであることを示すメタデータ等の関連付けられたメタデータを割り当てられ得る。ゲーム状態が、ゲームキャラクタが指定された領域に位置することを示す場合、ビデオゲームは、NLモデルによって作成されたリストから応答が選択されるこ
とを除外することができる。
【0009】
いくつかの実施形態では、NLモデルは、入力/応答モードと、意味的類似性モードとの2つの異なるモードのいずれかで動作することができる。各モードは、NLモデルが適合性をどのように識別するかと、ゲームプログラムが候補行をどのように使用するかとを管理する。例えば、入力/応答モードでは、コーパスの各候補行は、ゲームプログラムによって提供される応答または応答の一部であり得る。NLモデルは、言語入力を受信し、それに応じて、応答のコーパスにアクセスして、NLモデルのトレーニングに基づいて、ランク付けされた応答のリストを作成する。意味的類似性モードでは、候補行は、予想される言語入力であり得る。メタデータは、各予想される言語入力を対応する応答にマッピングする。意味的類似性モードでは、NLモデルは、言語入力を受信し、言語入力に適合する各候補行の相対確率に基づいて候補行をランク付けする。ゲームプログラムは、ランク付けされたリストから候補行を選択し、対応するメタデータに記載されるように、選択された候補行に関連付けられた応答をユーザに提供する。いくつかの実施形態では、NLモデルの動作モードは、ゲーム状態に基づいてビデオゲームによって設定され得、キャラクタの位置、ゲーム進行、時刻(仮想または実際の時刻のいずれか)等、またはそれらの任意の組合せ等、ゲーム状態によって表される要因に応じて、モデルが2つのモードのいずれかで使用されることを可能にする。
【0010】
図1は、概して、自然言語モデル(NLM)120に基づいて少なくとも部分的に選択されたダイアログ応答を含むレンダリングされたゲームコンテンツをサーバ102からクライアント装置104にストリーミングするように構成されたゲームストリーミングシステム100を示す。NLM120は、ゲームストリーミングシステム100の図示される実施形態に関して説明されるが、他の実施形態では、NLM120等のNLMを使用する本明細書で説明される技術は、ゲームコンソール、デスクトップまたはラップトップコンピュータ、スマートフォン、タブレット等の任意のタイプのビデオゲームシステムで使用され得ることが理解されるであろう。
【0011】
描かれている実施例では、サーバ102およびクライアント装置104は、ネットワーク110を介して通信する。ネットワーク110は、概して、1つ以上のルータ、サーバ、通信タワー(例えば、セルラー通信タワー)等、またはそれらの任意の組み合わせを介して、ビデオデータを含むデータを転送するように構成される、パケット交換または他のネットワークである。したがって、様々な実施形態では、ネットワーク110は、ワイドエリアネットワーク(たとえば、インターネット)、ローカルエリアネットワーク等、またはそれらの任意の組合せである。
【0012】
サーバ102およびクライアント装置104は、概して、ストリーミングゲームセッションを集合的に実装するように構成される。双方向ゲームコンテンツは、サーバ102からクライアント装置104にストリーミングされる。したがって、サーバ102は、ラックマウント型サーバ、クラスタサーバ(例えば、サーバデバイスのクラスタに実装されるサーバデバイス)、モバイルサーバデバイス等、またはそれらの組合せ等、本明細書でさらに説明する機能を実装する任意のタイプのコンピュータデバイスであり得る。クライアント装置104は、ユーザにビデオフレームを表示することができ、ユーザ入力を受信することができる任意のコンピュータデバイスであり得る。したがって、クライアント装置104は、デスクトップまたはラップトップコンピュータ、デジタルメディアプレーヤ、ゲームコンソール、スマートフォン、タブレット等であり得る。
【0013】
ストリーミングゲームセッション中のクライアント装置へのゲームコンテンツのストリーミングをサポートするために、サーバ102は、中央処理ユニット(CPU)106およびグラフィックス処理ユニット(GPU)108等の複数の処理ユニットを含む。CP
U106は、概して、コンピュータプログラムの形態で編成された汎用命令セットを実行して、サーバ102に代わってタスクを実行するように構成される処理ユニットである。そのようなコンピュータプログラムの例は、オペレーティングシステム、仮想マシン、データセキュリティプログラム(例えば、データ暗号化/復号化プログラム)、ウェブページ、データベースプログラム等を含む。
【0014】
GPU108は、概して、CPU106から受信されたコマンドに基づいて、グラフィックスとベクトル処理とに関連付けられた動作を実行するように構成される処理ユニットである。例えば、1つ以上の汎用プログラムを実行する過程で、CPU106は、表示のためのグラフィカルモデルを生成および操作するためのコマンドを生成し、コマンドをGPU108に提供する。それに応じて、GPU108は、1つ以上の対応するグラフィカル動作を実行することによってコマンドを実行し、それによって、グラフィカルモデルを操作して、表示のための1つ以上のフレームを生成する。いくつかの実施形態では、GPU108によって生成されたフレームは、ディスプレイ装置での表示の準備ができているレンダリングされたフレームである。
【0015】
ストリーミングされたゲームコンテンツの受信および表示をサポートするために、クライアント装置104は、CPUおよびGPU(図示せず)を含む。これらのモジュールの各々は、サーバ102の対応するモジュールに類似している。したがって、例えば、クライアント装置104のCPUは、概して、オペレーティングシステム、ウェブブラウザ等のうちの1つ以上を実行する等、クライアント装置104に代わって汎用命令を実行するように構成される。いくつかの実施形態では、クライアント装置104は、概して、サーバ102に対して比較的小さい計算能力を有することが理解されるであろう。したがって、ゲームストリーミングシステム100は、サーバ102の計算能力を利用して、クライアント装置104のみによって生成され得るよりも高品質のゲームコンテンツをクライアント装置104にストリーミングする。
【0016】
動作中、クライアント装置104は、ウェブブラウザ、専用ゲームストリーミングプログラム、ビデオストリーミングサービスプログラム等を介して等、クライアント装置104において実行されるコンピュータプログラム(図示せず)を介してユーザがゲームセッションを要求することに応じて、ゲームストリーミングセッションを開始する。CPU112は、ユーザ要求に応じて、ネットワーク110を介してサーバ102にゲームセッション要求を送信する。これに応じて、サーバ102は、ゲームプログラム109の実行を開始する。いくつかの実施形態では、サーバ102は、ゲームプログラムのライブラリのいずれか1つを実行するように構成される。クライアント装置104によって提供される要求は、実行されるゲームプログラムのうちの特定の1つを示す。
【0017】
実行中、ゲームプログラム109は、ゲームの状況または状態を表すゲーム状態と呼ばれるデータの収集を維持する。クライアント装置104のユーザは、入力装置111を用いてCPU112に入力データを提供する。入力装置は、キーボード、ゲームコントローラ、マイクロフォン、もしくは他の入力装置、またはそれらの任意の組合せであり得る。クライアント装置104は、ネットワーク110を介してゲームプログラム109に入力データを通信する。入力データに応じて、ゲームプログラム109は、ゲームプログラム109によって実行される特定のゲームのルールに従ってゲーム状態を変更する。ゲーム状態に基づいて、および実装されたゲームのルールに従って、ゲームプログラム109は、CPU106およびGPU108を使用して、仮想環境、ゲームボード、選択画面、ヘッドアップディスプレイ(a heads-up display: HUD)等、またはそれらの任意の組合せ等の視覚的なゲーム情報を表すレンダリングされたフレームを生成する。サーバ102は、ストリーミングされたフレーム115と呼ばれるこれらのレンダリングされたフレームを、クライアント装置104との通信のためにネットワーク110に提供する。クライ
アント装置104は、ストリーミングされたフレーム115の少なくともサブセットを受信し、受信されたフレームをディスプレイ(図示せず)に表示するためにGPUを使用する。したがって、クライアント装置104は、視覚的なゲーム情報をユーザに表示し、これに応じて、当該ユーザはゲームコントローラまたは他の入力装置を使用してさらなる入力データを提供し、ゲームプログラム109によって維持されるゲーム状態へのさらなる変更およびフレームストリーム115のフレームへの対応する変更をもたらす。このようにして、クライアント装置104のユーザは、サーバ102で実行されるゲームをプレイするためにゲームプログラム109と対話する。
【0018】
いくつかの実施形態では、ストリーミングされたフレーム115に加えて、サーバ102は、ネットワーク110を介してクライアント装置104に音声データを提供する。当該音声データは、ゲーム状態に基づいてゲームプログラム109によって生成される。音声データは、ダイアログ、音楽、環境音等、またはそれらの組合せとすることができ、音声データをストリーミングされたフレーム115と同期させる情報を含むことができる。クライアント装置104は、音声データを受信し、1つ以上のスピーカ等の音声レンダリング装置(an audio rendering device(図示せず))を介してデータを出力する。いく
つかの実施形態では、クライアント装置104は、ダイアログ、音楽、または他の音声データが表示された画像フレームと同期されるように、サーバ102によって提供される同期情報に基づいて音声データを出力する。
【0019】
いくつかの実施形態では、クライアント装置104のユーザは、入力装置111を使用して、言語入力116をゲームプログラム109に提供することができる。本明細書で使用されるように、言語入力は、ゲームプログラム109からのダイアログ応答をもたらす任意の入力である。したがって、異なる実施形態では、言語入力116は、例えば、音声テキスト化(speech to text: STT)機能を介してテキストに変換される音声ファイル(例えば、ユーザがマイクロフォンに話した1つ以上の単語を表す音声ファイル)、自由形式テキスト入力(例えば、キーボードを介してユーザによって入力される1つ以上の単語)、クライアント装置104またはサーバ102で実行されるプログラムによって自然言語入力に変換される入力等の自然言語入力であり得る。他の実施形態では、言語入力は、ストリーミングされたフレーム115を介してゲームプログラム109によって表示されるオプションのセットからの一のオプションの選択等、指定されたゲームアクションを表すゲームコントローラからの入力である。
【0020】
言語入力116に応じて、ゲームプログラム109は、NLM120を用いて自然言語(natural language: NL)応答117を選択する。NL応答117は、テキスト、音声、もしくは他の言語情報、またはそれらの任意の組合せであり得る。いくつかの実施形態では、NLM120は、言語入力116のための埋め込みをゲームプログラム109に提供するか、または本明細書でさらに説明されるように候補行のランク付けされたリストを提供し、ゲームプログラム109は、埋め込みまたは選択された候補行と関連付けられるメタデータに基づいてNL応答117を識別する。サーバ102は、ネットワーク110を介してNL応答117をクライアント装置104に通信し、クライアント装置104は、NL応答117によって表される音声を再生すること等によって、NL応答117をユーザに提供する。
【0021】
NLM120は、概して、所与の言語入力に対して、以下の式によって示されるように、応答が言語入力に適合する確率に基づいて、少なくとも1つの対応する応答を提供するように構成される、自然言語モデルである:
【0022】
P(LI|R)・・・(式)
【0023】
ここで、LIは言語入力(例えば、言語入力116)であり、Rは応答(例えば、単語の文字列)であり、Pは応答が言語入力に適合する確率である。いくつかの実施形態では、NLM120は、nグラム(n-grams)、隠れマルコフモデル(Hidden Markov Models:
HMM)等の統計的技法を1つ以上の言語規則と併せて使用して、所与の応答が言語入
力に適合する確率を決定する統計的言語モデルである。したがって、NLM120は、ユニグラムモデル(a unigram model)、バイグラムモデル(a bi-gram model)、Nグラムモデル(an N-gram model)、HMMモデル(an HMM model)等であり得る。
【0024】
他の実施形態では、自然言語モデルは、応答が言語入力に適合する確率を決定するために、入力および出力の指定されたセット(トレーニングセットと呼ばれる)を使用してトレーニングされたニューラルネットワークである。トレーニングセットは、言語入力を構成すると予想される単語または単語の文字列の分布に密接に適合すると予想される単語または単語の文字列の分布を有する入力を含むように定義される。トレーニングセットは、言語入力の分布に対応すると予想される応答を含むようにさらに定義される。いくつかの実施形態では、ニューラルネットワークは、1つ以上のネットワーク特性(例えば、ネットワークのノードに関連付けられた重み)を調整して、各入力単語または文字列を特徴空間内の点を表すベクトルにマッピングする。したがって、ニューラルネットワークは、言語入力と応答とに対する対応するベクトル(またはベクトルのシーケンス)の特徴空間における関係によって示されるように、所与の言語入力が所与の応答に対応する確率をマッピングするように調整する。いくつかの実施形態では、NLMモデル120は、ゲームプログラム109から受信した言語入力に基づいて、経時的にニューラルネットワークの特性を調整し続ける。いくつかの実施形態では、NLM120は、ソフトウェアプログラム、NLM120を実装するように構成されるフィールドプログラマブルゲートアレイ(a field programmable gate array: FPGA)または他のハードウェア等の1つ以上の専
用ハードウェア回路の集合、またはそれらの組み合わせである。動作において、ゲームプログラム109は、クライアント装置104から言語入力116を受信し、言語入力116をNLM120に提供する。これに応じて、NLM120は、潜在的な応答のコーパス(
図1に図示せず)にアクセスし、コーパス内の各応答について、応答が言語入力116に適合する相対確率を示す対応するスコアを決定する。いくつかの実施形態では、NLM120は、いくつかのコーパスを含み、ゲームプログラム109に関連付けられたゲーム状態に基づいて、適合のために使用するコーパスを選択する。例えば、いくつかの実施形態では、ゲームプログラム109は、異なるゲームキャラクタに対して異なるコーパスを含み、ゲームプログラム109は、同じ状態によって示されるキャラクタに基づいてコーパスを選択する。
【0025】
いくつかの実施形態では、NLM120は、各言語入力に対して、選択されたコーパスから適合する候補のランク付けされたリストを作成する。所与の候補に対するランク付けは、NLM120によって決定されるように、候補が言語入力に適合する確率に基づく。例えば、NLM120は、応答の対応する適合率に対して線形関係を有するスコアを割り当てることができ、その結果、より高い適合率を有する応答には、より低い適合率を有する応答よりも高いスコアが与えられ、したがって、より高いランクが付けられる。いくつかの実施形態では、ゲームプログラム109は、閾値未満の対応するスコアを有する候補をランク付けされたリストから除外する。
【0026】
ゲームプログラム109は、NLモデル120によって提供されたランク付けされたリストからNL応答117を選択する。いくつかの実施形態では、ゲームプログラム109は、ゲーム状態、選択された応答に関連付けられたメタデータ、選択された応答が使用された頻度、または他の基準のうちの1つ以上に基づいて、NL応答117を選択する。例えば、いくつかの実施形態では、ゲームプログラム109は、過去N回の応答において使用されていない最高ランクの応答を選択する。ここで、Nはプログラム可能な整数値であ
る。したがって、ゲームプログラム109は、ユーザに提供される応答のバリエーションを増加させることができ、ユーザエクスペリエンスを改善する。
【0027】
図2は、いくつかの実施形態による自然言語モデル120のブロック図を示す。図示の例では、NLM120は、モード選択設定222と、類似度エンジン224と、コーパス225とを含む。コーパス225は、ゲームプログラム109によって提供される。コーパス225は、言語入力に適合する複数の候補(例えば、候補226、227)を含む。いくつかの実施形態では、ゲームプログラム109は、複数のコーパスを含むか、または複数のコーパスへのアクセスを有し、ゲームプログラム109によって実行されるゲームのゲーム状態に基づいてコーパス225を選択する。したがって、コーパス225は、ゲームキャラクタ、ゲームロケーション、時刻(ゲーム内またはリアルタイムのいずれか)、ゲーム進行(例えば、ユーザがゲームにおいてどれくらい進行したか)等、またはそれらの任意の組合せ等、様々な基準のいずれかに基づいて選択され得る。したがって、ゲームプログラム109は、実行されたゲームのゲーム状態に合わせて調整された応答を識別することができる。
【0028】
コーパス225に含まれる候補に関して、いくつかの実施形態では、各候補は、少なくとも1つの候補行を含み、また、応答と関連付けられたメタデータも含む。いくつかの実施形態に従って、候補226の例を
図3に示す。図示のように、候補226は、候補行330と、メタデータ331とを含む。候補行330は、NLM120が言語入力116に基づいて候補226の適合率と、関連スコアとを決定するために使用する文等の単語またはフレーズのセットである。候補行330は、例えば、ゲームプログラム109のゲーム内キャラクタが発話する単語、フレーズ、文章のセットであってもよいし、受信した言語入力116との意味的適合に用いられる予想される言語入力であってもよい。
【0029】
メタデータ331は、候補226の選択に応じてゲーム状態を変更するためにゲームプログラム109によって使用可能なデータである。たとえば、いくつかの実施形態では、メタデータ331は、音声データ、画像データ、アニメーションデータ、リップシンクデータ、ローカライゼーションデータ等にマッピングする識別子等、候補226に関連付けられた応答を実行するためにゲームプログラムによって使用される対応するデータにマッピングする1つ以上の識別子を含む。いくつかの実施形態では、メタデータ331は、候補行330に加えて又はその代わりにゲームプログラム109によって提供されるテキストを含む。これは、ゲームプログラム109が、実行されるべき全体的な応答の比較的小さい部分に基づいてコーパス225の候補に言語入力を適合させることを可能にする。例えば、NLM120は、候補行330に基づいて言語入力116に対する候補226の適合率を決定することができ、ゲームプログラム109が候補226を選択すると、ゲームプログラム109は、メタデータ331に含まれる追加テキストをユーザに表示する。
【0030】
いくつかの実施形態では、メタデータ331は、ゲームプログラム109が候補226をどのように使用するかを一緒に定義する1つ以上のフィールドを含む。これらのフィールドの例は、指定された時間量(例えば、時間当たりの回数、ゲームセッション当たりの回数、年当たりの回数等)においてランク付けされたリストから候補226がゲームプログラム109によって何回選択されることを許可されるかを示す1つ以上のフィールドと、ゲームプログラムが候補226を連続して選択することを許可されるかどうかを示す1つ以上のフィールド(それによって、候補226の繰り返しの連続使用を可能にするかまたは防止する)と、候補226が選択されると、ゲームプログラム109によって実行されるゲームのゲーム状態がどのように変更されるかを示す1つ以上のフィールドと等を含む。
【0031】
いくつかの実施形態では、ゲームプログラム109は、ゲーム状態に基づいてメタデー
タ331の1つ以上のフィールドを変更することができ、メタデータ331が、変化するゲーム条件を動的に反映することを可能にする。例えば、場合によっては、ゲームプログラム109は、ユーザのキャラクタが、反復応答の可能性がより高いゲーム環境の群衆または他のエリア内にあることをゲーム状態が示す場合、候補226がより頻繁に選択されることを可能にするようにメタデータ331を修正することができる。
【0032】
図2に戻ると、NL適合エンジン224は、言語入力116に基づいてコーパス225の候補の各々について対応する適合率を決定するソフトウェア、ハードウェア、またはそれらの組合せである。したがって、NL適合エンジン224は、ハードウェアもしくはソフトウェア、またはそれらの組合せ、統計言語モデルを実装するように構成されたハードウェアもしくはソフトウェア(またはそれらの組合せ)等において実装されるニューラルネットワークであり得る。いくつかの実施形態では、NL適合エンジン224は、2つの異なるモードのいずれかで動作することができる。当該モードは、フラグ、レジスタもしくはその部分(たとえば、NLM120のための構成レジスタの一部分)、または設定を示すデータを記憶することができる任意の他のプログラム可能な記憶モジュールであり得る、モード選択設定222によって管理される。
【0033】
NLM120の2つのモードは、本明細書では、それぞれ、入力/応答モードと、意味的類似性モードと呼ばれる。入力/応答モードでは、コーパス225の候補は、ゲームプログラム109による言語入力116に対するすべての可能な応答を含み、NL適合エンジン224は、各候補について、候補が受信された言語入力116に適合する対応する確率(すなわち、候補が言語入力116に応答する相対確率)を決定する。NL適合エンジンは、潜在的な候補のランク付けされたリストをその確率に基づいて作成し、ゲームプログラム109は、ランク付けされたリストに基づいてNL応答117を選択する。
【0034】
意味的類似性モードでは、コーパス225の候補は、予想されるまたは潜在的な言語入力であり、NLM120は、コーパス225の候補の各々について言語入力116との意味的類似性を識別する。意味的類似性モードは、例えばゲームプログラム109の開発者により多くの制御を提供するために使用されることができる。例えば、いくつかの実施形態では、ゲームプログラム109は、予想される言語入力と応答との間のマッピングを含み、予想される言語入力をコーパス225に記憶する。言語入力116の受信に応じて、NLM120は、コーパスからの予想される入力のランク付けされたリストを作成する。ランク付けは、各予想される入力が言語入力116に意味的に適合する確率に基づく。ゲームプログラム109は、ランク付けされたリストから予想される入力の1つを選択し、マッピングを使用して、ユーザに提供されるべき応答を決定する。
【0035】
図4は、いくつかの実施形態による、NL応答117を生成するゲームストリーミングシステム100の例を示す。図示の例では、NLM120は言語入力116を受信する。異なる実施形態では、言語入力116は、ジョイスティック、マウス、またはゲームパッドを使用したダイアログオプションの選択、キーボードまたは音声認識を介して入力される自由形式テキスト、マイクロフォンを介して記録される発話等の、入力装置111(
図1)を介してユーザによって提供される種々の入力タイプのうちのいずれかに基づく。さらに、いくつかの実施形態では、言語入力116は自然言語入力であり、したがって、ゲームプログラム109に関連付けられたゲームによって課される事前定義されたダイアログオプションまたは制限的なダイアログ規則によって制約されない。
【0036】
言語入力116に基づいて、NLモデル120は、コーパス225(
図2)からの候補のランク付けされたリスト440を作成する。いくつかの実施形態では、NLM120は、コーパス225の各候補が言語入力116に適合する確率を決定し、識別された可能性に基づいてランク付けされたリスト440内の候補をランク付けする。いくつかの実施形
態では、ゲームプログラム109は、閾値未満の対応する適合率を有する任意の応答をランク付けされたリスト440から除外または除去する。
【0037】
ゲームプログラム109は、応答選択モジュール442を用いて、ランク付けされたリスト440から候補を選択する。選択された候補に基づいて、ゲームプログラム109は、NL応答117を決定し、提供する。例えば、いくつかの実施形態では、各候補は、対応する応答を識別する関連付けられたメタデータを含むか、または識別する。候補を選択することに応じて、ゲームプログラム109は、候補に関連付けられたメタデータを使用して、対応する応答を決定し、その応答をNL応答117として提供する。
【0038】
いくつかの実施形態では、応答選択モジュール442は、ゲームプログラム109の一部であるソフトウェアモジュールである。応答選択モジュール442は、選択制約445のセットに基づいて、ランク付けされたリスト440から候補を選択する。いくつかの実施形態では、選択制約445は、ゲームプログラム109の開発中に開発され定義される制約である。他の実施形態では、選択制約445は、開発者、ユーザ、またはその両方によって調整され得るプログラム可能な制約である。いずれの場合も、選択制約445は、ゲームプログラム109の構成データとして記憶されることができる。
【0039】
選択制約445は、応答選択モジュール442がランク付けされたリスト440から候補をどのように選択するかを管理する。したがって、選択制約445は、候補を選択から除外することができ、候補のランキングを変更することができ、ランキングが応答選択モジュール442によってどのように使用されるか(したがって、例えば、リスト上のより低いランク付けを有する候補は、より高いランク付けを有する応答よりも選択される)を変更することができる等、またはそれらの任意の組合せを行うことができる。加えて、いくつかの実施形態では、選択制約445は、ゲームプログラム109に関連付けられたゲームの現在の状態を表すゲーム状態446に基づいて変更することができる。したがって、ゲーム状態446は、キャラクタの位置、キャラクタの進行状態(例えば、キャラクタのレベル、キャラクタの装備等)、ゲームの進行状態(例えば、ゲームの現在のレベル)、ゲームがプレイまたは完了された回数、応答状態(例えば、所与の応答がユーザに提供された回数、所与の応答が使用された頻度、所与の応答をどのゲームキャラクタが使用したか等)等の状態情報を示すことができる。
【0040】
選択制約445は、候補を選択するときに応答選択モジュール442が使用するルールのセットを確立する。一例を使って説明すると、いくつかの実施形態では、選択制約は、応答、例えば指定される応答Aが所与のゲームセッション中に繰り返されないことを示す。応答選択モジュール442が、応答Aに関連付けられた候補がランク付けされたリスト440内の最上位のランク付けされた候補であると判断した場合、応答選択モジュール442は次に、(例えば、ゲーム状態446に基づいて)現在のゲームセッション中に応答Aがユーザに提供されたかどうかを判断する。そうでない場合、応答選択モジュール442は、応答Aに関連付けられた候補を選択し、応答AをNL応答117として提供する。応答選択モジュール442が、現在のゲームセッション中に応答Aがユーザに提供されたと判断した場合、応答選択モジュール442は、ランク付けされたリスト440から別の候補を選択し、関連付けられた応答をNL応答117として提供する。
【0041】
選択制約445は、ゲームプログラム109の開発者またはユーザが、指定された応答または応答のタイプをゲームプログラム109による選択から除外する方法を提供することができ、それによって、ユーザエクスペリエンスを関連するゲームに合わせる方法を提供する。例えば、特定の応答が所望のゲームエクスペリエンスと矛盾していると開発者が判断した場合、開発者は、その応答に関連付けられた候補が応答選択モジュール442による選択から除外されるように選択制約445を設定することができる。したがって、開
発者は、コーパス225を保存しながらゲームエクスペリエンスを調整する。
【0042】
図5は、いくつかの実施形態による、自然言語モデルを使用してビデオゲームのダイアログ応答を生成する方法500のフロー図である。説明のために、方法500は、
図1のゲームストリーミングシステム100における例示的な実装に関して説明される。ブロック502において、サーバ102は言語入力116を受信する。いくつかの実施形態では、言語入力116は、入力装置111を介して提供されるユーザ入力に基づいてクライアント装置104において識別され、クライアント装置104は、言語入力116をネットワーク110を介してサーバ102に提供する。ブロック504において、ゲームプログラム109は、言語入力116をNLM120に提供し、それに応じて、NLM120は、候補のランク付けされたリスト440を作成する。ランク付けされたリスト440を作成するために、NLM120は、コーパス225の各候補が言語入力116に適合する相対確率を決定し、識別された確率に基づいてランク付けされたリスト440内の応答をランク付けする。ブロック506において、応答選択モジュール442は、選択制約445に基づいて、ランク付けされたリスト440から候補を選択する。ブロック508において、ゲームプログラム109は、選択された候補に基づいてNL応答117を識別し、識別されたNL応答117を、ネットワーク110を介してクライアント装置104に提供する。それに応じて、クライアント装置104は、たとえば、ディスプレイ上にNL応答117を表示すること、スピーカを介してNL応答117を再生すること、またはそれらの任意の組合せによって、ユーザにNL応答117を提供する。
【0043】
いくつかの実施形態では、上記で説明した技術のいくつかの態様は、ソフトウェアを実行する処理システムの1つ以上のプロセッサによって実装され得る。ソフトウェアは、非一時的コンピュータ可読記憶媒体に記憶された、またはそうでなければ明確に具現化された実行可能な命令の1つ以上のセットを備える。ソフトウェアは、1つ以上のプロセッサによって実行されると、上記で説明した技術の1つ以上の態様を実行するように1つ以上のプロセッサを操作する命令と一定のデータとを含むことができる。非一時的コンピュータ可読記憶媒体は、例えば、磁気または光ディスク記憶装置、フラッシュメモリ、キャッシュ、ランダムアクセスメモリ(RAM)または他の不揮発性メモリ装置等のソリッドステート記憶装置等を含むことができる。非一時的コンピュータ可読記憶媒体に記憶された実行可能な命令は、ソースコード、アセンブリ言語コード、オブジェクトコード、または1つ以上のプロセッサによって解釈可能もしくはそうでなければ実行可能である他の命令フォーマットであり得る。
【0044】
コンピュータ可読記憶媒体は、命令および/またはデータをコンピュータシステムに提供するために使用中にコンピュータシステムによってアクセス可能な任意の記憶媒体または記憶媒体の組合せを含み得る。そのような記憶媒体は、光学媒体(例えば、コンパクトディスク(CD)、デジタル多用途ディスク(DVD)、ブルーレイディスク)、磁気媒体(例えば、フロッピー(登録商標)ディスク、磁気テープ、または磁気ハードドライブ)、揮発性メモリ(例えば、ランダムアクセスメモリ(RAM)またはキャッシュ)、不揮発性メモリ(例えば、読み出し専用メモリ(ROM)またはフラッシュメモリ)、または微小な電気機械システム(microelectromechanical systems: MEMS)ベースの記憶媒体を含むことができるが、それらに限定されない。コンピュータ可読記憶媒体は、コンピューティングシステムに埋め込まれてもよく(例えば、システムRAMまたはROM)、コンピューティングシステムに固定して取り付けられてもよく(例えば、磁気ハードドライブ)、コンピューティングシステムに取り外し可能に取り付けられてもよく(例えば、光ディスクまたはユニバーサルシリアルバス(USB)ベースのフラッシュメモリ)、有線もしくは無線ネットワークを介してコンピュータシステムに結合されてもよい(例えば、ネットワークにアクセス可能なストレージ(network accessible storage: NAS))。全般的な説明において上述されたアクティビティまたは要素のすべてが必要とされる
わけではなく、特定のアクティビティまたは装置の一部は必要とされないことがあり得、1つ以上のさらなるアクティビティが、説明されたものに加えて実行され得るか、または要素が含まれ得ることに留意されたい。さらに、アクティビティが列挙される順序は、必ずしもそれらが実行される順序ではない。また、概念は、特定の実施形態を参照して説明されている。しかしながら、当業者は、以下の特許請求の範囲に記載される本開示の範囲から逸脱することなく、様々な修正および変更を行うことができることを理解する。したがって、明細書及び図面は、限定的な意味ではなく例示的な意味でみなされるべきであり、全てのそのような修正は、本開示の範囲内に含まれることが意図される。
【0045】
以下では、いくつかの実施形態を例として説明する。
【0046】
例1:ビデオゲームから受信した言語入力に基づいて、自然言語モデルを用いて第1の応答を決定することと、
当該ビデオゲームを介してユーザに当該第1の応答を提供することとを備える、方法。
【0047】
例2.当該第1の応答を決定することは、
当該自然言語モデルを用いて、当該言語入力と、複数の記憶された候補のうちの第1の候補との間の適合率を決定することと、
当該第1の候補に基づいて当該第1の応答を決定することとを含み、
各候補は潜在的な応答に対応する、例1に記載の方法。
【0048】
例3.当該適合を決定することは、当該言語入力と、当該複数の記憶された候補に対する指定された制約とに基づいて当該適合を決定することを含む、例2に記載の方法。
【0049】
例4.当該適合を決定することは、
当該自然言語モデルと、当該言語入力とに基づいて、当該複数の記憶された候補のランク付けされたリストを決定することと、
当該指定された制約に基づいて、当該ランク付けされたリストから当該第1の候補を選択することとを含む、例2または3に記載の方法。
【0050】
例5.当該適合を決定することは、当該ビデオゲームのゲーム状態に基づいて当該適合を決定することを含む、例2~4のうちの少なくとも1つに記載の方法。
【0051】
例6.当該適合を決定することは、当該自然言語モデルに基づいて識別された以前の応答に基づいて当該適合を決定することを含む、例2~5のうちの少なくとも1つに記載の方法。
【0052】
例7.当該ビデオゲームへの音声入力に基づいて当該言語入力を決定することをさらに含む、先行する例のうちの少なくとも1つに記載の方法。
【0053】
例8.当該ビデオゲームに提供されたユーザダイアログ選択に基づいて当該言語入力を決定することをさらに含む、先行する例のうちの少なくとも1つに記載の方法。
【0054】
例9.ビデオゲームから言語入力を受信することと、
自然言語モデルに基づいて、対応する複数の自然言語応答に関連付けられた複数の候補のランク付けされたリストを決定することと、
当該ビデオゲームを介して、当該ランク付けされたリストに基づいて選択された応答を提供することとを備える、方法。
【0055】
例10.当該ランク付けされたリストを決定することは、
当該自然言語モデルを用いて、当該複数の候補の各々について当該言語入力との適合率を決定することと、
各決定された適合率に基づいて当該ランク付けされたリストを決定することとを含む、例9に記載の方法。
【0056】
例11.当該適合率を決定することは、意味的類似確率を決定することを含む、例10に記載の方法。
【0057】
例12.当該言語入力は自然言語入力である、例9に記載の方法。
【0058】
例13.実行可能な命令のセットを具現化する非一時的コンピュータ可読媒体であって、プロセッサを操作するための当該実行可能な命令のセットは、
ビデオゲームから受信した言語入力に基づいて、自然言語モデルを用いて第1の応答を決定するための命令と、
当該ビデオゲームを介してユーザに当該第1の応答を提供するための命令とを含む、非一時的コンピュータ可読媒体。
【0059】
例14.当該第1の応答を決定するための当該命令は、
当該自然言語モデルを用いて、当該言語入力と、複数の記憶された候補のうちの第1の候補との間の適合率を決定するための命令と、
当該第1の候補に基づいて当該第1の応答を決定するための命令とを含む、例13に記載のコンピュータ可読媒体。
【0060】
例15.当該適合を決定するための当該命令は、当該言語入力と、当該複数の記憶された候補に対する指定された制約とに基づいて当該適合を決定するための命令を含む、例14に記載のコンピュータ可読媒体。
【0061】
例16.当該適合を決定するための当該命令は、
当該自然言語モデルと、当該言語入力とに基づいて、当該複数の記憶された候補のランク付けされたリストを決定するための命令と、
当該指定された制約に基づいて当該ランク付けされたリストから当該第1の候補を選択するための命令とを含む、例15に記載のコンピュータ可読媒体。
【0062】
例17.当該適合を決定するための当該命令は、当該ビデオゲームのゲーム状態に基づいて当該適合を決定するための命令を含む、例15または16に記載のコンピュータ可読媒体。
【0063】
例18.当該適合を決定するための当該命令は、当該自然言語モデルに基づいて識別された以前の応答に基づいて当該適合を決定するための命令を含む、例14~17のうちの少なくとも1つに記載のコンピュータ可読媒体。
【0064】
例19.当該実行可能な命令のセットは、当該ビデオゲームへの音声入力に基づいて当該言語入力を決定するための命令を含む、例13~18のうちの少なくとも1つに記載のコンピュータ可読媒体。
【0065】
例20.当該実行可能な命令のセットは、当該ビデオゲームに提供されたユーザダイアログ選択に基づいて当該言語入力を決定するための命令を含む、例13から19のうちの少なくとも1つに記載のコンピュータ可読媒体。
【0066】
利益、他の利点、および問題に対する解決策は、特定の実施形態に関して上述されてい
る。しかしながら、利益、利点、問題に対する解決策、および任意の利益、利点、または解決策を生じさせ得るか、またはより顕著にさせ得る任意の特徴は、いずれかまたは全ての請求項の重要な、必要な、または本質的な特徴として解釈されるべきではない。さらに、開示される主題は、本明細書の教示の利益を有する当業者に明白である、異なるが同等の様式で修正および実施され得るため、上記に開示される特定の実施形態は、例示にすぎない。以下の特許請求の範囲に記載されている場合を除き、本明細書に示される構造または設計の詳細への限定は意図されない。したがって、上記に開示された特定の実施形態は、変更または修正され得、すべてのそのような変形は、開示された主題の範囲内であるとみなされることが明らかである。したがって、本明細書で求められる保護は、以下の特許請求の範囲に記載されるとおりである。
【手続補正書】
【提出日】2024-08-14
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
コンピュータプログラム[106]から受信した言語入力[116]に基づいて、言語モデル[120]を用いて、複数の記憶された候補を決定することと、
前記複数の記憶された候補のうちの第1の候補を選択することと、
前記第1の候補が前記コンピュータプログラムで使用された以前の応答の定められた回数内で未使用であったと判断したことに応じて、および前記第1の候補がユーザに提供された回数に基づいて、前記選択された第1の候補を前記コンピュータプログラムを介して第1の応答[117]としてユーザに提供することとを備える、方法。
【請求項2】
前記第1の候補を選択することは、
前記言語モデルを用いて、前記言語入力と、前記複数の記憶された候補[226、227]のうちの前記第1の候補との間の適合率を決定することを含み、各候補は潜在的な応答に対応し、前記第1の候補を選択することはさらに、
前記適合率に基づいて前記第1の候補を選択することを含む、請求項1に記載の方法。
【請求項3】
前記適合率を決定することは、前記言語入力と、前記複数の記憶された候補に対する指定された制約[445]とに基づいて、前記適合率を決定することを含む、請求項2に記載の方法。
【請求項4】
前記適合率を決定することは、
前記言語モデルまたは前記言語入力の少なくとも1つに基づいて、前記複数の記憶された候補のランク付けされたリスト[440]を決定することと、
前記指定された制約に基づいて、前記ランク付けされたリストから前記第1の候補を選択することとを含む、請求項3に記載の方法。
【請求項5】
前記適合率を決定することは、前記コンピュータプログラムの状態[446]に基づいて前記適合率を決定することを含む、請求項2~4のいずれか1項に記載の方法。
【請求項6】
前記適合率を決定することは、前記自然言語モデルに基づいて識別された以前の応答に基づいて前記適合率を決定することを含む、請求項2~5のいずれか1項に記載の方法。
【請求項7】
前記コンピュータプログラムへの音声入力に基づいて前記言語入力を決定することをさらに含む、請求項1~6のいずれか1項に記載の方法。
【請求項8】
前記コンピュータプログラムに提供されたユーザダイアログ選択に基づいて前記言語入力を決定することをさらに含む、請求項1~7のいずれか1項に記載の方法。
【請求項9】
前記言語モデルは資源言語モデルである、請求項1~8のいずれか1項に記載の方法。
【請求項10】
コンピュータプログラムから言語入力[116]を受信することと、
言語モデル[120]に基づいて、対応する複数の言語応答に関連付けられた複数の候補[226、227]のランク付けされたリスト[440]を決定することと、
前記コンピュータプログラムを介して、前記ランク付けされたリストに基づいて、選択された応答[117]を提供することとを備え、前記選択された応答は、前記コンピュータプログラムで使用された以前の応答の定められた回数内で前記複数の候補のうちの第1の候補が未使用であることに応じて、および前記第1の候補がユーザに提供された回数に基づいて、前記複数の候補から選択された前記第1の候補を開始する、方法。
【請求項11】
前記ランク付けされたリストを決定することは、
前記言語モデルを用いて、前記複数の候補の各々について前記言語入力との適合率を決定することと、
各決定された適合率に基づいて前記ランク付けされたリストを決定することとを含む、請求項10に記載の方法。
【請求項12】
前記適合率を決定することは、意味的類似確率を決定することを含む、請求項11に記載の方法。
【請求項13】
前記言語入力は自然言語入力である、請求項10に記載の方法。
【請求項14】
前記言語モデルは資源言語モデルである、請求項13に記載の方法。
【請求項15】
請求項1~14のいずれか1項に記載の方法を実行するよう構成されるコンピューティングデバイス。
【請求項16】
コンピュータに命令のセットを実行させるためのプログラムであって、前記命令のセットは、
コンピュータプログラム[106]から受信した言語入力[116]に基づいて、言語モデル[120]を用いて、複数の記憶された候補を決定するための命令と、
前記複数の記憶された候補のうちの第1の候補を選択するための命令と、
前記コンピュータプログラムで使用された以前の応答の定められた回数内で前記第1の候補が未使用であったと判断したことに応じて、および前記第1の候補がユーザに提供された回数に基づいて、前記選択された第1の候補を前記コンピュータプログラムを介して第1の応答[117]としてユーザに提供するための命令とを含む、プログラム。
【請求項17】
前記第1の候補を選択するための前記命令は、
前記言語モデルを用いて、前記言語入力と、前記複数の記憶された候補[226、227]のうちの前記第1の候補との間の適合率を決定するための命令を含み、各候補は潜在的な応答に対応し、前記第1の候補を選択するための前記命令はさらに、
前記適合率に基づいて前記第1の候補を選択するための命令を含む、請求項16に記載のプログラム。
【請求項18】
前記適合率を決定するための前記命令は、前記言語入力と、前記複数の記憶された候補に対する指定された制約[445]とに基づいて前記適合率を決定するための命令を含む、請求項17に記載のプログラム。
【請求項19】
前記適合率を決定するための前記命令は、
前記言語モデルまたは前記言語入力の少なくとも1つに基づいて、前記複数の記憶された候補のランク付けされたリスト[440]を決定するための命令と、
前記指定された制約に基づいて前記ランク付けされたリストから前記第1の候補を選択するための命令とを含む、請求項18に記載のプログラム。
【請求項20】
前記適合率を決定するための前記命令は、前記コンピュータプログラムの状態[446]または前記言語モデルに基づいて識別される以前の応答の少なくとも1つに基づいて前記適合率を決定するための命令を含む、請求項17~19のいずれか1項に記載のプログラム。
【請求項21】
前記言語モデルは資源言語モデルである、請求項16~19のいずれか1項に記載のプログラム。
【手続補正書】
【提出日】2024-09-03
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
コンピュータプログラム[106]から受信した言語入力[116]に基づいて、言語モデル[120]を用いて、複数の記憶された候補を決定することと、
前記複数の記憶された候補のうちの第1の候補を選択することと、
前記第1の候補が前記コンピュータプログラムで使用された以前の応答の定められた回数内で未使用であったと判断したことに応じて、および前記第1の候補がユーザに提供された回数に基づいて、前記選択された第1の候補を前記コンピュータプログラムを介して第1の応答[117]としてユーザに提供することとを備える、方法。
【請求項2】
前記第1の候補を選択することは、
前記言語モデルを用いて、前記言語入力と、前記複数の記憶された候補[226、227]のうちの前記第1の候補との間の適合率を決定することを含み、各候補は潜在的な応答に対応し、前記第1の候補を選択することはさらに、
前記適合率に基づいて前記第1の候補を選択することを含む、請求項1に記載の方法。
【請求項3】
前記適合率を決定することは、前記言語入力と、前記複数の記憶された候補に対する指定された制約[445]とに基づいて、前記適合率を決定することを含む、請求項2に記載の方法。
【請求項4】
前記適合率を決定することは、
前記言語モデルまたは前記言語入力の少なくとも1つに基づいて、前記複数の記憶された候補のランク付けされたリスト[440]を決定することと、
前記指定された制約に基づいて、前記ランク付けされたリストから前記第1の候補を選択することとを含む、請求項3に記載の方法。
【請求項5】
前記適合率を決定することは、前記コンピュータプログラムの状態[446]に基づいて前記適合率を決定することを含む、請求項2~4のいずれか1項に記載の方法。
【請求項6】
前記適合率を決定することは、前記自然言語モデルに基づいて識別された以前の応答に基づいて前記適合率を決定することを含む、請求項2~5のいずれか1項に記載の方法。
【請求項7】
前記コンピュータプログラムへの音声入力に基づいて前記言語入力を決定することをさらに含む、請求項1~6のいずれか1項に記載の方法。
【請求項8】
前記コンピュータプログラムに提供されたユーザダイアログ選択に基づいて前記言語入力を決定することをさらに含む、請求項1~7のいずれか1項に記載の方法。
【請求項9】
前記言語モデルは資源言語モデルである、請求項1~8のいずれか1項に記載の方法。
【請求項10】
コンピュータプログラムから言語入力[116]を受信することと、
言語モデル[120]に基づいて、対応する複数の言語応答に関連付けられた複数の候補[226、227]のランク付けされたリスト[440]を決定することと、
前記コンピュータプログラムを介して、前記ランク付けされたリストに基づいて、選択された応答[117]を提供することとを備え、前記選択された応答は、前記コンピュータプログラムで使用された以前の応答の定められた回数内で前記複数の候補のうちの第1の候補が未使用であることに応じて、および前記第1の候補がユーザに提供された回数に基づいて、前記複数の候補から選択された前記第1の候補を開始する、方法。
【請求項11】
前記ランク付けされたリストを決定することは、
前記言語モデルを用いて、前記複数の候補の各々について前記言語入力との適合率を決定することと、
各決定された適合率に基づいて前記ランク付けされたリストを決定することとを含む、請求項10に記載の方法。
【請求項12】
前記適合率を決定することは、意味的類似確率を決定することを含む、請求項11に記載の方法。
【請求項13】
前記言語入力は自然言語入力である、請求項10~12のいずれか1項に記載の方法。
【請求項14】
前記言語モデルは資源言語モデルである、請求項13に記載の方法。
【請求項15】
請求項1~14のいずれか1項に記載の方法を実行するよう構成されるコンピューティングデバイス。
【請求項16】
コンピュータに命令のセットを実行させるためのプログラムであって、前記命令のセットは、
コンピュータプログラム[106]から受信した言語入力[116]に基づいて、言語モデル[120]を用いて、複数の記憶された候補を決定するための命令と、
前記複数の記憶された候補のうちの第1の候補を選択するための命令と、
前記コンピュータプログラムで使用された以前の応答の定められた回数内で前記第1の候補が未使用であったと判断したことに応じて、および前記第1の候補がユーザに提供された回数に基づいて、前記選択された第1の候補を前記コンピュータプログラムを介して第1の応答[117]としてユーザに提供するための命令とを含む、プログラム。
【請求項17】
前記第1の候補を選択するための前記命令は、
前記言語モデルを用いて、前記言語入力と、前記複数の記憶された候補[226、227]のうちの前記第1の候補との間の適合率を決定するための命令を含み、各候補は潜在的な応答に対応し、前記第1の候補を選択するための前記命令はさらに、
前記適合率に基づいて前記第1の候補を選択するための命令を含む、請求項16に記載のプログラム。
【請求項18】
前記適合率を決定するための前記命令は、前記言語入力と、前記複数の記憶された候補に対する指定された制約[445]とに基づいて前記適合率を決定するための命令を含む、請求項17に記載のプログラム。
【請求項19】
前記適合率を決定するための前記命令は、
前記言語モデルまたは前記言語入力の少なくとも1つに基づいて、前記複数の記憶された候補のランク付けされたリスト[440]を決定するための命令と、
前記指定された制約に基づいて前記ランク付けされたリストから前記第1の候補を選択するための命令とを含む、請求項18に記載のプログラム。
【請求項20】
前記適合率を決定するための前記命令は、前記コンピュータプログラムの状態[446]または前記言語モデルに基づいて識別される以前の応答の少なくとも1つに基づいて前記適合率を決定するための命令を含む、請求項17~19のいずれか1項に記載のプログラム。
【請求項21】
前記言語モデルは資源言語モデルである、請求項16~19のいずれか1項に記載のプログラム。
【外国語明細書】