(57)【特許請求の範囲】
【請求項１】
アイテム推薦システムであって、
ユーザおよびアイテム毎の購買情報を取得し、購買情報記憶手段に格納する購買情報取得手段と、
前記購買情報記憶手段に格納された各購買情報を用いて各ユーザの購買に関するユーザ特徴量を算出し、ユーザ特徴量記憶手段に格納するユーザ特徴量算出手段と、
代表ユーザの数が所定の数に達するまで、各ユーザを代表ユーザとするか否かを、前記ユーザ特徴量を用いて算出した代表判定値に基づいて判別し、代表ユーザとして判別した場合、該ユーザと、前記代表判別値とを代表ユーザ記憶手段に格納するとともに、代表ユーザとしない場合は、該ユーザと、該ユーザの代表判別値と一致する代表ユーザとを類似代表ユーザ記憶手段に格納する代表ユーザ決定手段と、
類似代表ユーザ記憶手段に存在しない各ユーザについて、前記ユーザ特徴量を用いて代表判定値を算出し、前記代表ユーザ記憶手段に格納された各代表判定値の中で最も類似する代表判定値の代表ユーザを該ユーザの代表ユーザとして決定し、該ユーザと決定した代表ユーザとを類似代表ユーザ記憶手段に格納する類似代表ユーザ発見手段と、
前記購買情報記憶手段に記憶された購買情報の各アイテムについて、代表ユーザ毎に推薦スコアを算出し、該推薦スコアにもとづいて代表ユーザ毎に推薦する推薦アイテムを選択して推薦リストを生成し、推薦リスト記憶手段に格納する推薦リスト作成手段と、を有すること
を特徴とするアイテム推薦システム。
【請求項２】
請求項１記載のアイテム推薦システムであって、
アイテム推薦リクエストを端末から受け付けると、当該アイテム推薦リクエストで指定されたユーザに対応する代表ユーザを取得し、該代表ユーザの推薦リストを前記推薦リスト記憶手段から抽出し、前記端末に提示する推薦処理手段を、さらに有すること
を特徴とするアイテム推薦システム。
【請求項３】
請求項１または２記載のアイテム推薦システムであって、
前記代表ユーザ決定手段は、
前記所定の代表ユーザ数と、ユーザ特徴量のトピック数とを用いてハッシュパラメータを算出し、
指定したハッシュコード数分、および前記ユーザ特徴量のトピック数分の組み合わせでトピックハッシュを生成し、
前記ハッシュコード数分、前記ハッシュパラメータを用いてハッシュ乱数を生成し、
前記ハッシュコード数分、乱数を発生してハッシュコードとし、  
前記トピック毎のユーザ特徴量と、トピックハッシュと、ハッシュ乱数と、ハッシュコードとを用いて、各ユーザの前記代表判定値であるハッシュ値を算出する、ハッシュパラメータ算出手段を有すること
を特徴とするアイテム推薦システム。
【請求項４】
コンピュータが行うアイテム推薦方法であって、
ユーザおよびアイテム毎の購買情報を取得し、購買情報記憶部に格納する購買情報取得ステップと、
前記購買情報記憶部に格納された各購買情報を用いて各ユーザの購買に関するユーザ特徴量を算出し、ユーザ特徴量記憶部に格納するユーザ特徴量算出ステップと、
代表ユーザの数が所定の数に達するまで、各ユーザを代表ユーザとするか否かを、前記ユーザ特徴量を用いて算出した代表判定値に基づいて判別し、代表ユーザとして判別した場合、該ユーザと、前記代表判別値とを代表ユーザ記憶部に格納するとともに、代表ユーザとしない場合は、該ユーザと、該ユーザの代表判別値と一致する代表ユーザとを類似代表ユーザ記憶部に格納する代表ユーザ決定ステップと、
類似代表ユーザ記憶部に存在しない各ユーザについて、前記ユーザ特徴量を用いて代表判定値を算出し、前記代表ユーザ記憶部に格納された各代表判定値の中で最も類似する代表判定値の代表ユーザを該ユーザの代表ユーザとして決定し、該ユーザと決定した代表ユーザとを類似代表ユーザ記憶部に格納する類似代表ユーザ発見ステップと、
前記購買情報記憶部に記憶された購買情報の各アイテムについて、代表ユーザ毎に推薦スコアを算出し、該推薦スコアにもとづいて代表ユーザ毎に推薦する推薦アイテムを選択して推薦リストを生成し、推薦リスト記憶部に格納する推薦リスト作成ステップと、を行うこと
を特徴とするアイテム推薦方法。
【請求項５】
請求項４記載のアイテム推薦方法であって、
アイテム推薦リクエストを端末から受け付けると、当該アイテム推薦リクエストで指定されたユーザに対応する代表ユーザを取得し、該代表ユーザの推薦リストを前記推薦リスト記憶部から抽出し、前記端末に提示する推薦処理ステップを、さらに行うこと
を特徴とするアイテム推薦方法。
【請求項６】
請求項４または５記載のアイテム推薦方法であって、
前記代表ユーザ決定ステップは、
前記所定の代表ユーザ数と、ユーザ特徴量のトピック数とを用いてハッシュパラメータを算出するステップと、
指定したハッシュコード数分、および前記ユーザ特徴量のトピック数分の組み合わせでトピックハッシュを生成するステップと、
前記ハッシュコード数分、前記ハッシュパラメータを用いてハッシュ乱数を生成するステップと、
前記ハッシュコード数分、乱数を発生してハッシュコードとするステップと、  
前記トピック毎のユーザ特徴量と、トピックハッシュと、ハッシュ乱数と、ハッシュコードとを用いて、各ユーザの前記代表判定値であるハッシュ値を算出するステップと、を行うこと
を特徴とするアイテム推薦方法。
【請求項７】
請求項１から３のいずれか一項に記載のアイテム推薦システムとしてコンピュータを機能させるためのアイテム推薦プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザにアイテムを推薦するアイテム推薦システム、アイテム推薦方法およびアイテム推薦プログラムに関する。
【背景技術】
【０００２】
アイテム推薦の手法はいくつも提案されているが、いずれの手法も推薦リストを作成する際に、ユーザとアイテムの組合せ分の推薦スコアを計算する必要がある。
【０００３】
例えば、非特許文献１記載の技術では、購買履歴（どのユーザがどのアイテムを購買したかの情報）を用いて各ユーザの各アイテムの購買確率を算出し、その値が高い順に各ユーザにアイテムのリストを提示する。この技術に基づく推薦システムでは、ユーザ一人一人に対して全てのアイテムの購買確率が計算されることになる。
【０００４】
特許文献１では、利用者に興味を持つ部分のテキストを指定させ、そこに含まれる単語の出現頻度に基づいてユーザの興味を推定し、ユーザの興味を表す単語に基づいてアイテムを検索し、ユーザの興味のあるアイテムを提示する。この場合、ユーザ一人一人の興味を示す単語が異なると、作成される推薦リストも異なる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平１１−３３８８６９号公報
【非特許文献】
【０００６】
【非特許文献１】Resnick, P. et al., “GroupLens: An open architecture for collaborative filtering of netnews”. CSCW ’94: Proceedings of the 1994 ACM conference on Computer supported cooperative work, ACM Press New York, 1994.
【発明の概要】
【発明が解決しようとする課題】
【０００７】
アイテム推薦の応答速度を高めるために、予め作成しておいた推薦リストを記憶装置に格納しておき、推薦を行う際に記憶装置から推薦リストを読み出すことで、アイテムの推薦を行うことが考えられる。この場合、記憶装置にはユーザ数分の推薦リストを格納できるだけの容量が必要になる。そのため、推薦システムを導入するE-Commerceサービスの利用者が莫大な数（たとえば100万人規模）になると、記憶装置に全ユーザの推薦リストを格納する場合、膨大な記憶装置が必要となる。
【０００８】
具体的には、特許文献１の手法を用いて商品を推薦する場合、一意に異なる興味キーワードの数分の推薦リストを記憶装置に格納することになる。興味キーワードはユーザ一人一人で異なる可能性があるため、記憶装置に格納する推薦リストの数は最悪の場合ユーザ数に比例する。また、非特許文献１の手法で商品を推薦する場合、ユーザ数分の推薦リストを記憶装置に保持することになる。
【０００９】
本発明は、上記の点に鑑みてなされたものであり、推薦リストを作成するユーザの数を絞り込み、必要とする記憶装置の容量を削減するアイテム推薦システム、アイテム推薦方法およびアイテム推薦プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記目的を達成するため、請求項１記載の本発明は、アイテム推薦システムであって、ユーザおよびアイテム毎の購買情報を取得し、購買情報記憶手段に格納する購買情報取得手段と、前記購買情報記憶手段に格納された各購買情報を用いて各ユーザの購買に関するユーザ特徴量を算出し、ユーザ特徴量記憶手段に格納するユーザ特徴量算出手段と、代表ユーザの数が所定の数に達するまで、各ユーザを代表ユーザとするか否かを、前記ユーザ特徴量を用いて算出した代表判定値に基づいて判別し、代表ユーザとして判別した場合、該ユーザと、前記代表判別値とを代表ユーザ記憶手段に格納するとともに、代表ユーザとしない場合は、該ユーザと、該ユーザの代表判別値と一致する代表ユーザとを類似代表ユーザ記憶手段に格納する代表ユーザ決定手段と、類似代表ユーザ記憶手段に存在しない各ユーザについて、前記ユーザ特徴量を用いて代表判定値を算出し、前記代表ユーザ記憶手段に格納された各代表判定値の中で最も類似する代表判定値の代表ユーザを該ユーザの代表ユーザとして決定し、該ユーザと決定した代表ユーザとを類似代表ユーザ記憶手段に格納する類似代表ユーザ発見手段と、前記購買情報記憶手段に記憶された購買情報の各アイテムについて、代表ユーザ毎に推薦スコアを算出し、該推薦スコアにもとづいて代表ユーザ毎に推薦する推薦アイテムを選択して推薦リストを生成し、推薦リスト記憶手段に格納する推薦リスト作成手段と、を有することを要旨とする。
【００１１】
請求項２記載の本発明は、アイテム推薦システムであって、アイテム推薦リクエストを端末から受け付けると、当該アイテム推薦リクエストで指定されたユーザに対応する代表ユーザを取得し、該代表ユーザの推薦リストを前記推薦リスト記憶手段から抽出し、前記端末に提示する推薦処理手段を、さらに有することを要旨とする。
【００１２】
請求項３記載の本発明は、アイテム推薦システムであって、前記代表ユーザ決定手段は、前記所定の代表ユーザ数と、ユーザ特徴量のトピック数とを用いてハッシュパラメータを算出し、指定したハッシュコード数分、および前記ユーザ特徴量のトピック数分の組み合わせでトピックハッシュを生成し、前記ハッシュコード数分、前記ハッシュパラメータを用いてハッシュ乱数を生成し、前記ハッシュコード数分、乱数を発生してハッシュコードとし、前記トピック毎のユーザ特徴量と、トピックハッシュと、ハッシュ乱数と、ハッシュコードとを用いて、各ユーザの前記代表判定値であるハッシュ値を算出する、ハッシュパラメータ算出手段を有することを要旨とする。
【００１３】
請求項４記載の本発明は、コンピュータが行うアイテム推薦方法であって、ユーザおよびアイテム毎の購買情報を取得し、購買情報記憶部に格納する購買情報取得ステップと、前記購買情報記憶部に格納された各購買情報を用いて各ユーザの購買に関するユーザ特徴量を算出し、ユーザ特徴量記憶部に格納するユーザ特徴量算出ステップと、代表ユーザの数が所定の数に達するまで、各ユーザを代表ユーザとするか否かを、前記ユーザ特徴量を用いて算出した代表判定値に基づいて判別し、代表ユーザとして判別した場合、該ユーザと、前記代表判別値とを代表ユーザ記憶部に格納するとともに、代表ユーザとしない場合は、該ユーザと、該ユーザの代表判別値と一致する代表ユーザとを類似代表ユーザ記憶部に格納する代表ユーザ決定ステップと、類似代表ユーザ記憶部に存在しない各ユーザについて、前記ユーザ特徴量を用いて代表判定値を算出し、前記代表ユーザ記憶部に格納された各代表判定値の中で最も類似する代表判定値の代表ユーザを該ユーザの代表ユーザとして決定し、該ユーザと決定した代表ユーザとを類似代表ユーザ記憶部に格納する類似代表ユーザ発見ステップと、前記購買情報記憶部に記憶された購買情報の各アイテムについて、代表ユーザ毎に推薦スコアを算出し、該推薦スコアにもとづいて代表ユーザ毎に推薦する推薦アイテムを選択して推薦リストを生成し、推薦リスト記憶部に格納する推薦リスト作成ステップと、を行うことを要旨とする。
【００１４】
請求項５記載の本発明は、アイテム推薦方法であって、アイテム推薦リクエストを端末から受け付けると、当該アイテム推薦リクエストで指定されたユーザに対応する代表ユーザを取得し、該代表ユーザの推薦リストを前記推薦リスト記憶部から抽出し、前記端末に提示する推薦処理ステップを、さらに行うことを要旨とする。
【００１５】
請求項６記載の本発明は、アイテム推薦方法であって、前記代表ユーザ決定ステップは、前記所定の代表ユーザ数と、ユーザ特徴量のトピック数とを用いてハッシュパラメータを算出するステップと、指定したハッシュコード数分、および前記ユーザ特徴量のトピック数分の組み合わせでトピックハッシュを生成するステップと、前記ハッシュコード数分、前記ハッシュパラメータを用いてハッシュ乱数を生成するステップと、前記ハッシュコード数分、乱数を発生してハッシュコードとするステップと、前記トピック毎のユーザ特徴量と、トピックハッシュと、ハッシュ乱数と、ハッシュコードとを用いて、各ユーザの前記代表判定値であるハッシュ値を算出するステップと、を行うことを要旨とする。
【００１６】
請求項７記載の本発明は、前記アイテム推薦システムとしてコンピュータを機能させるためのアイテム推薦プログラムである。
【発明の効果】
【００１７】
本発明によれば、推薦リストを作成するユーザの数を絞り込み、必要とする記憶装置の容量を削減するアイテム推薦システム、アイテム推薦方法およびアイテム推薦プログラムを提供することができる。
【図面の簡単な説明】
【００１８】
【図１】本発明の実施形態に係るアイテム推薦システムの構成図である。
【図２】購買情報テーブルの一例を示す図である。
【図３】ユーザ特徴量テーブルの一例を示す図である。
【図４】アイテム混合比テーブルの一例を示す図である。
【図５】トピックハッシュテーブルの一例を示す図である。
【図６】ハッシュ乱数テーブルの一例を示す図である。
【図７】ハッシュコードテーブルの一例を示す図である。
【図８】代表ユーザテーブルの一例を示す図である。
【図９】類似代表ユーザテーブルの一例を示す図である。
【図１０】推薦リストテーブルの一例を示す図である。
【図１１】購買時の処理のフローチャートである。
【図１２】トピック決定時の処理のフローチャートである。
【図１３】図１２のステップ２３０の処理のフローチャートである。
【図１４】図１３のステップ２３２の処理のフローチャートである。
【図１５】代表ユーザ決定時の処理のフローチャートである。
【図１６】図１５のステップ３６０の処理のフローチャートである。
【図１７】図１５のステップ３Ａ０の処理のフローチャートである。
【図１８】類似代表ユーザ発見時の処理のフローチャートである。
【図１９】推薦リスト作成時の処理のフローチャートである。
【図２０】推薦処理のフローチャートである。
【発明を実施するための形態】
【００１９】
以下、本発明の実施の形態について、図面を参照して説明する。
【００２０】
図１は、本発明の一実施の形態におけるアイテム推薦システムの構成を示す。図示するアイテム推薦システム１は、購買情報処理部１０、ユーザ特徴量算出部２０、代表ユーザ決定部３０、類似代表ユーザ発見部４０、推薦リスト作成部５０、推薦処理部６０、記録部７０、通信部８０、および入出力部９０を備える。通信部８０は、ネットワーク３に接続されており、入出力部９０は、入力装置や表示装置等の外部装置４に接続されている。
【００２１】
購買情報処理部１０は、ユーザおよびアイテム毎の購買情報を取得し、購買情報テーブル７１に格納する。ユーザ特徴量算出部２０は、購買情報テーブル７１に格納された各購買情報を用いて各ユーザの購買に関するユーザ特徴量（トピック比率）を算出し、ユーザ特徴量テーブル７２に格納する。本実施形態では、ユーザ特徴量に後述するトピック比率を用いるものとする。
【００２２】
代表ユーザ決定部３０は、代表ユーザの数が所定の数に達するまで、各ユーザを代表ユーザとするか否かを、ユーザ特徴量を用いて算出した代表判定値（ハッシュ値）に基づいて判別し、代表ユーザとして判別した場合、該ユーザと、代表判別値とを代表ユーザテーブル７７に格納するとともに、代表ユーザとしない場合は、該ユーザと、該ユーザの代表判別値と一致する代表ユーザとを類似代表ユーザテーブル７８に格納する。本実施形態では、代表判定値に後述するハッシュ値を用いるものとする。
【００２３】
また、代表ユーザ決定部３０は、ハッシュパラメータ算出部３１を備える。ハッシュパラメータ算出部３１は、所定の代表ユーザ数と、ユーザ特徴量のトピック数とを用いてハッシュパラメータを算出し、指定したハッシュコード数分、およびユーザ特徴量のトピック数分の組み合わせでトピックハッシュを生成し、トピックハッシュ記憶手段７４に格納し、ハッシュコード数分、ハッシュパラメータを用いてハッシュ乱数を生成してハッシュ乱数テーブル７５に格納し、ハッシュコード数分、乱数を発生してハッシュコードとし、ハッシュコードテーブル７６に格納し、トピック毎のユーザ特徴量と、トピックハッシュと、ハッシュ乱数と、ハッシュコードとを用いて、各ユーザの代表判定値であるハッシュ値を算出する。
【００２４】
類似代表ユーザ発見部４０は、類似代表ユーザテーブル７８に存在しない各ユーザについて、ユーザ特徴量を用いて代表判定値を算出し、代表ユーザテーブル７７に格納された各代表判定値の中で最も類似する代表判定値の代表ユーザを該ユーザの代表ユーザとして決定し、該ユーザと決定した代表ユーザとを類似代表ユーザテーブル７８に格納する。
【００２５】
推薦リスト作成部５０は、購買情報テーブル７１に記憶された購買情報の各アイテムについて、代表ユーザ毎に推薦スコアを算出し、該推薦スコアにもとづいて代表ユーザ毎に推薦する推薦アイテムを選択して推薦リストを生成し、推薦リストテーブル７９に格納する。
【００２６】
推薦処理部６０は、アイテム推薦リクエストを外部端末２から受け付けると、当該アイテム推薦リクエストで指定されたユーザに対応する代表ユーザを取得し、該代表ユーザの推薦リストを推薦リストテーブル７９から抽出し、外部端末２に提示する。
【００２７】
記録部７０には、購買情報テーブル７１、ユーザ特徴量テーブル７２、アイテム混合比テーブル７３、トピックハッシュテーブル７４、ハッシュ乱数テーブル７５、ハッシュコードテーブル７６、代表ユーザテーブル７７、類似代表ユーザテーブル７８および推薦リストテーブル７９が記憶される。以下に各テーブルについて説明する。
【００２８】
＜購買情報テーブル７１＞
図２は、購買情報テーブル７１の一例を示す図である。購買情報テーブル７１には、E-Commerceサービスにおいて、購入されたアイテム（商品やサービスなど）および購入したユーザに関する購買情報が記憶される。図示する購買情報テーブル７１には、ユーザＩＤフィールドと、アイテムＩＤフィールドとが含まれる。ユーザＩＤフィールドには、該購買に関するユーザを特定するユーザ識別子が、購買情報処理部１０により設定される。アイテムＩＤフィールドには、該購買がいずれのアイテムに関するものかを特定するアイテム識別子が、購買情報処理部１０により設定される。
【００２９】
＜ユーザ特徴量テーブル７２＞
図３は、ユーザ特徴量テーブル７２の一例を示す図である。ユーザ特徴量テーブル７２は、各ユーザと各トピックとの結びつき（関連性）の強さを示すものであって、ユーザおよびトピック毎にレコードが生成される。トピック（分類）は、購買情報テーブル７１の購買レコードを所定の数にグルーピングした分類結果である。
【００３０】
図示するユーザ特徴量テーブル７２には、ユーザＩＤフィールドと、トピックＩＤフィールドと、トピック比率フィールドとが含まれる。トピック比率フィールドには、該ユーザuの購買において、対応するトピックzが選択される確率であるトピック比率P(z|u)が、ユーザ特徴量算出部２０により設定される。なお、本実施形態では、トピック比率をユーザ特徴量として用いる。
【００３１】
＜アイテム混合比テーブル７３＞
図４は、アイテム混合比テーブル７３の一例を示す図である。図示するアイテム混合比テーブル７３には、トピックＩＤフィールドと、アイテムＩＤフィールドと、アイテム混合比フィールドとが含まれる。アイテム混合比フィールドには、該トピックzが選択された場合に、該アイテムiが購買される確率P(i|z)がユーザ特徴量算出部２０により設定される。
【００３２】
＜トピックハッシュテーブル７４＞
図５は、トピックハッシュテーブル７４の一例を示す図である。図示するトピックハッシュテーブル７４には、コードＩＤフィールドと、トピックＩＤフィールドと、トピックハッシュフィールドとが含まれる。コードＩＤフィールドには、ハッシュ値計算に利用する複数のハッシュコードのそれぞれを特定するＩＤが、代表ユーザ決定部３０により設定される。トピックハッシュフィールドには、ハッシュ値計算に利用する次元がトピック数で各要素が乱数で初期化されたベクトルの要素値が、代表ユーザ決定部３０により設定される。
【００３３】
＜ハッシュ乱数テーブル７５＞
図６は、ハッシュ乱数テーブル７５の一例を示す図である。図示するハッシュ乱数テーブル７５には、コードＩＤフィールドと、ハッシュ乱数フィールドとが含まれる。ハッシュ乱数フィールドには、該バケット（ハッシュテーブルのスロット/要素）の該コードに関するハッシュ乱数の値が、代表ユーザ決定部３０により設定される。
【００３４】
＜ハッシュコードテーブル７６＞
図７は、ハッシュコードテーブル７６の一例を示す図である。図示するハッシュコードテーブル７６は、コードＩＤフィールドと、ハッシュコードフィールドとが含まれる。ハッシュコードフィールドには、該バケットの該コードに関するハッシュコードの値が、代表ユーザ決定部３０により設定される。
【００３５】
＜代表ユーザテーブル７７＞
図８は、代表ユーザテーブル７７の一例を示す図である。図示する代表ユーザテーブル７７は、代表ユーザＩＤフィールドと、ハッシュ値フィールドとが含まれる。代表ユーザＩＤフィールドには、代表ユーザ決定部３０が決定した代表ユーザのユーザＩＤが設定される。ハッシュ値フィールドは、後述する類似代表ユーザ発見時に利用するハッシュテーブルの値が、代表ユーザ決定部３０により設定される。なお、本実施形態では、ハッシュ値フィールドに設定される値を、代表判定値として用いる。
【００３６】
＜類似代表ユーザテーブル７８＞
図９は、類似代表ユーザテーブル７８の一例を示す図である。類似代表ユーザテーブル７８は、各ユーザと、当該ユーザに類似する代表ユーザとを対応付けたテーブルである。図示する類似代表ユーザテーブル７８は、ユーザＩＤフィールドと、代表ユーザＩＤフィールドとが含まれる。代表ユーザＩＤフィールドには、対応するユーザに類似する代表ユーザのユーザＩＤが、代表ユーザ決定部３０により設定される。なお、代表ユーザの場合は、ユーザＩＤフィールドと代表ユーザＩＤフィールドに、同じユーザＩＤが設定される。
【００３７】
＜推薦リストテーブル７９＞
図１０は、推薦リストテーブル７９の一例を示す図である。推薦リストテーブル７９は、代表ユーザ毎に推薦するアイテムが設定されたテーブルである。図示する推薦リストテーブル７９には、代表ユーザＩＤフィールドと、アイテムＩＤフィールドと、推薦スコアフィールドとが含まれる。推薦スコアフィールドには、推薦リスト作成部５０が算出した、該代表ユーザへの該アイテムの推薦スコアが設定される。
【００３８】
上記説明したアイテム推薦システム１は、例えば、ＣＰＵと、メモリと、ＨＤＤ等の外部記憶装置とを備えた汎用的なコンピュータシステムを用いることができる。このコンピュータシステムにおいて、ＣＰＵがメモリ上にロードされたアイテム推薦システム１用のプログラムを実行することにより、アイテム推薦システム１の各機能が実現される。また、アイテム推薦システム１用のプログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ−ＲＯＭなどのコンピュータ読取り可能な記録媒体に記憶することも、ネットワークを介して配信することもできる。
【００３９】
次に、本実施形態の具体的な処理について説明する。
【００４０】
図１１は、本実施形態における購買情報更新時の処理のフローチャートである。なお、購買情報更新のタイミングは、たとえばシステム管理者が手動で管理・指示するようにしてもよいし、ユーザが何らかのアイテムを購買した場合に自動で更新するようにしてもよい。
【００４１】
ステップ１１０）購買情報処理部１０は、該アイテム推薦システム１のE-Commerce処理部（不図示）、または図示しないE-Commerceシステムなどから購買情報（購買履歴情報）を取得する。E-Commerce処理部またはE-Commerceシステムは、商品やサービスなどのアイテムを販売するサービスを、ネットワーク３を介して外部端末２に提供する。
【００４２】
なお、購買情報処理部１０は、システム管理者による指示を受け付けたタイミングで、E-Commerce処理部等から購買情報を取得してもよく、また、アイテムが購入されたタイミングでE-Commerce処理部等が、購買情報を購買情報処理部１０に送信することとしてもよい。
【００４３】
ステップ１２０）購買情報処理部１０は、取得した購入情報を購買情報テーブル７１に登録する。すなわち、購入されたアイテム毎に、購入したユーザのユーザＩＤおよび購入されたアイテムのアイテムＩＤを、アイテムＩＤフィールドおよびユーザＩＤフィールドに設定したレコードを購買情報テーブル７１に登録する。
【００４４】
図１２は、本実施形態におけるトピック決定時の処理のフローチャートである。トピック決定のタイミングは、たとえばシステム管理者が手動で管理・指示するようにしてもよく、また、定期的に自動で行うこととしてもよい。
【００４５】
ステップ２１０）ユーザ特徴量算出部２０は、推薦のためのパラメータであるトピック数K、トピック比率P(z|u)算出のための事前パラメータα、アイテム混合比P(i|z)算出のための事前パラメータηを設定する。これらパラメータには、予め定めた所定の値（定数）を用いる。トピック数Kは、購買情報テーブル７１の各購買レコードをいくつのトピック（分類）にグルーピングするかを指定するものである。
【００４６】
ステップ２２０）ユーザ特徴量算出部２０は、購買情報テーブル７１を参照し、購買情報、すなわち各購買レコードのユーザu＝｛um｝mと、アイテムi＝｛im｝mとを取得する。
【００４７】
ステップ２３０）ユーザ特徴量算出部２０は、各購買レコードのトピックz＝｛zm｝mを決定する。ステップ２３０の処理については、図１３で後述する。
【００４８】
ステップ２４０）ユーザ特徴量算出部２０は、ステップ２１０で設定したパラメータのトピック数Kおよびαと、ステップ２３０で決定した各購買レコードのトピックzと、 式１とを用いて、トピック比率P(z|u)を算出する。トピック比率P(z|u)は、ユーザuの購買で、トピックzが選択される確率を示すものである。なお、トピック比率P (z|u)は、ユーザ特徴量を示す指標の１つである。
【数１】
0005422069.tif 000002
【００４９】
ここでmは、購買情報テーブル７１の各購買レコードを特定する変数である。ユーザ特徴量算出部２０は、ユーザuおよびトピックz毎に、トピック比率P(z|u)を設定したレコードを生成し、ユーザ特徴量テーブル７２に登録する。各購買レコードには、ユーザＩＤとアイテムＩＤとが含まれるため、ユーザ毎に結びつきの強いトピックがわかる。
【００５０】
ステップ２５０）ユーザ特徴量算出部２０は、ステップ２１０で設定したパラメータηと、ステップ２３０で決定した各購買レコードのトピックzと 、式２とを用いて、トピックzが選択された場合にアイテムiが購買される確率であるアイテム混合比P(i|z)を算出する。
【数２】
0005422069.tif 000003
【００５１】
ここでNは、ユニークアイテム数である。ユーザ特徴量算出部２０は、トピックz、アイテムi、アイテム混合比P(i|z)を設定したレコードを生成し、アイテム混合比テーブル７３に登録する。これにより、あるトピックに結びつきの強いアイテムがわかる。
【００５２】
次に、上記の図１２のステップ２３０の処理を詳細に説明する。
【００５３】
図１３は、図１２のステップ２３０の処理のフローチャートである。
【００５４】
ステップ２３１）ユーザ特徴量算出部２０は、各購買レコードのトピックzm（m＝1,・・・,M）を、最小値１、最大値Kの乱数で初期化する。
【００５５】
そしてステップ２３２を、所定の回数繰り返す。繰り返しの回数については、予め設定した任意の数でも構わないし、各購買レコードのトピックzが収束したらそこで打ち切るようにしてもよい。図１３では、所定の回数（例えば、500回）繰り返す例を示し、回数jを0で初期化し、Ｓ２３２を行った後、回数jをインクリメントし、回数jが500になるまで、Ｓ２３２を繰り返し行う。
【００５６】
ステップ２３２）ユーザ特徴量算出部２０は、各購買レコードのトピックzm（m＝1,・・・,M）を更新する。このステップ２３２の処理については、図１４を用いて詳細に説明する。
【００５７】
図１４は、図１０のステップ２３２の処理のフローチャートである。
【００５８】
ユーザ特徴量算出部２０は、全ての各購買レコードm＝1,・・・,Mについて、ステップ２３２１とステップ２３２２とを行う。すなわち、最初にmに1を設定し、ステップ２３２１およびステップ２３２２を行った後、mをインクリメントし、mがMになるまで、ステップ２３２１およびステップ２３２２を繰り返し行う。
【００５９】
ステップ２３２１）ユーザ特徴量算出部２０は、該購買レコードのトピックzmの各トピック候補k＝1,・・・,Kへアサインされるサンプリング確率を、式３により算出する。
【数３】
0005422069.tif 000004
【００６０】
すなわち、最初にkに1を設定し、ステップ２３２１を行った後、kをインクリメントし、kがKになるまでステップ２３２１を繰り返し行うことで、1からKの各トピック候補のサンプリング確率を算出し、その後、ステップ２３２２を行う。
【００６１】
ステップ２３２２）ユーザ特徴量算出部２０は、ステップ２３２１で算出した該購買レコードのトピックzmの各トピック候補k＝1,・・・,K へアサインされるサンプリング確率に基づき、乱数を発生させて、zmを更新する。具体的には、k＝2,・・・,Kについて、式４に従ってサンプリング確率を更新する。
【数４】
0005422069.tif 000005
【００６２】
さらに、k＝1,・・・,K について、サンプリングを式５のように更新する。
【数５】
0005422069.tif 000006
【００６３】
その後、最小値0、最大値1の小数の乱数を発生させて、その値をサンプリング確率が上回る最小のkにアサインする。具体例を挙げて説明すると、今K＝3として、式３に基づき算出された各トピック候補のサンプリング確率がそれぞれP(zm＝1)＝1.6、P(zm＝2)＝0.4、P(zm＝3)＝2.0であったとする。つまり、それぞれのトピックに4:1:5の割合でサンプリングされるようにしたい。このとき、式４と式５とを用いてP(zm＝1)＝0.4、P(zm＝2)＝0.5、P(zm＝3)＝1.0とサンプリング確率を更新し、最小値0、最大値1の小数の乱数を発生させてその値をサンプリング確率が上回る最小のkにアサインする。すなわち、発生させた乱数の値をサンプリング確率が上回る最小のkを、該購買レコードのトピックzmとして決定する。
【００６４】
図１５は、本実施形態における代表ユーザ決定時の処理のフローチャートである。代表ユーザ決定のタイミングは、たとえばシステム管理者が手動で管理・指示するようにしてもよく、また、定期的に自動で行うこととしてもよい。
【００６５】
ステップ３１０）代表ユーザ決定部３０は、トピックハッシュテーブル７４の全レコードを削除する。  
ステップ３２０）代表ユーザ決定部３０は、ハッシュ乱数テーブル７５の全レコードを削除する。
【００６６】
ステップ３３０）代表ユーザ決定部３０は、ハッシュコードテーブル７６の全レコードを削除する。
【００６７】
ステップ３４０）代表ユーザ決定部３０は、代表ユーザテーブル７７の全レコードを削除する。
【００６８】
ステップ３５０）代表ユーザ決定部３０は、ハッシュ値算出に利用するハッシュコードの数であるコード数C、コードパラメータρを設定する。これらパラメータは、予め定めた所定の値（定数）を用いる。
【００６９】
ステップ３６０）代表ユーザ決定部３０は、ハッシュパラメータ算出部３１を呼び出し、ハッシュパラメータβを算出する。なお、ステップ３６０については、図１６で後述する。
【００７０】
ステップ３７０）代表ユーザ決定部３０は、コード、トピックの各組合せ(c,z)について、最小0、分散1の正規分布から生成される乱数でトピックハッシュαczを決定し、該コード、該トピックのトピックハッシュ値を設定したレコードを生成し、トピックハッシュテーブル７４に登録する。
【００７１】
ステップ３８０）代表ユーザ決定部３０は、各コードcについて、最小0、最大βの小数乱数でハッシュ乱数ｂcを決定し、該コードの該ハッシュ乱数値に応じてレコードを生成し、ハッシュ乱数テーブル７５に登録する。
【００７２】
ステップ３９０）代表ユーザ決定部３０は、各コードcについて、最小0、最大ρの乱数rtcでハッシュコードを決定し、該バケット、該コードのハッシュコード値に応じてレコードを生成し、ハッシュコードテーブル７６に登録する。
【００７３】
ステップ３Ａ０）代表ユーザ決定部３０は、生成したトピックハッシュと、ハッシュ乱数と、ハッシュコードとを用いて、購買情報テーブル７１、ユーザ特徴量テーブル７２を参照し、代表ユーザテーブル７６と類似代表ユーザテーブル７７を更新する。なお、ステップ３Ａ０については、図１７で後述する。
【００７４】
次に、上記の図１５のステップ３６０の処理を詳細に説明する。
【００７５】
図１６は、図１５のステップ３６０の詳細な処理のフローチャートである。
【００７６】
ステップ３６１）ハッシュパラメータ算出部３１は、ハッシュパラメータ算出係数Bを取得する。該ハッシュパラメータ算出係数Bは、予め与えておいた定数により設定される。
【００７７】
ステップ３６２）ハッシュパラメータ算出部３１は、代表ユーザ数Wを取得する。該代表ユーザ数Wは、予め与えておいた定数により設定される。
【００７８】
ステップ３６３）ハッシュパラメータ算出部３１は、トピック数Kを取得する。該パラメータは、予め与えておいた定数により設定される。
【００７９】
ステップ３６４）ハッシュパラメータ算出部３１は、ハッシュパラメータ算出係数B、代表ユーザ数W、トピック数Kよりハッシュパラメータβを、式６に従って算出する。
【数６】
0005422069.tif 000007
【００８０】
次に、上記の図１５のステップ３Ａ０の処理を詳細に説明する。
【００８１】
図１７は、本発明の一実施の形態における図１５のステップ３Ａ０の詳細な処理のフローチャートである。
【００８２】
ステップ３Ａ１）代表ユーザ決定部３０は、購買情報テーブル７１を参照し、ユーザＩＤフィールドに出現する全ユーザ集合Uを取得する。
【００８３】
ステップ３Ａ２）代表ユーザ決定部３０は、代表ユーザ集合を格納する一時変数Vを設定し、その値を空集合に設定する。
【００８４】
全ユーザ集合Uに含まれる各ユーザuについて、ステップ３Ａ３〜３ＡＡを行う。すなわち、全ユーザ集合Uに未処理のユーザuがあるか否かを判別し、未処理のユーザuがある場合は未処理のユーザuを選択し、選択したユーザuについてステップ３Ａ３〜３ＡＡの処理を行う。
【００８５】
ステップ３Ａ３）代表ユーザ決定部３０は、ユーザ特徴量テーブル７２を参照しユーザuの各トピックzに対するトピック比率P(z|u)を取得する。
【００８６】
ステップ３Ａ４）代表ユーザ決定部３０は、ユーザuのハッシュ値huをユーザuのトピック比率P(z|u)、トピックハッシュαcz、ハッシュ乱数ｂc、ハッシュコードrcを用いて式７のように算出する。
【数７】
0005422069.tif 000008
【００８７】
ここでfloor()は、引数を越えない最大の整数を返す関数とする。
【００８８】
ステップ３Ａ５）代表ユーザ決定部３０は、処理中の代表ユーザ集合V中の各代表ユーザvのハッシュ値hvと該ユーザuのhuとを比較し、該ユーザuのhuと一致する代表ユーザvのハッシュ値hvがある場合、ステップ３Ａ６を行い、次のユーザの処理に移る。一方、いずれの代表ユーザvともハッシュ値が異なる場合、ステップ３Ａ７、ステップ３Ａ８、ステップ３Ａ９、ステップ３ＡＡを行う。
【００８９】
ステップ３Ａ６）代表ユーザ決定部３０は、ユーザＩＤフィールドの値がu、代表ユーザＩＤフィールドの値がvのレコードを生成し、類似代表ユーザテーブル７８に登録する。
【００９０】
ステップ３Ａ７）代表ユーザ決定部３０は、ユーザuのhuと一致する代表ユーザvのハッシュ値hvが代表ユーザ集合Vの中に無い場合、代表ユーザ集合Vに該ユーザuを追加する（V←V∪｛u｝)
ステップ３Ａ８）代表ユーザ決定部３０は、ユーザuの各バケットtに対するハッシュ値hutに応じて、代表ユーザＩＤフィールドをu、ハッシュ値フィールドhutのレコードを生成し、代表ユーザテーブル７７に登録する。
【００９１】
ステップ３Ａ９）代表ユーザ決定部３０は、ユーザＩＤフィールドの値がu、代表ユーザＩＤフィールドの値がuのレコードを生成し、類似代表ユーザテーブル７８に登録する。
【００９２】
ステップ３ＡＡ）代表ユーザ決定部３０は、代表ユーザ集合Vの要素数と代表ユーザ数Wとを比較し、代表ユーザ集合Vの要素数と代表ユーザ数Wとが等しい場合、本処理を終了する。一方、代表ユーザ集合Vの要素数の方が代表ユーザ数Wよりも小さい場合、次のユーザの処理に移る。ステップ３ＡＡを行うことで、代表ユーザ数をW以内に抑えることができる。
【００９３】
次に、本実施形態における類似代表ユーザ発見時の処理を詳細に説明する。
【００９４】
図１８は、類似代表ユーザ発見時の処理のフローチャートである。類似代表ユーザ発見処理は、代表ユーザ決定処理の直後に自動で行われる。
【００９５】
ステップ４１０）類似代表ユーザ発見部４０は、購買情報テーブル７１を参照し、全ユーザ集合 U を取得する。
【００９６】
ステップ４２０）類似代表ユーザ発見部４０は、類似代表ユーザテーブル７８を参照し、ユーザIDフィールドに出現する全ユーザ集合を類似代表ユーザ発見済ユーザ集合U’として取得する。
【００９７】
ステップ４３０）類似代表ユーザ発見部４０は、代表ユーザテーブル７７を参照し、各代表ユーザと、対応するハッシュ値とを取得し、ハッシュ値マップとしてメモリに保持する。なお、本実施形態では、ステップ４３０により代表ユーザテーブル７７をメモリに保持することでステップ４６０の高速化を図っているが、本処理を行うことなく、ステップ４６０で、直接、代表ユーザテーブル７７を参照することとしてもよい。
【００９８】
そして、類似代表ユーザ発見部４０は、類似代表ユーザが発見されていないユーザ集合U−U’に出現する各ユーザuについて、ステップ４４０〜４７０を行う。
【００９９】
ステップ４４０）類似代表ユーザ発見部４０は、ユーザ特徴量テーブル７２を参照し、ユーザuのトピック毎のトピック比率P(z|u)を取得する。
【０１００】
ステップ４５０）類似代表ユーザ発見部４０は、ユーザuのハッシュ値huをユーザuのトピック比率P(z|u)、トピックハッシュαcz、ハッシュ乱数ｂc、ハッシュコードrcを用いて式８のように算出する。
【数８】
0005422069.tif 000009
【０１０１】
ここで、floor()は、引数を越えない最大の整数を返す関数とする。
【０１０２】
ステップ４６０）類似代表ユーザ発見部４０は、ハッシュ値マップとしてメモリに保持された代表ユーザ集合V中の各代表ユーザvのハッシュ値hvと該ユーザuのhuとを比較し、該ユーザuのhuと一致する代表ユーザvのハッシュ値hvが存在するか否かを判別する。該ユーザuのhuと一致する代表ユーザvのハッシュ値hvが存在する場合、ステップ４８０を行い、次のユーザの処理に移る。一方、いずれの代表ユーザvともハッシュ値が異なる場合、ステップ４７０およびステップ４８０を行い、次のユーザの処理に移る。
【０１０３】
ステップ４７０）類似代表ユーザ発見部４０は、全代表ユーザ中でユーザuのハッシュ値huと最も近いハッシュ値を持つ代表ユーザvを探索する。このとき、探索には、例えば文献１（Bentley, ”Multidimensional Binary Search Tree Used for Associative Searching”, 1975）記載の二分探索木等を用いる。
【０１０４】
ステップ４８０）類似代表ユーザ発見部４０は、ユーザＩＤフィールドの値に該ユーザのuを、代表ユーザＩＤフィールドの値がvのレコードを構成し、類似代表ユーザテーブル７８に登録する。すなわち、ステップ４６０：ＹＥＳの場合、代表ユーザＩＤフィールドには、該ユーザuのhuとハッシュ値hvが一致する代表ユーザvを設定し、ステップ４６０：ＮＯの場合、代表ユーザＩＤフィールドvには、該ユーザuのhuとハッシュ値hvが最も近い代表ユーザvを設定する。
【０１０５】
図１９は、本発明の実施形態における推薦リスト作成時の処理のフローチャートである。推薦リスト作成のタイミングは、たとえばシステム管理者が手動で管理・指示することができるようにしてもよいし、定期的に自動で行ってもよい。
【０１０６】
ステップ５１０）推薦リスト作成部５０は、アイテム混合比テーブル７３を参照し、各トピックzにおける各アイテムiのアイテム混合比P(i|z)を取得する。
【０１０７】
ステップ５２０）推薦リスト作成部５０は、代表ユーザテーブル７７を参照し、代表ユーザＩＤフィールドに出現する全ての代表ユーザ集合Vを取得する。そして、取得した代表ユーザ集合Vに存在する各代表ユーザv について、ステップ５３０〜５５０を行う。すなわち、代表ユーザ集合Vの中に未処理の代表ユーザv があるか否かを判別し、未処理の代表ユーザv がある場合は未処理の代表ユーザv を選択し、選択した代表ユーザv にステップ５３０〜５５０を行う。
【０１０８】
ステップ５３０）推薦リスト作成部５０は、ユーザ特徴量テーブル７２を参照し、ユーザＩＤフィールドの値がvのレコードから、代表ユーザvの各トピックzに対するトピック比率P(z|v)を取得する。
【０１０９】
ステップ５４０）推薦リスト作成部５０は、購買情報テーブル中に出現する全ての各アイテムiについて、取得したアイテム混合比とトピック比率とを用いて、アイテムiの代表ユーザvに対する推薦スコアP(i|v)を式９に従って算出する。
【数９】
0005422069.tif 000010
【０１１０】
ステップ５５０）推薦リスト作成部５０は、ステップ５４０で算出した各アイテムの推薦スコアP(i|v)に基づいて、代表ユーザvに対していずれのアイテムを推薦アイテムとするかを決定する。そして、推薦リスト作成部５０は、決定した推薦アイテム毎に、ユーザＩＤフィールドにv、アイテムＩＤフィールドにi、推薦スコアフィールドにP(i|v)を設定したレコードを生成し、推薦リストテーブル７９に登録する。なお、推薦リストテーブル７９のレコードには、ユーザＩＤと推薦アイテムとが対応付けて記憶されるため、ユーザＩＤでレコードを抽出することで推薦リストが生成される。
【０１１１】
推薦アイテムとするか否かの判断基準としては、例えば、推薦スコアの値が大きいものから順に予め設定した任意の件数のアイテムを推薦アイテムとして決定すること、または、推薦スコアに対して何らかの閾値を設けて、 推薦スコアがその閾値を超えるアイテムを推薦アイテムとして決定すること、などが考えられる。
【０１１２】
図２０は、本実施形態における推薦処理時の処理のフローチャートである。推薦処理は、例えば通信部８０およびネットワーク３を通じて外部端末２からアイテム推薦システム１にアイテム推薦のリクエストが送信された場合に実行される。
【０１１３】
ステップ６１０）推薦処理部６０は、外部端末２からユーザuに関するアイテム推薦のリクエストを受信する。なお、このリクエストには、引数として対象となるユーザuのユーザＩＤが含まれている。
【０１１４】
ステップ６２０）推薦処理部６０は、類似代表ユーザテーブル７８を参照し、リクエストで指定されたユーザＩＤの値uに対応する代表ユーザＩＤフィールドの値vを取得する。
【０１１５】
ステップ６３０）推薦処理部６０は、ステップ６２０で取得した代表ユーザvに対応する全ての推薦アイテムiを、推薦リストテーブル７９から抽出して、該ユーザu用の推薦リストを生成し、リクエスト送信元の外部端末２に推薦リストを提示することで、該ユーザuにアイテムを推薦する。
【０１１６】
以上説明した本実施形態では、非常にユーザ数の多いインターネット上のサービスでアイテムの推薦を行うために、購買情報および推薦処理の中間結果を元に予め指定した一定数の代表ユーザを選択し、各代表ユーザ用の推薦リストのみ作成し、代表でないユーザについては類似する代表ユーザの推薦リストを用いる。
【０１１７】
具体的には、本実施形態では、推薦リストを予め作成し、記憶装置に格納しておく方式において、全ユーザの推薦リストを記憶装置に保持しておくのではなく、予め指定しておいた数の代表ユーザを選択し、該代表ユーザの推薦リストのみを記憶装置に保持しておき、代表でないユーザには最も類似する代表ユーザの推薦リストを用いる。
【０１１８】
これにより、本実施形態では、推薦リストを記憶する記憶装置の容量を小規模化することができる。また、本実施形態では、従来の技術では不可能であった、非常にユーザ数の多いインターネット上のサービス上でのアイテムの推薦が行えるようになり、インターネット上のサービスの多数のユーザの購買が促進されるため、大幅な収益増につながる。
【０１１９】
また、本実施形態では、記憶装置を小規模化することにより、アイテム推薦における計算コストおよび処理負荷を低減することができ、ユーザ数が膨大なシステムにおいても、より高速なアイテム推薦を実現することができる。
【０１２０】
なお、本発明は上記実施形態に限定されるものではなく、その要旨の範囲内で数々の変形が可能である。
【符号の説明】
【０１２１】
１  ：アイテム推薦システム
１０：購買情報処理部
２０：ユーザ特徴量算出部
３０：代表ユーザ決定部
３１：ハッシュパラメータ算出部
４０：類似代表ユーザ発見部
５０：推薦リスト作成部
６０：推薦処理部
７０：記憶部
７１：購買情報テーブル
７２：ユーザ特徴量テーブル
７３：アイテム混合比テーブル
７４：トピックハッシュテーブル
７５：ハッシュ乱数テーブル
７６：ハッシュコードテーブル
７７：代表ユーザテーブル
７８：類似代表ユーザテーブル
７９：推薦リストユーザテーブル
８０：通信部
９０：入出力部
２  ：外部端末
３  ：ネットワーク
４  ：外部装置
【要約】
【課題】推薦リストを作成するユーザの数を絞り込み、必要とする記憶装置の容量を削減する。 
【解決手段】アイテム推薦システム１であって、ユーザおよびアイテム毎の購買情報を取得する購買情報取得手段１０と、各購買情報を用いて各ユーザのユーザ特徴量を算出するユーザ特徴量算出手段２０と、ユーザ特徴量を用いて算出した代表判定値に基づいて所定の数の代表ユーザを判別し、該代表ユーザと代表判別値とを代表ユーザ記憶手段７７に格納する代表ユーザ決定手段３０と、各ユーザについて代表判定値を算出し、代表ユーザ記憶手段７７の各代表判定値の中で最も類似する代表判定値の代表ユーザを該ユーザの代表ユーザとして決定する類似代表ユーザ発見手段４０と、購買情報の各アイテムについて代表ユーザ毎に推薦スコアを算出し、該推薦スコアにもとづいて代表ユーザ毎に推薦する推薦アイテムを選択して推薦リストを生成する推薦リスト作成手段５０とを有する。
【選択図】図１【図１】
0005422069.tif 000011
【図２】
0005422069.tif 000012
【図３】
0005422069.tif 000013
【図４】
0005422069.tif 000014
【図５】
0005422069.tif 000015
【図６】
0005422069.tif 000016
【図７】
0005422069.tif 000017
【図８】
0005422069.tif 000018
【図９】
0005422069.tif 000019
【図１０】
0005422069.tif 000020
【図１１】
0005422069.tif 000021
【図１２】
0005422069.tif 000022
【図１３】
0005422069.tif 000023
【図１４】
0005422069.tif 000024
【図１５】
0005422069.tif 000025
【図１６】
0005422069.tif 000026
【図１７】
0005422069.tif 000027
【図１８】
0005422069.tif 000028
【図１９】
0005422069.tif 000029
【図２０】
0005422069.tif 000030