Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP7529797B2 - オンラインゲームのためのユーザ入力テキストの言語検出 - Google Patents
[go: Go Back, main page]

JP7529797B2 - オンラインゲームのためのユーザ入力テキストの言語検出 - Google Patents

オンラインゲームのためのユーザ入力テキストの言語検出 Download PDF

Info

Publication number
JP7529797B2
JP7529797B2 JP2022564424A JP2022564424A JP7529797B2 JP 7529797 B2 JP7529797 B2 JP 7529797B2 JP 2022564424 A JP2022564424 A JP 2022564424A JP 2022564424 A JP2022564424 A JP 2022564424A JP 7529797 B2 JP7529797 B2 JP 7529797B2
Authority
JP
Japan
Prior art keywords
language
game
user
user query
text data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2022564424A
Other languages
English (en)
Other versions
JP2023523004A (ja
Inventor
ニコラウス・ゾンターク
アスワス・マノハラン
イ-ウ・ル
エリック・ホルムデール
マドホク・シヴァラトレ
Original Assignee
ロブロックス・コーポレーション
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ロブロックス・コーポレーション filed Critical ロブロックス・コーポレーション
Publication of JP2023523004A publication Critical patent/JP2023523004A/ja
Application granted granted Critical
Publication of JP7529797B2 publication Critical patent/JP7529797B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • G06F16/3329Natural language query formulation
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/3332Query translation
    • G06F16/3334Selection or weighting of terms from queries, including natural language queries
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/335Filtering based on additional data, e.g. user or group profiles
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/263Language identification
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • G06F40/55Rule-based translation
    • G06F40/56Natural language generation
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Computer Interaction (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computing Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

関連出願
本出願は、その全体があらゆる目的のために参照により本明細書に組み込まれる、2020年4月24日に出願された"Language Detection of User Input Text For Online Gaming"と題する米国出願第16/858,467号の利益を主張する。
オンラインゲームは、地理および言語の境界にかかわらず、世界各国に位置するプレーヤが一緒に参加する機会を提供する。ゲームプラットフォームは、しばしばゲームと対話しているユーザを助ける、検索クエリなどのテキストをユーザが入力することを可能にする。オンラインゲームに入力されたテキストは、一般的に、顕著な特徴を有する。テキストの言語の考え得る候補を認識することは、テキストに効果的に応答するのを助ける場合がある。
機械学習が、オンラインゲームプラットフォームのユーザによって入力されたテキストを解釈するために、自然言語処理(NLP)のために活用されてもよい。アルゴリズム、たとえば予測モデルが、トレーニングを介して経験データから学習するために、およびユーザ入力テキストの分析を実行するために生成されることが可能である。そのような人工知能は、オンラインゲームの文脈において機械学習モデルを適切にトレーニングするために、クリーンで関係のあるデータを必要とする。
本出願の実装形態は、オンラインゲームのユーザによって入力されたユーザクエリの言語を、トレーニングされた機械学習モデルの使用によって検出することに関する。機械学習モデルは、オンラインゲームに関する処理されたテキストデータを用いてトレーニングされる。
いくつかの実装形態では、本方法は、ユーザクエリを受信するステップと、ユーザクエリを複数のn-グラムに分離するステップとを含む。少なくとも1つの候補言語が、機械学習モデルをユーザクエリの複数のn-グラムに適用することによって識別される。機械学習モデルは、少なくとも1つの多言語テキストコーパスとゲーム関連データとを用いてトレーニングされる。少なくとも1つの候補言語の各々に対するそれぞれの言語信頼スコアが、機械学習モデルを適用することによって決定される。少なくとも1つの候補言語は、検索するための少なくとも1つの言語固有のデータベースを選択するために使用される。応答マッチが少なくとも1つの言語固有のデータベース内で識別され、それぞれのマッチスコアが、応答マッチの各々に対して決定される。加重スコアが、少なくともそれぞれの言語信頼スコアおよびそれぞれのマッチスコアによって決定される。加重スコアは、ユーザクエリに対して少なくとも1つのクエリ言語を決定するための基準(basis)として使用される。
方法の様々な実装形態および例について説明する。たとえば、いくつかの実装形態では、本方法は、少なくとも1つの言語固有のゲームデータベース内の応答マッチと関連づけられたゲーム情報を決定するステップも含む。ユーザクエリに対する検索結果が、ゲーム情報に基づいて生成される。ゲーム情報は、オンラインゲームに対するウェブページ情報を含んでもよい。検索結果は、ユーザによって起動されると、オンラインゲームのそれぞれの1つに関連するウェブページをリンクする1つまたは複数のユーザインターフェース要素を含んでもよい。
いくつかの実装形態では、ユーザクエリと関連づけられたユーザプロフィール情報が提供され、少なくとも1つのクエリ言語は、ユーザプロフィール情報にさらに基づく。それぞれの信頼スコアが、少なくとも1つの候補言語に関する複数のn-グラムの1つまたは複数のセグメントを識別することによってさらに決定されてもよい。少なくとも1つの候補言語はまた、未確認言語を含んでもよく、言語固有のゲームデータベースは、未知の言語と関連づけられたデータベースを含んでもよい。
いくつかの実装形態では、オンラインゲームに対するユーザクエリの言語を検出するために1つまたは複数のプロセッサを有するコンピューティングデバイスを含むシステムが提供される。コンピューティングデバイスはまた、1つまたは複数のプロセッサによる実行のために1つまたは複数の有形媒体内に符号化され、実行されると、動作を実行するように動作可能である論理を含む。動作は、ユーザクエリを受信することと、ユーザクエリを複数のn-グラムに分離することとを含む。少なくとも1つの候補言語が、機械学習モデルをユーザクエリの複数のn-グラムに適用することによって識別される。機械学習モデルは、少なくとも1つの多言語テキストコーパスとゲーム関連データとを用いてトレーニングされる。少なくとも1つの候補言語の各々に対するそれぞれの信頼スコアが、機械学習モデルを適用することによって決定される。少なくとも1つの候補言語が、検索するための少なくとも1つの言語固有のデータベースを選択するための動作によって使用される。応答マッチが、少なくとも1つの言語固有のデータベース内で識別され、それぞれのマッチスコアが、応答マッチの各々に対して決定される。加重スコアが、少なくともそれぞれの言語信頼スコアおよびそれぞれのマッチスコアによって決定される。加重スコアは、ユーザクエリに対して少なくとも1つのクエリ言語を決定するための動作によって基準として使用される。
動作によって実行される動作の様々な実装形態および例について説明する。たとえば、いくつかの実装形態では、本動作はまた、少なくとも1つの言語固有のゲームデータベース内の応答マッチと関連づけられたゲーム情報を決定することを含む。ユーザクエリに対する検索結果が、ゲーム情報に基づいて生成される。ゲーム情報は、オンラインゲームに対するウェブページ情報を含んでもよい。検索結果は、ユーザによって起動されると、オンラインゲームのそれぞれの1つに関連するウェブページをリンクする1つまたは複数のユーザインターフェース要素を含んでもよい。
いくつかの実装形態では、ユーザクエリと関連づけられたユーザプロフィール情報が提供され、少なくとも1つのクエリ言語が、ユーザプロフィール情報にさらに基づく動作によって決定される。それぞれの信頼スコアが、少なくとも1つの候補言語に関する複数のn-グラムの1つまたは複数のセグメントを識別する動作によってさらに決定されてもよい。少なくとも1つの候補言語はまた、未確認言語を含んでもよく、言語固有のゲームデータベースは、未知の言語と関連づけられたデータベースを含んでもよい。
オンラインゲームに対するユーザクエリの言語を識別するために機械学習モデルをトレーニングする方法の様々な実装形態および例について説明する。少なくとも第1のテキストデータと、第1のテキストデータに対する関連する言語ラベルと、言語に対してラベリングされていない第2のテキストデータとを含むテキストデータが受信される。関連する言語ラベルは、少なくとも1つの言語を識別する複数の非固有言語検出器のしきいの数に基づいて、第2のテキストデータに対して決定される。トレーニングテキストデータは、テキストデータをn-グラムに分離することによって生成される。機械学習モデルは、ユーザクエリの少なくとも1つの候補言語識別子とそれぞれの言語信頼スコアとを生成するためにトレーニングされる。トレーニングテキストデータは、関連する言語ラベルなしにトレーニングするために機械学習モデルに供給される。機械学習モデルは、予測される言語ラベルを出力する。機械学習モデルの再トレーニングが、現在の予測言語ラベルを更新するために、現在の予測言語ラベルと、関連する言語ラベルとの間の不一致情報を用いて実施されてもよい。再トレーニングは、不一致情報が精度のしきい値を満たすまで反復して繰り返されてもよい。
いくつかの実装形態では、トレーニングテキストデータを生成することは、上限しきい値長より大きい長さを有するテキストデータの単語文字列を所定の長さのランダム語長に分割することをさらに含む。いくつかの実装形態では、トレーニングテキストデータを生成することは、拡張された単語の文字列を生成するために、下限しきい値長より短い長さを有するテキストデータの単語文字列を、関連するテキストと統合することをさらに含む。トレーニングデータセットがまた、言語間および言語内の共通性しきい値を満たすn-グラムを決定することによって生成されてもよい。いくつかの実装形態では、n-グラムは、1つの文字、2つの文字、または3つの文字のうちの少なくとも1つを含んでもよい。
いくつかの実装形態では、テキストデータは、ゲームタイトル、チャットテキスト、ゲームソースデータ、または俗語のうちの少なくとも1つを含むゲーム関連データの少なくとも1つのコレクションを含んでもよい。いくつかの実装形態では、複数の言語に対するそれぞれの信頼スコアを含むベクトルが生成され、それぞれの信頼スコアに対応する少なくとも1つの言語固有のゲームデータベースのうちの複数の言語固有のデータベースがユーザクエリに基づいて検索される。
本開示は、限定のためではなく、例として図において示され、図では、同様の参照符号は同様の要素を指すために使用される。
いくつかの実装形態による、ユーザクエリを評価する様々な態様がオンラインゲームシステムの中に実装されてもよい、例示的な環境を示す概念図である。 いくつかの実装形態による、テキストデータを前処理し、言語分析システムのためのトレーニングテキストデータを生成するための例示的なデータ処理コンピューティングデバイスの要素を示すブロック図である。 いくつかの実装形態による、言語分析システムに対する機械学習モデルをトレーニングするための例示的な方法を示すフローチャートである。 いくつかの実装形態による、機械学習モデルを適用することによってユーザクエリを評価するための例示的な方法を示すフローチャートである。 いくつかの実装形態による、ユーザクエリを分析し、検索結果応答を提供するための例示的なコンピューティングデバイスを示すブロック図である。 いくつかの実装形態による、クライアントデバイスからコンピューティングデバイスに通信されるユーザクエリと、分析されるユーザクエリと、クライアントデバイスに伝送される検索結果応答とのための例示的なオンラインゲームシステムアーキテクチャのブロック図である。
オンラインゲームシステムは、ユーザ(たとえば、ゲームのプレーヤ、ゲーム開発者など)がオンラインゲームプラットフォーム、たとえばクライアントコンピューティングデバイスを介してゲームにアクセスすることを可能にする。いくつかの実装形態では、ユーザは、オンラインゲームシステム内でテキストメッセージ、たとえばクエリ、コマンド、チャットなどを伝送することによって、オンラインゲームシステムとまたはオンラインゲームシステムの他のユーザと通信してもよい。たとえば、ユーザクエリは、情報を要求するために、およびたとえばゲームタイトル、キーワード、ゲームの説明、分野、プレーヤ、開発者、ゲーム品質などによってゲームを特定するために、ユーザによって入力されてもよい。ユーザクエリはまた、いくつかのプレーヤもしくはプレーヤグループを特定すること、アバターパーツ、衣類およびアクセサリーなど、ゲーム内で使用するための仮想アイテム、ならびにパッケージ、デカル、オーディオおよびプラグインなどのゲーム開発者ツールなど、ゲームの特定の態様を発見するために入力されてもよい。
様々な実装形態では、現在のオンラインゲームシステムは、ユーザクエリを評価し、クエリに対する検索結果を含む応答を編成する。オンラインゲームシステムは、ユーザクエリの言語である可能性がある言語を検出し、応答を編成するために結果に対して効率的で信頼性のある検索を助けるために、言語分析システムを使用する。
しばしば、ユーザによってオンラインゲームプラットフォームに入力されたユーザクエリは、典型的な簡易言語分析に対する理想的な長さより短い長さのテキスト文字列である。たとえば、ユーザクエリは、10語の文字列、数語もしくは2語の文字列、または単一の語である場合がある。ユーザクエリは、1つまたは複数のキーワード、1つのフレーズ、短文、ゲームタイトルなどの形である場合がある。オンラインゲーム内のユーザクエリはまた、独特のパターンおよびルールを有するユニークな隠語を含む場合がある。ユーザクエリは、1つまたは複数の様々な言語、たとえばある国もしくは地理的領域に特有の言語、ユーザのグループによって知られている言語、またはコードの中にある場合がある。オンラインゲームプラットフォーム内で使用される独特のテキストに起因して、たとえばNLPによる標準的言語分析技法は、オンラインゲームプラットフォームに入力されたユーザクエリに適用するとき、間違った言語予測をもたらす場合がある。現在の言語分析システムは、たとえば特別にトレーニングされた機械学習モデルを適用することと、ユーザクエリを処理することと、スコアを決定して重みを量ることとをすべて、提示された記述に従って行うことによって、ユーザクエリ言語である可能性の決定を可能にする。オンラインゲームシステムは、たとえば特定の言語に専用のゲーム関連データベースを提供すること、およびゲーム情報に対する検索をユーザクエリ言語とマッチする可能性が最も高い特定の言語データベースに限定することによって、ユーザクエリに対する応答において、効率的でリソースを節約するゲーム情報の検索を可能にする。検索するための特定の言語データベースを識別することは、応答マッチを発見することに無関係のデータベースを含めてすべて言語のデータベースをくまなくチェックする必要性を低減し、したがって処理時間および計算リソースを低減する。
検索を候補言語の言語固有のデータベースに狭めることで、より有意義な検索語の使用が可能になってより良い結果をもたらす場合がある。様々な言語を、検索語を解釈するために様々なルールを適用してもよく、たとえば必ずしもすべての言語が、単語の間にスペースを使用するとは限らない。また、冠詞"the"または"a"などの一般的な単語は、特定の言語における検索に対して考慮されないが、別の言語においては重要である場合がある。
言語分析システムによって使用される重み値を採点して割り当てるための技法、ならびに機械学習モデルの再トレーニングが、検索結果のより高い精度および信頼性を可能にする。さらに、特にオンラインゲームに対するテキストに対してトレーニングされた現在の機械学習モデルがないと、標準的NLPがそこからクエリ言語を推測することができる簡潔なユーザクエリの中に十分な情報が存在しない場合がある。
オンラインゲームシステムによって処理されるユーザクエリなどのユーザクエリが、明確にトレーニングされた機械学習モデルへの入力として提供される。機械学習モデルは、ユーザクエリの候補言語を予測し、候補言語に対する言語信頼スコアを出力する。たとえば、信頼しきい値を満たす信頼スコアと関連づけられた候補言語が、どの言語固有のデータベースを検索するかを決定するために使用されてもよい。ユーザクエリは、それぞれの候補言語のうちの少なくとも一部に対して個別のストレージバケット(たとえば、データベース)内のゲーム情報と関連づけられた、記憶されたクエリデータと照合される。各応答マッチに対するマッチスコアが、それぞれの応答マッチの確実性に基づいて決定されてもよい。マッチスコアおよび言語信頼スコアが、加重スコアを決定するために重み付けられてもよい。加重スコアは、応答マッチからのどの検索結果をユーザへの応答の中で提供するかを決定するために使用されてもよい。たとえば、検索結果が、加重スコアに基づいてランク付けられてもよく、検索結果の上位しきい値数が、ユーザクエリへの応答の中で使用されてもよい。
言語分析システムの機械学習モデルは、オンラインゲームの文脈に対して前処理された、関係のあるテキストデータを用いてトレーニングされる。オンラインゲームプラットフォームに関連するテキストは、一般的にユニークである。機械学習モデルは、ユーザクエリの評価において正確に実行するために、実際のオンラインゲームデータ上でトレーニングされていることから恩恵を受ける。予測される言語ラベルが、トレーニング中に機械学習モデルによって生成される。言語ラベルは、機械学習モデルを更新して目標の精度のレベルを達成するためのフィードバック入力として使用されてもよい。
一実装形態による言語分析システムを使用するオンラインゲームシステムの使用例の説明において、オンラインゲームシステムのプレーヤは、自身の仮想ピザ事業を運営することができるオンラインゲームを特定しようと試みる。使用例をさらに説明するために、図1は、ゲームサーバ130と通信しているクライアントコンピューティングデバイス102を含む、そのようなオンラインゲームシステム100の実例を示す。
使用例では、プレーヤは、ゲームが「将軍」(tycoon)という単語に関連することを知っている。プレーヤは、クライアントコンピューティングデバイス102の表示スクリーン106上のユーザインターフェース104によって、クライアントコンピューティングデバイス102上のゲームに対する検索を実施する。ユーザは、キーボード108を使用してテキストボックス110の中にユーザクエリ114を打ち込む。この例におけるユーザクエリ114は、「ピザ」と"el magnate"というキーワードを含有しており、"el magnate"は「将軍」に対するスペイン語である。プレーヤは、入力されたキーワードに関連するゲームに対する検索を開始するために、ユーザインターフェース104上の表示要素112を起動する。
ユーザクエリ114は、ネットワーク122を介してゲームサーバ130に伝送される。ゲームサーバ130は、メモリ132内に記憶されている言語分析システム134にアクセスするプロセッサ140を含み、ユーザクエリ114に対する検索結果応答を形成するために、説明したステップのうちの1つまたは複数を実行してもよい。
ユーザクエリ114は、ユーザクエリの少なくとも1つの候補言語と各候補言語に対する信頼スコアとを決定するために、処理されて、言語分析システム134の機械学習モデル136に入力されてもよい。機械学習モデル136は、オンラインゲームに特有のユーザクエリの独特のフォーマットにテキストデータを適応させるように前処理されているテキストデータを用いてトレーニング済みである。前処理は、機械学習モデル136が、ユーザクエリ内の少数の入力された単語から言語を認識することを可能にする。機械学習モデル136は、目標の精度のレベルに到達するためにテキストデータを用いて更新されてもよい。
使用例では、検索エンジン138が、"el magnate"という単語に対する候補言語がスペイン語である場合があるものと決定する。「ピザ」という単語に対する候補言語は、スペイン語である場合があり、および同じく、英語および/またはイタリア語である場合がある。言語分析システムは、3つの候補言語のすべてが、所定のしきい値を満たす信頼スコアを有するものと決定する。言語分析システム134は、「将軍」および「ピザ」という用語に関連するゲーム関連情報にマッチすることを発見するために、スペイン語、英語およびイタリア語の各々と関連づけられた個別のデータベースの中で検索する。マッチスコアが、それぞれの言語固有のデータベース内の各応答マッチに対して決定される。応答スコアは、データベースマッチの確実性に基づく。応答に含まれるべき検索結果は、組み合わされた、信頼スコアおよび個別の応答マッチに対する応答スコアの加重スコアに少なくとも部分的に基づいて決定される。加えて、プレーヤは、スペイン語を自身に対する望ましい言語としてリストアップしているオンラインゲームプラットフォームと関連づけられたユーザプロフィールを有する。そのようなユーザ情報もまた、プレーヤに提供される応答の中でスペイン語のデータベースからの検索結果のランキングを引き上げるための一因とされる場合がある。
ゲームプラットフォームデバイスは、スペイン語データベースから、ゲームタイトルの中に「将軍」もしくは「大物」という単語および「ピザ」という単語を含むか、またはピザ事業所有者に関連するいくつかのゲームを回収する。マッチしたゲームの検索結果が、ネットワーク122を介してクライアントコンピューティングデバイス102に伝送され、クライアントコンピューティングデバイス102の表示スクリーン106上に選択可能なアイコン116として現れる。検索結果は、ユーザクエリに対する加重スコアおよび関連性に見合った順序で表示される。プレーヤの観点から言えば、自身の検索クエリの結果が即座に受信される。ユーザインターフェース104上で、プレーヤは、自身がプレーするために選択するゲームに対するアイコン116のうちの1つをクリックし、リンクがこのプレーヤを、ゲームをプレーするためのウェブページに接続する。
例示的なトレーニングデータの前処理
図2は、データ処理デバイス200の1つまたは複数のプロセッサ242によって実行されるテキストデータを前処理するための、図1に示すゲームサーバ130などのデータ処理デバイス200をブロック図で示す。テキストデータは、オンラインゲームの文脈において機械学習モデルをトレーニングするように適応される。
いくつかの実装形態では、データ処理デバイス200は、ゲームサーバ130とは別のコンピュータであってもよい。この場合、処理されたトレーニングデータが、機械学習モデル136をトレーニングするためにデータ処理デバイス200によって使用されてもよく、次いで機械学習モデル136をトレーニングするためにゲームサーバ130にまたは別の介在するコンピューティングデバイスに、データ処理デバイス200によって伝送されてもよい。データ処理デバイス200によって使用される技法は、ユーザクエリの言語を決定するための機械学習モデル136のトレーニングに備えてトレーニングテキストデータを生成するために使用される。
いくつかの実装形態では、2つ以上の機械学習モデル136が、トレーニングテキストデータの少なくとも一部を用いてトレーニングされてもよい。いくつかの実装形態では、様々なタイプのテキストデータが、複数の機械学習モデルをトレーニングするために使用される。機械学習モデルが評価されてもよく、機械学習モデルは、ユーザクエリに対する精度および関連性に対して評価することなど、特定のユーザクエリに対して選択されてもよい。
テキストデータは、入力/出力インターフェース222においてデータ処理デバイス200によって様々なソースから受信されるテキストデータ202の様々なタイプのコレクションを含んでもよい。テキストコレクション202は、様々な言語の中にあってもよく、または言語の混合を含む場合がある単一のコレクションであってもよい。
テキストコレクション202は、事前にラベリングされた拡張テキストデータ208および事前にラベリングされたゲーム関連テキストデータ210など、テキストの言語を規定する従前のラベルを有するテキストデータを含んでもよい。たとえば、事前にラベリングされた拡張テキストデータ208は、多くの言語および方言、たとえば数百の言語に翻訳される場合がある多言語テキストコーパスなど、多量の公的に入手可能なコーパスを含んでもよい。多言語テキストコーパスは、オンライン百科事典、たとえば様々な言語におけるウィキペディア(www.wikipedia.org)を含んでもよく、そのデータはまた、ウィキペディアアプリケーションプログラミングインターフェース(API)を通してアクセスされてもよい。多言語テキストコーパスはまた、国際的歴史資料、たとえば世界人権宣言(https://www.ohchr.org/EN/UDHR/Pages/UDHRIndex.aspx)を含んでもよい。いくつかの事前にラベリングされたテキストデータは、ラベル検証器226によって検証された前の言語ラベルを有する場合がある。
ラベル検証器226は、事前にラベリングされたテキストデータの既存の言語ラベルが正しいか正しくないかの表示を提供する。ラベル検証器は、たとえば所与のテキストデータに対する既存の言語ラベルにおいて適正な信頼がない場合、ラベルの精度を高めるのを助けてもよい。たとえば、テキストコレクションは、1つの言語の中のテキストの大部分を含んでもよいが、同様に、他の言語の中の単語(たとえば、名前など)を含んでもよい。ラベル検証器226は、非固有言語検出器によって示される言語内で最小のしきいの一致を有する言語を検出するために、複数の非固有言語検出器、たとえば公的に入手可能なライブラリを使用してもよい。非固有言語検出器は、オープンソース、有料サービス、オンラインゲームシステムによって生成された前のバージョンのモデル、ならびに他の言語検出モデルおよび言語ライブラリの任意の組み合わせを含む、言語検出モデルおよび/または言語ライブラリを使用してもよい。いくつかの実装形態では、最小の信頼しきい値は、より確信的な言語ラベルに由来する事前にラベリングされたテキストデータに対してより低くなるように調整されてもよい。既存のラベルと、非固有言語検出器のしきいの数によって決定された言語との間の一致を有する、入力された事前にラベリングされたテキストデータ文字列が、トレーニングデータセットに追加されてもよい。非固有言語検出器が、所与の既存のラベルに対する信頼しきい値レベルに対して同じ言語を検出することができない場合、事前にラベリングされたテキストデータがトレーニングデータから排除されてもよい。
ゲーム関連テキストデータ210は、ゲームタイトル、ゲームの指導、ゲームの一部としてプレーヤに表示されるテキスト、ゲームの説明、オンラインゲームプラットフォーム内の共通ユーザ検索クエリ、オンラインゲームプラットフォーム内の共通チャットメッセージ、オンラインゲームに関連する典型的な俗語など、オンラインゲームに関連する様々なテキストを含んでもよい。いくつかの実装形態では、ゲーム関連テキストデータ210は、評判しきい値および/またはランキングを満たすオンラインゲームから選択される。ゲーム関連データは、主に、特定の言語、たとえば英語の中に存在する場合があり、主要言語内に手動で追加されたラベルを含んでもよい。ゲーム開発者は、言語ラベルをゲームに関連するテキストと関連づけてもよい。しかしながら、手動でラベリングされたテキストデータは、信頼性を欠く場合があり、ラベルは、ラベル検証器226によって評価されてもよい。特にあまり未知の言語におけるテキストデータに対して、ゲーム関連データおよび関連する言語ラベルを翻訳するために、機械翻訳が、同様に、そのようなテキストデータに適用されてもよい。これは、トレーニングデータの既存のコーパスが入手可能なデータサンプルの数において制限されることがある場合に、言語内に追加のトレーニングデータを提供してもよい。
テキストコレクション202はまた、ラベリングされていない省略テキストデータ204およびラベリングされていない拡張テキストデータ206、たとえばオンラインゲームの説明など、既存の言語ラベルのないテキストデータを含んでもよい。
ラベリングされていないテキストデータは、自動ラベラ224によって生成され、テキストデータと関連づけられた言語ラベルを有してもよい。テキストデータのコレクションは、ゲームタイトル、チャットテキスト、ゲームソースデータ、俗語、およびオンラインゲームに共通する他のテキストなどのゲーム関連データを含んでもよい。自動ラベラ224は、大きいトレーニングデータのセットを蓄積するために、所与のテキストデータ文字列の言語を検出するための複数の言語検出モデルおよび言語ライブラリを使用して複数の非固有言語検出器を使用してもよい。これらのモデルおよびライブラリコーパスは、オープンソース、有料サービス、オンラインゲームシステムによって生成された前のバージョンのモデル、ならびに他の言語検出モデルおよび言語ライブラリの任意の組み合わせであってもよい。非固有言語検出器のいずれかによる言語決定は、自動ラベリングに対して考慮されるべき信頼しきい値を満たす必要がある場合がある。自動ラベラ224に入力されたラベリングされていないテキストデータ文字列の各々に対して、言語ラベルは、非固有言語検出器のしきいの数が最小の信頼しきい値を有する同じ言語を識別する場合、そのテキストデータと関連づけられる。たとえば、設定可能な高レベル(たとえば、しきい値)の信頼を有するすべての言語検出器から言語予測一致がある場合、ラベルおよびテキストが、トレーニングデータのために含まれてもよい。非固有言語検出器が、所与のラベリングされていないテキストデータ文字列に対する信頼しきい値レベルに対して同じ言語を検出することができない場合、ラベリングされていないテキストデータが、トレーニングデータから排除されてもよい。
テキストデータはまた、上限しきい値長より大きい長さの単語文字列を含んでもよい。たとえば、公的に入手可能なコーパスは、非常に長い文および段落を含む場合がある。拡張テキストコレクションは、たとえば事前にラベリングされた拡張テキストデータ208とラベリングされていない拡張テキストデータ206とを含む場合がある。対照的に、オンラインゲームプラットフォームに対するユーザクエリは、短い単語文字列である場合がある。そのような短いユーザクエリに関する拡張テキストコレクションを作成するために、拡張テキストコレクションの文字列が、典型的なユーザクエリ文字列の長さに類似するように、低減された長さにランダム化されてもよい。拡張テキストデータは、テキストスプリッタ230によって、1~5個の単語を有する文字列などのランダム語長文字列に分割されてもよい。
ラベリングされていない省略テキストデータ204などの省略テキストデータ204が、1~5個の語など、下限しきい値長より短い長さの単語文字列を有してもよい。省略テキストデータの例は、記憶されたチャットテキストと、ゲームプラットフォーム内で前に利用された前の検索クエリとを含んでもよい。短いテキスト文字列は、テキストデータを自動でラベリングするために、または事前のラベルを検証するために検出することが困難であることがある。省略テキストデータは、テキストマージャ228によって統合されてもよい。省略テキストデータ文字列は、より容易な自動ラベリングを可能にするより長い文字列を生成するために、共通ユーザまたは他の共通要因によって著されたテキストデータなど、テキスト文字列の共有特性に従って統合されてもよい。
テキストデータは、処理されたトレーニングデータ236を生成するために、n-グラム分離器232によってn-グラム文字に分解されてもよい。n-グラム文字は、1つの文字(ユニグラム)、2つの文字(バイグラム)、または3つの文字(トリグラム)など、規定された数の文字を含んでもよい。たとえば、"A tycoon"というテキストデータ単語文字列は、"A"、"A t"、"Aty"、"Ty"、および"Tyc"などに分解されてもよい。n-グラム文字は、機械学習モデルをトレーニングするための特徴として使用される。
トレーニングデータは、各特徴を表す値、たとえば数を含有する特徴ベクトルの形式であってもよい。n-グラム特徴に加えて、他の特徴が、テキストデータから抽出されて、トレーニングデータとして含まれてもよく、それらは、異なるユニコードブロック、ユニコードスクリプト、これらの特定の組み合わせなどにおける文字の総数または存在など、特徴ベクトルの形式であってもよい。たとえば、n-グラム特徴ベクトルは、特定のn-グラムが入力テキスト内に存在することを示す1および0の形式における値、n-グラムが入力テキスト内に現れる回数の総数などを含んでもよい。
n-グラムの形式における処理されたトレーニングデータ236は、メモリ234内に保存され、機械学習モデルをトレーニングするための特徴としてトレーニングモジュール240に供給されてもよい。たとえば、3-グラム文字シーケンス"ity"が、断片パターンとして機械学習モデルに入力されてもよい。
いくつかの実装形態では、機械学習モデルをトレーニングするための特徴として使用されるn-グラム文字は、ASCII文字、ハングル文字、日本文字、ロシア文字、ラテン文字、キリル文字、またはユニコードのブロックを含んでもよい。
自動ラベラ224による言語ラベル、ラベル検証器226による言語ラベル、および信頼されている事前のラベルなど、処理されたテキストデータと関連づけられた言語ラベルは、機械学習モデルをトレーニングする目的のためのグラウンドトゥルースラベルとして利用されてもよい。
例示的な機械学習モデルのトレーニング
言語分析システムに対する機械学習モデルをトレーニングするための例示的な方法について、図3のフローチャートに示す。いくつかの実装形態では、機械学習モデルをトレーニングするための技法は、図1に関して説明したn-グラム特徴およびn-グラム内の異なる文字タイプの総数を使用するロジスティック回帰アルゴリズムなどの教師付き分類アルゴリズムを使用してもよい。言語間および言語内の最も一般的なn-グラムが、特徴として使用されてもよい。図1に関連して説明したグラウンドトゥルース言語ラベルなど、処理されたトレーニングデータおよび関連する言語ラベルが、ブロック300においてトレーニングのために受信される。いくつかの実装形態では、トレーニングデータおよび関連する言語ラベルを処理するコンピューティングデバイスは、機械学習モデルをトレーニングするために利用されるコンピューティングデバイスとは別でもよい。いくつかの実装形態では、同じコンピューティングデバイスが、トレーニングデータおよび関連する言語ラベルの処理、ならびに機械学習モデルのトレーニングを実行するために使用される。
ブロック302において、処理されたトレーニングデータが、教師付きトレーニングに対する関連言語ラベルのない、トレーニングされていない機械学習モデルに供給されてもよい。いくつかの実装形態はでは、処理されたトレーニングデータが、教師なしトレーニングに対する関連言語ラベルを有する、トレーニングされていない機械学習モデルに供給されてもよい。いくつかの実装形態では、トレーニングデータは、特徴ベクトルの形式である。処理されたトレーニングデータは、トレーニングデータがいくつかの所定の要因を満たす場合、トレーニングのために選択されてもよい。たとえば、言語間および/または特定の言語内の最も一般的なn-グラムが、トレーニングするための特徴として使用されてもよい。
ブロック304において、本明細書で説明するように、機械学習モデルは、トレーニングテキストデータを分析し、出力データとして予測言語を生成する。
ブロック306において、現在の予測言語ラベルが、トレーニングデータの前処理からの言語ラベルなど、トレーニングの前にトレーニングデータと関連づけられた言語ラベルと比較される。予測ラベルと以前に関連したラベルとの間の差を示す不一致情報が生成される。決定ブロック308において、不一致情報が予測言語ラベルの精度に対する所定のしきい値を満たすかどうかが決定されてもよい。しきいの精度が満たされない場合、ブロック310において、不一致情報が、機械学習モデルを再トレーニングして現在の予測言語ラベルを更新するために、機械学習モデルに戻って供給される。処理は、機械学習モデルが予測ラベルを再決定して出力するために、ブロック304に戻る。再トレーニングは、不一致が精度のしきい値を満たすまで、追加のトレーニングデータセットを使用して、反復して繰り返されてもよい。しきいの精度が満たされる場合、ブロック312において、プロセスは、ユーザクエリを評価する準備ができているとして機械学習モデルを受け入れる。
いくつかの実装形態では、2つ以上の機械学習モデルは、異なるトレーニングデータを用いてトレーニングされてもよい。機械学習リポジトリが、トレーニングされた機械学習モデルを、関連するデータおよび/またはメタデータを含めて記憶および回収するために提供されてもよい。トレーニングされた機械学習モデルのうちの1つまたは複数が、到来するユーザクエリを評価するために選択されてもよい。機械学習リポジトリは、任意の時点において任意のバージョンのモデルを使用することにおける柔軟性を可能にするか、または評価されているテキストの様々な部分に対する様々なモデルを使用する。
ステップ、動作、または計算は、特定の順序で提示されているが、その順序は、特定の実装形態において変更されてもよい。ステップの他の順序付けが、特定の実装形態に応じて可能である。いくつかの特定の実装形態では、本明細書ではシーケンスとして示されている複数のステップが、同時に実行されてもよい。また、いくつかの実装形態は、示されているステップのすべてを有するとは限らず、および/または、本明細書で示されている順序の代わりに、またはそれらに加えて、他のステップを有してもよい。
例示的なユーザクエリ応答
機械学習モデルを適用することによってユーザクエリを評価するための例示的な方法について、図4のフローチャートに示す。技法は、ユーザクエリの言語を決定することと、ユーザクエリに応答することとを含む。
ブロック400において、ユーザクエリが、システムによって受信される。ユーザクエリは、キーボードを介してテキストを入力することなど、様々な入力方法を介してユーザによって入力されてもよい。いくつかの実装形態では、ユーザクエリは、たとえばユーザによってマイクロフォンを介して、音声入力として開始されてもよい。オーディオとして入力されたユーザクエリが、テキストに変換されてもよい。入力は、ユーザが、タッチ、音声、クリック、タップ、タイプ、ジェスチャー、運動(たとえば、目、腕、ボディを動かすこと)、および/または他のアクションを適用すること含んでもよい。
ブロック402において、ユーザクエリが、評価のために処理されてもよい。たとえば、ユーザクエリは、n-グラムに分離されてもよく、それは、図2に関して説明したn-グラム分離器によってトレーニングデータを処理するのと同様の方法で実行されてもよい。
ブロック404において、トレーニングされた機械学習モデルが、ユーザクエリに対する候補言語を識別するために利用される。処理されたユーザクエリのいくつかのn-グラムセグメントは共通であり、および/または候補言語として識別される特定の言語における意味を有することが、機械学習モデルを使用して決定されてもよい。たとえば、ユーザクエリの3-グラムセグメント、"ity"が、英語とフランス語の両方において共通であることが発見されてもよい。
いくつかの実装形態では、ユーザクエリの言語がトレーニングされた機械学習モデルによって識別されない実例において、候補言語が、未知の言語カテゴリーを含む場合がある。
ブロック406において、機械学習モデルが、候補言語の各々に対する信頼スコアを決定するために適用される。いくつかの実装形態では、信頼スコアは、候補言語に対するn-グラムのセグメントの関連性の度合いを示す。各候補言語に対する最小のしきいのスコアが、機械学習モデルによって戻されてもよい。最小のしきい値を超えるスコアを戻す言語が、候補言語である可能性がある言語として戻される。
ブロック408において、個別に名づけられた候補言語に特有の言語データベースが、その未処理の形態でユーザクエリの単語とのマッチを発見するために検索される。言語固有のデータベースは、応答マッチと関連づけられたゲーム情報を含む。所定の検索基準を満たす候補言語の言語固有のデータベースが検索されてもよい。いくつかの実装形態では、候補言語が、それぞれの候補スコアに従ってランク付けられてもよい。ランク付けられた言語の最上位に指定された数に対する言語固有のデータベースが検索されてもよい。いくつかの実装形態では、しきいの信頼スコアを満たす候補言語の言語固有のデータベースが、検索において使用される。
いくつかの実装形態では、複数の言語に対するスコアを含むベクトルが生成され、スコアに対応する複数の言語固有のゲームデータベースが、ユーザクエリに基づいて検索される。言語に対する信頼スコアおよび言語の各々の中のユーザクエリに対するスコアに基づく統合されたスコアが生成される。たとえば、所与の検索クエリに対して、機械学習モデルは、各言語に対するスコアを出力してもよい。しきい値を超える信頼スコアと関連づけられた言語が、検索のために使用されてもよい。各言語に対する信頼スコアがまた、各言語データベースからの検索クエリから戻された応答(たとえば、オンラインゲーム)の総合的スコアリングおよび/またはソーティングにおける要因として使用されてもよい。
いくつかの実装形態では、追加の考慮要因が、1つまたは複数の言語に関連するユーザ固有の情報を含めて、信頼スコアを引き上げるかまたは引き下げるために使用されてもよい。ユーザ固有の情報は、ユーザプロフィール情報、たとえばユーザによって指定された言語選択を含んでもよく、ユーザ活動統計、たとえばユーザによって使用された前の言語を表すデータおよび/またはユーザによってプレーされた前のゲームの言語を含んでもよい。そのような追加の要因は、検索するための言語固有のデータベースの決定において考慮されてもよい。たとえば、追加の考慮要因、たとえばユーザ固有の情報によって示される特定の言語は、信頼スコアに加える引き上げ値、または信頼スコアから減じる引き下げ値を有してもよい。特定の言語の結果として得られた引き上げられたスコアは、引き上げ値を持たない信頼スコアがしきい値またはランキング基準を満たすことができない場合でも、信頼しきい値またはランキングに到達する場合がある。引き下げられたスコアは、引き下げ値を持たない信頼スコアがしきい値またはランキング基準を満たす場合でも、特定の言語を取り除いてもよい。検索基準を満たす引き上げられたスコアを有する言語の言語固有のデータベースが検索されてもよい。
いくつかの実装形態では、追加の考慮要因、たとえばユーザ固有の情報が、信頼スコアとは別の基準として考慮される。たとえば、ユーザプロフィールの中にリストアップされた言語が、機械学習モデルによって発見された候補言語に加えて、候補言語であってもよい。追加の考慮要因、たとえばユーザ固有の情報によって示される言語に対する言語固有のデータベースがまた、検索されてもよい。
候補言語が、機械学習モデルによって未確認言語である状況では、未知の言語と関連づけられた言語固有のデータベースが、応答マッチのために検索されてもよい。いくつかの実装形態では、未知の言語データベースが、決定されたクエリ言語に関連する言語固有のデータベースとともにデフォルトによって検索される。
いくつかの実装形態では、識別された言語固有のデータベース内を検索する前に、ユーザクエリが、検索要件に、および特定の候補言語固有のデータベースの実行に適応するように処理されてもよい。たとえば、言語が、検索に対して一定の単語、("the"および"a"などの単語など)を認識または考慮しない場合、その単語は、その言語固有のデータベースの中の検索用語として省略されてもよい。別の例では、単語間または文章間のスペースの使用は、言語の慣習に適合するように修正されてもよい。
いくつかの単語は、複数の言語において有効な単語である場合がある。たとえば、「ピザの店(pizza place)」というキーワードを含むユーザクエリは、英語およびイタリア語の結果をもたらす場合がある。別の例では、「溶岩(lava)」という用語を含むユーザクエリは、少なくとも英語、クロアチア語、チェコ語、デンマーク語、オランダ語、ドイツ語、ノルウエー語、およびスペイン語で見つかる場合がある。
ブロック410において、マッチスコアが、言語固有のデータベース内の各応答マッチに対して決定される。マッチスコアは、言語固有のデータベース内の特定の言語内に記憶されたユーザクエリに対するユーザクエリのマッチの近接性の測度を示す。たとえば、マッチスコアは、言語固有のデータベース内で正確なマッチを有するクエリ内の単語の数またはパーセンテージに基づいてもよい。いくつかの実装形態では、マッチスコアは、1つの言語固有のデータベース内の単語を有するユーザクエリ内の単語の文字マッチを表してもよい。いくつかの実装形態では、用語頻度-逆ドキュメント頻度(TF-IDF:Terms Frequency-Inverse Document Frequency)法およびバッグオブワーズ(Bag of Words)検索機能(ベストマッチング-BM25)など、他の標準関連性スコアリング技法が使用されてもよい。
ブロック412において、加重スコアが、言語の信頼スコアおよびマッチスコアから決定される。各結果は、それと関連づけられた2つのスコア、すなわち機械学習モデルからの信頼スコアおよび言語データベースからのマッチスコアを有してもよく、それらは、様々な言語データベースにおけるマッチングからの複数のスコアの組み合わせであってもよい。マッチスコアまたは信頼スコアのうちの一方が、2つのスコアに重みを関連づけることによって他方のスコアを引き上げるまたは引き下げるために使用されてもよく、重み付けられたスコアがもたらされる。
いくつかの実装形態では、スコアは、マッチをより正確に比較するために、データベース間で正規化されてもよい。たとえば、特定の言語データベース内のマッチスコアが高い場合がある。なぜならば、より多くの検索ヒットを含む別の言語データベースと比較して、そのデータベースにおいて検索ヒットまたはエントリーがより少ないからである。データベース内のデータを正規化することで、より正確なマッチスコアが提供される場合がある。
ブロック414において、応答マッチが、加重スコアに従ってランク付けられる。追加の考慮要因が、ランキングを引き上げるかまたは引き下げるために適用されてもよい。ブロック416において、応答内で提供されるべき検索結果が、以下で示すように、応答マッチのランキングに少なくとも部分的に基づいて決定される。
いくつかの実装形態では、ユーザ固有の情報が、特定のクエリ言語を支持する決定を引き上げるように、または特定のクエリ言語に反する決定を引き下げるように考慮されてもよい。ユーザ固有の情報のいくつかの例は、ユーザプロフィール情報、特定の言語のゲームとのプレーヤの関わりの量、およびプレーヤが特定の言語、たとえば前のユーザクエリ、チャット、テキストなどを使用してオンラインゲームと対話する量を含む。
例として、特定の検索クエリに対する信頼スコアは、たとえば機械学習モデル出力に基づいて、フランス語に対して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の前にランク付けられてもよい。いくつかの実装形態では、考慮要因、たとえばユーザプロフィールと合致する最高のランキング検索結果だけが、応答の中で提供されてもよい。
ブロック418において、ユーザクエリに対する検索結果を含む応答が、ユーザに示される。応答は、クエリ言語である見込みのある言語に対する言語固有のデータベース内の応答マッチによって識別されたゲーム情報に基づいてもよい。たとえば、識別されたゲーム情報は、検索結果応答の中に含まれてもよく、または、応答を生成するために参照されてもよい。
検索結果応答を提供するために、ゲーム情報が、統合されてランク付けられてもよい。いくつかの実例では、同じ検索結果、たとえばオンラインゲームが、複数の言語データベース内に現れる場合がある。重複する検索結果が取得された場合、システムは、論理を使用して結果を重複排除してもよい。たとえば、同一のまたは実質的に同様の結果が、重複物を取り除くためにフィルタで取り除かれてもよい。いくつかの実装形態では、同じ検索結果が複数の言語データベース内で発見されるとき、システムは、検索結果応答の中でクライアントデバイスに提示されるべき最高の加重スコアを有する言語固有のデータベースから、重複する検索結果、たとえばゲームを選択してもよい。
言語固有のデータベース内にリストアップされているいくつかのゲーム情報が、特定の言語として確実に分類されていない場合がある。ゲーム情報は、たとえばゲーム開発者によって言語として手動で分類されて、不正確である場合がある。特定の言語に対するゲーム情報のリストアップが、ゲーム統計、およびゲーム情報と関連づけられたゲームにアクセスするユーザに対するユーザプロフィール言語など、補助的言語情報に対する参照によって検証されてもよい。いくつかの実装形態では、ゲームデータベースは、ゲームのプレーヤのユーザプロフィール言語情報によって示されるような、ゲーム内の特定の言語におけるプレーヤのトラフィックの量など、補助的言語情報に基づいて言語に対してシード順位を与えられてもよい。
いくつかの実装形態では、ゲーム情報は、ウェブページ情報、たとえばオンラインゲームに対するユニフォームリソースロケータ(URL)またはゲームアプリケーションに参入するための情報などの接続情報を含んでもよい。たとえば、検索結果応答は、アイコンなど、1つまたは複数のユーザインターフェース要素を含んでもよい。インターフェース要素、たとえばリンクは、オンラインゲームのうちのそれぞれのゲームをプレーすることに関連するデジタル情報、たとえばウェブページ、アプリケーションなどにナビゲートするために、クリック、タップ、キーボードアクション、音声コマンドなどのユーザアクションによって起動されてもよい。このようにして、ユーザは、オンラインゲームに接続してゲームをプレーしてもよく、またはいくつかのプレーヤもしくはプレーヤグループ; ゲーム内で使用するための仮想アイテム、たとえばアバターパーツ、衣類およびアクセサリー; ならびにゲーム開発者ツール、たとえばパッケージ、デカル、オーディオおよびプラグインなど、ゲームについての記述的情報を受信してもよい。たとえば、デジタル情報は、特定のゲームをプレーすることを開始するための開始ウェブページであってもよい。
ステップ、動作、または計算は、特定の順序で提示されているが、その順序は、特定の実装形態において変更されてもよい。ステップの他の順序付けが、特定の実装形態に応じて可能である。いくつかの特定の実装形態では、本明細書ではシーケンスとして示されている複数のステップが、同時に実行されてもよい。また、いくつかの実装形態は、示されているステップのすべてを有するとは限らず、および/または、本明細書で示されている順序の代わりに、またはそれらに加えて、他のステップを有してもよい。
例示的なゲームサーバ
図5は、図1に示すゲームサーバ130など、オンラインゲームシステムのゲームサーバ500の例示的な要素を示すブロック図である。ゲームサーバ500は、ユーザクエリを分析し、たとえば図4に関して説明した方法を使用して検索結果応答を提供してもよい。具体的には、ゲームサーバ500は、総合的システムアーキテクチャのサブシステム(図6に関してより詳細に示して説明する)であってもよい。
ゲームサーバ500の様々な要素が、図示および説明の目的で、個別の/別々の要素として、図5に示されている。いくつかの実施形態によれば、これらの要素のうちのいくつかを単一の要素またはデバイスの中に組み合わせることは可能である一方で、オンラインゲームシステムの他の実装形態では、これらの要素は、クラウドコンピューティングネットワークの中など、ネットワークを介して配信されてもよい。たとえば、複数のサーバ実装形態では、言語分析システム504と関連づけられた要素が、1つのサーバにおいて設置されて動作されてもよく、一方で、クエリ評価器506と関連づけられた要素が、第1のサーバから離れた別のサーバにおいて設置されてもよい。
ゲームサーバ500は、メモリ502と、プロセッサ520と、I/Oインターフェース530とを含んでもよい。メモリ502は、言語分析システム504(図1を参照して説明した言語分析システム134など)、検索エンジン506(図1を参照して説明した検索エンジン138など)、データ記憶装置508、コンピュータプログラム510、および/またはオペレーティングシステム512を含んでもよい。
I/Oインターフェース530は、ゲームサーバ500を、図1に関して説明したネットワーク122などのワイヤレスネットワーク上のサーバなど、他のシステムおよびデバイスとインターフェースすることを可能にするための機能を提供することができる。インターフェースされたデバイスは、ゲームサーバ500の一部として含まれることが可能であり、またはゲームサーバ500とは別でありゲームサーバ500と通信することができる。いくつかの実装形態では、ネットワーク通信デバイス、記憶デバイス(たとえば、メモリおよび/またはデータベース)、および入力/出力デバイスが、I/Oインターフェース530を介して通信することができる。
I/Oインターフェース530は、他の入力および出力デバイスとインターフェースすることができる。いくつかの実装形態では、I/Oインターフェース530は、入力デバイス(キーボード、ポインティングデバイス、タッチスクリーン、マイクロフォン、カメラ、スキャナ、センサなど)および/または出力デバイス(表示デバイス、スピーカーデバイス、プリンタ、モータなど)などのインターフェースデバイスに接続することができる。いくつかの実装形態は、音(たとえば、キャプチャ画像の一部、音声コマンドなどの一部として)をキャプチャするためのマイクロフォン、音を出力するためのオーディオスピーカーデバイス、または他の入力および出力デバイスを提供することができる。
プロセッサ520(図1に関して説明したプロセッサ140など)は、メモリ502内にまたはデータ記憶装置508上に記憶された命令を含む、ゲームサーバ500内で実行するための命令を処理してもよい。プロセッサ520は、コンピューティングデバイスコンポーネント、たとえばアプリケーション、インターフェースを介するワイヤレスもしくはワイヤード通信などを連係させてもよい。いくつかの実装形態では、複数のプロセッサおよびバスが使用されてもよい。
プロセッサ520は、別々のかつ複数のアナログデジタルプロセッサを含むチップのチップセットとして実装されてもよい。プロセッサはまた、様々なアーキテクチャを使用して実装されてもよい。たとえば、プロセッサ520は、CISC(複数命令セットコンピュータ)プロセッサ、RISC(縮小命令セットコンピュータ)プロセッサ、またはMISC(最小命令セットコンピュータ)プロセッサであってもよい。
「プロセッサ」は、データ、信号もしくは他の情報を処理する任意の好適なハードウェアおよび/もしくはソフトウェアシステム、機構、またはコンポーネントを含む。プロセッサは、汎用中央処理装置、複数の処理ユニット、機能を達成するための専用回路、または他のシステムを有するシステムを含んでもよい。処理は、地理的ロケーションに限定される必要はなく、または時間的制限を有する必要もない。たとえば、プロセッサは、その機能を「実時間」、「オフライン」、「バッチモード」などで実行してもよい。処理の部分は、異なる時間に異なるロケーションで、異なる(または同じ)処理システムによって実行されてもよい。
メモリ502は、ゲームサーバ500内の情報を記憶する。メモリ502は、ランダムアクセスメモリ(RAM)、リードオンリーメモリ(ROM)、磁気記憶デバイス(ハードディスクドライブなど)、フラッシュ、光記憶デバイス(CD、DVDなど)、磁気もしくは光ディスク、またはプロセッサによる実行のために命令(たとえば、プログラムまたはソフトウェア命令)を記憶するのに好適な他の有形媒体などの電子記憶デバイスを含む、任意の好適なデータ記憶装置、メモリ、および/または非一時的コンピュータ可読記憶媒体であってもよい。たとえば、ハードウェア記憶デバイスなどの有形媒体は、制御論理を記憶するために使用することができ、それは実行可能命令を含むことができる。命令はまた、たとえばサーバ(たとえば、分散型システムおよび/またはクラウドコンピューティングシステム)から配信されたサービス型ソフトウェア(SaaS)の形の電子信号の中に含有されること、および電子信号として提供されることが可能である。
データ記憶装置508は、トレーニングデータ、前処理されたテキストデータ、アプリケーション、および他のデータを保持してもよい。データ記憶装置はまた、原画像ならびにその画像の様々な編集バージョンを記憶するために使用されてもよい。情報の少なくとも一部がまた、ゲームサーバ500内のディスクドライブまたは他のコンピュータ可読記憶デバイス(図示せず)上に記憶されてもよい。そのような記憶デバイスは、フロッピーディスクデバイス、ハードディスクデバイス、光ディスクデバイス、またはテープデバイス、デジタルカード、フラッシュメモリもしくは他の同様のソリッドステートメモリデバイス、またはデバイスのアレイを含む。いくつかの実装形態では、データ記憶装置508は、トレーニングされた機械学習モデルを統合、更新、管理および回収するために機械学習リポジトリ514を含む。
1つまたは複数のコンピュータプログラム510は、プログラム、ソフトウェア、ソフトウェアアプリケーション、またはコードとも呼ばれ、実行されるとき、本明細書で説明する方法など、1つまたは複数の方法を実行する命令を同様に含有してもよい。コンピュータプログラムは、コンピュータまたは機械可読媒体、たとえばメモリ502、プロセッサ520上の記憶デバイスもしくはメモリなどの情報担体内に有形に埋め込まれてもよい。機械可読媒体は、機械命令またはデータをプログラマブルプロセッサに供給するために使用される、任意のコンピュータプログラム製品、装置、またはデバイスである。
任意の好適なプログラミング言語およびプログラミング技法が、特定の実施形態のルーティンを実施するために使用されてもよい。手続き型またはオブジェクト指向など、様々なプログラミング技法が使用されてもよい。ルーティンは、単一の処理デバイスまたは複数のプロセッサ上で実行してもよい。ステップ、動作、または計算は、特定の順序で提示されてもよいが、その順序は、異なる特定の実施形態において変更されてもよい。いくつかの特定の実施形態では、本明細書ではシーケンスとして示されている複数のステップが、同時に実行されてもよい。いくつかの実装形態について説明した。条件付き言語を用いて説明される特徴が、オプションである実装形態を説明してもよい。本開示で説明される機能ブロック、方法、デバイス、およびシステムは、当業者に知られているようなシステム、デバイス、および機能ブロックの様々な組み合わせに統合または分割されてもよい。
本説明は、特定の実装形態に関して説明されたが、これらの特定の実装形態は、単なる説明であって、制約するものではない。例の中で示した概念は、他の例および実装形態に適用されてもよい。したがって、様々な修正形態が、本開示の趣旨および範囲から逸脱することなく作成されてもよく、他の実装形態は、以下の特許請求の範囲の範囲中にある。
本明細書で説明する方法は、コンピュータプログラム命令またはコードによって実施することができ、それらはコンピュータ上で実行することができる。いくつかの実装形態では、コードは、1つまたは複数のデジタルプロセッサ(たとえば、マイクロプロセッサまたは他の処理回路)によって実施されてもよく、半導体もしくはソリッドステートメモリ、磁気テープ、除去可能コンピュータディスケット、ランダムアクセスメモリ(RAM)、リードオンリーメモリ(ROM)、フラッシュメモリ、固い磁気ディスク、光ディスク、ソリッドステートメモリドライブなどを含む、磁気、光、電磁、もしくは半導体の記憶媒体などの非一時的コンピュータ可読媒体(たとえば、記憶媒体)を含むコンピュータプログラム製品上に記憶されることが可能である。プログラム命令はまた、たとえばサーバ(たとえば、分散型システムおよび/またはクラウドコンピューティングシステム)から配信されたサービス型ソフトウェア(SaaS)の形の電子信号の中に含有されてもよく、かつ電子信号として提供されてもよい。
代替的に、1つまたは複数の方法が、ハードウェア(論理ゲートなど)内に、またはハードウェアとソフトウェアとの組み合わせにおいて実装されてもよい。例示的なハードウェアは、プログラマブルプロセッサ(たとえば、フィールドプログラマブルゲートアレイ(FPGA)、複合プログラマブル論理デバイス)、汎用プロセッサ、グラフィックス処理装置(GPU)、特定用途向け集積回路(ASIC)、などとすることができる。1つまたは複数の方法が、システム上で実行するアプリケーションのパーツもしくはコンポーネントとして、または他のアプリケーション512およびオペレーティングシステム514と連動して実行するアプリケーションもしくはソフトウェアとして実行されることが可能である。
例示的なシステムアーキテクチャ
図6では、例示的なゲームシステムアーキテクチャ600(本明細書では「システム」とも呼ばれる)は、ゲームサーバ602(たとえば、図5に関して説明したゲームサーバ500)、第1のクライアントコンピューティングデバイスA610、および少なくとも1つの他のクライアントコンピューティングデバイスN616(ここで、"N"は、1つまたは複数のクライアントデバイスのうちの任意の数を表す)を含む。
ゲームサーバ602は、言語分析システム604(図1に関して説明した言語分析システム134など)および1つまたは複数のオンラインゲーム606を含んでもよい。ゲームサーバ602はまた、検索結果応答をクライアントデバイス610および616に提供してオンラインゲーム606へのクライアントアクセスを管理するためのゲーム管理モジュール608を含んでもよい。ゲームサーバ602は、記憶装置624に動作可能に結合されてもよく、または、記憶装置624と通信していてもよい。システムアーキテクチャ600は、1つの可能な実装形態を説明するために提供される。他の実装形態では、ゲームシステムアーキテクチャ600は、図6に示すように、同じまたは異なる方式で構成された同じ、より少ない、より多い、もしくは異なる要素を含んでもよい。
通信ネットワーク622(図1に関して説明したネットワーク122など)が、ゲームサーバ602とクライアントデバイス610、616との間、および/またはゲームシステムアーキテクチャ600内の他の要素間の通信のために使用されてもよい。ネットワーク622は、公共ネットワーク(たとえば、インターネット)、私的ネットワーク(たとえば、ローカルエリアネットワーク(LAN)または広域ネットワーク(WAN))、ワイヤードネットワーク(たとえば、イーサネットネットワーク)、ワイヤレスネットワーク(たとえば、802.11ネットワーク、Wi-Fiネットワーク、またはワイヤレスLAN(WLAN))、セルラーネットワーク(たとえば、ロングタームエボリューション(LTE)ネットワーク)、ルータ、ハブ、スイッチ、サーバコンピュータ、またはそれらの組み合わせを含んでもよい。
パーソナルコンピュータ、モバイルデバイス、またはビデオゲームコンソールなどのクライアントデバイス610、616は、ユーザからユーザクエリを入力してゲームサーバ602からクエリ結果を受信するために、ゲームアプリケーション612、620と1つまたは複数の入力/出力デバイス614、618(たとえば、オーディオ/ビデオ入力/出力デバイス)とを含んでもよい。入力/出力デバイス614、618は、他の入力および出力デバイスにインターフェースすることができる。いくつかの実装形態では、入力/出力デバイス614、618は、入力デバイス(キーボード、ポインティングデバイス、タッチスクリーン、マイクロフォン、カメラ、スキャナ、センサなど)および/または出力デバイス(表示デバイス、スピーカーデバイス、プリンタ、ヘッドホンなど)などのインターフェースデバイスに接続することができる。いくつかの実装形態は、音(たとえば、音声コマンド)をキャプチャするためのマイクロフォン、音(たとえば、検索結果応答)を出力するためのオーディオスピーカーデバイス、または他の入力および出力デバイスを提供することができる。
ゲームシステムアーキテクチャ600は、1つまたは複数の記憶デバイス624をさらに含んでもよい。記憶デバイス624は、たとえばゲームサーバ602内に設置されるか、またはネットワーク622を介してゲームサーバ602に通信可能に結合される記憶デバイスであってもよい。記憶デバイス604は、たとえばトレーニングテキストデータ、未処理のテキストデータ、ユーザプロフィール情報などのユーザ固有の情報、機械学習モデルリポジトリ(たとえば、図5の514)内などのトレーニングされた機械学習モデル、言語固有のデータベース、などを記憶してもよい。
一実装形態では、記憶デバイス624は、非一時的コンピュータ可読メモリ(たとえば、ランダムアクセスメモリ)、キャッシュ、ドライブ(たとえば、ハードドライブ)、フラッシュドライブ、データベースシステム、またはデータおよび他のコンテンツを記憶することができる別のタイプのコンポーネントもしくはデバイスであってもよい。記憶デバイス624はまた、複数のコンピューティングデバイス(たとえば、複数のサーバコンピュータ)に及んでもよい複数の記憶コンポーネント(たとえば、複数のドライブまたは複数のデータベース)を含んでもよい。
一実装形態では、記憶デバイス624は、非一時的コンピュータ可読メモリ(たとえば、ランダムアクセスメモリ)、キャッシュ、ドライブ(たとえば、ハードドライブ)、フラッシュドライブ、データベースシステム、またはデータおよび他のコンテンツを記憶することができる別のタイプのコンポーネントもしくはデバイスであってもよい。記憶デバイス624はまた、複数のコンピューティングデバイス(たとえば、複数のサーバコンピュータ)に及んでもよい複数の記憶コンポーネント(たとえば、複数のドライブまたは複数のデータベース)を含んでもよい。
いくつかの実装形態では、ゲームサーバ602は、1つまたは複数のコンピューティングデバイスを有するサーバ(たとえば、クラウドコンピューティングシステム、ラックマウントサーバ、サーバコンピュータ、物理サーバのクラスタなど)を含んでもよい。いくつかの実装形態では、ゲームサーバ602は、オンラインゲームプラットフォーム402内に含まれてもよく、独立システムであってもよく、または別のシステムもしくはプラットフォームの一部であってもよい。
いくつかの実装形態では、ゲームサーバ602は、ゲームサーバ602上で動作を実行するためおよびユーザにゲームサーバ602へのアクセスを提供するために使用されてもよい、1つまたは複数のコンピューティングデバイス(ラックマウントサーバ、ルータコンピュータ、サーバコンピュータ、パーソナルコンピュータ、メインフレームコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、デスクトップコンピュータなど)、データ記憶装置(たとえば、ハードディスク、メモリ、データベース)、ネットワーク、ソフトウェアコンポーネント、および/またはハードウェアコンポーネントを含んでもよい。ゲームサーバ602はまた、ユーザにゲームサーバ602によって提供されるコンテンツへのアクセスを提供するために使用されてもよい、ウェブサイト(たとえば、ウェブページ)またはアプリケーションバックエンドソフトウェアを含んでもよい。たとえば、ユーザは、クライアントデバイスA610上のゲームアプリケーション612およびクライアントデバイスN616上のゲームアプリケーション620を使用してゲームサーバ602にアクセスしてもよい。
いくつかの実装形態では、ゲームサーバ602は、ユーザ間の接続を提供するソーシャルネットワークのタイプ、またはユーザ(たとえば、エンドユーザまたは消費者)がオンラインゲームプラットフォーム402上で他のユーザと通信することを可能にするユーザ作成型コンテンツシステムのタイプであってもよく、ここで通信は、音声チャット(たとえば、同期および/または非同期音声通信)、ビデオチャット(たとえば、同期および/または非同期ビデオ通信)、またはテキストチャット(たとえば、同期および/または非同期テキストベース通信)を含んでもよい。
本開示のいくつかの実装形態では、「ユーザ」は、単一の個人として表されてもよい。しかしながら、本開示の他の実装形態は、「ユーザ」が、ユーザのセットまたは自動化されたソースによって制御されるエンティティであることを包含する。たとえば、ユーザ作成型コンテンツシステム内のコミュニティまたはグループとして連合した個々のユーザのセットが、「ユーザ」と見なされてもよい。
いくつかの実装形態では、オンラインゲームプラットフォーム602は、仮想ゲームプラットフォームであってもよい。たとえば、ゲームプラットフォームは、ネットワーク622を介してクライアントデバイス610、616を使用してゲームにアクセスしてもよいかまたはゲームと対話してもよいユーザのコミュニティに、シングルプレーヤまたはマルチプレーヤのゲームを提供してもよい。いくつかの実装形態では、ゲーム(本明細書で「ビデオゲーム」、「オンラインゲーム」、または「仮想ゲーム」などとも呼ばれる)は、たとえば2次元(2D)ゲーム、3次元(3D)ゲーム(たとえば、3Dユーザ作成型ゲーム)、仮想現実(VR)ゲーム、または拡張現実(AR)ゲームであってもよい。いくつかの実装形態では、ユーザは、他のユーザとともにゲームプレーに参加してもよい。いくつかの実装形態では、ゲームは、ゲームの他のユーザと実時間でプレーされてもよい。
いくつかの実装形態では、ゲームプレーは、ゲーム(たとえば、ゲーム606)内でクライアントデバイス(たとえば、クライアントデバイス610および/または616)を使用する1つまたは複数のプレーヤの対話を指してもよく、またはクライアントデバイス610、616のディスプレイもしくは他のユーザインターフェース(たとえば、ユーザインターフェース614、618)上の対話の提示を指してもよい。
いくつかの実装形態では、ゲーム606は、ゲームコンテンツ(たとえば、デジタル媒体アイテム)をエンティティに提示するように構成されたソフトウェア、ファームウェアまたはハードウェアを使用して実行またはロードされることが可能な電子ファイルを含むことができる。いくつかの実装形態では、ゲームアプリケーション612、620が実行されてもよく、ゲーム606がゲームサーバ602に関連して表示されてもよい。
上記で使用される「いくつかの実装形態」または「いくつかの実例」に対する参照は、実装形態または実例に関連して説明される特定の特徴、構造または特性が、本説明の少なくとも1つの実装形態の中に含まれることが可能であることを意味する。上記の様々な場所における「いくつかの実装形態では」というフレーズの出現は、必ずしも同じ実装形態を指すとは限らない。
上記の「発明を実施するための形態」では、添付の図面に対する参照が行われ、その図面は本明細書の一部を形成する。図面において、一般的に、文脈が別段に記さない限り、同様の記号は同様のコンポーネントを識別する。「発明を実施するための形態」、図面、および特許請求の範囲の中で説明される例示的な実装形態は、制限することを意味するものではない。本明細書で提示する主題の趣旨または範囲を逸脱することなく、他の実装形態が利用されてもよく、他の変更がなされてもよい。本明細書で一般的に説明され、図で示される本開示の態様は、広範な異なる構成において配列され、置換され、組み合わされ、分離され、設計され得、それらのすべが本明細書で考慮される。
上記の説明では、説明のために、多数の具体的な詳細が、本明細書の完全な理解を与えるために示される。しかしながら、本開示は、これらの具体的な詳細なしに実行されることが可能であることが当業者には理解されよう。いくつかの実例では、構造およびデバイスが、説明を不明瞭にすることを回避するためにブロック図の形で示される。たとえば、実装形態は、主に特定のハードウェアを参照して上記で説明されることが可能である。しかしながら、実装形態は、データおよびコマンドを受信することができる任意のタイプのコンピューティングデバイス、およびサービスを提供する任意の周辺デバイスに適用することができる。
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 記憶装置

Claims (20)

  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に記載のシステム。
JP2022564424A 2020-04-24 2021-04-14 オンラインゲームのためのユーザ入力テキストの言語検出 Active JP7529797B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/858,467 US11475054B2 (en) 2020-04-24 2020-04-24 Language detection of user input text for online gaming
US16/858,467 2020-04-24
PCT/US2021/027285 WO2021216337A1 (en) 2020-04-24 2021-04-14 Language detection of user input text for online gaming

Publications (2)

Publication Number Publication Date
JP2023523004A JP2023523004A (ja) 2023-06-01
JP7529797B2 true JP7529797B2 (ja) 2024-08-06

Family

ID=78222442

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022564424A Active JP7529797B2 (ja) 2020-04-24 2021-04-14 オンラインゲームのためのユーザ入力テキストの言語検出

Country Status (6)

Country Link
US (3) US11475054B2 (ja)
EP (1) EP4139768A4 (ja)
JP (1) JP7529797B2 (ja)
KR (1) KR102569760B1 (ja)
CN (1) CN115380260A (ja)
WO (1) WO2021216337A1 (ja)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11475054B2 (en) * 2020-04-24 2022-10-18 Roblox Corporation Language detection of user input text for online gaming
WO2022024315A1 (ja) * 2020-07-30 2022-02-03 富士通株式会社 精度推定プログラム、装置、及び方法
US11816162B2 (en) * 2020-07-31 2023-11-14 Adobe Inc. Methods and systems for search query language identification
WO2022039745A1 (en) * 2020-08-20 2022-02-24 Google Llc Selecting from arrays of multilingual content
EP3979121A1 (en) * 2020-10-01 2022-04-06 Naver Corporation Method and system for controlling distributions of attributes in language models for text generation
US20220156458A1 (en) * 2020-11-19 2022-05-19 Yandex Europe Ag Method and server for determining a training set for training a machine learning algorithm (mla)
US12602439B2 (en) * 2021-03-04 2026-04-14 Yext, Inc. Search experience management system
US11853712B2 (en) * 2021-06-07 2023-12-26 International Business Machines Corporation Conversational AI with multi-lingual human chatlogs
US12190871B1 (en) * 2021-09-07 2025-01-07 Amazon Technologies, Inc. Deep learning-based automatic detection and labeling of dynamic advertisements in long-form audio content
US12337227B2 (en) * 2022-09-06 2025-06-24 Niantic, Inc. Using location-based game to generate language information
WO2024075086A1 (en) * 2022-10-07 2024-04-11 Open Text Corporation System and method for hybrid multilingual search indexing
US12591601B2 (en) 2022-10-07 2026-03-31 Open Text Corporation System and method for hybrid multilingual search indexing
US12254032B2 (en) 2022-10-07 2025-03-18 Open Text Corporation System and method for hybrid multilingual search indexing
US12614541B2 (en) * 2022-11-08 2026-04-28 Jpmorgan Chase Bank, N.A. Systems and methods for machine-learning based multi-lingual pronunciation generation
US12079587B1 (en) * 2023-04-18 2024-09-03 OpenAI Opco, LLC Multi-task automatic speech recognition system
CN116303974B (zh) * 2023-05-04 2023-08-01 之江实验室 基于目标生成式回应语言模型的回应方法和装置
US20250108293A1 (en) * 2023-10-03 2025-04-03 Sony Interactive Entertainment Inc. Reducing latency in game chat by predicting sentence parts to input to ml model using division of chat between in-game and social

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000250905A (ja) 1999-02-25 2000-09-14 Fujitsu Ltd 言語処理装置及びそのプログラム記憶媒体
JP2017532684A (ja) 2014-10-17 2017-11-02 マシーン・ゾーン・インコーポレイテッドMachine Zone, Inc. 言語検出を行うためのシステムおよび方法
US20180189259A1 (en) 2016-12-30 2018-07-05 Facebook, Inc. Identifying multiple languages in a content item

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB9220404D0 (en) * 1992-08-20 1992-11-11 Nat Security Agency Method of identifying,retrieving and sorting documents
TW421750B (en) * 1997-03-14 2001-02-11 Omron Tateisi Electronics Co Language identification device, language identification method and storage media recorded with program of language identification
CN100380373C (zh) * 2002-10-29 2008-04-09 埃里·阿博 知识系统方法和装置
JP4678712B2 (ja) * 2003-07-31 2011-04-27 株式会社リコー 言語識別装置、プログラム及び記録媒体
US9275129B2 (en) 2006-01-23 2016-03-01 Symantec Corporation Methods and systems to efficiently find similar and near-duplicate emails and files
US8442965B2 (en) * 2006-04-19 2013-05-14 Google Inc. Query language identification
US8250083B2 (en) * 2008-05-16 2012-08-21 Enpulz, Llc Support for international search terms—translate as you crawl
US8364462B2 (en) * 2008-06-25 2013-01-29 Microsoft Corporation Cross lingual location search
KR101037091B1 (ko) * 2008-10-09 2011-05-26 주식회사 아이네크 자동 언어 번역을 통한 다국어의 전거 표목에 대한 온톨로지 기반 의미 검색 시스템 및 방법
US8145636B1 (en) * 2009-03-13 2012-03-27 Google Inc. Classifying text into hierarchical categories
US20100306249A1 (en) * 2009-05-27 2010-12-02 James Hill Social network systems and methods
US8635061B2 (en) * 2010-10-14 2014-01-21 Microsoft Corporation Language identification in multilingual text
US20140179419A1 (en) * 2012-12-06 2014-06-26 Dennis Nadeau System and method for verification of identification and residence in an online gaming environment
US20140280084A1 (en) * 2013-03-15 2014-09-18 Google Inc. Using structured data for search result deduplication
US20150046152A1 (en) * 2013-08-08 2015-02-12 Quryon, Inc. Determining concept blocks based on context
US10235681B2 (en) * 2013-10-15 2019-03-19 Adobe Inc. Text extraction module for contextual analysis engine
US11354340B2 (en) * 2014-06-05 2022-06-07 International Business Machines Corporation Time-based optimization of answer generation in a question and answer system
US20160042413A1 (en) * 2014-08-10 2016-02-11 Stephen Joseph Flood Systems and Methods for the Recording and Selective Distribution and Selective Communal Analysis of Consumer Reviews
US10235357B2 (en) * 2017-04-04 2019-03-19 Architecture Technology Corporation Community-based reporting and analysis system and method
KR101851787B1 (ko) * 2017-05-11 2018-04-24 주식회사 마인드셋 멀티 도메인 자연어 처리를 위한 도메인 매칭 장치 및 방법
US10380261B2 (en) 2017-12-22 2019-08-13 Disney Enterprises, Inc. Conversational language and informational response systems and methods
KR102542914B1 (ko) * 2018-04-30 2023-06-15 삼성전자주식회사 다중언어 번역 장치 및 다중언어 번역 방법
US20190349320A1 (en) 2018-05-08 2019-11-14 Mz Ip Holdings, Llc System and method for automatically responding to user requests
JP2020056972A (ja) * 2018-10-04 2020-04-09 富士通株式会社 言語識別プログラム、言語識別方法及び言語識別装置
US10388272B1 (en) 2018-12-04 2019-08-20 Sorenson Ip Holdings, Llc Training speech recognition systems using word sequences
US11501067B1 (en) * 2020-04-23 2022-11-15 Wells Fargo Bank, N.A. Systems and methods for screening data instances based on a target text of a target corpus
US11475054B2 (en) * 2020-04-24 2022-10-18 Roblox Corporation Language detection of user input text for online gaming

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000250905A (ja) 1999-02-25 2000-09-14 Fujitsu Ltd 言語処理装置及びそのプログラム記憶媒体
JP2017532684A (ja) 2014-10-17 2017-11-02 マシーン・ゾーン・インコーポレイテッドMachine Zone, Inc. 言語検出を行うためのシステムおよび方法
US20180189259A1 (en) 2016-12-30 2018-07-05 Facebook, Inc. Identifying multiple languages in a content item

Also Published As

Publication number Publication date
US11475054B2 (en) 2022-10-18
KR20220149617A (ko) 2022-11-08
JP2023523004A (ja) 2023-06-01
WO2021216337A1 (en) 2021-10-28
EP4139768A4 (en) 2024-05-01
US20210334299A1 (en) 2021-10-28
US11989215B2 (en) 2024-05-21
CN115380260A (zh) 2022-11-22
EP4139768A1 (en) 2023-03-01
US20240330337A1 (en) 2024-10-03
KR102569760B1 (ko) 2023-08-23
US20230031901A1 (en) 2023-02-02
US12386872B2 (en) 2025-08-12

Similar Documents

Publication Publication Date Title
JP7529797B2 (ja) オンラインゲームのためのユーザ入力テキストの言語検出
US20240028837A1 (en) Device and method for machine reading comprehension question and answer
US11361243B2 (en) Recommending machine learning techniques, features, and feature relevance scores
Eshel et al. Named entity disambiguation for noisy text
US10558754B2 (en) Method and system for automating training of named entity recognition in natural language processing
US9805120B2 (en) Query selection and results merging
JP5710581B2 (ja) 質問応答装置、方法、及びプログラム
CN112328891A (zh) 训练搜索模型的方法、搜索目标对象的方法及其装置
WO2019133903A1 (en) Generating command-specific language model discourses for digital assistant interpretation
JP2019504413A (ja) 絵文字を提案するためのシステムおよび方法
US12073299B2 (en) Systems and methods for using contrastive pre-training to generate text and code embeddings
WO2019133895A2 (en) Automated document cluster merging for topic-based digital assistant interpretation
WO2019133856A2 (en) Automated discourse phrase discovery for generating an improved language model of a digital assistant
US20210149900A1 (en) Method, system and computer program for semantic triple-based knowledge extension
CN110020032A (zh) 使用语法单元的文档搜索
US20140365494A1 (en) Search term clustering
KR20230119398A (ko) 영상 편집 자동화 시스템
US12229523B2 (en) Search-engine-augmented dialogue response generation with cheaply supervised query production
JPWO2010109594A1 (ja) 文書検索装置、文書検索システム、文書検索プログラム、および文書検索方法
KR102541806B1 (ko) 재구성된 질의를 순위화하기 위한 방법, 시스템, 및 컴퓨터 판독가능한 기록 매체
JP4945015B2 (ja) 文書検索システム、文書検索プログラム、および文書検索方法
KR102724394B1 (ko) 키워드 추출을 통한 기사 분석 방법 및 장치, 컴퓨터 프로그램
JP6451151B2 (ja) 質問応答装置、質問応答方法、プログラム
US20260045140A1 (en) Virtual artificial intelligence-based gameplay assistant
CN121030391A (zh) 异常信息检测方法、装置、设备、存储介质及程序产品

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20221102

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20231115

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20240109

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240319

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20240701

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240725

R150 Certificate of patent or registration of utility model

Ref document number: 7529797

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150