(57)【要約】  検索クエリの自動言語検出のためのコンピュータ実施方法、システム、およびコンピュータプログラム製品が説明される。文字/言語マッピングは、クライアントデバイス内に記憶される。クライアントデバイスは、検索クエリのそれぞれのクエリ文字を処理して、文字/言語マッピングに従って、そのクエリ文字が存在しうる、いくつかの候補「言語-書記体系」の対を決定することができる。候補「言語-書記体系」の対に関連するそれぞれのクエリ文字の関連で、それぞれの候補「言語-書記体系」の対に関して、それぞれのサブスコアを生成することが可能である。候補「言語-書記体系」の対に関して生成されているすべてのサブスコアを集約することによって、それぞれの候補「言語-書記体系」の対に関して最終スコアを計算することができる。
2014517428.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータ実施方法であって、
複数の自然言語および書記体系の入力文字を含む文字/言語マッピングをクライアントデバイス上に記憶して、前記入力文字のそれぞれが存在する、それぞれの1つまたは複数の自然言語および関連する書記体系を指定するステップと、
複数のクエリ文字を含む、前記クライアントデバイス上で受信されたユーザ提出クエリ入力に基づいて生成されたクエリ提案である検索クエリを取得するステップと、
前記複数のクエリ文字のそれぞれに関して、
前記記憶された文字/言語マッピングに従って、前記クエリ文字に関して、それぞれが前記クエリ文字を含む、それぞれの1つまたは複数の候補「言語-書記体系」の対を識別するステップ、および
前記それぞれの1つまたは複数の候補「言語-書記体系」の対のそれぞれの総数に基づいて、前記クエリ文字に関して識別された前記それぞれの1つまたは複数の候補「言語-書記体系」の対のそれぞれに関してサブスコアを生成するステップと、
前記複数のクエリ文字に関して識別された前記候補「言語-書記体系」の対のそれぞれに関して、前記候補「言語-書記体系」の対に関して生成されたすべてのサブスコアを集約して、前記候補「言語-書記体系」の対に関して、それぞれのスコアを取得するステップと、
前記複数のクエリ文字に関して識別された前記候補「言語-書記体系」の対の前記それぞれのスコアに基づいて、前記検索クエリに関するソース言語を決定するステップと
前記検索クエリを前記ソース言語から前記ソース言語とは異なるターゲット言語に翻訳するための、機械翻訳サービスに対する翻訳要求を生成するステップと
を含む方法。
【請求項２】
コンピュータ実施方法であって、
複数のクエリ文字を含む検索クエリを受信するステップと、
前記複数のクエリ文字のそれぞれに関して、
記憶された文字/言語マッピングに従って、前記クエリ文字に関して、それぞれが前記クエリ文字を含む、それぞれの1つまたは複数の候補「言語-書記体系」の対を識別するステップ、および
前記それぞれの1つまたは複数の候補「言語-書記体系」の対のそれぞれの総数に基づいて、前記クエリ文字に関して識別された前記それぞれの1つまたは複数の候補「言語-書記体系」の対のそれぞれに関してサブスコアを生成するステップと、
前記複数のクエリ文字に関して識別された前記候補「言語-書記体系」の対のそれぞれに関して、前記候補「言語-書記体系」の対に関して生成されたすべてのサブスコアを集約して、前記候補「言語-書記体系」の対に関して、それぞれのスコアを取得するステップと、
前記複数のクエリ文字に関して識別された前記候補「言語-書記体系」の対の前記それぞれのスコアに基づいて、前記検索クエリに関するソース言語を決定するステップと
を含む方法。
【請求項３】
前記識別するステップと、前記生成するステップと、前記集約するステップと、前記決定するステップとを実行するクライアントデバイス上に前記文字/言語マッピングを記憶するステップ
をさらに含む、請求項2に記載の方法。
【請求項４】
前記文字/言語マッピングが、複数の非重複文字セット内のそれぞれの一意の文字に関して、前記一意の文字が存在する、それぞれの1つまたは複数の「言語-書記体系」の対を識別する、請求項2に記載の方法。
【請求項５】
それぞれのクエリ文字に関して識別された、それぞれの候補「言語-書記体系」の対に関して生成された前記サブスコアが、前記クエリ文字に関して識別された前記候補「言語-書記体系」の対の前記それぞれの総数と逆相関関係を有する、請求項2に記載の方法。
【請求項６】
前記候補「言語-書記体系」の対に関して生成されたすべてのサブスコアを前記集約して、前記候補「言語-書記体系」の対に関して、前記それぞれのスコアを取得するステップが、
前記候補「言語-書記体系」の対が、前記複数のクエリ文字のうちの1つまたは複数に関して識別された唯一の候補「言語-書記体系」の対である場合、前記候補「言語-書記体系」の対に関して生成された1つまたは複数のサブスコアをブーストするステップ
をさらに含む、請求項2に記載の方法。
【請求項７】
前記検索クエリが、検索エンジンに提出されたクエリ入力に応答して生成された一次言語クエリ提案である、請求項2に記載の方法。
【請求項８】
前記検索クエリを前記決定されたソース言語から前記決定されたソース言語とは異なるターゲット言語に翻訳するための機械翻訳要求を送信するステップと、
前記検索クエリに対応するクロス言語クエリ提案として、前記機械翻訳要求に応答して受信された、前記検索クエリの機械生成翻訳を提供するステップと
をさらに含む、請求項7に記載の方法。
【請求項９】
1つまたは複数のプロセッサと、
命令を記憶したメモリと
を備え、
前記命令は、前記1つまたは複数のプロセッサによって実行されるとき、前記1つまたは複数のプロセッサに、
複数のクエリ文字を含む検索クエリを受信するステップと、
前記複数のクエリ文字のそれぞれに関して、
記憶された文字/言語マッピングに従って、前記クエリ文字に関して、それぞれが前記クエリ文字を含む、それぞれの1つまたは複数の候補「言語-書記体系」の対を識別するステップ、および
前記それぞれの1つまたは複数の候補「言語-書記体系」の対のそれぞれの総数に基づいて、前記クエリ文字に関して識別された前記それぞれの1つまたは複数の候補「言語-書記体系」の対のそれぞれに関してサブスコアを生成するステップと、
前記複数のクエリ文字に関して識別された前記候補「言語-書記体系」の対のそれぞれに関して、前記候補「言語-書記体系」の対に関して生成されたすべてのサブスコアを集約して、前記候補「言語-書記体系」の対に関して、それぞれのスコアを取得するステップと、
前記複数のクエリ文字に関して識別された前記候補「言語-書記体系」の対の前記それぞれのスコアに基づいて、前記検索クエリに関するソース言語を決定するステップと
を含む動作を実行させる、
システム。
【請求項１０】
前記動作が、
前記識別するステップと、前記生成するステップと、前記集約するステップと、前記決定するステップとを実行するクライアントデバイス上に前記文字/言語マッピングを記憶するステップ
をさらに含む、請求項9に記載のシステム。
【請求項１１】
前記文字/言語マッピングが、複数の非重複文字セット内のそれぞれの一意の文字に関して、前記一意の文字が存在する、それぞれの1つまたは複数の「言語-書記体系」の対を識別する、請求項9に記載のシステム。
【請求項１２】
それぞれのクエリ文字に関して識別された、それぞれの候補「言語-書記体系」の対に関して生成された前記サブスコアが、前記クエリ文字に関して識別された前記候補「言語-書記体系」の対の前記それぞれの総数と逆相関関係を有する、請求項9に記載のシステム。
【請求項１３】
前記候補「言語-書記体系」の対に関して生成されたすべてのサブスコアを前記集約して、前記候補「言語-書記体系」の対に関して、前記それぞれのスコアを取得するステップが、
前記候補「言語-書記体系」の対が、前記複数のクエリ文字のうちの1つまたは複数に関して識別された唯一の候補「言語-書記体系」の対である場合、前記候補「言語-書記体系」の対に関して生成された1つまたは複数のサブスコアをブーストするステップ
をさらに含む、請求項9に記載のシステム。
【請求項１４】
前記検索クエリが、検索エンジンに提出されたクエリ入力に応答して生成された一次言語クエリ提案である、請求項9に記載のシステム。
【請求項１５】
前記動作が、
前記検索クエリを前記決定されたソース言語から前記決定されたソース言語とは異なるターゲット言語に翻訳するための機械翻訳要求を送信するステップと、
前記検索クエリに対応するクロス言語クエリ提案として、前記機械翻訳要求に応答して受信された、前記検索クエリの機械生成翻訳を提供するステップと
をさらに含む、請求項14に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書は、コンピュータ実施自動言語検出に関し、より詳細には、検索クエリの自動言語検出に関する。
【背景技術】
【０００２】
検索エンジンは、ユーザのクエリ入力に対応する入力提案(suggestions)(例えば、クエリ提案)を提供することができる。入力提案は、ユーザ提出検索クエリに対するクエリ代替(例えば、拡張)および/またはユーザが入力した部分的クエリ入力に整合する提案(例えば、オートコンプリート)を含む。ユーザのクエリ入力に直接的に整合する入力提案は「一次言語入力提案」と呼ばれる。
【０００３】
同じ話題または情報に関するインターネットコンテンツは、ワールドワイドウェブ上で互いに異なる自然言語および/または書記体系で存在することが多い。多言語ユーザは、互いに異なる言語および/または書記体系の対応するクエリから恩恵を受けて、これらの異なる言語および/または書記体系の関連コンテンツの場所を突き止めることができる。一部の検索エンジンは、ユーザのクエリ入力に応答して、クロス言語入力提案(例えば、クロス言語クエリ提案)を提供することができる。対応する一次言語クエリ提案をそれぞれのクロス言語クエリ提案に提供することが可能であり、それぞれのクロス言語クエリ提案は対応する一次言語クエリ提案の翻訳である。
【０００４】
一次言語クエリ提案に基づいてクロス言語クエリ提案を生成するとき、検索エンジンは、機械翻訳サービスを利用して、一次言語クエリ提案を翻訳することができる。一次言語クエリ提案のソース言語を正確かつ適切に識別する技法はユーザに提供されるクロス言語クエリ提案の質を改善する上で有用である。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本明細書では、自動言語検出、詳細には、一次言語入力提案をクロス言語入力提案に翻訳するための自動ソース言語検出に関する技術について説明する。
【課題を解決するための手段】
【０００６】
概して、本明細書で説明される主題の一態様は、複数の自然言語および書記体系の入力文字を含む文字/言語マッピング(character-to-language  mapping)をクライアントデバイス上に記憶して、入力文字のそれぞれが存在する、それぞれの1つまたは複数の自然言語および関連する書記体系を指定する動作と、複数のクエリ文字を含む、クライアントデバイス上で受信されたユーザ提出クエリ入力に基づいて生成されたクエリ提案である検索クエリを取得する動作と、複数のクエリ文字のそれぞれに関して、(1)記憶された文字/言語マッピングに従って、そのクエリ文字に関して、それぞれがそのクエリ文字を含む、それぞれの1つまたは複数の候補「言語-書記体系」の対を識別する動作、および(2)それぞれの1つまたは複数の候補「言語-書記体系」の対のそれぞれの総数に基づいて、そのクエリ文字に関して識別された、それぞれの1つまたは複数の候補「言語-書記体系」の対のそれぞれに関してサブスコアを生成する動作と、それらの複数のクエリ文字に関して識別された候補「言語-書記体系」の対のそれぞれに関して、候補「言語-書記体系」の対に関して生成されたすべてのサブスコアを集約して、候補「言語-書記体系」の対に関して、それぞれのスコアを取得する動作と、それらの複数のクエリ文字に関して識別された候補「言語-書記体系」の対のそれぞれのスコアに基づいて、その検索クエリに関するソース言語を決定する動作と、検索クエリをソース言語からソース言語とは異なるターゲット言語に翻訳するための、機械翻訳サービスに対する翻訳要求を生成する動作とを含む方法で実施可能である。
【０００７】
本態様の他の実施形態は、それぞれ、これらの方法の動作を実行するように構成された、対応するコンピュータシステムと、装置と、1つまたは複数のコンピュータ記憶デバイス上に記憶されたコンピュータプログラムとを含む。1つまたは複数のコンピュータのシステムは、動作に際して、システムにこれらの動作を実行させる、システム上にインストールされたソフトウェア、ファームウェア、ハードウェア、またはそれらの組合せによってそのように構成可能である。1つまたは複数のコンピュータプログラムは、データ処理装置によって実行されたとき、装置にこれらの動作を実行させる命令を有することによってそのように構成可能である。
【０００８】
概して、本明細書で説明される主題の一態様は、複数のクエリ文字を含む検索クエリを受信する動作と、複数のクエリ文字のそれぞれに関して、(1)記憶された文字/言語マッピングに従って、そのクエリ文字に関して、それぞれがそのクエリ文字を含む、それぞれの1つまたは複数の候補「言語-書記体系」の対を識別する動作、および(2)それぞれの1つまたは複数の候補「言語-書記体系」の対のそれぞれの総数に基づいて、そのクエリ文字に関して識別された、それぞれの1つまたは複数の候補「言語-書記体系」の対のそれぞれに関してサブスコアを生成する動作と、それらの複数のクエリ文字に関して識別された候補「言語-書記体系」の対のそれぞれに関して、候補「言語-書記体系」の対に関して生成されたすべてのサブスコアを集約して、候補「言語-書記体系」の対に関して、それぞれのスコアを取得する動作と、それらの複数のクエリ文字に関して識別された候補「言語-書記体系」の対のそれぞれのスコアに基づいて、その検索クエリに関するソース言語を決定する動作とを含む方法で実施可能である。
【０００９】
本態様の他の実施形態は、それぞれ、これらの方法の動作を実行するように構成された、対応するコンピュータシステムと、装置と、1つまたは複数のコンピュータ記憶デバイス上に記憶されたコンピュータプログラムとを含む。1つまたは複数のコンピュータのシステムは、動作に際して、システムにこれらの動作を実行させる、システム上にインストールされたソフトウェア、ファームウェア、ハードウェア、またはそれらの組合せによってそのように構成可能である。1つまたは複数のコンピュータプログラムは、データ処理装置によって実行されたとき、装置にこれらの動作を実行させる命令を有することによってそのように構成可能である。
【００１０】
これらの実施形態およびその他の実施形態は、以下の特徴のうちの1つまたは複数をオプションで含むことが可能である。
【００１１】
いくつかの実装形態では、これらの技法は、識別する動作と、生成する動作と、集約する動作と、決定する動作とを実行するクライアントデバイス上に文字/言語マッピングを記憶する動作をさらに含む。
【００１２】
いくつかの実装形態では、文字/言語マッピングは、複数の非重複文字セット内のそれぞれの一意の文字に関して、一意の文字が存在する、それぞれの1つまたは複数の「言語-書記体系」の対を識別する。
【００１３】
いくつかの実装形態では、それぞれのクエリ文字に関して識別された、それぞれの候補「言語-書記体系」の対に関して生成されたサブスコアは、そのクエリ文字に関して識別された候補「言語-書記体系」の対のそれぞれの総数と逆相関関係を有する。
【００１４】
いくつかの実装形態では、候補「言語-書記体系」の対に関して生成されたすべてのサブスコアを集約して、候補「言語-書記体系」の対に関して、それぞれのスコアを取得する前記動作は、候補「言語-書記体系」の対が複数のクエリ文字のうちの1つまたは複数に関して識別された唯一の候補「言語-書記体系」の対である場合、候補「言語-書記体系」の対に関して生成された1つまたは複数のサブスコアをブーストする(boosting)動作をさらに含む。
【００１５】
いくつかの実装形態では、検索クエリは、検索エンジンに提出されたクエリ入力に応答して生成された一次言語クエリ提案である。
【００１６】
いくつかの実装形態では、これらの方法は、検索クエリを決定されたソース言語からその決定されたソース言語とは異なるターゲット言語に翻訳するための機械翻訳要求を送信する動作と、検索クエリに対応するクロス言語クエリ提案として、機械翻訳要求に応答して受信された、検索クエリの機械生成翻訳を提供する動作とをさらに含む。
【００１７】
以下のうちの1つまたは複数を実現するために、本明細書で説明される主題の特定の実施形態を実施することが可能である。
【００１８】
ユーザのクエリ入力に基づいて生成される一次言語クエリ提案の実際の言語は、時として、機械実施言語検出技法に基づいて確認することが困難な場合があり得る。多くの洗練された技法は、そのような自動言語検出を実現するためにサーバ側で実施可能であるが、この検出プロセスは、多くの時間と計算資源とを必要とする。加えて、これらの洗練された技法は、それでもなお、一次言語クエリ提案が複数の言語または書記体系からの語および/または文字を含むとき、誤った結果を生み出す場合がある。加えて、一次言語クエリ提案が複数の言語および関連する書記体系において存在する語および/または文字を含むとき、自動言語検出に曖昧さが生じる場合もある。本明細書で説明される技法は、従来の言語検出方法のこれらの課題に対処することができる。
【００１９】
例えば、本明細書で説明された技法を使用すると、簡単なクライアント側プロセスを使用して、自動言語検出を迅速かつ効率的に完了することができる。これらの技法は、他の洗練された言語検出方法によって、正確な言語検出結果をもたらすためにはあまりにも短すぎるとしばしばみなされる検索クエリの言語を検出するのに適している。加えて、これらの技法は、混合言語検索クエリを識別されたソース言語から所望されるターゲット言語に翻訳することによって、有用なクロス言語クエリ提案を生成することができるように、混合言語検索クエリ(例えば、複数の言語の語または文字を含むクエリ)に関する適切なソースを識別することができる。
【００２０】
本明細書で説明される主題の1つまたは複数の実施形態の詳細は、添付の図面および下の説明に記載される。本主題の他の特徴、態様、および利点は、この説明、図面、および特許請求の範囲から明らかになるであろう。
【図面の簡単な説明】
【００２１】
【図１】様々な自然言語でクエリ提案を生成する、ある例示的なシステム内の例示的なデータフローを示すブロック図である。
【図２】機械翻訳要求に関する一次言語クエリ提案のソース言語を決定するための自動言語検出サブシステムのある例を示すブロック図である。
【図３】機械翻訳要求に関する一次言語クエリ提案のソース言語を決定するためのある例示的な方法を示す流れ図である。
【発明を実施するための形態】
【００２２】
様々な図面において、類似参照番号および記号は類似の要素を示す。
【００２３】
検索エンジンは、ユーザによって入力されたクエリ入力に応答して、一次言語クエリ提案を提供することができる。一次言語クエリ提案は、ユーザの元のクエリ入力の拡張およびオートコンプリートなど、ユーザの元のクエリ入力に基づいて生成されたクエリ提案である。一次言語クエリ提案は、多くの場合、1つまたは複数のクエリログ内に記憶されたユーザ提出検索クエリに基づいて生成される。一部の検索エンジンは、それぞれの一次言語クエリ提案に関するクロス言語クエリ提案を提供することも可能であり、この場合、このクロス言語クエリ提案は、一次言語クエリ提案の言語または書記体系とは異なる第2の言語または書記体系で書かれたクエリである。
【００２４】
クロス言語クエリ提案を提供するとき、検索エンジンは、概して、機械翻訳サービスを用いて、それぞれの一次言語クエリ提案に関する候補翻訳を生成する。それぞれの翻訳タスクに関して、機械翻訳サービスは、一次言語クエリ提案に関するソース言語の仕様と、その翻訳に関するターゲット言語の仕様とを必要とする。クロス言語クエリ提案の品質は、一次言語クエリ提案に関するソース言語の正確かつ適切な識別に依存する。
【００２５】
一次言語クエリ提案が混合言語クエリであり、複数の言語および/または書記体系からの語を含むとき、自動言語検出は厄介な場合がある。この種の混合言語クエリに関して単一のソース言語を識別するための従来の機械ベースの技法は、多くの場合、不正確かつ予測不可能な結果を生み出す。例えば、ある例示的な一次言語クエリ提案
【００２６】
【数１】
2014517428.tif 000003
【００２７】
に関する自動検出言語は、ドイツ語の場合があり、ある例示的な一次言語クエリ提案
【００２８】
【数２】
2014517428.tif 000004
【００２９】
に関する自動検出言語はマレー語の場合があるが、両方のクエリ提案は実際には半分が英語で、半分が中国語である。
【００３０】
そのような不正確なソース言語仕様を使用した機械翻訳は、多くの場合、同じ話題に関するが、一次言語クエリ提案の対象となる言語とは異なる言語のクロス言語コンテンツを取り出す際に効果的でないクロス言語クエリ提案を生み出す。例えば、ドイツ語から英語への一次言語クエリ提案の機械生成翻訳
【００３１】
【数３】
2014517428.tif 000005
【００３２】
はやはり、
【００３３】
【数４】
2014517428.tif 000006
【００３４】
である。
【００３５】
【数５】
2014517428.tif 000007
【００３６】
が一次言語クエリ提案
【００３７】
【数６】
2014517428.tif 000008
【００３８】
に関するクロス言語クエリ提案として提供される場合、2つのクエリ提案のうちの1つは関係ないものになる。
【００３９】
本明細書で説明されるように、文字/言語マッピングはクライアントデバイス上に記憶されうる。いくつかの実装形態では、文字/言語マッピングは、ユーザによって入力されたテキストとして入力可能であり、ユーザによって検索エンジンに提出された検索クエリの一部を形成するすべての一意の文字をカバーする。いくつかの実装形態では、文字/言語マッピングは、すべてのそのような一意の文字のサブセット(例えば、最もよく使われる30個の言語および書記体系で使用される文字セット)をカバーする。
【００４０】
それぞれの一意の文字は、一意の識別子(例えば、ユニコード符号化)を有する。文字/言語マッピングは、マッピング内のそれぞれの一意の文字に関して、(例えば、アルファベットまたはスクリプトの一部として)その一意の文字が存在しうる、言語および関連する書記体系の対応するセットを指定する。それぞれの一意の文字に関連する言語と書記体系の対のセットは、例えば、その一意の文字の一意の識別子によって、文字/言語マッピングに従って識別可能である。
【００４１】
文字/言語マッピングに基づいて、言語検出モジュールは、検索クエリ(例えば、一次言語検索クエリ)のそれぞれの文字を処理して、その文字が存在しうる候補「言語-書記体系」の対のそれぞれのセットを識別することができる。言語検出モジュールは、次いで、その文字に関して識別された候補「言語-書記体系」の対のそれぞれのセットのそれぞれに関してサブスコアを生成することができ、この場合、サブスコアは、その文字に関して識別されている候補「言語-書記体系」の対の総数に依存する。例えば、より高い総数はより低いサブスコアに対応しうるのに対して、より低い総数はより高いサブスコアに対応しうる。
【００４２】
検索クエリのすべての文字が処理された後で、それぞれの候補言語-書記の対に関してサブスコアが集計されて、候補「言語-書記体系」の対に関して最終的なスコアを生み出す。言語検出モジュールは、次いで、候補「言語-書記体系」の対の最終スコアに基づいて、候補「言語-書記体系」の対から検索クエリに関して適切なソース言語を識別することができる。いくつかの実装形態では、クエリ内の特定の文字に関して、1つの候補「言語-書記体系」の対だけが識別された場合、この特定の文字の関連でこの候補「言語-書記体系」の対に関して生成されたサブスコアをブーストすることができる。これにより、ブーストされたサブスコアが候補「言語-書記体系」の対の最終スコアに追加されるとき、そのクエリに関するソース言語として、この候補「言語-書記体系」の対が選択されることになる総合的な可能性は増大しうる。
【００４３】
いくつかの実装形態では、文字/言語マッピングに従って、検索クエリのすべてのクエリ文字が特定の候補「言語-書記体系」の対の中に見出された場合、そのクエリに関するソース言語として、この特定の候補「言語-書記体系」の対が選択されることになる総合的な可能性が増大しうるように、この候補「言語-書記体系」の対にブーストを適用することも同様に可能である。
【００４４】
図1は、異なる自然言語の入力提案(例えば、クエリ提案)が提供される、ある例示的なシステム100の例示的なデータフローを示すブロック図である。図1では、クライアントデバイス115上で実行するモジュール110は、検索エンジンクエリ入力フィールド内でユーザ122から受信された入力120を監視する。入力120は、一続きの文字として書き込まれる。それぞれの文字は、その文字と同じ言語および書記体系内または異なる言語および書記体系内のすべての他の文字とを区別する、それぞれの一意の符号化を有する。そのような一意の符号化システムのある例は、109,000個を超える文字、93個を超えるスクリプトのそれぞれに関して一意の符号化を提供するユニコードシステムである。例えば、入力「auto」は、4個の英語の文字、すなわち、「a」、「u」、「t」、および「o」を含む。入力
【００４５】
【数７】
2014517428.tif 000009
【００４６】
は3個の中国語文字、すなわち、
【００４７】
【数８】
2014517428.tif 000010
【００４８】
【数９】
2014517428.tif 000011
【００４９】
、および
【００５０】
【数１０】
2014517428.tif 000012
【００５１】
を含む。入力
【００５２】
【数１１】
2014517428.tif 000013
【００５３】
は9個の文字、すなわち、
【００５４】
【数１２】
2014517428.tif 000014
【００５５】
【数１３】
2014517428.tif 000015
【００５６】
【数１４】
2014517428.tif 000016
【００５７】
、余白、「m」、「o」、「v」、「i」、および「e」を含む。
【００５８】
いくつかの実装形態では、モジュール110は、クライアントデバイス115上で実行するウェブブラウザ内で実行するJavaScript(登録商標)スクリプトであるか、またはクライアントデバイス115上で実行するウェブブラウザ内にインストールされたプラグインソフトウェアである。モジュール110は、入力120を受信して、入力120が受信されるにつれて、その入力120を提案サービスモジュール125に自動的に送信する。いくつかの実装形態では、提案サービスモジュール125は、テキスト入力、例えば、ユーザ提出クエリ入力を受信して、代替、例えば、クエリ提案をテキスト入力に戻す、サーバ上で実行するソフトウェアである。
【００５９】
いくつかの実装形態では、提案サービスモジュール125は、ユーザのクエリ入力120に基づいて、一次言語クエリ提案のセットを決定する。検索エンジンは、1つまたは複数のクエリログ内に記憶されたユーザ提出クエリに基づいて、一次言語クエリ提案(例えば、クエリ入力の拡張、および自動コンプリート)を生成することができる。クエリログから生成された一次言語クエリ提案は、時として、混合言語クエリと、ユーザ指定された好ましい言語または機械指定デフォルト言語以外の言語でのクエリとを含む場合がある。したがって、一次言語クエリ提案が機械翻訳技法を使用して翻訳されることになるとき、一次言語クエリ提案に関する実際のソース言語を確認するために時として追加のステップが必要とされる。
【００６０】
いくつかの実装形態では、提案サービスモジュール125は、機械翻訳サービスに連絡して、提案サービスモジュール125によって生成された一次言語クエリ提案に関するクロス言語クエリ提案として使用するための候補翻訳を取得することができる。あるいは、提案サービスモジュール125は、一次言語クエリ提案のセットをモジュール110に戻すことができ、モジュール110は、次いで、翻訳サービスモジュール130に連絡して、それぞれの一次言語クエリ提案に関する翻訳を取得する。モジュール110は、一次言語クエリ提案に対応するクロス言語クエリ提案として、その翻訳をユーザに表示することができる。クライアント側で翻訳要求プロセスを実施することによって、提案サービスモジュール125上の負荷を削減することができる。
【００６１】
いくつかの実装形態では、モジュール110は、一次言語クエリ提案に関して自動的に検出されたソース言語と、クロス言語クエリ提案に関して、ユーザ指定された好ましい言語とに従って、それぞれの翻訳要求に関するソース言語とターゲット言語とを指定する。モジュール110が一次言語クエリ提案に関して適切なソース言語をどのように決定するかについての詳細が図2に関して提供される。
【００６２】
翻訳要求に応答して、一次言語クエリ提案を翻訳するために、翻訳サービスモジュール130によって、様々な機械翻訳技法を使用することが可能である。機械翻訳技法の例は、規則ベースの機械翻訳技法と、統計的機械翻訳技法と、事例ベースの機械翻訳技法と、上記の機械翻訳技法のうちの1つまたは複数の組合せとを含む。他の機械翻訳技法も可能である。
【００６３】
いくつかの実装形態では、モジュール110が十分な信頼水準で一次言語クエリ提案に関してソース言語を識別しない場合、モジュール110は、翻訳要求と共に、複数の候補「言語-書記体系」の対を翻訳サービスモジュールに提供することができる。翻訳サービスモジュール130は、翻訳を実行する前に、他の技法に基づいて、追加の自動言語検出プロセスを実行することができる。
【００６４】
いくつかの実装形態では、モジュール110は、一次言語クエリ提案とクロス言語クエリ提案とをユーザインターフェース124内でユーザ122にリアルタイムで、すなわち、ユーザ122が検索エンジンクエリ入力フィールド内に文字をタイプするにつれて提示することができる。例えば、モジュール110は、ユーザ122によってタイプされた第1の文字に関連する一次言語クエリ提案およびクロス言語クエリ提案の第1のグループを提示して、ユーザ122が第2の文字を順にタイプするのに応答して、一続きの第1の文字および第2の文字に関連する一次言語クエリ提案およびクロス言語クエリ提案の第2のグループを提示することができる、等々である。
【００６５】
図2は、ある例示的な言語検出モジュール200の動作を例示するブロック図である。言語検出モジュール200は、図1に示される言語検出器135を実施するために使用可能である。図2にははやり、図1に示される文字/言語マッピング134の代わりに、文字/言語マッピング204が示されている。
【００６６】
図2に示されるように、言語検出モジュール200は、一次言語クエリ提案(Q)202を受信する。一次言語クエリ提案(Q)202は、ユーザの元のクエリ入力に基づいて提案サービスモジュールによって生成されて、言語検出モジュール200に提供されうる。一次言語クエリ提案Qは、一連の文字を含み、この場合、この一連の文字は、1つまたは複数の言語および関連する書記体系で1つまたは複数の語を形成する。
【００６７】
言語検出モジュール200が一次言語クエリ提案(Q)202を受信した後で、言語検出モジュール200の文字処理モジュール210は、一次言語クエリ提案(Q)202のそれぞれの文字を処理する。文字の処理は、同時であっても、または順次であってもよい。
【００６８】
クエリ提案Qの一連の文字内のそれぞれの文字に関して、文字処理モジュール210は、その文字の一意の識別子に従って、文字/言語マッピング204内で探索を実行することができる。いくつかの実装形態では、文字/言語マッピング204は、検索エンジンにおいて受信された検索クエリ内に見出すことができるそれぞれの一意の文字に関するエントリーを含むことが可能である。検索エンジンは多くの自然言語および関連する書記体系のうちの1つまたは複数で書き込まれたクエリを受け入れることができるため、文字/言語マッピング204は、多くの異なる言語および関連する書記体系からの文字もカバーする。
【００６９】
例えば、文字/言語マッピング204は、中国語文字、アラビア語文字、英語文字、日本語の平仮名文字、日本語の片仮名文字、朝鮮語のハングル文字、ローマ数字、およびその他の言語の文字ならびに関連する書記体系の文字に関するエントリーを含むことが可能である。
【００７０】
加えて、多くの言語および関連する書記体系は文字セットの一部またはすべてを共有する場合があるため、文字/言語マッピング204内のそれぞれの一意の文字は複数の言語および書記体系の対にマッピングすることができる。例えば、多くの中国語文字は、日本語でも漢字文字として使用され、朝鮮語でも漢字文字として使用される。別の例では、英語の文字「A」を(例えば、ドイツ語、イタリア語、中国ピンイン、スペイン語など)多くの他の言語内および関連するアルファベット内で見出すこともできる。
【００７１】
いくつかの実装形態では、文字/言語マッピング204は、検索クエリ(Q)202に関して自動言語検出を実行するデバイス上でテキストファイルとして局所的に記憶可能である。文字/言語マッピングを局所的に記憶することによって、自動言語検出の速度を改善することができる。いくつかの実装形態では、その文字に関連する「言語-書記体系」の対のセットの手掛かりとして、それぞれの文字のそれぞれの一意の文字識別子(例えば、ユニコード符号化)を使用して、文字/言語マッピング204を検索可能な表または検索可能なインデックスとして実施することが可能である。
【００７２】
いくつかの実装形態では、文字/言語マッピング204は、それぞれの一意の文字に関して、その文字が存在しうる、いくつかの言語および関連する書記体系(例えば、「言語-書記体系」の対)のそれぞれの総数(N)を指定することも可能である。この総数は、特定の文字を含むクエリがそれらの言語および関連する書記体系のうちの1つで書き込まれている可能性がどれだけ高いかのインジケータとして機能しうる。
【００７３】
例えば、文字が多くの言語および関連する書記体系内で見出される共通文字(例えば、文字「a」)である場合、その共通の文字の存在は、その検索クエリが、その共通文字を含む多くの言語および関連する書記体系のうちの1つで書き込まれた可能性があることの弱いインジケータを提供する。
【００７４】
対照的に、文字が、小数の言語および関連する書記体系でだけ見出される稀な文字(例えば、文字「王」)である場合、その稀な文字の存在は、検索クエリが小数の言語および関連する書記体系のうちの1つで書かれている可能性があることの強いインジケータを提供する。
【００７５】
文字(例えば、文字「の」)が1つの言語および関連する書記体系(例えば、日本語および関連する平仮名書記体系)内でだけ見出される場合、検索クエリ内のその文字の存在は、検索クエリがその1つの言語および関連する書記体系で書き込まれている可能性があることの非常に強いインジケータである。
【００７６】
いくつかの実装形態では、文字処理モジュール210は、文字/言語マッピング204内の文字を探索することによって、検索クエリ(Q)202内の文字のすべてを処理して、その検索クエリの少なくとも1つの文字にマッピングされた「言語-書記体系」の対に従って、そのクエリに関する候補「言語-書記体系」の対を決定する。いくつかの実装形態では、文字処理ステップの前に、その検索クエリ内のいくつかの文字を除去することができる。例えば、書込みスペース、ローマ数字など、すべての言語および書記体系に通じた文字を除去して、文字処理モジュール210によって使用しないことが可能である。
【００７７】
いくつかの実装形態では、検索クエリ(Q)202のそれぞれの文字(Ci)を処理するとき、文字処理モジュール210は、その文字(Ci)の関連で1つまたは複数の候補「言語-書記体系」の対(Lj)のセットのそれぞれに関してサブスコア(SSCi_Lj)を生成することができる。サブスコア(SSCi_Lj)は、その文字(Ci)に関して識別されている候補「言語-書記体系」の対の総数(Ni)と逆相関関係でありうる。すなわち、Niのより大きな値は、それぞれの候補「言語-書記体系」の対Ljに関するSSCi_Ljのより小さな値に対応する。いくつかの実装形態では、Ni=1である場合、それぞれの候補「言語-書記体系」の対Ljに関するSSCi_Ljの値をブーストすること(例えば、大きな乗数によって乗算すること)が可能である。
【００７８】
文字処理モジュール210が、検索クエリ(Q)202のすべての文字の処理を完了して、その検索クエリ(Q)202に関して識別された、それぞれの候補「言語-書記体系」の対に関して、すべてのサブスコアを生成すると、言語スコアモジュール220は、その検索クエリ(Q)202に関して識別された候補「言語-書記体系」の対のそれぞれに関して最終スコアを生成することができる。それぞれの候補「言語-書記体系」の対に関して生成されているサブスコアの数は、候補「言語-書記体系」の対が識別されているクエリ文字の数に等しい。すなわち、それぞれの候補「言語-書記体系」の対に関して生成されているサブスコアの数は、文字/言語マッピング204に従って、候補「言語-書記体系」内に存在することを見出すことができるクエリ文字の数に等しい。
【００７９】
いくつかの実装形態では、言語スコアモジュール220は、候補「言語-書記体系」の対に関して生成されているすべてのサブスコアを集計することによって、それぞれの候補「言語-書記体系」に関して最終スコアを生成することができる。例えば、検索クエリ「春の花」が言語検出モジュール200に提出されたと仮定する。第1の文字「春」が文字処理モジュール210によって処理されるとき、その第1の文字「春」は3つの(N春=3)異なる「言語-書記体系」の対(例えば、日本語の漢字、中国語の漢字、朝鮮語の漢字)にマッピングされることが決定される。これにより、サブスコアSS春(例えば、SS春=1/3)を3つの候補「言語-書記体系」の対(例えば、日本語の漢字、中国語の漢字、朝鮮語の漢字)のそれぞれに関して生成することができる。第2の文字「の」が文字処理モジュール210によって処理されるとき、その第2の文字「の」は1つ(Nの=l)だけの候補「言語-書記体系」の対(例えば、日本語の平仮名)にマッピングされることが決定される。これにより、サブスコア(例えば、SSの=1)を単一の候補「言語-書記体系」の対(例えば、日本語の平仮名)に関して生成することができる。第3の文字「花」が文字処理モジュール210によって処理されるとき、その第3の文字「花」は2つの(N花=l)候補「言語-書記体系」の対(例えば、日本語の漢字、および朝鮮語の漢字)にマッピングされることが決定される。これにより、サブスコア(例えば、SS花=1/2)を2つの候補「言語-書記体系」の対(例えば、日本語の漢字、および中国語の漢字)に関して生成することができる。言語スコアモジュール220がクエリ「春の花」に関して識別された候補「言語-書記体系」の対のそれぞれに関して最終スコアを計算するとき、言語スコアモジュール220は、その候補「言語-書記体系」の対に関して生成されているすべてのサブスコアを集約(例えば、合計)することができる。例えば、日本語の漢字の場合、最終スコアはFS1=SS春+SS花=1/3+1/2=5/6である。中国語の漢字の場合、最終スコアはFS2=SS春+SS花=1/3+1/2=5/6である。朝鮮語の漢字の場合、最終スコアはFS3=SS春=1/3である。日本語の平仮名の場合、最終スコアはSSの=1である。したがって、候補「言語-書記体系」の対の最終スコアに基づいて、言語スコアモジュール220は、この検索クエリは日本語で書き込まれている可能性が最も高いと決定することができる。日本語は平仮名の書記体系と漢字の書記体系とを組み合わせて使用することが多いため、言語スコアモジュール220は、その検索クエリ「春の花」のソース言語は日本語であるという結論を容易に出すことができ、その検索クエリに関する特定の書記体系をさらに確認しない。
【００８０】
いくつかの実装形態では、それぞれの候補「言語-書記体系」の対に関してサブスコアを集約する前に、言語スコアモジュール220は、特定のクエリ文字の関連で導出された特定の候補「言語-書記体系」の対がその特定のクエリ文字にマッピングする唯一の「言語-書記体系」の対であることを条件に、その特定の候補「言語-書記体系」の対のサブスコアをブーストすることができる。いくつかの実装形態では、このブーストは、大きな乗数をサブスコアに乗算することによって達成される。いくつかの実装形態では、ブースト定数を、候補「言語-書記体系」の対のサブスコアに適用する代わりに、候補「言語-書記体系」の対の最終スコアに追加することができる。
【００８１】
いくつかの実装形態では、検索クエリのすべてのクエリ文字が文字/言語マッピングに従って特定の候補「言語-書記体系」の対の中に見出された場合、ブーストをその特定の候補「言語-書記体系」の対の最終スコアに同様に適用することが可能である。
【００８２】
言語スコアモジュール220が、検索クエリ(Q)202に関して識別された候補「言語-書記体系」の対の最終スコアに基づいて、検索クエリ(Q)202に関する適切なソース言語を決定すると、言語スコアモジュール220は、識別されたソース言語を翻訳要求モジュール230に送信することができる。翻訳要求モジュール230は、次いで、検索クエリ(Q)を決定されたソース言語から所望されるターゲット言語(例えば、クロス言語クエリ提案に関してユーザ指定された、好ましい言語)に翻訳することを要求する翻訳要求を翻訳サービスモジュールに送信することができる。
【００８３】
上述の説明は単なる例示であり、当業者は記述された技法の範囲および趣旨から逸脱せずに、様々な改変および修正を行うことができる点に留意されたい。例えば、いくつかの実装形態では、候補「言語-書記体系」の対の最終スコアは、検索クエリ(Q)202に関する適切なソース言語を決定する際のいくつかの要因のうちの1つとして使用される。いくつかの実装形態では、いくつかの候補「言語-書記体系」の対が同じ最終スコアを有する場合、言語スコアモジュールは、候補「言語-書記体系」の対のそれぞれを別個の翻訳要求内のソース言語として翻訳サービスモジュールに提供することができる。
【００８４】
図3は、検索クエリに関する適切なソース言語を決定するためのある例示的な方法300を示す流れ図である。方法300は、例えば、図1のモジュール110または図2の言語検出モジュール200によって実施可能である。
【００８５】
例示的な方法300は、検索クエリが受信されるとき(302)に開始する。検索クエリは複数のクエリ文字を含む。いくつかの実装形態では、検索クエリは、特定の「言語-書記体系」関連性を有さない、ある種の文字(例えば、余白、アラビア数字など)を除去するために事前処理される。複数のクエリ文字のそれぞれに関して、記憶された文字/言語マッピングに従って、そのクエリ文字に関して、それぞれの1つまたは複数の候補「言語-書記体系」の対が識別される(304)。いくつかの実装形態では、文字/言語マッピングは、方法300の1つまたは複数のステップを実行するクライアントデバイス上に記憶される。いくつかの実装形態では、文字/言語マッピングは、複数の非重複文字セット内のそれぞれの一意の文字に関して、その中に一意の文字が存在する、それぞれの1つまたは複数の「言語-書記体系」の対を識別する。
【００８６】
いくつかの実装形態では、それぞれの1つまたは複数の候補「言語-書記体系」の対のそれぞれの総数に基づいて、それぞれのクエリ文字に関して識別された、それぞれの1つまたは複数の候補「言語-書記体系」の対のそれぞれに関してサブスコアが生成されるとき(306)、方法300は続く。いくつかの実装形態では、それぞれのクエリ文字に関して識別された、それぞれの候補「言語-書記体系」の対に関して生成されたサブスコアは、そのクエリ文字に関して識別された候補「言語-書記体系」の対のそれぞれの総数と逆相関関係を有する。例えば、減少関数を使用して、サブスコアと対応する総数との間の関係を定義することができる。
【００８７】
次いで、複数のクエリ文字に関して識別された候補「言語-書記体系」の対のそれぞれに関して、候補「言語-書記体系」の対に関して生成されたすべてのサブスコアを集約して、その候補「言語-書記体系」の対に関して、それぞれのスコアを取得する(308)。いくつかの実装形態では、候補「言語-書記体系」の対が複数のクエリ文字のうちの1つまたは複数に関して識別された唯一の候補「言語-書記体系」の対である場合、その候補「言語-書記体系」の対に関して生成された1つまたは複数のサブスコアをブーストすることができる。
【００８８】
最終スコアが取得されると、複数のクエリ文字に関して識別された候補「言語-書記体系」の対のそれぞれのスコアに基づいて、その検索クエリに関するソース言語を決定することができる(310)。
【００８９】
いくつかの実装形態では、検索クエリは、検索エンジンに提出されたクエリ入力に応答して生成された一次言語クエリ提案であり、方法300は、検索クエリを決定されたソース言語からその決定されたソース言語とは異なるターゲット言語に翻訳するための機械翻訳要求を送信するステップと、検索クエリに対応するクロス言語クエリ提案として、機械翻訳要求に応答して受信された、検索クエリの機械生成翻訳を提供するステップとをさらに含むことが可能である。
【００９０】
上記の例示的な方法およびその他の方法の他の特徴は、本明細書の他の部分、例えば、図1〜図2に関して説明される。
【００９１】
本明細書で説明された本主題および機能動作の実施形態は、デジタル電子回路の形で、または本明細書内で開示される構造およびその構造的均等物を含めて、コンピュータソフトウェア、コンピュータファームウェア、またはコンピュータハードウェアの形で、あるいはそれらのうちの1つもしくは複数の組合せの形で実施可能である。本明細書で説明された主題の実施形態は、1つまたは複数のコンピュータプログラム製品、すなわち、データ処理装置によって実行するために、またはデータ処理装置の動作を制御するために有形プログラムキャリア上で符号化されたコンピュータプログラム命令の1つまたは複数のモジュールとして実施可能である。有形プログラムキャリアは、コンピュータ可読媒体であってよい。コンピュータ可読媒体は、機械可読記憶装置、機械可読記憶基板、メモリデバイス、またはそれらのうちの1つもしくは複数の組合せであってよい。
【００９２】
「データ処理装置」という用語は、例として、プログラマブルプロセッサ、コンピュータ、または複数のプロセッサもしくはコンピュータを含めて、データを処理するためのすべての装置、デバイス、および機械を包含する。装置は、ハードウェアに加えて、当該コンピュータプログラムに関する実行環境を生み出すコード、例えば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、またはそれらのうちの1つもしくは複数の組合せを構成するコードを含むことが可能である。
【００９３】
プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプト、またはコードとしても知られているコンピュータプログラムは、コンパイラ型言語もしくはインタープリタ型言語、または宣言型言語もしくは手続き型言語を含めて、任意の形態のプログラミング言語で書込み可能であり、またコンピュータプログラムは、独立型プログラムとして、またはモジュールとして、コンピューティング環境で使用するのに適した構成要素、サブルーチン、または他のユニットを含めて、任意の形態で配備可能である。コンピュータプログラムは、ファイルシステム内のファイルに対応するとは限らない。プログラムは、他のプログラムまたはデータ、例えば、マークアップ言語文書内に記憶された1つもしくは複数のスクリプトを保持するファイルの一部内、当該プログラム専用の単一ファイル内、または複数の協調ファイル内、例えば、1つもしくは複数のモジュール、サブプログラム、もしくはコードの部分を記憶するファイル内に記憶可能である。コンピュータプログラムは、1つのコンピュータ上で実行されるように配備可能であるか、または1つの場所に配置されるか、もしくは複数の場所を通して分散され、通信ネットワークによって相互接続された複数のコンピュータ上で実行されるように配備可能である。
【００９４】
本明細書で説明された方法および論理の流れは、入力データに作用して、出力を生成することによって機能を実行するために1つまたは複数のコンピュータプログラムを実行する1つまたは複数のプログラマブルプロセッサによって実行可能である。専用論理回路、例えば、FPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)によって、これらの方法および論理の流れを実行することも可能であり、また専用論理回路、例えば、FPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)として装置を実装することも可能である。
【００９５】
コンピュータプログラムを実行するのに適したプロセッサは、例として、汎用マイクロプロセッサおよび専用マイクロプロセッサ、ならびに任意の種類のデジタルコンピュータの任意の1つまたは複数のプロセッサを含む。概して、プロセッサは、読出し専用メモリもしくはランダムアクセスメモリ、またはそれらの両方から命令およびデータを受信することになる。コンピュータの本質的な要素は、命令を実行するためのプロセッサ、ならびに命令およびデータを記憶するための1つまたは複数のメモリデバイスである。概して、コンピュータは、やはりデータを記憶するための1つもしくは複数の大容量記憶装置、例えば、磁気ディスク、光磁気ディスク、または光ディスクを含むことになるか、あるいは当該大容量記憶装置からデータを受信し、当該大容量記憶装置にデータを転送し、またはそれらの両方を行うために動作可能に当該大容量記憶装置に結合されることになる。しかし、コンピュータはそのようなデバイスを有さなくてもよい。さらに、コンピュータは、別のデバイス、ほんのいくつかの例を挙げれば、例えば、モバイル電話、携帯情報端末(PDA)、モバイル音声プレイヤまたはモバイルビデオプレイヤ、ゲームコンソール、全地球測位システム(GPS)受信機の中に埋め込み可能である。
【００９６】
コンピュータプログラム命令およびデータを記憶するのに適したコンピュータ可読媒体は、例として、半導体記憶装置、例えば、EPROM、EEPROM、およびフラッシュメモリデバイスと、磁気ディスク、例えば、内蔵ハードディスクまたはリムーバブルディスクと、光磁気ディスクと、CD-ROMディスクおよびDVD-ROMディスクとを含めて、すべての形態の不揮発性のメモリ、媒体装置および記憶装置を含む。プロセッサおよびメモリは、専用論理回路によって補完可能であるか、または専用論理回路内に組込み可能である。
【００９７】
ユーザとの対話を提供するために、本明細書で説明された主題の実施形態は、ユーザに情報を表示するためのディスプレイデバイス、例えば、CRT(陰極線管)モニタまたはLCD(液晶ディスプレイ)モニタと、それによってユーザがコンピュータに入力を提供できるキーボードおよびポインティングデバイス、例えば、マウスまたはトラックボールとを有するコンピュータ上で実施可能である。ユーザとの対話を実現するために、その他の種類のデバイスを同様に使用することも可能であり、例えば、ユーザに提供されるフィードバックは、任意の形態の感覚フィードバック、例えば、視覚フィードバック、聴覚フィードバック、または触覚フィードバックであってよく、ユーザからの入力は、音響入力、音声入力、または触覚入力を含めて、任意の形態で受信可能である。
【００９８】
本明細書で説明された主題の実施形態は、例えば、データサーバとしてなど、バックエンド構成要素を含むか、ミドルウェア構成要素、例えば、アプリケーションサーバを含むか、フロントエンド構成要素、例えば、それを介してユーザが本明細書で説明された主題の実装形態と対話することができるグラフィカルユーザインターフェースもしくはウェブブラウザを有するクライアントコンピュータを含むか、あるいは1つまたは複数のそのようなバックエンド構成要素、ミドルウェア構成要素、またはフロントエンド構成要素の任意の組合せを含むコンピューティングシステムにおいて実施可能である。システムの構成要素は、任意の形態または任意の媒体のデジタルデータ通信、例えば、通信ネットワークによって相互接続可能である。通信ネットワークの例は、ローカルエリアネットワーク(「LAN」)および、広域ネットワーク(「WAN」)、例えば、インターネットを含む。
【００９９】
コンピューティングシステムは、クライアントとサーバとを含むことが可能である。クライアントおよびサーバは、概して、互いから離れており、典型的には、通信ネットワークを介して対話する。クライアントとサーバの関係は、それぞれのコンピュータ上で実行し、互いに対してクライアント-サーバ関係を有するコンピュータプログラムによって生じる。
【０１００】
本明細書は多くの特定の実装形態の詳細を含むが、これらの詳細は、任意の実装形態または特許請求されるうるものの範囲の限定と解釈されるべきではなく、特定の実装形態の特定の実施形態に固有でありうる特徴の説明と解釈すべきである。別個の実施形態の関連で、本明細書で説明された一部の特徴を単一の実施形態の形で組み合わせて実施することも可能である。反対に、単一の実施形態の関連で説明された様々な特徴を複数の実施形態の形で別個に、または任意の適切なサブコンビネーションの形で実施することも可能である。さらに、特徴は上である種の組合せの形で機能するとして説明されている場合があり、そういうものとして当初特許請求されている場合すらあるが、特許請求される組合せからの1つまたは複数の特徴を、場合によっては、その組合せから削除することが可能であり、特許請求される組合せは、サブコンビネーションまたはサブコンビネーションの改変に関する場合もある。
【０１０１】
同様に、動作は図面において特定の順序で示されているが、これは、そのような動作が示された特定の順序もしくは連続順序で実行されるべきであること、または望ましい結果を達成するために、すべての例示された動作を実行すべきであることを必要とすると理解すべきではない。ある特定の状況において、マルチタスキングおよび並列処理が有利な場合がある。さらに、上で説明された実施形態の様々なシステム構成要素の分離は、すべての実施形態においてそのような分離を必要とすると理解すべきではなく、説明されたプログラム構成要素およびシステムは、概して、単一のソフトウェア製品内に一緒に統合可能であるか、または複数のソフトウェア製品内に包装可能であると理解すべきである。
【０１０２】
本明細書で説明された本主題の特定の実施形態が説明されてきた。他の実施形態は添付の特許請求の範囲の範囲内である。例えば、特許請求の範囲で列挙される動作は、異なる順序で実行可能であり、依然として望ましい結果を達成する。一例として、添付の図面に示された方法は、望ましい結果を達成するために、示された特定の順序、または連続順序を必要とするとは限らない。一部の実装形態では、マルチタスキングおよび並列処理が有利な場合がある。
【符号の説明】
【０１０３】
100  システム
110  モジュール
115  クライアントデバイス
120  入力、クエリ入力
122  ユーザ
125  提案サービスモジュール
130  翻訳サービスモジュール
134  文字/言語マッピング
135  言語検出器
200  言語検出モジュール
202  一次言語クエリ提案(Q)、検索クエリ(Q)
204  文字/言語マッピング
210  文字処理モジュール
220  言語スコアモジュール
230  翻訳要求モジュール
300  方法
【図１】
2014517428.tif 000017
【図２】
2014517428.tif 000018
【図３】
2014517428.tif 000019
【国際調査報告】
2014517428.tif 000020
2014517428.tif 000021