(57)【要約】   たとえば、様々な入力形態で表記されたテキスト入力から、入力示唆を発生させるためのコンピュータプログラム製品を含むシステムおよび装置。方法は、ユーザによって入力フィールドに入力されたテキスト入力を受信することであって、テキスト入力は、第１の言語で表記された第１の形態の第１のｎグラム、ならびに第１の言語を表記する第２の形態の第２のｎグラム、および第２の言語の第３のｎグラムのうちの少なくとも１つを含む、テキスト入力を受信することと、曖昧形態でテキスト入力の１つまたは複数の代替表現を発生させることと、代替表現を示唆サービスに送信し、示唆サービスから１つまたは複数の入力示唆を受信することと、ユーザインターフェースに表示するために、１つまたは複数の入力示唆のグループを、前記テキスト入力に対する選択可能な代替物であると識別するために、１つまたは複数の入力示唆を前記テキスト入力と比較することとを含む。
2013509623.tif 000002
【特許請求の範囲】
【請求項１】
ユーザによって入力フィールドに入力されたテキスト入力を受信することであって、前記テキスト入力が、第１の言語を表記する第１の形態の第１のｎグラム、ならびに
第１の言語を表記する第２の形態の第２のｎグラム、および
第２の言語における第３のｎグラム
のうちの少なくとも１つを含む、テキスト入力を受信することと、
前記テキスト入力の１つまたは複数の代替表現を発生させることであって、前記代替表現が、前記テキスト入力と直接的には一致しない１つまたは複数の入力示唆を表す曖昧形態である、代替表現を発生させることと、
前記代替表現を示唆サービスに送信し、前記示唆サービスから、１つまたは複数の入力示唆を受信することと、
ユーザインターフェースに表示するために、前記１つまたは複数の入力示唆のグループを、前記テキスト入力に対する選択可能な代替物であると識別するために、前記１つまたは複数の入力示唆を前記テキスト入力と比較することと
を含む、方法。
【請求項２】
曖昧形態で前記テキスト入力の１つまたは複数の代替表現を発生させることが、
前記テキスト入力を、１つまたは複数の文字の連続したシーケンスへとセグメント化することであって、各シーケンスが単語またはクエリを表す、セグメント化することと、
各セグメントの１つまたは複数の表現を識別することであって、各表現が代替形態である、１つまたは複数の表現を識別することと、
前記テキスト入力の代替表現を生成するために、前記テキスト入力において、１つまたは複数のセグメントを、代替形態の関連付けられた表現と置換することと
を含む、請求項１に記載の方法。
【請求項３】
前記テキスト入力が、第１の言語を表記する第２の形態の第２のｎグラムを含み、前記曖昧形態で前記テキスト入力の１つまたは複数の代替表現を発生させることが、
前記テキスト入力から第４のｎグラムを発生させることであって、前記第４のｎグラムが、前記テキスト入力の代替表現であり、前記第２の形態のテキストの１つまたは複数のシーケンスを含む、第４のｎグラムを発生させること
を含む、請求項１に記載の方法。
【請求項４】
前記第４のｎグラムが、前記第１の形態のテキストの１つまたは複数のシーケンスを含む、請求項３に記載の方法。
【請求項５】
前記第１の言語を表記する前記第２の形態が、完全な音声表現または部分的な音声表現を使用して、前記第１の言語を表記することを含む、請求項４に記載の方法。
【請求項６】
前記第１の言語が中国語であり、中国語を表記する前記第１の形態が、漢字を使用して中国語を表記することを含む、請求項５に記載の方法。
【請求項７】
完全な音声表現が、ピンイン音節であり、
部分的な音声表現が、ピンイン省略形である、
請求項６に記載の方法。
【請求項８】
前記テキスト入力が、第２の言語における第３のｎグラムを含み、前記第２の言語が英語である、請求項７に記載の方法。
【請求項９】
前記選択可能な代替物が、漢字を使用して表記される１つまたは複数の入力示唆を含む、請求項８に記載の方法。
【請求項１０】
ユーザが検索に関する要求に前記テキスト入力を提出する前に、および前記テキスト入力の各トークンの受信後、所定の時間量だけ待機した後に、前記テキスト入力が受信される、請求項１に記載の方法。
【請求項１１】
コンピュータからなるサーバを備えたシステムであって、
前記サーバが、
ユーザによって入力フィールドに入力されたテキスト入力を受信するアクションであって、前記テキスト入力が、第１の言語を表記する第１の形態の第１のｎグラム、ならびに
第１の言語を表記する第２の形態の第２のｎグラム、および
第２の言語における第３のｎグラム
のうちの少なくとも１つを含む、テキスト入力を受信するアクションと、
前記テキスト入力の１つまたは複数の代替表現を発生させるアクションであって、前記代替表現が、前記テキスト入力と直接的には一致しない１つまたは複数の入力示唆を表す曖昧形態である、代替表現を発生させるアクションと、
前記代替表現を示唆サービスに送信し、前記示唆サービスから、１つまたは複数の入力示唆を受信するアクションと、
ユーザインターフェースに表示するために、前記１つまたは複数の入力示唆のグループを、前記テキスト入力に対する選択可能な代替物であると識別するために、前記１つまたは複数の入力示唆を前記テキスト入力と比較するアクションと
を実行するように動作可能である、システム。
【請求項１２】
曖昧形態で前記テキスト入力の１つまたは複数の代替表現を発生させるアクションが、
前記テキスト入力を、１つまたは複数の文字の連続したシーケンスへとセグメント化することであって、各シーケンスが、単語またはクエリを表す、セグメント化することと、
各セグメントの１つまたは複数の表現を識別することであって、各表現が、代替形態である、１つまたは複数の表現を識別することと、
前記テキスト入力の代替表現を生成するために、前記テキスト入力において、１つまたは複数のセグメントを、代替形態の関連付けられた表現と置換することと
を含む、請求項１１に記載のシステム。
【請求項１３】
前記テキスト入力が、第１の言語を表記する第２の形態の第２のｎグラムを含み、前記曖昧形態で前記テキスト入力の１つまたは複数の代替表現を発生させるアクションが、
前記テキスト入力から第４のｎグラムを発生させることであって、前記第４のｎグラムが、前記テキスト入力の代替表現であり、前記第２の形態のテキストの１つまたは複数のシーケンスを含む、第４のｎグラムを発生させること
を含む、請求項１１に記載のシステム。
【請求項１４】
前記第４のｎグラムが、前記第１の形態のテキストの１つまたは複数のシーケンスを含む、請求項１３に記載のシステム。
【請求項１５】
前記第１の言語を表記する前記第２の形態が、完全な音声表現または部分的な音声表現を使用して、前記第１の言語を表記することを含む、請求項１４に記載のシステム。
【請求項１６】
前記第１の言語が中国語であり、中国語を表記する前記第１の形態が、漢字を使用して中国語を表記することを含む、請求項１５に記載のシステム。
【請求項１７】
完全な音声表現が、ピンイン音節であり、
部分的な音声表現が、ピンイン省略形である、
請求項１６に記載のシステム。
【請求項１８】
前記テキスト入力が、第２の言語における第３のｎグラムを含み、前記第２の言語が英語である、請求項１７に記載のシステム。
【請求項１９】
前記選択可能な代替物が、漢字を使用して表記される１つまたは複数の入力示唆を含む、請求項１８に記載のシステム。
【請求項２０】
ユーザが検索に関する要求に前記テキスト入力を提出する前に、および前記テキスト入力の各トークンの受信後、所定の時間量だけ待機した後に、前記テキスト入力が受信される、請求項１１に記載のシステム。
【請求項２１】
コンピュータにより実行可能な命令を備えたコンピュータプログラムであって、サーバ上で実行されるときに、前記サーバに、
ユーザによって入力フィールドに入力されたテキスト入力を受信する動作であって、前記テキスト入力が、第１の言語を表記する第１の形態の第１のｎグラム、ならびに
第１の言語を表記する第２の形態の第２のｎグラム、および
第２の言語における第３のｎグラム
のうちの少なくとも１つを含む、テキスト入力を受信する動作と、
前記テキスト入力の１つまたは複数の代替表現を発生する動作であって、前記代替表現が、前記テキスト入力と直接的には一致しない１つまたは複数の入力示唆を表す曖昧形態である、代替表現を発生する動作と、
前記代替表現を示唆サービスに送信し、前記示唆サービスから、１つまたは複数の入力示唆を受信する動作と、
ユーザインターフェースに表示するために、前記１つまたは複数の入力示唆のグループを、前記テキスト入力に対する選択可能な代替物であると識別するために、前記１つまたは複数の入力示唆を前記テキスト入力と比較する動作と
を含む動作を実行させる命令を備える、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書は、デジタルデータ処理に関し、特に、コンピュータ実装検索サービスに関する。
【背景技術】
【０００２】
従来の検索サービスは、入力された検索クエリの代替物として、検索クエリ示唆を提供する。たとえば、従来の検索エンジンは、テキスト入力を受信するクエリ入力フィールドを含むことができる。テキスト入力を受信したことに応答して、従来の検索サービスは、テキスト入力に関する検索クエリ示唆を提供することができる。ユーザは、検索クエリとして使用するための検索クエリ示唆を選択することができる。
【０００３】
いくつかの状況では、ユーザは、様々な入力形態で表されるテキスト入力を提供することができる。たとえば、テキスト入力は、第１のスクリプトにおける形態素（たとえば、漢字）と、第２のスクリプトにおける語彙項目（たとえば、英単語）と、第１のスクリプトにおける形態素の音声表現を表記する第２のスクリプトにおける書記素（たとえば、ピンイン音節、またはピンイン省略形）との混合を含むことができる。
【発明の概要】
【０００４】
本明細書では、検索クエリ示唆の発生に関する技術について説明する。
【０００５】
一般には、本明細書に記載された主題の１つの態様は、ユーザによって入力フィールドに入力されたテキスト入力を受信するアクションであって、テキスト入力が、第１の言語を表記する第１の形態の第１のｎグラム、ならびに第１の言語を表記する第２の形態の第２のｎグラム、および第２の言語における第３のｎグラムをのうちの少なくとも１つを含む、テキスト入力を受信するアクションと、テキスト入力の１つまたは複数の代替表現を発生させるアクションであって、代替表現が、テキスト入力と直接的には一致しない１つまたは複数の入力示唆を表す曖昧形態である、代替表現を発生させるアクションと、代替表現を示唆サービスに送信し、示唆サービスから、１つまたは複数の入力示唆を受信するアクションと、ユーザインターフェースに表示するために、１つまたは複数の入力示唆のグループを、テキスト入力に対する選択可能な代替物であると識別するために、１つまたは複数の入力示唆をテキスト入力と比較するアクションとを含む方法において実施することができる。本態様の他の実施形態は、対応するシステム、装置、およびコンピュータプログラム製品を含む。
【０００６】
これらのおよび他の実施形態は、任意選択で、以下の特徴のうちの１つまたは複数を含むことができる。曖昧形態でテキスト入力の１つまたは複数の代替表現を発生させることは、テキスト入力を、１つまたは複数の文字の連続したシーケンスへとセグメント化することであって、各シーケンスが単語またはクエリを表す、セグメント化することと、各セグメントの１つまたは複数の表現を識別することであって、各表現が代替形態である、１つまたは複数の表現を識別することと、テキスト入力の代替表現を生成するために、テキスト入力において、１つまたは複数のセグメントを、代替形態の関連付けられた表現と置換することとを含む。
【０００７】
テキスト入力は、第１の言語を表記する第２の形態の第２のｎグラムを含み、曖昧形態でテキスト入力の１つまたは複数の代替表現を発生させることが、テキスト入力から第４のｎグラムを発生させることであって、第４のｎグラムが、テキスト入力の代替表現であり、第２の形態のテキストの１つまたは複数のシーケンスを含む、第４のｎグラムを発生させることを含む。第４のｎグラムは、第１の形態のテキストの１つまたは複数のシーケンスを含む。
【０００８】
第１の言語を表記する第２の形態は、完全な音声表現または部分的な音声表現を使用して、第１の言語を表記することを含む。第１の言語は中国語であり、中国語を表記する第１の形態が、漢字を使用して中国語を表記することを含む。完全な音声表現が、ピンイン音節であり、部分的な音声表現が、ピンイン省略形である。テキスト入力は、第２の言語における第３のｎグラムを含み、第２の言語が英語である。選択可能な代替物は、漢字を使用して表記される１つまたは複数の入力示唆を含む。テキスト入力は、ユーザが検索に関する要求にテキスト入力を提出する前に、およびテキスト入力の各トークンの受信後、所定の時間量だけ待機した後に、テキスト入力が受信される。
【０００９】
以下の利点のうちの１つまたは複数を実現するために、本明細書に記載された主題の特定の実施形態を実装することができる。様々な入力で表記されたテキスト入力から入力示唆を自動的に発生させることにより、検索示唆を得るためにユーザインタラクションが必要とされる頻度が低減される。加えて、様々な形態で表記されたテキスト入力に関する検索示唆を得ることにより、提供するためにユーザにとって便利でない、たとえば、ユーザが、インプットメソッドエディタ（ＩＭＥ）にアクセスすることができない、または一言語の特定のスクリプトにおけるテキスト入力をどのように提供することがでるかを知ることができないこともある検索クエリ示唆を捕捉することによって検索範囲を増大させることができる。
【００１０】
入力示唆を判断する際に使用するために、曖昧形態でテキスト入力の代替表現を発生させることにより、テキスト入力の可能な表現を記憶するために必要とされるメモリ量が低減される。曖昧形態で代替表現を発生させることにより、メモリ使用を低減させることに加えて、検索範囲を増大させ、処理される入力示唆の数を低減することによって、入力示唆（たとえば、翻字）を識別する精度、再現率、および効率が高まる。
【００１１】
本明細書に記載された主題の１つまたは複数の実施形態の詳細について、添付の図面および以下の説明に記載する。明細書、図面および特許請求の範囲から、主題の他の特徴、態様および利点が明らかになろう。
【図面の簡単な説明】
【００１２】
【図１】様々な形態でテキスト入力の選択可能な代替物を発生させるシステムのいくつかの実装形態のおけるデータのフローの一例を示すブロック図である。
【図２】例示的な入力示唆アグリゲータを示すブロック図である。
【図３】例示的なテキスト入力と、そのテキスト入力に対する例示的な選択可能な代替物とを示す図である。
【図４】特定のテキスト入力から、どのように入力示唆を発生させるかを示すデータのフローの一例を示すブロック図である。
【図５】様々な形態でテキスト入力の選択可能な代替物を自動的に発生させるための例示的なプロセスを示すフローチャートである。
【発明を実施するための形態】
【００１３】
様々な図面における同様の参照番号および符号は、同様の要素を示す。
【００１４】
図１は、様々な形態でテキスト入力選択可能な代替物を発生させるシステムのいくつかの実装形態におけるデータのフローの一例を示すブロック図である。ユーザ１１０は、クライアント１３０によって提示された検索エンジンクエリ入力フィールドに入力１２０を提供する。入力１２０は、様々な形態のｎグラムを含む。
【００１５】
ｎグラムは、ｎ個の連続するトークン、たとえば、文字または単語のシーケンスである。ｎグラムは、そのｎグラム中のトークンの数である次数を有する。たとえば、１グラム（またはユニグラム）は、１つのトークンを含み、２グラム（またはバイグラム）は、２つのトークンを含む。入力１２０は、第１の言語を表記する第１の形態の第１のｎグラムを含むことができる。入力１２０は、また、第１の言語を表記する第２の形態の第２のｎグラム、または第２の言語における第３のｎグラムを含むこともできる。
【００１６】
一例として、「我」（たとえば、英語では「ｍｅ（私）」であり、
【００１７】
【数１】
2013509623.tif 000003
【００１８】
と発音する）は、第１の言語を表記する第１の形態、たとえば、中国語を表記するための漢字における第１のｎグラムとすることができる。加えて、「ｗｏ」は、第１の言語を表記する第２の形態の第２のｎグラムとすることができる。具体的には、「ｗｏ」は、「我」の完全な音声表現（たとえば、ピンイン音節）である２グラムである。さらに、「ｗ」は、第１の言語を表記する第２の形態の第２のｎグラムの別の例である。具体的には、「ｗ」は、複数の漢字の部分的な音声表現の１グラム、たとえば、
【００１９】
【数２】
2013509623.tif 000004
【００２０】
と発音する「我」、
【００２１】
【数３】
2013509623.tif 000005
【００２２】
と発音する「臥」、および
【００２３】
【数４】
2013509623.tif 000006
【００２４】
と発音する「為」のピンイン省略形である。ローマ字「ｗ」は、ピンイン音節における文字のシーケンス中の第１の文字であるので、部分的な音声表現と称される。
【００２５】
クライアント１３０は、検索サービス１４０に、入力１２０の選択可能な代替物に関する要求を送信する。その要求は、入力１２０を含む。いくつかの実装形態では、クライアント１３０は、その要求を、テキスト入力の各トークン、たとえば、第１の検索クエリの各文字または第１の検索クエリの各単語が検索エンジンクエリ入力フィールドで受信された直後に送信する。その結果、ユーザがテキスト入力の各トークンをタイプする際に、選択可能な代替物をユーザに提供することができる。いくつかの代替実装形態では、クライアント１３０は、検索サービス１４０に対して要求を自動的に行う前に、所定の時間量だけ待機する遅延を実装する。
【００２６】
検索サービス１４０にインストールされたモジュール１４２、たとえば、ソフトウェアスクリプトは、入力１２０を受信する。モジュール１４２は、入力１２０を処理して、入力１２０を曖昧形態に変換する。具体的には、モジュール１４２は、以下にさらに詳述するように、各々が曖昧形態である入力１２０の１つまたは複数の代替表現を発生させる。モジュール１４２は、その代替表現を、検索サービス１４０にインストールされた示唆サービス１４４に送信する。いくつかの代替実装形態では、検索サービス１４０は、中間サーバにインストールされ、示唆サービス１４４は、検索サービス１４０から代替表現を受信する受信サーバにインストールされる。
【００２７】
示唆サービス１４４は、入力１２０に関する１つまたは複数の入力示唆を戻す。入力示唆は、入力１２０の代替物、たとえば、完全体、翻字である。モジュール１４２は、１つまたは複数の入力示唆のグループを、入力１２０に対する選択可能な代替物であると識別するために、１つまたは複数の入力示唆を入力１２０と比較する。モジュール１４２は、ユーザインターフェース中に表示するために、実時間で、すなわち、ユーザ１２２が、検索エンジンクエリ入力フィールド中に文字をタイプする際に、選択可能な代替物をクライアント１３０に戻す。
【００２８】
図２は、例示的な入力示唆アグリゲータ２００を示すブロック図である。入力示唆アグリゲータ２００は、変換サブモジュール２１０と、比較サブモジュール２２０とを含む。入力示唆アグリゲータ２００は、テキスト入力を受信する。変換サブモジュール２１０は、曖昧形態でテキスト入力の１つまたは複数の代替表現を発生させる。比較サブモジュール２２０は、入力示唆を受信し、１つまたは複数の入力示唆のグループを、第１のテキスト入力に対する選択可能な代替物であると識別するために、その入力示唆をテキスト入力と比較する。
【００２９】
図３は、例示的なテキスト入力と、そのテキスト入力に関する例示的な選択可能な代替物とを示す図である。テキスト入力は、様々な形態でｎグラムを表記する文字のシーケンス「北ｊｉｎｇｆｄ  ｏｆｆｉｃｅ  ｈｏｕｒ」を含む。具体的には、テキスト入力は、第１の言語を表記する第１の形態の１グラム、すなわち、漢字「北」を含む。テキスト入力は、また、第１の言語を表記する第２の形態の４グラム、すなわち、完全な音声表現
【００３０】
【数５】
2013509623.tif 000007
【００３１】
（ピンイン音節）も含む。加えて、テキスト入力は、第１の言語を表記する第３の形態の２つの１グラム、すなわち、ピンイン省略形「ｆ」と、ピンイン省略形「ｄ」とを含む。テキスト入力は、また、異なる第２の言語における６グラムと４グラム、すなわち、英単語「ｏｆｆｉｃｅ（営業）」と、「ｈｏｕｒ（時間）」とを含む。
【００３２】
選択可能な代替物は、漢字「北」、「京」、「飯」および「店」を含む。選択可能な代替物は、また、英単語「ｏｆｆｉｃｅ」および「ｈｏｕｒ」を含む。漢字「北」は、テキスト入力では同じ文字で表記される。漢字「京」（たとえば、英語の「ｃａｐｉｔａｌ（首都）」であり、
【００３３】
【数６】
2013509623.tif 000008
【００３４】
と発音する）は、テキスト入力ではピンイン音節
【００３５】
【数７】
2013509623.tif 000009
【００３６】
で表記される。漢字「飯」（たとえば、英語の「ｆｏｏｄ（食べ物）」であり、
【００３７】
【数８】
2013509623.tif 000010
【００３８】
と発音する）は、テキスト入力ではピンイン省略形「ｆ」によって表記され、漢字「店」（たとえば、英語の「ｓｔｏｒｅ（店舗）」であり、
【００３９】
【数９】
2013509623.tif 000011
【００４０】
と発音する）は、ピンイン省略形「ｄ」で表記される。英単語「ｏｆｆｉｃｅ」および「ｈｏｕｒ」は、テキスト入力では同じ単語で表記される。選択可能な代替物の例示的な翻訳は、「Ｂｅｉｊｉｎｇ  ｒｅｓｔａｕｒａｎｔ  ｏｆｆｉｃｅ  ｈｏｕｒｓ（北京レストラン営業時間）」および「Ｂｅｉｊｉｎｇ  ｈｏｔｅｌ  ｏｆｆｉｃｅ  ｈｏｕｒｓ（北京ホテル営業時間）」を含み、「北京」は、「Ｂｅｉｊｉｎｇ」と翻訳され、「飯店」は、「ｒｅｓｔａｕｒａｎｔ（レストラン）」または「ｈｏｔｅｌ（ホテル）」と翻訳される。
【００４１】
図４は、特定のテキスト入力から、どのように入力示唆を発生させるかを示すデータのフローの一例を示すブロック図である。この例では、テキスト入力は、文字のシーケンス「中ｇｇｕｇ」を含み、漢字「中」は、英語では「ｍｉｄｄｌｅ（中間）」と翻訳され、
【００４２】
【数１０】
2013509623.tif 000012
【００４３】
と発音することができるか、あるいは、英語の「ｈｉｔ（当たる）」と翻訳され、
【００４４】
【数１１】
2013509623.tif 000013
【００４５】
と発音することができる。テキスト入力は、第１の１グラム「中」と、第２の１グラム「ｇ」と、第３の１グラム「ｇｕ」と、第４の１グラム「ｇ」とを含む。
【００４６】
曖昧形態で代替表現を発生させることは、テキスト入力を、１つまたは複数の文字の連続したシーケンスへとセグメント化することを含む。
【００４７】
いくつかの実装形態では、セグメント化は、前方一致を使用して実行される。テキスト入力は、ユーザからの入力として受信した第１の文字から始まる連続したシーケンスへとセグメント化される。文字の各シーケンスは、シーケンスがセグメント化された順序の初めの最初のシーケンスから始まり、その順序の終わりの最後のシーケンスで終了し、単語またはクエリを表す文字の最長シーケンスで構成される。
【００４８】
一例として、ユーザは、テキスト入力として、第１の文字「Ｘ１」を、その後ろに第２の文字「Ｘ２」を、その後ろに第３の文字「Ｘ３」を、その後ろに第４の文字「Ｘ４」を提供する。テキスト入力は、左から右へと、各文字が受信された順序で、文字「Ｘ１Ｘ２Ｘ３Ｘ４」を含む。「Ｘ１Ｘ２Ｘ３Ｘ４」が単語を表す場合、テキスト入力はセグメント化されず、連続したシーケンス「Ｘ１Ｘ２Ｘ３Ｘ４」のみが識別される。
【００４９】
「Ｘ１Ｘ２Ｘ３Ｘ４」が単語を表さない場合、変換サブモジュール２１０は、「Ｘ１Ｘ２Ｘ３」が単語を表すかどうかを判断する。「Ｘ１Ｘ２Ｘ３」が単語を表す場合には、テキスト入力は、２つの連続したシーケンス「Ｘ１Ｘ２Ｘ３」と、「Ｘ４」とにセグメント化される。
【００５０】
「Ｘ１Ｘ２Ｘ３」が単語を表さない場合、変換サブモジュール２１０は、「Ｘ１Ｘ２」が単語を表すかどうかを判断する。「Ｘ１Ｘ２」が単語を表す場合には、「Ｘ１Ｘ２」は、１番目の連続したシーケンスとして識別される。次いで、変換サブモジュール２１０は、「Ｘ３Ｘ４」が単語を表すかどうかを判断する。シーケンス「Ｘ３Ｘ４」が単語を表す場合には、テキスト入力は、２つの連続したシーケンス「Ｘ１Ｘ２」と、「Ｘ３Ｘ４」とにセグメント化される。
【００５１】
「Ｘ１Ｘ２」が単語を表さない場合、「Ｘ１」が、１番目の連続したシーケンスとして識別される。同様のプロセスを使用して、「Ｘ２Ｘ３Ｘ４」において第２の連続したシーケンスが識別される。具体的には、「Ｘ２Ｘ３Ｘ４」が単語を表す場合、テキスト入力は、２つの連続したシーケンス「Ｘ１」と、「Ｘ２Ｘ３Ｘ４」とにセグメント化される。「Ｘ２Ｘ３Ｘ４」が単語を表さない場合には、変換サブモジュール２１０は、「Ｘ２Ｘ３」が単語を表すかどうかを判断する。「Ｘ２Ｘ３」が単語を表す場合には、テキスト入力は、３つの連続したシーケンス「Ｘ１」と、「Ｘ２Ｘ３」と、「Ｘ４」とにセグメント化される。「Ｘ２Ｘ３」が単語を表さない場合には、テキスト入力は、４つの連続したシーケンス「Ｘ１」と、「Ｘ２」と、「Ｘ３」と、「Ｘ４」とにセグメント化される。
【００５２】
いくつかの代替実装形態では、セグメント化は、中間一致または後方一致を使用して実行される。
【００５３】
図４では、文字のシーケンス「中ｇｇｕｇ」は、４つの連続したシーケンスへとセグメント化される。「中ｇｇｕｇ」、「中ｇｇｕ」、「中ｇｇ」、および「中ｇ」がそれぞれ単語を表さないので、「中」は、１番目の連続したシーケンスとして識別される。「ｇｇｕｇ」、「ｇｇｕ」、および「ｇｇ」がそれぞれ単語を表さないので、「ｇ」は、２番目の連続したシーケンスとして識別される。具体的には、「ｇ」は、英語の単語（たとえば、「ｇｏｏｄ（良い）」、「ｇｒａｉｎ（穀物）」）に関する先頭部分であるか、あるいは、（たとえば、ピンイン音節「ｇｕ（グー）」、「ｇａ（ガー）」、「ｇａｉ（ガイ）」に対する）ピンイン省略形である。
【００５４】
「ｇｕｇ」は単語を表さないが、「ｇｕ」が単語を表すことできるので、「ｇｕ」は、３番目の連続したシーケンスとして識別される。具体的には、「ｇｕ」は、ピンイン音節を表すことができる。「ｇｕ」が表すことができる例示的なピンイン音節には、
【００５５】
【数１２】
2013509623.tif 000014
【００５６】
（たとえば、英語の「ｓｈａｒｅ（共有する）」を意味する「股」の音声表現）、
【００５７】
【数１３】
2013509623.tif 000015
【００５８】
（たとえば、英語の「ｓｔｒｏｎｇ（強い）」を意味する「固」の音声表現）、および
【００５９】
【数１４】
2013509623.tif 000016
【００６０】
（たとえば、英語の「ｌｏｎｅ（孤独な）」を意味する「孤」の音声表現）を含む。したがって、「ｇｕ」は、３番目の連続したシーケンスとして識別され、「ｇ」（すなわち、「中ｇｇｕｇ」で受信した最後の文字）は、４番目の連続したシーケンスとして識別される。その結果、テキスト入力「中ｇｇｕｇ」は、４つの連続したシーケンス「中」、「ｇ」、「ｇｕ」、および「ｇ」へとセグメント化される。
【００６１】
識別されたセグメントを使用して、テキスト入力の、一般的な形態における代替表現を発生させる。具体的には、各セグメントの代替形態における表現が識別される。いくつかの実装形態では、完全な音声表現、または部分的な音声表現によって、各セグメントを表すことができる。図４の例では、「中」の代替形態における表現は、「ｚｈｏｎｇ（ジョン）」（すなわち、ピンイン音節）と、「ｚ」（すなわち、ピンイン省略形）とを含む。「ｇｕ」の代替形態における表現は、「ｇ」（すなわち、ピンイン省略形）を含む。いくつかの実装形態では、単一の文字で構成される識別されたセグメントの代替形態における表現は、識別されない。図４の例に戻ると、テキスト入力の２番目の「ｇ」と３番目の「ｇ」の、代替形態における表現は識別されない。
【００６２】
識別されたセグメント、およびそのセグメントの代替形態における表現から、曖昧形態でテキスト入力の代替表現が発生する。具体的には、テキスト入力のセグメントは、代替表現を発生させるために、様々な組合せで置換することができる。図４では、代替表現の例は、「中」が「ｚｈｏｎｇ（ジョン）」で表された「ｚｈｏｎｇｇｇｕｇ」、「中」が「ｚｈｏｎｇ」で表され、「ｇｕ（グー）」が「ｇ」で表された「ｚｈｏｎｇｇｇｇ」、「中」「ｚ」で表された「ｚｇｇｕｇ」、「中」が「ｚ」で表され、「ｇｕ」が「ｇ」で表された「ｚｇｇｇ」、および「ｇｕ」が「ｇ」で表された「中ｇｇｇ」を含む。図４は、実際に処理される、一般的な形態におけるすべての可能な代替表現を示すわけではない。
【００６３】
代替表現はそれぞれ、１つまたは複数の入力示唆を表すことができるので、代替表現は、曖昧形態であると称することができる。１つまたは複数の入力示唆のうちのいくつかは、テキスト入力に直接的には一致しない。加えて、１つまたは複数の入力示唆のうちのいくつかは、テキスト入力から直接的に発生した入力示唆とは異なる。一例として、代替表現「ｚｇｇｇ」は、ピンイン省略形「ｚ」、「ｇ」、「ｇ」および「ｇ」を含む。「ｚｇｇｇ」中の１番目のピンイン省略形「ｚ」は、テキスト入力における「中」に対応しないピンイン音節および漢字を表す。一例として、「ｚ」は、漢字「自」および「字」に対応するピンイン音節「ｚｉ（ズー）」を表わす。加えて、「ｚｇｇｇ」における２番目の「ｇ」は、テキスト入力における「ｇｕ」と一致しないピンイン音節および漢字を表す。一例として、「ｇ」は、漢字「港」および「剛」に対応するピンイン音節「ｇａｎｇ（ガン）」を表すことができる。
【００６４】
代替表現は、示唆サービスに送信される。いくつかの実装形態では、テキスト入力もまた示唆サービスに送信される。示唆サービスは、代替表現を使用して１つまたは複数の入力示唆を識別し、その１つまたは複数の入力示唆を示唆サービスに戻す。図４では、入力示唆の例は、「中国谷歌」（たとえば、英語の「Ｇｏｏｇｌｅ  Ｃｈｉｎａ（グーグルチャイナ）」であり、
【００６５】
【数１５】
2013509623.tif 000017
【００６６】
と発音する）、「中国国歌」（たとえば、英語の「Ｃｈｉｎｅｓｅ  ｎａｔｉｏｎａｌ  ａｎｔｈｅｍ（中国国歌）」であり、
【００６７】
【数１６】
2013509623.tif 000018
【００６８】
と発音する）、および「做広告工」（たとえば、英語の「ａｄｖｅｒｔｉｓｉｎｇ  ｉｎｄｕｓｔｒｙ（産業を広告する」であり、
【００６９】
【数１７】
2013509623.tif 000019
【００７０】
と発音する）を含む。図４は、実際に処理されるすべての可能な入力示唆を示すわけではない。
【００７１】
比較モジュール２２０は、１つまたは複数の入力示唆のグループを、第１のテキスト入力に対する選択可能な代替物であると識別するために、入力示唆をテキスト入力と比較する。具体的には、比較モジュール２２０は、第１のテキスト入力に対する選択可能な代替物であると識別される１つまたは複数の入力示唆のグループから除外するために、テキスト入力によって表記される傾向が低い入力示唆を識別する。「中国谷歌」の音声表現は「ｚｈｏｎｇ  ｇｕｏ  ｇｕ  ｇｅ（ジョン  グオ  グー  ゴー）」であり、「中国国歌」の音声表現は「ｚｈｏｎｇ  ｇｕｏ  ｇｕｏ  ｇｅ（ジョン  グオ  グオ  ゴー）」であり、「做広告工」の音声表現は「ｚｕｏ  ｇｕａｎｇ  ｇａｏ  ｇｏｎｇ（ズオ  グアン  ガオ  ゴン）」であり、発音区別記号は除去されている。
【００７２】
「做広告工」を「中ｇｇｕｇ」と比較すると、テキスト入力における  最初のセグメント「中」（「ｚｈｏｎｇ」）は、「中」（「ｚｈｏｎｇ」）を表記するのではなく、「做」（「ｚｕｏ」）を表す傾向は低い。加えて、「中国国歌」を「中ｇｇｕｇ」と比較すると、３つ目のセグメント「ｇｕ」は、「谷」（「ｇｕ」）を表すのではなく、「国」（「ｇｕｏ」）を表す傾向が少ない、すなわち、完全一致である。
【００７３】
いくつかの実装形態では、直接一致のみを、テキスト入力に対する選択可能な代替物であると識別する。前述の例では、「中国谷歌」（「ｚｈｏｎｇ  ｇｕｏ  ｇｕ  ｇｅ（ジョン  グオ  グー  ゴー）」）は、漢字「中」が漢字「中」と一致し、ピンイン音節「ｇｕｏ（グオ）」がピンイン省略形「ｇ」と一致し、ピンイン音節「ｇｕ（グー）」がピンイン音節「ｇｕ（グー）」と一致し、ピンイン音節「ｇｅ（ゴー）」がピンイン省略形「ｇ」と一致するので、直接一致である。「中国国歌」（ｚｈｏｎｇ  ｇｕｏ  ｇｕｏ  ｇｅ（ジョン  グオ  グオ  ゴー））では、ピンイン音節「ｇｕｏ（グオ）」は、ピンイン音節「ｇｕ（グー）」と一致しない。加えて、「做広告工」（ｚｕｏ  ｇｕａｎｇ  ｇａｏ  ｇｏｎｇ（ズオ  グアン  ガオ  ゴン））では、漢字「做」は漢字「中」と一致せず、ピンイン音節「ｇａｏ（ガオ）」はピンイン音節「ｇｕ（グー）」と一致しない。ユーザ１１０に提示するために、選択可能な代替物をクライアント１３０に戻す。
【００７４】
いくつかの実装形態では、選択可能な代替物は、固有のユーザが各選択可能な代替物を検索のためのクエリとして入力した頻度にしたがってランク付けされる。いくつかの実装形態では、編集距離を使用して、ランク付けを修正することができる。一例として、選択可能な代替物「ｗｏｍｅｎ  ｃｌｏｔｈｉｎｇ（婦人服）」と「我們」（たとえば、英語の「ｗｅ（我々）」であり、
【００７５】
【数１８】
2013509623.tif 000020
【００７６】
と発音する）は、両方とも、テキスト入力「ｗｏｍｅｎ」に一致し得る。「ｗｏｍｅｎ  ｃｌｏｔｈｉｎｇ」が、テキスト入力と同一のｎグラム「ｗｏｍｅｎ」を含み、「我們」を「ｗｏｍｅｎ」に変換する、たとえば、字訳するために、１つまたは複数のオペレーションが必要とされるので、テキスト入力によって表記される傾向が高いことと示すために、「ｗｏｍｅｎ  ｃｌｏｔｈｉｎｇ」のランク付けを高くすることができる。
【００７７】
図５は、様々な形態でテキスト入力の選択可能な代替物を自動的に発生させるための例示的なプロセス５００を示すフローチャートである。プロセス５００は、ユーザによって入力フィールドに入力された第１のテキスト入力を受信すること５１０を含む。第１のテキスト入力は、第１の言語を表記する第１の形態における第１のｎグラムと、第１の言語を表す第２の形態における第２のｎグラムおよび第２の言語における第３のｎグラムのうちの少なくとも１つとを含む。プロセス５００は、また、第１のテキスト入力の１つまたは複数の代替表現を発生させること５２０を含み、その代替表現は、テキスト入力と直接的には一致しない１つまたは複数の入力示唆を表記する曖昧形態である。プロセス５００は、また、代替表現を示唆サービスに送り、示唆サービスから１つまたは複数の入力示唆を受信すること５３０を含む。プロセス５００は、また、ユーザインターフェースに表示するために、１つまたは複数の入力示唆のグループを、第１のテキスト入力に対する選択可能な代替物であると識別するために、１つまたは複数の入力示唆を第１のテキスト入力と比較すること５４０を含む。
【００７８】
本明細書に記載された主題の諸実施形態と機能動作は、デジタル電子回路で、あるいは本明細書で開示された構造およびそれらの構造的等価物を含むコンピュータソフトウェア、コンピュータファームウェアまたはコンピュータハードウェアで、あるいはそれらのうちの１つまたは複数の組合せで実装することができる。本明細書に記載された主題の諸実施形態は、１つまたは複数のコンピュータプログラムとして、すなわち、データ処理装置により実行するための、またはデータ処理装置の動作を制御するためのタンジブルなプログラムキャリヤ上に符号化されたコンピュータプログラム命令の１つまたは複数のモジュールとして実装することができる。タンジブルなプログラムキャリヤは、コンピュータ可読媒体とすることができる。コンピュータ可読媒体は、機械可読ストレージデバイス、機械可読ストレージ基板、メモリデバイス、またはそれらのうちの１つまたは複数の組合せとすることができる。
【００７９】
用語「データ処理装置」は、例として、プログラム可能プロセッサ、コンピュータ、あるいは複数のプロセッサまたはコンピュータを含む、データを処理するためのすべての装置、デバイスまたは機械を包含する。装置は、ハードウェアに加えて、論点になっているコンピュータプログラムに関する実行環境を生成コード、たとえば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、あるいはそれらのうちの１つまたは複数の組合せを構成するコードを含むことができる。
【００８０】
コンピュータプログラムは、プログラム、ソフトウェア、ソフトウェアプリケーション、スクリプト、またはコードとしても知られており、コンパイル型またはインタープリタ型言語、あるいは宣言型または手続型言語を含む、任意の形式のプログラミング言語で書くことができる。コンピュータプログラムは、スタンドアロンプログラムとして、またはモジュールとして、構成要素、サブルーチン、またはコンピューティング環境で使用するのに好適な他のユニットを含む任意の形態で展開することができる。コンピュータプログラムは、ファイルシステム中のファイルに必ずしも対応するものではない。プログラムは、他のプログラムまたはデータを保持するファイルの一部分、たとえば、マークアップ言語文書中に記憶された１つまたは複数のスクリプトに、論点になっているプログラム専用の単一のファイルに、あるいは複数の協働的ファイル、たとえば、１つまたは複数のモジュール、サブプログラム、またはコードの一部分を記憶するファイル中に記憶することができる。コンピュータプログラムは、１つのコンピュータ上で実行されるように、あるいは１つのサイトに配置され、または複数のサイトにわたって分散され、通信ネットワークによって相互接続された複数のコンピュータ上で実行されるように展開することができる。
【００８１】
本明細書に記載されたプロセスおよび論理フローは、入力データ上で動作し、出力を発生させることによって機能を実行するために、１つまたは複数のコンピュータプログラムを実行する１つまたは複数のプログラム可能プロセッサによって実行することができる。また、プロセスおよび論理フローは、専用論理回路、たとえば、ＦＰＧＡ（フィールドプログラマブルゲートアレイ）またはＡＳＩＣ（特定用途向け集積回路）によって実装することができ、また、そのような専用論理回路として装置を実装することもできる。
【００８２】
コンピュータプログラムを実行するのに好適なプロセッサは、例として、汎用マイクロプロセッサと専用マイクロプロセッサの両方、ならびに任意の種類のデジタルコンピュータの任意の１つまたは複数のプロセッサを含む。一般に、プロセッサは、リードオンリメモリまたはランダムアクセスメモリ、あるいはその両方から、命令およびデータを受信する。コンピュータの基本的なエレメントは、命令を実行するためのプロセッサ、ならびに命令およびデータを記憶するための１つまたは複数のメモリデバイスである。また、コンピュータは、一般に、データを記憶するための１つまたは複数の大容量ストレージデバイス、たとえば、磁気ディスク、光磁気ディスク、または光ディスクを含み、あるいはそれらからデータを受信し、もしくはそれらにデータを送信し、またはその両方を行うために動作可能に結合される。しかしながら、コンピュータは、そのようなデバイスを有する必要はない。さらに、コンピュータは、別のデバイスに、たとえば、いくつか例を挙げると、モバイル電話、携帯情報端末（ＰＤＡ）、モバイルオーディオもしくはビデオプレーヤ、ゲームコンソール、全地球測位システム（ＧＰＳ）受信器に埋め込むことができる。
【００８３】
コンピュータプログラム命令およびデータを記憶するのに好適なコンピュータ可読媒体は、例として、半導体メモリデバイス（たとえば、ＥＰＲＯＭ、ＥＥＰＲＯＭ、およびフラッシュメモリデバイス）、磁気ディスク（たとえば、内蔵ハードディスクまたは取外し可能ディスク）、磁気光ディスク、ならびにＣＤ−ＲＯＭディスクおよびＤＶＤ−ＲＯＭディスクを含む、すべての形態の不揮発性メモリ、不揮発性媒体、および不揮発性メモリデバイスを含む。プロセッサおよびメモリは、特殊用途論理回路によって補足する、またはその中に組み込むことができる。
【００８４】
ユーザとのインタラクションを提供するために、本明細書に記載された主題の諸実施形態は、ユーザに情報を表示するための表示デバイス、たとえば、ＣＲＴ（陰極線管）またはＬＣＤ（液晶ディスプレイ）モニタと、ユーザがコンピュータへの入力を行うことができるキーボードおよびポインティングデバイス、たとえば、マウスまたはトラックボールとを有するコンピュータ上で実装することができる。他の種類のデバイスを使用して、同様に、ユーザとのインタラクションを提供することができ、たとえば、ユーザに提供されるフィードバックは、任意の形態の感覚フィードバック、たとえば、視覚フィードバック、聴覚フィードバック、または触覚フィードバックとすることができ、音響入力、音声入力または触覚入力を含む任意の形態で、ユーザからの入力を受信することができる。
【００８５】
本明細書に記載された主題の諸実施形態は、たとえば、データサーバとしてバックエンド構成要素を含むコンピューティングシステム、またはミドルウェア構成要素（たとえば、アプリケーションサーバ）を含むコンピューティングシステム、またはフロントエンド構成要素（たとえば、ユーザが、本明細書に記載された主題の一実装形態とインタラクトすることができるグラフィカルユーザインターフェースまたはウェブブラウザを有するクライアントコンピュータ）を含むコンピューティングで、あるいは１つまたは複数のそのようなバックエンド構成要素、ミドルウェア構成要素、またはフロントエンド構成要素の任意の組合せで実装することができる。このシステムの各構成要素は、デジタルデータ通信、たとえば、通信ネットワークの任意の形態または媒体によって、相互接続することができる。通信ネットワークの例として、ローカルエリアネットワーク（「ＬＡＮ」）および広域ネットワーク（「ＷＡＮ」）、たとえば、インターネットが挙げられる。
【００８６】
コンピューティングシステムは、クライアントおよびサーバを含むことができる。クライアントおよびサーバは、一般に、互いから離れており、典型的には、通信ネットワークを介してインタラクトする。クライアントとサーバとの関係は、それぞれ対応するコンピュータ上で動作し、互いに対してクライアント対サーバの関係を有するコンピュータプログラムによって生じる。
【００８７】
本明細書には、多くの具体的な実装形態の詳細が含まれるが、これらの実装形態は、任意の実装形態の範囲、または特許請求され得るものの範囲に限定されるものとして解釈されるべきではなく、特定の実装形態の特定の実施形態に固有であり得る特徴に関する説明として解釈されるべきである。また、別個の諸実施形態のコンテキストにおいて本明細書で記載されるある特定の特徴を組み合わせて、単一の実施形態で実装することができる。また、反対に、単一の実施形態のコンテキストにおいて記載される様々な特徴は、複数の実施形態において別々に、または任意の好適な下位組合せにおいて実装することもできる。さらに、各特徴は、ある特定の組合せにおいて作用するものとして上述され、そのようなものとして最初に特許請求され得るが、いくつかの場合には、特許請求された組合せのうちの１つまたは複数の特徴を、その組合せから除くことができ、特許請求される組合せは、下位組合せまたは下位組合せの変形形態を対象としてもよい。
【００８８】
同様に、図面に、ある特定の順序で各動作が示されているが、所望の結果果を達成するために、図示の特定の順序または一連の順序で、このような動作を実行しなければならない、あるいはすべての図示された動作を実行しなければならないと理解するべきではない。ある特定の状況では、マルチタスク処理および並列処理が有利であることがある。さらに、上述の実施形態において様々なシステム構成要素を分離することは、すべての実施形態においてそのように分離しなければならないと理解するべきではなく、記載されたプログラム構成要素およびシステムは、一般に、単一のソフトウェア製品中に一体化したり、複数のソフトウェア製品の中にパッケージ化したりできることを理解されたい。
【００８９】
本明細書に記載された主題の特定の実施形態について説明してきた。他の実施形態は、添付の特許請求の範囲に含まれる。たとえば、特許請求の範囲に列挙されたアクションは、異なる順序で実行することができ、それでもなお望ましい結果が達成される。１つの例として、添付の各図に示されたプロセスでは、望ましい結果を達成するために、必ずしも図示の特定の順序、または一連の順序を必要とするものではない。ある特定の実装形態では、マルチタスク処理および並列処理が有利なことがある。
【符号の説明】
【００９０】
１１０  ・・・  ユーザ
１２０  ・・・  入力
１３０  ・・・  クライアント
１４０  ・・・  検索サービス
１４２  ・・・  モジュール
１４４  ・・・  示唆サービス
２００  ・・・  入力示唆アグリゲータ
２１０  ・・・  変換サブモジュール
２２０  ・・・  比較サブモジュール
【図１】
2013509623.tif 000021
【図２】
2013509623.tif 000022
【図３】
2013509623.tif 000023
【図４】
2013509623.tif 000024
【図５】
2013509623.tif 000025
【国際調査報告】
2013509623.tif 000026
2013509623.tif 000027