(57)【要約】【課題】アクション情報が少ない状況でも類似性や関係性の判断を可能とするリコメンド技術を提供する。【解決手段】関係管理サーバが、役回りに応じて類型化された個々のアクションコンピュータを識別する情報を含むリコメンドの対象となりえる情報であって類型化された全ての電子情報、のそれぞれの間における、個々のアクションコンピュータの役回りに応じたアクションに起因するリンク情報に基づいて、リコメンドの対象として要求された電子情報の類型（対象電子情報類型）に含まれる個々の電子情報の間にリンク属性に基づいて連鎖的にリンクが形成されているとともに、当該対象電子情報類型に含まれる個々の電子情報と少なくとも要求元のアクションコンピュータとの対応関係を表す縮退関係管理データベースを生成し、関係管理サーバから、縮退関係管理データベースに依って要求元のアクションコンピュータにリコメンドを行われる。【選択図】図１１
2015075882.tif 000002
【特許請求の範囲】
【請求項１】
関係管理サーバと、役回りに応じて類型化された複数のアクションコンピュータを含み、当該関係管理サーバが要求元のアクションコンピュータにリコメンドを行うリコメンダシステムであって、
上記関係管理サーバは、
個々の上記アクションコンピュータを識別する情報を含むリコメンドの対象となりえる情報であって類型化された全ての電子情報、のそれぞれの間における、個々の上記アクションコンピュータの役回りに応じたアクションに起因するリンクを記録している関係管理データベースを記憶する記憶部と、
上記関係管理データベースに記録されているリンクのうちリンクの属性（以下、リンク属性という）が上記リコメンドの要求条件に合致するリンクに基づいて、リコメンドの対象として要求された電子情報の類型（以下、対象電子情報類型という）に含まれる個々の電子情報の間に連鎖的にリンクが形成されているとともに、当該対象電子情報類型に含まれる個々の電子情報と少なくとも上記要求元のアクションコンピュータとの対応関係を表す縮退関係管理データベースを生成する縮退処理部と
を含み、
上記関係管理サーバが、上記縮退関係管理データベースに依って上記要求元のアクションコンピュータにリコメンドを行うことを特徴とするリコメンダシステム。
【請求項２】
請求項１に記載のリコメンダシステムであって、
上記対象電子情報類型に含まれる個々の電子情報の間の連鎖的なリンク形成は、
上記関係管理データベースにおいて、上記対象電子情報類型に含まれる電子情報のうち上記リンク属性が上記リコメンドの要求条件に合致する電子情報とリンクを持つ仮想的な電子情報（以下、仮想電子情報という）を作成し、さらに、当該仮想電子情報にリンクされている上記対象電子情報類型に含まれる個々の電子情報の間にリンクを形成する、ことによって得られたものである
ことを特徴とするリコメンダシステム。
【請求項３】
請求項１または請求項２に記載のリコメンダシステムであって、
上記関係管理サーバは、
上記縮退関係管理データベースに基づいて、上記要求元のアクションコンピュータから上記対象電子情報類型に含まれる個々の電子情報までのリンクの相対的な遠近（以下、リンク距離という）を計算するリンク距離計算部を含み、
上記要求元のアクションコンピュータにリコメンドされる電子情報は、上記リンク距離に基づいて決定される
ことを特徴とするリコメンダシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、作品、クリエイタ、オーディエンス、ギャラリなどのノードで構成される作品情報空間で、ノード間のリンク関係性情報が少ない状況において、ノード相互の関係性や類似性を求めてリコメンド処理を行う技術に関する。
【背景技術】
【０００２】
リコメンダシステムにおける協調フィルタリングは、オーディエンスコミュニティの過去の参照や共同作業や意見などのアクション情報を用いて、システムを利用する対象であるオーディエンスの好みやオーディエンスが興味を持つであろう情報（リコメンド情報）をコミュニケーションデータやオープンモデルから予測し、これをオーディエンスにリコメンドする技術である。協調フィルタリングは、オーディエンスのアクションのみを用いてリコメンドするため、ノードの内容や適用領域を問わない。また、協調フィルタリングはアクションを自動的に収集、計算、表示をするので、オーディエンスにも運営者にも手間がかからない。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】ドコモテクニカルジャーナル  Vol.20 No.3, Oct.2012
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、協調フィルタリングは、ノード間の関係の強弱を表すために一定以上のアクション情報を必要とする。アクション情報の数が少ない場合、いわゆるコールドスタート問題と呼ばれるノード間の関係の強弱を表す評価値が少ない状態となり、優位な関係性を求めることが困難であった。特に、本発明が対象とする、制作活動に一定時間を要し制作物が少ないクリエイタの作品領域では、類似性や関係性がほとんどない作品がノードとなる一品作品や、その作品を制作する制作数が少ないクリエイタなどの場合、アクション情報が少なく、従来のアクション情報だけを用いて関係性を求める方式では、対象ノードの近傍の自明のノードのみが関係性の近い対象となってしまうという課題があった。
【０００５】
このような課題に鑑み、本発明では、アクション情報が少ない状況でも類似性や関係性の判断を可能とするリコメンド技術を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明のリコメンダ技術によると、関係管理サーバが、役回りに応じて類型化された個々のアクションコンピュータを識別する情報を含むリコメンドの対象となりえる情報であって類型化された全ての電子情報、のそれぞれの間における、個々のアクションコンピュータの役回りに応じたアクションに起因するリンクを記録している関係管理データベースを用いて、関係管理データベースに記録されているリンクのうちリンクの属性（リンク属性）がリコメンドの要求条件に合致するリンクに基づいて、リコメンドの対象として要求された電子情報の類型（対象電子情報類型）に含まれる個々の電子情報の間に連鎖的にリンクが形成されているとともに、当該対象電子情報類型に含まれる個々の電子情報と少なくとも要求元のアクションコンピュータとの対応関係を表す縮退関係管理データベースを生成し、関係管理サーバから、縮退関係管理データベースに依って要求元のアクションコンピュータにリコメンドを行われる。
【０００７】
対象電子情報類型に含まれる個々の電子情報の間の連鎖的なリンク形成は、例えば、関係管理データベースにおいて、対象電子情報類型に含まれる電子情報のうちリンク属性がリコメンドの要求条件に合致する電子情報とリンクを持つ仮想的な電子情報（仮想電子情報）を作成し、さらに、当該仮想電子情報リンクされている対象電子情報類型に含まれる個々の電子情報の間にリンクを形成することによって得られたものである。
【０００８】
縮退関係管理データベースに基づいて、要求元のアクションコンピュータから対象電子情報類型に含まれる個々の電子情報までのリンクの相対的な遠近（リンク距離）を計算し、要求元のアクションコンピュータにリコメンドされる電子情報をリンク距離に基づいて決定してもよい。
【発明の効果】
【０００９】
本発明によると、上記関係管理データベースに基づいて、リコメンドの対象として要求された電子情報の類型（対象電子情報類型）に含まれる個々の電子情報の間に連鎖的にリンクが形成されるから、アクション情報が少ない状況でも類似性や関係性の判断を可能となる。
【図面の簡単な説明】
【００１０】
【図１】全体構成例を示す図である。
【図２】（ａ）ノードアクションレコードのデータ構造例で図１１、図８に示す作品Ｗ１１のデータ構造例を示す図、（ｂ）ノードアクションレコードのデータ構造例で図１１、図８に示すクリエイタＣ１（Ｃ１：作品登録前）のデータ構造例を示す図、（ｃ）ノードアクションレコードのデータ構造例で図１１、図８に示すクリエイタＣ１（Ｃ１：作品登録後）のデータ構造例を示す図である。
【図３】（ａ）ノードアクションレコードのデータ構造例で図１１、図８に示すオーディエンスＡ４（作品購入前）のデータ構造例を示す図、（ｂ）ノードアクションレコードのデータ構造例で図１１、図８に示すオーディエンスＡ４（作品購入後）のデータ構造例を示す図である。
【図４】（ａ）ノードアクションレコードのデータ構造例で図１１、図８に示す作品Ｗ１３（作品購入前）のデータ構造例を示す図、（ｂ）ノードアクションレコードのデータ構造例で図１１、図８に示す作品Ｗ１３（作品購入後）のデータ構造例を示す図である。
【図５】（ａ）ノードアクションレコードのデータ構造例で図１１、図８に示すギャラリＧ１２（作品登録前）のデータ構造例を示す図、（ｂ）ノードアクションレコードのデータ構造例で図１１、図８に示すギャラリＧ１２（作品登録後）のデータ構造例を示す図である。
【図６】（ａ）ノードアクションレコードのデータ構造例で図１１、図８に示す作品Ｗ３１（作品登録前）のデータ構造例を示す図、（ｂ）ノードアクションレコードのデータ構造例で図１１、図８に示す作品Ｗ１１のデータ構造例を示す図である。
【図７】（ａ）仮想ノードのデータ構造例で仮想ノード追加時のデータ構造例を示す図、（ｂ）仮想ノードのデータ構造例で、仮想ノードの条件に合う作品をリンクした結果のデータ構造例である。
【図８】関係管理データベースのデータ構造例（図１１対応）を示す図である。
【図９】作業用関係管理テーブルのデータ構造例を示す図である。
【図１０】ノード追加型縮退関係管理データベースのデータ構造例（仮想ノード追加後の縮退完了時）を示す図である。
【図１１】図８に対応する作品情報空間例を示す図である。
【図１２】図１０に対応する作品情報空間例を示す図である。
【図１３】図１４に対応する表示画面例を示す図である。
【図１４】（ａ）リンク距離別ノードリスト（初期状態）例を示す図、（ｂ）リンク距離別ノードリスト（距離１の探索完了）例を示す図、（ｃ）リンク距離別ノードリスト（距離２の探索完了）例を示す図である。
【図１５】（ａ）リンク距離探索処理データ（初期状態）の例を示す図、（ｂ）リンク距離探索処理データ（Ａ１起点の探索開始）の例を示す図、（ｃ）リンク距離探索処理データ（距離１の探索完了）の例を示す図、（ｄ）リンク距離探索処理データ（Ｗ１３起点の探索開始）の例を示す図、（ｅ）リンク距離探索処理データ（距離２の探索中）の例を示す図、（ｆ）リンク距離探索処理データ（Ｗ２３起点の探索開始）の例を示す図である。
【図１６】（ｇ）リンク距離探索処理データ（距離２の探索中）の例を示す図であり、（ｈ）リンク距離探索処理データ（Ｗ４２起点の探索開始）の例を示す図であり、（ｉ）リンク距離探索処理データ（距離２の探索完了）の例を示す図であり、（ｊ）リンク距離探索処理データ（Ｗ４３起点の探索開始）の例を示す図である。
【図１７】作品登録に伴う新ノード追加とリンク追加のフロー例を示す図である。
【図１８】オーディエンスコンピュータＡ４が作品１３購入に伴う新リンク追加のフロー例を示す図である。
【図１９】ギャラリへ作品を登録することによる新リンクの追加のフロー例を示す図である。
【図２０】オーディエンスコンピュータがリコメンド要求を出し、リコメンド結果を得るまでの処理フロー例を示す図である。
【図２１】ノード追加・縮退処理ルーチンの処理フロー例を示す図である。
【図２２】起点ノードからの距離計算フロー例を示す図である。
【発明を実施するための形態】
【００１１】
図面を参照しながら本発明の実施形態を説明する。
【００１２】
＜リコメンダシステムの構成例＞
図１にリコメンダシステムの構成例を示す。図１はアクションコンピュータとしてのクリエイタコンピュータ１４、オーディエンスコンピュータ１６、キュレータコンピュータ１８並びに関係管理サーバ１２はそれぞれ例えばインターネットとされる通信網１０を介して相互に通信可能であり、関係管理サーバ１２は、関係管理データベース２１と、ノード追加型関係管理データベース２３を含む。
【００１３】
ここでクリエイタは作品に付加価値を与える主体となる人物であり、個々のクリエイタはタスクスキルを有し、タスクスキルにより作品に付加価値を付与する時代考証やシナリオ検討などのアクションを行う。クリエイタは複数の人物の総称としてもよい。また、クリエイタ同士が連携して作品に付加価値を与えるアクションや他の作品を参照するアクションなどを行ってもよい。
【００１４】
オーディエンスは作品の購入を考えている人物の総称であり作品を注文してクリエイタに対して対価を支払う主体となる人物をいう。オーディエンスは、作品の閲覧、比較、購入、評価などのアクションや、クリエイタの評価、ギャラリの閲覧、比較、評価などのアクションを行う。
【００１５】
キュレータは、少なくとも、複数の作品をグループ化しギャラリ登録を行う主体となる人物の総称で、作品グループへのテーマの設定や評価などのアクションを行う。
【００１６】
なお、一人の人物が上記の複数の役回りを担ってもよいし、本システムで扱うノードに対する新たなアクションを行う人物を追加してもよい。
【００１７】
＜関係管理サーバによるノード情報、ノード間のリンク関係の管理＞
関係管理サーバ１２は、本システムで扱うすべてのノード情報を管理する。ノードには、少なくとも、クリエイタ、オーディエンス、キュレータなどの人物や、作品、ギャラリなどの制作物、制作物のグループなどを含む。また、ノード間のリンク関係には、少なくとも、アクションコンピュータのアクションに基づくノード間の繋がり、ノードのアクションによるノード間の繋がり、リンク情報としての管理を含む。また、リンクは、ノード間の関係に関するアクション情報やリンクが生成された日時などをリンクの属性として持つ。本実施例では、アクションが実施されリンクが生成された日時をリンク属性として持つ例を示す。なお、本実施例の表記では、このリンク情報をリンク属性（日時情報）として記載する。
【００１８】
また、関係管理サーバ１２は、関係管理データベース２１が管理するノード情報、リンク情報をもとに仮想ノードを追加したノード追加型関係管理データベース２３を作成するとともに、ノード追加型関係管理データベース２３を用いて、起点となるノードからの距離別にノードＩＤをリストアップしたリンク距離別ノードリスト３３の作成を行う。この処理を行う処理部として、ノード追加・縮退処理部３０とリンク距離計算部３１がある。ノード追加・縮退処理部３０は、作業用関係管理テーブル２２を用いて、仮想ノードの追加と、ノード情報、リンク情報の縮退処理を行い、関係管理理データベース２１からノード追加型関係管理データベース２３を作成する。リンク距離計算部３１は、ノード追加型関係管理データベース２３を対象に、リンク距離探索処理データ３２を用いて、起点となるノードからのリンク距離を求め、リンク距離別ノードリスト３３を作成する。
【００１９】
＜ノードアクション関係の管理＞
関係管理データベース２１は、関係管理サーバ１２で扱うすべてのノードごとに、ノードアクションレコードを有し、ノード自体についての情報として、ノードＩＤ、ノードタイプと、ノードのアクション情報としてのリンクに関する、有効リンク数、各リンク接続先のノードＩＤ、ノードタイプ、リンク属性を含むデータを有する。図２−図６に関係管理データベース２１で管理するノードアクションレコードのデータ構造例を示す。
【００２０】
＜作品情報空間の管理＞
関係管理データベース２１は、関係管理サーバ１２で扱うすべてのノード間のリンク関係情報からなる作品情報空間を管理するリンク構成レコードを有する。図１１に、本実施例の説明に用いる、クリエイタ、オーディエンス、キュレータ、作品、ギャラリからなるノードで構成される作品情報空間の例を示す。また、図８にそれに対応する関係管理データベースのリンク構成レコード例を示す。図１１の作品情報空間で直接リンクのあるノード間には、図８のノード間の交点に数値として１を設定している例を示す。なお、アクションの強さを区別するため、リンクを示すノード間の交点に１、２、３などの数値を与え、購入など金銭のやり取りがある強いアクションほど大きい数値を付与するなどの重み付を行ってもよい。
【００２１】
＜関係管理データベースへのノードの登録処理、リンクの登録処理＞
以下、関係管理サーバ１２は、ノードの発生時やノード間のリンクが張られる際に、関係管理データベース２１へのノードやリンクの登録処理を行う。図１７はアクションコンピュータであるクリエイタコンピュータからの作品登録のアクションに伴う新ノードを関係管理データベース２１へ追加するフロー例（ステップＳ１０１−Ｓ１０７）を、図１８はアクションコンピュータであるオーディエンスコンピュータが作品を購入することによる新リンクを関係管理データベース２１へ追加するフロー例（ステップＳ２０１−Ｓ２０６）を、図１９はアクションコンピュータであるキュレータコンピュータからギャラリへ作品を登録することによる新リンクを関係管理データベース２１へ追加するフロー例（ステップＳ３０１−Ｓ３０６）を示している。
【００２２】
もちろん、新ノードの追加では、クリエイタやオーディエンスやギャラリなどを追加してもよい。また、新リンクの追加では、複数のクリエイタが共同した制作活動や、オーディエンスによる作品のお気に入りギャラリへの登録などを登録することもできる。このような具体的なアクション以外にも、長時間参照や評価の書き込みなどの動作をリンク情報として登録してもよい。また、クリエイタ登録の削除などに伴うノードの削除やリンクの削除は連動して処理してもよいし、削除はしないが削除状態として管理を継続してもよい。
【００２３】
＜関係管理データベースを用いたリコメンド処理フロー例＞
図２０に、アクションコンピュータが関係管理サーバ１２にリコメンド要求を出し、リコメンド結果を得るまでの全体のリコメンド処理フロー例（Ｓ５０１−Ｓ５０７）を示す。また、図２０の全体のリコメンド処理フローでは、図２１の処理フローで示す仮想ノード追加処理と縮退処理、図２２の処理フローで示す起点ノードからの距離計算処理を使用する。図２１では、関係管理サーバ１２からの要求を受け、ノード追加・縮退処理部３０が、関係管理データベース２１への仮想ノードの追加処理とこれを縮退したノード追加型関係管理データベース２３の作成を行うフロー例（Ｓ６０１−Ｓ６２１、このうちＳ６０４−Ｓ６１０が仮想ノード追加処理、Ｓ６１１−Ｓ６２０が縮退処理の処理フローを示す）を示す。次に、図２２では、関係管理サーバ１２からの要求を受け、リンク距離計算部３１が、ノード追加型関係管理データベース２３を用いて、起点となるノードからのリンク距離を計算するフロー例（Ｓ７０１−７１５）を示す。
【００２４】
図１１の例を対象に、図２１のフロー例で仮想ノード追加処理と縮退処理を行った市場例を図１２に示し、それに対応する関係管理データベースのレコード例を図９に示す。
【００２５】
以下、個々のフロー例を示す
＜作品登録に伴う新ノードの追加のフロー例＞
図１７に、アクションコンピュータであるクリエイタコンピュータからの作品登録のアクションに伴う新ノードの追加のフロー例を示す。
クリエイタコンピュータＣ１のアクションコンピュータは、制作した作品と作成したクリエイタＩＤを有する情報を送り作品登録要求を行い（Ｓ１０１）、それを受信した関係管理サーバ１２は、関係管理データベース２１に作品に対するノードＩＤとしてＷ１３を付与して、新ノードレコードＷ１３を追加する（Ｓ１０２）。新ノードのリンク情報に作品登録要求を出したクリエイタコンピュータのノードであるノードＣ１とのリンク情報およびリンク属性（日時情報）を設定する（Ｓ１０３）。図２（ａ）に、新ノードのレコードのレコード例を示す。レコードには、ノードタイプ、有効リンク数、リンク先ノードＩＤ、リンク先ノードのタイプ、リンク属性（日時情報）が含まれる。登録時は、制作したクリエイタノードと作品ノードとを直接つなぐリンクが登録される。関係管理サーバ１２は、更に、図２（ｂ）に示すクリエイタコンピュータノードのレコードを読出し（Ｓ１０４）、クリエイタコンピュータのノードレコードに作品新ノードＷ１３とのリンク情報とリンク属性（日時情報）を設定する（Ｓ１０５）。図２（ｃ）に設定処理後のクリエイタコンピュータのノードレコードを示す。次に、関係管理データベース２１のリンク構成レコードに新ノードＷ１３の行、列を追加し（Ｓ１０６；図８参照）、図８に示す関係管理データベース２１のリンク構成レコードのＷ１３とＣ１との交点に、リンクありの状態を示す記号１を設定する（Ｓ１０７；図８参照）。
【００２６】
＜作品購入による新リンク追加のフロー例＞
図１８に、アクションコンピュータであるオーディエンスコンピュータＡ４が作品Ｗ１３を購入することによる新リンクの追加のフロー例を示す。アクションコンピュータであるオーディエンスコンピュータＡ４は、オーディエンスコンピュータＡ４が作品Ｗ１３の購入を関係管理サーバ１２に通知する（Ｓ２０１）。関係管理サーバ１２は、これを受信し、ノードＩＤ＝Ａ４をキーに、図３（ａ）に示すオーディエンスコンピュータＡ４ノードのレコードであるＡ４を読出し（Ｓ２０２）、Ａ４のレコードに作品ノードＷ１３とのリンク情報およびリンク属性を設定する（Ｓ２０３）。設定結果を図３（ｂ）に示す。これにより作品購入前のノードレコードは図３（ａ）に示すように、ノードＩＤ＝Ａ４、ノードタイプ＝オーディエンス、これまでの有効リンク数は２、リンク先はそれぞれ、リンク１はリンク先ノードＩＤ＝Ｗ３２で、リンク先ノードタイプは作品、リンク情報（日時情報）は1/10（注：1月10日の表記を1/10と記す。以下同様）、リンク２はリンク先ノードＩＤ＝Ｗ４１で、リンク先ノードタイプは作品、リンク情報（日時）は4/24であるが、新たにリンク情報を登録することにより（Ｓ２０３）、有効リンク数＝３、新たなリンクであるリンク３は、リンク先ノードＩＤ＝Ｗ１３で、リンク先ノードタイプは作品、リンク属性(日時)は5/10として追加し、図３（ｂ）で示すノードとなる。
【００２７】
次に、図４（ａ）に示す作品ノードＷ１３のレコードを読出し（Ｓ２０４）、作品ノードＷ１３のレコードにオーディエンスコンピュータＡ４のノードＡ４とのリンク情報を設定する（Ｓ２０５）。設定した後のＩＤ＝Ｗ１３のノードレコードを図４（ｂ）に示す。これにより、作品購入前のノードレコードは図４（ａ）に示すように、ノードＩＤ＝Ｗ１３、ノードタイプ＝作品、これまでの有効リンク数は２、リンク先はそれぞれ、リンク１はリンク先ノードＩＤ＝Ｃ１で、リンク先ノードタイプはクリエイタ、リンク属性（日時情報）は5/1、リンク２はリンク先ノードＩＤ＝Ｇ１１で、リンク先ノードタイプはギャラリ、リンク属性(日時)は5/4であるが、新たにリンク情報とリンク属性を設定することで（Ｓ２０５）、有効リンク数＝３、新たなリンクであるリンク３は、リンク先ノードＩＤ＝Ａ４で、リンク先ノードタイプはオーディエンス、リンク属性(日時)は2/28として追加し、図４（ｂ）で示すノードとなる。次に、図８に示す関係管理データベース２１のリンク構成レコードを読出し、Ｗ１３とＡ４との交点にリンクの存在を示す記号１を追加する（Ｓ２０６；図８参照）。
【００２８】
＜ギャラリへ作品を登録することによる新リンクの追加のフロー例＞
図１９に、アクションコンピュータであるキュレータコンピュータからギャラリへ作品を登録することによる新リンクの追加のフロー例を示す。
アクションコンピュータであるキュレータコンピュータＣｕ１は、ギャラリＧ１２に作品Ｗ３１を追加登録する要求を関係管理サーバ１２に送る（Ｓ３０１）。関係管理サーバ１２はこれを受信し、図５（ａ）に示すギャラリノードＧ１２のレコードを読出し（Ｓ３０２）、ギャラリノードＧ１２のレコードに作品ノードＷ３１とのリンク情報およびリンク属性を設定する（Ｓ３０３）。これにより、ギャラリノードＧ１２への作追加登録前のギャラリノードＧ１２のレコードは図５（ａ）に示すように、ノードＩＤ＝Ｇ１２、ノードタイプ＝ギャラリ、有効リンク数は２、リンク先はそれぞれ、リンク１はリンク先ノードＩＤ＝Ｃｕ１で、リンク先ノードタイプはキュレータ、リンク属性(日時)は4/24、リンク２はリンク先ノードＩＤ＝Ｗ２１で、リンク先ノードタイプは作品、リンク属性(日時)は4/24であるが、ステップＳ３０３を実施することで、有効リンク数＝３、新たなリンクであるリンク３は、リンク先ノードＩＤ＝Ｗ３１で、リンク先ノードタイプは作品、リンク属性(日時)は6/22として追加し、図５（ｂ）で示すノードとなる。次に、図６（ａ）に示す作品ノードＷ３１のレコードを読出し（Ｓ３０４）、作品ノードＷ３１のレコードにギャラリノードＧ１２とのリンク情報を設定する（Ｓ３０５）。これにより、ギャラリノードＧ１２への作追加登録前の作品ノードＷ３１のレコードは図６（ａ）に示すように、ノードＩＤ＝Ｗ３１、ノードタイプ＝作品、有効リンク数は２、リンク先はそれぞれ、リンク１はリンク先ノードＩＤ＝Ｃ３で、リンク先ノードタイプはクリエイタ、リンク属性(日時)は4/12、リンク２はリンク先ノードＩＤ＝Ｇ２１で、リンク先ノードタイプはギャラリ、リンク属性(日時)は5/2であるが、新リンク先のリンク情報とリンク属性を登録することで（Ｓ３０５）、有効リンク数＝３、新たなリンクであるリンク３は、リンク先ノードＩＤ＝Ｇ１２で、リンク先ノードタイプはギャラリ、リンク属性(日時)は5/2として追加し、図６（ｂ）で示すノードとなる。
【００２９】
＜リコメンド要求に対し、リコメンド結果を得るまでの処理フロー例＞
図２０に、アクションコンピュータが関係管理サーバ１２にリコメンド要求を出し、リコメンド結果を得るまでの処理フロー例を示す。
アクションコンピュータであるオーディエンスコンピュータＡ１が、新しいｎ個の作品をリコメンドする要求を、関係管理サーバ１２に送信する（Ｓ５０１）。本例では、新しい作品として５月以降の作品、また、ｎ＝３個の例で説明する。関係管理サーバ１２は、オーディエンスコンピュータＡ１からのリコメンド要求を受け、リコメンド対象が作品であることから、リコメンド対象ノードに作品（Ｗ）を指定し、ノード追加・縮退処理部３０による処理を実行する（Ｓ５０２）。それによるノード追加・縮退処理部３０の処理フローを、図２１に示す。なお、本処理フローでは、関係管理サーバ１２が管理している関係管理データベース２１から容易にリコメンド対象を抽出できるケースを除いて例を説明する。自明な場合は、この処理フローは用いない。
【００３０】
関係管理サーバ１２は、ノード追加・縮退処理部３０の処理結果として、図１０に示す仮想ノード追加後縮退処理した縮退関係管理データベース２３を受信し（Ｓ５０３）、受信した縮退関係管理データベース２３と起点となるノードＡ１、距離計算対象に作品を指定し、図２２のリンク距離計算部３１により距離計算処理を実行する（Ｓ５０４）。更に、リンク距離計算部３１から、図１４で示す距離計算結果を受信し（Ｓ５０５）、距離の近いｎ個（ここでは４個）を、オーディエンスコンピュータＡ１に返信する（Ｓ５０６）。この例では、リンク距離数が２までで４個のノードが抽出でき、３個の条件に対し、それを超えるもっとも少ないノードセットとして、Ｗ１３、Ｗ２３、Ｗ４１、Ｗ４３の４個を返信する。もちろん、他の条件により、３個に絞るため他の条件、例えば、オーディエンスＡ３やオーディエンスＡ５とのリンクの重みを強くする条件を付加することで、Ｗ２３、Ｗ４３をより近い作品として、Ｗ１３、Ｗ２３、Ｗ４３の３個を選択し、返信してもよい。
【００３１】
オーディエンスコンピュータＡ１は、ステップＳ５０７で、これを受信し、コンピュータ画面に４個の作品を表示する。表示画面のイメージは、起点となるＡ１ノードをルートとし、距離１、距離２の作品ノードＩＤに対応する作品を表示した例を図１３に示す。ここでは、ノードＩＤ間のリンク関係を用いない例を示しているが、リンク関係を返信し、その情報を用いてもよい。また、他のオーディエンスノードの各作品との距離関係も求め、目標としたいオーディエンスや対抗したいオーディエンスの情報も付加してもよい。もちろん、表示順序や、これまで表示している作品と組み合わせて表示するなど他の方法で結果を伝えてもよい。
【００３２】
＜縮退関係管理データベースの作成フロー例で用いるデータ＞
ノード追加型関係管理データベース２３の作成フロー例で用いるデータには、図８で示す、関係管理データベース２１と、図９で示す、作業用関係管理テーブル２２と、図１０で示す、ノード追加型関係管理データベース２３がある。
【００３３】
図８の関係管理データベース２１は縦横のマトリックス構造で、縦方向には関係管理空間に存在する全てのノードＩＤごとにカラムを有し、横方向には関係管理空間に存在する全てのノードＩＤごとのカラムに加え、各ノードのデータレコードへのリンク情報のカラムを有する。ノードがどのノードと直接リンクを有しているか、そのノードのタイプは何かなどの情報は、各ノードのリンク情報を用いる。
【００３４】
図８では、ノード間で直接リンクするものには、交点のカラムに記号１を付与している。以下のフロー例の説明で用いる図８に対応する関係管理空間例を図１１に示す。図９の作業用関係管理テーブル２２は、リコメンド条件に適合するノードと接続する仮想ノードを追加し、図８の関係管理データベース２１の縦方向のノードＩＤごとに、縮退処理の進行を管理する縮退処理完了フラグを持たせ、進行を管理するとともに、縮退により生成したリンクを示す数字を付与する。なお、通常のリンクを表す数字と、縮退により生成したリンクを表す数字（★印の数字）を図９に示すように使い分けてもよい。図１０のノード追加型関係管理データベース２３は、図９を用いてリンク再構成処理が完了したマトリックスで、ノードとして残して、リコメンド対象を判断するために保持する保持ノード種別だけを残した関係管理データベースである。
【００３５】
＜ノード追加型関係管理データベースの作成フロー例＞
図２１に、関係管理サーバ１２からの要求を受け、ノード追加・縮退処理部３０が、関係管理データベース２１に仮想ノードを追加し、その後、縮退した縮退関係管理データベース２３の作成を行うフロー例（Ｓ６０１−Ｓ２１）を示す。この処理により、少ないリンク情報しか持たない関係管理データベースを用いても、仮想ノードにリコメンド条件に適合するノード（注目ノード）とのリンクを行うことにより、短い距離で対象となる注目ノードを結びつけることができる。
【００３６】
関係管理サーバ１２は、ノード追加・縮退処理部３０に対し、ノード処理対象の関係管理データベース２１と、要求元ノードタイプ＝Ａ、リコメンド対象ノード＝Ｗ、ノード追加条件＝５月以降の作品（ノードタイプ＝Ｗ）を指定し、ノード追加・縮退処理要求を送信する（Ｓ５０２）。
【００３７】
ノード追加・縮退処理部３０は、まず、図８に示す関係管理データベース２１をコピーして、図９に示す作業用関係管理テーブルとする（Ｓ６０１）。次に、リンク情報とリンク属性に関するノード追加の条件を設定する。この例では、ノードタイプ＝作品（Ｗ）で、かつ、リンク属性（日時）＞＝５月とする（Ｓ６０２）。次に、この条件を満たすノードとのリンクを接続する仮想ノードを追加し、リコメンドの探索起点となるノードとなるオーディエンスＡ１とのリンクを設定する（Ｓ６０３）。仮想ノードのデータ構造を図７に示す。仮想ノードは、ノードＩＤ、ノードタイプ、有効リンク数およびリンク先のノードＩＤ、リンク先のノードタイプ、リンク属性（日時情報）からなるリンク情報を少なくとも含む。この例では、ノードＩＤ＝Ｖ１、ノードタイプ＝仮想ノード、有効リンク数＝１、リンク情報として、リンク先のノードＩＤ＝Ａ１、リンク先のノードタイプ＝オーディエンス、リンク属性（日時情報）＝仮想ノードとリンクした日の情報（ここでは6/10）が設定される。
【００３８】
ノード追加・縮退処理部３０は、仮想ノード追加処理（Ｓ６０４−Ｓ６１０）と縮退処理（Ｓ６１１−Ｓ６２１）を行う。
【００３９】
＜仮想ノード追加処理＞
仮想ノードの追加は、まず、作業用関係管理テーブルで、ノード追加の条件であるノードタイプ（この例ではＷ）の全てのノードレコードに対して処理を行う（Ｓ６０４）。作業用関係管理テーブルよりノードタイプ＝Ｗのノードレコードを読み出し（Ｓ６０５）、読み出したノードレコードの全てのリンク情報に対して以下の処理を行う（Ｓ６０６）。読み出したノードレコードからリンク情報を読み出し（Ｓ６０７）、該当リンクのリンク属性（日時情報）がノード追加条件のリンク属性（日時情報）（＞＝５月）の条件に合致しているかどうかをチェックし（Ｓ６０８）、合致している場合には、該当ノードのリンク情報に仮想ノードへのリンクを追加する（Ｓ６０９）。また、仮想ノードのリンク情報に該当ノードへのリンクを追加する（Ｓ６１０）。合致しない場合には、該当ノードの次のリンク情報を読み出し、すべてのリンク情報まで処理を行う（Ｓ６０６）。以上の処理を、作業用関係管理テーブルのノードタイプ＝Ｗの全てのノードレコードに対して行う（Ｓ６０４）。ノードタイプ＝Ｗの全てのノードレコードに対して行った後の仮想ノードのデータ構造を図７（ｂ）に示す。この例では、ノード追加の条件であるノードタイプ＝作品（Ｗ）、で、かつ、リンク属性（日時）＞＝５月に合致するノードは４件あり、それが仮想ノードのリンク２−リンク５の情報として格納されている。
【００４０】
＜縮退処理＞
仮想ノードの追加が終了すると、仮想ノードＶを対象とする縮退処理を行う（Ｓ６１１−Ｓ６２０）。
縮退処理対象ノードの種別に仮想ノード（Ｖ）を設定する（Ｓ６１１）。また、起点となる保持ノード種別とリコメンドノード対象のノードタイプを設定する。この例では、起点となるノードタイプはＡ、リコメンド対象はＷとなる（Ｓ６１２）。作業用管理テーブルで、すべてのノードレコードに対して以下の処理を行う（Ｓ６１４−Ｓ６２０）。
作業用管理テーブルからノードレコードを読み出し（Ｓ６１４）、縮退対象のノード種別かどうかをチェックする（Ｓ６１５）。縮退対象のノード種別でない場合は、次のレコードを読み込む。縮退対象のノード種別の場合は、該当レコードのリンク先ノードタイプが、リコメンド対象ノードであるリンクが２つ以上ある場合、リコメンド対象ノード間を直接つなぐリンクを生成する。図７（ｂ）の仮想ノードの場合、Ｗ１３−Ｗ２３−Ｗ４２−Ｗ４３間でリンクを生成する（Ｓ６１６）。作業用関係管理テーブル（図９）にステップＳ６１６で生成した直接つなぐリンク情報を追加する（Ｗ１３−Ｗ２３−Ｗ４２−Ｗ４３のリンクを追加）（Ｓ６１７）。該当ノードタイプが保持対象のノード種別でない場合には、該当ノードを削除する（Ｓ６１９）。
全てのノードレコードのついての処理が完了すると、作業用関係管理テーブルから、ノードタイプがＡとＷだけのノード追加型関係管理データベース（図１０）を返信する。
【００４１】
関係管理サーバ１２は、ステップＳ５０３で、これを受信する。ステップＳ５０３はメインの処理フローの図２０のステップＳ５０３に対応する。なお、ノード追加・縮退処理部３０は、アクションコンピュータからのリコメンド要求時に関係管理サーバ１２から動作させるだけでなく、関係管理サーバ１２は、アクションコンピュータからのリコメンド要求を想定し、関係管理データベースへの新規データレコードの追加などを判断し、ノード追加型関係管理データベースを定期的な更新処理を行ってもよい。その際、特定のアクションコンピュータを対象にするのではなく、アクションコンピュータのタイプやグループなどを指定し、ノード追加型関係管理データベースの更新処理を行ってもよい。
【００４２】
＜起点ノードからの距離計算フロー例で用いるデータ＞
起点ノードからの距離計算フロー例で用いるデータには、図１４で示す、リンク距離別ノードリストと、図１５，１６で示す、リンク距離探索処理データがある。
図１４のリンク距離別ノードリストは、起点となるノードからのリンク距離数毎のノードＩＤをリストアップしたデータであり、リンク距離数のカラムと、その距離数のノードを格納する対象ノードのカラムからなる。
図１５，１６のリンク距離探索処理データは、次項のフローで用いるワーク用データで、起点となるノードＩＤから現在処理中の探索距離を保持するカラム、探索距離のノードを探すための起点となるノードＩＤとなる探索元ノードＩＤを保持するカラム、それまでの処理で既に探索された探索済みノードＩＤを保持するカラム、現在探索処理中のノードＩＤを示す処理中ノードＩＤを保持するカラム、指定された探索距離で探索されたノード数を示す増加探索ノード数を保持するカラム、それまでの処理で既に探索されたノード数を示す積算探索ノード数を保持するカラム、からなる。
【００４３】
＜起点ノードからの距離計算フロー例＞
図２２に、関係管理サーバ１２からの要求を受け、リンク距離計算部３１が、ノード追加型関係管理データベース２３を用いて、起点となるノードからのリンク距離を計算するフロー例（Ｓ７０１−Ｓ７１４）を示す。
関係管理サーバ１２は、起点となるノードＡ１を、距離計算対象に作品を指定し（Ｓ５０４−１）、図１０に示すノード追加型関係管理データベース２３を指定し（Ｓ５０４−２）、リンク距離計算部３１にｎ個の近傍ノードを探索するリンク距離計算処理を要求する（Ｓ５０４−３）。このフロー例では、リコメンドを希望する作品数３個がｎの値となる。
【００４４】
リンク距離計算部３１は、図１４で示すリンク距離別ノードリストを初期化し、起点ノードＡ１をリンク距離＝０のカラムに設定し（Ｓ７０１）、図１５，１６で示すリンク距離探索処理データの、探索距離＝０、探索元ノード＝Ａ１、積算探索ノード数＝０で初期化する（Ｓ７０２）。積算探索ノード数がｎ以上かどうかを判定した後（Ｓ７０３）、増加探索ノード数が０かどうかを判定し（Ｓ７０４）、探索を開始する。探索距離に１を加算した数を探索距離に設定し、また、探索元ノード一時格納バッファを初期化する（Ｓ７０５）。図１５，１６に示すリンク距離探索処理データの探索元ノードカラムに探索元ノードＩＤがあるか否かを判定し（Ｓ７０６）、有りの場合は、リンク距離探索処理データ（図１５，１６）の探索元ノードのカラムから１個の探索元ノードＩＤを取り出し、リンク距離探索処理データ（図１５，１６）の探索済みノードのカラムに設定し、取り出した探索元ノードＩＤを探索元ＩＤカラムから削除する（Ｓ７０７）。また、取り出した探索元ノードＩＤを処理中ノードに設定する（Ｓ７０８）。次に、図１０に示す、ノード追加型関係管理データベース２３を対象に、処理中ノードからリンク距離１のノードＩＤを探索し（Ｓ７０９）、これが有る場合は、探索したノードＩＤが、探索済みノードカラムに存在するか否かを確認し（Ｓ７１０）、無しの場合は、探索したノードＩＤを、図１４で示すリンク距離別ノードリストのリンク距離数が探索距離と同じカラムに追加する（Ｓ７１１）。更に、同じく、探索したノードを、探索元ノード一時格納バッファに追加し（Ｓ７１２）、増加探索ノード数、積算探索ノード数にそれぞれ１を加算する（Ｓ７１３）。ステップＳ７０９で探索したすべてのノードＩＤの処理が終了していない場合は、ステップＳ７１０からの処理に戻り、残りのノードＩＤの処理を行う（Ｓ７１４）。ステップＳ７０９で探索したすべてのノードＩＤの処理が終了した場合は、ステップＳ７０６に戻り、探索元ノードＩＤカラムにある残りの探索元ノードＩＤの処理を継続する（Ｓ７０６）。探索元ノードＩＤカラムに探索元ノードＩＤがない場合は、探索元ノード一時格納バッファの内容を探索元ノードＩＤに格納して（Ｓ７０６ａ）、ステップＳ７０３の処理に戻る。
【００４５】
指定された探索距離でのノード探索を終了し、目標とするリコメンド作品数に到達したかどうかを、積算探索ノード数がｎ以上かどうかによって判定し（Ｓ７０３）、超えていれば、図１４で示すリンク距離別ノードリストを関係管理サーバ１２に返信する（Ｓ７１４）。
【００４６】
関係管理サーバ１２は、ステップＳ５０５で、これを受信する。この例では、リンク距離が１はＷ１３、リンク距離が２はＷ２３、Ｗ４２、Ｗ４３で、合計４個のノードＩＤを受信することとなる。ステップＳ５０５は図２０に対応し、ステップＳ５０５に続くフローとして、ステップＳ５０６で、距離の近いｎ個（ここでは４個）を、オーディエンスコンピュータＡ１に返信する。アクションコンピュータのオーディエンスコンピュータＡ１は、ステップＳ５０７でこれを受信し、ｎ個の作品のリコメンド情報として、コンピュータ画面に表示する。
【００４７】
なお、リンク距離計算部３１は、アクションコンピュータからのリコメンド要求時に関係管理サーバ１２から動作させるだけでなく、関係管理サーバ１２が、アクションコンピュータからのリコメンド要求を想定し、関係管理データベース２１のデータレコードの増加量などを判断し、定期的なリンク距離別ノードリストの更新処理を行ってもよい。その際、特定のアクションコンピュータを対象にするのではなく、アクションコンピュータのタイプやグループなどを指定し、リンク距離別ノードリストを一括または選択して更新処理を行ってもよい。
【００４８】
＜補記＞
リコメンダシステムに含まれうるハードウェアエンティティ（関係管理サーバ、アクションコンピュータ）は、キーボードなどが接続可能な入力部、液晶ディスプレイなどが接続可能な出力部、ハードウェアエンティティの外部に通信可能な通信装置（例えば通信ケーブル）が接続可能な通信部、ＣＰＵ（Central Processing Unit）〔キャッシュメモリやレジスタなどを備えていてもよい〕、メモリであるＲＡＭやＲＯＭ、ハードディスクである外部記憶装置並びにこれらの入力部、出力部、通信部、ＣＰＵ、ＲＡＭ、ＲＯＭ、外部記憶装置の間のデータのやり取りが可能なように接続するバスを有している。また必要に応じて、ハードウェアエンティティに、ＣＤ−ＲＯＭなどの記録媒体を読み書きできる装置（ドライブ）などを設けるとしてもよい。このようなハードウェア資源を備えた物理的実体としては、汎用コンピュータなどがある。
【００４９】
ハードウェアエンティティの外部記憶装置には、上述の機能を実現するために必要となるプログラムおよびこのプログラムの処理において必要となるデータなどが記憶されている（外部記憶装置に限らず、例えばプログラムを読み出し専用記憶装置であるＲＯＭに記憶させておくなどでもよい）。また、これらのプログラムの処理によって得られるデータなどは、ＲＡＭや外部記憶装置などに適宜に記憶される。
【００５０】
ハードウェアエンティティでは、外部記憶装置〔あるいはＲＯＭなど〕に記憶された各プログラムとこの各プログラムの処理に必要なデータが必要に応じてメモリに読み込まれて、適宜にＣＰＵで解釈実行・処理される。その結果、ＣＰＵが所定の機能（ノード追加・縮退処理部、リンク距離計算部）を実現する。
【図１】
2015075882.tif 000003
【図２】
2015075882.tif 000004
【図３】
2015075882.tif 000005
【図４】
2015075882.tif 000006
【図５】
2015075882.tif 000007
【図６】
2015075882.tif 000008
【図７】
2015075882.tif 000009
【図１１】
2015075882.tif 000010
【図１２】
2015075882.tif 000011
【図１３】
2015075882.tif 000012
【図１４】
2015075882.tif 000013
【図１５】
2015075882.tif 000014
【図１６】
2015075882.tif 000015
【図１７】
2015075882.tif 000016
【図１８】
2015075882.tif 000017
【図１９】
2015075882.tif 000018
【図２０】
2015075882.tif 000019
【図２１】
2015075882.tif 000020
【図２２】
2015075882.tif 000021
【図８】
2015075882.tif 000022
【図９】
2015075882.tif 000023
【図１０】
2015075882.tif 000024