説明

双方向クラスタ分割装置、方法、及び、プログラム

【課題】多変量データと多変量データに対応したシーケンスデータとを、各変量間、及び、シーケンスデータ間で共通の特徴をもつクラスタに同時に分割することができる双方向クラスタ分割装置を提供する。
【解決手段】入力手段11は、多変量データと多変量データに対応したシーケンスデータとを入力する。双方向クラスタリング手段12は、多変量データとシーケンスデータとに対して双方向クラスタリングを行う。双方向クラスタリング手段12は、クラスタに含まれる各変量間とシーケンスデータ間とのそれぞれで共通した特徴が多いか少ないかを表す評価関数を用いて、多変量データとシーケンスデータとを、複数のクラスタに分割する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、双方向クラスタ分割装置、方法、及び、プログラムに関し、更に詳しくは、多変量データの集合を、データ間で共通の特徴を持つクラスタに分割する双方向クラスタ分割装置、方法、及び、プログラムに関する。
【背景技術】
【0002】
クラスタリング技術は、データの集合を、共通の特徴を持つクラスタに分割する技術である。多変量データは、あるデータ点が複数の変量から成るデータである。多変量データを変量ごとにクラスタリングする技術は、一方向のクラスタリングと呼ばれている。これに対し、複数の変量を同時にクラスタリングする技術は、双方向クラスタリング(Co-clustering)と呼ばれる。非特許文献1及び2は、双方向クラスタリングが記載された文献である。
【0003】
双方向クラスタリングは、特に、自然言語処理の技術として開発されている。自然言語処理の分野では、双方向クラスタリングを、文章と単語とを同時にクラスタリングする際に使用している。双方向クラスタリングでは、文章と単語という多変量データを、文章と単語との共起情報を基に、文章と単語との各部分集合が共起関係になるクラスタにクラスタ分割を行う。
【0004】
自然言語処理の分野で、双方向クラスタリングを用いずに文章と単語とをクラスタリングする場合には、文章と単語とを別々にクラスタリングする必要がある。文章のクラスタリングでは、各文章に含まれる単語の頻度を特徴として利用し、その特徴が同じ文章が同一クラスタに属するように、クラスタ分割を行う。単語のクラスタリングでは、各単語がどの文章に含まれているかを特徴として利用し、その特徴が同じ単語が同一クラスタに含まれるように、クラスタ分割を行う。
【0005】
自然言語処理に一方向のクラスタリングを用いる場合、上記のように、文章は単語の特徴を用いてクラスタリングし、単語は文章の特徴を用いてクラスタリングする。このため、クラスタリング処理が冗長になる。また、文書でクラスタリングした結果と、単語でクラスタリングした結果とを組み合わせることで、文書と単語の双方のクラスタリングが実現できる。しかし、一方向のクラスタリングでは、文章と単語とを別々にクラスタリングするために、文章と単語との相関や、共起関係を適切にクラスタに組み込むことが困難である。これに対し、双方向のクラスタリングでは、文書と単語との相関や、共起関係をクラスタに組み込むことができる。
【0006】
特許文献1は、顧客ごとの商品の購買履歴データから、クラスタを抽出する購買情報処理装置が記載された文献である。特許文献1の購買情報処理装置は、購買情報生成手段と、購買情報処理手段とから成る。購買情報生成手段は、購買履歴データにある顧客と商品とをそれぞれ、行及び列の一方の項目として当てはめる。購買情報生成手段は、顧客が購入した履歴がある商品の行列要素と、購入した履歴がない商品の行列要素とに、互いに異なる所定の指標値(0又は1)を付与して、行列テーブルを生成する。
【0007】
購買情報処理手段は、行列テーブルについて、行ごとの指標値の総和に基づいて行を並び替えると共に、列ごとの指標値の総和に基づいて列を並び替える。購買情報処理手段は、指標値の総和を、昇順又は降順に並び変える。購買情報処理手段は、並び変え後、行列テーブル上の指標値の分布にて規定されるクラスタを抽出する。特許文献1では、このようなクラスタリングを行うことで、顧客情報のクラスタ抽出に要する計算量及び処理時間の低減が可能である。
【0008】
特許文献2は、時系列データをクラスタリングする時系列データ処理装置が記載された文献である。時系列データは、処理日時などの時間情報、顧客特定情報、及び、商品特定情報を最低限含む。時系列データ処理装置は、時系列データを対象として、商品をその購買顧客が類似する複数のグループにクラスタリングする。時系列データ処理装置は、クラスタ内の任意の2つの商品(商品A、B)に対して、2つの商品が同時に購入されている事例数、Aが購入された後にBが購入された事例数、Bが購入された後にAが購入された事例数をカウントする。時系列データ処理装置は、カウンタした事例数から、2つの商品の順序関係を決定する。
【先行技術文献】
【特許文献】
【0009】
【特許文献1】特開2003−248750号公報
【特許文献2】特開平9−305571号公報
【非特許文献】
【0010】
【非特許文献1】A Generalized Maximum Entropy Approach to Bregman Co-clustering and Matrix Approximation,A.Banerjee and I.Dhillon and J.Ghosh and S.Merugu and D.S.Modha,KDD2004
【非特許文献2】Fully Automatic Cross-associations,Deepayan Chakrabarti and Spiros Papadimitriou and Dharmendra S.Modha and Christos Faloutsos,KDD2004
【非特許文献3】Probabilistic Model-Based Clustering of Multivariate and Sequential Data,Padhraic Smyth,In Proceedings of Artificial Intelligence and Statistics,1999
【発明の概要】
【発明が解決しようとする課題】
【0011】
情報化社会が進み、蓄積されたデータも膨大な量になっている。例えば、小売業では、POS(Point of Sales)データと呼ばれる多変量データが大量に蓄積されている。POSデータは、どの顧客が、いつ、どこで、何を購入したかという情報を含む。蓄積されるデータは多変量データだけではなく、各データ点に順序情報が与えられたシーケンスデータも膨大に蓄積されている。シーケンスデータは、データ点に対応したデータであり、多変量データの2以上のキー(属性)に関連する情報が時系列に並んだデータである。多変量データのデータ点に対応してシーケンスデータがある場合、シーケンスデータも考慮した上で、クラスタリングを行うことが好ましいと考えられる。
【0012】
しかし、非特許文献1及び2は、多変量データに対して双方向クラスタリングを行うのみであり、多変量データとシーケンスデータとを同時にクラスタリングすることはできない。特許文献1も、同様に、多変量データに対して双方向クラスタリングを行うのみで、シーケンスデータを考慮して双方向クラスタリングを行うことができない。また、特許文献2は、クラスタリング後に、同じクラスタに属する2つの商品について、時系列データから、どちらの商品が先に購入されたか、又は、同時に購入されたかを求めているに過ぎず、シーケンスデータを考慮したクラスタリングは行っていない。
【0013】
ここで、非特許文献3には、多変量データとシーケンスデータとをクラスタに分割する技術が記載されている。しかし、非特許文献3におけるクラスタリングは、一方向クラスタリングである。従って、非特許文献3では、多変量データとシーケンスデータとを同時に双方向クラスタリングすることはできない。
【0014】
本発明は、多変量データと多変量データに対応したシーケンスデータとを、各変量間、及び、シーケンスデータ間で共通の特徴をもつクラスタに同時に分割可能な双方向クラスタ分割装置、方法、及び、プログラムを提供することを目的とする。
【課題を解決するための手段】
【0015】
上記目的を達成するために、本発明は、多変量データと多変量データに対応したシーケンスデータとを入力する入力手段と、前記多変量データとシーケンスデータとに対して双方向クラスタリングを行い、前記多変量データと前記シーケンスデータとを、クラスタに含まれる各変量間とシーケンスデータ間とのそれぞれで共通した特徴が多いか少ないかを表す評価関数を用いて複数のクラスタに分割する双方向クラスタリング手段とを備える双方向クラスタ分割装置を提供する。
【0016】
本発明は、多変量データと多変量データに対応したシーケンスデータとを入力するステップと、前記多変量データとシーケンスデータとに対して双方向クラスタリングを行い、前記多変量データを、クラスタに含まれる各変量間とシーケンスデータ間とのそれぞれで共通した特徴が多いか少ないかを表す評価関数を用いて複数のクラスタに分割するステップとを有する双方向クラスタ分割方法を提供する。
【0017】
本発明は、コンピュータに、多変量データと多変量データに対応したシーケンスデータとを入力する処理と、前記多変量データとシーケンスデータとに対して双方向クラスタリングを行い、前記多変量データを、クラスタに含まれる各変量間とシーケンスデータ間とのそれぞれで共通した特徴が多いか少ないかを表す評価関数を用いて複数のクラスタに分割する処理とを実行させるプログラムを提供する。
【0018】
本発明は、ユーザからのコンテンツへのリクエストを受け付け、リクエストを送信したユーザとリクエストしたコンテンツとをユーザリクエスト記憶部に記憶するリクエスト受付手段と、ユーザがリクエストしたコンテンツに、ユーザに広告主のコンテンツをリクエストさせるための仕組みを含む広告を付加して送信するコンテンツ配信手段と、前記ユーザリクエスト記憶部に記憶された情報に基づいて、ユーザと広告とを変量とし、ユーザが広告から広告主のコンテンツをリクエストしたか否かを示す多変量データを生成すると共に、前記多変量データ対応して、ユーザが広告主のコンテンツをリクエストするまでに送信したリクエストを時系列で並べたシーケンスデータを生成するデータ生成手段と、前記多変量データと前記シーケンスデータとに対して双方向クラスタリングを行い、前記多変量データと前記シーケンスデータとを、クラスタに含まれる各変量間とシーケンスデータ間とのそれぞれで共通した特徴が多いか少ないかを表す評価関数を用いて複数のクラスタに分割し、双方向クラスタリング結果を出力する双方向クラスタリング手段と、前記双方向クラスタリング結果に基づいて、前記コンテンツ配信手段がコンテンツに付加すべき広告を決定する広告選択手段とを備える広告配信システムを提供する。
【0019】
本発明は、ユーザからのコンテンツへのリクエストを受け付け、リクエストを送信したユーザとリクエストしたコンテンツとをユーザリクエスト記憶部に記憶するリクエスト受付ステップと、ユーザがリクエストしたコンテンツに、ユーザに広告主のコンテンツをリクエストさせるための仕組みを含む広告を付加して送信するコンテンツ配信ステップと、前記ユーザリクエスト記憶部に記憶された情報に基づいて、ユーザと広告とを変量とし、ユーザが広告から広告主のコンテンツをリクエストしたか否かを示す多変量データを生成すると共に、前記多変量データ対応して、ユーザが広告主のコンテンツをリクエストするまでに送信したリクエストを時系列で並べたシーケンスデータを生成するデータ生成ステップと、前記多変量データと前記シーケンスデータとに対して双方向クラスタリングを行い、前記多変量データを、クラスタに含まれる各変量間とシーケンスデータ間とのそれぞれで共通した特徴が多いか少ないかを表す評価関数を用いて複数のクラスタに分割し、双方向クラスタリング結果を出力する双方向クラスタリングステップと、前記双方向クラスタリング結果に基づいて、前記コンテンツに付加すべき広告を決定する広告選択ステップとを有する広告配信方法を提供する。
【0020】
本発明は、コンピュータに、ユーザからのコンテンツへのリクエストを受け付け、リクエストを送信したユーザとリクエストしたコンテンツとをユーザリクエスト記憶部に記憶するリクエスト受付処理と、ユーザがリクエストしたコンテンツに、ユーザに広告主のコンテンツをリクエストさせるための仕組みを含む広告を付加して送信するコンテンツ配信処理と、前記ユーザリクエスト記憶部に記憶された情報に基づいて、ユーザと広告とを変量とし、ユーザが広告から広告主のコンテンツをリクエストしたか否かを示す多変量データを生成すると共に、前記多変量データ対応して、ユーザが広告主のコンテンツをリクエストするまでに送信したリクエストを時系列で並べたシーケンスデータを生成するデータ生成処理と、前記多変量データと前記シーケンスデータとに対して双方向クラスタリングを行い、前記多変量データを、クラスタに含まれる各変量間とシーケンスデータ間とのそれぞれで共通した特徴が多いか少ないかを表す評価関数を用いて複数のクラスタに分割し、双方向クラスタリング結果を出力する双方向クラスタリング処理と、前記双方向クラスタリング結果に基づいて、前記コンテンツに付加すべき広告を決定する広告選択処理とを実行させるプログラムを提供する。
【0021】
本発明は、顧客が商品を購入したという情報を含む売上情報を収集し、該収集した売上情報に基づいて、顧客と商品とを変量とし、顧客が商品を購入したか否かを示す多変量データを生成すると共に、前記多変量データに対応して、顧客が商品を購入したことに関する履歴を時系列で並べたシーケンスデータとを生成するデータ生成手段と、前記多変量データとシーケンスデータとに対して双方向クラスタリングを行い、前記多変量データと前記シーケンスデータとを、クラスタに含まれる各変量間とシーケンスデータ間とのそれぞれで共通した特徴が多いか少ないかを表す評価関数を用いて複数のクラスタに分割し、双方向クラスタリング結果を出力する双方向クラスタリング手段と、前記双方向クラスタリング結果に基づいて、顧客に推薦する商品を決定する推薦商品リスト生成手段とを備える商品推薦システムを提供する。
【0022】
本発明は、顧客が商品を購入したという情報を含む売上情報を収集し、該収集した売上情報に基づいて、顧客と商品とを変量とし、顧客が商品を購入したか否かを示す多変量データを生成すると共に、前記多変量データに対応して、顧客が商品を購入したことに関する履歴を時系列で並べたシーケンスデータとを生成するデータ生成ステップと、前記多変量データとシーケンスデータとに対して双方向クラスタリングを行い、前記多変量データと前記シーケンスデータとを、クラスタに含まれる各変量間とシーケンスデータ間とのそれぞれで共通した特徴が多いか少ないかを表す評価関数を用いて複数のクラスタに分割し、双方向クラスタリング結果を出力する双方向クラスタリングステップと、前記双方向クラスタリング結果に基づいて、顧客に推薦する商品を決定する推薦商品リスト生成ステップとを有する商品推薦方法を提供する。
【0023】
本発明は、コンピュータに、顧客が商品を購入したという情報を含む売上情報を収集し、該収集した売上情報に基づいて、顧客と商品とを変量とし、顧客が商品を購入したか否かを示す多変量データを生成すると共に、前記多変量データに対応して、顧客が商品を購入したことに関する履歴を時系列で並べたシーケンスデータとを生成するデータ生成処理と、前記多変量データとシーケンスデータとに対して双方向クラスタリングを行い、前記多変量データと前記シーケンスデータとを、クラスタに含まれる各変量間とシーケンスデータ間とのそれぞれで共通した特徴が多いか少ないかを表す評価関数を用いて複数のクラスタに分割し、双方向クラスタリング結果を出力する双方向クラスタリング処理と、前記双方向クラスタリング結果に基づいて、顧客に推薦する商品を決定する推薦商品リスト生成処理とを実行させるプログラムを提供する。
【0024】
本発明は、車両の車種と故障個所とを含む故障情報を収集し、該収集した故障情報に基づいて、車種と地域とを変量とし、当該車種に対し当該地域で故障が発生したか否かを示す多変量データを生成すると共に、前記多変量データに対応して、当該車種で過去に発生した故障個所の履歴を時系列で並べたシーケンスデータを生成するデータ生成手段と、前記多変量データとシーケンスデータとに対して双方向クラスタリングを行い、前記多変量データと前記シーケンスデータとを、クラスタに含まれる各変量間とシーケンスデータ間とのそれぞれで共通した特徴が多いか少ないかを表す評価関数を用いて複数のクラスタに分割し、双方向クラスタリング結果を出力する双方向クラスタリング手段と、前記双方向クラスタリング結果に基づいて、車種に対して故障の発生が予測される地域を推測する故障予測候補リスト生成手段とを備える故障予測システムを提供する。
【0025】
本発明は、車両の車種と故障個所とを含む故障情報を収集し、該収集した故障情報に基づいて、車種と地域とを変量とし、当該車種に対し当該地域で故障が発生したか否かを示す多変量データを生成すると共に、前記多変量データに対応して、当該車種で過去に発生した故障個所の履歴を時系列で並べたシーケンスデータを生成するデータ生成ステップと、前記多変量データとシーケンスデータとに対して双方向クラスタリングを行い、前記多変量データと前記シーケンスデータとを、クラスタに含まれる各変量間とシーケンスデータ間とのそれぞれで共通した特徴が多いか少ないかを表す評価関数を用いて複数のクラスタに分割し、双方向クラスタリング結果を出力する双方向クラスタリングステップと、前記双方向クラスタリング結果に基づいて、車種に対して故障の発生が予測される地域を推測する故障予測候補リスト生成ステップとを有する故障予測方法を提供する。
【0026】
本発明は、コンピュータに、車両の車種と故障個所とを含む故障情報を収集し、該収集した故障情報に基づいて、車種と地域とを変量とし、当該車種に対し当該地域で故障が発生したか否かを示す多変量データを生成すると共に、前記多変量データに対応して、当該車種で過去に発生した故障個所の履歴を時系列で並べたシーケンスデータを生成するデータ生成処理と、前記多変量データとシーケンスデータとに対して双方向クラスタリングを行い、前記多変量データと前記シーケンスデータとを、クラスタに含まれる各変量間とシーケンスデータ間とのそれぞれで共通した特徴が多いか少ないかを表す評価関数を用いて複数のクラスタに分割し、双方向クラスタリング結果を出力する双方向クラスタリング処理と、前記双方向クラスタリング結果に基づいて、車種に対して故障の発生が予測される地域を推測する故障予測候補リスト生成処理とを実行させるプログラムを提供する。
【発明の効果】
【0027】
本発明の双方向クラスタ分割装置、方法、及び、プログラムは、多変量データと多変量データに対応したシーケンスデータとを、各変量間、及び、シーケンスデータ間で共通の特徴をもつクラスタに同時に分割することができる。
【図面の簡単な説明】
【0028】
【図1】本発明の第1実施形態に係る双方向クラスタ分割装置を示すブロック図。
【図2】双方向クラスタ分割装置の動作手順を示すフローチャート。
【図3】入力データの一例を示す図。
【図4】入力データをテーブル形式(行列形式)で示す図。
【図5】初期クラスタリングの結果を示す図。
【図6】最終的に得られたクラスタリング結果を示す図。
【図7】(a)は、多変量データを示し、(b)は、クラスタリング結果を示す図。
【図8】(a)は、シーケンスデータが付加された多変量データを示し、(b)は、クラスタリング結果を示す図。
【図9】本発明の第2実施形態に係る広告配信システムを示すブロック図。
【図10】ユーザ端末を示すブロック図。
【図11】Webサーバを示すブロック図。
【図12】双方向クラスタリング処理の手順を示すフローチャート。
【図13】双方向クラスタリング手段の入力データを示す図。
【図14】入力データをテーブル形式(行列形式)で示す図。
【図15】双方向クラスタリング手段のクラスタリング結果を示す図。
【図16】広告配信処理の手順を示すフローチャート。
【図17】広告配信候補を示す図。
【図18】Web広告が付加されたWebページを示す図。
【図19】本発明の第3実施形態に係る商品推薦システムを示す図。
【図20】商品推薦の動作手順を示すフローチャート。
【図21】双方向クラスタリング手段の入力データを示す図。
【図22】双方向クラスタリング結果を示す図。
【図23】推薦商品リストを示す図。
【図24】本発明の第4実施形態に係る故障予測システムを示すブロック図。
【図25】故障予測の動作手順を示すフローチャート。
【図26】双方向クラスタリング手段の入力データを示す図。
【図27】双方向クラスタリング結果を示す図。
【図28】故障予測候補リストを示す図。
【図29】本発明の双方向クラスタ分割装置の概略を示すブロック図。
【発明を実施するための形態】
【0029】
以下、図面を参照し、本発明の実施の形態について詳細に説明する。図1は、本発明の第1実施形態に係る双方向クラスタ分割装置を示している。双方向クラスタ分割装置100は、入力手段101、双方向クラスタリング手段102、クラスタ数算出手段103、及び、出力手段104を備える。双方向クラスタ分割装置100内の各手段の機能は、コンピュータが所定のプログラムを読み込んで実行することで実現可能である。
【0030】
入力手段101は、多変量データとシーケンスデータとを入力する。多変量データは、2以上の属性を変量とするデータである。シーケンスデータは、多変量データに対応したデータであり、多変量データの2以上のキー(属性)に関連する情報が時系列に並んだデータである。多変量データは、例えば、顧客と商品とを変量とし、顧客が商品を購入したか否かを示すデータとする。シーケンスデータは、例えば、顧客がある商品を購入したというデータ点に対応して、顧客がこれまでにその商品を購入したということに関する履歴を時系列で並べた履歴データとする。
【0031】
双方向クラスタリング手段102は、入力データに対し双方向クラスタリングを行う。双方向クラスタリング手段102は、評価関数を用いて、多変量データを複数のクラスタに分割する。評価関数は、多変量データを、クラスタに含まれる各変量間とシーケンスデータ間とのそれぞれで、共通した特徴が多いか少ないかを表す関数である。双方向クラスタリング手段102は、例えば、評価関数が共通した特徴が多くなるほど値が小さくなる関数であるとすれば、クラスタごとに計算した評価関数の値の総和が小さくなるように、クラスタ分割を行う。出力手段104は、双方向クラスタリング結果を出力する。
【0032】
クラスタ数算出手段103は、双方向クラスタリングにおけるクラスタ分割数を決定する。クラスタ数算出手段103は、初回のクラスタリングでは、クラスタ分割数として所定の初期値を出力する。双方向クラスタリング手段102は、初回のクラスタリングでは、入力データを、所定の初期値の数のクラスタに分割する。クラスタ数算出手段103は、双方向クラスタリング手段102がクラスタリングを行うと、評価関数の値に基づいて、クラスタ分割数を増加させるか否かを決定する。双方向クラスタリング手段102は、クラスタ数算出手段103がクラスタ分割数を増加させると、そのクラスタ分割数でクラスタ分割を再度行う。
【0033】
図2は、動作手順を示している。入力手段101は、多変量データとシーケンスデータとを入力する(ステップA1)。図3は、入力データの一例を示している。この例では、多変量データは、誰がどの商品を買ったかを表すデータである。多変量データの変量は、「顧客」と、「商品」との2つである。多変量データの各データに対して、商品購入の曜日履歴のデータ(シーケンスデータ)が付加されている。シーケンスデータは、yikで表現する。シーケンスデータyjkは、顧客jが、過去に商品kを購入した曜日を時系列で並べたデータである。
【0034】
なお、顧客が商品を購入したという情報は、所定の期間ごとに求めることができる。所定の期間は、例えば一月単位とする。図3では、顧客Bが商品2を購入したというデータが2つあるが、これは、顧客Bが商品2を購入した期間が異なるためである。例えば、2つの購入データのうちの一方は、顧客Bが商品2を先月購入したというデータに対応し、他方は、顧客Bが商品2を先々月購入したというデータに対応している。また、シーケンスデータy2Bは、顧客Bが商品2を購入した先々月の購入曜日履歴を表し、y2Bは、顧客Bが商品2を購入した先々月の購入曜日履歴を表している。
【0035】
図4は、入力データをテーブル形式(行列形式)で示している。図3に示す入力データを、行列で表すと、図4に示すようになる。入力データの行列を、Dで表す。行列Dの行は顧客を表し、列は商品を表す。行列Dの各要素は、0又は1の値を取る。0は商品を購入していないことを表し、1は商品を購入したことを表す。シーケンスデータは、顧客が商品を購入したことを表すデータ点に付加される。シーケンスデータは、1つのデータ点に対して1つとは限らず、1つのデータ点に複数のシーケンスデータが対応することもあり得る。
【0036】
双方向クラスタリング手段102は、クラスタ数算出手段103から、多変量データの各変量について、クラスタ分割数を受け取る。双方向クラスタリング手段102は、例えば、変量が2つであるとき、クラスタ数算出手段103から、各変量のクラスタ分割数k、lを受け取る。双方向クラスタリング手段102は、シーケンスデータを考慮しつつ、多変量データを双方向クラスタリングする(ステップA2)。双方向クラスタリング手段102は、多変量データをk×lのクラスタに分割する。双方向クラスタリング手段102は、例えば、クラスタ分割数の初期値として、k=2、l=2を受け取り、多変量データを4つのクラスタに分割する。
【0037】
双方向クラスタリング手段102は、評価関数を用いてクラスタリングを行う。評価関数には、各クラスタに属するデータが共通した特徴を持っていない度合いを計算する関数を用いる。入力データを双方向クラスタリングしたとき、各クラスタに属するデータが共通した特徴を持つほど、評価関数の値は小さくなる。逆に、各クラスタに属するデータが共通した特徴を持たないほど、評価関数の値は大きくなる。双方向クラスタリング手段102は、評価関数を小さくするようなクラスタ分割を行う。
【0038】
シーケンスデータを考慮した双方向クラスタリングで用いる評価関数について説明する。分割されたクラスタを、Dij(i=1〜k、j=1〜k)で表す。クラスタリングのコストは、下記式1で定義する。
【数1】

