(57)【特許請求の範囲】
【請求項１】
ネットワークサーバの１又は複数のプロセッサによって実行される、情報推薦を生成する方法であって：
ユーザの行動履歴情報を特定するステップ（Ｓ１０１）であって、前記行動履歴情報は、サーバ上でユーザによって実行された操作に関する情報を含む、ステップと；
前記行動履歴情報に基づいて複数の推薦情報セットを特定するステップ（Ｓ１０２）と；
複数の重み係数に基づいて推薦リストを特定するステップ（Ｓ１０３）であって、前記複数の重み係数の各重み係数は、前記各推薦情報セットについての既定の係数である、ステップと；
前記推薦リスト内に含まれ、ユーザの前記行動履歴情報と一致する情報の数が既定の推薦条件を満たしているかどうかを特定するステップ（Ｓ１０４）と；
前記推薦リストが前記推薦条件を満たしている場合に、前記推薦リストに含まれる情報を前記ユーザに推薦するステップ（Ｓ１０５）；又は、
前記推薦リストが前記推薦条件を満たしていない場合に、前記各推薦情報セットの各重み係数を調整し、前記特定された推薦リストが前記推薦条件を満たすようになるまで、前記調整された重み係数に基づいて新たな推薦リストを特定するステップ（Ｓ１０６）；を備える、
情報推薦を生成する方法。
【請求項２】
前記ユーザの前記行動履歴情報をテスト情報と参照情報とに分割するステップをさらに備える、
請求項１に記載の方法。
【請求項３】
前記推薦リストが既定の推薦条件を満たしているかどうかを特定する前記ステップは：
前記参照情報に基づいて前記推薦リストの的確性を特定するステップと；
前記的確性が既定の閾値よりも高いかどうかを特定するステップと；
前記的確性が前記閾値よりも高い場合には、前記推薦リストが前記既定の推薦条件を満たしていると特定し、前記的確性が前記閾値よりも高くない場合には、前記推薦リストが前記既定の推薦条件を満たしていないと特定するステップと；を備える、
請求項２に記載の方法。
【請求項４】
前記行動履歴情報に基づいて複数の推薦情報セットを特定する前記ステップは：
前記テスト情報に基づいて種々の推薦アルゴリズムを介して前記複数の推薦情報セットを特定するステップを備える、
請求項２に記載の方法。
【請求項５】
前記種々の推薦アルゴリズムは、協調フィルタリングベースの推薦アルゴリズム、コンテンツベースの推薦アルゴリズム、相関ルールベースの推薦アルゴリズム、及びナレッジベースの推薦アルゴリズムのうちの複数を含む、
請求項４に記載の方法。
【請求項６】
前記推薦リストを特定する前記ステップは：
前記推薦情報セットの重み係数と、前記推薦情報セットに関連する各々の情報の推薦重み係数とに基づき、前記各推薦情報セットについて、前記推薦情報セットに含まれる各々の情報のサブ重み係数を特定するステップと；
前記各々の情報について、全ての前記推薦情報セットに関連する前記情報のサブ重み係数の合計を求め、前記合計を前記特定の情報の総重み係数として用いるステップと；
前記各々の情報の前記総重み係数に基づいて前記推薦リストを特定するステップと；を備える、
請求項１乃至請求項５のいずれか１項に記載の方法。
【請求項７】
前記各推薦情報セットの各重み係数を調整することは：
反復情報に基づいて、前記各推薦情報セットの前記重み係数への調整の値を特定するステップと；
特定された前記調整の値に基づいて、前記各推薦情報セットの前記重み係数を調整するステップと；を備える、
請求項１乃至請求項６のいずれか１項に記載の方法。
【請求項８】
前記反復情報は、前記各推薦情報セットの前記重み係数に対する前回の調整の値、前回特定された推薦リストの的確性、及び、取得した全ての前記推薦リストの的確性の値のうち最も高い的確性の値、のうち少なくとも１つを備える、
請求項７に記載の方法。
【請求項９】
前記各推薦情報セットの前記重み係数への調整回数が既定の回数に達すると、前記取得した全ての推薦リストのうち最も的確なものを特定するステップと；
前記最も的確な推薦リストに含まれる情報を前記ユーザに推薦するステップと；をさらに備える、
請求項７に記載の方法。
【請求項１０】
請求項１乃至請求項９のいずれか１項に記載の方法を実行するように構成された複数のモジュールを備える、
情報推薦を生成する装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本願は、２０１５年１１月２５日に提出され「情報推薦方法及び装置」と題された中国特許出願第２０１５１０８３１２０６．３号の優先権を主張し、上記中国特許出願は参照によってその全体が本願に組み込まれる。
【０００２】
本願は情報技術の分野に関し、特に、ハイブリッド型推薦（レコメンデーション）方法及び装置に関する。
【背景技術】
【０００３】
情報社会の発展に伴い、人々はオンラインショッピング、オンラインバンキング、インスタントメッセージングのようなソーシャル活動にインターネットを使うことに慣れている。ウェブサイトブラウジングのユーザエクスペリエンスを向上させ、ユーザが閲覧したいコンテンツを迅速に見つけられるようにするために、オンラインサービスプロバイダは、通常、ユーザ行動データに基づいて、推薦情報をウェブサイト上で提供する。例えば、音楽ウェブサイトはユーザに曲を推薦でき、ソーシャルネットワーキングウェブサイトはユーザに友達を推薦できる。
【０００４】
情報を推薦する推薦リストは、通常、推薦アルゴリズムに基づいて算定される。一般に、推薦アルゴリズムには、情報コンテンツに基づく推薦と、ユーザ行動に基づく推薦との２つのタイプがある。前者は、ユーザ行動データを用いずに推薦リストを直接に算定することができる。しかし、推薦リストにおける推薦結果をユーザの嗜好に合わせてカスタマイズすることができないので、的確性が低い。後者は比較的的確性の高い推薦リストを算定できるが、その的確性はユーザ行動データの量に依存するため、制約がある。従来、これら２つのタイプの推薦アルゴリズムの欠点に対処するために、通常は、複数の推薦アルゴリズムの結果を組み合わせたハイブリッド型推薦リストを算定する。重み係数ベースのハイブリッド型推薦方法は、組み合わせ易さ、推薦されるアルゴリズムを組み合わせることの便宜性、高いフレキシビリティといった利点のために、最も一般的に用いられている。
【０００５】
しかし、重み係数ベースのハイブリッド型推薦方法を用いて取得した推薦リストがユーザの嗜好を満たすかどうか、つまり、推薦リストにおける推薦結果がユーザの要求を満たすかどうかは、重み係数ベースのハイブリッド型推薦方法に用いられる重み係数に依存する。従来、重み係数ベースのハイブリッド型推薦方法で用いられる重み係数は、通常は、観察又はヒューリスティックな（発見的な）経験に基づいて設定及び調整される。
【０００６】
重み係数を観察又はヒューリスティックな経験に基づいて設定及び調整するには多大な時間と労力を要する。さらに、その結果得られる推薦リストの的確性は比較的低い。加えて、ユーザの嗜好は変化し得るが、ヒューリスティックな経験に基づいて設定された重み係数は比較的長い期間にわたって変更されないことがある。ユーザの嗜好が変化する場合に、既存の方法ではこの変化に従ってタイムリーな調整を提供できないことがある。そのため、重み係数ベースのハイブリッド型推薦方法を用いて取得した推薦リストではユーザの要求を満たすことが難しいであろう。これに対応して、ユーザは情報を見つけるために多くの時間を検索に費やさねばならず、その結果ネットワーク資源が消費され、サーバ圧力が上昇する。
【発明の概要】
【０００７】
手動で設定された重み係数に基づいて得た推薦リストがユーザの要求を満たさない場合に、ユーザは有用な情報を検索するために多くの時間を費やさねばならないので、ネットワーク資源消費とサーバ圧力が高まるという既存の問題を解決するために、本願の実施の形態は情報推薦方法及び装置を提供する。
【０００８】
本願の実施の形態は、ユーザの行動履歴情報を特定するステップと；前記行動履歴情報に基づいて複数の推薦情報セットを特定するステップと；各々の推薦情報セットについての既定の重み係数に基づいて推薦リストを特定するステップと；前記推薦リストが既定の推薦条件を満たしているかどうかを特定するステップと；前記推薦リストが前記条件を満たしている場合には、前記推薦リストに含まれる情報を前記ユーザに推薦し、前記推薦リストが前記条件を満たしていない場合には、各々の推薦情報セットの前記重み係数を調整し、前記特定された推薦リストが前記推薦条件を満たすようになるまで、前記調整された重み係数に基づいて新たな推薦リストを特定する、前記推薦リストに含まれる情報を前記ユーザに推薦するステップと；を含む、情報推薦方法を提供するものである。
【０００９】
本願の実施の形態は、ユーザの行動履歴情報を特定するように構成された行動特定モジュールと；前記行動履歴情報に基づいて複数の推薦情報セットを特定するように構成された情報セット特定モジュールと；各々の前記推薦情報セットに既定された重み係数に基づいて、推薦リストを特定するように構成された組み合わせモジュールと；前記推薦リストが既定の推薦条件を満たしているかどうかを特定するように構成された特定・推薦モジュールであって、前記推薦リストが前記条件を満たしている場合には、前記推薦リストに含まれる情報を前記ユーザに推薦し、前記推薦リストが前記条件を満たしていない場合には、各々の推薦情報セットの前記重み係数を調整し、前記組み合わせモジュールに、前記組み合わせモジュールにより特定された前記推薦リストが前記推薦条件を満たすまで、前記調整された重み係数に基づいて新たな推薦リストを特定するように命令し、前記推薦リスト内に含まれる情報を前記ユーザに推薦するように構成された、特定・推薦モジュールと；を含む、情報推薦装置を提供するものである。
【００１０】
本願の実施の形態は、情報推薦方法及び装置を提供する。この方法では、ユーザの行動履歴情報に基づいて種々の推薦アルゴリズムを介して、複数の推薦情報セットを特定する。そして各推薦情報セットに対応した重み係数に基づいて推薦リストを特定する。推薦リストが既定の推薦条件を満たしていない場合には、推薦リストに対応した各推薦情報セットの重み係数を調整し、又、取得した推薦リストが推薦条件を満たすようになるまで、調整された推薦リストを取得する。次に、推薦リスト内の情報をユーザに推薦する。情報推薦方法では、ユーザのニーズを満たす推薦リストを取得するために、各推薦情報セットの重み係数を手動で設定する必要はなく、ユーザの行動履歴データに基づいて自動的に調整できる。これにより、推薦リストの的確性を向上させることができるので、ユーザは関連情報の検索に多くの時間を費やす必要がなくなる。加えて、ネットワーク資源を節約でき、サーバ圧力を解放できる。
【図面の簡単な説明】
【００１１】
ここで述べる添付の図面の意図は本願の更なる理解を提供することであり、本願の一部を構成する。本願の例示の実施の形態とこの実施の形態の説明は本願を説明するためのものであり、本願の限定を構成するものではない。添付の図面は以下の通りである。
【００１２】
【図１】図１は、本願の実施の形態に係る情報推薦工程を示す図である。
【００１３】
【図２】図２は、本願の実施の形態に係る情報推薦装置を示す概略構造図である。
【発明を実施するための形態】
【００１４】
本願の実施の形態では、推薦リストを取得するためにやはり重み係数ベースのハイブリッド型推薦方法を用いる。重み係数ベースのハイブリッド型推薦方法における各推薦情報セットの重み係数は、ユーザの行動履歴情報に基づき最適化アルゴリズムにより反復的に特定でき、ヒューリスティックな経験に基づき特定する必要がない。したがって、取得した推薦リストは比較的的確であり、ユーザは関連情報を検索するために追加の時間を費やす必要がないため、ネットワーク資源の節約となり、サーバ圧力は解放される。
【００１５】
本願の目的、技術的解決策、及び利点を例示するために、以降の説明は、本願の各実施の形態とそれに対応する添付の図面を参照しながら本願の技術的方法を明確かつ完全に記述する。記述された実施の形態は本願の全ての実施の形態ではなく、そのいくつかに過ぎないことは明らかである。創造的な努力を伴うことなく本願の実施の形態に基づいて当業者により得られたその他の全ての実施の形態は、本願の保護範囲に含まれる。
【００１６】
図１は、本願の実施の形態に係る情報推薦工程を示す図である。この工程は以下のステップを含む。
【００１７】
Ｓ１０１：ユーザの行動履歴情報を特定する。
【００１８】
本願のこの実施の形態では、ネットワーク資源を節約し、サーバ圧力を解放するために、サーバは、ユーザの行動習性に一層合致する、的確性がより高い情報をユーザに推薦する必要がある。そのため、サーバは、少なくともユーザの嗜好又はニーズといった関連情報を特定し、この関連情報に基づいてユーザに情報を選択的に推薦する必要がある。このような関連情報はユーザの行動に関連付けることができるため、ウェブサイトは、推薦情報をユーザの行動履歴情報に基づいて選択できる。
【００１９】
本願のこの実施の形態のステップＳ１０１では、サーバはまずユーザの行動履歴情報を特定する。ユーザの行動履歴情報は、サーバ上でのユーザの行動履歴に対応した情報であってよく、この情報としては例えば、ユーザが閲覧した情報の内容及び属性、ユーザが検索した情報の内容及び属性、ユーザがフォロー又は収集した情報の内容及び属性がある。このような情報はユーザの嗜好、ニーズ等に関連していることがわかる。サーバは既定の期間におけるユーザの履歴データを特定できる。この期間はニーズに基づいて特定され得る。例えば、履歴期間を「過去３か月」のように設定できる。
【００２０】
Ｓ１０２：行動履歴情報に基づいて、複数の推薦情報セットを特定する。
【００２１】
本願のこの実施の形態では、サーバは重み係数ベースのハイブリッド型推薦方法を用いて、ユーザに推薦するための最終的な推薦リストを特定する。したがって、ステップＳ１０１でユーザの行動履歴情報を特定した後に、サーバは、種々の推薦アルゴリズムを用い、行動履歴情報に基づいて複数の推薦情報セットを特定でき、推薦リストを取得するためこの推薦情報セットにハイブリッド型の重み付けを実行する。推薦アルゴリズムは、協調フィルタリングベースの推薦アルゴリズム、コンテンツベースの推薦アルゴリズム、相関ルールベースの推薦アルゴリズム、ナレッジベースの推薦アルゴリズム等であってよい。推薦情報セットを特定するために用いる推薦アルゴリズムは、特定の実施の形態に何ら限定されることはない。
【００２２】
種々の推薦アルゴリズムを介して取得した推薦情報セット内の各情報について、関連する推薦重み係数を取得できる点に留意することが重要である。つまり、推薦情報セット毎に、その推薦情報セットに含まれる各情報が推薦情報セットに対応した推薦重み係数を有するということである。推薦情報セットに含まれる情報は、推薦情報セットに対応した同じ重み係数又は異なる重み係数を有することができる。
【００２３】
例えば、ユーザＩの行動履歴情報を取得した後に、サーバがユーザベースの協調フィルタリング推薦アルゴリズムと商品ベースの協調フィルタリング推薦アルゴリズムとを用いて、行動履歴情報に基づき別々に計算を実行する場合に、サーバは、推薦情報セットαと推薦情報セットβの２つの推薦情報セットを特定できる。２つの推薦情報セットは異なる推薦アルゴリズムを介して取得されているため、２つの推薦情報セットに含まれる情報は同一でなくてよい。
【００２４】
Ｓ１０３：各推薦情報セットについての既定の重み係数に基づいて推薦リストを特定する。
【００２５】
本願ではステップＳ１０２にて各推薦情報セットが特定されているので、推薦リストを各推薦情報セットについての既定の重み係数に基づいて特定できる。既定の重み係数は、経験に基づく既定の初期重み係数、又は、ランダム関数に基づいて取得したランダムの初期重み係数であってよい。既定の重み係数は初期係数を表し、又、これは最終的な推薦リストを取得するために用いる重み係数でなくてもよい。
【００２６】
本願のこの実施の形態では、各推薦情報セットについての既定の重み係数に基づいて推薦リストを特定するステップは以下のように記述できる。
【００２７】
先ず、各推薦情報セットについて、推薦情報セットに含まれる各情報のサブ重み係数を、推薦情報セットの重み係数と、推薦情報セットに関連した各情報の推薦重み係数とに基づいて求めることができる。ここで、推薦情報セットに含まれている各情報は、推薦情報セットに対応した推薦重み係数を有する。そのため、本願における推薦情報セットに関連した各情報のサブ重み係数は、推薦情報セットに関連した各情報の推薦重み係数と推薦情報セットの重み係数との積であってよい。
【００２８】
加えて、各情報について、全ての推薦情報セットに関連した情報のサブ重み係数の合計を求めることができ、この合計は特定の情報の総重み係数として用いられる。最後に、各情報の総重み係数に基づいて推薦リストを特定できる。
【００２９】
さらに、各情報の総重み係数に基づいて推薦リストを特定するステップは、全ての情報の総重み係数の降順に基づいて推薦リストを特定するステップを含むことができる。より大きい総重み係数を持った情報をユーザに好適に推薦できる。推薦リストは各情報の総重み係数に基づいて特定されるため、推薦リストは各推薦情報セットからの情報を含むことができる。推薦リストに大量の情報が含まれているときに、その推薦リスト内の全ての情報がユーザに推薦された場合、ユーザは、推薦情報の中から必要な情報を見つけることが困難になり、ユーザはまた情報検索しなければならなくなる。そのため、本願で提供するこの方法では、推薦リストを全ての情報のうちの最初のいくつかの情報で形成することができる。つまり、各推薦情報セットに含まれる情報を、その総重み係数に基づく降順に順序付けることが可能である。次に、この順序に従って特定数の情報を選択し、推薦リストを形成することができる。
【００３０】
先に述べた実施例の説明を続けると、２つの推薦情報セットに既定された重み係数は（０．４、０．６）である。推薦情報セットαと推薦情報セットβの重み係数はそれぞれ０．４、０．６である。表１には、推薦情報セットα及び推薦情報セットβに含まれた情報と、この２つの推薦情報セットに含まれている各情報の推薦重み係数を示す。
【表１】
0006676167.tif 000002
【００３１】
表１中で、推薦情報セットα内の商品Ａの推薦重み係数は０．９であり、推薦情報セットβ内の商品Ａの推薦重み係数は０．６であり、推薦情報セットαの重み係数は０．４であり、推薦情報セットβの重み係数は０．６である。したがって、推薦情報セットαに対応する情報のサブ重み係数は０．３６であり、推薦情報セットβに対応する情報のサブ重み係数は０．３６である。この場合、情報の総重み係数は０．７２である、すなわち、商品Ａの総重み係数は０．７２である。
【００３２】
表２には、商品について特定された総重み係数を示す。
【表２】
0006676167.tif 000003
【００３３】
表２中で、商品は総重み係数に基づいて降順に、すなわち、商品Ａ、商品Ｏ、商品Ｍ、商品Ｇ、商品Ｃ、商品Ｔ、商品Ｆの順に順序付けされている。推薦リストを形成するために最初の５つの情報が選択された場合には、最終的な推薦リストは商品Ａ、商品Ｏ、商品Ｍ、商品Ｇ、商品Ｃを含む。
【００３４】
Ｓ１０４：推薦リストが既定の推薦条件を満たしているかどうかを特定する。推薦リストが条件を満たしている場合にはステップＳ１０５へ進む。また、推薦リストが条件を満たしていない場合にはステップＳ１０６へ進む。
【００３５】
本願のこの実施の形態では、推薦リストはステップＳ１０１〜Ｓ１０３で特定される。しかし、推薦リスト内の情報がユーザの期待に適っているかどうかは特定できない。そのため、本願では、推薦リストが既定の推薦条件を満たしているかどうかをさらに特定する必要がある。種々の後続の処理方法を、種々の特定結果に基づいて選択できる。
【００３６】
加えて、推薦情報リストに含まれた情報がユーザの期待に適っているかどうかを、ユーザの行動履歴情報に基づいて特定する必要がある。そのため、本願では、推薦リストの的確性を、ステップＳ１０１で特定されたユーザの行動履歴情報に基づいて特定できる。さらに、推薦リストの的確性が既定の閾値よりも高いかどうかを特定できる。この的確性が閾値よりも高い場合には、推薦リストは既定の推薦条件を満たしているので、ステップＳ１０５を実行する。的確性が閾値より高くない場合には、推薦リストは既定の推薦条件を満たしていないので、ステップＳ１０６を実行する。
【００３７】
先ず、推薦リスト内に含まれ、ユーザの行動履歴情報と一致する情報の数を特定できる。次に、推薦リスト内に含まれる情報の総数に対するこの数の比率を求める。この比率は推薦リストの的確性として用いられる。
【００３８】
先に述べた実施例の説明を続けると、サーバ上での既定の閾値を０．４であると仮定する。ユーザの行動履歴情報は、「ユーザが商品Ａ、商品Ｑ、商品Ｒ、商品Ｈ、商品Ｍ、商品Ｆ、商品Ｌをクリックする」である。ステップＳ１０３で特定された推薦リスト内の情報には、商品Ａ、商品Ｏ、商品Ｍ、商品Ｇ、商品Ｃが含まれる。そのため、推薦リスト内に含まれ、ユーザの行動履歴情報と一致する情報は商品Ａ及び商品Ｍであり、一致する情報の数は２つである。推薦リストは合計で５つの情報を含んでいるため、推薦リスト内に含まれる情報の総数に対する一致する情報の数の比率は０．４である。最終的に、比率（０．４）を推薦リストの的確性として用いる。この的確性は既定の閾値より高くない。そのため、推薦リストは既定の推薦条件を満たしていないので、ステップＳ１０６を実行する。
【００３９】
Ｓ１０５：推薦リスト内に含まれる情報をユーザに推薦する。
【００４０】
本願のこの実施の形態では、ステップＳ１０４で、推薦リストが既定の条件を満たしていると特定された場合には、この推薦リストはユーザのニーズを満たすことができる。そのため、ステップＳ１０５を実行して、推薦リスト内に含まれる情報をユーザに推薦できる。
【００４１】
Ｓ１０６：各推薦情報セットの重み係数を調整し、ステップ１０３へ戻る。
【００４２】
ステップ１０４で、推薦リストが推薦条件を満たしていないと特定された場合、サーバは、推薦リストが推薦条件を満たすようになるまで、既定の最適化アルゴリズムを用いて各推薦情報セットの重み係数を調整し、この調整された重み係数に基づいて新たな推薦リストを特定する。その後、サーバは推薦リスト内に含まれる情報をユーザに推薦する。
【００４３】
本願では、的確な推薦情報をより迅速に特定し、ネットワーク資源を節約し、サーバ圧力を解放できるようにするために、各推薦情報セットの重み係数をステップＳ１０３〜Ｓ１０６の反復工程を介して自動的に調整できる。
【００４４】
既定の最適化アルゴリズムを用いることで、反復情報（各推薦情報セットの重み係数に対する前回の調整の値、前回特定された推薦リストの的確性、取得した全ての推薦リストの的確性の値の中で最も高い的確性の値）のうち少なくとも１つに基づいて、各推薦情報セットの重み係数の調整の値を特定できる。次に、各推薦情報セットの重み係数を、特定された調整の値に基づいて調整する。
【００４５】
以下の重み係数調整工程の実施例では、使用される最適化アルゴリズムは粒子群（最適化）アルゴリズムである。サーバは、式：Ｖｋ＋１＝Ｗｋ×Ｖｋ＋Ｃ１×ｒａｎｄ１×（Ｐｂｅｓｔ−Ｘｋ）＋Ｃ２×ｒａｎｄ２×（Ｇｂｅｓｔ−Ｘｋ）を用いて各推薦情報セットの重み係数に対する調整の値を求め、続いて、式：Ｘｋ＋１＝ＸＫ＋ＶＫ＋１を用いて、各推薦情報セットの調整された重み係数を求めることができる。
【００４６】
ここで、Ｖｋ＋１は、各推薦情報セットの重み係数に対する（Ｋ＋１）番目の調整の値である。Ｖｋは、重み係数に対するＫ番目の調整の値である。Ｗｋは、Ｋ番目の調整の慣性重み係数である。Ｃ１とＣ２は既定の定数である。ｒａｎｄ１とｒａｎｄ２は、値の範囲が（０，１）のランダム関数である。Ｐｂｅｓｔは、Ｋ番目の調整後に特定された推薦リストと、（Ｋ＋１）番目の調整後に特定された推薦リストとのうち、より的確なものに対応した各推薦情報セットの重み係数である。Ｇｂｅｓｔは、特定された全ての推薦リストのうち最も的確なものに対応した各推薦情報セットの重み係数である。Ｘｋは、Ｋ番目の調整後に特定された推薦リストに対応した各推薦情報セットの重み係数である。
【００４７】
慣性重み係数Ｗｋは、調整数Ｋが増えるに従って低下する点に留意することが重要である。Ｗｋは式：Ｗｋ＝Ｗｓ−（Ｗｓ−Ｗｅ）×（Ｋ／Ｋｍａｘ）２によって求めることができる。式中、Ｗｓは既定の最初の慣性重み係数であり、経験に基づいて設定することができる。Ｗｅは既定の最後の慣性重み係数であり、やはり経験に基づいて特定できる。Ｋは現在の調整数である。Ｋｍａｘは既定の最大調整数である。
【００４８】
先の式から分かるように、現在の調整が（Ｋ＋１）番目の調整である場合、式中のＰｂｅｓｔは、反復情報内の前回特定された推薦リストの的確性を現在の調整後に取得した推薦リストの的確性と比較することにより求められる。Ｇｂｅｓｔは、最も大きい的確性の値を現在の調整後に取得した推薦リストの的確性と比較することにより求められる。Ｖｋは、反復情報内の各推薦情報セットの重み係数に対する前回の調整の値に基づいて求められる。次に、現在の調整の値Ｖｋ＋１を、計算により求めることができる。現在の調整後の各推薦情報セットの重み係数は、式ＸＫ＋１＝ＸＫ＋ＶＫ＋１に基づいて求めることができる。
【００４９】
加えて、本願で用いる最適化アルゴリズムは粒子群アルゴリズム、遺伝的アルゴリズム、蟻コロニーアルゴリズム、アニーリングアルゴリズム等であってよい点に留意することが重要である。本願では、粒子群アルゴリズムのみを例に、説明を進める。各推薦情報セットの重み係数に対する調整の値を求めるために用いる最適化アルゴリズムは限定されない。
【００５０】
調整された各推薦情報セットの重み係数を求めた後に、ステップＳ１０３で述べた方法に基づいて新たな推薦リストを特定できる。新たな推薦リストが推薦条件を満たしているかどうかを、ステップＳ１０４での方法に基づいて特定できる。推薦リストが推薦条件を満たしている場合は、推薦リスト内の情報をユーザに推薦するためにステップＳ１０５を実行する。推薦リストが推薦条件を満たしていない場合は、推薦リストが推薦条件を満たすようになるまでステップＳ１０６を繰り返すことができ、その後、ステップＳ１０５を実行する。
【００５１】
加えて、ステップＳ１０４で、ユーザの行動履歴情報に基づいて推薦リストの的確性を特定する。ステップＳ１０１〜Ｓ１０３から分かるように、推薦リストは、ユーザの行動履歴情報にも基づいて特定される。そのため、ステップＳ１０４では、情報セットに基づいて特定された推薦リストがこの情報セットと一致するかどうかをサーバが特定する。これは、特定された推薦リストの的確性に影響し、的確性の信頼度の低下を招く。
【００５２】
これに鑑み、本願では、特定された推薦リストの的確性のより高い信頼度を得るために、ステップＳ１０２で複数の推薦情報セットを特定する前に、ユーザの行動履歴情報をテスト情報と参照情報とにさらに分割できる。
【００５３】
テスト情報を用いて、本願のステップＳ１０２とステップＳ１０３に基づいて推薦リストを特定する。ステップＳ１０２では、テスト情報に基づく種々の推薦アルゴリズムを介して、複数の推薦情報セットを特定できる。次に、Ｓ１０３にて推薦リストを特定する。
【００５４】
ステップＳ１０４で、参照情報を推薦リストと比較して、推薦リストの的確性を特定する。つまり、ステップＳ１０４では、推薦リストの的確性を、参照情報に基づいて特定できる。
【００５５】
参照情報はユーザの行動履歴情報でもあるが、これは、推薦リストを特定するために用いられるユーザの行動履歴情報とは異なる。そのため、参照情報に基づく比較は推薦リストの的確性をより正確に特定でき、特定された的確性の信頼度はより高い。
【００５６】
推薦リストの的確性を参照情報に基づいて特定する場合には、式：Ｐｕ＝Ｒｕ∩Ｔｕ／Ｒｕを用いてこの的確性を計算できる。Ｐは的確性を示す。Ｒは推薦リストに含まれている１つの情報セットを示す。Ｔは、参照情報に含まれている１つの情報セットを示す。ｕはユーザｕの的確性を示す。参照情報に基づいて特定された推薦リストは、ユーザのニーズを満たす情報の量をより正確に、この推薦リスト内に反映させることが分かる。
【００５７】
例えば、サーバは、ステップＳ１０２で、ユーザＩの行動履歴情報をテスト情報と参照情報とに分割し、ステップＳ１０３で、テスト情報に基づいて推薦リストを特定すると仮定する。本願では、既定の閾値は０．４である。情報、すなわち推薦リスト内に含まれている商品Ａ、商品Ｏ、商品Ｍ、商品Ｇ、及び商品Ｃの的確性は、参照情報（例えば、商品Ａ、商品Ｑ、商品Ｒ、商品Ｈ、商品Ｍ）に基づいて特定されたものである。これは式Ｐｕ＝Ｒｕ∩Ｔｕ／Ｒｕに基づいてＰＩ＝０．４であることが分かる。この場合、的確性は既定の閾値より高くないため、推薦リストは推薦条件を満たしていない。そのため、ステップＳ１０６を繰り返す必要がある。
【００５８】
さらに、各推薦情報セットの重み係数をステップＳ１０３〜Ｓ１０６の反復工程を介して調整する場合において、特定された推薦リストの的確性が、複数回の調整の後も依然として既定の閾値より高くない場合がある。この場合、サーバは多くの資源を消費しながらも、ユーザに情報を的確に推薦できない。
【００５９】
多数回の調整後にも特定された推薦リストが依然として推薦条件を満たせない上記の問題を回避するために、本願では、調整回数が既定の回数に達したかどうかをさらに特定する必要がある。推薦リストへの調整回数が既定の回数に達すると、Ｇｂｅｓｔに基づいて特定された推薦リスト内の情報がユーザに推薦される。既定の回数は、最大調整回数Ｋｍａｘであってもよい。
【００６０】
Ｇｂｅｓｔに対応した推薦リストは全ての特定された推薦リストの中で最も的確性が高く、ユーザのニーズをある程度満たすことができる。これにより、多くの資源を消費しながらもサーバが依然として情報をユーザに的確に推薦できない問題が回避される。
【００６１】
加えて、本願が提供する図１に示す推薦方法はユーザが実行する何らかの特定の操作によってトリガされて（きっかけを与えられて）よい。例えば、ユーザがアカウントにログインすると、図１に示した方法がトリガされて、情報がユーザに推薦される。当然ながら、この方法は既定の時間間隔でトリガされるようにすることもできる。簡略化の目的で、ここでは詳細を繰り返さない。
【００６２】
本願で述べる推薦方法は、複数のサーバを用いて実行できる点に留意することが重要である。例えば、コンテンツ配信ネットワーク内の複数のサーバを用いて、推薦方法を実行する圧力を共有することができる。
【００６３】
図１に示す情報推薦工程に基づいて、図２に示すように、本願の実施の形態はさらに情報推薦装置を提供する。
【００６４】
図２は、本願の実施の形態に係る情報推薦装置を示す概略構造図である。本装置は、ユーザの行動履歴情報を特定するように構成された行動特定モジュール２０１と；行動履歴情報に基づいて複数の推薦情報セットを特定するように構成された情報セット特定モジュール２０２と；各推薦セットに既定された重み係数に基づいて推薦リストを特定するように構成された組み合わせモジュール２０３と；推薦リストが既定の推薦条件を満たしているかどうかを特定するように構成された判断・推薦モジュール２０４と；を含み、ここで、推薦リストが条件を満たしている場合には、推薦リスト内に含まれている情報をユーザに推薦し、あるいは、推薦リストが条件を満たしていない場合には、各推薦情報セットの重み係数を調整し、さらに、組み合わせモジュール２０３に、組み合わせモジュール２０３が特定した推薦リストが推薦条件を満たすようになるまで、調整された重み係数に基づいて新たな推薦リストを特定するように命令し、その推薦リスト内に含まれる情報をユーザに推薦する。
【００６５】
情報セット特定モジュール２０２は、行動履歴情報に基づいて複数の推薦情報セットを特定する前に、ユーザの行動履歴情報をテスト情報と参照情報とに分割するようにさらに構成されている。この場合、情報セット特定モジュール２０２は、テスト情報に基づいて、種々の推薦アルゴリズムを介して、複数の推薦情報セットを特定するように構成される。
【００６６】
組み合わせモジュール２０３は次のように構成されている。各推薦情報セットについて、推薦情報セットの重み係数と、推薦情報セットに関連する各情報の推薦重み係数とに基づいて、推薦情報セットに含まれる各情報のサブ重み係数を特定し、各情報について、全ての推薦情報セットに関連する情報のサブ重み係数の合計を求め、この合計を特定の情報の総重み係数として用い、この各情報の総重み係数に基づいて推薦リストを特定する。
【００６７】
特定・推薦モジュール２０４は次のように構成されている。参照情報に基づいて推薦リストの的確性を特定する。この的確性が既定の閾値よりも高いかどうか特定する。的確性が閾値よりも高い場合には、推薦リストが既定の推薦条件を満たしていると特定する。的確性が閾値よりも高くない場合には、推薦リストは既定の閾値を満たしていないと特定する。
【００６８】
特定・推薦モジュール２０４は次のように構成されている。以下の反復情報、すなわち、各推薦情報セットの重み係数への前回の調整の値、前回特定された推薦リストの的確性、又は、取得した全ての推薦リストの的確性の値のうち最も高い的確性の値、のうちの少なくとも１つに基づいて、各推薦情報セットの重み係数に対する調整の値を特定する。特定した調整の値に基づいて、各推薦情報セットの重み係数を調整する。
【００６９】
特定・推薦モジュール２０４は、各推薦情報セットの重み係数の調整回数が既定の回数に達すると、取得した全ての推薦リストのうちで最も的確なものを特定し、その最も的確な推薦リストに含まれる情報をユーザに推薦するようにさらに構成される。
【００７０】
図２に示す情報推薦装置は、様々なネットワーク内のサーバ上に配置することができる。サーバは１つ以上設けることが可能である。複数のサーバを設ける場合には、複数のサーバをコンテンツ配信ネットワークで接続できる。本願はこの実施方法に限定されない。
【００７１】
典型的な構成では、計算デバイスは１つ以上のプロセッサ（ＣＰＵ）、入出力インターフェース、ネットワークインターフェース、及びメモリを含む。
【００７２】
メモリは非永続的メモリ、ランダムアクセスメモリ（ＲＡＭ）、及び／又は、読み取り専用メモリ（ＲＯＭ）若しくはフラッシュメモリ（フラッシュＲＡＭ）のようなコンピュータ読み取り可能な媒体内の不揮発性メモリを含むことができる。メモリはコンピュータで読み取れる媒体の一例である。
【００７３】
コンピュータで読み取れる媒体には、任意の方法又は技術を用いて情報を記憶できる、永続的、非永続的、移動可能な、移動不能な媒体が含まれる。情報はコンピュータ読み取り可能な命令、データ構造、プログラムモジュール、又はその他のデータであってよい。コンピュータ記憶媒体の例として、計算デバイスによってアクセスできる情報を記憶するために用いることが可能な、パラメータランダムアクセスメモリ（ＰＲＡＭ）、スタティックランダムアクセスメモリ（ＳＲＡＭ）、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）、別タイプのＲＡＭ、ＲＯＭ、電気的に消去可能でプログラム可能なＲＯＭ（ＥＥＰＲＯＭ）、フラッシュメモリ、又は別のメモリ技術、コンパクトディスクＲＯＭ（ＣＤ−ＲＯＭ）、デジタル多用途ディスク（ＤＶＤ）、又は別の光学記憶装置、磁気カセットテープ、磁気テープディスク記憶装置、又は別の磁気記憶デバイス、若しくはその他任意の非一時的媒体があるが、それらに限定されない。ここで定義しているように、コンピュータ読み取り可能な媒体は、変調されたデータ信号及び搬送波のような一時的媒体（ｔｒａｎｓｉｔｏｒｙ  ｍｅｍｏｒｙ）を含まない。
【００７４】
用語「含む」、「含有する」、又はこれらのその他任意の応用形は、非限定的な包含を網羅するものであるため、一連の要素を含んだ工程、方法、物品、デバイスはこれらの要素を含むだけでなく、ここで明確に挙げていないその他の要素をも含む、あるいは、このような工程、方法、物品、デバイスに固有の要素をさらに含むことができる点に留意することが重要である。「を含む」を後に付けて示された要素は、それ以上の制約なく、その要素を含んだ工程、方法、物品、デバイス内の別の同一の要素をさらに含む。
【００７５】
当業者は、本願の実施の形態が方法、システム、コンピュータプログラム製品として提供され得ることを理解するはずである。そのため、本願は、ハードウェアのみの実施の形態、ソフトウェアのみの実施の形態、又は、ソフトウェアとハードウェアの組み合わせによる実施の形態を用いることができる。さらに、本願は、コンピュータで用いることができるプログラムコードを含んだ、１つ以上のコンピュータで使用可能な記憶媒体（磁気ディスクメモリ、ＣＤ−ＲＯＭ、光学ディスク等を非限定的に含む）上で実施されるコンピュータプログラム製品の形態を用いることが可能である。
【００７６】
先の記述は本願の一実施の形態に過ぎず、本願を限定するものではない。当業者は、本願に様々な修正及び変更を加えることができる。本願の主旨及び原理から逸脱せずに為されるあらゆる修正、均等物による代替、改善は、本願の特許請求の範囲に含まれることになる。
以下、本発明の実施の態様の例を列挙する。
［第１の局面］
情報推薦方法であって：
ユーザの行動履歴情報を特定するステップと；
前記行動履歴情報に基づいて複数の推薦情報セットを特定するステップと；
各々の推薦情報セットについての既定の重み係数に基づいて推薦リストを特定するステップと；
前記推薦リストが既定の推薦条件を満たしているかどうかを特定するステップと；
前記推薦リストが前記条件を満たしている場合には、前記推薦リストに含まれる情報を前記ユーザに推薦し、前記推薦リストが前記条件を満たしていない場合には、各々の推薦情報セットの前記重み係数を調整し、前記特定された推薦リストが前記推薦条件を満たすようになるまで、前記調整された重み係数に基づいて新たな推薦リストを特定する、前記推薦リストに含まれる情報を前記ユーザに推薦するステップと；を備える、
情報推薦方法。
［第２の局面］
前記行動履歴情報に基づいて複数の推薦情報セットを特定する前記ステップの前に、前記ユーザの前記行動履歴情報をテスト情報と参照情報とに分割するステップをさらに備え、
前記行動履歴情報に基づいて複数の推薦情報セットを特定する前記ステップは、前記テスト情報に基づいて種々の推薦アルゴリズムを介して前記複数の推薦情報セットを特定するステップを備える、
第１の局面に記載の情報推薦方法。
［第３の局面］
各々の推薦情報セットについての既定の重み係数に基づいて推薦リストを特定する前記ステップは：
前記推薦情報セットの重み係数と、前記推薦情報セットに関連する各々の情報の推薦重み係数とに基づき、各々の前記推薦情報セットについて、前記推薦情報セットに含まれる各々の情報のサブ重み係数を特定するステップと；
前記各々の情報について、全ての前記推薦情報セットに関連する前記情報のサブ重み係数の合計を求め、前記合計を前記特定の情報の総重み係数として用いるステップと；
前記各々の情報の前記総重み係数に基づいて前記推薦リストを特定するステップと；を備える、
第１の局面に記載の情報推薦方法。
［第４の局面］
前記推薦リストが既定の推薦条件を満たしているかどうかを特定する前記ステップは：
前記参照情報に基づいて前記推薦リストの的確性を特定するステップと；
前記的確性が既定の閾値よりも高いかどうかを特定するステップと；
前記的確性が前記閾値よりも高い場合には、前記推薦リストが前記既定の推薦条件を満たしていると特定し、前記的確性が前記閾値よりも高くない場合には、前記推薦リストが前記既定の推薦条件を満たしていないと特定するステップと；を備える、
第２の局面に記載の情報推薦方法。
［第５の局面］
各々の推薦情報セットの前記重み係数を調整する前記ステップは：
以下の反復情報、すなわち、各々の推薦情報セットの前記重み係数に対する前回の調整の値、前回特定された推薦リストの的確性、及び、取得した全ての前記推薦リストのうち最も高い的確性の値、のうち少なくとも１つに基づいて、各々の推薦情報セットの前記重み係数への調整の値を特定するステップと；
前記特定された前記調整の値に基づいて、各々の推薦情報セットの前記重み係数を調整するステップと；を備える、
第４の局面に記載の情報推薦方法。
［第６の局面］
各々の推薦情報セットの前記重み係数への調整回数が既定の回数に達すると、前記取得した全ての推薦リストのうち最も的確なものを特定するステップと；
前記最も的確な推薦リストに含まれる情報を前記ユーザに推薦するステップと；をさらに備える、
第４の局面に記載の情報推薦方法。
［第７の局面］
情報推薦装置であって：
ユーザの行動履歴情報を特定するように構成された行動特定モジュールと；
前記行動履歴情報に基づいて複数の推薦情報セットを特定するように構成された情報セット特定モジュールと；
各々の前記推薦情報セットに既定された重み係数に基づいて、推薦リストを特定するように構成された組み合わせモジュールと；
前記推薦リストが既定の推薦条件を満たしているかどうかを特定するように構成された特定・推薦モジュールであって、前記推薦リストが前記条件を満たしている場合には、前記推薦リストに含まれる情報を前記ユーザに推薦し、前記推薦リストが前記条件を満たしていない場合には、各々の推薦情報セットの前記重み係数を調整し、前記組み合わせモジュールに、前記組み合わせモジュールにより特定された前記推薦リストが前記推薦条件を満たすまで、前記調整された重み係数に基づいて新たな推薦リストを特定するように命令し、前記推薦リスト内に含まれる情報を前記ユーザに推薦するように構成された、特定・推薦モジュールと；を備える、
情報推薦装置。
［第８の局面］
前記情報セット特定モジュールは、前記行動履歴情報に基づいて前記複数の推薦情報セットを特定する前に、前記ユーザの前記行動履歴情報をテスト情報と参照情報とに分割するようにさらに構成され、
前記情報セット特定モジュールは、前記テスト情報に基づいて種々の推薦アルゴリズムを介して前記複数の推薦情報セットを特定するように構成された、
第７の局面に記載の情報推薦装置。
［第９の局面］
前記組み合わせモジュールは、各々の推薦情報セットについて、前記推薦情報セットに含まれる各情報のサブ重み係数を、前記推薦情報セットの重み係数と、前記推薦情報セットに関連する各情報の推薦重み係数とに基づいて特定し、各情報について、全ての前記推薦情報セットに関連する前記情報のサブ重み係数の合計を求め、前記合計を、前記特定の情報の総重み係数として用い、さらに、各々の情報の前記総重み係数に基づいて、前記推薦リストを特定する、
第７の局面に記載の情報推薦装置。
［第１０の局面］
前記特定・推薦モジュールは、
前記参照情報に基づいて前記推薦リストの的確性を特定し、前記的確性が既定の閾値よりも高いかどうかを特定し、前記的確性が前記閾値よりも高い場合には、前記推薦リストが前記既定の推薦条件を満たしていると特定し、前記的確性が前記閾値よりも高くない場合には、前記推薦リストが前記既定の推薦条件を満たしていないと特定するように構成される、
第８の局面に記載の情報推薦装置。
［第１１の局面］
前記特定・推薦モジュールは、
以下の反復情報、すなわち、各々の推薦情報セットの前記重み係数への前回の調整の値、前回特定された推薦リストの的確性、及び取得した全ての推薦リストの的確性の値のうち最も高い的確性の値、のうちの少なくとも１つに基づいて、各々の前記推薦情報セットの前記重み係数への調整の値を特定し、
特定された前記調整の値に基づいて、各々の推薦情報セットの前記重み係数を調整する、
第１０の局面に記載の情報推薦装置。
［第１２の局面］
前記特定・推薦モジュールは、
各々の推薦情報セットの前記重み係数への前記調整回数が既定の回数に達した場合に、取得した全ての推薦リストのうち最も的確なものを特定し、
前記最も的確な推薦リスト内に備えられた情報を前記ユーザに推薦する、
第１０の局面に記載の情報推薦装置。
【符号の説明】
【００７７】
２０１  行動特定モジュール
２０２  情報セット特定モジュール
２０３  組み合わせモジュール
２０４  特定・推薦モジュール
【図１】
0006676167.tif 000004
【図２】
0006676167.tif 000005