(58)【調査した分野】(Int.Cl.,DB名)
1つ以上の所定のルールに基づいて前記プロパティ値を処理することは、線形の重み付けアプローチに基づいて前記プロパティ値を処理すること、または最大エントロピーモデルに基づいて、前記プロパティ値を前記一致する結果値に変換することを含む、請求項1に記載の方法。
前記結果値取得モジュールは、線形の重み付けアプローチに基づいて前記プロパティ値を処理する、または、最大エントロピーモデルに基づいて、前記プロパティ値を前記一致する結果値に変換する、請求項6に記載の装置。
【発明の概要】
【0007】
本開示において解決されるべき技術的な問題は、既存の技術におけるルールに基づく検索語の書き換え後の検索によって生じる不正確な検索結果の問題を解決し、さらに、関連性および呼び出し率を向上させるための検索方法を提供することである。
【0008】
本開示は、さらに、実際に上記の方法の実装および応用を確実にするための検索装置を提供する。
【0009】
一態様では、検索方法は、データベースから、本検索語に関する1つ以上の検索語候補を取得することと、本検索語と1つ以上の検索語候補とのプロパティを読み出すことであって、プロパティは本検索語と1つ以上の検索語候補とのそれぞれの一致する結果を記述する、読み出すことと、一致する結果に基づいて本検索語を書き換える必要があるかどうかを決定することと、本検索語を書き換える必要があると決定される場合に、データ書き換えシステムによって、一致する結果に基づいて、書き換えられた本検索語を提供するために本検索語を書き換えることと、検索エンジンによって、書き換えられた本検索語に基づいて、検索を実行することと、を含むアクションを実行する。
【0010】
好ましくは、事前に確立されたデータベースから、本検索語に関する1つ以上の検索語候補を取得することは、さらに、データベースから少なくとも2つの検索語候補を取得することを含んでもよい。加えて、一致する結果に基づいて、本検索語を書き換える必要があるかどうかを決定することは、一致する結果に基づいて、値をプロパティに割り当てることであって、各プロパティは相当するプロパティ値を有する、割り当てることと、少なくとも2つの検索語候補に相当する少なくとも2つの一致する結果値を取得するために、1つ以上の所定のルールに基づいてプロパティ値を処理することと、少なくとも2つの一致する結果値のうちの最大の一致する結果値が、第1の閾値よりも大きいかどうかを決定することと、を含んでもよい。
【0011】
好ましくは、事前に確立されたデータベースから、本検索語に関する1つ以上の検索語候補を取得することは、データベースからある検索語候補を取得することを含んでもよい。加えて、一致する結果に基づいて、本検索語を書き換える必要があるかどうかを決定することは、一致する結果に基づいて、ある検索語候補と本検索語とのプロパティに値を割り当てることと、ある検索語候補に相当するある一致する結果値を取得するために、1つ以上の所定のルールに基づいてプロパティ値を処理することと、一致する結果値が、第1の閾値よりも大きいかどうかを決定することとを含んでもよい。
【0012】
好ましくは、1つ以上の所定のルールに基づいてプロパティ値を処理することは、線形の重み付けアプローチに基づいてプロパティ値を処理すること、または最大のエントロピーモデルに基づいて、一致する結果値へプロパティ値を変換することを含んでもよい。
【0013】
好ましくは、データベースは、履歴的な検索語に相当する検索結果を含んでもよい。加えて、一致する結果に基づいて本検索語を書き換える必要があることを決定すると、方法は、さらに、一致する結果に相当する検索語候補が相当する検索結果を有するかどうかを決定することと、一致する結果に相当する検索語候補が相当する検索結果を有することが決定される場合に、一致する結果に基づいて本検索語を書き換えることとを含んでもよい。
【0014】
好ましくは、データベースから、本検索語に関する検索語候補を取得することは、複数の子検索語を提供するために本検索語を分割することと、各子検索語についてそれぞれの識別子を確立することと、子検索語の検索語候補を取得するために、データベース内の各子検索語のそれぞれの識別子に基づいて、一致を実行することと、を含んでもよい。
【0015】
好ましくは、本検索語と検索語候補とのプロパティを読み出すことは、比較結果を提供するために、子検索語と子検索語の検索語候補を比較することと、比較結果に基づいて、子検索語と子検索語の検索語候補との一致する結果を取得することと、を含んでもよい。
【0016】
好ましくは、書き換えられた本検索語に基づいて、検索を実行した後で、方法はさらに、検索結果をユーザクライアントに対して表示させてもよい。
【0017】
別の態様において、検索装置は、データベースから、本検索語に関する1つ以上の検索語候補を取得する取得モジュールと、本検索語と1つ以上の検索語候補とのプロパティを読み出すプロパティ読み出しモジュールであって、プロパティは、本検索語と1つ以上の検索語候補とのそれぞれの一致する結果を記述する、プロパティ読み出しモジュールと、一致する結果に基づいて、本検索語を書き換える必要があるかどうかを決定する第1の決定モジュールと、一致する結果に基づいて、本検索語を書き換える書き換えモジュールと、書き換えられた本検索語を使用して検索を実行する検索モジュールと、を含む。
【0018】
好ましくは、取得モジュールがデータベースから少なくとも2つの検索語候補を取得するように構成される場合、第1の決定モジュールは、一致する結果に基づいてプロパティに値を割り当てる第1の値割り当てサブモジュールであって、各プロパティは、相当するプロパティ値を有する、第1の値割り当てサブモジュールと、少なくとも2つの検索語候補に相当する少なくとも2つの一致する結果値を取得するために、1つ以上の所定のルールに基づいてプロパティ値を処理する第1の処理サブモジュールと、少なくとも2つの一致する結果値のうちの最大の一致する結果値が、第1の閾値よりも大きいかどうかを決定する第1の決定サブモジュールと、を含んでもよい。
【0019】
好ましくは、取得モジュールがデータベースから検索語候補を取得するように構成される場合、第1の決定モジュールは、一致する結果に基づいて、検索語候補と本検索語とのプロパティに値を割り当てる第2の値割り当てサブモジュールと、検索語候補に相当する一致する結果値を取得するために、1つ以上の所定のルールに基づいてプロパティ値を処理する第2の処理サブモジュールと、一致する結果値が、第1の閾値よりも大きいかどうかを決定する第2の決定サブモジュールと、を含んでもよい。
【0020】
好ましくは、第1の処理サブモジュールまたは第2の処理サブモジュールは、線形の重み付けアプローチに基づいてプロパティ値を処理してもよい、または、最大のエントロピーモデルに基づいて、一致する結果値にプロパティ値を変換してもよい。
【0021】
好ましくは、データベースが履歴的な検索語の検索結果を含む場合、装置はさらに、一致する結果に相当する検索語候補が相当する検索結果を有するかどうかを決定する第2の決定モジュールと、一致する結果に相当する検索語候補が相当する検索結果を有することが決定される場合に、一致する結果に基づいて、本検索語を書き換える実行モジュールとを含んでもよい。
【0022】
好ましくは、取得モジュールは、本検索語を複数の子検索語に分割し、各子検索語についてそれぞれの識別子を確立するワード分割サブモジュールと、子検索語の識別子に基づいて、データベースから1つ以上の検索語候補を取得する一致するサブモジュールと、を含んでもよい。
【0023】
好ましくは、取得モジュールはさらに、比較結果を提供するために、子検索語と1つ以上の検索語候補を比較する比較サブモジュールと、比較結果に基づいて、子検索語と1つ以上の検索語候補との一致する結果を取得する一致する結果取得サブモジュールと、を含んでもよい。
【0024】
好ましくは、装置はさらに、検索結果をユーザクライアントに対して表示させる結果表示モジュールを含んでもよい。
【0025】
さらに別の態様において、検索システムは、データ書き換えシステムおよび検索エンジンを含む。データ書き換えシステムは、データベースから、本検索語に関する1つ以上の検索語候補を取得し、本検索語と1つ以上の検索語候補とのプロパティを読み出し、プロパティは、本検索語と1つ以上の検索語候補とのそれぞれの一致する結果を記述し、一致する結果に基づいて、本検索語を書き換える必要があるかどうかを決定し、書き換えられた本検索語を提供するために、一致する結果に基づいて本検索語を書き換えてもよい。検索エンジンは、書き換えられた本検索語に基づいて、検索を実行してもよい。
【0026】
既存の技術に対して、本開示は、後述するように、複数の利点を提供する。
【0027】
本開示に従い、一連の検索語候補は、検索エンジンのサーバエンド上の事前に確立されたデータベースによって一致されてもよい。検索語候補は、本検索語に関する履歴的な検索語である。サーバエンドにおいて、本検索語と検索語候補との一致する結果が取得される。検索語候補の中で、最適な検索語候補が見つかり、本検索語が書き換えられる。従って、サーバは、検索のキーワードとして書き換えられた本検索語を使用でき、これにより、既存の技術に従う場合の検索の前に本検索語を書き換える場合に、固定されたルールの使用を回避する。これにより、検索プロセスにおいてあいまいさを有する確率が低くなり、検索の正確性が増す。さらに、開示された方法、装置およびシステムはさらに、本検索語の検索結果の関連性および呼び出し率を向上できる。本開示を実装するいずれの製品も、必ずしも、上記の全ての利点を同時に実現しなくてもよい。
【発明を実施するための形態】
【0030】
本開示の例示的な実施形態における技術的なスキームが、例示的な実施形態において、添付の図を参照して、以下により明確および完全に記載されている。本明細書に記載される例示的な実施形態は、本開示の例示的な実施形態の一部を構成するにすぎず、全てを構成するものではない。本開示の例示的な実施形態に基づき、当業者は、革新的な努力を必要とせずに、いまだ本開示の範囲内である全ての他の例示的な実施形態を取得し得る。
【0031】
開示された方法、装置およびシステムは、普遍的なまたは特化したコンピュータシステムの環境または構成において使用してもよい。例は、パーソナルコンピュータ、サーバコンピュータ、ハンドヘルドデバイスまたはポータブルデバイス、タブレットデバイス、マルチプロセッサシステム、および上記のいずれかのシステムまたはデバイスを含む、分散されたコンピューティング環境を含む。
【0032】
本開示は、プログラムモジュール等のコンピュータによって実行されるコンピュータで実行可能な命令の一般的な文脈において記載されてもよい。概して、プログラムモジュールは、特定のタスクの実行または特定のアブストラクト・データ・タイプの実装のためのルーチン、プログラム、オブジェクト、モジュール、およびデータ構造等を含む。開示された方法およびサーバは、さらに、分散されたコンピューティング環境において実装されてもよい。分散されたコンピューティング環境において、タスクは、通信ネットワークを介して接続されるリモート処理デバイスによって実行される。分散されたコンピューティング環境において、プログラムモジュールは、ローカルおよびリモートコンピュータのストレージメディア(ストレージデバイスを含む)に配置されてもよい。
【0033】
一実施形態では、開示されたシステムは、構造的には事前に確立されたデータベース、検索ログ、データ書き換えシステム、検索エンジン、およびユーザクライアントを含んでもよい。本検索語と称される、ユーザによって入力された検索語を受信すると、検索エンジンは、本検索語をデータ書き換えシステムに伝送する。データ書き換えシステムは、本検索語に関する1つ以上の履歴的な検索語(つまり検索語候補)を取得するために、事前に確立されたデータベースにおいて本検索語と一致させ、本検索語および検索語候補のプロパティを読み出し(本検索語と検索語候補とのそれぞれの1つ以上の一致する結果を記述するためにプロパティが使用される場合)、本検索語の書き換えが必要であることを一致する結果が示すかどうかを決定する。一致する結果が示す場合には、本検索語が、一致する結果に従って書き換えられる。次に、検索エンジンは、書き換えられた検索語を使用して検索を実行する。事前に確立されたデータベースは、ユーザクライアントの履歴的な検索語を格納し、検索ログまたは他のアプローチの形態で実装されてもよい。書き換えられた検索語を使用して検索エンジンが検索を実行する場合、関連付けられた結果の正確性および呼び出し率は向上する。呼び出し率は、見つかった関連するドキュメント数とドキュメントレポジトリ内の全ての関連するドキュメント数との間の比率と称される。
【0034】
本開示の中心的な概念を真のエンティティに例示化する場合、そのエンティティは、取得モジュール、プロパティ読み出しモジュール、第1の決定モジュール、書き換えモジュール、および検索モジュールを使用して実装し得る。取得モジュールは、本検索語について、事前に確立されたデータベースから本検索語に関する1つ以上の検索語候補と一致させ、これを取得する。プロパティ読み出しモジュールは、本検索語と検索語候補とのプロパティを読み出し、ここで、プロパティは、本検索語と検索語候補とのそれぞれの一致する結果を記述する。第1の決定モジュールは、一致する結果を考慮して、本検索語を書き換える必要があるかどうかを決定する。書き換えモジュールは、一致する結果に基づいて本検索語を書き換える。検索モジュールは、書き換えられた検索語を使用して検索を実行する。そのエンティティに書き換えられた本検索語を使用して検索が実行される場合に、関連付けられた結果の正確性および呼び出し率を高め得る。
【0035】
図1は、本開示による第1の例示的な方法100のフローチャートを示す。方法100は、後述のようなアクションを含んでもよい。
【0036】
101において、本検索語について、データ書き換えシステムは、事前に確立されたデータベースから、本検索語に関する1つ以上の検索語候補と一致させ、これを取得する。
【0037】
データベースは、ユーザクライアントの履歴的な検索語を格納する。1つ以上の検索語候補は、本検索語に関する履歴的な検索語である。事前に確立されたデータベースは、検索エンジンの検索ログの形態で実装されてもよい。検索ログは、検索エンジンによって収集されたユーザクライアントの検索語および検索結果のログ情報、つまりユーザクライアントの履歴的な検索語を参照する。データベースはさらに、検索結果のクリック率および暴露率(exposure rate)等の詳細な情報を記録してもよい。代替的に、検索ログのデータコンテンツは、新しいデータベースを再確立するために使用してもよい。本実施形態では、データ書き換えシステムは、少なくとも2つの検索語候補を取得する。さらに、一致している各検索語候補のコンテンツおよび本検索語のコンテンツは、共通する少なくとも1つのフレーズまたはワードを含む。
【0038】
102において、データ書き換えシステムは、本検索語および少なくとも2つの検索語候補のプロパティを読み出し、ここで、プロパティは、本検索語および少なくとも2つの検索語候補のそれぞれの、おのおの一致する結果を記述する。
【0039】
少なくとも2つの検索語候補を取得すると、データ書き換えシステムは、本検索語および検索語候補のそれぞれのプロパティを読み出すために、少なくとも2つの検索語候補のそれぞれに、本検索語を一致させる。プロパティは、例えば、本検索語といずれかのある検索語候補との間の「ブランドに関連付けられた一致の数」と称されてもよい。一例に、「Nokia」に関連付けられた一致の数、つまり、ブランド「Nokia」が本検索語および検索語候補において現れるかどうかがある。そうである場合には、それぞれのプロパティ値は、以降の値割り当ての間に、1となるように割り当てられる。そうでない場合には、それぞれのプロパティ値は、0となるように割り当てられる。他の例として、「携帯電話」等に関連付けられた一致の数等の「製品に関連付けられた一致の数」を含む。従って、一致する結果のこれらの2つの記載されたフレーズが、プロパティのコンテンツである。
【0040】
103において、データ書き換えシステムは、一致する結果に基づいて、プロパティに値を割り当て、各プロパティは相当するプロパティ値を有する。
【0041】
一致する結果に基づいて、値をプロパティに割り当てる。例えば、本検索語および検索語候補内に1の値を有するプロパティ「ブランドに関連付けられた一致の数」は、一定のブランド名は、本検索語と検索語候補の両方に含まれ、一度現れることを意味する。従って、このプロパティのプロパティ値は、1である。値割り当てにおいて、各プロパティは、相当するプロパティ値を有する。
【0042】
104において、データ書き換えシステムは、少なくとも2つの検索語候補に相当する少なくとも2つの一致する結果値を取得するために、1つ以上の所定のルールに基づいて、全てのプロパティ値を処理する。
【0043】
所定のルールは、一定の線形の重み付けを満たすルールを含んでもよい、または、最大エントロピーモデルを使用して実装する、つまり、最大エントロピーモデルのような確率モデルを使用して、プロパティ値を一致する結果値に変換してもよい。実用的なニーズに従って、事前に所定のルールを指定してもよい。データ書き換えシステムは、所定のルールに従って、プロパティ値を処理する。特に、各検索語候補に関連付けられたプロパティ値は、各検索語候補について一致する結果値を取得するために計算される。実際に、一致する結果値は、いずれかの任意の値、例えば0.8または0.6等の小数点数、または2または5等の整数にしてもよい。本開示において、最大エントロピーモデルを使用して、より最適な結果を取得してもよい。
【0044】
105において、データ書き換えシステムは、少なくとも2つの一致する結果値の最大の一致する結果値が、一定の閾値よりも大きいかどうかを決定する。結果値が大きい場合には、プロセスは、106へと継続する。結果値が大きくない場合には、処理はこれ以上行われない。
【0045】
データ書き換えシステムは、本検索語の書き換えが必要であるかどうかを決定する。データ書き換えシステムのために、一定の閾値が事前に設定されてもよい。次に、データ書き換えシステムは、一致する結果値の最大の一致する結果値がその閾値よりも大きいかどうかを決定する。閾値よりも大きい場合には、一致する結果値に相当する検索語候補は、本検索語よりも最適であり、ここで、「本検索語より最適」は、検索語候補が本検索語との比較的高い一致度を有し、より少ない不要なワードを有すると解釈されてもよい。例えば、閾値を0.9にする。閾値が0.9である場合、特定の検索語候補と本検索語との一致する結果値が最大であり、0.9よりも大きい場合に、本検索語を書き換える必要がある。具体的には、特定の検索語候補が書き換えられた本検索語になるように、本検索語が書き換えられる。閾値は、一致する結果値に応答して、動的に設定されてもよい。
【0046】
106において、一致する結果値に基づき、データ書き換えシステムは、検索語候補が書き換えられた本検索語になるように、本検索語を書き換える。次に、検索エンジンは、書き換えられた本検索語を使用して検索を実行する。
【0047】
これにより、ユーザクライアントの元の本検索語が検索語候補に書き換えられ、ここで、検索語候補の一致する結果値は最大であり、閾値よりも大きい。その後、検索エンジンは、書き換えられた本検索語を使用して検索を実行する。
【0048】
検索語のルールに基づく書き換え後に検索を実行する既存の方法に対して、本実施形態の技術スキームは、手動で確立されたルールや固定されたルールを使用せず、むしろ検索エンジンの検索ログを使用して、事前に確立されたデータベースを直接作成する。代替的に、または付加的に、ユーザは、自身でそのデータベースのコンテンツを設定および更新してもよい。このため、種々の検索語は、それと一致するそれぞれの検索語候補を使用して書き換えてもよい。固定されたルールだけに依存するのではない、書き換えられた検索語による検索は、開示された検索方法がより高い正確性を取得することを可能にし、ルール使用の結果としてのあいまいさの生成を回避するだけでなく、関連付けられた検索結果の呼び出し率を向上させる。
【0049】
図2は、本開示による第2の例示的な検索方法200のフローチャートを示す。方法は、後述のように一定のアクションを含んでもよい。
【0050】
201において、本検索語について、データ書き換えシステムは、事前に確立されたデータベースから本検索語に関するある検索語候補と一致させ、これを取得する。
【0051】
本実施形態では、データ書き換えシステムは、事前に確立されたデータベースから本検索語に関する1つのみの検索語候補と一致させ、これを取得する。データ書き換えシステムは、同時に、その検索語候補に相当する検索結果を取得してもよく、検索結果は、例えばウェブページ識別等の情報を含む。
【0052】
202において、データ書き換えシステムは、本検索語と検索語候補とのプロパティを読み出し、プロパティは、本検索語と検索語候補との一致する結果を記述する。
【0053】
本検索語と検索語候補とのプロパティを読み出す場合、データ書き換えシステムは、本検索語とある検索語候補とのプロパティ、例えばブランドに関連付けられた一致の数、製品に関連付けられた一致の数等、を取得するために、そのある検索語候補と本検索語を一致させてもよい。
【0054】
203において、データ書き換えシステムは、一致する結果に基づいて、本検索語と検索語候補とのプロパティに値を割り当てる。
【0055】
データ書き換えシステムは、一致する結果に基づいてプロパティに値を割り当てる。例えば、本検索語と検索語候補において製品に関連付けられた一致数は1にしてもよい。具体的には、特定の製品名、例えば「携帯電話」は、本検索語および検索語候補の両方において含まれてもよく、また、一度現れてもよい。従って、相当するプロパティのプロパティ値は、1である。値割り当ての際に、本検索語と検索語候補との各プロパティは、相当するプロパティ値を有する。検索語候補を本検索語と一致させる際に、一まとまりの全てのプロパティ値が取得される。
【0056】
204において、データ書き換えシステムは、検索語候補に相当する一致する結果値を取得するために、所定のルールに従って、プロパティ値を処理する。
【0057】
データ書き換えシステムは、線形の重み付けを使用して、一まとまりのプロパティ値を処理してもよい。代替的に、最大エントロピーモデル、隠しマルコフモデル、最大エントロピー・マルコフ・モデル、または条件付き確率場モデル等の確率モデルを使用してもよい。
【0058】
データ書き換えシステムは、線形の重み付けアプローチを使用してプロパティ値を処理する、または、例えば、最大エントロピーモデルを使用して、一致する結果値にプロパティ値を変換する。
【0059】
205において、データ書き換えシステムは、一致する結果値が、一定の閾値よりも大きいかどうかを決定する。閾値よりも大きくない場合には、さらなる処理は実行されない。閾値よりも大きい場合には、プロセスは、206へと継続される。
【0060】
一致する結果値が、一定の閾値よりも大きい場合、一致する結果値に相当する検索語候補は、本検索語よりも最適である。
【0061】
206において、データ書き換えシステムは、検索語候補に相当する検索結果がデータベースに存在するかどうかを決定する。データベースに存在しない場合には、さらなる処理は実行されない。データベースに存在する場合には、プロセスは、207へと継続される。
【0062】
例示的な実施形態では、データ書き換えシステムは、一致する結果値に相当する検索語候補がデータベース内の相当する検索結果を有するかどうかを決定してもよい。検索結果が見つかる場合、関連する結果は、この検索語候補について読み出され得る。従って、呼び出し比率は、サーバがその検索語候補を使用して検索を実行する場合に、向上する。
【0063】
207において、データ書き換えシステムは、検索において検索エンジンによって後に使用される、検索語候補へ本検索語を書き換える。
【0064】
206における決定が肯定的である場合、このある検索語候補によって、検索エンジンが関連する結果を読み出すことを可能にし得ることを示す。従って、以降の検索の際に、関連する検索結果をユーザに表示してもよい。これを考慮すると、本検索語が検索語候補に書き換えられ、書き換えられた本検索語である、検索語候補に基づいて検索が実行される。
【0065】
本実施形態では、検索エンジンのサーバ内の事前に確立されたデータベースから、1つのみの検索語候補が取得され、一致される。従って、方法を適用する場合、本検索語とこの特定の検索語候補とのプロパティが読み出され、これらの間の一致する結果値が計算される。一致する結果値が、所定の閾値よりも大きいかどうかによって検索語候補が本検索語より最適であるかどうかが決定される。さらに、検索語候補について相当する検索結果が存在するかどうかも決定される。検索結果が存在する場合には、検索エンジンのサーバは、デフォルトで、検索語候補を使用して検索を実行する。さらに、検索語候補の検索結果に関する決定を行うことにより、この方法は、検索語のルールに基づく書き換え後に検索を実行する既存の方法に対して高い正確性を有するだけでなく、関連付けられた検索結果の呼び出し比率も向上させる。
【0066】
図3は、本開示による、第3の例示的な検索方法300のフローチャートを示す。本実施形態は、実際に例示的な検索方法として考慮されてもよい。方法300は、後述のように一定のアクションを含んでもよい。
【0067】
301において、データ書き換えシステムは、ユーザクライアントの本検索語を複数の子検索語に分割し、各子検索語について、それぞれの識別子を設定する。
【0068】
本アクションにおいて、データ書き換えシステムは、本検索語を複数の子検索語に分割するためにワード分割器を使用し、次に、こうして取得される各子検索語について、それぞれの識別子を設定する。例えば、本検索語を「赤のNokia n95携帯電話」にしてもよい。ワード分割および識別子設定の際に、取得され得るものは、赤い(修飾子)/Nokia(ブランド)/n95(モデル番号)/携帯(製品タイプ)」であってもよく、ここで、例えば、「赤」は子検索語であり、「修飾子」は、その子検索語のそれぞれの識別子である。
【0069】
302において、データ書き換えシステムは、2つの検索語候補を取得するために、子検索語の識別子に基づいて、事前に確立されたデータベースの一致を実行する。事前に確立されたデータベースは、ユーザクライアントの履歴的な検索語を格納するために使用される。検索語候補は、本検索語に関する履歴的な検索語である。
【0070】
データ書き換えシステムは、子検索語の識別子に基づいて事前に確立されたデータベース内の一致を実行し、例えば、履歴的な検索語、「Nokia n95携帯電話」および「赤のNokia携帯電話」から検索語候補を取得する。
【0071】
具体的には、データベース内に「赤のNokia n95」を格納する例示的な方法は、以下に示すものと類似していてもよい。
修飾子 ブランド モデル番号 製品タイプ …
赤 Nokia N95 携帯電話
【0072】
データベースに検索語候補を格納する方法は、例示的な本実施形態の実施例に影響しない。代替の格納方法を、検索語候補を格納するために使用してもよい。
【0073】
303において、データ書き換えシステムは、比較結果を提供するために、本検索語の子検索語を検索語候補と比較する。
【0074】
本実施形態では、子検索語と検索語候補との比較は、「赤の」、「Nokia」および「携帯電話」等を、例えば「Nokia n95携帯電話」および「赤のNokia携帯電話」と個別に比較することを指していてもよい。
【0075】
304において、比較結果に基づいて、データ書き換えシステムは、子検索語と2つの検索語候補との間のそれぞれの一致する結果を別々に取得する。
【0076】
比較結果に基づいて、「修飾子に関連付けられた一致の数」、「ブランドに関連付けられた一致の数」、「モデル番号に関連付けられた一致の数」、および「製品タイプに関連付けられた一致の数」等の本検索語のプロパティ「赤のNokia n95携帯電話」および「Nokia n95携帯電話」が取得されてもよい。これらのプロパティは、本検索語と2つの検索語候補との間の一致する結果を表してもよい。
【0077】
305において、データ書き換えシステムは、一致する結果に基づいてプロパティに値を割り当て、各プロパティは相当するプロパティ値を有する。
【0078】
本実施形態では、検索語候補のプロパティ「Nokia n95携帯電話」は、修飾子に関連付けられた一致の数、ブランドに関連付けられた一致の数、モデル番号に関連付けられた一致の数、および製品タイプに関連付けられた一致の数を含み、プロパティ値は、それぞれ、1、2、1および1になる、本検索語とこの検索語候補が一致した後に取得される。各検索語候補について、各プロパティは、相当するプロパティ値を有する。
【0079】
306において、データ書き換えシステムは、2つの検索語候補に相当する2つの一致する結果値を取得するために、1つ以上の所定のルールに基づいて、プロパティ値を処理する。
【0080】
所定のルールは、簡単な線形のモデルに従って計算すること、つまり全てのプロパティ値の重み付けを行うことで、一致する結果値を計算することを指してもよい。代替的に、最大エントロピーモデル等の比較的複雑な確率モデルを使用してもよい。このアクションにおいて取得される結果は、2つの検索語候補のそれぞれの一致する結果値を表す。例えば、最大エントロピーモデルに従って計算される「Nokia n95携帯電話」の一致する結果値は、0.95であってもよく、一方で、第2の検索語候補「赤のNokia携帯電話」の一致する結果値は、0.8であってもよい。
【0081】
307において、データ書き換えシステムは、より大きい一致する結果値が一定の閾値よりも大きいかどうかを決定する。一定の閾値よりも大きくない場合には、さらなる処理は実行されない。一定の閾値よりも大きい場合には、プロセスは308に進む。
【0082】
データ書き換えシステムは、この例示的な実施形態において、例えば0.9に閾値を事前に設定してもよい。一致する結果値がこの閾値よりも大きい場合、相当する検索語候補は最適な検索語候補である。
【0083】
なお、実際の応用において、さらに最小の閾値を設定してもよいことに注意されたい。具体的には、全ての一致する結果値がこの最小の閾値よりも小さい場合、本検索語は書き換えられない。さらに、全ての一致する結果値が一定の最大の閾値よりも小さい場合、本検索語は書き換えられない。
【0084】
308において、データ書き換えシステムは、本検索語を検索語候補に書き換える。
【0085】
以前の決定結果に基づいて、第1の検索語候補は、本検索語よりも最適である。この例示的な実施形態において、本検索語「赤のNokia n95携帯電話」は、「Nokia n95携帯電話」に書き換えられる。
【0086】
309において、検索エンジンは、書き換えられた本検索語を使用して検索を実行し、検索結果をユーザクライアントに対して表示させる。
【0087】
検索エンジンのサーバは、書き換えられた検索語、つまり第1の検索語候補「Nokia n95携帯電話」を用いて検索を直接実行してもよく、見つかる結果をユーザクライアントに対して表示させる。
【0088】
本検索語と検索語候補とのプロパティが読み出される場合、または値がプロパティに割り当てられる場合に、特定の値が本実施形態に示されるが、本実施形態は、実際に1つ以上の一定の値に制限される必要はない。当業者は、プロパティに値を割り当てる、またはプロパティ値に基づいて一致する結果値を計算するためのいずれかの方法を使用してもよい。本開示は、いずれの特定の方法にも制限されない。例えば、実際の状況と十分に一致した、一致する結果値を計算することができる、単に線形の重み付けまたは最大エントロピーモデルを使用する等のいずれかの方法は、本開示の範囲内において含まれている。
【0089】
説明の便宜上、一連のアクションに関し、上記の種々の例示的な方法が記載される。しかしながら、当業者は、本開示はアクションが実行される順序に制限されないことを理解されたい。本開示に従い、一定のアクションは、代替の順序で実行されてもよい、または同時に実行されてもよい。さらに、当業者は、この開示に記載される例示的な実施形態が好適な実施形態であることを理解されたい。本明細書に含まれるアクションまたはモジュールは、本開示によって必ず必要な場合がある、または必ずしも必要ではない場合がある。
【0090】
本開示に記載される第1の例示的な方法に対応して、本開示は、さらに、
図4に示される第1の例示的な検索装置400を提供する。この例示的な実施形態において、装置400は、取得モジュール401、プロパティ読み出しモジュール402、第1の値割り当てサブモジュール403、第1の処理サブモジュール404、第1の決定サブモジュール405、書き換えモジュール406、および検索モジュールを含んでもよい。
【0091】
本検索語について、取得モジュール401は、事前に確立されたデータベースから、本検索語に関する少なくとも2つの検索語候補と一致させ、これを取得する。
【0092】
検索エンジンのサーバエンドは、ユーザクライアントの履歴的な検索語を格納するために使用される、事前に確立されたデータベースを事前に設定してもよい。データベース内の履歴的な検索語は、検索ログを介して取得されてもよい。検索ログは、ユーザクライアントの検索語および検索結果を収集するために検索エンジンが使用するログ情報と称されてもよい。データベースはさらに、例えば、検索結果のクリック率および暴露比率等の詳細な情報を記録してもよい。
【0093】
プロパティ読み出しモジュール402は、本検索語と検索語候補とのプロパティを読み出し、ここで、プロパティは、本検索語と検索語候補とのそれぞれの一致する結果を記述する。
【0094】
プロパティ読み出しモジュール402は、本検索語と各検索語候補とのプロパティを取得するために、少なくとも2つの検索語候補を取得する際に、本検索語を、少なくとも2つの検索語候補と一致させる。プロパティは、例えば、本検索語および検索語候補内の、ブランドに関連付けられた一致の数および製品に関連付けられた一致の数にしてもよい。
【0095】
第1の値割り当てサブモジュール403は、一致する結果に基づいて値をプロパティに割り当て、各プロパティは相当するプロパティ値を有する。
【0096】
第1の値割り当てサブモジュール403は、一致する結果に基づいて値をプロパティに割り当てる。例えば、本検索語および検索語候補のうちの1つにおいて、ブランドに関連付けられた一致の数は1であり、これは、本検索語およびその検索語候補において一定のブランド名が含まれてもよい、および一度現れることを示す。従って、そのプロパティのプロパティ値は1である。値の割り当て後、各プロパティは相当するプロパティ値を有する。
【0097】
第1の処理サブモジュール404は、少なくとも2つの検索語候補に相当する少なくとも2つの一致する結果の値を取得するために、1つ以上の所定のルールに基づいてプロパティ値を処理する。
【0098】
第1の処理サブモジュール404は、例えば、最大エントロピーモデル等の一定の線形の重み付けルールまたは確率モデルにしてもよい、1つ以上の所定のルールに基づいて、プロパティ値を一致する結果値に変換する。所定のルールは、実際のニーズに従って、事前に指定してもよい。
【0099】
具体的には、第1の処理サブモジュール404は、線形の重み付けアプローチを使用してプロパティ値を処理してもよい、または最大エントロピーモデルを使用して、プロパティ値を一致する結果値へ変換してもよい。
【0100】
第1の決定サブモジュール405は、少なくとも2つの一致する結果値の最大の一致する結果値が、一定の閾値よりも大きいかどうかを決定する。
【0101】
第1の決定サブモジュール405によって決定される結果が肯定的である場合、その一致する結果値に相当する検索語候補は、本検索語よりも最適である。
【0102】
書き換えモジュール406は、一致する結果に基づいて本検索語を書き換える。
【0103】
検索モジュール407は、書き換えられた本検索語に基づいて検索を実行する。
【0104】
例示的な装置は、検索エンジンのサーバに統合されてもよい、または検索エンジンのサーバと通信可能に結合される個別のエンティティにしてもよい。さらに、開示された方法がソフトウェアの形態で実装される場合、方法は、検索エンジンのサーバの新しい機能として、または個別のプログラムとして、実行されてもよい。本開示は、開示された方法または装置を実装する方法についてのいずれの制限も課するものではない。
【0105】
本例示的な実施形態では、装置は、検索語を書き換え、手動で確立され、固定されたルールを使用せずに、書き換えられた検索語を使用して検索を実行する。事前に確立されたデータベースは、検索エンジンの検索ログを使用して、直接作成されてもよい。代替的に、または付加的に、ユーザは、データベースのコンテンツを設定、更新してもよい。これは、検索方法がより高い正確性を得ることを可能にし、ルール使用の結果としてのあいまいさが生じることを回避するだけでなく、関連付けられた検索結果の呼び出し比率を高める。
【0106】
この開示に記載される第2の例示的な方法に対応して、本開示はさらに、
図5に示されるように、第2の例示的な検索装置500を提供する。この例示的な実施形態において、装置500は、取得モジュール501、プロパティ読み出しモジュール502、第2の値割り当てサブモジュール503、第2の処理サブモジュール504、第2の決定サブモジュール505、第2の決定モジュール506、実行モジュール507、および検索モジュール508を含んでもよい。
【0107】
本検索語について、取得モジュール501は、事前に確立されたデータベースから、本検索語に関するある検索語候補と一致させ、これを取得する。
【0108】
この例示的な実施形態において、取得モジュール501は、事前に確立されたデータベースから1つの検索語候補のみを取得する。
【0109】
プロパティ読み出しモジュール502は、本検索語と検索語候補とのプロパティを読み出し、ここで、プロパティは、本検索語とある検索語候補との一致する結果を記述する。
【0110】
第2の値割り当てサブモジュール503は、一致する結果に基づいてある検索語候補と本検索語とのプロパティに値を割り当てる。
【0111】
第2の処理サブモジュール504は、ある検索語候補に相当する一致する結果値を取得するために、1つ以上の所定のルールに基づいてプロパティ値を処理する。
【0112】
第2の決定サブモジュール505は、一致する結果値が、一定の閾値よりも大きいかどうかを決定する。
【0113】
第2の決定モジュール506は、検索語候補に相当する検索結果がデータベースに存在するかどうかを決定する。
【0114】
この例示的な実施形態において、第2の決定モジュール506は、一致する結果値の検索語候補に対応する検索結果がデータベースに存在するかどうかを決定してもよい。検索結果が見つかる場合、関連する結果は、この検索語候補を使用して見つけ得る。
【0115】
実行モジュール507は、第2の決定モジュールの結果が肯定的である場合に、本検索語を検索語候補へ書き換えるアクションを実行する。
【0116】
検索モジュール508は、実行モジュール507の結果を使用して検索を実行する。
【0117】
本例示的な実施形態では、第2の決定モジュール506は、検索語候補が関連する検索結果を有する場合に、検索結果を決定し、本検索語の書き換えを可能にする。これは、検索語のルールに基づく書き換え後の検索の既存の方法と比較してより高い正確性を有するだけでなく、関連付けられた検索結果の呼び出し比率を向上させる。
【0118】
この開示に記載される第3の例示的な方法に対応し、本開示はさらに、
図6に示される第3の例示的な検索装置600を提供する。この例示的な実施形態において、装置600は、ワード分割モジュール601、一致するサブモジュール602、比較サブモジュール603、一致する結果取得サブモジュール604、第1の決定モジュール605、書き換えモジュール606、検索モジュール607、および結果表示モジュール608を含んでもよい。
【0119】
ワード分割モジュール601は、本検索語を複数の子検索語に分割し、各子検索語についてそれぞれの識別子を設定する。
【0120】
実際に、ワード分割モジュール601は、ワード分割器によって実装されてもよい。
【0121】
一致するサブモジュール602は、検索語候補を取得するために、事前に確立されたデータベース内の子検索語の識別子と一致する。
【0122】
比較サブモジュール603は、本検索語の子検索語を検索語候補と比較する。
【0123】
一致する結果取得サブモジュール604は、比較結果に基づいて、子検索語と検索語候補との一致する結果を取得する。
【0124】
第1の決定モジュール605は、一致する結果が本検索語を書き換える必要があることを示すかどうかを決定する。
【0125】
書き換えモジュール606は、本検索語を検索語候補に書き換える。
【0126】
検索モジュール607は、書き換えモジュールの結果を使用して検索を実行する。
【0127】
結果表示モジュール608は、検索結果をユーザクライアントに表示させる。
【0128】
この例示的な実施形態において、検索語候補を一致させ、取得する際に、本検索語のワード分割を採用してもよい。種々の検索語候補は、子検索語に基づいて一致および取得されてもよい。従って、種々の検索語候補は、データベースにおいてより正確に一致および取得でき、これにより、本検索語の以降の書き換えおよび検索を促進する。このため、検索結果は、改善されるその呼び出し比率により、より正確である。
【0129】
上記の開示された例示的な方法および装置に相当して、本開示はさらに、
図7に示されるように例示的な検索システム700を提供する。この例示的な実施形態において、システム700は、サーバエンドにおいて、データベース701、取得モジュール702、プロパティ読み出しモジュール703、第1の決定モジュール704、書き換えモジュール705、および検索モジュール706を含んでもよい。
【0130】
データベース701は、ユーザクライアントの履歴的な検索語を格納する。
【0131】
この事前に確立されたデータベースが個別のエンティティとして作用する場合に、サーバと通信可能に結合する必要があるか、サーバに統合されて、ユニットまたはサーバのモジュールとして作用してもよい。
【0132】
本検索語について、取得モジュール702は、所定のデータベースから、本検索語に関する検索語候補と一致させ、これを取得する。
【0133】
プロパティ読み出しモジュール703は、本検索語と検索語候補とのプロパティを読み出し、ここで、プロパティは、本検索語と検索語候補との一致する結果を記述する。
【0134】
第1の決定モジュール704は、一致する結果に基づいて本検索語を書き換える必要があるかどうかを決定する。
【0135】
書き換えモジュール705は、一致する結果に基づいて本検索語を書き換える。
【0136】
検索モジュール706は、書き換えモジュール705の結果を使用して、検索を実行する。
【0137】
好ましくは、システムはさらに、検索ログ(図示せず)を含んでもよい。検索ログは、事前に確立されたデータベースに通信可能に結合され、ユーザクライアントの履歴的な検索語を提供するか、サーバ等へ検索結果を提供する。
【0138】
さらに、
図8は、実際の応用において、検索システム700の種々のコンポーネントの構造についての参照を提供する。
【0139】
なお、システムはさらに、ユーザ・クライアント・エンドにおいて、ユーザから本検索語を受信し、サーバへ本検索語を送信するブラウザ707を含んでもよいことに注意されたい。
【0140】
例示的な本実施形態は、ユーザクライアントがサーバと相互作用する場合に、ユーザクライアントおよびサーバエンドの種々のデバイスの間の作業の相互作用のシナリオを記述する。ブラウザは、まず、検索のためにユーザによって入力された検索語を受信し、本検索語をサーバへ送信する。
【0141】
なお、種々の例示的な実施形態は、本開示に段階的に記載されていることに注意されたい。各例示的な実施形態は、他の例示的な実施形態とは異なる焦点を有する。例示的な実施形態の同じまたは同様の部分は相互に参照され得る。特に、例示的な装置は、例示的な方法とそれぞれ基本的に対応しているため、比較的簡単に記載されている。その詳細は、それぞれの例示的な方法の関連する部分に参照され得る。
【0142】
なお、さらに「を含む(include)」、「を有する(have)」またはいずれかの他の変形物等の用語は、非排他的な「を含む(comprising)」を意味することに注意されたい。従って、個別に一まとまりの特徴を含むプロセス、方法、物品またはデバイスは、これらの特徴を含むだけでなく、リストされていない他の特徴、またはこれらのプロセス、方法、物品またはデバイスのいずれかの生来の特徴を含んでもよい。さらなる制限なく、フレーズ「・・・を含む」内に定義される特徴は、その特徴を述べるプロセス、方法、物品またはデバイスが、他の同等の特徴を有してもよい確率を排除しない。
【0143】
最後に、なお、このドキュメント内の「第1の」および「第2の」等のいずれかの関連する用語は、あるエンティティと別のエンティティ、またはある動作と別の動作を区別するためのものにすぎず、これらのエンティティまたは動作の間の実世界の関係または順序の存在を必ずしもリクエストまたは示唆するものではないことに注意されたい。さらに、「を含む(include)」、「を有する(have)」またはいずれかの他の変形物等の用語は、非排他的な「を含む(comprising)」を意味することが意図される。従って、一まとまりの特徴を個別に含む、プロセス、方法、物品またはデバイスは、これらの特徴を含むだけでなく、リストされていない他の特徴、またはこれらのプロセス、方法、物品またはデバイスのいずれかの生来の特徴も含んでもよい。さらなる制限なく、フレーズ「・・・を含む」内で定義される特徴は、その特徴を挙げるプロセス、方法、物品またはデバイスが、他の同等の特徴を有してもよい確率を除外しない。
【0144】
本開示によって提供される検索方法、検索装置および検索システムを、上記に詳細に記載した。上記の例示的な実施形態は、本開示の概念および実施例を示すように用いられる。例示的な実施形態は、方法および本開示のそれぞれの中心的な概念の理解を促進するために提供される。この開示の概念に基づき、当業者は、実際の実施例および応用範囲を修正してもよい。つまり、本開示の内容は、この開示を制限するものとして解釈されるものではない。