式1にて、C(Dij)は、評価関数を用いて計算されるクラスタDijのコストを表す。コストTは、各クラスタDijのコストの総和である。
【0039】
コストには、MDL(Minimum Description Length)という基準を用いる。各クラスタのコストC(Dij)は、下記式2で定義する。
【数2】

ここで、uは、多変量データが取る値である。図4の例では、uは、0又は1を取る。nは、クラスタDijに属するuの値の個数を表す。n(Dij)は、クラスタに属するデータ点の数である。すなわち、

である。なお、式2において、n(Dij)=0のときは、
【数3】

と定義する。
【0040】
式2で定義される関数が、評価関数に該当する。式2において、第1項は、クラスタDijに含まれる多変量データの類似度が高いほど値が小さくなり、第2項(コストDL(y(Dij)))は、クラスタDijに含まれるシーケンスデータの類似度合が高いほど値が小さくなる。コストDL(y(Dij))は、下記式3で定義する。
【数4】

ここで、|Dij|は、クラスタDijに属するシーケンスデータの総数を表す。mは、logの底である。^θは、y(Dij)をモデルで表すときのパラメータである。モデルには、シーケンスデータをモデル化する方法として広く利用されているHMM(Hidden Markov Model)やMarkov Model等の確率モデルを用いることができる。Rは、^θに含まれるパラメータの数を表す。
【0041】
コストC(Dij)は、クラスタDijに含まれる多変量データとシーケンスデータとの共通した特徴が多いか少ないかを表す。コストC(Dij)の値が小さいほど、共通した特徴が多く、値が大きいほど、共通した特徴が少ない。なお、クラスタDijの属する多変量データが全て同じ値のときは、式2における第1項の値は0となる。その場合、コストC(Dij)は、DL(y(Dij))のみで決まる。例えば、図4で、u=1のデータ点のみで構成されるクラスタのコストは、クラスタに属するデータ点のシーケンスデータの類似度に応じた値のみで決まる。なお、u=0のデータ点のみで構成されるクラスタのコストは、シーケンスデータがないことから0となる。
【0042】
クラスタ数算出手段103は、双方向クラスタリング手段102がクラスタ分割を行うと、クラスタ分割結果と評価関数とを用いて、クラスタ数を増加するか否かを決定する(ステップA3)。クラスタ数算出手段103は、例えば、式1で定義されるコストTの値が所定のしきい値を上回るか否かを判断する。クラスタ数算出手段103は、コストTの値がしきい値を上回るときは、クラスタ数を増加すると決定する。
【0043】
クラスタ数算出手段103にて、クラスタ数を増加させるか否かの判断手法は、特に上記したものには限定されない。例えば、以下のように判断してもよい。クラスタDijに属する多変量データとシーケンスデータとのから、どれか1つのデータ点を取り除く。データ点を1つ取り除いたクラスタをD’ijとする。クラスタ数算出手段103は、データ点を取り除く前後のコスト、C(Dij)とC(D’ij)を計算し、両者を比較する。クラスタ数算出手段103は、C(Dij)>C(D’ij)となるデータ点が存在する場合は、クラスタ数を増加すると決定する。
【0044】
クラスタ数算出手段103は、クラスタ数を増加させると決定すると、双方向クラスタリング手段102に、増加後のクラスタ数を通知する。クラスタ数算出手段103は、例えば、現在のクラスタ数をk、lとして、k+1とl、kとl+1、又は、k+1とl+1を、新たなクラスタ数として双方向クラスタリング手段102に通知する。その後、ステップA3からステップA2へ戻り、双方向クラスタリング手段102は、入力データを、通知されたクラスタ数にクラスタ分割する。ステップA2とステップA3とを繰り返し行うことで、適切な分割数のクラスタを得ることができる。
【0045】
出力手段104は、ステップA3で、クラスタ数算出手段103がクラスタ数を増加させないと決定すると、双方向クラスタリング手段102が行った双方クラスタリングの結果を出力する(ステップA4)。出力手段104は、例えば、クラスタ分割で得られた各クラスタDijについて、各クラスタに属するデータ点の情報を、ディスプレイ等の出力装置に表示する。
【0046】
図5は、初期クラスタリングの結果を示している。双方向クラスタリング手段102が、入力データ(図4)を初期クラスタ数(k=2、l=2)のクラスタに分割することで、図5に示す4つのクラスタD11、D12、D21、D22が得られる。各クラスタについて、コストを計算すると、
C(D11)=4log(6/4)+2log(6/2)+DL(y1A、y2B、y2B)=1.66+DL(y1A、y2B、y2B
C(D12)=52log(54/52)+2log(54/2)+DL(y5A、y28B)=3.72+DL(y5A、y28B
C(D21)=7log(9/7)+2log(9/2)+DL(y1D、y2E)=2.07+DL(y1D、y2E
C(D22)=78log(81/78)+3log(81/3)+DL(y5D、y28E、y30C)=5.57+DL(y5D、y28E、y30C
となる。全体のコストTは、
T=C(D11)+C(D12)+C(D21)+C(D22)
=13.02+DL(y1A、y2B、y2B)+DL(y5A、y28B)+DL(y1D、y2E)+DL(y5D、y28E、y30C
となる。
【0047】
図6は、最終的に得られたクラスタリング結果を示している。ステップA2、A3を繰り返し行うことで、「顧客」方向のクラスタ分割数は2に、「商品」方向のクラスタ分割数は3になり、最終的に、図6に示す6個のクラスタD11〜D13、D21〜D23が得られたとする。図6に示すD11〜D13、D21〜D23について、各クラスタのコストを計算すると、
C(D11)=1log(4/1)+3log(4/3)+DL(y1A、y5A、y1D)=0.977+DL(y1A、y5A、y1D
C(D12)=0
C(D13)=0
C(D21)=0
C(D22)=3log(9/3)+6log(9/6)+DL(y2B、y2B、y28B、y2E、y28E、y2C、y30C)=2.48+DL(y2B、y2B、y28B、y2E、y28E、y2C、y30C
C(D23)=0
となる。全体のコストTは、
T=ΣC(Dij)=3.46+DL(y1A、y5A、y1D)+DL(y2B、y2B、y28B、y2E、y28E、y2C、y30C
となる。
【0048】
図5に示すクラスタリング結果におけるコストTと、図6に示すクラスタリング結果におけるコストTとを比較すると、DLの値(シーケンスデータの類似度)を除いて、評価関数の値が下がっていることが確認できる。すなわち、評価関数に基づいて双方向クラスタリングを行うことで、多変量データと多変量データに対応したシーケンスデータを、各変量間及びシーケンスデータ間で共通の特徴を持つクラスタに分割できる。なお、コストTは、上記したものには限定されず、双方向クラスタリングに必要な他のコストを含んでいてもよい。
【0049】
比較例として、シーケンスデータを考慮しない双方向クラスタリングを考える。多変量データとして、2変量データを考える。変量の1つは顧客で、もう1つは商品とする。図7(a)に、多変量データを示す。顧客は、A、B、Cの値を取り、商品は1、2、3の値を取る。多変量データの値は、顧客が商品を購入したか否かを表す。例えば、顧客Aが商品1を購入したとき、顧客Aと商品1とに対応するデータ点の値は1となる。
【0050】
図7(a)に示す多変量データに対して、顧客及び商品の双方向でクラスタリングを行うと、図7(b)のクラスタリング結果が得られる。この場合、クラスタ分割数は4である。多変量データに対して双方向クラスタリングを行うことで、顧客A、Cが、商品1、3を購入するというデータ点から成るクラスタと、顧客Bが商品2を購入するというデータ点から成るクラスタとが得られる。このクラスタリング結果から、顧客A、Cが、商品1、3と共通した特徴を持ち、顧客Bは商品2と共通した特徴を持つことがわかる。
【0051】
図8は、多変量データとシーケンスデータとを双方向クラスタリングする例を示している。図8(a)は、シーケンスデータが付加された多変量データを示している。シーケンスデータは、例えば、顧客が、過去に商品を購入した曜日を示すデータから成る。シーケンスデータは、顧客が商品を購入したことを示すデータ点、すなわち、値が1のデータ点に添付される。
【0052】
図8(a)に示す多変量データを、顧客、商品のみでなく、シーケンスデータを考慮して双方向クラスタリングすると、図8(b)に示すクラスタリング結果が得られる。この場合、クラスタ分割数は6となる。シーケンスデータも考慮して双方向クラスタリングを行うことで、顧客A、Cが、商品1を購入するというデータ点から成るクラスタと、顧客A、Cが商品3を購入するというデータ点から成るクラスタと、顧客Bが商品2を購入するというデータ点から成るクラスタとが得られる。
【0053】
図8(b)に示す双方向クラスタリング結果から、顧客A、Cは、商品1を同じような購入曜日履歴で購入していることが読み取れる。また、顧客A、Cは、商品3を同じような購入曜日履歴で購入していることが読み取れる。顧客A、Cは、共に商品1及び商品3を購入しているものの、商品1と商品3とが同じクラスタに分類されなかったことから、商品1と商品3とでは、購入曜日履歴が異なるということを読み取ることができる。つまり、顧客A、Cは、商品1を、商品3と同じような曜日間隔で購入していないことが読み取ることができる。商品2については、顧客Bが商品2を購入する曜日履歴は、商品1、3の購入曜日履歴とは異なっていることを読み取ることができる。
【0054】
本実施形態では、双方向クラスタリング手段102は、多変量データとシーケンスデータとに対して双方向クラスタリングを行う。評価関数として、クラスタに含まれる各変量間とシーケンスデータ間とのそれぞれで共通した特徴が多いか少ないかを表す評価関数を用い、双方向クラスタリングを行うことで、多変量データと多変量データに対応したシーケンスデータとを、各変量間、及び、シーケンスデータ間でそれぞれ共通の特徴をもつクラスタに同時に分割することができる。
【0055】
また、本実施形態では、双方向クラスタ分割装置100は、クラスタ数算出手段103を有する。クラスタ数算出手段103は、評価関数に基づいてクラスタリング結果が適切であるか否かを判断し、よりよいクラスタリング結果を得るために、クラスタ分割数を増加させる。クラスタリングに際して、いくつのクラスタに分割すればよいかは、事前にわからないことが多い。本実施形態では、クラスタ数算出手段103が、動的にクラスタ数を決定することで、事前に、何個のクラスタに分割すればよいかがわからないときでも、多変量データを、適切な分割数で、クラスタ分割することができる。
【0056】
図9は、本発明の第2実施形態に係る広告配信システムを示している。広告配信システムは、双方向クラスタ分割装置100とWebサーバ300とを有する。双方向クラスタ分割装置100の構成は、図1に示す第1実施形態における双方向クラスタ分割装置の構成と同様である。Webサーバ300は、ユーザ端末200と、インターネット400などのネットワークを介して接続している。ユーザ端末200は、ユーザに対して、入出力等のインターフェースを提供する。ユーザ端末200は、例えば、パーソナルコンピュータや携帯型の情報端末装置である。
【0057】
広告配信システムは、ユーザがWebコンテンツをリクエストした際に、ユーザがリクエストしたコンテンツに広告を付け加えてユーザに配信する。広告は、ユーザに広告主のコンテンツをリクエストさせるための仕組みを含む。より具体的には、広告には、広告主が誘導したいサイトのリンクが含まれており、ユーザが広告をクリックすることで、ユーザが広告主などのサイトを訪問できるようになっている。広告主は、例えば、商品やサービスの詳細情報を掲載したWebページへのリンクを広告に含め、ユーザを、そのWebページに誘導する。
【0058】
ここで、ユーザにコンテンツに付随して広告を配信しても、その広告がユーザの好みと異なれば、ユーザが広告をクリックする可能性は低く、ユーザを訪問させたいサイトに誘導することができる可能性が低くなる。広告主は、ユーザが広告をクリックしなければ、広告配信の効果を得ることが難しい。従って、広告配信システムでは、ユーザの好みに合致した広告を正確に予測することが重要になる。
【0059】
Webサーバ300は、双方向クラスタ分割装置100に対し、多変量データ及びシーケンスデータを与える。双方向クラスタ分割装置100は、多変量データと、シーケンスデータとに対して双方向クラスタリングを行う。Webサーバ300は、双方向クラスタ分割装置100から双方向クラスタリング結果を受け取る。Webサーバ300は、双方向クラスタリング結果を用いて、Webコンテンツをリクエストしたユーザに、ユーザの好みに対応した広告を配信する。本実施形態は、協調フィルタリングやコラボレーティブフィルタリングという分野に当てはまる。
【0060】
図10は、ユーザ端末200を示している。ユーザ端末200は、コンテンツリクエスト手段201と、コンテンツ表示手段202とを有する。コンテンツリクエスト手段201は、ユーザが閲覧を希望するコンテンツを、Webサーバ300にリクエストする。コンテンツ表示手段202は、Webサーバ300から、ユーザがリクエストしたコンテンツを取得し、表示する。ユーザ端末200内の各部の機能は、コンピュータが所定のプログラムに従って動作することで実現可能である。
【0061】
コンテンツリクエスト手段201は、例えば、ユーザがスポーツのコンテンツを希望するときは、Webサーバ300にスポーツのコンテンツをリクエストする。また、コンテンツリクエスト手段201は、ユーザが、コンテンツに付随して配信された広告をクリックすると、Webサーバ300に、その広告に対応するコンテンツをリクエストする。
【0062】
図11は、Webサーバ300を示している。Webサーバ300は、コンテンツ配信手段301、ユーザリクエスト記憶部302、コンテンツ記憶部303、広告選択手段304、広告記憶部305、リクエスト受付手段306、クラスタリング制御手段307、出力装置308、入力装置309、及び、クラスタリング結果記憶部310を有する。Webサーバ300内の各部の機能は、コンピュータが所定のプログラムに従って動作することで実現可能である。
【0063】
リクエスト受付手段306は、ユーザからのリクエストを受け付ける。ユーザからのリクエストには、所望のWebページの取得を要求するリクエストと、Web広告に対応するWebページの取得を要求するリクエストとがある。ユーザリクエスト記憶部302は、ユーザからのリクエストに関する情報を記憶する。リクエスト受付手段306は、例えば、ユーザ名、リクエストの内容、リクエストの時刻を、ユーザリクエスト記憶部302に記憶する。
【0064】
コンテンツ記憶部303は、ユーザに配信すべきコンテンツを記憶する。広告記憶部305は、Web広告を記憶する。コンテンツ配信手段301は、コンテンツ記憶部303から、ユーザがリクエストしたコンテンツを取得し、ユーザに配信する。その際、コンテンツ配信手段301は、コンテンツに広告記憶部305が記憶するWeb広告を付け加えて、ユーザにコンテンツを配信する。なお、コンテンツ配信手段301は、ユーザがリクエストしたコンテンツがコンテンツ記憶部303にない場合は、外部サーバにリクエストを転送してもよい。また、ユーザがリクエストしたコンテンツが広告に対応したWebページである場合、コンテンツ配信手段301は、コンテンツにWeb広告を付け加えなくてもよい。
【0065】
クラスタリング制御手段307は、データ生成手段を兼ねている。クラスタリング制御手段307は、双方向クラスタ分割装置100に与えるデータの生成と、双方向クラスタ分割装置100が行う双方向クラスタリングの制御を行う。クラスタリング制御手段307は、例えば、Webサーバ300への全アクセス回数が所定のしきい値を越えると、ユーザリクエスト記憶部302から、全ユーザの過去のコンテンツ訪問履歴を読み出す。クラスタリング制御手段307は、読み出した情報に基づいて、ユーザと広告とを変量とし、ユーザが広告から広告主のコンテンツをリクエストしたか否かを示す多変量データを生成する。ユーザは、広告をクリックすることで、広告主のコンテンツをリクエストするので、多変量データは、ユーザがどの広告をクリックしたかを示すデータを表していることになる。
【0066】
また、クラスタリング制御手段307は、多変量データ対応して、ユーザが広告主のコンテンツをリクエストするまでに送信したリクエストを時系列で並べたシーケンスデータを生成する。以下では、ユーザが送信したリクエストを時系列で並べたデータを、コンテンツ訪問履歴とも呼ぶ。クラスタリング制御手段307は、どのユーザがどの広告をクリックしたかを示す多変量データと、広告をクリックするまでのコンテンツ訪問履歴(シーケンスデータ)とを、出力装置308に渡すと共に、双方向クラスタ分割装置100に双方向クラスタリングを依頼する。
【0067】
双方向クラスタ分割装置100は、どのユーザがどの広告をクリックしたかを示す多変量データと、ユーザがWeb広告をクリックするまでのコンテンツ訪問履歴とを、出力装置308を介して入力する。双方向クラスタ分割装置100は、多変量データと、ユーザがWeb広告をクリックするまでのコンテンツ訪問履歴とに対して、双方向クラスタリングを行う。双方向クラスタ分割装置100は、双方向クラスタリング結果をWebサーバ300に出力する。
【0068】
入力装置309は、双方向クラスタ分割装置100から、双方向クラスタリング結果を入力し、クラスタリング結果記憶部310に渡す。クラスタリング結果記憶部310は、入力装置309から受け取った双方向クラスタリング結果を記憶する。広告選択手段304は、クラスタリング結果記憶部310を参照し、双方向クラスタリング結果に基づいて、ユーザに配信すべきWeb広告を決定する。広告選択手段304は、広告記憶部305からWeb広告を読み出し、コンテンツ配信手段301に与える。
【0069】
以下、動作手順を説明する。広告配信システムの動作は、大きく分けて、双方向クラスタリング処理と、双方向クラスタリング結果を用いた広告配信処理との2つある。図12は、双方向クラスタリング処理の手順を示している。ユーザがコンテンツを要求すると、ユーザ端末200のコンテンツリクエスト手段201は、Webサーバ300に、コンテンツをリクエストする(ステップB1)。ユーザは、あらかじめ属性情報が判明しているユーザであり、Webサーバ300は、どのユーザからのコンテンツリクエストであるかを判別可能であるとする。
【0070】
Webサーバ300のリクエスト受付手段306は、ユーザからのリクエストを受け付ける。リクエスト受付手段306は、ユーザ名、リクエストの内容、及び、時刻を、ユーザリクエスト記憶部に記憶する(ステップB2)。また、リクエスト受付手段306は、ユーザからのリクエストをコンテンツ配信手段301に渡す。
【0071】
コンテンツ配信手段301は、コンテンツ記憶部303からリクエストに対応するコンテンツを読み出す。また、コンテンツ配信手段301は、広告選択手段304からWeb広告を受け取る。コンテンツ配信手段301は、コンテンツ記憶部303から読み出したコンテンツにWeb広告を付加して、ユーザ端末200に送信する(ステップB3)。ユーザ端末200のコンテンツ表示手段202は、受信したコンテンツを表示する(ステップB4)。
【0072】
クラスタリング制御手段307は、Webサーバ300への全アクセス回数が所定のしきい値を超えたか否かを判断する。クラスタリング制御手段307は、全アクセス回数がしきい値を超えたと判断すると、ユーザリクエスト記憶部302から、全ユーザの過去のコンテンツ訪問履歴を読み出す(ステップB5)。クラスタリング制御手段307は、読み出したコンテンツ訪問履歴に基づいて、どのユーザがどの広告をクリックしたかを示す多変量データと、ユーザがWeb広告をクリックするまでのコンテンツ訪問履歴とを生成する。クラスタリング制御手段307は、生成した多変量データ、及び、ユーザがWeb広告をクリックするまでのコンテンツ訪問履歴とを、双方向クラスタ分割装置100に出力する(ステップB6)。
【0073】
双方向クラスタ分割装置100の双方向クラスタリング手段102(図1)は、入力手段101を介して、多変量データと、ユーザがWeb広告をクリックするまでのコンテンツ訪問履歴とを入力する。双方向クラスタリング手段102は、多変量データと、ユーザがWeb広告をクリックするまでのコンテンツ訪問履歴とに対し、双方向クラスタリングを行う(ステップB7)。双方向クラスタリングの手順は、図2に示す手順と同様である。
【0074】
双方向クラスタリング手段102は、出力手段104を介して、Webサーバ300に双方向クラスタリング結果を送信する(ステップB8)。Webサーバ300の入力装置309は、双方向クラスタリング結果を受け取ると、受け取った双方向クラスタリング結果をクラスタリング結果記憶部310に記憶する。クラスタリング結果記憶部310は、双方向クラスタリング得結果を記憶する(ステップB9)。
【0075】
図13は、双方向クラスタリング手段102の入力データを示している。多変量データの変量は、「ユーザ」と、「Web広告」との2つである。コンテンツ訪問履歴は、ユーザが広告をクリックするまでのリクエストを時系列で並べたシーケンスデータである。コンテンツ訪問履歴は、例えば、ユーザが広告をクリックしたその日に、ユーザが最初に送信したリクエストから、広告をクリックする直前のリクエストまでを時系列に並べたものである。或いは、コンテンツ訪問履歴は、ユーザが広告をクリックした時点から10個前までのリクエストを時系列に並べたものでもよい。コンテンツ訪問履歴の定義は、特に上記したものに限定されるわけではない。
【0076】
コンテンツ訪問履歴(シーケンスデータ)は、yjkで表す。yjkは、ユーザkが広告jをクリックしたというデータ点に対応したシーケンスデータであり、ユーザkが広告jをクリックするまでに送信したリクエストを時系列で並べたコンテンツ訪問履歴である。iは、ユーザが広告をクリックしたのが何回目であるかを表している。例えば、yjkは、ユーザkが広告jをクリックするのが1回目のときのコンテンツ訪問履歴を表し、yjkは、ユーザkが広告jをクリックするのが2回目のときのコンテンツ訪問履歴を表している。
【0077】
図14は、入力データをテーブル形式(行列形式)で示している。図13に示す入力データを、行列で表すと、図14に示すようになる。入力データの行列を、Dで表す。行列Dの行はユーザを表し、列はWeb広告を表す。行列Dの各要素は、0又は1の値を取る。0はユーザが広告をクリックしていないことを表し、1はユーザが広告をクリックしたことを表す。シーケンスデータは、1つのデータ点に対して1つとは限らず、1つのデータ点に複数のシーケンスデータが対応することもあり得る。
【0078】
図15は、双方向クラスタリング手段102のクラスタリング結果を示している。双方向クラスタリング手段102は、図14に示す多変量データ及びシーケンスデータに対して双方向クラスタリングを行うことで、入力データを、図15に示す6個のクラスタD11〜D13、D21〜D23に分割する。
【0079】
図15に示すD11〜D13、D21〜D23について、各クラスタのコストを計算すると、
C(D11)=1log(4/1)+3log(4/3)+DL(y1A、y5A、y1D)=0.977+DL(y1A、y5A、y1D
C(D12)=0.0
C(D13)=0.0
C(D21)=0.0
C(D22)=3log(9/3)+6log(9/6)+DL(y2B、y2B、y28B、y2E、y28E、y2C、y30C)=2.48+DL(y2B、y2B、y28B、y2E、y28E、y2C、y30C
C(D23)=0.0
となる。全体のコストTは、
T=ΣC(Dij)=3.46+DL(y1A、y5A、y1D、y5D)+DL(y2B、y2B、y28B、y2E、y28E、y2C、y30C
となる。
【0080】
続いて、双方向クラスタリング結果を用いた広告配信処理を説明する。図16は、広告配信処理の手順を示している。ユーザ端末200のコンテンツリクエスト手段201は、Webサーバ300にコンテンツをリクエストする(ステップC1)。リクエスト受付手段306は、ユーザ端末200からのリクエストを受け付ける。ユーザリクエスト記憶部302は、リクエスト受付手段306が受け付けたリクエストを記憶する(ステップC2)。
【0081】
コンテンツ配信手段301は、リクエスト受付手段306からリクエストを受け取る。コンテンツ配信手段301は、リクエストを送信したユーザを識別する情報、例えばユーザ名を広告選択手段304に渡す(ステップC3)。広告選択手段304は、クラスタリング結果記憶部310から、ユーザが属するクラスタの情報を読み出す(ステップC4)。クラスタリング結果記憶部310は、ステップC4では、ユーザが所属するクラスタに所属するユーザのユーザ名と、所属クラスのユーザがクリックしたWeb広告を識別する情報とを読み出す。
【0082】
広告選択手段304は、ステップC4で読み出した情報に基づいて、コンテンツをリクエストしたユーザに配信すべきWeb広告を決定する(ステップC5)。広告選択手段304は、同じクラスタに所属するユーザがクリックした広告を、ユーザに配信する広告の候補とし、その候補の中から、ユーザに配信する広告を決定する。広告選択手段304は、広告の決定では、他のユーザはクリックしたが、コンテンツをリクエストしたユーザがクリックしていない広告があるときは、その広告を、優先的に、ユーザに配信する広告として決定する。
【0083】
図17は、広告配信候補を示している。クラスタ分割結果として、図15に示すクラスタ分割結果が得られているとき、各ユーザに配信すべき広告の候補は、図17に示すようになる。図17において、Web広告配信候補の並び順は、優先順位が高い順とする。例えば、クラスタD11を考える。図15を参照すると、このクラスタに所属するユーザは、ユーザAとユーザDの二人である。また、ユーザAは、広告1と広告5とをクリックし、ユーザDは、広告1をクリックしている。
【0084】
同じクラスタに所属するユーザは、Web広告に関して好みが似通っていており、そのクラスタに属するWeb広告群に興味があると考えられる。また、双方向クラスタ分割装置100は、どのWebページにアクセスしてから広告をクリックしたかというシーケンスデータも用いて双方向クラスタリングを行うので、同じクラスタに所属するユーザは、コンテンツ訪問履歴に関しても、共通した特徴が多く持つと考えられる。このため、コンテンツをリクエストしたユーザに対して、同じクラスタに所属するユーザのうちの少なくとも一人がクリックしたことがある広告を配信すれば、広告の配信を受けたユーザは、その広告をクリックすると予測できる。
【0085】
クラスタD11に所属するユーザは、広告1と広告5とをクリックしたことがあるので、ユーザAとユーザDとに配信する広告の候補は、広告1と広告5とする。ユーザDは、広告5をクリックしたことがないので、広告選択手段304は、広告5の優先順位を広告1の優先順位よりも高くする。広告選択手段304は、優先順位に従って、広告5、広告1の順で、ユーザDに配信すべき広告を決定する。ユーザAは、広告1と広告5とをクリックしているので、特に優先順位はない。広告選択手段304は、ユーザAに対しては、広告1と広告5との何れかを、ランダムに、ユーザAに配信すべき広告として決定すればよい。
【0086】
図16に戻り、広告選択手段304は、配信する広告を決定すると、広告記憶部305からWeb広告を読み出し、コンテンツ配信手段301に与える。広告選択手段304は、決定したWeb広告を識別する情報をコンテンツ配信手段301に渡し、コンテンツ配信手段301が、広告記憶部305からWebコンテンツを読み出してもよい。
【0087】
コンテンツ配信手段301は、コンテンツ記憶部303から、ユーザがリクエストしたコンテンツを読み出す(ステップC6)。コンテンツ配信手段301は、広告選択手段304が決定したWeb広告を、読み出したコンテンツに付け加える(ステップC7)。コンテンツ配信手段301は、Web広告を付け加えたWebコンテンツを、ユーザ端末200に送信する(ステップC8)。ユーザ端末200のコンテンツ表示手段202は、コンテンツ配信手段301が送信した、Web広告を含むWebコンテンツを表示する(ステップC9)。
【0088】
図18は、Web広告が付加されたWebページを示している。コンテンツ配信手段301は、Webページ901内に、広告表示領域902を設け、その広告表示領域902内に、Web広告を埋め込む。Web広告の配信は、特にここで記載したものには限定されない。例えば、WebコンテンツにWeb広告を埋め込まずに、Webコンテンツとは別に、Web広告を配信する形でもよい。
【0089】
本実施形態では、双方向クラスタ分割装置は、どのユーザがどのWeb広告をクリックしたかというデータを多変量データとし、ユーザがWeb広告をクリックするまでのコンテンツ訪問履歴をシーケンスデータとして、多変量データとシーケンスデータとに対し、双方向クラスタリングを行う。ユーザの特徴は、どのWeb広告をリクエストしたかという情報に加えて、どのようにWeb広告をクリックしたかという情報にも現れる。本実施形態では、多変量データとシーケンスデータとを同時に扱い、それらに対して双方向クラスタリングを行うので、ユーザの特徴や好みを、より正確に抽出できることが期待できる。また、そのような双方向クラスタリングを行った結果を用いて、ユーザに配信する広告を決定することで、ユーザが広告をクリックすることが期待できる。
【0090】
図19は、本発明の第3実施形態に係る商品推薦システムを示している。商品推薦システムは、サーバシステム600を有する。サーバシステム600は、双方向クラスタ分割装置100と、データ生成手段601と、推薦商品リスト生成手段602と、クラスタリング結果記憶部603とを有する。サーバシステム600は、クライアントシステム501〜503と、ネットワーク401を介して接続されている。クライアントシステム501〜503は、例えば、小売店に設置される売上管理システムである。サーバシステム600は、小売店の情報を束ねる中央管理システムであり、データセンタなどに設置される。
【0091】
クライアントシステム501〜503は、各店舗の売上情報を管理する。売上情報は、例えば、顧客名と、顧客が購入した商品名と、購入日時に関する情報とを含む。サーバシステム600は、クライアントシステムからどの顧客がどの商品を購入したかを示すデータを含む顧客の購入情報を収集する。サーバシステム600は、収集した情報を用いて双方向クラスタリングを行う。多変量データとしてこのような情報を用いる場合、双方向クラスタリング結果を、小売業のマーケティングなどに利用することができる。サーバシステム600は、双方向クラスタリング結果を用いて、顧客に対して今後推薦する商品を決定する。サーバシステム600は、推薦商品の情報を、各店舗のクライアントシステム501〜503に送信する。
【0092】
データ生成手段601は、クライアントシステム501〜503から顧客の購入情報を収集する。データ生成手段601は、収集した顧客の購入情報に基づいて、顧客と商品とを変量とし、顧客が商品を購入したか否かを示す多変量データを生成する。また、データ生成手段601は、多変量データに対応して、顧客が商品を購入したことに関する履歴を時系列で並べたシーケンスデータを生成する。ここでは、シーケンスデータは、顧客の商品購入曜日を時系列に並べた購入曜日履歴であるとする。
【0093】
双方向クラスタ分割装置100の構成は、図1に示す第1実施形態における双方向クラスタ分割装置の構成と同様である。双方向クラスタ分割装置100は、データ生成手段601が生成した多変量データとシーケンスデータとに対して双方向クラスタリングを行う。双方向双方向クラスタ分割装置100は、双方向クラスタリング結果を、クラスタリング結果記憶部603に記憶する。推薦商品リスト生成手段602は、クラスタリング結果記憶部603記憶するクラスタリング結果を用いて、顧客に推薦する商品のリストを生成する。
【0094】
図20は、動作手順を示している。クライアントシステム501〜503は、それぞれ、ネットワーク401を介して、サーバシステム600に、顧客の購入情報を送信する(ステップD1)。サーバシステム600は、各クライアントから、顧客の購入情報を受け取る。各クライアントがサーバシステム600に顧客の購入情報を送信するタイミングは、クライアントごとに異なっていてもよい。
【0095】
データ生成手段601は、どの顧客がどの商品を購入したかを示す多変量データと、顧客が商品を購入した曜日の履歴を示す購入曜日履歴とを生成する。データ生成手段601は、生成した多変量データと購入曜日履歴とを、双方向クラスタ分割装置100に出力する(ステップD2)。
【0096】
双方向クラスタ分割装置100の双方向クラスタリング手段102(図1)は、入力手段101を介して、多変量データと、購入曜日履歴とを入力する。双方向クラスタリング手段102は、多変量データと、購入曜日履歴とに対し、双方向クラスタリングを行う(ステップD3)。双方向クラスタリングの手順は、図2に示す手順と同様である。双方向クラスタ分割装置100は、双方向クラスタリング結果をクラスタリング結果記憶部603に送り、双方向クラスタリング結果を、クラスタリング結果記憶部603に記憶する(ステップD4)。
【0097】
推薦商品リスト生成手段602は、双方向クラスタリング結果記憶部603から双方向クラスタリング結果を読み出し、顧客ごとの推薦商品リストを生成する(ステップD5)。推薦商品リスト生成手段602は、ステップD5では、クラスタごとに、そのクラスタに所属する顧客のうちの少なくとも一人が購入した商品を調べる。推薦商品リスト生成手段602は、顧客ごとに、当該顧客が所属するクラスタに所属する顧客のうちの少なくとも一人が購入した商品のうち、当該顧客が購入していない商品を、推薦商品リストに含める。
【0098】
推薦商品リスト生成手段602は、推薦商品リストをクライアントシステム501〜503に送信する(ステップD6)。クライアントシステム501〜503は、各顧客に対する推薦商品リストを、サーバシステム600から受信する(ステップD7)。
【0099】
図21は、双方向クラスタリング手段102の入力データを示している。多変量データの変量は、「顧客」と、「商品」との2つである。購入曜日履歴は、例えば1月単位で、顧客が商品を購入した曜日の履歴を時系列で並べたシーケンスデータである。図22は、双方向クラスタリング結果を示している。双方向クラスタリング手段102が、図21に示す入力データに対して双方向クラスタリングを行うことで、図22に示す、2×3=6つのクラスタが得られたとする。
【0100】
図23は、推薦商品リストを示している。クラスタ分割結果として、図22に示すクラスタ分割結果が得られているとき、各顧客に推薦すべき商品のリスト(推薦商品候補)は、図23に示すようになる。例えば、クラスタD11を考える。図22を参照すると、このクラスタに所属する顧客は、顧客Aと顧客Dの二人である。また、顧客Aは、商品1と商品5とを購入し、顧客Dは、商品1を購入している。
【0101】
本実施形態では、顧客、商品、購入曜日履歴に対して双方向クラスタリングを行っており、双方向クラスタリングを行うことで、同じ商品に興味があり、また、商品の購入曜日履歴も類似する顧客を、各クラスタに集めることができる。同じクラスタに所属する顧客は、購入商品に関して好みが似通っていており、また、商品を購入する曜日履歴も共通した特徴が多く含まれていると考えられる。従って、あるクラスタに属する商品に関連したお勧め商品を、そのクラスタに属する顧客に対してお勧めすると、顧客が商品を購入することが期待できる。
【0102】
推薦商品リスト生成手段602は、クラスタD11に所属する顧客は、商品1と商品5とを購入しているので、顧客Aと顧客Dとに推薦する商品を、商品1と商品5との中から選ぶ。顧客Dは、商品5を購入していないので、推薦商品リスト生成手段602は、顧客Dに推薦する商品を商品5と決定する。顧客Aは、商品1と商品5とを既に購入しているので、推薦商品リスト生成手段602は、顧客Aに推薦する商品はないと判断する。
【0103】
本実施形態では、双方向クラスタ分割装置100は、どの顧客がどの商品を購入したかというデータを多変量データとし、顧客が商品を購入した曜日の履歴をシーケンスデータとして、多変量データとシーケンスデータとに対し、双方向クラスタリングを行う。顧客の特徴は、どの商品を購入したかという情報に加えて、どのような曜日履歴で商品を購入したかという情報にも現れる。本実施形態では、多変量データとシーケンスデータとを同時に扱い、それらに対して双方向クラスタリングを行うので、ユーザの特徴や好みを、より正確に抽出できることが期待できる。また、そのような双方向クラスタリングを行った結果を用いて、顧客に推薦する商品を決定することで、ユーザがその後購入することを期待できる商品を、推薦商品とすることができる。
【0104】
図24は、本発明の第4実施形態に係る故障予測システムを示している。故障予測システムは、サーバシステム800を有する。サーバシステム800は、双方向クラスタ分割装置100と、データ生成手段801と、故障予測候補リスト生成手段802と、クラスタリング結果記憶部803とを有する。サーバシステム800は、クライアントシステム701〜703と、ネットワーク402を介して接続されている。クライアントシステム701〜703は、例えば、自動車販売店や修理工場に設置されている。サーバシステム800は、中央管理システムであり、データセンタなどに設置される。
【0105】
クライアントシステム701〜703は、自動車の故障情報を管理する。故障情報は、車種と故障個所(故障部品)とを含む。例えば、各車種に対して、複数の地域で故障が起きており、クライアントシステム701〜703は、車種ごとに故障が起こった部品の故障履歴を蓄積しているとする。サーバシステム800は、クライアントシステム701〜703から、故障情報を収集する。サーバシステム800は、クライアントシステムから収集した情報を用いて、双方向クラスタリングを行う。サーバシステム800は、双方向クラスタリング結果を用いて、故障予測を行い、予測結果をクライアントシステム701〜703に送信する。
【0106】
データ生成手段801は、クライアントシステム701〜703から車種ごとの故障情報を収集する。データ生成手段801は、収集した故障情報に基づいて、車種と地域とを変量とし、当該車種に当該地域で故障が発生したか否かを示す多変量データを生成する。また、データ生成手段801は、多変量データに対応して、当該車種で故障が発生したことに関する履歴を時系列で並べたシーケンスデータを生成する。ここでは、シーケンスデータは、過去に故障が発生した部品を時系列に並べた故障部品履歴であるとする。
【0107】
双方向クラスタ分割装置100の構成は、図1に示す第1実施形態における双方向クラスタ分割装置の構成と同様である。双方向クラスタ分割装置100は、車種ごとの故障発生地域と、故障部品履歴とに対して双方向クラスタリングを行う。クラスタリング結果記憶部803は、双方向クラスタ分割装置100のクラスタリング結果を記憶する。故障予測候補リスト生成手段802は、クラスタリング結果記憶部803が記憶するクラスタリング結果を用いて、車種と地域とに対して、今後故障が発生すると予測される部品のリストを生成する。
【0108】
図25は、動作手順を示している。クライアントシステム701〜703は、それぞれ、ネットワーク402を介して、サーバシステム800に、故障情報を送信する(ステップE1)。サーバシステム800は、各クライアントから、故障情報を受け取る。クライアントシステム701〜703が管理する故障情報は地域が異なっており、サーバシステム800は、どのクライアントから故障情報を受信したかに応じて、故障が発生した地域が判別可能であるとする。或いは、故障情報が地域に関する情報を含んでいてもよい。各クライアントがサーバシステム800に故障情報を送信するタイミングは、クライアントごとに異なっていてもよい。
【0109】
データ生成手段801は、どの車種にどの地域で故障が発生しているかを示す多変量データと、当該車種で過去に故障が発生した部品の履歴を示す故障部品履歴とを生成する。データ生成手段801は、生成した多変量データと故障部品履歴とを、双方向クラスタ分割装置100に出力する(ステップE2)。
【0110】
双方向クラスタ分割装置100の双方向クラスタリング手段102(図1)は、入力手段101を介して、多変量データと、故障部品履歴とを入力する。双方向クラスタリング手段102は、多変量データと、故障部品履歴とに対し、双方向クラスタリングを行う(ステップE3)。双方向クラスタリングの手順は、図2に示す手順と同様である。双方向クラスタ分割装置100は、双方向クラスタリング結果をクラスタリング結果記憶部803に送り、双方向クラスタリング結果を、クラスタリング結果記憶部803に記憶する(ステップE4)。
【0111】
故障予測候補リスト生成手段802は、双方向クラスタリング結果記憶部803から双方向クラスタリング結果を読み出し、車種ごとの故障予測候補リストを生成する(ステップE5)。故障予測候補リスト生成手段802は、ステップE5では、クラスタごとに、そのクラスタに所属する車種の少なくとも一つに故障が発生した地域を調べる。故障予測候補リスト生成手段802は、車種ごとに、当該車種が所属するクラスタに所属する車種のうちの少なくとも一つで故障が発生した地域のうち、当該顧客でまだ故障が発生していない地域を、故障予測候補リストに含める。
【0112】
故障予測候補リスト生成手段802は、故障予測候補リストをクライアントシステム701〜703に送信する(ステップE6)。クライアントシステム701〜703は、各顧客に対する故障予測候補リストを、サーバシステム800から受信する(ステップE7)。
【0113】
図26は、双方向クラスタリング手段102の入力データを示している。多変量データの変量は、「車種」と、「地域」との2つである。故障部品履歴は、例えば1年単位で、当該車種で故障が発生した部品の履歴を時系列で並べたシーケンスデータである。或いは、故障部品履歴は、故障発生以前に故障が発生した過去の故障部品を並べたものでもよい。図27は、双方向クラスタリング結果を示している。双方向クラスタリング手段102が、図26に示す入力データに対して双方向クラスタリングを行うことで、図27に示す、2×3=6つのクラスタが得られたとする。
【0114】
図28は、故障予測候補リストを示している。クラスタ分割結果として、図27に示すクラスタ分割結果が得られているとき、各車種に故障が発生すると予測される地域のリスト(故障発生地域候補)は、図28に示すようになる。例えば、クラスタD11を考える。図27を参照すると、このクラスタに所属する車種は、車種Aと車種Dの2つである。また、車種Aは、地域1と地域5とで故障が発生しており、車種Dは、地域1で故障が発生している。
【0115】
本実施形態では、車種、地域、故障部品履歴に対して双方向クラスタリングを行っており、双方向クラスタリンを行うことで、同じ地域で故障が発生し、また、故障備品履歴も類似する車種を、各クラスタに集めることができる。同じクラスタに所属する車種は、故障発生地域が同じ傾向にあり、また、故障が発生した部品履歴も共通した特徴を多く含んでいると考えられる。従って、あるクラスタに属する車種は、今後、そのクラスタに所属する地域で故障が発生すると予測できる。
【0116】
故障予測候補リスト生成手段802は、クラスタD11に所属する車種は、地域1と地域5とで故障が発生しているので、故障発生地域を、地域1と地域5との中から選ぶ。車種Dは、既に地域1で故障が発生しているので、故障予測候補リスト生成手段802は、車種Dで故障の発生が予測される地域を地域5と決定する。車種Aは、既に地域1と地域5とで故障が発生しているので、故障予測候補リスト生成手段802は、車種Aに今後故障が発生すると予測される地域はないと判断する。
【0117】
本実施形態では、双方向クラスタ分割装置100は、どの地域でどの車種に故障が発生しているかというデータを多変量データとし、故障発生部品の履歴をシーケンスデータとして、多変量データとシーケンスデータとに対し、双方向クラスタリングを行う。多変量データとシーケンスデータとに対して双方向クラスタリングを行うことで、車種、地域、故障部品履歴に共通した特徴を持つクラスタに分割することができ、車種と地域で共通の特徴をもつクラスタを発見することができる。クラスタリング結果から、車種ごとに、今後、故障が発生すると予測される地域を予測することができる。サーバシステム800から、故障発生が予測される地域のクライアントシステムに対してどの車種でどのような故障が発生する可能性が高いかを示す情報を送信することで、故障発生に備えることができる。また、故障原因を発見するための調査を早期に行うこともできる。
【0118】
ここで、双方向クラスタリングでは、通常、事前にクラスタ数を設定する必要がある。本実施形態で言えば、クラスタ数は、全体で発生している故障の数を表している。双方向クラスタリングで事前にクラスタ数を設定する場合、全体として故障が何個発生しているかが不明な状態でも、事前にクラスタ数を決めなければならない。言い換えれば、クラスタリングを行うことで、発生している故障の数を知りたいにもかかわらず、発生している故障の数を事前に決めなくてはならない。本実施形態では、双方向クラスタ分割装置100がクラスタ数算出手段103(図1)を有しているので、事前にクラスタ数を決めておかなくても、適切な分割数でクラスタ分割を行うことができる。応用上、双方向クラスタリングでは、データを入力するだけで、適切な数でクラスタに分割したクラスタリング結果を出力することが重要である。
【0119】
なお、上記各実施形態では、多変量データの変量を2つとしているが、変量の数は2つには限定されない。また、多変量データ及びシーケンスデータとの組み合わせは、上記各実施形態で用いたものには限定されない。例えば、多変量データの変量として「顧客」、「商品」を用い、シーケンスデータとして「商品購入履歴」を用いてもよい。或いは、多変量データの変量として「顧客」、「会社名」を用い、シーケンスデータとして「転職履歴」を用いることや、多変量データの変量として「商品」、「Webページ」を用い、シーケンスデータとして「webページで各商品を紹介キャンペーンした日時の履歴」を用いてもよい。更には、多変量データの変量として「部品」、「部品製造会社」を用い、シーケンスデータとして、「部品製造会社が部品を配送した履歴」用いることも可能であり、また、多変量データの変量として「インターネットウィルス名」、「インターネットウィルスの感染が確認された地域」を用い、シーケンスデータとして「1日にウィルスに感染したと報告のあった数の履歴」を用いることもできる。
【0120】
図1では、双方向クラスタ分割装置100はクラスタ数算出手段103を有しているが、クラスタ数算出手段103を持たない構成も可能である。その場合、双方向クラスタリング手段102は、事前に設定されたクラスタ分割数で、クラスタ分割を行えばよい。また、双方向クラスタリング手段102と、クラスタ数算出手段103とは、同一の装置が備えている必要はなく、双方向クラスタリング手段102と、クラスタ数算出手段103とを別の装置に分けて、クラスタリングの実行と、クラスタリング結果の評価とを、異なる装置で行ってもよい。
【0121】
上記各実施形態では、外部から、多変量データとシーケンスデータとを双方向クラスタ分割装置100に入力する例を説明したが、多変量データとシーケンスデータとの生成は、双方向クラスタ分割装置100内で行ってもよい。例えば、第2実施形態で、Webサーバ300(図11)のクラスタリング制御手段307は、多変量データとシーケンスデータとの生成を行わずに、ユーザリクエスト記憶部302から読み出した各ユーザのリクエスト履歴を、出力装置308を介して双方向クラスタ分割装置100に出力する。双方向クラスタ分割装置100には、データ生成手段を設けておく。双方向クラスタ分割装置100は、クラスタリング制御手段307から入力した情報に基づいて、どのユーザがどのWeb広告をクリックしたかを示す多変量データと、Web広告をクリックするまでのコンテンツ訪問履歴とを生成し、その後、双方向クラスタリングを実施してもよい。
【0122】
以上、本発明をその好適な実施形態に基づいて説明したが、本発明の双方向クラスタ分割装置、広告配信システム、商品推薦システム、故障予測システム、方法、及び、プログラムは、上記実施形態にのみ限定されるものではなく、上記実施形態の構成から種々の修正及び変更を施したものも、本発明の範囲に含まれる。
【0123】
最後に、本発明の概要について説明する。図29は、本発明の双方向クラスタ分割装置の概略を示している。双方向クラスタ分割装置10は、入力手段11と双方向クラスタリング手段12とを有する。入力手段11は、変量データと多変量データに対応したシーケンスデータとを入力する。双方向クラスタリング手段12は、多変量データとシーケンスデータとに対して双方向クラスタリングを行う。双方向クラスタリング手段12は、クラスタに含まれる各変量間とシーケンスデータ間とのそれぞれで共通した特徴が多いか少ないかを表す評価関数を用いて、多変量データとシーケンスデータとを、複数のクラスタに分割する。
【0124】
本発明では、多変量データだけでなく、多変量データに対応したシーケンスデータも同時に双方向クラスタリングする。従って、各変量間、及び、シーケンスデータ間でそれぞれ共通の特徴を持つクラスタに同時に分割することができる。また、データの特徴は、多変量データだけでなく、多変量データに対応したシーケンスデータにも現れる。このため、多変量データとシーケンスデータとを同時に扱い、双方向クラスタリングを行うことで、より正確に、多変量データ間の特徴を抽出できるとことが期待できる。
【符号の説明】
【0125】
10:双方向クラスタ分割装置
11:入力手段
12:双方向クラスタリング手段
100:双方向クラスタ分割装置
101:入力手段
102:双方向クラスタリング手段
103:クラスタ数算出手段
104:出力手段
200:ユーザ端末
201:コンテンツリクエスト手段
202:コンテンツ表示手段
300:Webサーバ
301:コンテンツ配信手段
302:ユーザリクエスト記憶部
303:コンテンツ記憶部
304:広告選択手段
305:広告記憶部
306:リクエスト受付手段
307:クラスタリング制御手段
308:出力装置
309:入力装置
310:クラスタリング結果記憶部
400:インターネット
401、402:ネットワーク
501〜503、701〜703:クライアントシステム
600:サーバシステム
601:データ生成手段
602:推薦商品リスト生成手段
603:クラスタリング結果記憶部
800:サーバシステム
801:データ生成手段
802:故障予測候補リスト生成手段
803:クラスタリング結果記憶部

【特許請求の範囲】
【請求項1】
多変量データと多変量データに対応したシーケンスデータとを入力する入力手段と、
前記多変量データとシーケンスデータとに対して双方向クラスタリングを行い、前記多変量データと前記シーケンスデータとを、クラスタに含まれる各変量間とシーケンスデータ間とのそれぞれで共通した特徴が多いか少ないかを表す評価関数を用いて複数のクラスタに分割する双方向クラスタリング手段とを備える双方向クラスタ分割装置。
【請求項2】
前記評価関数が、クラスタに含まれる各変量間とシーケンスデータ間とのそれぞれで共通した特徴が多くなるほど値が小さくなる関数であり、前記双方向クラスタリング手段は、クラスタごとに評価関数の値を計算し、クラスタごとの評価関数の値の総和が小さくなるように、クラスタ分割を行う、請求項1に記載の双方向クラスタ分割装置。
【請求項3】
前記双方向クラスタリング手段がクラスタ分割を行った後に、前記評価関数の値に基づいて、双方向クラスタリング手段が行う双方向クラスタリングのクラスタ分割数を決定するクラスタ数算出手段を更に備える、請求項1又は2に記載の双方向クラスタ分割装置。
【請求項4】
前記双方向クラスタリング手段は、前記クラスタ数算出手段がクラスタ分割数を増加させると、前記クラスタ数算出手段が決定したクラスタ分割数でクラスタ分割を行い、請求項3に記載の双方向クラスタ分割装置。
【請求項5】
ユーザからのコンテンツへのリクエストを受け付け、リクエストを送信したユーザとリクエストしたコンテンツとをユーザリクエスト記憶部に記憶するリクエスト受付手段と、
ユーザがリクエストしたコンテンツに、ユーザに広告主のコンテンツをリクエストさせるための仕組みを含む広告を付加して送信するコンテンツ配信手段と、
前記ユーザリクエスト記憶部に記憶された情報に基づいて、ユーザと広告とを変量とし、ユーザが広告から広告主のコンテンツをリクエストしたか否かを示す多変量データを生成すると共に、前記多変量データ対応して、ユーザが広告主のコンテンツをリクエストするまでに送信したリクエストを時系列で並べたシーケンスデータを生成するデータ生成手段と、
前記多変量データと前記シーケンスデータとに対して双方向クラスタリングを行い、前記多変量データと前記シーケンスデータとを、クラスタに含まれる各変量間とシーケンスデータ間とのそれぞれで共通した特徴が多いか少ないかを表す評価関数を用いて複数のクラスタに分割し、双方向クラスタリング結果を出力する双方向クラスタリング手段と、
前記双方向クラスタリング結果に基づいて、前記コンテンツ配信手段がコンテンツに付加すべき広告を決定する広告選択手段とを備える広告配信システム。
【請求項6】
顧客が商品を購入したという情報を含む売上情報を収集し、該収集した売上情報に基づいて、顧客と商品とを変量とし、顧客が商品を購入したか否かを示す多変量データを生成すると共に、前記多変量データに対応して、顧客が商品を購入したことに関する履歴を時系列で並べたシーケンスデータとを生成するデータ生成手段と、
前記多変量データとシーケンスデータとに対して双方向クラスタリングを行い、前記多変量データと前記シーケンスデータとを、クラスタに含まれる各変量間とシーケンスデータ間とのそれぞれで共通した特徴が多いか少ないかを表す評価関数を用いて複数のクラスタに分割し、双方向クラスタリング結果を出力する双方向クラスタリング手段と、
前記双方向クラスタリング結果に基づいて、顧客に推薦する商品を決定する推薦商品リスト生成手段とを備える商品推薦システム。
【請求項7】
車両の車種と故障個所とを含む故障情報を収集し、該収集した故障情報に基づいて、車種と地域とを変量とし、当該車種に対し当該地域で故障が発生したか否かを示す多変量データを生成すると共に、前記多変量データに対応して、当該車種で過去に発生した故障個所の履歴を時系列で並べたシーケンスデータを生成するデータ生成手段と、
前記多変量データとシーケンスデータとに対して双方向クラスタリングを行い、前記多変量データと前記シーケンスデータとを、クラスタに含まれる各変量間とシーケンスデータ間とのそれぞれで共通した特徴が多いか少ないかを表す評価関数を用いて複数のクラスタに分割し、双方向クラスタリング結果を出力する双方向クラスタリング手段と、
前記双方向クラスタリング結果に基づいて、車種に対して故障の発生が予測される地域を推測する故障予測候補リスト生成手段とを備える故障予測システム。
【請求項8】
コンピュータに、多変量データと多変量データに対応したシーケンスデータとを入力するステップと、
コンピュータが、前記多変量データとシーケンスデータとに対して双方向クラスタリングを行い、前記多変量データを、クラスタに含まれる各変量間とシーケンスデータ間とのそれぞれで共通した特徴が多いか少ないかを表す評価関数を用いて複数のクラスタに分割するステップとを有する双方向クラスタ分割方法。
【請求項9】
前記評価関数が、クラスタに含まれる各変量間とシーケンスデータ間とのそれぞれで共通した特徴が多くなるほど値が小さくなる関数であり、コンピュータは、前記双方向クラスタリングを行うステップでは、クラスタごとに評価関数の値を計算し、クラスタごとの評価関数の値の総和が小さくなるように、クラスタ分割を行う、請求項8に記載の双方向クラスタ分割方法。
【請求項10】
前記双方向クラスタリングを行うステップに後続して、コンピュータが、前記評価関数の値に基づいて、双方向クラスタリングのクラスタ分割数を決定するステップを更に有する、請求項8又は9に記載の双方向クラスタ分割方法。
【請求項11】
コンピュータは、前記クラスタ分割数を決定するステップで、現在のクラスタ分割数よりもクラスタ分割数を増加させると決定すると、前記決定したクラスタ分割数で更に双方向クラスタリングを行う、請求項10に記載の双方向クラスタ分割方法。
【請求項12】
コンピュータが、ユーザからのコンテンツへのリクエストを受け付け、リクエストを送信したユーザとリクエストしたコンテンツとをユーザリクエスト記憶部に記憶するリクエスト受付ステップと、
コンピュータが、ユーザがリクエストしたコンテンツに、ユーザに広告主のコンテンツをリクエストさせるための仕組みを含む広告を付加して送信するコンテンツ配信ステップと、
コンピュータが、前記ユーザリクエスト記憶部に記憶された情報に基づいて、ユーザと広告とを変量とし、ユーザが広告から広告主のコンテンツをリクエストしたか否かを示す多変量データを生成すると共に、前記多変量データ対応して、ユーザが広告主のコンテンツをリクエストするまでに送信したリクエストを時系列で並べたシーケンスデータを生成するデータ生成ステップと、
コンピュータが、前記多変量データと前記シーケンスデータとに対して双方向クラスタリングを行い、前記多変量データを、クラスタに含まれる各変量間とシーケンスデータ間とのそれぞれで共通した特徴が多いか少ないかを表す評価関数を用いて複数のクラスタに分割し、双方向クラスタリング結果を出力する双方向クラスタリングステップと、
コンピュータが、前記双方向クラスタリング結果に基づいて、前記コンテンツに付加すべき広告を決定する広告選択ステップとを有する広告配信方法。
【請求項13】
コンピュータが、顧客が商品を購入したという情報を含む売上情報を収集し、該収集した売上情報に基づいて、顧客と商品とを変量とし、顧客が商品を購入したか否かを示す多変量データを生成すると共に、前記多変量データに対応して、顧客が商品を購入したことに関する履歴を時系列で並べたシーケンスデータとを生成するデータ生成ステップと、
コンピュータが、前記多変量データとシーケンスデータとに対して双方向クラスタリングを行い、前記多変量データと前記シーケンスデータとを、クラスタに含まれる各変量間とシーケンスデータ間とのそれぞれで共通した特徴が多いか少ないかを表す評価関数を用いて複数のクラスタに分割し、双方向クラスタリング結果を出力する双方向クラスタリングステップと、
コンピュータが、前記双方向クラスタリング結果に基づいて、顧客に推薦する商品を決定する推薦商品リスト生成ステップとを有する商品推薦方法。
【請求項14】
コンピュータが、車両の車種と故障個所とを含む故障情報を収集し、該収集した故障情報に基づいて、車種と地域とを変量とし、当該車種に対し当該地域で故障が発生したか否かを示す多変量データを生成すると共に、前記多変量データに対応して、当該車種で過去に発生した故障個所の履歴を時系列で並べたシーケンスデータを生成するデータ生成ステップと、
コンピュータが、前記多変量データとシーケンスデータとに対して双方向クラスタリングを行い、前記多変量データと前記シーケンスデータとを、クラスタに含まれる各変量間とシーケンスデータ間とのそれぞれで共通した特徴が多いか少ないかを表す評価関数を用いて複数のクラスタに分割し、双方向クラスタリング結果を出力する双方向クラスタリングステップと、
コンピュータが、前記双方向クラスタリング結果に基づいて、車種に対して故障の発生が予測される地域を推測する故障予測候補リスト生成ステップとを有する故障予測方法。
【請求項15】
コンピュータに、
多変量データと多変量データに対応したシーケンスデータとを入力する処理と、
前記多変量データとシーケンスデータとに対して双方向クラスタリングを行い、前記多変量データを、クラスタに含まれる各変量間とシーケンスデータ間とのそれぞれで共通した特徴が多いか少ないかを表す評価関数を用いて複数のクラスタに分割する処理とを実行させるプログラム。
【請求項16】
前記評価関数が、クラスタに含まれる各変量間とシーケンスデータ間とのそれぞれで共通した特徴が多くなるほど値が小さくなる関数であり、前記双方向クラスタリングを行う処理では、クラスタごとに評価関数の値を計算し、クラスタごとの評価関数の値の総和が小さくなるように、クラスタ分割を行う、請求項15に記載のプログラム。
【請求項17】
前記双方向クラスタリングを行う処理に後続して、コンピュータに、前記評価関数の値に基づいて、双方向クラスタリングのクラスタ分割数を決定する処理を更に実行させる、請求項15又は16に記載のプログラム。
【請求項18】
前記クラスタ分割数を決定する処理で、現在のクラスタ分割数よりもクラスタ分割数を増加させると決定すると、前記決定したクラスタ分割数で更に双方向クラスタリングを実行させる、請求項17に記載のプログラム。
【請求項19】
コンピュータに、
ユーザからのコンテンツへのリクエストを受け付け、リクエストを送信したユーザとリクエストしたコンテンツとをユーザリクエスト記憶部に記憶するリクエスト受付処理と、
ユーザがリクエストしたコンテンツに、ユーザに広告主のコンテンツをリクエストさせるための仕組みを含む広告を付加して送信するコンテンツ配信処理と、
前記ユーザリクエスト記憶部に記憶された情報に基づいて、ユーザと広告とを変量とし、ユーザが広告から広告主のコンテンツをリクエストしたか否かを示す多変量データを生成すると共に、前記多変量データ対応して、ユーザが広告主のコンテンツをリクエストするまでに送信したリクエストを時系列で並べたシーケンスデータを生成するデータ生成処理と、
前記多変量データと前記シーケンスデータとに対して双方向クラスタリングを行い、前記多変量データを、クラスタに含まれる各変量間とシーケンスデータ間とのそれぞれで共通した特徴が多いか少ないかを表す評価関数を用いて複数のクラスタに分割し、双方向クラスタリング結果を出力する双方向クラスタリング処理と、
前記双方向クラスタリング結果に基づいて、前記コンテンツに付加すべき広告を決定する広告選択処理とを実行させるプログラム。
【請求項20】
コンピュータに、
顧客が商品を購入したという情報を含む売上情報を収集し、該収集した売上情報に基づいて、顧客と商品とを変量とし、顧客が商品を購入したか否かを示す多変量データを生成すると共に、前記多変量データに対応して、顧客が商品を購入したことに関する履歴を時系列で並べたシーケンスデータとを生成するデータ生成処理と、
前記多変量データとシーケンスデータとに対して双方向クラスタリングを行い、前記多変量データと前記シーケンスデータとを、クラスタに含まれる各変量間とシーケンスデータ間とのそれぞれで共通した特徴が多いか少ないかを表す評価関数を用いて複数のクラスタに分割し、双方向クラスタリング結果を出力する双方向クラスタリング処理と、
前記双方向クラスタリング結果に基づいて、顧客に推薦する商品を決定する推薦商品リスト生成処理とを実行させるプログラム。
【請求項21】
コンピュータに、
車両の車種と故障個所とを含む故障情報を収集し、該収集した故障情報に基づいて、車種と地域とを変量とし、当該車種に対し当該地域で故障が発生したか否かを示す多変量データを生成すると共に、前記多変量データに対応して、当該車種で過去に発生した故障個所の履歴を時系列で並べたシーケンスデータを生成するデータ生成処理と、
前記多変量データとシーケンスデータとに対して双方向クラスタリングを行い、前記多変量データと前記シーケンスデータとを、クラスタに含まれる各変量間とシーケンスデータ間とのそれぞれで共通した特徴が多いか少ないかを表す評価関数を用いて複数のクラスタに分割し、双方向クラスタリング結果を出力する双方向クラスタリング処理と、
前記双方向クラスタリング結果に基づいて、車種に対して故障の発生が予測される地域を推測する故障予測候補リスト生成処理とを実行させるプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate

【図26】
image rotate

【図27】
image rotate

【図28】
image rotate

【図29】
image rotate


【公開番号】特開2011−113104(P2011−113104A)
【公開日】平成23年6月9日(2011.6.9)
【国際特許分類】
【出願番号】特願2009−265928(P2009−265928)
【出願日】平成21年11月24日(2009.11.24)
【出願人】(000004237)日本電気株式会社 (19,353)
【Fターム(参考)】