IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ロブロックス・コーポレーションの特許一覧

特許7529797オンラインゲームのためのユーザ入力テキストの言語検出
<>
  • 特許-オンラインゲームのためのユーザ入力テキストの言語検出 図1
  • 特許-オンラインゲームのためのユーザ入力テキストの言語検出 図2
  • 特許-オンラインゲームのためのユーザ入力テキストの言語検出 図3
  • 特許-オンラインゲームのためのユーザ入力テキストの言語検出 図4
  • 特許-オンラインゲームのためのユーザ入力テキストの言語検出 図5
  • 特許-オンラインゲームのためのユーザ入力テキストの言語検出 図6
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-07-29
(45)【発行日】2024-08-06
(54)【発明の名称】オンラインゲームのためのユーザ入力テキストの言語検出
(51)【国際特許分類】
   G06F 16/9035 20190101AFI20240730BHJP
【FI】
G06F16/9035
【請求項の数】 20
(21)【出願番号】P 2022564424
(86)(22)【出願日】2021-04-14
(65)【公表番号】
(43)【公表日】2023-06-01
(86)【国際出願番号】 US2021027285
(87)【国際公開番号】W WO2021216337
(87)【国際公開日】2021-10-28
【審査請求日】2022-11-02
(31)【優先権主張番号】16/858,467
(32)【優先日】2020-04-24
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】520317055
【氏名又は名称】ロブロックス・コーポレーション
(74)【代理人】
【識別番号】100108453
【弁理士】
【氏名又は名称】村山 靖彦
(74)【代理人】
【識別番号】100110364
【弁理士】
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100133400
【弁理士】
【氏名又は名称】阿部 達彦
(72)【発明者】
【氏名】ニコラウス・ゾンターク
(72)【発明者】
【氏名】アスワス・マノハラン
(72)【発明者】
【氏名】イ-ウ・ル
(72)【発明者】
【氏名】エリック・ホルムデール
(72)【発明者】
【氏名】マドホク・シヴァラトレ
【審査官】酒井 恭信
(56)【参考文献】
【文献】特表2017-532684(JP,A)
【文献】特開平06-110948(JP,A)
【文献】特開2000-250905(JP,A)
【文献】米国特許出願公開第2018/0189259(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 16/00 - 16/958
(57)【特許請求の範囲】
【請求項1】
オンラインゲームに対するユーザクエリのための言語ベース検索の方法であって、前記方法はゲームサーバによって実行され、
前記ユーザクエリを受信するステップと、
前記ユーザクエリを複数のn-グラムに分離するステップと、
記ユーザクエリの前記複数のn-グラムを入力とする機械学習モデルを用いることによって、前記ユーザクエリの少なくとも1つの候補言語の少なくとも1つの候補言語識別子および前記少なくとも1つの候補言語のそれぞれの信頼スコアを生成するステップであって、前記機械学習モデルは、少なくとも1つの多言語テキストコーパスおよびゲーム関連データを用いてトレーニングされる、ステップと
頼しきい値を満たす信頼スコアを有する前記少なくとも1つの候補言語の各々と関連づけられた言語固有のゲームデータベース内で、前記ユーザクエリに基づくゲーム情報の検索を実行して、前記ユーザクエリに対する1つまたは複数の応答マッチを発見するステップと、
前記1つまたは複数の応答マッチの各々に対するそれぞれのマッチスコアを決定するステップと、
少なくとも前記それぞれの信頼スコアおよび前記それぞれのマッチスコアのそれぞれの加重スコアに少なくとも部分的に基づいて、特定の応答マッチと関連づけられたゲーム情報を含む検索結果の応答を提供するステップと
を含む、方法。
【請求項2】
前記応答を提供するステップが、前記それぞれの加重スコアに従って前記応答マッチをランク付けるステップを含み、前記方法が、ランキングしきい値を満たす前記1つまたは複数の応答マッチに少なくとも部分的に基づいて前記検索結果を生成するステップをさらに含む、請求項1に記載の方法。
【請求項3】
前記検索結果を生成するステップが、前記ユーザクエリのユーザと関連づけられたユーザプロフィール情報にさらに基づく、請求項2に記載の方法。
【請求項4】
前記ゲーム情報が、オンラインゲームに対する接続情報を含み、前記応答が、ユーザによって起動されたとき、前記オンラインゲームのそれぞれの1つをプレーすることと関連づけられたデジタル情報にナビゲートする1つまたは複数のユーザインターフェース要素を含む、請求項1に記載の方法。
【請求項5】
前記それぞれの信頼スコアを決定するステップが、前記機械学習モデルによって、前記少なくとも1つの候補言語に関する前記複数のn-グラムの1つまたは複数のセグメントを決定するステップを含む、請求項1に記載の方法。
【請求項6】
前記少なくとも1つの候補言語が未確認言語を含み、前記言語固有のゲームデータベースが、未知の言語と関連づけられたデータベースを含む、請求項1に記載の方法。
【請求項7】
前記少なくとも1つの多言語テキストコーパスおよび前記ゲーム関連データは、第1のテキストデータ、前記第1のテキストデータに対する関連する言語ラベル、および言語に対してラベリングされていない第2のテキストデータを含むテキストデータを含み、
少なくとも1つの言語を識別する複数の非固有言語検出器のしきいの数に基づいて、前記第2のテキストデータに対する関連する言語ラベルを決定するステップと、
前記テキストデータをn-グラムに分離することによってトレーニングテキストデータを生成するステップと、
前記ユーザクエリの前記少なくとも1つの候補言語の前記少なくとも1つの候補言語識別子および前記少なくとも1つの候補言語の前記それぞれの信頼スコアを生成するために前記機械学習モデルをトレーニングするステップであって、
前記機械学習モデルによって現在の予測言語ラベルを取得するために前記関連する言語ラベルなしに前記トレーニングテキストデータを用いてトレーニングするステップと、
前記現在の予測言語ラベルを更新するために、前記現在の予測言語ラベルと前記関連する言語ラベルとの間の不一致情報を用いて前記機械学習モデルを再トレーニングするステップと
を含む、ステップと
さらに含む、請求項1に記載の方法。
【請求項8】
前記トレーニングするステップが、前記不一致情報が精度のしきい値を満たすまで前記再トレーニングするステップを反復して繰り返すステップをさらに含む、請求項7に記載の方法。
【請求項9】
前記トレーニングテキストデータを生成するステップが、上限しきい値長より大きい長さを有する前記テキストデータの単語文字列を所定の長さのランダム語長に分割するステップをさらに含む、請求項7に記載の方法。
【請求項10】
前記トレーニングテキストデータを生成するステップが、拡張された単語の文字列を生成するために、下限しきい値長より短い長さを有するテキストデータの単語文字列を関連するテキストと統合するステップをさらに含む、請求項7に記載の方法。
【請求項11】
前記トレーニングテキストデータを生成するステップが、言語間および言語内の共通性のしきい値を満たす前記n-グラムを決定するステップによるものである、請求項7に記載の方法。
【請求項12】
前記n-グラムが、1つの文字、2つの文字、または3つの文字のうちの少なくとも1つを含む、請求項7に記載の方法。
【請求項13】
前記テキストデータが、ゲームタイトル、チャットテキスト、ゲームソースデータ、または俗語のうちの少なくとも1つを含むゲーム関連データの少なくとも1つのコレクションを含む、請求項7に記載の方法。
【請求項14】
オンラインゲームに対するユーザクエリのための言語ベース検索を実行するコンピューティングデバイスを含むシステムであって、前記コンピューティングデバイスは、
1つまたは複数のプロセッサと、
前記1つまたは複数のプロセッサが実行するプログラムを記憶した1つまたは複数の記録媒体と
を備え、
前記1つまたは複数のプロセッサが前記プログラムを実行することによって、
前記ユーザクエリを受信することと、
前記ユーザクエリを複数のn-グラムに分離することと、
前記ユーザクエリの前記複数のn-グラムを入力とする機械学習モデルを用いることによって、前記ユーザクエリの少なくとも1つの候補言語の少なくとも1つの候補言語識別子および前記少なくとも1つの候補言語のそれぞれの信頼スコアを生成することであって、前記機械学習モデルは、少なくとも1つの多言語テキストコーパスおよびゲーム関連データを用いてトレーニングされる、生成することと
頼しきい値を満たす信頼スコアを有する前記少なくとも1つの候補言語の各々と関連づけられた言語固有のゲームデータベース内で、前記ユーザクエリに基づくゲーム情報の検索を実行して、前記ユーザクエリに対する1つまたは複数の応答マッチを発見することと、
前記1つまたは複数の応答マッチの各々に対するそれぞれのマッチスコアを決定することと、
少なくとも前記それぞれの信頼スコアおよび前記それぞれのマッチスコアのそれぞれの加重スコアに少なくとも部分的に基づいて、特定の応答マッチと関連づけられたゲーム情報を含む検索結果の応答を提供することと
を含む動作を行う、システム。
【請求項15】
前記応答を提供することが、前記それぞれの加重スコアに従って前記応答マッチをランク付けることを含み、前記動作が、ランキングしきい値を満たす前記1つまたは複数の応答マッチに少なくとも部分的に基づいて前記検索結果を生成することをさらに含む、請求項14に記載のシステム。
【請求項16】
前記ランキングしきい値が、上位の所定の数の応答マッチまたは所定の値を超える加重スコアを有する応答マッチのうちの少なくとも1つを含む、請求項15に記載のシステム。
【請求項17】
前記検索結果を生成することが、前記ユーザクエリのユーザと関連づけられたユーザプロフィール情報にさらに基づく、請求項15に記載のシステム。
【請求項18】
前記ゲーム情報が、オンラインゲームに対する接続情報を含み、前記応答が、前記オンラインゲームのそれぞれの1つをプレーすることと関連づけられたデジタル情報にナビゲートするためのディスプレイ要素を含む、請求項14に記載のシステム。
【請求項19】
前記それぞれの信頼スコアを決定することが、前記機械学習モデルによって前記少なくとも1つの候補言語に関する前記複数のn-グラムの1つまたは複数のセグメントを決定することを含む、請求項14に記載のシステム。
【請求項20】
前記少なくとも1つの候補言語が未確認言語を含み、前記言語固有のゲームデータベースが、未知の言語と関連づけられたデータベースを含む、請求項14に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願
本出願は、その全体があらゆる目的のために参照により本明細書に組み込まれる、2020年4月24日に出願された"Language Detection of User Input Text For Online Gaming"と題する米国出願第16/858,467号の利益を主張する。
【背景技術】
【0002】
オンラインゲームは、地理および言語の境界にかかわらず、世界各国に位置するプレーヤが一緒に参加する機会を提供する。ゲームプラットフォームは、しばしばゲームと対話しているユーザを助ける、検索クエリなどのテキストをユーザが入力することを可能にする。オンラインゲームに入力されたテキストは、一般的に、顕著な特徴を有する。テキストの言語の考え得る候補を認識することは、テキストに効果的に応答するのを助ける場合がある。
【0003】
機械学習が、オンラインゲームプラットフォームのユーザによって入力されたテキストを解釈するために、自然言語処理(NLP)のために活用されてもよい。アルゴリズム、たとえば予測モデルが、トレーニングを介して経験データから学習するために、およびユーザ入力テキストの分析を実行するために生成されることが可能である。そのような人工知能は、オンラインゲームの文脈において機械学習モデルを適切にトレーニングするために、クリーンで関係のあるデータを必要とする。
【発明の概要】
【課題を解決するための手段】
【0004】
本出願の実装形態は、オンラインゲームのユーザによって入力されたユーザクエリの言語を、トレーニングされた機械学習モデルの使用によって検出することに関する。機械学習モデルは、オンラインゲームに関する処理されたテキストデータを用いてトレーニングされる。
【0005】
いくつかの実装形態では、本方法は、ユーザクエリを受信するステップと、ユーザクエリを複数のn-グラムに分離するステップとを含む。少なくとも1つの候補言語が、機械学習モデルをユーザクエリの複数のn-グラムに適用することによって識別される。機械学習モデルは、少なくとも1つの多言語テキストコーパスとゲーム関連データとを用いてトレーニングされる。少なくとも1つの候補言語の各々に対するそれぞれの言語信頼スコアが、機械学習モデルを適用することによって決定される。少なくとも1つの候補言語は、検索するための少なくとも1つの言語固有のデータベースを選択するために使用される。応答マッチが少なくとも1つの言語固有のデータベース内で識別され、それぞれのマッチスコアが、応答マッチの各々に対して決定される。加重スコアが、少なくともそれぞれの言語信頼スコアおよびそれぞれのマッチスコアによって決定される。加重スコアは、ユーザクエリに対して少なくとも1つのクエリ言語を決定するための基準(basis)として使用される。
【0006】
方法の様々な実装形態および例について説明する。たとえば、いくつかの実装形態では、本方法は、少なくとも1つの言語固有のゲームデータベース内の応答マッチと関連づけられたゲーム情報を決定するステップも含む。ユーザクエリに対する検索結果が、ゲーム情報に基づいて生成される。ゲーム情報は、オンラインゲームに対するウェブページ情報を含んでもよい。検索結果は、ユーザによって起動されると、オンラインゲームのそれぞれの1つに関連するウェブページをリンクする1つまたは複数のユーザインターフェース要素を含んでもよい。
【0007】
いくつかの実装形態では、ユーザクエリと関連づけられたユーザプロフィール情報が提供され、少なくとも1つのクエリ言語は、ユーザプロフィール情報にさらに基づく。それぞれの信頼スコアが、少なくとも1つの候補言語に関する複数のn-グラムの1つまたは複数のセグメントを識別することによってさらに決定されてもよい。少なくとも1つの候補言語はまた、未確認言語を含んでもよく、言語固有のゲームデータベースは、未知の言語と関連づけられたデータベースを含んでもよい。
【0008】
いくつかの実装形態では、オンラインゲームに対するユーザクエリの言語を検出するために1つまたは複数のプロセッサを有するコンピューティングデバイスを含むシステムが提供される。コンピューティングデバイスはまた、1つまたは複数のプロセッサによる実行のために1つまたは複数の有形媒体内に符号化され、実行されると、動作を実行するように動作可能である論理を含む。動作は、ユーザクエリを受信することと、ユーザクエリを複数のn-グラムに分離することとを含む。少なくとも1つの候補言語が、機械学習モデルをユーザクエリの複数のn-グラムに適用することによって識別される。機械学習モデルは、少なくとも1つの多言語テキストコーパスとゲーム関連データとを用いてトレーニングされる。少なくとも1つの候補言語の各々に対するそれぞれの信頼スコアが、機械学習モデルを適用することによって決定される。少なくとも1つの候補言語が、検索するための少なくとも1つの言語固有のデータベースを選択するための動作によって使用される。応答マッチが、少なくとも1つの言語固有のデータベース内で識別され、それぞれのマッチスコアが、応答マッチの各々に対して決定される。加重スコアが、少なくともそれぞれの言語信頼スコアおよびそれぞれのマッチスコアによって決定される。加重スコアは、ユーザクエリに対して少なくとも1つのクエリ言語を決定するための動作によって基準として使用される。
【0009】
動作によって実行される動作の様々な実装形態および例について説明する。たとえば、いくつかの実装形態では、本動作はまた、少なくとも1つの言語固有のゲームデータベース内の応答マッチと関連づけられたゲーム情報を決定することを含む。ユーザクエリに対する検索結果が、ゲーム情報に基づいて生成される。ゲーム情報は、オンラインゲームに対するウェブページ情報を含んでもよい。検索結果は、ユーザによって起動されると、オンラインゲームのそれぞれの1つに関連するウェブページをリンクする1つまたは複数のユーザインターフェース要素を含んでもよい。
【0010】
いくつかの実装形態では、ユーザクエリと関連づけられたユーザプロフィール情報が提供され、少なくとも1つのクエリ言語が、ユーザプロフィール情報にさらに基づく動作によって決定される。それぞれの信頼スコアが、少なくとも1つの候補言語に関する複数のn-グラムの1つまたは複数のセグメントを識別する動作によってさらに決定されてもよい。少なくとも1つの候補言語はまた、未確認言語を含んでもよく、言語固有のゲームデータベースは、未知の言語と関連づけられたデータベースを含んでもよい。
【0011】
オンラインゲームに対するユーザクエリの言語を識別するために機械学習モデルをトレーニングする方法の様々な実装形態および例について説明する。少なくとも第1のテキストデータと、第1のテキストデータに対する関連する言語ラベルと、言語に対してラベリングされていない第2のテキストデータとを含むテキストデータが受信される。関連する言語ラベルは、少なくとも1つの言語を識別する複数の非固有言語検出器のしきいの数に基づいて、第2のテキストデータに対して決定される。トレーニングテキストデータは、テキストデータをn-グラムに分離することによって生成される。機械学習モデルは、ユーザクエリの少なくとも1つの候補言語識別子とそれぞれの言語信頼スコアとを生成するためにトレーニングされる。トレーニングテキストデータは、関連する言語ラベルなしにトレーニングするために機械学習モデルに供給される。機械学習モデルは、予測される言語ラベルを出力する。機械学習モデルの再トレーニングが、現在の予測言語ラベルを更新するために、現在の予測言語ラベルと、関連する言語ラベルとの間の不一致情報を用いて実施されてもよい。再トレーニングは、不一致情報が精度のしきい値を満たすまで反復して繰り返されてもよい。
【0012】
いくつかの実装形態では、トレーニングテキストデータを生成することは、上限しきい値長より大きい長さを有するテキストデータの単語文字列を所定の長さのランダム語長に分割することをさらに含む。いくつかの実装形態では、トレーニングテキストデータを生成することは、拡張された単語の文字列を生成するために、下限しきい値長より短い長さを有するテキストデータの単語文字列を、関連するテキストと統合することをさらに含む。トレーニングデータセットがまた、言語間および言語内の共通性しきい値を満たすn-グラムを決定することによって生成されてもよい。いくつかの実装形態では、n-グラムは、1つの文字、2つの文字、または3つの文字のうちの少なくとも1つを含んでもよい。
【0013】
いくつかの実装形態では、テキストデータは、ゲームタイトル、チャットテキスト、ゲームソースデータ、または俗語のうちの少なくとも1つを含むゲーム関連データの少なくとも1つのコレクションを含んでもよい。いくつかの実装形態では、複数の言語に対するそれぞれの信頼スコアを含むベクトルが生成され、それぞれの信頼スコアに対応する少なくとも1つの言語固有のゲームデータベースのうちの複数の言語固有のデータベースがユーザクエリに基づいて検索される。
【0014】
本開示は、限定のためではなく、例として図において示され、図では、同様の参照符号は同様の要素を指すために使用される。
【図面の簡単な説明】
【0015】
図1】いくつかの実装形態による、ユーザクエリを評価する様々な態様がオンラインゲームシステムの中に実装されてもよい、例示的な環境を示す概念図である。
図2】いくつかの実装形態による、テキストデータを前処理し、言語分析システムのためのトレーニングテキストデータを生成するための例示的なデータ処理コンピューティングデバイスの要素を示すブロック図である。
図3】いくつかの実装形態による、言語分析システムに対する機械学習モデルをトレーニングするための例示的な方法を示すフローチャートである。
図4】いくつかの実装形態による、機械学習モデルを適用することによってユーザクエリを評価するための例示的な方法を示すフローチャートである。
図5】いくつかの実装形態による、ユーザクエリを分析し、検索結果応答を提供するための例示的なコンピューティングデバイスを示すブロック図である。
図6】いくつかの実装形態による、クライアントデバイスからコンピューティングデバイスに通信されるユーザクエリと、分析されるユーザクエリと、クライアントデバイスに伝送される検索結果応答とのための例示的なオンラインゲームシステムアーキテクチャのブロック図である。
【発明を実施するための形態】
【0016】
オンラインゲームシステムは、ユーザ(たとえば、ゲームのプレーヤ、ゲーム開発者など)がオンラインゲームプラットフォーム、たとえばクライアントコンピューティングデバイスを介してゲームにアクセスすることを可能にする。いくつかの実装形態では、ユーザは、オンラインゲームシステム内でテキストメッセージ、たとえばクエリ、コマンド、チャットなどを伝送することによって、オンラインゲームシステムとまたはオンラインゲームシステムの他のユーザと通信してもよい。たとえば、ユーザクエリは、情報を要求するために、およびたとえばゲームタイトル、キーワード、ゲームの説明、分野、プレーヤ、開発者、ゲーム品質などによってゲームを特定するために、ユーザによって入力されてもよい。ユーザクエリはまた、いくつかのプレーヤもしくはプレーヤグループを特定すること、アバターパーツ、衣類およびアクセサリーなど、ゲーム内で使用するための仮想アイテム、ならびにパッケージ、デカル、オーディオおよびプラグインなどのゲーム開発者ツールなど、ゲームの特定の態様を発見するために入力されてもよい。
【0017】
様々な実装形態では、現在のオンラインゲームシステムは、ユーザクエリを評価し、クエリに対する検索結果を含む応答を編成する。オンラインゲームシステムは、ユーザクエリの言語である可能性がある言語を検出し、応答を編成するために結果に対して効率的で信頼性のある検索を助けるために、言語分析システムを使用する。
【0018】
しばしば、ユーザによってオンラインゲームプラットフォームに入力されたユーザクエリは、典型的な簡易言語分析に対する理想的な長さより短い長さのテキスト文字列である。たとえば、ユーザクエリは、10語の文字列、数語もしくは2語の文字列、または単一の語である場合がある。ユーザクエリは、1つまたは複数のキーワード、1つのフレーズ、短文、ゲームタイトルなどの形である場合がある。オンラインゲーム内のユーザクエリはまた、独特のパターンおよびルールを有するユニークな隠語を含む場合がある。ユーザクエリは、1つまたは複数の様々な言語、たとえばある国もしくは地理的領域に特有の言語、ユーザのグループによって知られている言語、またはコードの中にある場合がある。オンラインゲームプラットフォーム内で使用される独特のテキストに起因して、たとえばNLPによる標準的言語分析技法は、オンラインゲームプラットフォームに入力されたユーザクエリに適用するとき、間違った言語予測をもたらす場合がある。現在の言語分析システムは、たとえば特別にトレーニングされた機械学習モデルを適用することと、ユーザクエリを処理することと、スコアを決定して重みを量ることとをすべて、提示された記述に従って行うことによって、ユーザクエリ言語である可能性の決定を可能にする。オンラインゲームシステムは、たとえば特定の言語に専用のゲーム関連データベースを提供すること、およびゲーム情報に対する検索をユーザクエリ言語とマッチする可能性が最も高い特定の言語データベースに限定することによって、ユーザクエリに対する応答において、効率的でリソースを節約するゲーム情報の検索を可能にする。検索するための特定の言語データベースを識別することは、応答マッチを発見することに無関係のデータベースを含めてすべて言語のデータベースをくまなくチェックする必要性を低減し、したがって処理時間および計算リソースを低減する。
【0019】
検索を候補言語の言語固有のデータベースに狭めることで、より有意義な検索語の使用が可能になってより良い結果をもたらす場合がある。様々な言語を、検索語を解釈するために様々なルールを適用してもよく、たとえば必ずしもすべての言語が、単語の間にスペースを使用するとは限らない。また、冠詞"the"または"a"などの一般的な単語は、特定の言語における検索に対して考慮されないが、別の言語においては重要である場合がある。
【0020】
言語分析システムによって使用される重み値を採点して割り当てるための技法、ならびに機械学習モデルの再トレーニングが、検索結果のより高い精度および信頼性を可能にする。さらに、特にオンラインゲームに対するテキストに対してトレーニングされた現在の機械学習モデルがないと、標準的NLPがそこからクエリ言語を推測することができる簡潔なユーザクエリの中に十分な情報が存在しない場合がある。
【0021】
オンラインゲームシステムによって処理されるユーザクエリなどのユーザクエリが、明確にトレーニングされた機械学習モデルへの入力として提供される。機械学習モデルは、ユーザクエリの候補言語を予測し、候補言語に対する言語信頼スコアを出力する。たとえば、信頼しきい値を満たす信頼スコアと関連づけられた候補言語が、どの言語固有のデータベースを検索するかを決定するために使用されてもよい。ユーザクエリは、それぞれの候補言語のうちの少なくとも一部に対して個別のストレージバケット(たとえば、データベース)内のゲーム情報と関連づけられた、記憶されたクエリデータと照合される。各応答マッチに対するマッチスコアが、それぞれの応答マッチの確実性に基づいて決定されてもよい。マッチスコアおよび言語信頼スコアが、加重スコアを決定するために重み付けられてもよい。加重スコアは、応答マッチからのどの検索結果をユーザへの応答の中で提供するかを決定するために使用されてもよい。たとえば、検索結果が、加重スコアに基づいてランク付けられてもよく、検索結果の上位しきい値数が、ユーザクエリへの応答の中で使用されてもよい。
【0022】
言語分析システムの機械学習モデルは、オンラインゲームの文脈に対して前処理された、関係のあるテキストデータを用いてトレーニングされる。オンラインゲームプラットフォームに関連するテキストは、一般的にユニークである。機械学習モデルは、ユーザクエリの評価において正確に実行するために、実際のオンラインゲームデータ上でトレーニングされていることから恩恵を受ける。予測される言語ラベルが、トレーニング中に機械学習モデルによって生成される。言語ラベルは、機械学習モデルを更新して目標の精度のレベルを達成するためのフィードバック入力として使用されてもよい。
【0023】
一実装形態による言語分析システムを使用するオンラインゲームシステムの使用例の説明において、オンラインゲームシステムのプレーヤは、自身の仮想ピザ事業を運営することができるオンラインゲームを特定しようと試みる。使用例をさらに説明するために、図1は、ゲームサーバ130と通信しているクライアントコンピューティングデバイス102を含む、そのようなオンラインゲームシステム100の実例を示す。
【0024】
使用例では、プレーヤは、ゲームが「将軍」(tycoon)という単語に関連することを知っている。プレーヤは、クライアントコンピューティングデバイス102の表示スクリーン106上のユーザインターフェース104によって、クライアントコンピューティングデバイス102上のゲームに対する検索を実施する。ユーザは、キーボード108を使用してテキストボックス110の中にユーザクエリ114を打ち込む。この例におけるユーザクエリ114は、「ピザ」と"el magnate"というキーワードを含有しており、"el magnate"は「将軍」に対するスペイン語である。プレーヤは、入力されたキーワードに関連するゲームに対する検索を開始するために、ユーザインターフェース104上の表示要素112を起動する。
【0025】
ユーザクエリ114は、ネットワーク122を介してゲームサーバ130に伝送される。ゲームサーバ130は、メモリ132内に記憶されている言語分析システム134にアクセスするプロセッサ140を含み、ユーザクエリ114に対する検索結果応答を形成するために、説明したステップのうちの1つまたは複数を実行してもよい。
【0026】
ユーザクエリ114は、ユーザクエリの少なくとも1つの候補言語と各候補言語に対する信頼スコアとを決定するために、処理されて、言語分析システム134の機械学習モデル136に入力されてもよい。機械学習モデル136は、オンラインゲームに特有のユーザクエリの独特のフォーマットにテキストデータを適応させるように前処理されているテキストデータを用いてトレーニング済みである。前処理は、機械学習モデル136が、ユーザクエリ内の少数の入力された単語から言語を認識することを可能にする。機械学習モデル136は、目標の精度のレベルに到達するためにテキストデータを用いて更新されてもよい。
【0027】
使用例では、検索エンジン138が、"el magnate"という単語に対する候補言語がスペイン語である場合があるものと決定する。「ピザ」という単語に対する候補言語は、スペイン語である場合があり、および同じく、英語および/またはイタリア語である場合がある。言語分析システムは、3つの候補言語のすべてが、所定のしきい値を満たす信頼スコアを有するものと決定する。言語分析システム134は、「将軍」および「ピザ」という用語に関連するゲーム関連情報にマッチすることを発見するために、スペイン語、英語およびイタリア語の各々と関連づけられた個別のデータベースの中で検索する。マッチスコアが、それぞれの言語固有のデータベース内の各応答マッチに対して決定される。応答スコアは、データベースマッチの確実性に基づく。応答に含まれるべき検索結果は、組み合わされた、信頼スコアおよび個別の応答マッチに対する応答スコアの加重スコアに少なくとも部分的に基づいて決定される。加えて、プレーヤは、スペイン語を自身に対する望ましい言語としてリストアップしているオンラインゲームプラットフォームと関連づけられたユーザプロフィールを有する。そのようなユーザ情報もまた、プレーヤに提供される応答の中でスペイン語のデータベースからの検索結果のランキングを引き上げるための一因とされる場合がある。
【0028】
ゲームプラットフォームデバイスは、スペイン語データベースから、ゲームタイトルの中に「将軍」もしくは「大物」という単語および「ピザ」という単語を含むか、またはピザ事業所有者に関連するいくつかのゲームを回収する。マッチしたゲームの検索結果が、ネットワーク122を介してクライアントコンピューティングデバイス102に伝送され、クライアントコンピューティングデバイス102の表示スクリーン106上に選択可能なアイコン116として現れる。検索結果は、ユーザクエリに対する加重スコアおよび関連性に見合った順序で表示される。プレーヤの観点から言えば、自身の検索クエリの結果が即座に受信される。ユーザインターフェース104上で、プレーヤは、自身がプレーするために選択するゲームに対するアイコン116のうちの1つをクリックし、リンクがこのプレーヤを、ゲームをプレーするためのウェブページに接続する。
【0029】
例示的なトレーニングデータの前処理
図2は、データ処理デバイス200の1つまたは複数のプロセッサ242によって実行されるテキストデータを前処理するための、図1に示すゲームサーバ130などのデータ処理デバイス200をブロック図で示す。テキストデータは、オンラインゲームの文脈において機械学習モデルをトレーニングするように適応される。
【0030】
いくつかの実装形態では、データ処理デバイス200は、ゲームサーバ130とは別のコンピュータであってもよい。この場合、処理されたトレーニングデータが、機械学習モデル136をトレーニングするためにデータ処理デバイス200によって使用されてもよく、次いで機械学習モデル136をトレーニングするためにゲームサーバ130にまたは別の介在するコンピューティングデバイスに、データ処理デバイス200によって伝送されてもよい。データ処理デバイス200によって使用される技法は、ユーザクエリの言語を決定するための機械学習モデル136のトレーニングに備えてトレーニングテキストデータを生成するために使用される。
【0031】
いくつかの実装形態では、2つ以上の機械学習モデル136が、トレーニングテキストデータの少なくとも一部を用いてトレーニングされてもよい。いくつかの実装形態では、様々なタイプのテキストデータが、複数の機械学習モデルをトレーニングするために使用される。機械学習モデルが評価されてもよく、機械学習モデルは、ユーザクエリに対する精度および関連性に対して評価することなど、特定のユーザクエリに対して選択されてもよい。
【0032】
テキストデータは、入力/出力インターフェース222においてデータ処理デバイス200によって様々なソースから受信されるテキストデータ202の様々なタイプのコレクションを含んでもよい。テキストコレクション202は、様々な言語の中にあってもよく、または言語の混合を含む場合がある単一のコレクションであってもよい。
【0033】
テキストコレクション202は、事前にラベリングされた拡張テキストデータ208および事前にラベリングされたゲーム関連テキストデータ210など、テキストの言語を規定する従前のラベルを有するテキストデータを含んでもよい。たとえば、事前にラベリングされた拡張テキストデータ208は、多くの言語および方言、たとえば数百の言語に翻訳される場合がある多言語テキストコーパスなど、多量の公的に入手可能なコーパスを含んでもよい。多言語テキストコーパスは、オンライン百科事典、たとえば様々な言語におけるウィキペディア(www.wikipedia.org)を含んでもよく、そのデータはまた、ウィキペディアアプリケーションプログラミングインターフェース(API)を通してアクセスされてもよい。多言語テキストコーパスはまた、国際的歴史資料、たとえば世界人権宣言(https://www.ohchr.org/EN/UDHR/Pages/UDHRIndex.aspx)を含んでもよい。いくつかの事前にラベリングされたテキストデータは、ラベル検証器226によって検証された前の言語ラベルを有する場合がある。
【0034】
ラベル検証器226は、事前にラベリングされたテキストデータの既存の言語ラベルが正しいか正しくないかの表示を提供する。ラベル検証器は、たとえば所与のテキストデータに対する既存の言語ラベルにおいて適正な信頼がない場合、ラベルの精度を高めるのを助けてもよい。たとえば、テキストコレクションは、1つの言語の中のテキストの大部分を含んでもよいが、同様に、他の言語の中の単語(たとえば、名前など)を含んでもよい。ラベル検証器226は、非固有言語検出器によって示される言語内で最小のしきいの一致を有する言語を検出するために、複数の非固有言語検出器、たとえば公的に入手可能なライブラリを使用してもよい。非固有言語検出器は、オープンソース、有料サービス、オンラインゲームシステムによって生成された前のバージョンのモデル、ならびに他の言語検出モデルおよび言語ライブラリの任意の組み合わせを含む、言語検出モデルおよび/または言語ライブラリを使用してもよい。いくつかの実装形態では、最小の信頼しきい値は、より確信的な言語ラベルに由来する事前にラベリングされたテキストデータに対してより低くなるように調整されてもよい。既存のラベルと、非固有言語検出器のしきいの数によって決定された言語との間の一致を有する、入力された事前にラベリングされたテキストデータ文字列が、トレーニングデータセットに追加されてもよい。非固有言語検出器が、所与の既存のラベルに対する信頼しきい値レベルに対して同じ言語を検出することができない場合、事前にラベリングされたテキストデータがトレーニングデータから排除されてもよい。
【0035】
ゲーム関連テキストデータ210は、ゲームタイトル、ゲームの指導、ゲームの一部としてプレーヤに表示されるテキスト、ゲームの説明、オンラインゲームプラットフォーム内の共通ユーザ検索クエリ、オンラインゲームプラットフォーム内の共通チャットメッセージ、オンラインゲームに関連する典型的な俗語など、オンラインゲームに関連する様々なテキストを含んでもよい。いくつかの実装形態では、ゲーム関連テキストデータ210は、評判しきい値および/またはランキングを満たすオンラインゲームから選択される。ゲーム関連データは、主に、特定の言語、たとえば英語の中に存在する場合があり、主要言語内に手動で追加されたラベルを含んでもよい。ゲーム開発者は、言語ラベルをゲームに関連するテキストと関連づけてもよい。しかしながら、手動でラベリングされたテキストデータは、信頼性を欠く場合があり、ラベルは、ラベル検証器226によって評価されてもよい。特にあまり未知の言語におけるテキストデータに対して、ゲーム関連データおよび関連する言語ラベルを翻訳するために、機械翻訳が、同様に、そのようなテキストデータに適用されてもよい。これは、トレーニングデータの既存のコーパスが入手可能なデータサンプルの数において制限されることがある場合に、言語内に追加のトレーニングデータを提供してもよい。
【0036】
テキストコレクション202はまた、ラベリングされていない省略テキストデータ204およびラベリングされていない拡張テキストデータ206、たとえばオンラインゲームの説明など、既存の言語ラベルのないテキストデータを含んでもよい。
【0037】
ラベリングされていないテキストデータは、自動ラベラ224によって生成され、テキストデータと関連づけられた言語ラベルを有してもよい。テキストデータのコレクションは、ゲームタイトル、チャットテキスト、ゲームソースデータ、俗語、およびオンラインゲームに共通する他のテキストなどのゲーム関連データを含んでもよい。自動ラベラ224は、大きいトレーニングデータのセットを蓄積するために、所与のテキストデータ文字列の言語を検出するための複数の言語検出モデルおよび言語ライブラリを使用して複数の非固有言語検出器を使用してもよい。これらのモデルおよびライブラリコーパスは、オープンソース、有料サービス、オンラインゲームシステムによって生成された前のバージョンのモデル、ならびに他の言語検出モデルおよび言語ライブラリの任意の組み合わせであってもよい。非固有言語検出器のいずれかによる言語決定は、自動ラベリングに対して考慮されるべき信頼しきい値を満たす必要がある場合がある。自動ラベラ224に入力されたラベリングされていないテキストデータ文字列の各々に対して、言語ラベルは、非固有言語検出器のしきいの数が最小の信頼しきい値を有する同じ言語を識別する場合、そのテキストデータと関連づけられる。たとえば、設定可能な高レベル(たとえば、しきい値)の信頼を有するすべての言語検出器から言語予測一致がある場合、ラベルおよびテキストが、トレーニングデータのために含まれてもよい。非固有言語検出器が、所与のラベリングされていないテキストデータ文字列に対する信頼しきい値レベルに対して同じ言語を検出することができない場合、ラベリングされていないテキストデータが、トレーニングデータから排除されてもよい。
【0038】
テキストデータはまた、上限しきい値長より大きい長さの単語文字列を含んでもよい。たとえば、公的に入手可能なコーパスは、非常に長い文および段落を含む場合がある。拡張テキストコレクションは、たとえば事前にラベリングされた拡張テキストデータ208とラベリングされていない拡張テキストデータ206とを含む場合がある。対照的に、オンラインゲームプラットフォームに対するユーザクエリは、短い単語文字列である場合がある。そのような短いユーザクエリに関する拡張テキストコレクションを作成するために、拡張テキストコレクションの文字列が、典型的なユーザクエリ文字列の長さに類似するように、低減された長さにランダム化されてもよい。拡張テキストデータは、テキストスプリッタ230によって、1~5個の単語を有する文字列などのランダム語長文字列に分割されてもよい。
【0039】
ラベリングされていない省略テキストデータ204などの省略テキストデータ204が、1~5個の語など、下限しきい値長より短い長さの単語文字列を有してもよい。省略テキストデータの例は、記憶されたチャットテキストと、ゲームプラットフォーム内で前に利用された前の検索クエリとを含んでもよい。短いテキスト文字列は、テキストデータを自動でラベリングするために、または事前のラベルを検証するために検出することが困難であることがある。省略テキストデータは、テキストマージャ228によって統合されてもよい。省略テキストデータ文字列は、より容易な自動ラベリングを可能にするより長い文字列を生成するために、共通ユーザまたは他の共通要因によって著されたテキストデータなど、テキスト文字列の共有特性に従って統合されてもよい。
【0040】
テキストデータは、処理されたトレーニングデータ236を生成するために、n-グラム分離器232によってn-グラム文字に分解されてもよい。n-グラム文字は、1つの文字(ユニグラム)、2つの文字(バイグラム)、または3つの文字(トリグラム)など、規定された数の文字を含んでもよい。たとえば、"A tycoon"というテキストデータ単語文字列は、"A"、"A t"、"Aty"、"Ty"、および"Tyc"などに分解されてもよい。n-グラム文字は、機械学習モデルをトレーニングするための特徴として使用される。
【0041】
トレーニングデータは、各特徴を表す値、たとえば数を含有する特徴ベクトルの形式であってもよい。n-グラム特徴に加えて、他の特徴が、テキストデータから抽出されて、トレーニングデータとして含まれてもよく、それらは、異なるユニコードブロック、ユニコードスクリプト、これらの特定の組み合わせなどにおける文字の総数または存在など、特徴ベクトルの形式であってもよい。たとえば、n-グラム特徴ベクトルは、特定のn-グラムが入力テキスト内に存在することを示す1および0の形式における値、n-グラムが入力テキスト内に現れる回数の総数などを含んでもよい。
【0042】
n-グラムの形式における処理されたトレーニングデータ236は、メモリ234内に保存され、機械学習モデルをトレーニングするための特徴としてトレーニングモジュール240に供給されてもよい。たとえば、3-グラム文字シーケンス"ity"が、断片パターンとして機械学習モデルに入力されてもよい。
【0043】
いくつかの実装形態では、機械学習モデルをトレーニングするための特徴として使用されるn-グラム文字は、ASCII文字、ハングル文字、日本文字、ロシア文字、ラテン文字、キリル文字、またはユニコードのブロックを含んでもよい。
【0044】
自動ラベラ224による言語ラベル、ラベル検証器226による言語ラベル、および信頼されている事前のラベルなど、処理されたテキストデータと関連づけられた言語ラベルは、機械学習モデルをトレーニングする目的のためのグラウンドトゥルースラベルとして利用されてもよい。
【0045】
例示的な機械学習モデルのトレーニング
言語分析システムに対する機械学習モデルをトレーニングするための例示的な方法について、図3のフローチャートに示す。いくつかの実装形態では、機械学習モデルをトレーニングするための技法は、図1に関して説明したn-グラム特徴およびn-グラム内の異なる文字タイプの総数を使用するロジスティック回帰アルゴリズムなどの教師付き分類アルゴリズムを使用してもよい。言語間および言語内の最も一般的なn-グラムが、特徴として使用されてもよい。図1に関連して説明したグラウンドトゥルース言語ラベルなど、処理されたトレーニングデータおよび関連する言語ラベルが、ブロック300においてトレーニングのために受信される。いくつかの実装形態では、トレーニングデータおよび関連する言語ラベルを処理するコンピューティングデバイスは、機械学習モデルをトレーニングするために利用されるコンピューティングデバイスとは別でもよい。いくつかの実装形態では、同じコンピューティングデバイスが、トレーニングデータおよび関連する言語ラベルの処理、ならびに機械学習モデルのトレーニングを実行するために使用される。
【0046】
ブロック302において、処理されたトレーニングデータが、教師付きトレーニングに対する関連言語ラベルのない、トレーニングされていない機械学習モデルに供給されてもよい。いくつかの実装形態はでは、処理されたトレーニングデータが、教師なしトレーニングに対する関連言語ラベルを有する、トレーニングされていない機械学習モデルに供給されてもよい。いくつかの実装形態では、トレーニングデータは、特徴ベクトルの形式である。処理されたトレーニングデータは、トレーニングデータがいくつかの所定の要因を満たす場合、トレーニングのために選択されてもよい。たとえば、言語間および/または特定の言語内の最も一般的なn-グラムが、トレーニングするための特徴として使用されてもよい。
【0047】
ブロック304において、本明細書で説明するように、機械学習モデルは、トレーニングテキストデータを分析し、出力データとして予測言語を生成する。
【0048】
ブロック306において、現在の予測言語ラベルが、トレーニングデータの前処理からの言語ラベルなど、トレーニングの前にトレーニングデータと関連づけられた言語ラベルと比較される。予測ラベルと以前に関連したラベルとの間の差を示す不一致情報が生成される。決定ブロック308において、不一致情報が予測言語ラベルの精度に対する所定のしきい値を満たすかどうかが決定されてもよい。しきいの精度が満たされない場合、ブロック310において、不一致情報が、機械学習モデルを再トレーニングして現在の予測言語ラベルを更新するために、機械学習モデルに戻って供給される。処理は、機械学習モデルが予測ラベルを再決定して出力するために、ブロック304に戻る。再トレーニングは、不一致が精度のしきい値を満たすまで、追加のトレーニングデータセットを使用して、反復して繰り返されてもよい。しきいの精度が満たされる場合、ブロック312において、プロセスは、ユーザクエリを評価する準備ができているとして機械学習モデルを受け入れる。
【0049】
いくつかの実装形態では、2つ以上の機械学習モデルは、異なるトレーニングデータを用いてトレーニングされてもよい。機械学習リポジトリが、トレーニングされた機械学習モデルを、関連するデータおよび/またはメタデータを含めて記憶および回収するために提供されてもよい。トレーニングされた機械学習モデルのうちの1つまたは複数が、到来するユーザクエリを評価するために選択されてもよい。機械学習リポジトリは、任意の時点において任意のバージョンのモデルを使用することにおける柔軟性を可能にするか、または評価されているテキストの様々な部分に対する様々なモデルを使用する。
【0050】
ステップ、動作、または計算は、特定の順序で提示されているが、その順序は、特定の実装形態において変更されてもよい。ステップの他の順序付けが、特定の実装形態に応じて可能である。いくつかの特定の実装形態では、本明細書ではシーケンスとして示されている複数のステップが、同時に実行されてもよい。また、いくつかの実装形態は、示されているステップのすべてを有するとは限らず、および/または、本明細書で示されている順序の代わりに、またはそれらに加えて、他のステップを有してもよい。
【0051】
例示的なユーザクエリ応答
機械学習モデルを適用することによってユーザクエリを評価するための例示的な方法について、図4のフローチャートに示す。技法は、ユーザクエリの言語を決定することと、ユーザクエリに応答することとを含む。
【0052】
ブロック400において、ユーザクエリが、システムによって受信される。ユーザクエリは、キーボードを介してテキストを入力することなど、様々な入力方法を介してユーザによって入力されてもよい。いくつかの実装形態では、ユーザクエリは、たとえばユーザによってマイクロフォンを介して、音声入力として開始されてもよい。オーディオとして入力されたユーザクエリが、テキストに変換されてもよい。入力は、ユーザが、タッチ、音声、クリック、タップ、タイプ、ジェスチャー、運動(たとえば、目、腕、ボディを動かすこと)、および/または他のアクションを適用すること含んでもよい。
【0053】
ブロック402において、ユーザクエリが、評価のために処理されてもよい。たとえば、ユーザクエリは、n-グラムに分離されてもよく、それは、図2に関して説明したn-グラム分離器によってトレーニングデータを処理するのと同様の方法で実行されてもよい。
【0054】
ブロック404において、トレーニングされた機械学習モデルが、ユーザクエリに対する候補言語を識別するために利用される。処理されたユーザクエリのいくつかのn-グラムセグメントは共通であり、および/または候補言語として識別される特定の言語における意味を有することが、機械学習モデルを使用して決定されてもよい。たとえば、ユーザクエリの3-グラムセグメント、"ity"が、英語とフランス語の両方において共通であることが発見されてもよい。
【0055】
いくつかの実装形態では、ユーザクエリの言語がトレーニングされた機械学習モデルによって識別されない実例において、候補言語が、未知の言語カテゴリーを含む場合がある。
【0056】
ブロック406において、機械学習モデルが、候補言語の各々に対する信頼スコアを決定するために適用される。いくつかの実装形態では、信頼スコアは、候補言語に対するn-グラムのセグメントの関連性の度合いを示す。各候補言語に対する最小のしきいのスコアが、機械学習モデルによって戻されてもよい。最小のしきい値を超えるスコアを戻す言語が、候補言語である可能性がある言語として戻される。
【0057】
ブロック408において、個別に名づけられた候補言語に特有の言語データベースが、その未処理の形態でユーザクエリの単語とのマッチを発見するために検索される。言語固有のデータベースは、応答マッチと関連づけられたゲーム情報を含む。所定の検索基準を満たす候補言語の言語固有のデータベースが検索されてもよい。いくつかの実装形態では、候補言語が、それぞれの候補スコアに従ってランク付けられてもよい。ランク付けられた言語の最上位に指定された数に対する言語固有のデータベースが検索されてもよい。いくつかの実装形態では、しきいの信頼スコアを満たす候補言語の言語固有のデータベースが、検索において使用される。
【0058】
いくつかの実装形態では、複数の言語に対するスコアを含むベクトルが生成され、スコアに対応する複数の言語固有のゲームデータベースが、ユーザクエリに基づいて検索される。言語に対する信頼スコアおよび言語の各々の中のユーザクエリに対するスコアに基づく統合されたスコアが生成される。たとえば、所与の検索クエリに対して、機械学習モデルは、各言語に対するスコアを出力してもよい。しきい値を超える信頼スコアと関連づけられた言語が、検索のために使用されてもよい。各言語に対する信頼スコアがまた、各言語データベースからの検索クエリから戻された応答(たとえば、オンラインゲーム)の総合的スコアリングおよび/またはソーティングにおける要因として使用されてもよい。
【0059】
いくつかの実装形態では、追加の考慮要因が、1つまたは複数の言語に関連するユーザ固有の情報を含めて、信頼スコアを引き上げるかまたは引き下げるために使用されてもよい。ユーザ固有の情報は、ユーザプロフィール情報、たとえばユーザによって指定された言語選択を含んでもよく、ユーザ活動統計、たとえばユーザによって使用された前の言語を表すデータおよび/またはユーザによってプレーされた前のゲームの言語を含んでもよい。そのような追加の要因は、検索するための言語固有のデータベースの決定において考慮されてもよい。たとえば、追加の考慮要因、たとえばユーザ固有の情報によって示される特定の言語は、信頼スコアに加える引き上げ値、または信頼スコアから減じる引き下げ値を有してもよい。特定の言語の結果として得られた引き上げられたスコアは、引き上げ値を持たない信頼スコアがしきい値またはランキング基準を満たすことができない場合でも、信頼しきい値またはランキングに到達する場合がある。引き下げられたスコアは、引き下げ値を持たない信頼スコアがしきい値またはランキング基準を満たす場合でも、特定の言語を取り除いてもよい。検索基準を満たす引き上げられたスコアを有する言語の言語固有のデータベースが検索されてもよい。
【0060】
いくつかの実装形態では、追加の考慮要因、たとえばユーザ固有の情報が、信頼スコアとは別の基準として考慮される。たとえば、ユーザプロフィールの中にリストアップされた言語が、機械学習モデルによって発見された候補言語に加えて、候補言語であってもよい。追加の考慮要因、たとえばユーザ固有の情報によって示される言語に対する言語固有のデータベースがまた、検索されてもよい。
【0061】
候補言語が、機械学習モデルによって未確認言語である状況では、未知の言語と関連づけられた言語固有のデータベースが、応答マッチのために検索されてもよい。いくつかの実装形態では、未知の言語データベースが、決定されたクエリ言語に関連する言語固有のデータベースとともにデフォルトによって検索される。
【0062】
いくつかの実装形態では、識別された言語固有のデータベース内を検索する前に、ユーザクエリが、検索要件に、および特定の候補言語固有のデータベースの実行に適応するように処理されてもよい。たとえば、言語が、検索に対して一定の単語、("the"および"a"などの単語など)を認識または考慮しない場合、その単語は、その言語固有のデータベースの中の検索用語として省略されてもよい。別の例では、単語間または文章間のスペースの使用は、言語の慣習に適合するように修正されてもよい。
【0063】
いくつかの単語は、複数の言語において有効な単語である場合がある。たとえば、「ピザの店(pizza place)」というキーワードを含むユーザクエリは、英語およびイタリア語の結果をもたらす場合がある。別の例では、「溶岩(lava)」という用語を含むユーザクエリは、少なくとも英語、クロアチア語、チェコ語、デンマーク語、オランダ語、ドイツ語、ノルウエー語、およびスペイン語で見つかる場合がある。
【0064】
ブロック410において、マッチスコアが、言語固有のデータベース内の各応答マッチに対して決定される。マッチスコアは、言語固有のデータベース内の特定の言語内に記憶されたユーザクエリに対するユーザクエリのマッチの近接性の測度を示す。たとえば、マッチスコアは、言語固有のデータベース内で正確なマッチを有するクエリ内の単語の数またはパーセンテージに基づいてもよい。いくつかの実装形態では、マッチスコアは、1つの言語固有のデータベース内の単語を有するユーザクエリ内の単語の文字マッチを表してもよい。いくつかの実装形態では、用語頻度-逆ドキュメント頻度(TF-IDF:Terms Frequency-Inverse Document Frequency)法およびバッグオブワーズ(Bag of Words)検索機能(ベストマッチング-BM25)など、他の標準関連性スコアリング技法が使用されてもよい。
【0065】
ブロック412において、加重スコアが、言語の信頼スコアおよびマッチスコアから決定される。各結果は、それと関連づけられた2つのスコア、すなわち機械学習モデルからの信頼スコアおよび言語データベースからのマッチスコアを有してもよく、それらは、様々な言語データベースにおけるマッチングからの複数のスコアの組み合わせであってもよい。マッチスコアまたは信頼スコアのうちの一方が、2つのスコアに重みを関連づけることによって他方のスコアを引き上げるまたは引き下げるために使用されてもよく、重み付けられたスコアがもたらされる。
【0066】
いくつかの実装形態では、スコアは、マッチをより正確に比較するために、データベース間で正規化されてもよい。たとえば、特定の言語データベース内のマッチスコアが高い場合がある。なぜならば、より多くの検索ヒットを含む別の言語データベースと比較して、そのデータベースにおいて検索ヒットまたはエントリーがより少ないからである。データベース内のデータを正規化することで、より正確なマッチスコアが提供される場合がある。
【0067】
ブロック414において、応答マッチが、加重スコアに従ってランク付けられる。追加の考慮要因が、ランキングを引き上げるかまたは引き下げるために適用されてもよい。ブロック416において、応答内で提供されるべき検索結果が、以下で示すように、応答マッチのランキングに少なくとも部分的に基づいて決定される。
【0068】
いくつかの実装形態では、ユーザ固有の情報が、特定のクエリ言語を支持する決定を引き上げるように、または特定のクエリ言語に反する決定を引き下げるように考慮されてもよい。ユーザ固有の情報のいくつかの例は、ユーザプロフィール情報、特定の言語のゲームとのプレーヤの関わりの量、およびプレーヤが特定の言語、たとえば前のユーザクエリ、チャット、テキストなどを使用してオンラインゲームと対話する量を含む。
【0069】
例として、特定の検索クエリに対する信頼スコアは、たとえば機械学習モデル出力に基づいて、フランス語に対して90%およびスペイン語に対して60%である場合がある。フランス語のデータベースにおける上位3つのマッチは、それぞれ500(F1)、450(F2)および200(F3)のマッチスコアを有し、スペイン語のデータベースにおける上位3つのマッチは、それぞれ750(S1)、400(S2)および250(S3)のマッチスコアを有する。この例では、フランス語のマッチに対する加重スコアは、それぞれ450(F1)、405(F2)および180(F3)であってもよい。スペイン語のマッチに対する加重スコアは、450(S1)、240(S2)および72(S3)であってもよい。加重スコアによるランキング順序は、F1とS1、F2、S2、F3、およびS3であってもよい。この例では、ランキングしきい値は、上位4つの加重スコアを有するマッチなど、上位の所定の数のマッチを検索結果として提供するために、または200など、所定の値を超える加重スコアを有するマッチを提供するために与えられてもよい。いずれの場合でも、ユーザへの応答は、F1とS1、F2、およびS2のランキングの順序で提供されてもよい。加えて、他の考慮要因が、特にF1とS1の結合された加重スコアを分割するために、加重スコアを引き上げるまたは引き下げるために適用されてもよい。たとえば、ユーザプロフィールまたは前のユーザ体験がフランス語の中にある場合、F1が、応答においてS1の前にランク付けられてもよい。いくつかの実装形態では、考慮要因、たとえばユーザプロフィールと合致する最高のランキング検索結果だけが、応答の中で提供されてもよい。
【0070】
ブロック418において、ユーザクエリに対する検索結果を含む応答が、ユーザに示される。応答は、クエリ言語である見込みのある言語に対する言語固有のデータベース内の応答マッチによって識別されたゲーム情報に基づいてもよい。たとえば、識別されたゲーム情報は、検索結果応答の中に含まれてもよく、または、応答を生成するために参照されてもよい。
【0071】
検索結果応答を提供するために、ゲーム情報が、統合されてランク付けられてもよい。いくつかの実例では、同じ検索結果、たとえばオンラインゲームが、複数の言語データベース内に現れる場合がある。重複する検索結果が取得された場合、システムは、論理を使用して結果を重複排除してもよい。たとえば、同一のまたは実質的に同様の結果が、重複物を取り除くためにフィルタで取り除かれてもよい。いくつかの実装形態では、同じ検索結果が複数の言語データベース内で発見されるとき、システムは、検索結果応答の中でクライアントデバイスに提示されるべき最高の加重スコアを有する言語固有のデータベースから、重複する検索結果、たとえばゲームを選択してもよい。
【0072】
言語固有のデータベース内にリストアップされているいくつかのゲーム情報が、特定の言語として確実に分類されていない場合がある。ゲーム情報は、たとえばゲーム開発者によって言語として手動で分類されて、不正確である場合がある。特定の言語に対するゲーム情報のリストアップが、ゲーム統計、およびゲーム情報と関連づけられたゲームにアクセスするユーザに対するユーザプロフィール言語など、補助的言語情報に対する参照によって検証されてもよい。いくつかの実装形態では、ゲームデータベースは、ゲームのプレーヤのユーザプロフィール言語情報によって示されるような、ゲーム内の特定の言語におけるプレーヤのトラフィックの量など、補助的言語情報に基づいて言語に対してシード順位を与えられてもよい。
【0073】
いくつかの実装形態では、ゲーム情報は、ウェブページ情報、たとえばオンラインゲームに対するユニフォームリソースロケータ(URL)またはゲームアプリケーションに参入するための情報などの接続情報を含んでもよい。たとえば、検索結果応答は、アイコンなど、1つまたは複数のユーザインターフェース要素を含んでもよい。インターフェース要素、たとえばリンクは、オンラインゲームのうちのそれぞれのゲームをプレーすることに関連するデジタル情報、たとえばウェブページ、アプリケーションなどにナビゲートするために、クリック、タップ、キーボードアクション、音声コマンドなどのユーザアクションによって起動されてもよい。このようにして、ユーザは、オンラインゲームに接続してゲームをプレーしてもよく、またはいくつかのプレーヤもしくはプレーヤグループ; ゲーム内で使用するための仮想アイテム、たとえばアバターパーツ、衣類およびアクセサリー; ならびにゲーム開発者ツール、たとえばパッケージ、デカル、オーディオおよびプラグインなど、ゲームについての記述的情報を受信してもよい。たとえば、デジタル情報は、特定のゲームをプレーすることを開始するための開始ウェブページであってもよい。
【0074】
ステップ、動作、または計算は、特定の順序で提示されているが、その順序は、特定の実装形態において変更されてもよい。ステップの他の順序付けが、特定の実装形態に応じて可能である。いくつかの特定の実装形態では、本明細書ではシーケンスとして示されている複数のステップが、同時に実行されてもよい。また、いくつかの実装形態は、示されているステップのすべてを有するとは限らず、および/または、本明細書で示されている順序の代わりに、またはそれらに加えて、他のステップを有してもよい。
【0075】
例示的なゲームサーバ
図5は、図1に示すゲームサーバ130など、オンラインゲームシステムのゲームサーバ500の例示的な要素を示すブロック図である。ゲームサーバ500は、ユーザクエリを分析し、たとえば図4に関して説明した方法を使用して検索結果応答を提供してもよい。具体的には、ゲームサーバ500は、総合的システムアーキテクチャのサブシステム(図6に関してより詳細に示して説明する)であってもよい。
【0076】
ゲームサーバ500の様々な要素が、図示および説明の目的で、個別の/別々の要素として、図5に示されている。いくつかの実施形態によれば、これらの要素のうちのいくつかを単一の要素またはデバイスの中に組み合わせることは可能である一方で、オンラインゲームシステムの他の実装形態では、これらの要素は、クラウドコンピューティングネットワークの中など、ネットワークを介して配信されてもよい。たとえば、複数のサーバ実装形態では、言語分析システム504と関連づけられた要素が、1つのサーバにおいて設置されて動作されてもよく、一方で、クエリ評価器506と関連づけられた要素が、第1のサーバから離れた別のサーバにおいて設置されてもよい。
【0077】
ゲームサーバ500は、メモリ502と、プロセッサ520と、I/Oインターフェース530とを含んでもよい。メモリ502は、言語分析システム504(図1を参照して説明した言語分析システム134など)、検索エンジン506(図1を参照して説明した検索エンジン138など)、データ記憶装置508、コンピュータプログラム510、および/またはオペレーティングシステム512を含んでもよい。
【0078】
I/Oインターフェース530は、ゲームサーバ500を、図1に関して説明したネットワーク122などのワイヤレスネットワーク上のサーバなど、他のシステムおよびデバイスとインターフェースすることを可能にするための機能を提供することができる。インターフェースされたデバイスは、ゲームサーバ500の一部として含まれることが可能であり、またはゲームサーバ500とは別でありゲームサーバ500と通信することができる。いくつかの実装形態では、ネットワーク通信デバイス、記憶デバイス(たとえば、メモリおよび/またはデータベース)、および入力/出力デバイスが、I/Oインターフェース530を介して通信することができる。
【0079】
I/Oインターフェース530は、他の入力および出力デバイスとインターフェースすることができる。いくつかの実装形態では、I/Oインターフェース530は、入力デバイス(キーボード、ポインティングデバイス、タッチスクリーン、マイクロフォン、カメラ、スキャナ、センサなど)および/または出力デバイス(表示デバイス、スピーカーデバイス、プリンタ、モータなど)などのインターフェースデバイスに接続することができる。いくつかの実装形態は、音(たとえば、キャプチャ画像の一部、音声コマンドなどの一部として)をキャプチャするためのマイクロフォン、音を出力するためのオーディオスピーカーデバイス、または他の入力および出力デバイスを提供することができる。
【0080】
プロセッサ520(図1に関して説明したプロセッサ140など)は、メモリ502内にまたはデータ記憶装置508上に記憶された命令を含む、ゲームサーバ500内で実行するための命令を処理してもよい。プロセッサ520は、コンピューティングデバイスコンポーネント、たとえばアプリケーション、インターフェースを介するワイヤレスもしくはワイヤード通信などを連係させてもよい。いくつかの実装形態では、複数のプロセッサおよびバスが使用されてもよい。
【0081】
プロセッサ520は、別々のかつ複数のアナログデジタルプロセッサを含むチップのチップセットとして実装されてもよい。プロセッサはまた、様々なアーキテクチャを使用して実装されてもよい。たとえば、プロセッサ520は、CISC(複数命令セットコンピュータ)プロセッサ、RISC(縮小命令セットコンピュータ)プロセッサ、またはMISC(最小命令セットコンピュータ)プロセッサであってもよい。
【0082】
「プロセッサ」は、データ、信号もしくは他の情報を処理する任意の好適なハードウェアおよび/もしくはソフトウェアシステム、機構、またはコンポーネントを含む。プロセッサは、汎用中央処理装置、複数の処理ユニット、機能を達成するための専用回路、または他のシステムを有するシステムを含んでもよい。処理は、地理的ロケーションに限定される必要はなく、または時間的制限を有する必要もない。たとえば、プロセッサは、その機能を「実時間」、「オフライン」、「バッチモード」などで実行してもよい。処理の部分は、異なる時間に異なるロケーションで、異なる(または同じ)処理システムによって実行されてもよい。
【0083】
メモリ502は、ゲームサーバ500内の情報を記憶する。メモリ502は、ランダムアクセスメモリ(RAM)、リードオンリーメモリ(ROM)、磁気記憶デバイス(ハードディスクドライブなど)、フラッシュ、光記憶デバイス(CD、DVDなど)、磁気もしくは光ディスク、またはプロセッサによる実行のために命令(たとえば、プログラムまたはソフトウェア命令)を記憶するのに好適な他の有形媒体などの電子記憶デバイスを含む、任意の好適なデータ記憶装置、メモリ、および/または非一時的コンピュータ可読記憶媒体であってもよい。たとえば、ハードウェア記憶デバイスなどの有形媒体は、制御論理を記憶するために使用することができ、それは実行可能命令を含むことができる。命令はまた、たとえばサーバ(たとえば、分散型システムおよび/またはクラウドコンピューティングシステム)から配信されたサービス型ソフトウェア(SaaS)の形の電子信号の中に含有されること、および電子信号として提供されることが可能である。
【0084】
データ記憶装置508は、トレーニングデータ、前処理されたテキストデータ、アプリケーション、および他のデータを保持してもよい。データ記憶装置はまた、原画像ならびにその画像の様々な編集バージョンを記憶するために使用されてもよい。情報の少なくとも一部がまた、ゲームサーバ500内のディスクドライブまたは他のコンピュータ可読記憶デバイス(図示せず)上に記憶されてもよい。そのような記憶デバイスは、フロッピーディスクデバイス、ハードディスクデバイス、光ディスクデバイス、またはテープデバイス、デジタルカード、フラッシュメモリもしくは他の同様のソリッドステートメモリデバイス、またはデバイスのアレイを含む。いくつかの実装形態では、データ記憶装置508は、トレーニングされた機械学習モデルを統合、更新、管理および回収するために機械学習リポジトリ514を含む。
【0085】
1つまたは複数のコンピュータプログラム510は、プログラム、ソフトウェア、ソフトウェアアプリケーション、またはコードとも呼ばれ、実行されるとき、本明細書で説明する方法など、1つまたは複数の方法を実行する命令を同様に含有してもよい。コンピュータプログラムは、コンピュータまたは機械可読媒体、たとえばメモリ502、プロセッサ520上の記憶デバイスもしくはメモリなどの情報担体内に有形に埋め込まれてもよい。機械可読媒体は、機械命令またはデータをプログラマブルプロセッサに供給するために使用される、任意のコンピュータプログラム製品、装置、またはデバイスである。
【0086】
任意の好適なプログラミング言語およびプログラミング技法が、特定の実施形態のルーティンを実施するために使用されてもよい。手続き型またはオブジェクト指向など、様々なプログラミング技法が使用されてもよい。ルーティンは、単一の処理デバイスまたは複数のプロセッサ上で実行してもよい。ステップ、動作、または計算は、特定の順序で提示されてもよいが、その順序は、異なる特定の実施形態において変更されてもよい。いくつかの特定の実施形態では、本明細書ではシーケンスとして示されている複数のステップが、同時に実行されてもよい。いくつかの実装形態について説明した。条件付き言語を用いて説明される特徴が、オプションである実装形態を説明してもよい。本開示で説明される機能ブロック、方法、デバイス、およびシステムは、当業者に知られているようなシステム、デバイス、および機能ブロックの様々な組み合わせに統合または分割されてもよい。
【0087】
本説明は、特定の実装形態に関して説明されたが、これらの特定の実装形態は、単なる説明であって、制約するものではない。例の中で示した概念は、他の例および実装形態に適用されてもよい。したがって、様々な修正形態が、本開示の趣旨および範囲から逸脱することなく作成されてもよく、他の実装形態は、以下の特許請求の範囲の範囲中にある。
【0088】
本明細書で説明する方法は、コンピュータプログラム命令またはコードによって実施することができ、それらはコンピュータ上で実行することができる。いくつかの実装形態では、コードは、1つまたは複数のデジタルプロセッサ(たとえば、マイクロプロセッサまたは他の処理回路)によって実施されてもよく、半導体もしくはソリッドステートメモリ、磁気テープ、除去可能コンピュータディスケット、ランダムアクセスメモリ(RAM)、リードオンリーメモリ(ROM)、フラッシュメモリ、固い磁気ディスク、光ディスク、ソリッドステートメモリドライブなどを含む、磁気、光、電磁、もしくは半導体の記憶媒体などの非一時的コンピュータ可読媒体(たとえば、記憶媒体)を含むコンピュータプログラム製品上に記憶されることが可能である。プログラム命令はまた、たとえばサーバ(たとえば、分散型システムおよび/またはクラウドコンピューティングシステム)から配信されたサービス型ソフトウェア(SaaS)の形の電子信号の中に含有されてもよく、かつ電子信号として提供されてもよい。
【0089】
代替的に、1つまたは複数の方法が、ハードウェア(論理ゲートなど)内に、またはハードウェアとソフトウェアとの組み合わせにおいて実装されてもよい。例示的なハードウェアは、プログラマブルプロセッサ(たとえば、フィールドプログラマブルゲートアレイ(FPGA)、複合プログラマブル論理デバイス)、汎用プロセッサ、グラフィックス処理装置(GPU)、特定用途向け集積回路(ASIC)、などとすることができる。1つまたは複数の方法が、システム上で実行するアプリケーションのパーツもしくはコンポーネントとして、または他のアプリケーション512およびオペレーティングシステム514と連動して実行するアプリケーションもしくはソフトウェアとして実行されることが可能である。
【0090】
例示的なシステムアーキテクチャ
図6では、例示的なゲームシステムアーキテクチャ600(本明細書では「システム」とも呼ばれる)は、ゲームサーバ602(たとえば、図5に関して説明したゲームサーバ500)、第1のクライアントコンピューティングデバイスA610、および少なくとも1つの他のクライアントコンピューティングデバイスN616(ここで、"N"は、1つまたは複数のクライアントデバイスのうちの任意の数を表す)を含む。
【0091】
ゲームサーバ602は、言語分析システム604(図1に関して説明した言語分析システム134など)および1つまたは複数のオンラインゲーム606を含んでもよい。ゲームサーバ602はまた、検索結果応答をクライアントデバイス610および616に提供してオンラインゲーム606へのクライアントアクセスを管理するためのゲーム管理モジュール608を含んでもよい。ゲームサーバ602は、記憶装置624に動作可能に結合されてもよく、または、記憶装置624と通信していてもよい。システムアーキテクチャ600は、1つの可能な実装形態を説明するために提供される。他の実装形態では、ゲームシステムアーキテクチャ600は、図6に示すように、同じまたは異なる方式で構成された同じ、より少ない、より多い、もしくは異なる要素を含んでもよい。
【0092】
通信ネットワーク622(図1に関して説明したネットワーク122など)が、ゲームサーバ602とクライアントデバイス610、616との間、および/またはゲームシステムアーキテクチャ600内の他の要素間の通信のために使用されてもよい。ネットワーク622は、公共ネットワーク(たとえば、インターネット)、私的ネットワーク(たとえば、ローカルエリアネットワーク(LAN)または広域ネットワーク(WAN))、ワイヤードネットワーク(たとえば、イーサネットネットワーク)、ワイヤレスネットワーク(たとえば、802.11ネットワーク、Wi-Fiネットワーク、またはワイヤレスLAN(WLAN))、セルラーネットワーク(たとえば、ロングタームエボリューション(LTE)ネットワーク)、ルータ、ハブ、スイッチ、サーバコンピュータ、またはそれらの組み合わせを含んでもよい。
【0093】
パーソナルコンピュータ、モバイルデバイス、またはビデオゲームコンソールなどのクライアントデバイス610、616は、ユーザからユーザクエリを入力してゲームサーバ602からクエリ結果を受信するために、ゲームアプリケーション612、620と1つまたは複数の入力/出力デバイス614、618(たとえば、オーディオ/ビデオ入力/出力デバイス)とを含んでもよい。入力/出力デバイス614、618は、他の入力および出力デバイスにインターフェースすることができる。いくつかの実装形態では、入力/出力デバイス614、618は、入力デバイス(キーボード、ポインティングデバイス、タッチスクリーン、マイクロフォン、カメラ、スキャナ、センサなど)および/または出力デバイス(表示デバイス、スピーカーデバイス、プリンタ、ヘッドホンなど)などのインターフェースデバイスに接続することができる。いくつかの実装形態は、音(たとえば、音声コマンド)をキャプチャするためのマイクロフォン、音(たとえば、検索結果応答)を出力するためのオーディオスピーカーデバイス、または他の入力および出力デバイスを提供することができる。
【0094】
ゲームシステムアーキテクチャ600は、1つまたは複数の記憶デバイス624をさらに含んでもよい。記憶デバイス624は、たとえばゲームサーバ602内に設置されるか、またはネットワーク622を介してゲームサーバ602に通信可能に結合される記憶デバイスであってもよい。記憶デバイス604は、たとえばトレーニングテキストデータ、未処理のテキストデータ、ユーザプロフィール情報などのユーザ固有の情報、機械学習モデルリポジトリ(たとえば、図5の514)内などのトレーニングされた機械学習モデル、言語固有のデータベース、などを記憶してもよい。
【0095】
一実装形態では、記憶デバイス624は、非一時的コンピュータ可読メモリ(たとえば、ランダムアクセスメモリ)、キャッシュ、ドライブ(たとえば、ハードドライブ)、フラッシュドライブ、データベースシステム、またはデータおよび他のコンテンツを記憶することができる別のタイプのコンポーネントもしくはデバイスであってもよい。記憶デバイス624はまた、複数のコンピューティングデバイス(たとえば、複数のサーバコンピュータ)に及んでもよい複数の記憶コンポーネント(たとえば、複数のドライブまたは複数のデータベース)を含んでもよい。
【0096】
一実装形態では、記憶デバイス624は、非一時的コンピュータ可読メモリ(たとえば、ランダムアクセスメモリ)、キャッシュ、ドライブ(たとえば、ハードドライブ)、フラッシュドライブ、データベースシステム、またはデータおよび他のコンテンツを記憶することができる別のタイプのコンポーネントもしくはデバイスであってもよい。記憶デバイス624はまた、複数のコンピューティングデバイス(たとえば、複数のサーバコンピュータ)に及んでもよい複数の記憶コンポーネント(たとえば、複数のドライブまたは複数のデータベース)を含んでもよい。
【0097】
いくつかの実装形態では、ゲームサーバ602は、1つまたは複数のコンピューティングデバイスを有するサーバ(たとえば、クラウドコンピューティングシステム、ラックマウントサーバ、サーバコンピュータ、物理サーバのクラスタなど)を含んでもよい。いくつかの実装形態では、ゲームサーバ602は、オンラインゲームプラットフォーム402内に含まれてもよく、独立システムであってもよく、または別のシステムもしくはプラットフォームの一部であってもよい。
【0098】
いくつかの実装形態では、ゲームサーバ602は、ゲームサーバ602上で動作を実行するためおよびユーザにゲームサーバ602へのアクセスを提供するために使用されてもよい、1つまたは複数のコンピューティングデバイス(ラックマウントサーバ、ルータコンピュータ、サーバコンピュータ、パーソナルコンピュータ、メインフレームコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、デスクトップコンピュータなど)、データ記憶装置(たとえば、ハードディスク、メモリ、データベース)、ネットワーク、ソフトウェアコンポーネント、および/またはハードウェアコンポーネントを含んでもよい。ゲームサーバ602はまた、ユーザにゲームサーバ602によって提供されるコンテンツへのアクセスを提供するために使用されてもよい、ウェブサイト(たとえば、ウェブページ)またはアプリケーションバックエンドソフトウェアを含んでもよい。たとえば、ユーザは、クライアントデバイスA610上のゲームアプリケーション612およびクライアントデバイスN616上のゲームアプリケーション620を使用してゲームサーバ602にアクセスしてもよい。
【0099】
いくつかの実装形態では、ゲームサーバ602は、ユーザ間の接続を提供するソーシャルネットワークのタイプ、またはユーザ(たとえば、エンドユーザまたは消費者)がオンラインゲームプラットフォーム402上で他のユーザと通信することを可能にするユーザ作成型コンテンツシステムのタイプであってもよく、ここで通信は、音声チャット(たとえば、同期および/または非同期音声通信)、ビデオチャット(たとえば、同期および/または非同期ビデオ通信)、またはテキストチャット(たとえば、同期および/または非同期テキストベース通信)を含んでもよい。
【0100】
本開示のいくつかの実装形態では、「ユーザ」は、単一の個人として表されてもよい。しかしながら、本開示の他の実装形態は、「ユーザ」が、ユーザのセットまたは自動化されたソースによって制御されるエンティティであることを包含する。たとえば、ユーザ作成型コンテンツシステム内のコミュニティまたはグループとして連合した個々のユーザのセットが、「ユーザ」と見なされてもよい。
【0101】
いくつかの実装形態では、オンラインゲームプラットフォーム602は、仮想ゲームプラットフォームであってもよい。たとえば、ゲームプラットフォームは、ネットワーク622を介してクライアントデバイス610、616を使用してゲームにアクセスしてもよいかまたはゲームと対話してもよいユーザのコミュニティに、シングルプレーヤまたはマルチプレーヤのゲームを提供してもよい。いくつかの実装形態では、ゲーム(本明細書で「ビデオゲーム」、「オンラインゲーム」、または「仮想ゲーム」などとも呼ばれる)は、たとえば2次元(2D)ゲーム、3次元(3D)ゲーム(たとえば、3Dユーザ作成型ゲーム)、仮想現実(VR)ゲーム、または拡張現実(AR)ゲームであってもよい。いくつかの実装形態では、ユーザは、他のユーザとともにゲームプレーに参加してもよい。いくつかの実装形態では、ゲームは、ゲームの他のユーザと実時間でプレーされてもよい。
【0102】
いくつかの実装形態では、ゲームプレーは、ゲーム(たとえば、ゲーム606)内でクライアントデバイス(たとえば、クライアントデバイス610および/または616)を使用する1つまたは複数のプレーヤの対話を指してもよく、またはクライアントデバイス610、616のディスプレイもしくは他のユーザインターフェース(たとえば、ユーザインターフェース614、618)上の対話の提示を指してもよい。
【0103】
いくつかの実装形態では、ゲーム606は、ゲームコンテンツ(たとえば、デジタル媒体アイテム)をエンティティに提示するように構成されたソフトウェア、ファームウェアまたはハードウェアを使用して実行またはロードされることが可能な電子ファイルを含むことができる。いくつかの実装形態では、ゲームアプリケーション612、620が実行されてもよく、ゲーム606がゲームサーバ602に関連して表示されてもよい。
【0104】
上記で使用される「いくつかの実装形態」または「いくつかの実例」に対する参照は、実装形態または実例に関連して説明される特定の特徴、構造または特性が、本説明の少なくとも1つの実装形態の中に含まれることが可能であることを意味する。上記の様々な場所における「いくつかの実装形態では」というフレーズの出現は、必ずしも同じ実装形態を指すとは限らない。
【0105】
上記の「発明を実施するための形態」では、添付の図面に対する参照が行われ、その図面は本明細書の一部を形成する。図面において、一般的に、文脈が別段に記さない限り、同様の記号は同様のコンポーネントを識別する。「発明を実施するための形態」、図面、および特許請求の範囲の中で説明される例示的な実装形態は、制限することを意味するものではない。本明細書で提示する主題の趣旨または範囲を逸脱することなく、他の実装形態が利用されてもよく、他の変更がなされてもよい。本明細書で一般的に説明され、図で示される本開示の態様は、広範な異なる構成において配列され、置換され、組み合わされ、分離され、設計され得、それらのすべが本明細書で考慮される。
【0106】
上記の説明では、説明のために、多数の具体的な詳細が、本明細書の完全な理解を与えるために示される。しかしながら、本開示は、これらの具体的な詳細なしに実行されることが可能であることが当業者には理解されよう。いくつかの実例では、構造およびデバイスが、説明を不明瞭にすることを回避するためにブロック図の形で示される。たとえば、実装形態は、主に特定のハードウェアを参照して上記で説明されることが可能である。しかしながら、実装形態は、データおよびコマンドを受信することができる任意のタイプのコンピューティングデバイス、およびサービスを提供する任意の周辺デバイスに適用することができる。
【符号の説明】
【0107】
100 オンラインゲームシステム
102 クライアントコンピューティングデバイス
104 ユーザインターフェース
106 表示スクリーン
108 キーボード
110 テキストボックス
112 表示要素
114 ユーザクエリ
116 選択可能なアイコン
122 ネットワーク
130 ゲームサーバ
132 メモリ
134 言語分析システム
136 機械学習モデル
138 検索エンジン
140 プロセッサ
200 データ処理デバイス
202 テキストコレクション、テキストデータのコレクション
204 ラベリングされていない省略テキストデータ
206 ラベリングされていない拡張テキストデータ
208 事前にラベリングされた拡張テキストデータ
210 事前にラベリングされたゲーム関連テキストデータ
222 入力/出力インターフェース
224 自動ラベラ
226 ラベル検証器
228 テキストマージャ
230 テキストスプリッタ
232 n-グラム分離器
234 メモリ
236 処理されたトレーニングデータ
240 トレーニングモジュール
242 プロセッサ
500 ゲームサーバ
502 メモリ
504 言語分析システム
506 クエリ評価器、検索エンジン
508 データ記憶装置
510 コンピュータプログラム
512 オペレーティングシステム
514 機械学習リポジトリ
520 プロセッサ
530 I/Oインターフェース
600 ゲームシステムアーキテクチャ
602 ゲームサーバ
604 言語分析システム
606 オンラインゲーム
608 ゲーム管理モジュール
610 クライアントデバイス
A610 クライアントデバイス、第1のクライアントコンピューティングデバイス
612 ゲームアプリケーション
614 ユーザインターフェース
616 クライアントデバイス
N616 クライアントデバイス、クライアントコンピューティングデバイス
618 ユーザインターフェース、入力/出力デバイス
620 ゲームアプリケーション
622 ネットワーク
624 記憶装置
図1
図2
図3
図4
図5
図6