(57)【特許請求の範囲】
【請求項１】
プロセッサによって実行される、ランク付けされた検索結果を生成する方法であって、
検索要求に適合する複数の適合情報アイテムを受け取ることと、
ランク付けされた結果の第１のセットを得るため、第１の複数の特徴量を線形結合する線形ランキングモデルを用いて、前記複数の適合情報アイテムのうち少なくとも一部のアイテムをランク付けすることと、前記線形ランキングモデルは、前記第１の複数の特徴量に対応する重み係数を用いて、前記第１の複数の特徴量を線形的に結合することと、
ランク付けされた結果の第２のセットを得るため、第２の複数の特徴量を非線形的に結合する非線形ランキングモデルを用いて、前記ランク付けされた結果の第１のセットの少なくとも一部をランク付けすることと、前記非線形ランキングモデルは、前記第２の複数の特徴量に対応する重み係数を用いて、前記第２の複数の特徴量を非線形的に結合することと、
前記ランク付けされた結果の第２のセットに基づいて、検索応答を提供することと、を含む方法。
【請求項２】
前記ランク付けされた結果の第１のセットは、前記ランク付けされた結果の第２のセットよりも多数の適合情報アイテムを含んでいる、請求項１に記載の方法。
【請求項３】
前記複数の適合情報アイテムは、第２の複数の適合情報アイテムであり、プロセッサによって実行される前記方法は、さらに、
前記検索要求を受け取ることと、
第１の複数の適合情報アイテムを生成することと、
前記第１の複数の適合情報アイテムを前処理することと、
前記第１の複数の適合情報アイテムから、前記第２の複数の適合情報アイテムを選択することと、を含む、請求項１に記載の方法。
【請求項４】
前記第１の複数の適合情報アイテムは、前記第２の複数の適合情報アイテムよりも多数の適合情報アイテムを含んでいる、請求項３に記載の方法。
【請求項５】
前記線形ランキングモデルは第１のランキング・スコアを出力し、前記非線形ランキングモデルは第２のランキング・スコアを出力する、請求項１に記載の方法。
【請求項６】
前記線形ランキングモデルにより用いられる前記第１の複数の特徴量の少なくとも一部は、前記非線形ランキングモデルにより用いられる前記第２の複数の特徴量の少なくとも一部と同じものである、請求項１に記載の方法。
【請求項７】
前記第１の複数の特徴量は、前記適合情報、前記検索要求、またはその両方によって決定される、請求項１に記載の方法。
【請求項８】
前記非線形ランキングモデルは、学習により決定される、請求項１に記載の方法。
【請求項９】
ランク付けされた検索結果を生成するためのシステムであって、
１つまたは複数のプロセッサであって、
検索要求に適合する複数の適合情報アイテムを受け取り、
ランク付けされた結果の第１のセットを得るため、第１の複数の特徴量を線形結合する線形ランキングモデルを用いて、前記複数の適合情報アイテムのうち少なくとも一部のアイテムをランク付けし、前記線形ランキングモデルは、前記第１の複数の特徴量に対応する重み係数を用いて、前記第１の複数の特徴量を線形的に結合し、
ランク付けされた結果の第２のセットを得るため、第２の複数の特徴量を非線形的に結合する非線形ランキングモデルを用いて、前記ランク付けされた結果の第１のセットの少なくとも一部をランク付けし、前記非線形ランキングモデルは、前記第２の複数の特徴量に対応する重み係数を用いて、前記第２の複数の特徴量を非線形的に結合することと、
前記ランク付けされた結果の第２のセットに少なくとも部分的に基づいて検索応答を提供する、ように構成された１つまたは複数のプロセッサと、
前記１つまたは複数のプロセッサに結合され、プロセッサに命令を供給するように構成された１つまたは複数のメモリと、を備える、システム。
【請求項１０】
前記ランク付けされた結果の第１のセットは、前記ランク付けされた結果の第２のセットよりも多数の適合情報アイテムを含んでいる、請求項９に記載のシステム。
【請求項１１】
前記複数の適合情報アイテムは、第２の複数の適合情報アイテムであり、前記１つまたは複数のプロセッサは、さらに、
前記検索要求を受け取り、
第１の複数の適合情報アイテムを生成し、
前記第１の複数の適合情報アイテムを前処理し、
前記第１の複数の適合情報アイテムから、前記第２の複数の適合情報アイテムを選択する、ように構成されている、請求項９に記載のシステム。
【請求項１２】
前記第１の複数の適合情報アイテムは、前記第２の複数の適合情報アイテムよりも多数の適合情報アイテムを含んでいる、請求項１１に記載のシステム。
【請求項１３】
前記線形ランキングモデルは第１のランキング・スコアを出力し、前記非線形ランキングモデルは第２のランキング・スコアを出力する、請求項９に記載のシステム。
【請求項１４】
前記線形ランキングモデルにより用いられる前記第１の複数の特徴量の少なくとも一部は、前記非線形ランキングモデルにより用いられる前記第２の複数の特徴量の少なくとも一部と同じものである、請求項９に記載のシステム。
【請求項１５】
前記第１の複数の特徴量は、前記適合情報、前記検索要求、またはその両方によって決定される、請求項９に記載のシステム。
【請求項１６】
前記非線形ランキングモデルは、学習により決定される、請求項９に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
［他の出願の相互参照］
本出願は、全ての目的のために参照により本明細書に組み込まれる、発明の名称を“ＳＥＡＲＣＨ ＲＥＳＵＬＴ ＧＥＮＥＲＡＴＩＮＧ ＭＥＴＨＯＤ ＡＮＤ ＩＮＦＯＲＭＡＴＩＯＮ ＳＥＡＲＣＨ ＳＹＳＴＥＭ（検索結果生成方法および情報検索システム）”とする、２００９年６月１９日に出願された中華人民共和国特許出願番号２００９１０１４６３３１．５の優先権を主張する。
【０００２】
本出願は、コンピュータ・アプリケーションの分野に関し、特に、検索結果の生成に関する。
【背景技術】
【０００３】
情報検索システムは、ユーザに情報検索サービスを提供することが可能なシステムである。インターネット上で広く利用されている検索エンジンを例にとると、インターネットの分野に適用される検索システムとしての検索エンジンは、ウェブにアクセスするユーザにとって不可欠な支援ツールとなっている。ユーザの視点からすると、検索エンジンは一般的に検索ボックスを含むウェブページを提供し、ユーザは、その検索ボックスにキーワードやその他の検索条件を入力する。キーワードはブラウザを介して検索エンジンに送信され、これに対して、検索エンジンは、ユーザにより入力されたキーワードの内容に適合する情報を返す。
【０００４】
ユーザの同一の検索要求（例えば、情報を検索しているユーザにより入力される検索キーワード）に応えて、検索エンジンは、一般的に、その要求に適合する情報アイテムを検索し、その数は数十から何万件にもなることがある。しかし、ユーザの視点からすると、通常、ユーザの注意は、検索結果の中で上位にランクされた情報に集中する。したがって、特に重要である検索情報をどのようにランク付けするのかということが、検索エンジンを利用するユーザの経験に直接影響を与える。
【図面の簡単な説明】
【０００５】
本発明の様々な実施形態は、以下の詳細な説明および添付の図面において開示される。
【０００６】
【図１】検索結果を生成するプロセスの一実施形態を示すフローチャートである。
【０００７】
【図２】検索結果を処理するプロセスの他の実施形態を示すフローチャートである。
【０００８】
【図３Ａ】前処理、第１のランキングプロセス、第２のランキングプロセスの関係および効果を示す図である。
【０００９】
【図３Ｂ】前処理、第１のランキングプロセス、第２のランキングプロセスの関係および効果を示す図である。
【００１０】
【図３Ｃ】前処理、第１のランキングプロセス、第２のランキングプロセスの関係および効果を示す図である。
【００１１】
【図４】ランク付けされた検索結果を生成するシステムの実施形態を示すブロック図である。
【００１２】
【図５】検索結果を生成するシステムの他の実施形態を示すブロック図である。
【発明を実施するための形態】
【００１３】
本発明は、数多くの方法で実施することが可能であり、それには、プロセス、装置、システム、組成物、コンピュータ読み取り可能な記憶媒体上で実現されるコンピュータプログラム・プロダクトとしての実施、および／または、プロセッサに結合されたメモリに記憶された命令および／またはそれにより提供される命令を実行するように構成されたプロセッサなど、プロセッサとしての実施が含まれる。本明細書では、このような実施の形態、あるいは本発明が取り得るその他の形態を、技術と呼ぶ場合がある。一般的に、開示されるプロセスのステップの順序は、発明の範囲内で変更することができる。特に明記しない限り、タスクを実行するように構成されたものとして記載されるプロセッサまたはメモリなどのコンポーネントは、所与の時間に一時的にそのタスクを実行するように構成された汎用コンポーネント、あるいはそのタスクを実行するように作製された専用コンポーネントとして実現することができる。本明細書において用いられる場合の「プロセッサ」という用語は、コンピュータプログラム命令などのデータを処理するように構成された１つまたは複数のデバイス、回路、および／または処理コアを指している。
【００１４】
本発明の１つまたは複数の実施形態についての詳細な説明が、以下で、発明の原理を示す添付図面と共に提供される。本発明は、それらの実施形態に関連させて説明されるが、本発明は、いずれの実施形態にも限定されるものではない。本発明の範囲は、請求項によってのみ限定されるものであり、本発明は、多くの代替案、変形、および均等物を包含している。発明についての完全な理解を与えるため、様々な具体的詳細が以下の説明において記載される。これらの詳細は、例示目的で提供されるものであり、本発明は、これら特定の詳細の一部または全部を省いて、請求項に基づき実施することができる。明確にする目的で、発明が不必要に不明瞭になることがないよう、本発明に関連する技術分野で知られている技術的事項については詳細に記載していない。
【００１５】
ランク付けされた検索結果の生成について説明する。一部の実施形態において、検索要求に適合するデータベース内の情報アイテム（例えば、ドキュメント、オブジェクトなど）は、それらの情報アイテムに関連付けられた特徴量を線形結合する線形モデルを用いてランク付けされ、これにより、ランク付けされた結果の第１のセットが得られる。ランク付けされた結果の第１のセットの少なくとも一部は、特徴量を非線形的に結合する非線形モデルを用いて再度ランク付けされ、これにより、ランク付けされた結果の第２のセットが得られる。ランク付けされた結果の第２のセットに基づく検索結果が、ユーザに提供され表示される。一部の実施形態では、オプションとして、情報アイテムは、線形モデルが適用される前に前処理される。
【００１６】
図１は、検索結果を生成するプロセスの一実施形態を示すフローチャートである。プロセス１００は、図４の４００のようなシステム上で実行することができる。
【００１７】
ステップ１０１において、検索要求に適合（マッチ）する情報アイテムが検索される（引き出される）。情報アイテムは、データベース内のドキュメント、オブジェクト、あるいは他の適当なアイテムとすることができる。例えば、インターネットベースの検索エンジン環境では、情報アイテムは、ウェブページに相当するものとすることができる。
【００１８】
ユーザは、一般的に、情報を検索するために１つまたは複数の検索条件を入力する。よく使用される検索条件は、検索キーワードである。検索エンジンによっては、さらに、情報が公開された日時、情報の属性など、個々の検索適用要件に応じて、他のタイプの検索条件をサポートすることができる。一部の実施形態では、種々の検索条件が総称して検索要求と呼ばれる。検索エンジンは、検索要求を受け取ると、検索要求に適合する適合情報を検索する。様々に異なる検索適用要件に応じて、様々に異なる種類の情報を検索することができる。例えば、ウェブページ検索で検索される情報はウェブページに関するものであり、エレクトロニック・コマース検索で検索される情報は販売用製品に関するものであり、ドキュメント検索で検索される情報は定期発行物や文書などに関するものである。この例では、適合情報の多様なアイテムが検索される。
【００１９】
ステップ１０２において、線形ランキングモデルを用いて、適合情報アイテムの少なくとも一部のアイテムをランク付けして、ランク付けされた結果の第１のセットを得る。
【００２０】
この例では、線形ランキングモデルは、適合情報アイテムのスコア付けのために用いられ、これにより、情報アイテムはランク・スコアの降順にソートされる。
【００２１】
線形ランキングモデルは、適合情報の特徴に関連付けられた値（ｘi）を、重み係数（ａi）を用いて線形的に結合するモデルである。線形モデルは、定数あるいは一次項を含んでいる。一部の実施形態において、線形ランキングモデルは数学的に次のように表現される。
ｙ＝ｆ（ｘ1，ｘ2， ．．．，ｘn）＝ａ1ｘ1＋ａ2ｘ2＋ ．．．＋ａnｘn  （１）
【００２２】
上記の例のモデルでは、従属変数ｙはそれぞれの独立変数と直線関係にあり、モデルの入力パラメータｘ1，ｘ2， ．．．，ｘnは、適合情報の特徴量と呼ばれるもので、ランク付けの際に考慮にすべきファクタを表しており、一方、ａ1，ａ2， ．．．，ａnは、それぞれの特徴の重み係数を表している。このように、ａiは、ｘiに対応する特徴の、ランク付けにおける重要性を示している。モデルの出力ｙは、適合情報のランク・スコアを表している。
【００２３】
個々の検索適用要件を考慮して、システムは、適合情報の１つまたは複数の特徴に基づいて、適合情報アイテムのそれぞれのスコア付けを行うことができる。それらの特徴は、以下に例示する、様々に異なる側面に関するものとすることができる。
【００２４】
１）適合情報の中に検索キーワードが出現する回数。一般的に、適合情報アイテムの中に検索キーワードが出現する回数が多いほど、その適合情報アイテムは高いスコアとされる。
【００２５】
２）適合情報の中での検索キーワードの位置。一般的に、検索キーワードが、例えば、タイトル、摘要など、適合情報アイテムの重要なセクションに出現する場合、その適合情報アイテムは、相対的に高いスコアとされる。
【００２６】
３）適合情報に対するユーザフィードバックの数。ユーザフィードバックの数によって、情報アイテムに対するユーザの注目度を示すことができる。一部の実施形態において、検索エンジンは、ユーザフィードバック・ログを読み取ることにより、適合情報アイテムのそれぞれに対応するユーザフィードバックの数を取得し、そして、そのユーザフィードバックの数に基づき、適合情報アイテムのそれぞれにスコア付けを行う。根本となる前提は、より多く注目されている情報アイテムほど高いスコアとされるということである。
【００２７】
４）適合情報のソース。ウェブページ検索において、例えば、適合情報が、大手のポータル・ウェブサイトや公式ウェブサイトを情報源とするものである場合は、相対的に高いスコアとされる。
【００２８】
適合情報の一般的な特徴をほんの少数、上記で列挙したが、適合情報の他の多くの特徴を、代替的または追加的にスコア付けに用いることができる。
【００２９】
一部の実施形態では、ランキングモデルで用いられる特徴の種類および数は、そのモデルと共に決定される。適合情報をランク付けするため、システムは、最初に、それぞれの適合情報アイテムの各特徴量を取得し、つぎに、ランキングモデルに基づいて、それぞれの適合情報アイテムにスコア付けし、そして最後に、ランク・スコアに従って、それぞれの適合情報アイテムをランク付けする。
【００３０】
例えば、線形ランキングモデルで３つの特徴が用いられる実施形態では、ランキングモデルは、ｙ＝ｆ（ｘ1，ｘ2，ｘ3）と表される。１０件の適合情報アイテムが返されるものとしてある場合、１０件の適合情報アイテムに対応する１０セットの入力（ｘ1，ｘ2，ｘ3）が取得され、ｙの１０個の値がそれぞれ計算されて、それらの値がランク付けされる。
【００３１】
ステップ１０３において、ランク付けされた結果の第１のセットの少なくとも一部を、非線形ランキングモデルを用いてさらにランク付けして、ランク付けされた結果の第２のセットを得る。非線形ランキングモデルは、適合情報の特徴に非線形関数を適用してランキング出力を得るモデルである。非線形ランキングモデルに採用される関数は、定数または一次項以外の項を含んでいる。
【００３２】
ユーザの実際的な要求により良く応えるために、適合情報が、非線形的にランク付けされる。様々な検索システムにおいて、適合情報の特徴のそれぞれは、それらから結果として得られるランク・スコアと客観的な対応関係がある。この関係は必ずしも直線関係ではないので、一部の実施形態では、この対応関係を表現して、ユーザの実際の要求により良く応える情報を識別するために、非線形ランキングモデルが構築される。多くの異なる非線形関数により非線形ランキングモデルを表現することが可能であり、それらを経験的に決定することができる。非線形モデルを決定する１つの方法は、学習を実行することであり、これには、多くの検索要求をシステムに入力すること、マシンが生成するランク付けされた結果と実際の要求に対する結果のユーザによるランキングとを収集すること、および、データに基づいて曲線の当てはめを実行することにより非線形ランキングモデルを生成すること、が含まれる。例えば、一部の実施形態において用いられる非線形ランキングモデルは、以下の形のものである。
【００３３】
【数１】
0005341253.tif 000002
【００３４】
一部の実施形態では、線形関数に比較して非線形関数の計算複雑性が高いことによって、非線形ランキングモデルを用いたランク付けの処理速度が、同じ条件（すなわち、同じ特徴量、処理される適合情報の数が同じ、など）で線形ランキングモデルを用いた場合よりも遅くなることがある。より高いランク付け速度を達成すると同時に検索の実効性を確保するため、一部の実施形態では、線形ランキングモデルを用いて適合情報をランク付けすることにより、ランク付けされた結果の第１のセットを得た後に、このランク付けされた結果の第１のセットの選択的な一部が、非線形ランキングモデルを用いて処理される。
【００３５】
例えば、最初の線形ランキングモデルを用いて処理される適合情報アイテムの数がＮ１であると仮定する。第１のランク付けの後に、一般的に、上位にランクされた適合情報は、ユーザが上位ランクの結果であると認めたものと一致していることがあるが、それでもなお、線形ランキングモデルという制約によって、モデルにより生成されたランキング順位とユーザによる実際のランキング順位とは、いくらか食い違う場合がある。このため、ランク付けされた結果の第１のセットは、非線形ランキングモデルを用いてさらにランク付けされる。一部の実施形態において、第１のランク付けによる結果のうち件数Ｎ２の上位ランクの適合情報アイテムが、非線形ランキングモデルを用いてランク付けされ、これにより、ランク付けされた結果の第２のセットが得られる。
【００３６】
具体的には、Ｎ２は、個々の検索要求に応じて決定される値をとるものとすることができる。ユーザは、一般的に、検索結果の最初の数ページにのみ注目するので、Ｎ２は、ページあたりに表示可能な適合情報アイテムの数に応じて、Ｎ１に比較して小さい値とすることができる。例えば、Ｎ１が１０００を超えるときには、Ｎ２は２００〜４００に設定することができる。あるいは、これに代えて、例えばＮ２対Ｎ１の比率を１：１０、１：２０とするなど、相対比率を用いてＮ２を決定することができる。その他の適当な選択基準を、他の実施形態において適用することができる。
【００３７】
ステップ１０４において、ランク付けされた結果の第２のセットに少なくとも部分的に基づいて、検索応答が生成される。ここでは、検索エンジンは、ランク付けされた結果の第２のセットの一部を選択することにより検索応答を生成する。検索応答は出力されて、ユーザに提示される。
【００３８】
本実施形態では、最初に、件数Ｎ１の適合情報アイテムが、線形ランキングモデルを用いてランク付けされ、次に、ランク付けされた結果のうち件数Ｎ２の上位のものが、非線形ランキングモデルを用いてさらにランク付けされる。線形ランキングモデルの処理速度は確保できるので、最初に線形ランキングモデルを用いて多数（Ｎ１）の適合情報アイテムを前処理することができ、そしてＮ２＜Ｎ１と設定することで、非線形ランキングモデルを用いて処理されるデータ量を削減することができ、これにより、適合情報のランク付けの処理速度が全体として向上される。
【００３９】
従来のランキング方法の中には、手動で設計されるランキングモデルを採用しているものがあり、このため、特徴のほんの簡単な組み合わせのみの処理に制限される。ランキング学習法は、従来のランキング法よりも多くの特徴が考慮される自動化された方法である。この方法は、データサンプルを用いてランキングモデルを学習させ、これにより、ユーザの実際的な要求をモデルに覚えさせることで、ランク付けされた結果がユーザの実際の要求により良く応えることができるようにする。非線形ランキングモデルは、ユーザにより実際にランク付けされた結果とほぼ一致するランク付けの結果が得られるように学習させることが可能である。
【００４０】
一部の実施形態では、学習させた結果得られる線形および非線形のランキングモデルを、それぞれ第１と第２のランク付けで用いることができる。そのようなモデルは、より多くの特徴を取り込むことによって複雑な計算を伴う傾向があるため、第１のランク付けの前に、オプションとして、処理速度を確保するための前処理ステップが追加される。図２は、検索結果を生成するプロセスの他の実施形態を示すフローチャートである。
【００４１】
ステップ２０１において、検索要求を受け取り、その検索要求に適合情報アイテムを検索する。
【００４２】
ステップ２０２では、それらの適合情報アイテムが前処理される。一部の実施形態において、この前処理は、適合情報アイテムの期限切れのもの、および無効なものを除外するフィルタリング処理を含んでいる。一部の実施形態において、前処理は、ＴＦ‐ＩＤＦ（Ｔｅｒｍ Ｆｒｅｑｕｅｎｃｙ−Ｉｎｖｅｒｓｅ ｄｏｃｕｍｅｎｔ Ｆｒｅｑｕｅｎｃｙ：語頻度‐逆文書頻度）法、ＢＭ２５など、何らかのソート技法を用いたソート処理を含んでおり、これらは手動で設計される非常に少ない数の特徴を取り込むランキングモデルを採用するものであるため、高速であるが、ユーザの期待を厳密に追跡するランキングを生成するものではない。
【００４３】
ステップ２０３では、前処理された適合情報の少なくとも一部が、線形ランキングモデルを用いてランク付けされ、これにより、ランク付けされた結果の第１のセットが得られる。
【００４４】
ステップ２０４では、ランク付けされた結果の第１のセットが、非線形ランキングモデルを用いてさらにランク付けされ、これにより、ランク付けされた結果の第２のセットが得られる。
【００４５】
ステップ２０５では、第２のランク付けの結果に少なくとも部分的に基づいて、検索応答が提供される。
【００４６】
一見して明らかなように、ステップ２０２がステップ２０３に及ぼす効果は、ステップ２０３が２０４に及ぼす効果に類似している。前処理の動作は、線形ランキング処理よりもはるかに高速であるが、それほど高い品質のランキングは生成されない。総件数Ｎ０の適合情報アイテムがステップ２０１で検索され、ステップ２０２において、前処理を実行する目的で、件数Ｎ０の情報の中からＮ１件の適合情報アイテムが選択されて、線形ランキングモデルを用いて処理されると仮定する。Ｎ１はＮ０よりも小さく、このため、第１のランク付けの処理速度を大幅に向上させることができる。
【００４７】
図３Ａ‐３Ｃは、前処理、第１のランキングプロセス、第２のランキングプロセスの関係および効果を示す図である。適合情報アイテムは、ユーザによる実際のランキングに基づいて、真に関連性のある適合情報または一般的な適合情報に分類することが可能であると、最初に仮定する。ランク付けは、真に関連性のある適合情報をできる限り上位にランク付けすることを目的としている。図示の例では、黒丸が、真に関連性のある適合情報アイテムを表し、白丸が、一般的な適合情報アイテムを表している。
【００４８】
Ｎ０＝１００と仮定して、総数で５件の真に関連性のある適合情報アイテムが、１００件の適合情報アイテム（そのすべてが図示されているわけではない）の中に分散されており、図３Ａに示すように、前処理後に、５件すべての真に関連性のある適合情報アイテムがトップ１０アイテムに入るようにランク付けされる。
【００４９】
Ｎ１＝１０と仮定して、ランク付けされた結果の第１のセットを図３Ｂに示している。図示のように、線形ランキングモデルを適用した後に、５件の真に関連性のある適合情報アイテムのうちいくつかが、図３Ａのときよりも上位のランクになっている。
【００５０】
Ｎ２＝６と仮定して、ランク付けされた結果の第２のセットを図３Ｃに示している。図示のように、非線形ランキングモデルを適用した後に、５件の真に関連性のある適合情報アイテムが、最上位ランクのアイテムとなっている。
【００５１】
上記の例は単なる例示にすぎず、様々な実施形態で、異なる値のＮ０、Ｎ１、およびＮ２を適用することができる。
【００５２】
一実施形態において、Ｎ１は３０００に設定される。すなわち、ランク付け前処理された結果の中で上位３０００件の適合情報アイテムが、まず以下の線形ランキングモデルを用いてランク付けされる。
ｙ1＝０．１５ｘ1＋０．１７３２ｘ2＋０．８７３ｘ3＋０．２４５ｘ4＋０．０４２ｘ5
【００５３】
ここで、ｘ1からｘ5は、第１のランク付けにおいて考慮される、適合情報の特徴量を表している。
【００５４】
ｘ1は、適合情報のテキストの中に検索キーワードが出現する回数を正規化した値に相当する。モデルから明らかであるように、この値が大きいほど、結果として得られるランク・スコアが高くなる。
【００５５】
ｘ2は、適合情報のタイトルの中に検索キーワードが出現する回数を正規化した値に相当する。モデルから分かるように、この値が大きいほど、結果として得られるランク・スコアが高くなる。
【００５６】
ｘ3は、適合情報のタイトルの中での検索キーワード間の距離に相当する。ユーザは、情報の検索のために、複数のキーワードを採用することがある。この場合、タイトルの中でのキーワード間の距離が短いほど、ユーザの要求により良く応えるものであるとみなすことができる。ｘ3の値は、つぎのように計算することができる。
１−（キーワード間の距離）／（タイトル内の単語総数）
【００５７】
具体的には、検索キーワード間の距離は、「単語」によって計算される。フレーズやセンテンスは、いずれも、特定の単語分割規則によって、いくつかの「単語」 に分割することができる。例えば、適合ドキュメントのタイトルが“Ｍｅｔｈｏｄ ｆｏｒ ｓｅｌｅｃｔｉｎｇ ｃｏｍｐｕｔｅｒ ＣＰＵ ａｎｄ ｍｏｎｉｔｏｒ”である場合、これを、単語分割規則により、総数７の単語、すなわち、Ｍｅｔｈｏｄ／ｆｏｒ／ｓｅｌｅｃｔｉｎｇ／ｃｏｍｐｕｔｅｒ／ＣＰＵ／ａｎｄ／ｍｏｎｉｔｏｒに分割することができる。ユーザの検索キーワードが、「ｃｏｍｐｕｔｅｒ」と「ｍｏｎｉｔｏｒ」である場合、これら２つのキーワードは、上記タイトルの中で２つの単語すなわち２の距離で隔てられており、対応するｘ3の値は、１−（２／７）＝５／７となる。
【００５８】
検索キーワードがタイトルに完全に一致する場合、その距離は０であり、ｘ3は１の値をとる。タイトルの中に検索キーワードが全く出現しない場合、ｘ3は０の値をとる。
【００５９】
ｘ4は、検索キーワードと、適合情報のタイトルとの間の編集距離に相当する。検索キーワードと、適合情報のタイトルとの類似度も、やはり、適合情報をスコア付けするファクタとみなすことができる。類似度は、「編集距離」として測定することができ、これもやはり、「単語」によって計算される。例えば、ユーザの検索キーワードが「ｍｏｎｉｔｏｒ」である場合、これと、タイトル「Ｍｅｔｈｏｄ ｆｏｒ ｓｅｌｅｃｔｉｎｇ ｃｏｍｐｕｔｅｒ ＣＰＵ ａｎｄ ｍｏｎｉｔｏｒ」との編集距離は６であり、対応するｘ4の値は、ｌ−（６／７）＝ｌ／７である。従って、検索キーワードがタイトルと完全に一致する場合、編集距離は０であり、ｘ4は１の値をとる。検索キーワードがタイトルの中に出現しない場合、編集距離は無限大であり、ｘ4は０の値をとる。
【００６０】
ｘ5は、適合情報のテキストの中での検索キーワードのＩＤＦ（逆文書頻度）の正規化された値に相当する。
【００６１】
この例では、ｘ1 ．．．ｘ5は、モデルを用いた計算を容易にするため、（［０，１］の区間にあるように）正規化された値である。正規化の方法は、本願の実施形態において制限されない。
【００６２】
ランク付けされた結果の第１のセットは、非線形ランキングモデルを用いてさらにランク付けされ、これにより、ランク付けされた結果の第２のセットが得られる。
【００６３】
一実施形態では、Ｎ２は６００であると仮定される。すなわち、以下の非線形ランキングモデルを用いて、上位６００件の適合情報アイテムで第２のランク付けが行われる。
【００６４】
【数２】
0005341253.tif 000003
【００６５】
この例では、非線形ランキングモデルにおいて、ｘ1 ．．．ｘ5は、適合情報の、線形ランキングモデルで考慮されるものと同じ特徴に対応している。しかしながら、それらは、出力ｙとの間に非線形関係をなしている。
【００６６】
この例では、用いている線形および非線形のランキングモデルの両方ともが、学習の結果得られるモデルである。本実施形態は、ウェブページ検索、エレクトロニック・コマース検索などへの適用に対応して提案されたものである。上述の技術は、例えば、書籍データベース検索、ドキュメント・データベース検索など、他のタイプの検索にも適用可能である。また、適用の範囲はインターネットの分野に限定されることなく、この技術は、スタンドアロン・コンピュータにおけるローカルエリア・ネットワーク介した検索などに適用することができる。
【００６７】
図４は、ランク付けされた検索結果を生成するシステムの実施形態を示すブロック図である。この例において、システム４００は、汎用サーバ、専用デバイス、あるいは、１つまたは複数のプロセッサおよびこのプロセッサに結合されてプロセッサに命令を供給するように構成されたメモリを備える他のハードウェア／ソフトウェア／ファームウェアの組み合わせなど、１つまたは複数のコンピュータ機器を用いて実現することができる。
【００６８】
システムは、ユーザから検索要求を受け取って、その検索要求に適合それぞれの情報アイテムを取り出すように構成された情報検索ユニット４１０を備える。さらに、情報検索ユニット４１０により取り出された適合情報アイテムのうちＮ１件の適合情報アイテムを、線形ランキングモデルを用いてランク付けし、これにより、第１のランク付けによる結果を得るように構成された線形ランキング・ユニット４２０を備えている。この場合、Ｎ１≦取り出された適合情報アイテムの総数、となる。さらに、線形ランキング・ユニット４２０により得られたランク付けされた結果の第１のセットの中で、上位のＮ２件の適合情報を、非線形ランキングモデルを用いてランク付けし、これにより、ランク付けされた結果の第２のセットを得るように構成された非線形ランキング・ユニット４３０を備える。この場合、Ｎ２＜Ｎ１である。線形ランキングモデルの処理速度は確保することができるので、最初に、線形ランキングモデルを用いて、多数（Ｎ１）の適合情報アイテムを前処理することができ、そしてＮ２＜Ｎ１と設定することで、非線形ランキングモデルを用いて処理されるデータ量を効果的に削減することができ、これにより、適合情報のランク付けの処理速度が全体として向上する。このシステムは、さらに、ランク付けされた結果の第２のセットから検索結果を生成するように構成された結果生成ユニット４４０を備える。
【００６９】
図５は、検索結果を生成するシステムの他の実施形態である。システム５００は、４００と類似しているが、適合情報アイテムのそれぞれを前処理するように構成された前処理ユニット４１１を追加して備えており、これにより、それらの適合情報アイテムのうちＮ０件の適合情報アイテムが、線形ランキング・ユニット４２０によりランク付けされる対象になるものとして選択される。前処理ユニット４１１は、線形ランキング・ユニット４２０により処理されるデータ量を削減するために用いることができ、これにより、最終的な検索結果にマイナスの影響を及ぼすことなく、システム全体の検索処理速度をさらに向上させる。
【００７０】
上記のユニットは、１つまたは複数の汎用プロセッサ上で実行されるソフトウェア・コンポーネントとして、プログラマブル・ロジック・デバイスおよび／または特定の機能を実行するように設計された特定用途向け集積回路などのハードウェアとして、あるいはそれらの組み合わせにより、実現することができる。一部の実施形態では、ユニットは、ソフトウェア・プロダクトの形態で実現することができ、これらは不揮発性記憶媒体（光ディスク、フラッシュ記憶装置、モバイル・ハードディスクなど）に記憶することが可能であって、本発明の実施形態に記載した方法をコンピュータ機器（パーソナルコンピュータ、サーバ、ネットワーク装置など）に実行させるための多くの命令を含むものである。ユニットは、単一の機器で、あるいは複数の機器に分散させて、実現することができる。ユニットの機能は相互に併合させることができ、あるいは複数のサブユニットにさらに分割することができる。
【００７１】
上記の情報検索システムは、インターネット上での検索のための検索エンジンに適用することができ、さらに、スタンドアロン・コンピュータでのローカルエリア・ネットワークを介した検索のための情報検索システムなどにも適用することができる。
【００７２】
上記のデバイスは、説明の都合上、別々に示すそれぞれのユニットに機能的に分割されたものとして記載している。当然のことながら、それぞれのユニットの機能を、同じ１つまたは複数のソフトウェア・アイテムおよび／またはハードウェア・アイテムで実行することにより本発明を実施することができる。
【００７３】
実施形態の上記説明から分かるように、本出願は、ソフトウェアと基本の汎用ハードウェア・プラットフォームにより実現可能であることを、当業者であれば明確に理解することができる。そのような理解に基づき、従来技術に効果をもたらす本出願の技術的解決法またはその一部は、基本的にソフトウェア・プロダクトの形態で実現することができ、それは、例えばＲＯＭ／ＲＡＭ、磁気ディスク、光ディスクなどの記憶媒体に記憶することが可能なものであって、本出願のそれぞれの実施形態または実施形態の一部による方法をコンピュータ機器（パーソナルコンピュータ、サーバ、ネットワーク装置など、とすることができる）に実行させるための多くの命令を含むものである。
【００７４】
本明細書では、それぞれの実施形態を段階的に説明しており、それらの共通または類似の部分は相互参照が可能であり、各実施形態では、他の実施形態との違いに重点を置いている。特にシステムの実施形態は、方法の実施形態と実質的に類似しており、このため簡単に説明しているが、その詳細については、方法の実施形態の説明におけるそのような部分を参照することができる。システムの上記実施形態は単なる例示にすぎず、別々のコンポーネントとして記載しているユニットは物理的に分離したものであっても分離されていないものであってもよく、また、ユニットとして示しているコンポーネントは、物理的ユニットであってもそうでなくてもよく、つまり、同一場所に配置されたものであっても、複数のネットワーク・ユニットに分散されたものであってもよい。実際の実施においては、実施形態の中のモジュールの一部またはすべてを、該実施形態の解決法の目的を達成するように必要に応じて選択することができる。
【００７５】
本出願は、例えば、パーソナルコンピュータ、サーバ・コンピュータ、ハンドヘルドまたはポータブル・デバイス、フラットパネル・デバイス、マルチプロセッサ・システム、マイクロプロセッサ・ベースのシステム、セットトップボックス、プログラム可能な家庭用電子機器、ネットワークＰＣ、小型コンピュータ、大型コンピュータ、上記システムまたはデバイスのいずれかを含む分散コンピューティング環境など、多くの汎用あるいは専用のコンピュータシステム環境または構成に適用することができる。
【００７６】
本出願は、例えばプログラム・モジュールなどコンピュータにより実行されるコンピュータ実行可能命令という一般的状況の中で説明することができる。一般的に、プログラム・モジュールには、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造などが含まれ、これは、特定のタスクを実行するものであるか、または特定の抽象データ型を具体化するものである。あるいは、本出願は、分散コンピューティング環境で実現することができ、この場合、タスクは、通信ネットワークを介して接続された遠隔処理装置により実行され、また、プログラム・モジュールは、記憶装置を含むローカルまたは遠隔の電子記憶媒体に配置することができる。
【００７７】
上記の実施形態は、明確な理解を目的として、ある程度詳細に記載したが、本発明は、提示した詳細に限定されるものではない。本発明を実施する多くの代替の方法がある。開示された実施形態は、例示であって、限定するものではない。
適用例１：ランク付けされた検索結果を生成する方法であって、検索要求に適合する複数の適合情報アイテムを受け取ることと、ランク付けされた結果の第１のセットを得るため、第１の複数の特徴量を線形結合する線形ランキングモデルを用いて、前記複数の適合情報アイテムのうち少なくとも一部のアイテムをランク付けすることと、ランク付けされた結果の第２のセットを得るため、第２の複数の特徴量を非線形的に結合する非線形ランキングモデルを用いて、前記ランク付けされた結果の第１のセットの少なくとも一部をランク付けすることと、前記ランク付けされた結果の第２のセットに基づいて、検索応答を提供することと、を含む方法。
適用例２：前記ランク付けされた結果の第１のセットは、前記ランク付けされた結果の第２のセットよりも多数の適合情報アイテムを含んでいる、適用例１に記載の方法。
適用例３：前記複数の適合情報アイテムは、第２の複数の適合情報アイテムであり、前記方法は、前記検索要求を受け取ることと、第１の複数の適合情報アイテムを生成することと、前記第１の複数の適合情報アイテムを前処理することと、前記第１の複数の適合情報アイテムから、前記第２の複数の適合情報アイテムを選択することと、をさらに含む、適用例１に記載の方法。
適用例４：前記第１の複数の適合情報アイテムは、前記第２の複数の適合情報アイテムよりも多数の適合情報アイテムを含んでいる、適用例３に記載の方法。
適用例５：前記線形ランキングモデルは第１のランキング・スコアを出力し、前記非線形ランキングモデルは第２のランキング・スコアを出力する、適用例１に記載の方法。
適用例６：前記線形ランキングモデルにより用いられる前記第１の複数の特徴量の少なくとも一部は、前記非線形ランキングモデルにより用いられる前記第２の複数の特徴量の少なくとも一部と同じものである、適用例１に記載の方法。
適用例７：前記第１の複数の特徴量は、前記適合情報、前記検索要求、またはその両方によって決定される、適用例１に記載の方法。
適用例８：前記非線形ランキングモデルは、学習により決定される、適用例１に記載の方法。
適用例９：ランク付けされた検索結果を生成するためのシステムであって、１つまたは複数のプロセッサであって、検索要求に適合する複数の適合情報アイテムを受け取り、ランク付けされた結果の第１のセットを得るため、第１の複数の特徴量を線形結合する線形ランキングモデルを用いて、前記複数の適合情報アイテムのうち少なくとも一部のアイテムをランク付けし、ランク付けされた結果の第２のセットを得るため、第２の複数の特徴量を非線形的に結合する非線形ランキングモデルを用いて、前記ランク付けされた結果の第１のセットの少なくとも一部をランク付けし、前記ランク付けされた結果の第２のセットに少なくとも部分的に基づいて検索応答を提供する、ように構成された１つまたは複数のプロセッサと、前記１つまたは複数のプロセッサに結合され、プロセッサに命令を供給するように構成された１つまたは複数のメモリと、を備える、システム。
適用例１０：前記ランク付けされた結果の第１のセットは、前記ランク付けされた結果の第２のセットよりも多数の適合情報アイテムを含んでいる、適用例９に記載のシステム。
適用例１１：前記複数の適合情報アイテムは、第２の複数の適合情報アイテムであり、前記１つまたは複数のプロセッサは、さらに、前記検索要求を受け取り、第１の複数の適合情報アイテムを生成し、前記第１の複数の適合情報アイテムを前処理し、前記第１の複数の適合情報アイテムから、前記第２の複数の適合情報アイテムを選択する、ように構成されている、適用例９に記載のシステム。
適用例１２：前記第１の複数の適合情報アイテムは、前記第２の複数の適合情報アイテムよりも多数の適合情報アイテムを含んでいる、適用例１１に記載のシステム。
適用例１３：前記線形ランキングモデルは第１のランキング・スコアを出力し、前記非線形ランキングモデルは第２のランキング・スコアを出力する、適用例９に記載のシステム。
適用例１４：前記線形ランキングモデルにより用いられる前記第１の複数の特徴量の少なくとも一部は、前記非線形ランキングモデルにより用いられる前記第２の複数の特徴量の少なくとも一部と同じものである、適用例９に記載のシステム。
適用例１５：前記第１の複数の特徴量は、前記適合情報、前記検索要求、またはその両方によって決定される、適用例９に記載のシステム。
適用例１６：前記非線形ランキングモデルは、学習により決定される、適用例９に記載のシステム。
【図１】
0005341253.tif 000004
【図２】
0005341253.tif 000005
【図３Ａ】
0005341253.tif 000006
【図３Ｂ】
0005341253.tif 000007
【図３Ｃ】
0005341253.tif 000008
【図４】
0005341253.tif 000009
【図５】
0005341253.tif 000010