"候補製品のリンクリストを判定する方法であって、第1の製品と、複数の第2の製品とを含む、同一の製品種類集合を提供することと、前記同一の製品種類集合の各第2の製品について、各非名義属性に関する前記第1の製品の値と前記第2の製品の値との間の類似度スコアを計算することと、各名義属性に関する前記第1の製品の値と前記第2の製品の値との間の類似度スコアを計算することであって、前記第1の製品の前記名義属性の値が前記第2の製品の前記名義属性の値とは異なる場合、購入記録集合から、前記第1の製品の前記名義属性の前記値に対応する製品を購入するユーザが、前記第2の製品の前記名義属性の前記値に対応する製品を購入する傾向に基づき、前記第1の製品の前記名義属性の前記値と前記第2の製品の前記名義属性の前記値との間の類似度スコアを判定することと、各非名義属性に関する前記第1の製品の前記値と前記第2の製品の前記値との間の前記類似度スコア、および各名義属性に関する前記第1の製品の前記値と前記第2の製品の前記値との間の前記類似度スコアに基づき、前記第1の製品と前記第2の製品との間の類似度スコアを計算することと、前記第1の製品との類似度スコアが上位類似度スコアに入る少なくとも1つの第2の製品を、前記第1の製品の候補製品のリンクリストとして表現することとを含む、方法。前記類似度スコアを判定することは、前記購入記録集合に基づき、第1のユーザ集合、第2のユーザ集合、および第3のユーザ集合を判定することであって、前記第1のユーザ集合は、前記第1の製品の前記名義属性の前記値と合致する前記名義属性の値を有する製品を購入した、前記製品記録集合内のユーザの集合に対応し、前記第2のユーザ集合は、前記第2の製品の前記名義属性の前記値と合致する前記名義属性の値を有する製品を購入した、前記製品記録集合内のユーザの集合に対応し、前記第3のユーザ集合は、前記第1の製品の前記名義属性の前記値および前記第2の製品の前記名義属性の前記値とそれぞれ合致する前記名義属性のそれぞれの値を有する製品を購入した、前記製品記録集合内のユーザの集合に対応することを含む、請求項1に記載の方法。前記第1のユーザ集合、前記第2のユーザ集合、および前記第3のユーザ集合に基づき、前記第1の製品の前記名義属性の前記値と合致する名義属性の前記値を有する前記製品を購入した前記ユーザが、前記第2の製品の前記名義属性の前記値と合致する前記名義属性の値を有する製品をさらに購入したという状況の第1の条件付き確率を判定することと、前記第2の製品の前記名義属性の前記値と合致する名義属性の前記値を有する前記製品を購入した前記ユーザが、前記第1の製品の前記名義属性の前記値と合致する前記名義属性の値を有する製品を購入したという状況の第2の条件付き確率を判定することと、をさらに含む、請求項2に記載の方法。前記第1の条件付き確率および前記第2の条件付き確率の算術平均を、前記名義属性に関する前記第1の製品と前記第2の製品との間の前記類似度スコアとして表現することをさらに含む、請求項3に記載の方法。前記類似度スコアを判定することは、前記購入記録集合に基づき、前記名義属性のユーザ属性値関係マトリックスを判定することであって、前記ユーザ関係マトリックスの各列は、ユーザによって前記名義属性の同一の値を有する製品が購入されたか否かを表す、ことを含む、請求項1に記載の方法。前記類似度スコアを判定することは、前記ユーザ属性値関係マトリックスから、前記第1の製品の前記名義属性の前記値と合致する前記名義属性の前記値を有する前記製品のユーザ購入記録として、前記第1の製品の前記名義属性の前記値に対応する列と、前記第2の製品の前記名義属性の前記値と合致する前記名義属性の前記値を有する前記製品のユーザ購入記録として、前記第2の製品の前記名義属性の前記値に対応する列とを選択することであって、前記第1の製品と前記第2の製品との間の前記類似度スコアsimi,jは、であることをさらに含む、請求項5に記載の方法。前記購入記録集合に基づき、前記名義属性の前記ユーザ属性値関係マトリックスを判定することは、前記ユーザ購入記録集合内のユーザの各購入記録について、前記ユーザの前記購入記録に基づき、前記ユーザによって購入された製品の前記名義属性の値と、各製品の前記名義属性のそれぞれの値とを判定することと、前記ユーザによって購入された前記製品の前記名義属性の前記判定された値に基づき、前記ユーザと関連付けられる前記名義属性のベクトルを判定することであって、式中、mは、前記ユーザの識別子であり、の各要素Rm,iについては、式中、iは、値集合内の値の識別子であり、前記ユーザが、前記識別子の前記値としてiを有する製品を購入した場合、前記要素Rm,iの値は、第1の値として設定され、そうでなければ、前記要素Rm,iの前記値は、第2の値として設定されることと、前記名義属性の前記ユーザ属性値関係マトリックスを判定するために、前記マトリックス内の行として、各ユーザと関連付けられる前記名義属性の前記ベクトルを表現することとを含む、請求項5に記載の方法。各名義属性に関する前記第1の製品の前記値と前記第2の製品の前記値との間の前記類似度スコアを計算することは、前記第1の製品の前記名義属性の前記値が前記第2の製品の前記名義属性の前記値と同一である場合に、前記第1の製品の前記名義属性の前記値と前記第2の製品の前記名義属性の前記値との間の前記類似度スコアを最大規定値に設定することをさらに含む、請求項1に記載の方法。前記第1の製品との類似度スコアが前記上位類似度スコアに入る前記少なくとも1つの第2の製品を、前記第1の製品の前記候補製品のリンクリストとして表現した後、前記方法は、前記第1の製品の識別子と前記判定された候補製品のリンクリストとの間の対応関係を記憶することをさらに含む、請求項1に記載の方法。名義属性に関する2つの製品の値の間の類似度スコアを判定する方法であって、名義属性に関する第1の製品の値と第2の製品の値との間の類似度スコアを計算することであって、前記第1の製品の前記名義属性の前記値が前記第2の製品の前記名義属性の前記値とは異なる場合、購入記録集合から、前記第1の製品の前記名義属性の前記値に対応する製品を購入するユーザが、前記第2の製品の前記名義属性の前記値に対応する製品を購入する傾向に基づき、前記第1の製品の前記名義属性の前記値と前記第2の製品の前記名義属性の前記値との間の前記類似度スコアを判定することを含む、方法。前記判定することは、前記購入記録集合に基づき、前記名義属性のユーザ属性値関係マトリックスを判定することであって、前記ユーザ関係マトリックスの各列は、表すことを含む、請求項10に記載の方法。前記判定することは、前記ユーザ属性値関係マトリックスから、前記第1の製品の前記名義属性の前記値と合致する前記名義属性の前記値を有する前記製品のユーザ購入記録として、前記第1の製品の前記名義属性の前記値に対応する列と、前記第2の製品の前記名義属性の前記値と合致する前記名義属性の前記値を有する前記製品のユーザ購入記録として、前記第2の製品の前記名義属性の前記値に対応する列とを選択することであって、前記第1の製品と前記第2の製品との間の前記類似度スコアsimi,jは、であることをさらに含む、請求項11に記載の方法。前記判定することは、前記購入記録集合に基づき、第1のユーザ集合、第2のユーザ集合、および第3のユーザ集合を判定することとであって、前記第1のユーザ集合は、前記第1の製品の前記名義属性の前記値と合致する前記名義属性の値を有する製品を購入した、前記製品記録集合内のユーザの集合に対応し、前記第2のユーザ集合は、前記第2の製品の前記名義属性の前記値と合致する前記名義属性の値を有する製品を購入した、前記製品記録集合内のユーザの集合に対応し、前記第3のユーザ集合は、前記第1の製品の前記名義属性の前記値および前記第2の製品の前記名義属性の前記値のそれぞれと合致する前記名義属性のそれぞれの値を有する製品を購入した、前記製品記録集合内のユーザの集合に対応することと、前記第1のユーザ集合、前記第2のユーザ集合、および前記第3のユーザ集合に基づき、前記第1の製品の前記名義属性の前記値と合致する名義属性の前記値を有する前記製品を購入した前記ユーザが、前記第2の製品の前記名義属性の前記値と合致する前記名義属性の値を有する製品をさらに購入したという状況の第1の条件付き確率を判定することと、前記第2の製品の前記名義属性の前記値と合致する名義属性の前記値を有する前記製品を購入した前記ユーザが、前記第1の製品の前記名義属性の前記値と合致する前記名義属性の値を有する製品を購入したという状況の第2の条件付き確率を判定することと、前記名義属性に関する前記第1の製品と前記第2の製品との間の前記類似度スコアとして、前記第1の条件付き確率および前記第2の条件付き確率の算術平均を表現することとをさらに含む、請求項11に記載の方法。候補製品のリンクリストを判定する装置であって、第1の製品と、複数の第2の製品とを含む、同一の製品種類集合を提供するように構成される、供給ユニットと、前記同一の製品種類集合の各第2の製品について、各非名義属性に関する前記第1の製品の値と前記第2の製品の値との間の類似度スコアを計算するように構成される、第1の類似度判定ユニットと、前記同一の製品種類集合の各第2の製品について、各名義属性に関する前記第1の製品の値と前記第2の製品の値との間の類似度スコアを計算し、前記第1の製品の前記名義属性の値が前記第2の製品の前記名義属性の値とは異なる際、購入記録集合から、前記第1の製品の前記名義属性の前記値に対応する製品を購入するユーザが、前記第2の製品の前記名義属性の前記値に対応する製品を購入する傾向に基づき、前記第1の製品の前記名義属性の前記値と前記第2の製品の前記名義属性の前記値との間の類似度スコアを判定するように構成される、第2の類似度判定ユニットと、前記第1の類似度判定ユニットによって判定される、各非名義属性に関する前記第1の製品の前記値と前記第2の製品の前記値との間の前記類似度スコア、および前記第2の類似度判定ユニットによって判定される、各名義属性に関する前記第1の製品の前記値と前記第2の製品の前記値との間の前記類似度スコアに基づき、前記第1の製品と前記第2の製品との間の類似度スコアを計算するように構成される、製品類似度判定ユニットと、前記製品類似度判定ユニットによって判定される、前記第1の製品と各第2の製品との間の前記類似度スコアに基づき、前記第1の製品との類似度スコアが前記上位類似度スコアに入る少なくとも1つの第2の製品を、前記第1の製品の候補製品のリンクリストとして表現するように構成される、リンクリスト判定ユニットとを備える、装置。前記第1の製品の識別子と前記リンクリスト判定ユニットによって判定される前記候補製品のリンクリストとの間の対応関係を記憶するように構成される、記憶ユニットと、候補製品の検索リクエストを受信するように構成される、受信ユニットと、前記受信ユニットが候補製品の前記検索リクエストを受信するのに応えて、前記記憶ユニット内に記憶される製品の識別子と候補製品のリンクリストとの間の対応関係から、前記検索リクエストに含まれる製品の識別子に対応する候補製品のリンクリストを選択するように構成される、選択ユニットとをさらに備える、請求項14に記載の装置。前記第2の類似度判定ユニットは、前記第1の製品の前記名義属性の前記値が、前記第2の製品の前記名義属性の前記値と同一である場合に、前記第1の製品の前記名義属性の前記値と前記第2の製品の前記名義属性の前記値との間の前記類似度スコアを最大規定値に設定するようにさらに構成される、請求項14に記載の装置。候補製品のリンクリストを提供するシステムであって、候補製品のリンクリストを判定するために、候補製品の検索リクエストを装置に送信するように構成されるウェブサーバであって、前記リクエストは、指定製品の識別子を含む、ウェブサーバと、ユーザ購入記録集合を記憶するように構成される、取引記録データベースと、各製品と関連付けられる属性値を記憶するように構成される、製品属性データベースと、候補製品のリンクリストを判定する前記装置であって、前記取引記録データベースに記憶される前記ユーザ購入記録集合、および前記製品属性データベースに記憶される、各製品と関連付けられる前記属性の前記値に基づき、各製品の候補製品のリンクリストを判定し、各製品の識別子とそれぞれの製品の前記候補製品のリンクリストとの間の対応関係を記憶し、前記ウェブサーバから候補製品の前記検索リクエストを受信するのに応えて、製品の識別子と候補製品のリンクリストとの間の前記記憶される対応関係から、前記検索リクエスト内に含まれる前記指定製品の前記識別子に対応する候補製品のリンクリストを選択し、候補製品の前記選択されるリンクリストを前記ウェブサーバに提供するように構成される、装置と、を備える、システム。本発明者は、なぜ既存の技術はユーザが選択した製品に比較的関連する候補製品をユーザに提供することができないのかという理由が、同一の名義属性に関する2つの製品の値の間の類似度スコアが、ハードコンピューティングパラダイムに基づいて計算されるためであるということを発見した。具体的には、類似度スコアは、製品のその名義属性のすべての値内の、2つの製品のその名義属性の値のそれぞれの頻度に基づいて判定され、したがって、属性値内に黙示的に含まれる意味論的意味を見い出すことができない。化粧品では、例えば、各製品は、名義属性であると見なされる製品ブランド属性を保有する。この属性の値は、順序付けられていない文字列である。ブランド1、ブランド2、ブランド3、ブランド4、ブランド5、およびブランド6等の製品ブランドが存在するとしよう。ブランド1、ブランド2、およびブランド3は、高級ブランドであり、一方、ブランド4、ブランド5、およびブランド6は、低級ブランドである。ブランド2およびブランド5は、すべての製品の属性値の中で、この名義属性すなわち、製品ブランドのそれぞれの発生頻度が相互に近いとしても、相互との類似度が高いと表現することはできない。製品ブランド属性の類似度の計算中、高級ブランドの製品は、高級ブランドの製品との間でより高い類似度スコアを有し、一方、高級ブランドの製品と低級ブランドの製品との間の類似度スコアは、より低い。本開示の基本概念は、2つの製品Aすなわち、第1の製品と製品Bすなわち、第2の製品との間の類似度スコアが計算される際の、名義属性値の類似度スコアの計算を向上させることである。概念の詳細は、以下のように記載される。各名義属性の名義属性に関する製品Aの値および製品Bの値のそれぞれと合致する値を有する製品のユーザ購入記録に基づき、ユーザグループ全体としての製品Aの名義属性値に関する製品を購入する傾向すなわち、どのユーザが、製品Aの名義属性の値と合致する名義属性の値を有する製品を購入する傾向があるか、例えば、どのユーザが、ブランドブランド2の製品を購入する傾向があるか、および製品Bの名義属性値に関する製品を購入する傾向すなわち、どのユーザが、製品Bの名義属性の値と合致する名義属性の値を有する製品を購入する傾向があるか、例えば、どのユーザが、ブランドブランド5の製品を購入する傾向があるかが判定される。ユーザグループ全体の、製品Aおよび製品Bのそれぞれの名義属性値に関する製品を購入する傾向が似ている、すなわち、ブランドブランド2の製品を購入するユーザは、また、ブランドブランド5の製品も購入する場合、この名義属性に関するブランド2とブランド5との間の製品ブランドの類似度は高い。そうでなければ、ブランド2とブランド5との間の類似度は低い。前述の概念、および他の種類の属性の属性値の類似度スコアを計算する方法に基づき、ユーザによって現在選択されている製品と他の製品との間の類似度スコアが判定される。次いで、判定された類似度スコアに基づき、ユーザに提供される候補製品のリンクリストが判定される。図2は、本開示の例示的な実施形態による、主要部実現原理を図示するフローチャートを示す。10で、本方法は、第1の製品と、複数の第2の製品とを含む、同一の製品種類集合を提供する。同一の製品種類集合内の各第2の製品について、ブロック20~ブロック50が実施される。20で、本方法は、各非名義属性に関する第1の製品の値とそれぞれの第2の製品の値との間の類似度スコアを計算する。30で、本方法は、各名義属性に関する第1の製品の値とそれぞれの第2の製品の値との間の類似度スコアを計算する。名義属性に関する第1の製品の値およびそれぞれの第2の製品の値が異なる場合、本方法は、購入記録集合から、第1の製品の名義属性の値に対応する製品を購入するユーザが、また、第2の製品の名義属性の値に対応する製品も購入する傾向に基づき、第1の製品の名義属性の値と第2の製品の名義属性の値との間の類似度スコアを判定する。40で、本方法は、各非名義属性に関する第1の製品の値と第2の製品の値との間の類似度スコア、および各名義属性に関する第1の製品の値と第2の製品の値との間の類似度スコアに基づき、第1の製品とそれぞれの第2の製品との間の製品類似度スコアを計算する。50で、本方法は、第1の製品との類似度スコアが上位類似度スコアに入る少なくとも1つの第2の製品を、第1の製品の候補製品のリンクリストとして表現する。ブロック30で、2つの製品の名義属性の値の間の類似度スコアを計算するプロセス中、各名義属性に関する2つの製品の間の類似度スコアが判定される際、名義属性に関する第1の製品の値および第2の製品の値が同一である場合、名義属性に関する第1の製品の値と第2の製品の値との間の類似度スコアは、最大規定値例えば、1として設定される。本開示に開示される方法の主要部実現原理を図示し、説明するために、本開示の前述の原理に基づき、2つの例示的な実施形態を以下に記載する。第1の実施形態図3aは、候補製品のリンクリストを提供する、例示的なシステム300を図示する構造図を示す。システムは、ブラウザクライアント322と、ウェブサーバ324と、取引記録データベース326と、製品属性データベース328と、候補製品のリンクリストを判定する装置を実装するサーバコンピュータ330とを含む。ユーザは、様々な製品情報を閲覧し、関心製品を選択し、購入する製品を確定する等のために、ブラウザクライアント322を通して、ウェブサーバ324にログインしてもよい。ウェブサーバ324は、候補製品の検索リクエストを装置330に送信してもよい。リクエストは、例えば、指定製品の識別子を含んでもよい。一実施形態では、取引記録データベース326は、ユーザによって購入された製品の注文記録のデータを記憶してもよい。各注文記録は、注文が生成された時間、ユーザの識別子、ユーザによって購入された製品単数または複数の識別子単数または複数、購入された製品単数または複数の数単数または複数を含む。製品属性データベース328は、各製品と関連付けられる属性の属性値を記憶してもよい。いくつかの実施形態では、装置330は、同一の製品種類集合内の各製品について、製品と同一の製品種類集合内の他の製品との間の類似度スコアを判定してもよい。さらに、装置330は、製品の属性値と同一の製品種類集合内の他の製品のそれぞれの属性値との間の類似度スコア、および属性と関連付けられるそれぞれの所定の重みに基づき、製品と他の製品のそれぞれとの間のこれらの類似度スコアを判定してもよい。一実施形態では、装置330は、取引記録データベースに記憶されるユーザ購入記録集合、および製品属性データベースに記憶される各製品と関連付けられる属性の値に基づき、各製品の候補製品のリンクリストを判定してもよい。加えて、装置は、各製品の識別子と候補製品のリンクリストとの間の対応関係をさらに記憶してもよい。装置330は、ウェブサーバから候補製品の検索リクエストを受信するのに応えて、検索リクエスト内に含まれる指定製品の識別子に対応する候補製品のリンクリストを選択してもよい。装置は、製品の識別子とそれぞれの候補製品のリンクリストとの間の記憶される対応関係から、この候補製品のリンクリストを選択し、選択された候補製品のリンクリストをウェブサーバに提供してもよい。同一の製品種類集合内の第1の製品と第2の製品との間の類似度スコアが判定される際、装置は、同一の製品種類集合内の各第2の製品について、以下を実施してもよい。一実施形態では、装置は、各非名義属性に関する第1の製品の値と第2の製品の値との間の類似度スコアを計算する。各名義属性に関する第1の製品の値と第2の製品の値との間の類似度スコアが計算される際、第1の製品の名義属性の値が第2の製品の名義属性の値とは異なる場合、装置は、購入記録集合から、第1の製品の名義属性の値に対応する製品を購入するユーザが、第2の製品の名義属性の値に対応する製品を購入する傾向に基づき、第1の製品の名義属性の値と第2の製品の名義属性の値との間の類似度スコアを判定してもよい。いくつかの実施形態では、装置330は、各非名義属性に関する第1の製品の値と第2の製品の値との間の類似度スコア、および各名義属性に関する第1の製品の値と第2の製品の値との間の類似度スコアに基づき、第1の製品と第2の製品との間の類似度スコアをさらに計算してもよい。装置は、第1の製品と第2の製品のそれぞれとの間の類似度スコアを計算するのに応えて、第1の製品との類似度スコアが上位類似度スコアに入る少なくとも1つの第2の製品を、第1の製品の候補製品のリンクリストとして表現してもよい。候補製品のリンクリストをユーザに提供する例示的なプロセスが、図3bに示される。301で、ユーザは、ブラウザクライアントを通してウェブサーバと通信し、製品閲覧リクエストを送信する。製品閲覧リクエストは、異なる情報を含んでもよい。制限としてではなく、一例として、製品閲覧リクエストには、推奨製品のリストの閲覧リクエスト、キーワードに基づく製品情報の検索リクエスト、ならびに/またはユーザ名およびパスワード等を使用してログインすると送信される、オンラインストアによって販売される製品のブックマークされたリストの閲覧リクエストが挙げられる場合がある。302で、製品閲覧リクエストを受信すると、ウェブサーバは、製品リストをユーザに送信する。一実施形態では、製品リストは、製品の識別子を含んでもよい。加えて、または代替として、製品リストは、製品のサムネイル画像、簡単な説明等をさらに含んでもよい。303で、ユーザは、例えば、製品のサムネイル画像の上にマウスを乗せる、または製品の識別子をクリックすること等を通して、ウェブサーバによって提供される製品リストから製品Aを選択する。304で、ウェブサーバは、候補製品の閲覧リクエストを、候補製品のリンクリストを判定する装置に送信する。リクエストは、ユーザによって選択される製品Aの識別子を含む。305で、装置は、候補製品の閲覧リクエストを受信するのに応えて、予め記憶されている製品の識別子と候補製品のリンクリストとの間の対応関係表1に示されるから、候補製品の閲覧リクエスト内に含まれる製品Aの識別子に対応する候補製品のリンクリストリストA:H-I-Jを見つける。表1のH、I、J、K、L、M、R、S、T、およびUは、他の製品のそれぞれの識別子である。表1は、製品の識別子とそれぞれの候補製品のリンクリストとの間の記憶される対応関係の一実施例を示す。表1の候補製品のリンクリストは、装置によって事前に生成される、候補製品のリンクリストである。装置は、取引記録データベースおよび製品属性データベースに記憶されるデータに基づき、製品Aと他の製品との間の類似度スコアを計算し、製品Aとの類似度スコアが所定の閾値より大きい製品を候補製品集合CAに追加する。一実施形態では、装置はさらに、CA内の製品を類似度スコアの降順に並べ、候補製品のリンクリストを生成するために、所定数の上位ランクの製品を選択してもよい。本実施例では、製品Aの候補製品のリンクリストは、リストA:H-I-Jである。一実施形態では、2つの製品の間の類似度スコアの計算効率を高めるために、製品は、事前に分類されてもよい。製品Aと、製品Aが属する製品種類集合と同一の製品種類集合内の他の製品との間の類似度スコアのみが計算される。例えば、ユーザによって選択される製品Aが、ブランド5のボディーローションである場合、製品Aすなわち、ブランド5のボディーローションと化粧品集合内の他の製品との間の類似度スコアのみ、計算される必要がある。306で、装置は、見つけた候補製品のリンクリスト、リストA:H-I-Jをウェブサーバに送信する。307で、ウェブサーバは、ブラウザクライアントを通して、装置から送信される候補製品のリンクリストをユーザに表示する。308で、ユーザは、表示される候補製品のリンクリストに基づき、購入する製品を確定する。購入することを確定すると、ユーザは、購入確定のメッセージをウェブサーバに送信する。この購入確定のメッセージは、例えば、購入が確定される製品の識別子を含んでもよい。309で、ウェブサーバは、購入確定のメッセージを受信すると、注文を生成し、ユーザの購入記録を取引記録データベースに記憶する。前述のブロック306で、装置は、ユーザに表示するための候補製品のリンクリストを、ブラウザクライアントに直接、すなわち、ブロック307を省略するように、ウェブサーバを通して中継することなく、送信してもよい。図4は、前述のブロック305で候補製品のリンクリストを判定する装置を図示する、構造図を示す。候補製品のリンクリストが判定される際、装置は、最初に、各属性に関する同一の製品種類集合内の各製品例えば、製品Aの属性値と同一の製品種類集合内の他の製品例えば、製品Bの属性値との間の類似度スコアを計算する。装置は、例えば、製品Aの属性値と製品Bの属性値との間の類似度スコアに基づき、製品Aと製品Bとの間の類似度スコアを計算する。本開示の図5の様々なブロックは、2つの製品の名義属性値の間の類似度スコアの計算の向上を例証するために使用される。非名義属性数値属性、順序属性、および集合属性等の属性値の間の類似度スコアを計算する本方法は、既存の技術と同様であり、したがって、ここでは重複して記載しない。識別子としてAttribute_Iを有する名義属性に関する製品Aの値と製品Bの値との間の類似度スコアの計算を例証するために、ここに実施例を記載する。501で、本方法は、製品属性データベースに記憶される様々な製品の名義属性Attribute_Iのそれぞれの値に基づき、名義属性Attribute_Iの値集合ITEMを判定する。製品属性データベースのデータテーブルTable_Pは、各製品の属性値を記憶する。データテーブルTable_Pの記憶構造を表2に示す。各行は、同一の製品の様々な属性のそれぞれの値を含む。各列は、同一の属性の様々な製品のそれぞれの値を含む。代替として、製品の異なる属性の値は、同一の行の異なるフィールドに別個に記憶されると理解されてもよい。データベース検索にSQL文SelectdistinctAttribute_IfromTable_Pを使用することによって、テーブルTable_Pから、属性Attribute_Iに対応するフィールドの異なる属性値が取得されてもよい。したがって、N個の要素を含む、属性Attribute_Iの属性値集合すなわち、ValueSet_Attribute_I={ITEMi}、式中、i=0、...、Nが取得される。この具体的な実施例では、属性値集合ValueSet_Attribute_Iは、3つの異なる値、ITEM1、ITEM2、ITEM3を含む。502で、本方法は、取引記録データベースから、製品を購入したユーザの集合Set_Uを取得する。表3は、取引記録データベース内の注文データテーブルTable_Tの記憶構造の実施例を示す。各行内の異なるフィールドは、注文が生成された時間、ユーザの識別子、ユーザによって購入された製品単数または複数の識別子単数または複数、購入された製品の数単数または複数等を含む、注文記録の様々な関連データを別個に記憶する。例えば、注文記録がシリアル番号55を有する表3の第3の行は、2007年1月4日の18:00に、u100の識別子を有するユーザが、Aの製品識別子を有する単一の製品を購入したことを示す。上述のTable_Tでは、ユーザは、ユーザ識別子を記憶するフィールドである。データベース検索にSQL文SelectdistinctuserfromTable_Tを使用することによって、テーブルTable_Tから、ユーザフィールド内の異なるユーザ識別子例えば、u100、u101が取得されてもよい。したがって、ユーザ識別子集合Set_U={u100,u101}が取得されてもよい。好ましくは、ユーザの購入挙動が考慮される。具体的には、オンラインショッピングの習慣を有するユーザは、通常、オンラインショッピングを毎日または毎月行う。この種類のユーザの挙動は、特定の習慣または性向の特徴を保有する。何人かのユーザは、2、3年に1回、オンラインで製品を時折購入する場合がある。この種類のユーザの挙動は、偶発性が高く、いかなる性向も観測することが困難である。したがって、前の種類のユーザの注文記録は、比較的より有用である。データの量を削減し、処理効率を向上させることを考慮すると仮定して、ユーザ識別子集合Set_Uから、所定の期間内にオンラインショッピングを行うユーザ、例えば、1か月、ワンシーズン、半年、または1年以内等にオンラインショッピングを行うユーザを選択するために、フィルタリングがさらに適用されてもよい。503で、本方法は、ユーザ識別子および属性Attribute_Iの属性値の各組み合わせについて、ブロック501で取得される属性値集合ValueSet_Attribute_I、およびブロック502で取得されるユーザ識別子集合Set_Uに基づき、三重項<ui,itemj,1/0>を判定する。uiのユーザ識別子を有するユーザが、属性Attribute_Iの属性値としてitemjを有する製品を購入した場合、第3のベクトル要素の値は、1または第1の所定の値、すなわち、<ui,itemj,1>である。そうでなければ、特性三重項内の第3のベクトル要素の値は、ゼロまたは第2の所定の閾値、すなわち、<ui,itemj,0>である。各ユーザ識別子は、ユーザ識別子および属性Attribute_Iのそれぞれの属性値の三重項を構築するために、ユーザ識別子集合Set_Uから連続して取得される。以下は、2つの種類の三重項構築方法で実施されるプロセスを例証する。スキーム1:注文データテーブルTable_Tから、ユーザ識別子としてuiを有するすべての記録が取得される。取得される記録内の製品識別子フィールドから、ユーザ識別子がuiのユーザによって購入された製品の識別子の集合すなわち、が取得されてもよい。製品属性データベースから、集合内の各製品の属性Attribute_Iのそれぞれの値が取得されてもよい。製品属性データベースから、集合内の製品の属性値が取得される。第1のベクトル要素がuiに対応し、第2のベクトル要素が内の製品の属性Attribute_Iの値に対応する、三重項の第3のベクトル要素の値は、1に設定される。第1のベクトル要素がuiに対応し、第2のベクトル要素が、ユーザ識別子がuiのユーザによって購入された製品の属性Attribute_Iの値とは異なる、属性Attribute_I属性値集合ValueSet_Attribute_I内であるの値に対応する、三重項の第3のベクトル要素の値は、ゼロに設定される。このように、ユーザ識別子uiおよび属性値集合ValueSet_Attribute_I内に含まれる属性値の各組み合わせに対応するNの三重項が取得される。スキーム2:属性値集合ValueSet_Attribute_Iから、各属性値itemkが連続して取得され、kは、0~N属性値集合ValueSet_Attribute_I内に含まれる要素の数の範囲である。以下のSQL文が実行される。上記の文の戻り値がヌルではない場合、これは、ユーザuiが、名義属性Attribute_Iのそれぞれの値単数または複数としてitemkを有する製品単数または複数を購入したことを示す。第1のベクトル要素がであり、第2のベクトル要素がitemkである、三重項の第3のベクトル要素は、1に設定される、すなわち、<ui,itemk,1>となる。そうでなければ、第1のベクトル要素がuiであり、第2のベクトル要素がitemkである三重項の第3のベクトル要素は、ゼロに設定される、すなわち、<ui,itemk,0>となる。504で、本方法は、ブロック503で判定されるユーザの名義属性Attribute_Iの対応するNの三重項に基づき、名義属性Attribute_Iのユーザ属性値マトリックスを判定する。ユーザ属性値マトリックスの各行は、同一のユーザによって購入された製品が、属性値集合ValueSet_Attribute_I内の様々な属性値を保有するか否かに関する情報を含む。マトリックスの各列は、様々なユーザによって購入された製品が、属性値集合ValueSet_Attribute_I内の同一の属性値を保有するか否かに関する情報を含む。図6aに示されるように、属性値集合ValueSet_Attribute_I内で設定される属性の順序に従って、同一のユーザに対応するNの三重項の第3のベクトル要素が、ユーザ属性値マトリックスの同一の行の異なる場所に入力される。505で、本方法は、ブロック504で取得される属性値マトリックスに基づき、図6bの太線ボックスによって示される、列ベクトル製品Aの名義属性Attribute_Iの属性値itemiに対応すると、列ベクトル製品Bの名義属性Attribute_Iの属性値itemjに対応するとを取得する。本実施例では、であり、である。列ベクトルは、ユーザグループ全体の、名義属性Attribute_Iの属性値としてitemiを有する製品を購入する傾向、すなわち、どのユーザが、名義属性Attribute_Iの属性値としてitemiを有する製品を購入する傾向があるかを表す。列ベクトルは、ユーザグループ全体の、名義属性Attribute_Iの属性値としてitemjを有する製品を購入する傾向、すなわち、どのユーザが、名義属性Attribute_Iの属性値としてitemjを有する製品を購入する傾向があるかを表す。506で、本方法は、ブロック505で取得されるととの間の相互関連スコアを計算し、名義属性Attribute_Iに関する製品Aの値と製品Bの値との類似度スコアsimiitemi,itemjとして、計算された相互関連スコアを表現する。ブロック506で、相互関連度を計算する本方法を使用する代わりに、名義属性Attribute_Iに関する製品Aの値と製品Bの値との間の類似度スコアsimiitemi,itemjを判定するために、条件付き確率を使用する方法が、代替として使用されてもよいことに留意されたい。このプロセスの詳細が、図7で与えられる。701で、本方法は、名義属性の値が第1の製品および第2の製品の名義属性のそれぞれの値と合致する製品のユーザ購入記録に基づき、名義属性の値が第1の製品の名義属性の値と合致する製品を購入したユーザの第1の集合、名義属性の値が第2の製品の名義属性の値と合致する製品を購入したユーザの第2の集合、ならびに第1および第2の製品の名義属性のそれぞれの値と合致する名義属性のそれぞれの値を有する製品を購入したユーザの第3の集合を判定する。本実施形態は、図6bのi番目の列およびj番目の列に基づき、名義属性Attribute_Iの属性値としてitemiを有する製品を購入したユーザの集合UAすなわち、要素値が1である内の要素に対応するユーザによって形成される集合、名義属性Attribute_Iの属性値としてitemjを有する製品を購入したユーザの集合UBすなわち、要素値が1である内の要素に対応するユーザによって形成される集合、ならびに名義属性Attribute_Iの属性値としてitemiを有する製品、および名義属性Attribute_Iの属性値としてitemjを有する製品を購入したユーザの集合UABを取得することができる。702で、本方法は、第1、第2、および第3のユーザ集合に基づき、第1の条件付き確率および第2の条件付き確率を判定する。第1の条件付き確率は、第1の製品の名義属性の属性値と合致する属性値を有する製品を購入したユーザが、また、第2の製品の名義属性の属性値と合致する属性値を有する製品も購入するという状況の条件付き確率である。第2の条件付き確率は、第2の製品の名義属性の属性値と合致する属性値を有する製品を購入したユーザが、また、第1の製品の名義属性の属性値と合致する属性値を有する製品も購入するという状況の条件付き確率である。ユーザ集合UAおよびユーザ集合UABに基づき、属性値としてitemiを有する製品を購入したユーザが、また、属性値としてitemjを有する製品も購入するという状況の条件付き確率は、PB|A=|UAB|/|UA|であると判定され、式中、|U|は、集合U内に含まれる要素の数である。同様に、属性値としてitemjを有する製品を購入したユーザが、また、属性値としてitemiを有する製品も購入するという状況の条件付き確率は、PA|B=|UAB|/|UB|であると判定される。703で、本方法は、第1の条件付き確率および第2の条件付き確率の算術平均を、第1の製品の名義属性値と第2の製品の名義属性値との間の類似度スコアとして表現する。製品Aの名義属性Attribute_Iの属性値itemiと製品Bの名義属性Attribute_Iの属性値itemjとの間の類似度スコアsimiitemi,itemjは、simiitemi,itemj=PB|APA|B/2であると判定される。換言すれば、名義属性Attribute_Iの属性値としてitemiを有する製品を購入したユーザグループのユーザが、名義属性Attribute_Iの属性値としてitemjを有する製品を購入する傾向が高い場合、属性値itemiおよび属性値itemjは、相互と非常に類似する。理解することができるように、図7は、名義属性に関する2つの製品の間の類似度スコアを正確に計算するスキームのみを記載する。また、第1の条件付き確率および第2の条件付き確率を、類似度スコアとして直接表現することも、属性値に黙示的に含まれる意味論的意味を見い出すことができないという問題を解決することができる。図4に示されるように、候補製品のリンクリストを判定する装置は、供給ユニット401と、第1の類似度判定ユニット402と、第2の類似度判定ユニット403と、製品類似度判定ユニット404と、リンクリスト判定ユニット405とを含む。好ましくは、装置は、記憶ユニット406と、受信ユニット407と、選択ユニット408と、送信ユニット409とをさらに含んでもよい。供給ユニット401は、第1の製品と、複数の第2の製品とを含む、同一の製品種類集合を提供するように構成される。第1の類似度判定ユニット402は、同一の製品種類集合の各第2の製品について、各非名義属性に関する第1の製品の値と第2の製品の値との間の類似度スコアを計算するように構成される。第2の類似度判定ユニット403は、同一の製品種類集合の各第2の製品について、各名義属性に関する第1の製品の値と第2の製品の値との間の類似度スコアを計算するように構成される。第1の製品の名義属性の値が第2の製品の名義属性の値とは異なる場合、第2の類似度判定ユニット402は、購入記録集合から、第1の製品の名義属性の値に対応する製品を購入するユーザが、第2の製品の名義属性の値に対応する製品を購入する傾向に基づき、第1の製品の名義属性の値と第2の製品の名義属性の値との間の類似度スコアを判定してもよい。製品類似度判定ユニット404は、第1の類似度判定ユニット402によって判定される、各非名義属性に関する第1の製品の値と第2の製品の値との間の類似度スコア、および第2の類似度判定ユニット403によって判定される、各名義属性に関する第1の製品の値と第2の製品の値との間の類似度スコアに基づき、第1の製品と第2の製品との間の類似度スコアを計算するように構成される。リンクリスト判定ユニット405は、製品類似度判定ユニット404によって判定される、第1の製品と各第2の製品との間の類似度スコアに基づき、第1の製品との類似度スコアが上位類似度スコアに入る少なくとも1つの第2の製品を、第1の製品の候補製品のリンクリストとして表現するように構成される。記憶ユニット406は、第1の製品の識別子とリンクリスト判定ユニット405によって判定される候補製品のリンクリストとの間の対応関係を記憶するように構成される。受信ユニット407は、候補製品の検索リクエストを受信するように構成される。選択ユニット408は、受信ユニット407が候補製品の検索リクエストを受信するのに応えて、記憶ユニット406内に記憶される製品の識別子と候補製品のリンクリストとの間の対応関係から、検索リクエスト内に含まれる製品の識別子に対応する候補製品のリンクリストを選択するように構成される。送信ユニット409は、選択ユニット408によって取得される、候補製品のリンクリストをウェブサーバに送信するように構成される。第2の類似度判定ユニット403によって、製品Aの名義属性値と他の製品Bの名義属性値との間の類似度スコアを計算するプロセスの詳細は、図5~図7を参照することができ、したがって、ここでは重複して記載しない。特定の名義属性について、製品Aの属性値と製品Bの属性値との間の類似度スコアを判定する際、本実施形態は、その名義属性に関する各製品の属性値および各ユーザの製品購入記録に基づき、ユーザグループ全体によって購入された製品のその名義属性の値のそれぞれの傾向が、製品Aおよび製品Bの属性値に関して類似するか否かを判定する。類似する場合、これは、その名義属性についての製品Aの属性値と製品Bの属性値との間の類似度が高いことを示す。そうでなければ、その名義属性についての製品Aの属性値と製品Bの属性値との間の類似度は低い。したがって、その名義属性についての製品Aの属性値と製品Bの属性値との間の類似度スコアに黙示的に含まれる意味論的意味を見い出すことができる。これは、既存の技術の問題を克服し、名義属性値の類似度スコアの計算の精度を向上させ、したがって、候補製品のリンクリストの計算の精度を向上させる。第2の実施形態第1の実施形態は、選択される製品Aの候補製品のリンクリストを提供するオフライン方法を提供する。第1の実施形態は、製品Aと他の製品との間の類似度スコアを計算し、選択された製品Aと他の製品との間の計算された類似度スコアに基づき、候補製品のリンクリストを提供し、各製品の識別子とそれぞれの候補製品のリンクリストとの間の対応関係を記憶し、候補製品の検索リクエストを受信するのに応えて、その製品識別子と対応する候補製品のリンクリストとの間の対応関係から、検索リクエスト内に含まれる製品識別子に対応する候補製品のリンクリストを選択し、選択された候補製品のリンクリストをウェブサーバに提供する。本方法は、これらの製品の識別子とそれぞれの候補製品のリンクリストとの間の対応関係を事前に記憶し、したがって、特定のシステム資源を占有する。しかしながら、これらの対応関係の部分は、検索される確率が低い場合がある。結果として、本開示は、候補製品のリンクリストを判定するオンライン方法をさらに提供する。具体的には、ブロック305で、装置は、各製品の識別子と候補製品のリンクリストとの間の記憶される対応関係から、候補製品の検索リクエスト内に含まれる製品識別子に対応する候補製品のリンクリストを選択しない。むしろ、装置は、取引記録データベースおよび製品属性データベース内のデータに基づき、候補製品の検索リクエスト内に含まれる製品識別子に対応する候補製品のリンクリストをリアルタイムに計算する。この候補製品のリンクリストのリアルタイム計算方法は、類似度スコアが計算される際、同一の製品種類集合内の他の製品の数が比較的大きい場合に、比較的大きい量の時間を消費する場合がある。ブロック305で、装置が、比較的短い期間内に、ウェブサーバから比較的大きい数の候補製品の検索リクエストを受信する場合、処理作業負荷が増加する。したがって、上記を考慮して、好ましくは、名義属性以外の属性について、フィルタリングが事前に実施されてもよい。名義属性以外の属性例えば、数値属性等に関する指定製品A候補製品の検索リクエスト内に含まれる製品識別子に対応するの属性値と別の製品Bの属性値との間の類似度スコアが、それぞれの所定の閾値未満である場合、もはや名義属性についての製品Aの属性値と製品Bの属性値との間の類似度スコアを計算する必要はない。製品Bは、候補製品集合CAから即座に除外される。図8は、候補製品のリンクリストを判定する例示的な装置を図示する、構造図を示す。装置は、受信ユニット801と、製品類似度判定ユニット802と、リンクリスト判定ユニット803と、送信ユニット804とを含む。受信ユニット801は、ウェブサーバから候補製品の検索リクエストを受信するように構成される。製品類似度判定ユニット802は、検索リクエスト内に含まれる製品識別子に対応する指定製品について、指定製品の属性値とそれぞれの製品の属性値との間の類似度スコア、および属性の所定の重みに基づき、指定製品と指定製品が属する製品種類集合と同一の製品種類集合内の他の製品のそれぞれとの間の類似度スコアを判定するように構成される。各名義属性に関する指定製品の属性値と他の製品のそれぞれの属性値との間の類似度スコアを判定する際、指定製品と他の製品のそれぞれ1つとの間の名義属性に関する属性値が異なる場合、製品類似度判定ユニット802は、購入記録の集合から、第1の製品の名義属性の値に対応する製品を購入するユーザが、他の製品のそれぞれ1つの名義属性の値に対応する製品を購入する傾向に基づき、第1の製品の名義属性の値と他の製品のそれぞれ1つの名義属性の値との間の類似度スコアを判定してもよい。リンクリスト判定ユニット803は、指定製品との類似度スコアが上位類似度スコアに入る少なくとも1つの他の製品を、指定製品の候補製品のリンクリストとして表現するように構成される。送信ユニット804は、リンクリスト判定ユニット803によって取得される、候補製品のリンクリストをウェブサーバに送信するように構成される。当業者は、上記の例示的な方法におけるプロセスのすべてまたは一部が、関連ハードウェアに命令するコンピュータプログラムを使用することによって達成されてもよいことを理解することができる。プログラムは、コンピュータ可読記憶媒体、例えば、ROM/RAM、磁気ディスク、光学ディスク等に記憶されてもよい。開示される方法、装置、およびシステムは、汎用もしくは専用コンピュータシステム単数または複数の環境または構成で使用されてもよい。例には、パーソナルコンピュータ、サーバコンピュータ、携帯デバイスまたは可搬型デバイス、タブレットデバイス、マルチプロセッサシステム、マイクロプロセッサシステム、セットトップボックス、プログラム可能な家庭用電化製品、ネットワークPC、マイクロコンピュータ、マクロコンピュータ、および上記の任意のシステムまたはデバイスを含む分散コンピューティング環境が挙げられる。開示される方法、装置、およびシステムは、コンピュータ実行可能命令の一般的文脈、例えば、プログラムモジュールで記載することができる。一般的に、プログラムモジュールは、特定の機能を実施する、または特定の抽象データ型を実装する、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造等を含むことができる。また、開示される方法、装置、およびシステムは、通信ネットワークを通してリンクされる遠隔処理デバイスによって機能が実施される、分散コンピューティング環境で実践することもできる。分散コンピューティング環境では、プログラムモジュールは、メモリ記憶デバイスを含む、ローカルおよび/または遠隔コンピュータ記憶媒体内に位置してもよい。例えば、図9は、上述される装置等の例示的な装置900をより詳細に図示する。一実施形態では、装置900は、1つ以上のプロセッサ901と、ネットワークインターフェース902と、メモリ903と、入力/出力インターフェース904とを含むことができるが、これらに限定されない。メモリ903は、ランダムアクセスメモリRAM等の揮発性メモリ、および/もしくは読み取り専用メモリROM等の不揮発性メモリ、またはフラッシュRAMの形態のコンピュータ可読媒体を含んでもよい。メモリ903は、コンピュータ可読媒体の一例である。コンピュータ可読媒体には、コンピュータ可読命令、データ構造、プログラムモジュール、もしくは他のデータ等の情報の記憶のための、任意の方法または技術で実現される、揮発性および不揮発性の、取り外し可能ならびに取り外し不可能な媒体を含む。コンピュータ記憶媒体の例としては、相変化メモリPRAM、静的ランダムアクセスメモリSRAM、動的ランダムアクセスメモリDRAM、他の種類のランダムアクセスメモリRAM、読み取り専用メモリROM、電気的消去可能プログラマブル読み取り専用メモリEEPROM、フラッシュメモリ、もしくは他のメモリ技術、コンパクトディスク読み取り専用メモリCD-ROM、デジタル多用途ディスクDVD、もしくは他の光学記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置、もしくは他の磁気記憶デバイス、またはコンピューティングデバイスがアクセスするための情報を記憶するために使用することができる任意の他の非伝送媒体が挙げられるが、これらに限定されない。本明細書で定義されるように、コンピュータ可読媒体には、変調データ信号および搬送波等の一過性媒体を含まない。メモリ903は、プログラムユニット905と、プログラムデータ906とを含んでもよい。一実施形態では、プログラムユニット905は、供給ユニット907と、第1の類似度判定ユニット908と、第2の類似度判定ユニット909と、製品類似度判定ユニット910と、リンクリスト判定ユニット911とを含んでもよい。加えて、または代替として、いくつかの実施形態では、プログラムユニット905は、記憶ユニット912と、受信ユニット913と、選択ユニット914と、送信ユニット915とをさらに含んでもよい。これらのプログラムユニットについての詳細は、上述される前述の実施形態において見られる場合がある。理解することができるように、当業者は、開示される方法、システム、および装置を、本開示の趣旨ならびに範囲から逸脱することなく、多くの異なる方法で変更または修正してもよい。したがって、本開示は、本開示の特許請求の範囲の範囲に包含されるすべての修正物および変形物、ならびにそれらの均等物を網羅することが意図される。"