以下に、本発明に係るデータ分類装置、データ分類方法およびデータ分類プログラムの実施例を図面に基づいて詳細に説明する。なお、以下に示す実施例によって本発明が限定されるものではない。
まず、実施例1について説明する。本実施例1では、パネルユーザがウェブページを閲覧した閲覧履歴を分類する履歴データ分類システムに本発明を適用した場合について説明する。図1は、本実施例1に係る履歴データ分類システムによるデータ分類方法の概要を示す図である。本実施例1に係る履歴データ分類システムは、図1に示すように、パネルユーザが閲覧したウェブページの閲覧履歴を表す複数の閲覧履歴データ1を分類の対象とする。この閲覧履歴データは、ウェブページに記述された文書の内容を含んだ文書データである。
具体的には、この履歴データ分類システムは、まず、複数の閲覧履歴データ1をデータ間の類似度が所定の閾値を越えるデータ群ごとに分類することで複数のクラスタを形成するクラスタ形成処理を行う。このクラスタ形成処理によってクラスタに分類された閲覧履歴データ1を以下では非孤立データと呼び、いずれのクラスタにも分類されずに残った閲覧履歴データを以下では孤立データと呼ぶ。
そして、履歴データ分類システムは、クラスタ形成処理によって形成された各クラスタ2といずれのクラスタにも分類されずに残った孤立データ3との間の類似度を算出し、算出した類似度が最も高いクラスタに孤立データを組み込む孤立データ組込処理を行う。このとき、孤立データ3どうしの融合は行われない。
このように、本実施例1では、閲覧履歴データを孤立データと非孤立データとに分け、非孤立データで形成されたクラスタのいずれかに孤立データを組み込むようにしている。これにより、非孤立データによるクラスタの形成が制限されるので、チェイニング効果を抑えることができる。また、少ない閾値でクラスタリングが行われるので、最適な結果を得るためのチューニングを容易に行うことができる。したがって、本実施例1によれば、チェイニング効果を抑えて分類精度を高めつつ、運用性が高いクラスタリングを実現することが可能になる。
次に、本実施例1に係る履歴データ分類システムの構成について説明する。図2は、本実施例1に係る履歴データ分類システム100の構成を示す機能ブロック図である。図2に示すように、履歴データ分類システム100は、ユーザ端末110と、分析用端末120と、処理サーバ130とを有する。
ユーザ端末110は、パネルユーザがインターネット4を介して各種のウェブページを閲覧する際に利用する端末装置である。このユーザ端末110は、Web閲覧データ記憶部111と、Web閲覧データ送信部112と、データ表示部113とを有する。
Web閲覧データ記憶部111は、パネルユーザが閲覧したWebページの閲覧履歴を示す閲覧履歴データを記憶する。この閲覧履歴データは、パネルユーザがユーザ端末110を利用してWebページを閲覧するたびに追加される。図3は、図2に示したWeb閲覧データ記憶部111によって記憶される閲覧履歴データの一例を示す図である。図3に示すように、閲覧履歴データは、パネルユーザIDと、タイムスタンプと、URL(Uniform Resource Locator)と、HTML(HyperText Markup Language)ソースとを含んでいる。
ここで、「パネルユーザID」には、ユーザ端末110を利用してWebページを閲覧したパネルユーザを一意に識別する識別情報が設定される。また、「タイムスタンプ」には、パネルユーザがユーザ端末110を用いてWebページにアクセスした日時が設定される。また、「URL」には、パネルユーザが閲覧したWebページのURLが設定される。また、「HTMLソース」には、パネルユーザが閲覧したWebページの内容(HTMLソース全体)が設定される。このHTMLソースには、Webページに記述された文書の内容が含まれている。
図2の説明にもどって、Web閲覧データ送信部112は、Web閲覧データ記憶部111により記憶された閲覧履歴データを処理サーバ130に送信する。例えば、Web閲覧データ送信部112は、あらかじめ決められた時間間隔で、閲覧履歴データを定期的に処理サーバ130に送信する。または、例えば、Web閲覧データ送信部112は、パネルユーザから指定されたタイミングで、閲覧履歴データを処理サーバ130に送信する。なお、Web閲覧データの取得はプロキシサーバなどを通して行われてもよい。この場合には、ユーザ端末110にWeb閲覧データ送信部112は不要となる。
データ表示部113は、処理サーバ130によって生成された配信用データを取得し、取得した配信用データを液晶モニタなどの表示装置に表示させる。例えば、データ表示部113は、パネルユーザからの要求に応じて、処理サーバ130から配信用データを取得し、取得した配信用データを表示装置に表示させる。なお、配信用データについては、後に説明する。
分析用端末120は、マーケティング分析などに利用される端末装置である。この分析用端末120は、データ表示部121を有する。データ表示部121は、処理サーバ130によって生成される可視化データを取得し、取得した可視化データを液晶モニタなどの表示装置に表示させる。例えば、データ表示部121は、分析用端末120のユーザからの要求に応じて、処理サーバ130から可視化データを取得し、取得した可視化データを表示装置に表示させる。なお、可視化データについては、後に説明する。
処理サーバ130は、ユーザ端末110から送信される閲覧履歴データを分類する。この処理サーバ130は、類似度マトリクス記憶部131と、分類結果ファイル記憶部132と、可視化データ記憶部133と、配信コンテンツ記憶部134と、配信用データ記憶部135とを有する。さらに、処理サーバ130は、前処理部136と、データ分類部137と、後処理部138とを有する。
類似度マトリクス記憶部131は、分類対象となる閲覧履歴データの類似度が記述された類似度マトリクスファイルを記憶する。この類似度マトリクスファイルは、後述する前処理部136によって生成される。図4は、図2に示した類似度マトリクス記憶部131によって記憶される類似度マトリクスファイルの一例を示す図である。図4に示すように、例えば、類似度マトリクスファイルは、閲覧履歴データごとに設定された複数の行および列からなる行列で表される。
ここで、類似度マトリクスファイルに含まれる各行および各列には、それぞれ閲覧履歴データが対応付けられている。例えば、図4において、「000001」,「000002」,「000003」・・・,「N」は、それぞれ、閲覧履歴データを一意に識別するIDを示している。このIDは、例えば、数値で表される連番であり、閲覧履歴データが生成された順に各閲覧履歴データに付与される。
また、類似度マトリクスファイルにおいて、行と列とが交差する領域には、それぞれ閲覧履歴データ間の類似度が設定される。例えば、図4において、「num1」,「num2」,「num3」・・・「numr」,「numx」,「numy」,「numz」は、閲覧履歴データ間の類似度を示している。例えば、「num1」は、IDが「000001」の閲覧履歴データとIDが「000002」の閲覧履歴データとの間の類似度を示している。また、例えば、「numy」は、IDが「000003」の閲覧履歴データとIDが「N」の閲覧履歴データとの間の類似度を示している。
図2の説明にもどって、分類結果ファイル記憶部132は、閲覧履歴データの分類結果を示す分類結果ファイルを記憶する。この分類結果ファイルは、後述するデータ分類部137によって生成される。図5は、図2に示した分類結果ファイル記憶部132によって記憶される分類結果ファイルの一例を示す図である。図5に示すように、例えば、分類結果ファイルは、クラスタごとに、同じクラスタに分類された閲覧履歴データのIDを同じ行に並べて配置したファイルである。
図5に示す例では、例えば、「000011」,「000012」および「000013」が同じ行に並べて配置されている。これは、IDが「000011」,「000012」および「000013」の閲覧履歴データがそれぞれ同じクラスタに分類されていることを示している。同様に、図5に示す例では、IDが「000001」,「000021」,「000023」,「000040」および「000050」の閲覧履歴データがそれぞれ同じクラスタに分類され、IDが「000025」,「000026」,「000038」および「000060」の閲覧履歴データがそれぞれ同じクラスタに分類され、IDが「000005」,「000051」および「000087」の閲覧履歴データがそれぞれ同じクラスタに分類されている。
図2の説明にもどって、可視化データ記憶部133は、分類結果ファイルの内容を可視化した可視化データを記憶する。この可視化データは、後述する後処理部138によって生成される。なお、ここでいう可視化データは、分類結果ファイル記憶部132に記憶された分類結果ファイルの内容をユーザが視認しやすい形式に変換したデータである。例えば、可視化データは、クラスタごとに閲覧履歴を表示したリスト形式のデータや、タグクラウド形式のデータ、複数の閲覧履歴を要約したデータなどである。
配信コンテンツ記憶部134は、各種の配信コンテンツを記憶する。ここでいう配信コンテンツは、パネルユーザに提供される各種カテゴリのコンテンツである。また、この配信コンテンツには、キーワードによるマッチング用にタグが付与されていてもよい。
配信用データ記憶部135は、分類結果ファイルに含まれるキーワードにマッチした配信コンテンツを配信用データとして記憶する。なお、この配信コンテンツは、後述する後処理部138によって生成される。
前処理部136は、ユーザ端末110から送信された閲覧履歴データに対して前処理を施すことで、類似度マトリクスファイルを生成する。具体的には、前処理部136は、閲覧履歴データのHTMLソースに対して、スクレイピング、形態素解析、NGワード除去、複合語処理、重要度付与、類似度算出を順に行うことで、類似度マトリクスファイルを生成する。なお、かかる前処理部136によって行われる処理については、後に詳細に説明する。
データ分類部137は、前処理部136によって生成された類似度マトリクスファイルを用いて閲覧履歴データを分類することで、分類結果ファイルを生成する。具体的には、データ分類部137は、まず、類似度マトリクスファイルを用いて、複数の閲覧履歴データをデータ間の類似度が所定の閾値を越えるデータ群ごとに分類することで複数のクラスタを形成するクラスタ形成処理を行う。その後、データ分類部137は、クラスタ形成処理によって形成された各クラスタといずれのクラスタにも分類されずに残った孤立データとの間の類似度を算出し、算出した類似度が最も高いクラスタに孤立データを組み込む孤立データ組込処理を行うことで、分類結果ファイルを生成する。なお、かかるデータ分類部137の詳細については、後に詳細に説明する。
後処理部138は、データ分類部137によって生成された分類結果ファイルに含まれるデータに対して後処理を施す。具体的には、後処理部138は、データ分類部137によって生成された分類結果ファイルに対してキーワード付与、可視化および情報配信を行うことで、可視化データおよび配信用データを生成する。なお、かかる後処理部138によって行われる処理については、後に詳細に説明する。
次に、図2に示した前処理部136によって行われる処理について説明する。図6は、図2に示した前処理部136によって行われる処理の構成を示す図である。図6に示すように、前処理部136は、ユーザ端末110から送信された閲覧履歴データのHTMLソースに対して、スクレイピング、形態素解析、NGワード除去、複合語処理、重要度付与、類似度算出を順に行うことで類似度マトリクスファイルを生成し、生成した類似度マトリクスファイルを類似度マトリクス記憶部131に記憶させる。以下、前処理に含まれる各処理について具体的に説明する。
図7は、図6に示したスクレイピングを説明するための図である。図7に示すように、前処理部136は、複数の閲覧履歴データのHTMLソースに対してスクレイピングを行うことで、閲覧履歴データごとに本文データを生成する。ここで、スクレイピングとは、HTMLファイルから不要なタグや広告メニューバーなどを除去することで、本文部分のテキストを抽出する処理である。例えば、図7に示す例のように、「アイスクリーム」や「新感覚のおいしさ。」などのテキストがHTMLソースから抽出される。
なお、かかるスクレイピングの方式としては、例えば、HTML構造の本文部分のルールを指定しておく方式や、句点読点の出現を利用する方式などを用いることができる。また、前処理部136は、履歴データ分類システム100の提供者から指定された特定のパネルユーザIDに関する閲覧履歴データのHTMLソースのみをスクレイピングの対象としてもよい。または、前処理部136は、提供者から指定された特定期間内の閲覧履歴データのHTMLソースのみをスクレイピングの対象としてもよい。
図8は、図6に示した形態素解析を説明するための図である。図8に示すように、前処理部136は、スクレイピングによって得られた複数の本文データに対して形態素解析を行うことで、閲覧履歴データごとに形態素解析済みデータを生成する。ここで、形態素解析とは、本文データに含まれるテキストを単語ごとに分割し、各単語に品詞などの情報を付加する処理である。例えば、図8に示す例のように、「新感覚のおいしさ。」が「新」、「感覚」、「の」、「おいし」、「さ」に分割され、それぞれに名詞や助詞などの品詞を示す情報が付加される。
なお、かかる形態素解析の方式としては、例えば、各種の形態素解析器を利用した方式などを用いることができる。また、前処理部136は、本文データが日本語で記述されている場合には、テキストを単語ごとに分割するが、本文データが英語で記述されている場合には、一般的なタグ付加アプリケーションなどを用いて単語に品詞を付加してもよい。
図9は、図6に示したNGワード除去を説明するための図である。図9に示すように、前処理部136は、形態素解析によって得られた複数の形態素解析済みデータに対してNGワード除去を行うことで、閲覧履歴データごとにNGワード除去データを生成する。ここで、NGワード除去とは、形態素解析済みデータの中から、抽出したくない語、一般的すぎる語、個人情報に類する語などを除去する処理である。例えば、図9に示す例のように、「トップページ」がNGワードとして除去される。このようにNGワードとして除去される語は、あらかじめキーワードとして設定される。
なお、かかるNGワード除去の方式としては、例えば、あらかじめ目的に応じてNGワードリストを作成しておき、そのNGワードリストに基づいてNGワードをアドホックに除去する方式などを用いることができる。
図10は、図6に示した複合語処理を説明するための図である。図10に示すように、前処理部136は、NGワード除去によって得られた複数のNGワード除去データに対して複合語処理を行うことで、閲覧履歴データごとに複合語処理データを生成する。ここで、複合語処理とは、NGワード除去データに含まれる形態素を複合する処理である。例えば、図10に示す例のように、「新」と「感覚」とが「新感覚」に複合される。
なお、かかる複合語処理の方式としては、例えば、チャンキングを使う方式や、複合語化する品詞のパターンをあらかじめ定義しておく方式などを用いることができる。
図11は、図6に示した重要度付与を説明するための図である。図11に示すように、前処理部136は、複合語処理によって得られた複数の複合語処理データに対して重要度付与を行うことで、閲覧履歴データごとにキーワード重要度データを生成する。ここで、重要度付与とは、複合語処理データに含まれる各キーワード重要度を与える処理である。例えば、図11に示す例のように、「アイスクリーム」に対して重要度「200.33」が与えられ、「新感覚」に対して重要度「30.00」が与えられる。ここで、図11に示す例は、名詞および複合名詞のみに重要度を与えた場合を示している。
なお、かかる重要度付与の方式としては、例えば、TFIDF(Term Frequency - Inverse Document Frequency)などを用いることができる。
図12は、図6に示した類似度算出を説明するための図である。図12に示すように、前処理部136は、重要度付与によって閲覧履歴データごとに生成されたキーワード重要度データを用いて閲覧履歴データ間の類似度算出を行う。そして、前処理部136は、算出した類似度を閲覧履歴データのペアごとに設定した類似度マトリクスファイルを生成し、生成した類似度マトリクスファイルを類似度マトリクス記憶部131に記憶させる。ここで、類似度算出とは、キーワード重要度データに含まれるキーワードおよび重要度に基づいて閲覧履歴データ間の類似度を算出する処理である。
なお、かかる類似度算出の方式としては、例えば、ベクトル空間法によるコサイン類似度を算出する方式などを用いることができる。なお、前処理部136は、キーワードだけでなく、閲覧順序を考慮した類似度算出を行ってもよい。
以上、前処理部136によって行われる処理について説明したが、ここで説明した各処理で生成される本文データ、形態素解析済みデータ、NGワード除去データ、複合語処理データおよびキーワード重要度データは、例えば、処理サーバ130が有するメモリなどに記憶されて各処理間で引き継がれる。
また、ここでは、前処理部136が、スクレイピング、形態素解析、NGワード除去、複合語処理、重要度付与、類似度算出を順に行う場合について説明した。しかし、前処理部136は、必ずしもこれらの全ての処理を行わなくてもよい。例えば、複合語処理は、形態素解析によってテキストが細かく分割されすぎる場合に行われればよい。また、例えば、閲覧履歴データの分類にそれほど高い精度が要求されない場合には、スクレイピング、NGワード除去、複合語処理が省略されてもよい。
また、NGワード除去は、必ずしも形態素解析と複合語処理との間で行われる必要はない。例えば、スクレイピングと形態素解析との間や、複合語処理と重要度付与との間で行われてもよい。なお、複合語処理と重要度付与との間でNGワード除去が行われる場合には、形態素が複合された複合語のキーワードがNGワードとして設定される。
次に、図2に示したデータ分類部137の詳細について説明する。図13は、図2に示したデータ分類部137の構成を示す機能ブロック図である。図13に示すように、データ分類部137は、設定ファイル記憶部137aと、編集用類似度マトリクス記憶部137bと、クラスタ形成結果ファイル記憶部137cと、クラスタ形成部137dと、孤立データ組込部137eとを有する。
設定ファイル記憶部137aは、クラスタ形成部137dおよび孤立データ組込部137eによって用いられる類似度の閾値および類似度算出用の式が記述された設定ファイルを記憶する。この設定ファイルは、履歴データ分類システム100の提供者によってあらかじめ設定される。図14は、図13に示した設定ファイル記憶部137aによって記憶される設定ファイルの一例を示す図である。
図14に示すように、設定ファイルには、「sim1」、「p1_link」および「p2_link」の3つのパラメータが設定される。ここで、sim1には、孤立データと非孤立データとの境界を定義する類似度の閾値が設定される。例えば、sim1には、0〜1.0の範囲で類似度を示す数値が設定される。
また、p1_linkおよびp2_linkには、複数の文書データで構成されるクラスタ間の類似度を算出するための計算式が設定される。例えば、p1_linkおよびp2_linkには、「single」や「complete」、「average」などが設定される。singleは、最短距離法による類似度を算出するための計算式を示し、completeは、最遠距離法による類似度を算出するための計算式を示し、averageは、群平均法による類似度を算出するための計算式を示す。
ここで、最短距離法とは、異なるクラスタに分類された閲覧履歴データ間、または、クラスタに分類された閲覧履歴データと単一の閲覧履歴データとの間における全ての組み合わせに関する類似度の最大値を、クラスタ間の類似度とする方法である。この最短距離法による類似度は、以下に示す式(1)で算出される。
また、最遠距離法とは、異なるクラスタに分類された閲覧履歴データ間、または、クラスタに分類された閲覧履歴データと単一の閲覧履歴データとの間における全ての組み合わせに関する類似度の最小値を、クラスタ間の類似度とする方法である。この最遠距離法による類似度は、以下に示す式(2)で算出される。
また、群平均法とは、異なるクラスタに分類された履歴データ間、または、クラスタに分類された閲覧履歴データと単一の閲覧履歴データとの間における全ての組み合わせに関する類似度の平均値を、クラスタ間の類似度とする方法である。この群平均法による類似度は、以下に示す式(3)で算出される。
例えば、log1,log2,log3で構成されるクラスタAとlog4,log5で構成されるクラスタBとの間の類似度は、最短距離法を用いた場合には、sim(log1.log4),sim(log1.log5),sim(log2.log4),sim(log2.log5),sim(log3.log4),sim(log3.log5)という6つの類似度のうち最も大きい類似度で定義される。
なお、ここで説明したp1_linkは、後述するクラスタ形成部137dによって用いられ、p2_linkは、後述する孤立データ組込部137eによって用いられる。また、クラス間の類似度を算出する方法としては、ここで説明した最短距離法、最遠距離法および群平均法に限られず、他の各種の類似度算出方法を用いることが可能である。
図13の説明にもどって、編集用類似度マトリクス記憶部137bは、後述するクラスタ形成部137dによって行われるクラスタ形成処理で用いられる編集用類似度マトリクスファイルを記憶する。この編集用類似度マトリクスファイルは、後述するクラスタ形成部137dによってクラスタ形成処理が行われる際に、類似度マトリクス記憶部131に記憶されている類似度マトリクスがコピーされ、クラスタ形成処理によってクラスタが形成されるたびに更新される。
クラスタ形成結果ファイル記憶部137cは、後述するクラスタ形成部137dによって生成されるクラスタ形成結果ファイルを記憶する。このクラスタ形成結果ファイルは、後述するクラスタ形成部137dによって行われるクラスタ形成処理の結果として生成される。図15は、図13に示したクラスタ形成結果ファイル記憶部137cによって記憶されるクラスタ形成結果ファイルの一例を示す図である。図15に示すように、クラスタ形成結果ファイルは、図5に示した分類結果ファイルと同じフォーマットのファイルである。
図15に示す例では、「000011」,「000012」および「000013」の閲覧履歴データがそれぞれ同じクラスタに分類され、「000021」,「000023」,「000040」および「000050」の文書データがそれぞれ同じクラスタに分類され、「000025」,「000026」,「000038」および「000060」の閲覧履歴データがそれぞれ同じクラスタに分類され、「000051」および「000087」の閲覧履歴データがそれぞれ同じクラスタに分類されている。
また、図15に示す例では、「000001」および「000005」は、いずれも他の文書IDと並べて配置されていない。これは、「000001」の閲覧履歴データおよび「000005」の閲覧履歴データが、それぞれ、クラスタに分類されずに残った孤立データであることを示している。
図13の説明にもどって、クラスタ形成部137dは、複数の文書データをデータ間の類似度が所定の閾値を越えるデータ群ごとに分類することで複数のクラスタを形成するクラスタ形成処理を行う。図16は、図13に示したクラスタ形成部137dによって行われるクラスタ形成処理の処理手順を示すフローチャートである。
図16に示すように、クラスタ形成部137dは、まず、設定ファイル記憶部137aから設定ファイルを読み込む(ステップS101)。また、クラスタ形成部137dは、類似度マトリクス記憶部131から類似度マトリクスファイルを読み込み、読み込んだ類似度マトリクスファイルを編集用類似度マトリクスファイルとして編集用類似度マトリクス記憶部137bに格納する(ステップS102)。
続いて、クラスタ形成部137dは、編集用類似度マトリクスファイルに設定された類似度の中に、設定ファイルのsim1に設定されている閾値以上の類似度があるか否かを判定する(ステップS103)。
ここで、sim1の閾値以上の類似度があった場合には(ステップS103,Yes)、クラスタ形成部137dは、編集用類似度マトリクスファイルに設定されている閲覧履歴データのペアの中で、類似度が最も高い閲覧履歴データのペアを新たなクラスタとする(ステップS104)。そして、クラスタ形成部137dは、編集用類似度マトリクスファイルに対して、新たなクラスタの類似度を格納するための行列を新たに追加し、そのクラスタのもとになった閲覧履歴データの行列を削除する(ステップS105)。
その後、クラスタ形成部137dは、設定ファイルのp1_linkに設定されている計算式を用いて、編集用類似度マトリクスファイルに設定されている閲覧履歴データまたはクラスタと新たなクラスタとの間の類似度を全て算出する。そして、クラスタ形成部137dは、編集用類似度マトリクスファイルに追加した行列に含まれる各領域に、算出した各類似度をそれぞれ設定する(ステップS106)。
このように、クラスタ形成部137dは、編集用類似度マトリクスファイルに設定されている類似度の中にsim1の閾値以上の類似度がある間は、上記ステップS103〜S106の処理を繰り返す。こうして処理を繰り返すことによって、ステップS104において、クラスタどうしの結合が行われることになる。
そして、編集用類似度マトリクスファイルに設定された類似度の中にsim1以上の類似度がなくなった場合には(ステップS103,No)、クラスタ形成部137dは、その時点での編集用類似度マトリクスファイルの内容に基づいて、クラスタ形成結果ファイルを生成し、生成したクラスタ形成結果ファイルをクラスタ形成結果ファイル記憶部137cに出力する(ステップS107)。
図13の説明にもどって、孤立データ組込部137eは、クラスタ形成部137dによって形成された各クラスタといずれのクラスタにも分類されずに残った孤立データとの間の類似度を算出し、算出した類似度が最も高いクラスタに孤立データを組み込む孤立データ組込処理を行う。図17は、図13に示した孤立データ組込部137eによって行われる孤立データ組込処理の処理手順を示すフローチャートである。
図17に示すように、孤立データ組込部137eは、まず、設定ファイル記憶部137aから設定ファイルを読み込む(ステップS201)。また、孤立データ組込部137eは、クラスタ形成結果ファイル記憶部137cからクラスタ形成結果ファイルを読み込み、類似度マトリクス記憶部131から類似度マトリクスファイルを読み込む(ステップS202)。
続いて、孤立データ組込部137eは、クラスタ形成結果ファイルにクラスタが含まれているか否かを判定する(ステップS203)。ここで、クラスタ形成結果ファイルにクラスタが含まれていなかった場合には(ステップS203,No)、孤立データ組込部137eは、その時点でのクラスタ形成結果ファイルを分類結果ファイルとして分類結果ファイル記憶部132に出力する(ステップS207)。一方、クラスタ形成結果ファイルにクラスタが含まれていた場合には(ステップS203,Yes)、孤立データ組込部137eは、クラスタ形成結果ファイルに孤立データが含まれているか否かを判定する(ステップS204)。
ここで、クラスタ形成結果ファイルに孤立データが含まれていた場合には(ステップS204,Yes)、孤立データ組込部137eは、設定ファイルのp2_linkに設定されている計算式を用いて、類似度マトリクスファイルに含まれている孤立データのうちいずれか1つの孤立データと全てのクラスタとの類似度を算出する(ステップS205)。そして、孤立データ組込部137eは、算出した類似度が最も高いクラスタに孤立データを組み込む(ステップS206)。その後、孤立データ組込部137eは、クラスタに組み込んだ孤立データをクラスタ形成結果ファイルから削除する。
このように、孤立データ組込部137eは、クラスタ形成結果ファイルに孤立データが含まれている間は、上記ステップS204〜S206の処理を繰り返す。そして、クラスタ形成結果ファイルから孤立データが無くなった場合には(ステップS204,No)、孤立データ組込部137eは、その時点でのクラスタ形成結果ファイルを分類結果ファイルとして分類結果ファイル記憶部132に出力する(ステップS207)。
次に、図2に示した後処理部138によって行われる処理について説明する。図18は、図2に示した後処理部138によって行われる処理の構成を示す図である。図18に示すように、後処理部138は、データ分類部137によって生成された分類結果ファイルに対してキーワード付与、可視化および情報配信を行うことで、可視化データおよび配信用データを生成する。以下、後処理に含まれる各処理について具体的に説明する。
図19は、図18に示したキーワード付与を説明するための図である。図19に示すように、後処理部138は、分類結果ファイルに含まれるデータに対してキーワード付与を行うことで、キーワード付与済み分類結果データを生成する。ここで、キーワード付与とは、分類結果ファイルに含まれる各クラスタに代表的なキーワードを与える処理である。例えば、図19に示す例のように、「クラスタ1」に「アイスクリーム」および「アイス」がキーワードとして与えられる。
なお、かかるキーワード付与の方式としては、例えば、TFIDFなどを用いることができる。
図20は、図18に示した可視化を説明するための図である。図20に示すように、後処理部138は、キーワード付与によって得られたキーワード付与済み分類結果データに対して可視化を行うことで、可視化データを生成する。ここで、可視化とは、キーワード付与済み分類結果データを表示用の形式に変換する処理である。例えば、図20に示す例のように、クラスタごとに、キーワード(「アイスクリーム」、「アイス」など)とそのキーワードに関連するフレーズ(「アイスのおいしい店」など)が可視化データとして生成される。
なお、かかる可視化の方式としては、例えば、単にクラスタごとに閲覧履歴を表示する方式や、タグクラウド、閲覧履歴の要約を生成する方式などを用いることができる。
図21は、図18に示した情報配信を説明するための図である。図21に示すように、後処理部138は、キーワード付与によって得られたキーワード付与済み分類結果データを用いて情報配信を行うことで、配信用データを生成する。ここで、情報配信とは、キーワード付与済み分類結果データに含まれているキーワードとマッチする配信コンテンツを配信コンテンツ記憶部134から取得し、取得した配信コンテンツをもとに配信用データを生成する処理である。例えば、図21に示す例のように、広告に関するコンテンツが配信用データとして生成される。
なお、かかる情報配信の方式としては、例えば、各種マッチング方式やレコメンド方式などを用いることができる。
以上、後処理部138によって行われる処理について説明したが、ここで説明した各処理は、必ずしも全ての処理が行われなくてもよい。例えば、ここでは、可視化の方式や情報配信の方式によっては、キーワード付与を行う必要がない場合もあり得る。例えば、情報配信の方式が、キーワードが付与されていなくても分類結果ファイルのデータと配信コンテンツとをマッチング可能な方式であった場合には、キーワード付与は行われなくてもよい。
上述したように、本実施例1では、クラスタ形成部137dが、複数の閲覧履歴データをデータ間の類似度が所定の閾値を越えるデータ群ごとに分類することで複数のクラスタを形成する。また、孤立データ組込部137eが、クラスタ形成部137dにより形成された各クラスタといずれのクラスタにも分類されずに残った孤立データとの間の類似度を算出し、算出した類似度が最も高いクラスタに孤立データを組み込む。したがって、本実施例1によれば、チェイニング効果を抑えて分類精度を高めつつ、運用性が高いクラスタリングを実現することが可能になる。
また、本実施例1では、クラスタ形成部137dが、異なるクラスタに分類された閲覧履歴データ間、または、クラスタに分類された閲覧履歴データと単一の閲覧履歴データとの間における類似度に基づいて、複数の閲覧履歴データを分類する。したがって、本実施例1によれば、クラスタとクラスタまたはクラスタと閲覧履歴データとを効率よく結合することができる。
また、本実施例1では、クラスタ形成部137dが、パネルユーザが閲覧したウェブページの閲覧履歴を表す閲覧履歴データを分類する。したがって、本実施例1によれば、閲覧履歴データの分類結果に基づいて、パネルユーザの嗜好を精度よく分析することが可能になる。
次に、実施例2について説明する。本実施例2では、論文集や図書情報などの文書群データを分類する文書データ分類システムに本発明を適用した場合について説明する。図22は、本実施例2に係る文書データ分類システム200の構成を示す機能ブロック図である。この文書データ分類システム200は、例えば、図書館などの書庫に設置され、書庫の利用者が所望の文書を探す際に利用される。
具体的には、文書データ分類システム200は、論文集や図書情報などの文書群データを分類するとともに、ユーザから検索キーワードを受け付ける。そして、文書データ分類システム200は、受け付けた検索キーワードを含んだ文書データを文書群データの分類結果から検索してユーザに提供する。図22に示すように、文書データ分類システム200は、ユーザ端末210と、分析用端末220と、処理サーバ230とを有する。
ユーザ端末210は、ユーザが所望の文書を探す際に利用する端末装置である。このユーザ端末210は、検索キーデータ送信部211と、データ表示部212とを有する。検索キーデータ送信部211は、ユーザから検索キーワードの入力を受け付け、受け付けた検索キーワードを処理サーバ230に送信する。データ表示部212は、処理サーバ230によって生成された検索結果データを取得し、取得した検索結果データを液晶モニタなどの表示装置に表示させる。
分析用端末220は、書庫に置かれた文書の利用傾向を分析する際などに利用される端末装置である。この分析用端末220は、データ表示部221を有する。データ表示部221は、処理サーバ230によって生成された検索結果データを取得し、取得した検索結果データを液晶モニタなどの表示装置に表示させる。
処理サーバ230は、論文集や図書情報などの文書群データを分類するとともに、ユーザ端末210から送信される検索キーワードを含んだ文書データを文書群データの分類結果から検索してユーザに提供する。この処理サーバ230は、文書群データ記憶部233と、類似度マトリクス記憶部231と、分類結果ファイル記憶部232と、検索結果データ記憶部234とを有する。さらに、処理サーバ230は、前処理部236と、データ分類部237と、後処理部238とを有する。
文書群データ記憶部233は、論文集や図書情報などの文書に関する文書情報を記憶する。ここでいう文書情報とは、例えば、文書のタイトルや著者、分野などを示す情報である。
類似度マトリクス記憶部231は、分類対象となる文書データの類似度が記述された類似度マトリクスファイルを記憶する。この類似度マトリクスファイルは、後述する前処理部236によって生成される。また、この類似度マトリクスファイルは、図4に示した類似度マトリクスファイルと同じフォーマットのファイルであり、文書データごとに設定された複数の行および列からなる行列で表される。
分類結果ファイル記憶部232は、文書データの分類結果を示す分類結果ファイルを記憶する。この分類結果ファイルは、後述するデータ分類部237によって生成される。また、この分類結果ファイルは、図5に示した分類結果ファイルと同じフォーマットのファイルであり、クラスタごとに、同じクラスタに分類された文書データのIDを同じ行に並べて配置したファイルである。
検索結果データ記憶部234は、ユーザ端末210から送信された検索キーワードを含んだ文書データを文書群データの分類結果から検索した結果を示す検索結果データを記憶する。
前処理部236は、文書群データ記憶部233に記憶された文書データに対して前処理を施す。この前処理部236は、文書群データ記憶部233に記憶された文書データを処理対象として、図6に示した前処理部136と同様に、スクレイピング、形態素解析、NGワード除去、複合語処理、重要度付与、類似度算出を順に行うことで、類似度マトリクスファイルを生成する。
データ分類部237は、前処理部236によって生成された類似度マトリクスを用いて文書データを分類する。このデータ分類部237は、前処理部236によって生成された類似度マトリクスを用いて、図13に示したデータ分類部137と同様に、文書データを分類して分類結果ファイルを生成し、生成した分類結果ファイルを分類結果ファイル記憶部232に出力する。
後処理部238は、データ分類部237によって生成された分類結果ファイルに含まれるデータに対して後処理を施す。この後処理部238は、データ分類部237によって生成された分類結果ファイルを処理対象として、図18に示した後処理部138と同様に、キーワード付与を行ってキーワード付与済み分類結果データを生成する。
ここで、本実施例2では、後処理部238は、ユーザ端末210から送信された検索キーワードを受け付ける。そして、後処理部238は、受け付けた検索キーワードを含んだ文書データをキーワード付与済み分類結果データから検索し、検索した結果を示す検索結果データを検索結果データ記憶部234に記憶させる。例えば、ユーザから指定された検索キーワードをタイトルに含んだ文書や、その文書に関連する文書などのリストが検索結果データとして生成される。
上述したように、本実施例2では、データ分類部237が、複数の文書データをデータ間の類似度が所定の閾値を越えるデータ群ごとに分類することで複数のクラスタを形成する。また、データ分類部237は、形成した各クラスタといずれのクラスタにも分類されずに残った孤立データとの間の類似度を算出し、算出した類似度が最も高いクラスタに孤立データを組み込む。したがって、本実施例2によれば、チェイニング効果を抑えて分類精度を高めつつ、運用性が高いクラスタリングを実現することが可能になる。また、書庫において文書を探すユーザに対して、目的の文書だけでなく、その文書に関連する文書の情報も提示されるので、より有益な情報をユーザに提供することができる。
なお、上記実施例で説明したデータ分類方法は、あらかじめ用意されたプログラムをコンピュータで実行することで実現することもできる。そこで、以下では、上記実施例で説明したデータ分類方法を実現するデータ分類プログラムを実行するコンピュータの一例を説明する。
図23は、本実施例に係るデータ分類プログラムを実行するコンピュータ330を示す図である。図23に示すように、コンピュータ330は、例えば、メモリ331と、CPU(Central Processing Unit)332と、ハードディスクドライブインタフェース333と、ディスクドライブインタフェース334と、シリアルポートインタフェース335と、ビデオアダプタ336と、ネットワークインタフェース337とを有する。これらの各部は、バス338によって接続される。
メモリ331は、ROM(Read Only Memory)331aおよびRAM(Random Access Memory)331bを含む。ROM331aは、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース333は、ハードディスクドライブ339に接続される。ディスクドライブインタフェース334は、ディスクドライブ334aに接続される。ディスクドライブ334aには、例えば、磁気ディスクや光ディスク等の着脱可能な記憶媒体が挿入される。シリアルポートインタフェース335には、例えば、マウス335aおよびキーボード335bが接続される。ビデオアダプタ336には、例えば、ディスプレイ336aが接続される。
ここで、図23に示すように、ハードディスクドライブ339は、例えば、OS(Operating System)339a、アプリケーションプログラム339b、プログラムモジュール339cおよびプログラムデータ339dを記憶する。本実施例に係るデータ分類プログラムは、例えば、コンピュータ330によって実行される指令が記述されたプログラムモジュールとして、例えばハードディスクドライブ339に記憶される。具体的には、上記実施例で説明したクラスタ形成部と同様の情報処理を実行するクラスタ分類手順、および、孤立データ組込部と同様の情報処理を実行する孤立データ組込手順が記述されたプログラムモジュールが、ハードディスクドライブ339に記憶される。
また、上記実施例で説明した設定ファイル記憶部や類似度マトリクス記憶部などに記憶されるデータのように、データ分類プログラムによる情報処理に用いられるデータは、プログラムデータとして、例えば、ハードディスクドライブ339に記憶される。そして、CPU332が、ハードディスクドライブ339に記憶されたプログラムモジュールやプログラムデータを必要に応じてRAM331bに読み出して、情報収集手順およびサービス決定手順を実行する。
なお、サービス制御プログラムに係るプログラムモジュールやプログラムデータは、ハードディスクドライブ339に記憶される場合に限られず、例えば、着脱可能な記憶媒体に記憶されて、ディスクドライブ334a等を介してCPU332によって読み出されてもよい。あるいは、サービス制御プログラムに係るプログラムモジュールやプログラムデータは、LAN(Local Area Network)やWAN(Wide Area Network)等のネットワークを介して接続された他のコンピュータに記憶され、ネットワークインタフェース337を介してCPU332によって読み出されてもよい。