(57)【要約】【課題】教師データに含まれるクラスの数が３クラス以上であった場合でも、教師つき学習によるクラスの判別結果が特定のクラスに偏らないように、教師データに含まれるクラスごとのデータ数の偏りを補正する。【解決手段】教師データ集計部１４２が、多クラスの教師つき学習において用いられる教師データのデータ数をクラスごとに集計する。また、教師データ調整部１４４が、教師データ集計部１４２によって集計されたデータ数と所定の基準値との差に基づいて、教師データのデータ数をクラスごとに調整する。そして、判別モデル生成部１４５が、教師データ調整部１４４によってデータ数が調整された教師データに基づいて判別モデルを生成する。【選択図】図２
2010204966.tif 000002
【特許請求の範囲】
【請求項１】
多クラスの教師つき学習において用いられる教師データに含まれるクラスごとのデータ数の偏りを補正するサンプリング装置であって、
前記教師データのデータ数をクラスごとに集計するデータ集計手段と、
前記データ集計手段によって集計されたデータ数と所定の基準値との差に基づいて、教師データのデータ数をクラスごとに調整するデータ調整手段と
を備えたことを特徴とするサンプリング装置。
【請求項２】
前記データ集計手段によって集計されたクラスごとのデータ数に偏りがあるか否かを判定するデータ偏り判定手段をさらに備え、
前記データ調整手段は、前記データ偏り判定手段によってクラスごとのデータ数に偏りがあると判定された場合には、前記教師データのデータ数を調整することを特徴とする請求項１に記載のサンプリング装置。
【請求項３】
前記データ調整手段は、前記データ集計手段によって集計されたデータ数が前記所定の基準値に満たないクラスがあった場合には、当該クラスに属する教師データのデータ数を前記所定の基準値と一致するまで増加させることを特徴とする請求項１または２に記載のサンプリング装置。
【請求項４】
前記データ調整手段は、前記データ集計手段によって集計されたデータ数が前記所定の基準値を超えるクラスがあった場合に、当該クラスに属する教師データのデータ数を前記所定の基準値と一致するまで減少させることを特徴とする請求項１、２または３に記載のサンプリング装置。
【請求項５】
前記データ調整手段は、利用者によって任意に決められた値を前記所定の基準値として用いることを特徴とする請求項１〜４のいずれか一つに記載のサンプリング装置。
【請求項６】
前記データ調整手段は、前記データ集計手段によって集計されたクラスごとのデータ数に関する統計値を前記所定の基準値として用いることを特徴とする請求項１〜５のいずれか一つに記載のサンプリング装置。
【請求項７】
多クラスの教師つき学習において用いられる教師データに含まれるクラスごとのデータ数の偏りを補正するサンプリング方法であって、
前記教師データが格納されている記憶部から教師データを読み出してクラスごとにデータ数を集計するデータ集計ステップと、
前記データ集計ステップによって集計されたデータ数と所定の基準値との差に基づいて、教師データのデータ数をクラスごとに調整するデータ調整ステップと
を含んだことを特徴とするサンプリング方法。
【請求項８】
多クラスの教師つき学習において用いられる教師データに含まれるクラスごとのデータ数の偏りを補正するサンプリングプログラムであって、
前記教師データが格納されている記憶部から教師データを読み出してクラスごとにデータ数を集計するデータ集計手順と、
前記データ集計手順によって集計されたデータ数と所定の基準値との差に基づいて、教師データのデータ数をクラスごとに調整するデータ調整手順と
をコンピュータに実行させることを特徴とするサンプリングプログラム。
【請求項９】
多クラスの教師つき学習における判別モデルを生成し、生成した判別モデルを用いて、判別対象のデータが属するクラスを判別するクラス判別装置であって、
前記教師つき学習において用いられる教師データのデータ数をクラスごとに集計するデータ集計手段と、
前記データ集計手段によって集計されたデータ数と所定の基準値との差に基づいて、教師データのデータ数をクラスごとに調整するデータ調整手段と、
前記データ調整手段によってデータ数が調整された教師データに基づいて前記判別モデルを生成する判別モデル生成手段と
を備えたことを特徴とするクラス判別装置。
【請求項１０】
通信ネットワークを介して互いに接続されたサーバ装置と端末装置とを有するクラス判別システムであって、
前記サーバ装置が、
多クラスの教師つき学習において用いられる教師データのデータ数をクラスごとに集計するデータ集計手段と、
前記データ集計手段によって集計されたデータ数と所定の基準値との差に基づいて、教師データのデータ数をクラスごとに調整するデータ調整手段と、
前記データ調整手段によってデータ数が調整された教師データに基づいて前記判別モデルを生成する判別モデル生成手段とを備え、
前記端末装置が、
前記判別モデル生成手段によって生成された判別モデルを前記サーバ装置から取得する取得手段と、
前記取得手段によって取得された判別モデルを用いて、判別対象のデータが属するクラスを判別するクラス判別手段と
を備えたことを特徴とするクラス判別システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、多クラス（マルチクラス）の教師つき学習において用いられる教師データに含まれるクラスごとのデータ数の偏りを補正するサンプリング装置、サンプリング方法、サンプリングプログラム、クラス判別装置およびクラス判別システムに関する。
【背景技術】
【０００２】
従来、機械学習の分野では、判別対象のデータが属するクラスを判別する方法のひとつに「教師つき学習」と呼ばれる手法がある。この教師つき学習とは、特性を表すデータとクラスとが関連づけられた教師データと学習器（例えば、Support Vector Machineなど）とを用いて判別モデルを生成し、生成した判別モデルをクラスが未知であるデータに適用することで、当該データが属するクラスを判別する手法である。例えば、教師つき学習は、ユーザプロファイリングやテキスト分類などの分野で用いられている。
【０００３】
かかる教師つき学習において、教師データに含まれるクラスごとのデータ数が不均衡な状態であった場合に、判別モデルによる判別結果が特定のクラスに偏ることが問題として指摘されている。ここでいう「不均衡な状態」とは、例えば、教師データの全データ数を１００％とした場合に、クラスＡのデータ数が９０％、クラスＢのデータ数が１０％となるような状態である。このような問題は「Imbalanced問題」と呼ばれている。
【０００４】
そして、上述したImbalanced問題を解決するため、教師データに含まれるクラスごとのデータ数の偏りを補正するサンプリング手法が提案されている。例えば、このようなサンプリング手法として、Random Over Sampling（ＲＯＳ）や、Random Under Sampling（ＲＵＳ）などがある（例えば、非特許文献１参照）。これらＲＯＳおよびＲＵＳは、サンプルの数をランダムに複製したり削除したりするシンプルな手法であるにもかかわらず、どんなデータに対しても適用できるロバストな方法として知られている。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】亀井  靖高、外４名、「Ｆａｕｌｔ−ｐｒｏｎｅモジュール判別におけるサンプリング法適用の効果」、情報処理学会論文誌、Ｖｏｌ．４８、Ｎｏ．８、ｐｐ．２６５１−２６６２
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、ＲＯＳおよびＲＵＳは、ともにクラスの数が２クラスの場合に適用可能な手法であった。具体的には、ＲＯＳは、教師データに含まれる２つのクラスのうち、データ数が多い方のクラスのデータ数に合わせて、データ数が少ない方のクラスのデータ数を増加させる手法である。一方、ＲＵＳは、教師データに含まれる２つのクラスのうち、データ数が少ない方のクラスのデータ数に合わせて、データ数が多い方のクラスのデータ数を減少させる手法である。
【０００７】
そのため、機械学習の分野では、教師データに含まれるクラスの数が３クラス以上であった場合でも、教師つき学習によるクラスの判別結果が特定のクラスに偏らないように、教師データに含まれるクラスごとのデータ数の偏りを補正する方法が求められている。
【０００８】
本発明は、上記に鑑みてなされたものであって、教師データに含まれるクラスの数が３クラス以上であった場合でも、教師つき学習によるクラスの判別結果が特定のクラスに偏らないように、教師データに含まれるクラスごとのデータ数の偏りを補正することが可能なサンプリング装置、サンプリング方法、サンプリングプログラム、クラス判別装置およびクラス判別システムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
上述した課題を解決し、目的を達成するために、本発明は、多クラスの教師つき学習において用いられる教師データに含まれるクラスごとのデータ数の偏りを補正するサンプリング装置であって、前記教師データのデータ数をクラスごとに集計するデータ集計手段と、前記データ集計手段によって集計されたデータ数と所定の基準値との差に基づいて、教師データのデータ数をクラスごとに調整するデータ調整手段とを備えたことを特徴とする。
【００１０】
また、本発明は、多クラスの教師つき学習において用いられる教師データに含まれるクラスごとのデータ数の偏りを補正するサンプリング方法であって、前記教師データが格納されている記憶部から教師データを読み出してクラスごとにデータ数を集計するデータ集計ステップと、前記データ集計ステップによって集計されたデータ数と所定の基準値との差に基づいて、教師データのデータ数をクラスごとに調整するデータ調整ステップとを含んだことを特徴とする。
【００１１】
また、本発明は、多クラスの教師つき学習において用いられる教師データに含まれるクラスごとのデータ数の偏りを補正するサンプリングプログラムであって、前記教師データが格納されている記憶部から教師データを読み出してクラスごとにデータ数を集計するデータ集計手順と、前記データ集計手順によって集計されたデータ数と所定の基準値との差に基づいて、教師データのデータ数をクラスごとに調整するデータ調整手順とをコンピュータに実行させることを特徴とする。
【００１２】
また、本発明は、多クラスの教師つき学習における判別モデルを生成し、生成した判別モデルを用いて、判別対象のデータが属するクラスを判別するクラス判別装置であって、前記教師つき学習において用いられる教師データのデータ数をクラスごとに集計するデータ集計手段と、前記データ集計手段によって集計されたデータ数と所定の基準値との差に基づいて、教師データのデータ数をクラスごとに調整するデータ調整手段と、前記データ調整手段によってデータ数が調整された教師データに基づいて前記判別モデルを生成する判別モデル生成手段とを備えたことを特徴とする。
【００１３】
また、本発明は、通信ネットワークを介して互いに接続されたサーバ装置と端末装置とを有するクラス判別システムであって、前記サーバ装置が、多クラスの教師つき学習において用いられる教師データのデータ数をクラスごとに集計するデータ集計手段と、前記データ集計手段によって集計されたデータ数と所定の基準値との差に基づいて、教師データのデータ数をクラスごとに調整するデータ調整手段と、前記データ調整手段によってデータ数が調整された教師データに基づいて前記判別モデルを生成する判別モデル生成手段とを備え、前記端末装置が、前記判別モデル生成手段によって生成された判別モデルを前記サーバ装置から取得する取得手段と、前記取得手段によって取得された判別モデルを用いて、判別対象のデータが属するクラスを判別するクラス判別手段とを備えたことを特徴とする。
【発明の効果】
【００１４】
本発明によれば、教師データに含まれるクラスの数が３クラス以上であった場合でも、教師つき学習によるクラスの判別結果が特定のクラスに偏らないように、教師データに含まれるクラスごとのデータ数の偏りを補正することが可能になるという効果を奏する。
【図面の簡単な説明】
【００１５】
【図１】図１は、本実施例１にかかるクラス判別装置の概要を説明するための図である。
【図２】図２は、クラス判別装置の構成を示す機能ブロック図である。
【図３】図３は、教師データ記憶部によって記憶される教師データの一例を示す図である。
【図４】図４は、判別データ記憶部によって記憶される判別データの一例を示す図である。
【図５】図５は、教師データ調整部によるデータ数の調整の一例を示す図である。
【図６】図６は、教師データ調整部がデータ数の増加のみを行う場合の一例を示す図である。
【図７】図７は、教師データ調整部がデータ数の減少のみを行う場合の一例を示す図である。
【図８】図８は、クラス判別部によって出力される判別結果データの一例を示す図である。
【図９】図９は、クラス判別装置によって行われるクラス判別の処理手順を示すフローチャートである。
【図１０】図１０は、本実施例２にかかる特性推定システムの全体構成を説明するための図である。
【図１１】図１１は、教師ユーザ端末の構成を示す機能ブロック図である。
【図１２】図１２は、サーバの構成を示す機能ブロック図である。
【図１３】図１３は、教師ユーザ特性特定部を説明するための図である。
【図１４】図１４は、アクセス履歴収集部を説明するための図である。
【図１５】図１５は、履歴・行動対応テーブル記憶部を説明するための図である。
【図１６】図１６は、行動データ生成部による教師ユーザの行動データ生成を説明するための図である。
【図１７】図１７は、行動データ調整部の構成を示す機能ブロック図である。
【図１８】図１８は、推定ユーザ端末の構成を示す機能ブロック図である。
【図１９】図１９は、行動データ生成部による推定ユーザの行動データ生成を説明するための図である。
【図２０】図２０は、推定ユーザ特性推定部を説明するための図である。
【図２１】図２１は、教師ユーザ端末による処理の手順を説明するためのフローチャートである。
【図２２】図２２は、サーバによる教師ユーザの特性特定処理の手順を説明するためのフローチャートである。
【図２３】図２３は、サーバによる特性推定モデル生成処理の手順を説明するためのフローチャートである。
【図２４】図２４は、推定ユーザ端末による処理を説明するためのフローチャートである。
【発明を実施するための形態】
【００１６】
以下に、本発明にかかるサンプリング装置、サンプリング方法、サンプリングプログラム、クラス判別装置、クラス判別システムの実施例を図面に基づいて詳細に説明する。なお、以下に示す実施例によって本発明が限定されるものではない。
【実施例１】
【００１７】
まず、実施例１について説明する。本実施例１では、多クラスの教師つき学習における判別モデルを生成し、生成した判別モデルを用いて、判別対象のデータが属するクラスを判別するクラス判別装置に本発明を適用した場合について説明する。
【００１８】
図１は、本実施例１にかかるクラス判別装置の概要を説明するための図である。本実施例１にかかるクラス判別装置１００は、まず、それぞれが複数のクラスのうちいずれか一つに属する複数のデータを含んだ教師データの入力を受け付ける（図１の（１）参照）。
【００１９】
ここで、クラス判別装置１００に入力される教師データには、クラスごとのデータ数に偏りがある場合もある。その場合には、正確な判別モデルが生成されず、クラスの判別精度が低下してしまう。
【００２０】
そこで、クラス判別装置１００は、判別モデルを生成する前に、教師データに含まれるクラスごとのデータ数の偏りを調整する。具体的には、クラス判別装置１００は、教師データのデータ数をクラスごとに集計し、集計したデータ数と所定の基準値との差に基づいて、クラスごとに教師データのデータ数を調整する。この調整によってクラスごとのデータ数が平準化された教師データを以下では「調整済み教師データ」と呼ぶ（図１の（２）参照）。
【００２１】
例えば、図１に示すように、教師データの全データ数を１００％とした場合に、クラスＡのデータ数が８０％であり、クラスＢのデータ数が１０％であり、クラスＣのデータ数が５％であり、クラスＤのデータ数が５％であったとする。その場合、例えば、クラス判別装置１００は、各クラスのデータ数がそれぞれ２５％になるように、教師データのデータ数を平準化する。
【００２２】
こうして教師データのデータ数を調整したのちに、クラス判別装置１００は、調整済み教師データに基づいて、教師つき学習における判別モデルを生成する（図１の（３）参照）。その後、クラス判別装置１００は、クラスを判別する対象のデータである判別データの入力を受け付ける（図１の（４）参照）。そして、クラス判別装置１００は、受け付けた判別データに判別モデルを適用することで、判別データが属するクラスを判別し、判別したクラスを示す判別結果データを出力する（図１の（５）参照）。
【００２３】
このように、本実施例１では、クラス判別装置１００が、判別データのクラスを判別するための判別モデルを生成する前に、教師データに含まれるクラスごとのデータ数の偏りを平準化する。したがって、本実施例１によれば、教師データに含まれるクラスの数が３クラス以上であった場合でも、教師つき学習によるクラスの判別結果が特定のクラスに偏らないように、教師データに含まれるクラスごとのデータ数の偏りを補正することが可能になる。
【００２４】
次に、クラス判別装置１００の構成について説明する。図２は、クラス判別装置１００の構成を示す機能ブロック図である。図２に示すように、クラス判別装置１００は、入力部１１０、出力部１２０、記憶部１３０、および制御部１４０を有する。
【００２５】
入力部１１０は、利用者によって行われる操作に応じて各種情報を入力する。例えば、入力部１１０は、キーボードやマウスなどの入力デバイスである。また、本実施例１では、入力部１１０は、教師つき学習における判別モデルを生成するための教師データや、クラスを判別する対象のデータである判別データなどを入力する。
【００２６】
出力部１２０は、クラス判別装置によって生成された各種情報を出力する。例えば、出力部１２０は、モニタやスピーカなどの出力デバイスである。また、本実施例１では、出力部１２０は、判別データが属するクラスを示す判別結果データを出力する。
【００２７】
記憶部１３０は、制御部１４０によって実行される各種処理に必要な各種データを記憶する。例えば、ＨＤＤ（Hard Disk Drive）やメモリなどの記憶デバイスである。具体的には、記憶部１３０は、特に、教師データ記憶部１３１、調整済み教師データ記憶部１３２、判別モデル記憶部１３３、および判別データ記憶部１３４を記憶する。
【００２８】
教師データ記憶部１３１は、入力部１１０によって入力された教師データを記憶する。図３は、教師データ記憶部１３１によって記憶される教師データの一例を示す図である。図３に示すように、具体的には、教師データ記憶部１３１は、「サンプルＩＤ」と、「クラス」と、「特性」とを対応付けた情報を「教師データ」として記憶する。
【００２９】
ここで、サンプルＩＤとは、教師データに含まれるデータを一意に識別する識別情報である。例えば、サンプルＩＤには、「００１」、「００２」、「００３」などが設定される。また、クラスとは、教師データに含まれるデータが属するクラスを示す情報である。このクラスとしては、クラスを一意に識別する識別情報が用いられる。例えば、クラスには、「Ａ」、「Ｂ」、「Ｃ」などが設定される。また、特性とは、教師データに含まれるデータの特性を示す情報である。この特性としては、図３に示す「特性１」、「特性２」のように、複数の種類が用いられる。例えば、特性には、特性の種類ごとに、それぞれ特性の内容を示す値である「２」や「４」などが設定される。
【００３０】
なお、図３に示す例では、クラス「Ａ」、「Ｂ」、「Ｃ」に属するデータをそれぞれ１件ずつ示しているが、クラスごとのデータ数に偏りがある場合には、各クラスのデータ数がそれぞれ異なった状態となる。
【００３１】
図２の説明にもどって、調整済み教師データ記憶部１３２は、教師データ調整部１４４によってクラスごとのデータ数が調整された調整済み教師データを記憶する。
【００３２】
判別モデル記憶部１３３は、判別モデル生成部１４５によって生成された判別モデルを記憶する。ここでいう「判別モデル」とは、例えば、線形判別分析で用いられる線形判別関数などである。
【００３３】
判別データ記憶部１３４は、判別データ入力受付部１４６によって入力が受け付けられた判別データを記憶する。図４は、判別データ記憶部１３４によって記憶される判別データの一例を示す図である。図４に示すように、具体的には、判別データ記憶部１３４は、教師データと同じ形式のデータを「判別データ」として記憶する。なお、判別データは、クラスを判別する対象のデータであるため、判別データに含まれる各データはクラスが未知である。そのため、判別データでは、クラスを示す識別情報は設定されていないこととする。
【００３４】
図２の説明に戻って、制御部１４０は、記憶部１３０に記憶されている各種データを用いて各種処理を実行することによって、クラス判別装置１００全体を制御する。具体的には、制御部１４０は、特に、教師データ入力受付部１４１、教師データ集計部１４２、教師データ偏り判定部１４３、教師データ調整部１４４、判別モデル生成部１４５、判別データ入力受付部１４６、およびクラス判別部１４７を有する。
【００３５】
教師データ入力受付部１４１は、入力部１１０によって入力された教師データを受け付け、受け付けた教師データを教師データ記憶部１３１に格納する。
【００３６】
教師データ集計部１４２は、教師データのデータ数をクラスごとに集計する。具体的には、教師データ集計部１４２は、教師データ入力受付部１４１によって教師データが教師データ記憶部１３１に格納されたのちに、教師データ記憶部１３１から教師データを読み出し、クラスごとにデータ数を集計する。
【００３７】
教師データ偏り判定部１４３は、教師データに含まれるクラスごとのデータ数に偏りがあるか否かを判定する。具体的には、教師データ偏り判定部１４３は、教師データ集計部１４２によってクラスごとのデータ数が集計されたのちに、集計された各クラスのデータ数のうち最も大きいデータ数と最も小さいデータ数を特定する。
【００３８】
そして、教師データ偏り判定部１４３は、特定した最大データ数と最小データ数とが一致していない場合には、教師データに含まれるクラスごとのデータ数に偏りがあると判定する。なお、クラスごとのデータ数の偏りを判定する方法はこれに限定されるものではない。例えば、教師データ偏り判定部１４３が、特定した最大データ数と最小データ数との差が所定の値を超えている場合に、クラスごとのデータ数に偏りがあると判定するようにしてもよい。
【００３９】
教師データ調整部１４４は、教師データのデータ数をクラスごとに調整する。具体的には、教師データ調整部１４４は、教師データ記憶部１３１に格納されている教師データをクラスごとに読み出し、読み出した教師データを「調整済み教師データ」として調整済み教師データ記憶部１３２に順次格納する。
【００４０】
このとき、教師データ調整部１４４は、教師データ偏り判定部１４３によってクラスごとのデータ数に偏りがあると判定された場合には、教師データ集計部１４２によって集計されたデータ数と所定の基準値との差に基づいて、クラスごとに教師データのデータ数を調整する。
【００４１】
具体的には、教師データ調整部１４４は、教師データ集計部１４２によって集計されたデータ数が基準値に満たないクラスがあった場合には、そのクラスに属するデータのデータ数を基準値と一致するまで増加させる。このとき、教師データ調整部１４４は、データ数が基準値に満たないクラスについて、そのクラスに属する任意のデータを複製することで、データ数を増加させる。
【００４２】
一方、教師データ集計部１４２によって集計されたデータ数が基準値を超えるクラスがあった場合には、教師データ調整部１４４は、そのクラスに属するデータのデータ数を基準値と一致するまで減少させる。このとき、教師データ調整部１４４は、データ数が基準値を超えるクラスについて、そのクラスに属する任意のデータを削除することで、データ数を減少させる。
【００４３】
図５は、教師データ調整部１４４によるデータ数の調整の一例を示す図である。図５は、それぞれ、教師データ集計部１４２によって集計されたクラスごとのデータ数を棒グラフで示している。例えば、図５に示すように、クラスＡのデータ数が基準値を超えており、クラスＢのデータ数が基準値と一致しており、クラスＣおよびＤのデータ数が基準値に満たない状態であったとする。この場合には、教師データ調整部１４４は、図５の「処理後」に示すように、クラスＡのデータ数を基準値まで減少させ、クラスＣおよびＤのデータ数を基準値まで増加させる。なお、教師データ調整部１４４は、クラスＢについては、データ数を変化させない。
【００４４】
このように、教師データ調整部１４４が、クラスごとのデータ数が所定の基準値と一致するように、各クラスのデータ数を増減させることによって、教師データに含まれるクラスごとのデータ数が同じ値に平準化される。
【００４５】
なお、ここでは、データ数の増加および減少をいずれも行う場合について説明したが、データ数を調整する方法はこれに限定されるものではない。例えば、教師データ調整部１４４が、データ数の増加または減少のいずれか一方を行うようにしてもよい。図６は、教師データ調整部１４４がデータ数の増加のみを行う場合の一例を示す図である。また、図７は、教師データ調整部１４４がデータ数の減少のみを行う場合の一例を示す図である。
【００４６】
例えば、図６に示すように、クラスＡおよびＢのデータ数が基準値を超えており、クラスＣおよびＤのデータ数が基準値に満たない状態であったとする。データの増加のみを行う場合には、教師データ調整部１４４は、図６の「処理後」に示すように、クラスＡおよびＢのデータ数は変化させずに、クラスＣおよびＤのデータ数を基準値まで増加させる。
【００４７】
また、例えば、図７に示すように、クラスＡおよびＢのデータ数が基準値を超えており、クラスＣのデータ数が基準値と一致しており、クラスＤのデータ数が基準値に満たない状態であったとする。データの減少のみを行う場合には、教師データ調整部１４４は、図７の「処理後」に示すように、クラスＣおよびＤのデータ数は変化させずに、クラスＡおよびＢのデータ数を基準値まで減少させる。
【００４８】
なお、上記で説明したデータ数の調整で用いられる基準値としては、各種の値を用いることが可能である。例えば、教師データ調整部１４４が、入力部１１０を介して、利用者によって任意に決められた値を受け付け、受け付けた値を基準として用いるようにしてもよい。
【００４９】
または、教師データ調整部１４４が、教師データ集計部１４２によって集計されたクラスごとのデータ数に関する統計値を算出し、算出した統計値を基準値として用いるようにしてもよい。この場合、例えば、教師データ調整部１４４は、クラスごとのデータ数の平均値や中央値、最大値、最小値などを算出し、算出した値を基準値として用いる。
【００５０】
判別モデル生成部１４５は、データ数が調整された教師データに基づいて判別モデルを生成する。具体的には、判別モデル生成部１４５は、調整済み教師データ記憶部１３２に格納されている調整済み教師データを読み出し、読み出した調整済み教師データに基づいて、教師つき学習における判別モデルを生成する。例えば、判別モデル生成部１４５は、Support Vector Machineなどの公知の学習器を利用して、判別モデルを生成する。そして、判別モデル生成部１４５は、生成した判別モデルを判別モデル記憶部１３３に格納する。
【００５１】
判別データ入力受付部１４６は、入力部１１０によって入力された判別データを受け付け、受け付けた判別データを判別データ記憶部１３４に格納する。
【００５２】
クラス判別部１４７は、教師つき学習における判別モデルを用いて判別データが属するクラスを判別する。具体的には、クラス判別部１４７は、判別データ入力受付部１４６によって判別データが受け付けられると、その判別データを判別データ記憶部１３４から読み出す。さらに、クラス判別部１４７は、判別モデル記憶部１３３から判別モデルを取得し、読み出した判別データに判別モデルを適用することで、判別データが属するクラスを判別する。そして、クラス判別部１４７は、判別したクラスを示す判別結果データを出力部１２０に出力する。
【００５３】
図８は、クラス判別部１４７によって出力される判別結果データの一例を示す図である。図８に示すように、具体的には、クラス判別部１４７は、判別データを示すサンプルＩＤとクラス判別部１４７によって判別されたクラスを示す識別情報とを判別データごとに対応付けた情報を「判別結果データ」として出力する。
【００５４】
次に、クラス判別装置１００によって行われるクラス判別の処理手順について説明する。図９は、クラス判別装置１００によって行われるクラス判別の処理手順を示すフローチャートである。図９に示すように、クラス判別装置１００では、教師データ入力受付部１４１が教師データを受け付けた場合に（ステップＳ１０１，Ｙｅｓ）、教師データ集計部１４２が、教師データのデータ数をクラスごとに集計する（ステップＳ１０２）。
【００５５】
続いて、教師データ偏り判定部１４３が、教師データ集計部１４２によって集計されたクラスごとのデータ数に偏りがあるか否かを判定する。そして、クラスごとのデータ数に偏りがなかった場合には（ステップＳ１０３，Ｎｏ）、判別モデル生成部１４５が、入力された教師データと同じ内容の調整済み教師データに基づいて判別モデルを生成する（ステップＳ１０８）。
【００５６】
一方、クラスごとのデータ数に偏りがあると判定された場合には（ステップＳ１０３，Ｙｅｓ）、教師データ調整部１４４が、教師データのデータ数をクラスごとに調整する。具体的には、教師データ調整部１４４は、データ数が所定の基準値に満たないクラスがある場合には（ステップＳ１０４，Ｙｅｓ）、データ数が基準値と一致するまで、そのクラスに属する任意のデータを複製する（ステップＳ１０５）。なお、データ数が所定の基準値に満たないクラスがない場合には（ステップＳ１０４，Ｎｏ）、教師データ調整部１４４は、データの複製を行わない。
【００５７】
また、データ数が所定の基準値を超えるクラスがある場合には（ステップＳ１０６，Ｙｅｓ）、教師データ調整部１４４は、データ数が基準値と一致するまで、そのクラスに属する任意のデータを削除する（ステップＳ１０７）。なお、データ数が所定の基準値を超えるクラスがない場合には（ステップＳ１０６，Ｎｏ）、教師データ調整部１４４は、データの削除を行わない。
【００５８】
こうして教師データのデータ数が調整されたのちに、判別モデル生成部１４５が、調整済み教師データに基づいて判別モデルを生成する（ステップＳ１０８）。そして、判別データ入力受付部１４６が判別データを受け付けた場合に（ステップＳ１０９，Ｙｅｓ）、クラス判別部１４７が、入力された判別データのクラスを判別し（ステップＳ１１０）、判別結果データを出力する（ステップＳ１１１）。
【００５９】
上述してきたように、本実施例１では、教師データ集計部１４２が、教師データのデータ数をクラスごとに集計する。また、教師データ調整部１４４が、教師データ集計部１４２によって集計されたデータ数と所定の基準値との差に基づいて、教師データのデータ数をクラスごとに調整する。そして、判別モデル生成部１４５が、教師データ調整部１４４によってデータ数が調整された教師データに基づいて判別モデルを生成する。
【００６０】
すなわち、本実施例１では、判別データのクラスを判別するために用いられる判別モデルが生成される前に、教師データに含まれるクラスごとのデータ数の偏りが平準化される。したがって、本実施例１によれば、教師データに含まれるクラスの数が３クラス以上であった場合でも、教師つき学習によるクラスの判別結果が特定のクラスに偏らないように、教師データに含まれるクラスごとのデータ数の偏りを補正することが可能である。
【００６１】
また、本実施例１では、教師データ偏り判定部１４３が、教師データ集計部１４２によって集計されたクラスごとのデータ数に偏りがあるか否かを判定する。そして、教師データ調整部１４４が、教師データ偏り判定部１４３によってクラスごとのデータ数に偏りがあると判定された場合に、教師データのデータ数を調整する。したがって、本実施例１によれば、教師データにデータ数の偏りがない場合にはデータ数の調整に関する処理が行われないので、装置にかかる負荷を軽減することが可能である。
【００６２】
また、本実施例１では、教師データ調整部１４４は、教師データ集計部１４２によって集計されたデータ数が基準値に満たないクラスがあった場合には、そのクラスに属する教師データのデータ数を基準値と一致するまで増加させる。したがって、本実施例１によれば、複数のクラスの中に極端にデータ数が少ないクラスがあった場合に、そのクラスのデータ数を他のクラスのデータ数に近づけることが可能である。
【００６３】
また、本実施例１では、教師データ調整部１４４が、教師データ集計部１４２によって集計されたデータ数が基準値を超えるクラスがあった場合に、そのクラスに属する教師データのデータ数を基準値と一致するまで減少させる。したがって、本実施例１によれば、複数のクラスの中に極端にデータ数が多いクラスがあった場合に、そのクラスのデータ数を他のクラスのデータ数に近づけることが可能である。
【００６４】
また、本実施例１では、教師データ調整部１４４が、利用者によって任意に決められた値を基準値として用いることとした。したがって、本実施例１によれば、利用者が任意に基準値を変更することができるので、教師つき学習に用いられる教師データのデータ量に応じて、データ数の偏りを適切に調整することが可能である。
【００６５】
また、本実施例１では、教師データ調整部１４４が、教師データ集計手段によって集計されたクラスごとのデータ数の平均値を基準値として用いることとした。したがって、本実施例１によれば、教師データのデータ数を自動的に平準化することが可能である。
【実施例２】
【００６６】
次に、実施例２について説明する。本実施例２では、通信ネットワークを利用するユーザの特性を推定する特性推定システムに本発明を適用した場合について説明する。
【００６７】
最初に、本実施例２で用いる用語について説明しておく。まず、本実施例２にかかる特性推定システムが推定する「特性」とは、例えば、インターネットにおける嗜好特性である。この嗜好特性の分類例としては、イノベータ理論に基づく分類がある。イノベータ理論は、ロジャースが１９６２年に提唱したイノベーション（技術革新）の普及に関する理論であり、イノベータ理論においてロジャースは、商品の新規性や話題性に対するユーザの特性（革新性）に基づいて、ユーザを５つのグループに分類している。
【００６８】
すなわち、イノベータ理論は、ユーザの「革新性」に基づいて、ユーザの嗜好特性を、イノベータ（Innovators：革新者）、アーリーアダプター（Early Adopters：初期採用者）、アーリーマジョリティ（Early Majority：前期追随者）、レイトマジョリティ（Late Majority：後期追随者）、ラガード（Laggards：遅滞者）の５つのグループに分類している。
【００６９】
「イノベータ」は、冒険心にあふれイノベーションを進んで採用するユーザであり、「アーリーアダプター」は、流行に敏感で情報収集を自ら行なってイノベーションを採用するか否かを判断するユーザである。「アーリーマジョリティ」は、比較的慎重派ではあるが、平均より早くイノベーションを取り入れるユーザであり、「レイトマジョリティ」は、比較的懐疑的であり、周囲の大多数が試している場面を見てから同じイノベーション選択をするユーザである。「ラガード」は、最も保守的であり流行や世の中の動きに関心が薄く、イノベーションが伝統になるまで採用しないユーザである。
【００７０】
なお、本実施例２にかかる特性推定システムは、上述した嗜好特性だけでなく、性別、年齢、職業などのデモグラフィックな情報に基づく特性や、高級志向などの革新性以外のサイコグラフィックな情報に基づく特性などを推定することも可能である。
【００７１】
また、「特性グループ」とは、上述した特性によって分類されるユーザのグループである。
【００７２】
また、「推定ユーザ」とは、サーバを介してインターネットなどの通信ネットワークを利用するユーザであり、特性の推定対象となるユーザである。また、「推定ユーザ端末」とは、推定ユーザが所有し、推定ユーザの入力情報に基づいて、インターネットなどネットワークを介したサービスをサーバに要求する端末装置である。
【００７３】
また、「教師ユーザ」とは、推定ユーザの特性を推定する前に、通信ネットワークにおける特性が教師ユーザ端末２００から取得した情報に基づいてあらかじめ特定されるユーザである。また、「教師ユーザ端末」は、教師ユーザが所有する端末装置である。
【００７４】
次に、本実施例２にかかる特性推定システムについて説明する。図１０は、本実施例２にかかる特性推定システムの全体構成を説明するための図である。図１０に示すように、実施例２にかかる特性推定システムは、教師ユーザ端末２００と、サーバ３００と、推定ユーザ端末４００とを有する。
【００７５】
サーバ３００は、通信ネットワークを介して、教師ユーザ端末２００および推定ユーザ端末４００にそれぞれ接続されている。例えば、図１０に示すように、サーバ３００は、教師ユーザ１の教師ユーザ端末２００、教師ユーザ２の教師ユーザ端末２００といったように、複数の教師ユーザ端末２００に接続される。
【００７６】
教師ユーザ端末２００や推定ユーザ端末４００は、例えば、パーソナルコンピュータやＰＤＡ、あるいは携帯電話やＰＨＳなどの通信機能を備えた装置である。これら教師ユーザ端末２００および推定ユーザ端末４００は、Ｗｅｂブラウザなど、ネットワークを利用するための専用のアプリケーションを備える。
【００７７】
このような構成のもと、本実施例２にかかる特性推定システムでは、サーバ３００が、アクセス履歴を構成するアクセス情報と、アクセス情報から抽出されるユーザの行動情報とを対応付けた履歴・行動対応データを保持する。また、サーバ３００は、教師ユーザのアクセス履歴と履歴・行動対応データとに基づいて、教師ユーザの行動データを抽出し、抽出した教師ユーザの行動データと教師ユーザのあらかじめ特定された特性とから、特性を推定するための特性推定モデルを生成する。
【００７８】
一方、推定ユーザ端末４００が、サーバ３００から履歴・行動対応データおよび特性推定モデルを取得し、取得した履歴・行動対応データと推定ユーザのアクセス履歴とに基づいて推定ユーザの行動情報を抽出する。そして、推定ユーザ端末４００は、抽出した推定ユーザの行動情報と特性推定モデルとを用いて推定ユーザの特性を推定する。
【００７９】
ここで、サーバ３００が特定推定モデルを生成する際に用いる教師ユーザの行動データには、特性グループごとのデータ数に偏りがある場合もある。例えば、行動データの全データ数を１００％とした場合に、イノベータのデータ数が６０％であり、アーリーアダプターのデータ数が３０％であり、マジョリティのデータ数が５％であり、ラガードのデータ数が５％であるような場合である。その場合には、正確な特性推定モデルが生成されず、特性の推定精度が低下してしまう。
【００８０】
そこで、サーバ３００は、特性推定モデルを生成する前に、教師ユーザの行動データにおける特性グループごとのデータ数の偏りを調整する。具体的には、サーバ３００は、実施例１で説明したクラス判別装置１００がクラスごとのデータ数を調整するのと同様の方法で、特性グループごとのデータ数を調整する。したがって、本実施例２によれば、教師ユーザにおいて特性グループごとのデータ数に偏りがあった場合でも、推定ユーザの特性を正しく推定することが可能になる。
【００８１】
次に、教師ユーザ端末２００について説明する。図１１は、教師ユーザ端末２００の構成を示す機能ブロック図である。図１１に示すように、教師ユーザ端末２００は、サーバ３００に接続されている。また、教師ユーザ端末２００は、入力部２１０と、出力部２２０と、通信部２３０と、入出力制御Ｉ／Ｆ部２４０と、記憶部２５０と、処理部２６０とを備える。なお、記憶部２５０および処理部２６０は、図１１に示す機能ブロック以外にも、例えば、パーソナルコンピュータとしての機能を実行するための各種機能ブロックを備えている。
【００８２】
入力部２１０は、各種の情報を入力し、キーボードやマウスなどを備えて構成される。例えば、入力部２１０は、サーバ３００から受信したアンケート質問データに対する教師ユーザの回答を、例えば、キーボードから受け付けて入力する。
【００８３】
出力部２２０は、各種の情報を出力し、モニタやスピーカを備えて構成される。例えば、出力部２２０は、サーバ３００から受信したアンケート質問データを、モニタの画面に表示したりする。
【００８４】
通信部２３０は、ネットワークを通じて送受信されるデータの通信を行なう。例えば、通信部２３０は、サーバ３００からアンケート質問データを受信して、受信したアンケート質問データを後述するアンケート記憶部２５１に転送したり、アンケート記憶部２５１に格納された入力済みのアンケート質問データをサーバ３００に送信したりする。
【００８５】
入出力制御Ｉ／Ｆ部２４０は、入力部２１０、出力部２２０および通信部２３０と、記憶部２５０および処理部２６０との間におけるデータ転送を制御する。
【００８６】
記憶部２５０は、処理部２６０による各種処理に用いるデータや、処理部２６０による各種処理結果を記憶する。また、記憶部２５０は、図１１に示すように、特に、アンケート記憶部２５１を備える。
【００８７】
アンケート記憶部２５１は、サーバ３００から通信部２３０が受信し、入出力制御Ｉ／Ｆ部２４０から転送されたアンケート質問データを記憶し、さらに、後述するアンケート入力処理部２６１が受け付けた入力済みのアンケート質問データを記憶する。
【００８８】
処理部２６０は、入出力制御Ｉ／Ｆ部２４０から転送されたデータに基づき各種処理を実行する。また、処理部２６０は、図１１に示すように、特に、アンケート入力処理部２６１を備える。
【００８９】
アンケート入力処理部２６１は、アンケート記憶部２５１が記憶するアンケート質問データを出力部２２０が備えるモニタにて表示するように制御する。さらに、アンケート入力処理部２６１は、入力部２１０を介して、出力部２２０が備えるモニタに表示されたアンケート質問データを参照した教師ユーザの回答を受け付け、回答が入力された入力済みのアンケート質問データをアンケート記憶部２５１に格納する。
【００９０】
また、アンケート入力処理部２６１は、教師ユーザから入力部２１０を介してアンケート質問データの入力完了通知を受け付けた場合に、入出力制御Ｉ／Ｆ部２４０を介して、アンケート記憶部２５１が記憶する入力済みのアンケート質問データを通信部２３０に転送する。なお、通信部２３０は、転送された入力済みのアンケート質問データをサーバ３００に送信する。
【００９１】
次に、サーバ３００について説明する。図１２は、サーバ３００の構成を示す機能ブロック図である。図１２に示すように、サーバ３００は、教師ユーザ端末２００および推定ユーザ端末４００に接続されている。また、サーバ３００は、入力部３１０と、出力部３２０と、通信部３３０と、入出力制御Ｉ／Ｆ部３４０と、記憶部３５０と、処理部３６０とを備える。なお、記憶部３５０および処理部３６０は、図１２に示す機能ブロック以外にも、サーバとしての機能を実行するための各種機能ブロックを備えている。
【００９２】
入力部３１０は、各種の情報を入力し、キーボードやマウスなどを備えて構成される。例えば、入力部３１０は、後述するアンケート管理記憶部３５１に格納され教師ユーザ端末２００に送信されるアンケート質問データや、後述する履歴・行動対応テーブル記憶部３５４に格納される履歴・行動対応テーブルや、特性推定モデルを生成する時機（以下、「特性推定時機」と呼ぶ）などを、サーバ３００の管理者から受け付けて入力する。
【００９３】
出力部３２０は、各種の情報を出力し、モニタやスピーカを備えて構成される。例えば、出力部３２０は、教師ユーザ端末２００から受信した入力済みアンケート質問データや、後述する教師ユーザ特性特定部３６２によって特定された教師ユーザの特性をモニタの画面に表示する。
【００９４】
通信部３３０は、ネットワークを通じて送受信されるデータの通信を行なう。例えば、通信部３３０は、教師ユーザ端末２００に後述するアンケート管理記憶部３５１が記憶するアンケート質問データを送信する。また、通信部３３０は、教師ユーザ端末２００から入力済みのアンケート質問データを受信し、受信した入力済みのアンケート質問データを後述するアンケート管理記憶部３５１に転送する。また、通信部３３０は、後述するアクセス履歴収集部３６３の制御に基づいて教師ユーザ端末２００や推定ユーザ端末４００のアクセス履歴を受信し、受信したアクセス履歴を後述するアクセス履歴管理記憶部３５３に転送する。
【００９５】
入出力制御Ｉ／Ｆ部３４０は、入力部３１０、出力部３２０および通信部３３０と、記憶部３５０および処理部３６０との間におけるデータ転送を制御する。
【００９６】
記憶部３５０は、処理部３６０による各種処理に用いるデータや、処理部３６０による各種処理結果を記憶する。また、記憶部３５０は、図１２に示すように、特に、アンケート管理記憶部３５１と、教師ユーザ特性記憶部３５２と、アクセス履歴管理記憶部３５３と、履歴・行動対応テーブル記憶部３５４と、行動データ記憶部３５５と、調整済み行動データ記憶部３５６と、特性推定モデル記憶部３５７とを備える。
【００９７】
アンケート管理記憶部３５１は、後述するアンケート送受信制御部３６１の制御に基づいて、教師ユーザ端末２００に送信されるアンケート質問データを記憶する。また、アンケート管理記憶部３５１は、後述するアンケート送受信制御部３６１の制御に基づいて、教師ユーザ端末２００から受信した入力済みのアンケート質問データを教師ユーザに割り振られた識別子（ユーザＩＤ）に対応付けて記憶する。
【００９８】
教師ユーザ特性記憶部３５２は、後述する教師ユーザ特性特定部３６２によって特定された教師ユーザの特性を記憶する。アクセス履歴管理記憶部３５３は、後述するアクセス履歴収集部３６３が収集した教師ユーザや推定ユーザのアクセス履歴を記憶する。
【００９９】
また、履歴・行動対応テーブル記憶部３５４は、アクセス履歴を構成するアクセス情報と、アクセス情報から抽出されるユーザの行動情報とを対応付けた履歴・行動対応テーブルを記憶する。行動データ記憶部３５５は、後述する行動データ生成部３６４によって生成された教師ユーザや推定ユーザの行動データを記憶する。
【０１００】
調整済み行動データ記憶部３５６は、後述する行動データ調整部３６５によって特性グループごとのデータ数が調整された調整済み行動データを記憶する。特性推定モデル記憶部３５７は、後述する特性推定モデル生成部３６６によって生成された特性推定モデルを記憶する。
【０１０１】
なお、上述した記憶部３５０の各機能ブロックによって記憶される情報の内容については、後に詳細に説明する。
【０１０２】
処理部３６０は、入出力制御Ｉ／Ｆ部３４０から転送されたデータに基づいて各種処理を実行する。また、処理部３６０は、図１２に示すように、特に、アンケート送受信制御部３６１と、教師ユーザ特性特定部３６２と、アクセス履歴収集部３６３と、行動データ生成部３６４と、行動データ調整部３６５と、特性推定モデル生成部３６６とを備える。
【０１０３】
アンケート送受信制御部３６１は、アンケート管理記憶部３５１が記憶するアンケート質問データを、サーバ３００の管理者の指示に基づいて教師ユーザ端末２００に通信部３３０を介して送信するように制御する。また、アンケート送受信制御部３６１は、教師ユーザ端末２００から送信された入力済みのアンケート質問データを、通信部３３０を介して受信し、受信した入力済みのアンケート質問データを、教師ユーザごとに割り振られたユーザＩＤと対応付けてアンケート管理記憶部３５１に格納するように制御する。
【０１０４】
教師ユーザ特性特定部３６２は、アンケート管理記憶部３５１に格納された入力済みのアンケート質問データに基づいて、教師ユーザごとの特性を特定する。図１３は、教師ユーザ特性特定部３６２を説明するための図である。例えば、教師ユーザ特性特定部３６２は、入力済みのアンケート質問データを解析して、図１３に示すように、教師ユーザごとに、「革新性」などに基づく特性を特定する。
【０１０５】
すなわち、教師ユーザ特性特定部３６２は、入力済みのアンケート質問データを解析して、教師ユーザそれぞれを、図１３に示すように、イノベータ、アーリーアダプター、アーリーマジョリティ、レイトマジョリティ、ラガードのいずれかの「革新性」に基づく特性グループに分類して特定する。また、教師ユーザ特性特定部３６２は、教師ユーザそれぞれを「革新性」以外に基づく特性グループ、例えば、図１３に示すように、性別、年齢、職業などのデモグラフィックな情報に基づく特性グループや、高級志向などの革新性以外のサイコグラフィックな情報に基づく特性グループなどに分類して特定する。
【０１０６】
これにより、図１３に示すように、教師ユーザごと（ユーザＩＤ：ｋｕ０００１、ｋｕ０００２、・・・ごと）に、革新性やデモグラフィック情報や革新性以外のサイコグラフィック情報などに基づく特性が特定される。そして、教師ユーザ特性特定部３６２は、特定した教師ユーザごとの特性を、教師ユーザごとに割り振られたユーザＩＤに対応付けて、教師ユーザ特性記憶部３５２に格納する。
【０１０７】
図１２の説明に戻って、アクセス履歴収集部３６３は、サーバ３００の管理者が設定した特性推定時機に基づいて、教師ユーザ端末２００から教師ユーザのアクセス履歴を収集する。そして、アクセス履歴収集部３６３は、収集したアクセス履歴を、教師ユーザおよび推定ユーザごとに割り振られたユーザＩＤに対応付けて、アクセス履歴管理記憶部３５３に格納する。
【０１０８】
図１４は、アクセス履歴収集部３６３を説明するための図である。例えば、アクセス履歴収集部３６３は、図１４に示すように、教師ユーザ１がアクセスしたＵＲＬ：「http://www.example.com/search?key=xxx」およびアクセスした日時：「2008/3/28 12:30」などのアクセス履歴を、教師ユーザ１に割り振られたユーザＩＤである「ｋｕ０００１」に対応付けて、アクセス履歴管理記憶部３５３に格納する。
【０１０９】
なお、ここでは、教師ユーザのアクセス履歴を収集する対象が教師ユーザ端末２００である場合について説明するが、例えば、教師ユーザにサービスを提供するサーバ３００、あるいは、サーバ３００以外のサーバが、教師ユーザのアクセス履歴の収集対象であってもよい。
【０１１０】
図１２の説明に戻って、行動データ生成部３６４は、アクセス履歴管理記憶部３５３が記憶するアクセス履歴と、履歴・行動対応テーブル記憶部３５４が記憶する履歴・行動対応テーブルとに基づいて、教師ユーザの行動データを生成する。
【０１１１】
ここで、履歴・行動対応テーブル記憶部３５４によって記憶される履歴・行動対応テーブルについて説明する。前述したように、履歴・行動対応テーブルは、アクセス履歴を構成するアクセス情報と、アクセス情報から抽出されるユーザの行動情報とを対応付けた情報である。具体的には、履歴・行動対応テーブルは、アクセス履歴を構成するアクセス情報としてのＵＲＬの種類ごとに、行動ＩＤを対応付け、さらに、各行動ＩＤを種類ごとに大別した行動グループを対応付けた情報である。
【０１１２】
図１５は、履歴・行動対応テーブル記憶部３５４を説明するための図である。例えば、履歴・行動対応テーブル記憶部３５４は、図１５に示すように、ユーザがアクセスしたＵＲＬの種類が、ユーザがポータルサイト「http://www.example.com/」にアクセスする際にキーワードを入力して検索を実行したことを示す「http://www.example.com/search?key=<keyword>」である場合、当該ＵＲＬが行動ＩＤ：「Ａ０１」に対応することを示し、さらに、行動ＩＤ：「Ａ０１」が、行動グループ：「検索」に大別されるＩＤ：「Ａ」に対応することを示す履歴・行動対応テーブルを記憶する。
【０１１３】
また、履歴・行動対応テーブル記憶部３５４は、図１５に示すように、行動グループ：「閲覧」に大別されるＩＤ：「Ｂ」に対応する行動ＩＤ：「Ｂ０１」などを、特定のポータルサイトにおいてページを閲覧したことを示すＵＲＬの種類ごとに対応付けて記憶し、行動グループ：「購買」に大別されるＩＤ：「Ｃ」に対応する行動ＩＤ：「Ｃ０１」などを、特定のポータルサイトを利用して商品を購入したことを示すＵＲＬの種類ごとに対応付けて記憶した履歴・行動対応テーブルを記憶する。
【０１１４】
なお、履歴・行動対応テーブル記憶部３５４は、図１５に示す以外にも、ＩＤ：「Ｄ」として「情報収集に対する積極性」、ＩＤ：「Ｅ」として「他者からのお薦めに対する受容性」、ＩＤ：「Ｆ」として「話題性（人気）に対する敏感度」、ＩＤ：「Ｇ」として「新商品に対する敏感度」、ＩＤ：「Ｈ」として「評価に対する敏感度」、ＩＤ：「Ｉ」として「情報発信に対する積極性」、ＩＤ：「Ｊ」として「価格に対する敏感度」などに大別される「行動グループ」それぞれについて、ＵＲＬの種類ごとに「行動ＩＤ」が対応付けられた履歴・行動対応テーブルを記憶する。
【０１１５】
図１２の説明に戻って、行動データ生成部３６４は、特性推定時機においてアクセス履歴収集部３６３が収集しアクセス履歴管理記憶部３５３に格納した教師ユーザのアクセス履歴と、履歴・行動対応テーブル記憶部３５４が記憶する履歴・行動対応テーブルと、教師ユーザ特性記憶部３５２が記憶する教師ユーザごとの特性グループとに基づいて、教師ユーザの行動データを生成する。なお、行動データ生成部３６４は、管理者によってあらかじめ定められた量や集計期間のアクセス履歴を用いて、行動データを生成する。
【０１１６】
具体的には、行動データ生成部３６４は、履歴・行動対応テーブル記憶部３５４が記憶する履歴・行動対応テーブル（図１５参照）の情報から、教師ユーザ１の教師ユーザ端末２００のアクセス履歴（ユーザＩＤ：「ｋｕ０００１」のアクセス履歴）におけるＵＲＬ：「http://www.example.com/search?key=xxx」（図１４参照）に対応する行動ＩＤが「Ａ０１」であると特定する。その後、行動データ生成部３６４は、教師ユーザのアクセス履歴を構成する「ＵＲＬ」の情報ごとに行動ＩＤを特定して行動ＩＤごとの頻度を算出する。さらに、行動データ生成部３６４は、同じ行動グループを構成する行動ＩＤすべての頻度を合計することで、『ＩＤ：「Ａ」の合計頻度、ＩＤ：「Ｂ」の合計頻度、ＩＤ：「Ｃ」の合計頻度、・・』のように、行動グループごとの頻度を算出する。また、行動データ生成部３６４は、教師ユーザ特性記憶部３５２によって記憶されている教師ユーザごとの特性グループを参照して、教師ユーザ１の特性グループを特定する。そして、行動データ生成部３６４は、ユーザＩＤ、特性グループ、行動グループごとの頻度をそれぞれ対応付けた行動データを生成し、生成した行動データを行動データ記憶部３５５に格納する。行動データ生成部３６４は、同様の手順で教師ユーザごとに行動データを生成し、生成した各行動データを行動データ記憶部３５５に格納する。
【０１１７】
図１６は、行動データ生成部３６４による教師ユーザの行動データ生成を説明するための図である。例えば、図１６に示すように、行動データ生成部３６４は、ユーザＩＤが「ｋｕ０００１」である教師ユーザ１について、特性グループを「イノベータ」とし、教師ユーザのアクセス履歴の「ＵＲＬ」を解析することによって、行動グループ：「検索」に大別されるＩＤ：「Ａ」の合計頻度を「１」とし、行動グループ：「閲覧」に大別されるＩＤ：「Ｂ」の合計頻度を「０」とし、行動グループ：「購買」に大別されるＩＤ：「Ｃ」の合計頻度を「０」とした行動データを生成する。なお、行動データ生成部３６４は、図１６では図示していないが、教師ユーザのアクセス履歴の「ＵＲＬ」を解析することによって、上記したＩＤ：「Ｄ」〜「Ｊ」についてもそれぞれ合計頻度を算出し、ＩＤ：「Ｄ」〜「Ｊ」に関する教師ユーザごとの行動データもそれぞれ生成する。
【０１１８】
図１２の説明に戻って、行動データ調整部３６５は、教師ユーザの行動データにおける特性グループごとのデータ数の偏りを補正する。本実施例２では、教師ユーザの行動データが「教師データ」となる。
【０１１９】
図１７は、行動データ調整部３６５の構成を示す機能ブロック図である。図１７に示すように、行動データ調整部３６５は、教師データ集計部３６５ａと、教師データ偏り判定部３６５ｂと、教師データ調整部３６５ｃとを有する。
【０１２０】
教師データ集計部３６５ａは、教師ユーザの行動データのデータ数を特性グループごとに集計する。具体的には、教師データ集計部３６５ａは、行動データ生成部３６４によって教師ユーザの行動データが行動データ記憶部３５５に格納されたのちに、行動データ記憶部３５５から教師ユーザの行動データを読み出し、特性グループごとにデータ数を集計する。
【０１２１】
教師データ偏り判定部３６５ｂは、教師ユーザの行動データにおける特性グループごとのデータ数に偏りがあるか否かを判定する。具体的には、教師データ偏り判定部３６５ｂは、実施例１で説明した教師データ偏り判定部１４３がクラスごとのデータ数の偏りを判定するのと同様の方法で、特性グループごとにデータ数の偏りを判定する。
【０１２２】
教師データ調整部３６５ｃは、教師ユーザの行動データのデータ数を特性グループごとに調整する。具体的には、教師データ調整部３６５ｃは、行動データ記憶部３５５に格納されている教師ユーザの行動データを特性グループごとに読み出し、読み出した行動データを「調整済み行動データ」として調整済み行動データ記憶部３５６に順次格納する。
【０１２３】
このとき、教師データ調整部３６５ｃは、教師データ偏り判定部３６５ｂによって特性グループごとのデータ数に偏りがあると判定された場合には、教師データ集計部３６５ａによって集計されたデータ数と所定の基準値との差に基づいて、特性グループごとに行動データのデータ数を調整する。
【０１２４】
具体的には、教師データ調整部３６５ｃは、実施例１で説明した教師データ調整部１４４がクラスごとにデータ数を調整するのと同様の方法で、特性グループごとに行動データのデータ数を調整する。
【０１２５】
図１２の説明に戻って、特性推定モデル生成部３６６は、調整済み行動データ記憶部３５６が記憶する教師ユーザごとの行動データと、教師ユーザ特性記憶部３５２が記憶する教師ユーザごとの特性グループとから、特性を推定するための特性推定モデルを生成し、生成した特性推定モデルを特性推定モデル記憶部３５７に格納する。
【０１２６】
具体的には、特性推定モデル生成部３６６は、「革新性」に基づく特性グループを目的変数とし、行動グループのＩＤごとの合計頻度を説明変数として、特性を推定するための特性推定モデルを、線形判別分析などのパターン認識手法を用いて生成する。
【０１２７】
例えば、特性推定モデル生成部３６６は、「革新性」に基づく特性グループを目的変数「Ｙ」とし、ＩＤ：「Ａ」の合計頻度を説明変数「Ｘ１」とし、ＩＤ：「Ｂ」の合計頻度を説明変数「Ｘ２」とし、ＩＤ：「Ｃ」の合計頻度を説明変数「Ｘ３」とする。また、特性推定モデル生成部３６６は、ＩＤ：「Ｄ」の合計頻度を説明変数「Ｘ４」とし、ＩＤ：「Ｅ」の合計頻度を説明変数「Ｘ５」とする。また、特性推定モデル生成部３６６は、ＩＤ：「Ｆ」の合計頻度を説明変数「Ｘ６」とし、ＩＤ：「Ｇ」の合計頻度を説明変数「Ｘ７」とし、ＩＤ：「Ｈ」の合計頻度を説明変数「Ｘ８」とする。また、特性推定モデル生成部３６６は、ＩＤ：「Ｉ」の合計頻度を説明変数「Ｘ９」とし、ＩＤ：「Ｊ」の合計頻度を説明変数「Ｘ１０」とする。
【０１２８】
その後、特性推定モデル生成部３６６は、判別関数「Ｙ＝ａＸ１＋ｂＸ２＋ｃＸ３＋ｄＸ４＋ｅＸ５＋ｆＸ６＋ｇＸ７＋ｈＸ８＋ｉＸ９＋ｊＸ１０」を設定する。そして、特性推定モデル生成部３６６は、教師ユーザごとの『「革新性」に基づく特性および行動グループごとの合計頻度』から、線形判別分析により最適なパラメータ「ａ，ｂ，ｃ，ｄ，ｅ，ｆ，ｇ，ｈ，ｉ，ｊ」を算出することにより、特性推定モデルを生成する。
【０１２９】
また、特性推定モデル生成部３６６は、教師ユーザ特性特定部３６２によって特定された教師ユーザごとのデモグラフィック情報に基づく特性グループや、革新性以外のサイコグラフィック情報に基づく特性グループそれぞれについても、これらを目的変数とした特性推定モデルを同様に生成する。
【０１３０】
次に、推定ユーザ端末４００について説明する。図１８は、推定ユーザ端末４００の構成を示す機能ブロック図である。図１８に示すように、推定ユーザ端末４００は、サーバ３００に接続されている。また、推定ユーザ端末４００は、入力部４１０と、出力部４２０と、通信部４３０と、入出力制御Ｉ／Ｆ部４４０と、記憶部４５０と、処理部４６０とを備える。なお、記憶部４５０および処理部４６０は、図１８に示す機能ブロック以外にも、例えば、パーソナルコンピュータとしての機能を実行するための各種機能ブロックを備えている。
【０１３１】
入力部４１０は、各種の情報を入力し、キーボードやマウスなどを備えて構成される。出力部４２０は、各種の情報を出力し、モニタやスピーカを備えて構成される。
【０１３２】
通信部４３０は、ネットワークを通じて送受信されるデータの通信を行なう。例えば、通信部４３０は、履歴・行動対応テーブル記憶部３５４が記憶する履歴・行動対応テーブルをサーバ３００から受信して、後述する履歴・行動対応テーブル記憶部４５２に転送したり、特性推定モデル生成部３６６によって生成された特性推定モデルをサーバ３００から受信して、後述する特性推定モデル記憶部４５４に転送したりする。
【０１３３】
ここで、通信部４３０は、後述する特性推定処理が実行される前に、あらかじめサーバ３００から履歴・行動対応テーブルを受信しておく。また、通信部４３０は、サーバ３００の特性推定モデル生成部３６６によって特性推定モデルが生成されるごとに、サーバ３００から特性推定モデルを受信する。
【０１３４】
入出力制御Ｉ／Ｆ部４４０は、入力部４１０、出力部４２０および通信部４３０と、記憶部４５０および処理部４６０との間におけるデータ転送を制御する。
【０１３５】
記憶部４５０は、処理部４６０による各種処理に用いるデータや、処理部４６０による各種処理結果を記憶する。また、記憶部４５０は、図１８に示すように、特に、アクセス履歴管理記憶部４５１と、履歴・行動対応テーブル記憶部４５２と、行動データ記憶部４５３と、特性推定モデル記憶部４５４と、推定ユーザ特性記憶部４５５とを備える。
【０１３６】
アクセス履歴管理記憶部４５１は、後述するアクセス履歴収集部４６１が収集したアクセス履歴を記憶する。履歴・行動対応テーブル記憶部４５２は、通信部４３０が受信した履歴・行動対応テーブル、すなわち、サーバ３００の履歴・行動対応テーブル記憶部３５４が記憶する履歴・行動対応テーブルと同一の情報を記憶する。行動データ記憶部４５３は、後述する行動データ生成部４６２によって生成された行動データを記憶する。
【０１３７】
特性推定モデル記憶部４５４は、通信部４３０が受信した特性推定モデル、すなわち、サーバ３００の特性推定モデル生成部３６６が生成して特性推定モデル記憶部３５７に格納した特性推定モデルを記憶する。推定ユーザ特性記憶部４５５は、後述する推定ユーザ特性推定部４６３によって推定された推定ユーザの特性を記憶する。
【０１３８】
処理部４６０は、入出力制御Ｉ／Ｆ部４４０から転送されたデータに基づき各種処理を実行する。また、処理部４６０は、図１４に示すように、特に、アクセス履歴収集部４６１と、行動データ生成部４６２と、推定ユーザ特性推定部４６３とを備える。
【０１３９】
アクセス履歴収集部４６１は、サーバ３００の管理者が設定した特性推定時機に基づいて、自身が備えられる推定ユーザ端末４００を所有する推定ユーザのアクセス履歴を収集し、その結果をアクセス履歴管理記憶部４５１に格納する。
【０１４０】
行動データ生成部４６２は、アクセス履歴管理記憶部４５１が記憶するアクセス履歴と、履歴・行動対応テーブル記憶部４５２が記憶する履歴・行動対応テーブルとに基づいて、自身が備えられる推定ユーザ端末４００を所有する推定ユーザの行動データを生成し、その結果を行動データ記憶部４５３に格納する。
【０１４１】
具体的には、行動データ生成部４６２は、サーバ３００から特性推定モデルを受信した場合に、アクセス履歴管理記憶部４５１が記憶するアクセス履歴と、履歴・行動対応テーブル記憶部４５２が記憶する履歴・行動対応テーブルとに基づいて、自身が備えられる推定ユーザ端末４００を所有する推定ユーザの行動データを生成する。そして、行動データ生成部４６２は、生成した推定ユーザごとの行動データを行動データ記憶部４５３に格納する。なお、行動データ生成部４６２は、管理者によってあらかじめ定められた量や集計期間のアクセス履歴を用いて、行動データを生成する。
【０１４２】
図１９は、行動データ生成部４６２による推定ユーザの行動データ生成を説明するための図である。例えば、図１９に示すように、行動データ生成部４６２は、ユーザＩＤが「ｓｕ０００１」の推定ユーザ１のアクセス履歴の「ＵＲＬ」を、履歴・行動対応テーブル記憶部４５２が記憶する履歴・行動対応テーブル（図１５参照）を用いて解析することで、行動グループ：「検索」に大別されるＩＤ：「Ａ」の合計頻度を「１」とし、行動グループ：「閲覧」に大別されるＩＤ：「Ｂ」の合計頻度を「１」とし、行動グループ：「購買」に大別されるＩＤ：「Ｃ」の合計頻度を「０」と推定ユーザ１の行動データを生成する。なお、行動データ生成部４６２は、図１９では図示していないが、推定ユーザのアクセス履歴の「ＵＲＬ」を解析して、上記したＩＤ：「Ｄ」〜「Ｊ」についてもそれぞれ合計頻度を算出し、ＩＤ：「Ｄ」〜「Ｊ」に関する推定ユーザごとの行動データもそれぞれ生成する。
【０１４３】
また、ここでは、あらかじめ履歴・行動対応テーブルをサーバ３００から受信して履歴・行動対応テーブル記憶部４５２に格納したうえで、行動データを生成する場合について説明したが、例えば、サーバ３００に履歴・行動対応テーブルの情報を問い合わせながら、推定ユーザのアクセス履歴から行動データを生成してもよい。
【０１４４】
図１８の説明にもどって、推定ユーザ特性推定部４６３は、特性推定モデル記憶部４５４が記憶する特性推定モデルと、行動データ記憶部４５３が記憶する行動データとを用いて、自身が備えられる推定ユーザ端末４００を所有する推定ユーザの特性を推定し、その結果を、推定ユーザ特性記憶部４５５に格納する。
【０１４５】
具体的には、推定ユーザ特性推定部４６３は、推定ユーザの行動データにおける行動グループごとの合計頻度を、特性推定モデルとして生成された判別関数に代入して算出された値に基づいて、推定ユーザの特性を推定する。
【０１４６】
図２０は、推定ユーザ特性推定部４６３を説明するための図である。例えば、推定ユーザ特性推定部４６３は、図２０に示すように、ユーザＩＤが「ｓｕ０００１」の推定ユーザ１の「革新性」に基づく嗜好特性を、「革新性」を目的変数とする特性推定モデルにより「イノベータ」として推定する。また、推定ユーザ特性推定部４６３は、デモグラフィック情報に基づく特性グループや、革新性以外のサイコグラフィック情報に基づく特性グループを目的変数とする特性推定モデルによっても、推定ユーザ１の特性を推定する。同様に、推定ユーザ特性推定部４６３は、ユーザＩＤが「ｓｕ０００２」の推定ユーザ２などの特性も推定する。なお、特定される教師ユーザの特性および推定される推定ユーザの特性は、これ以外にも様々な種類の嗜好特性について適用することが可能である。
【０１４７】
なお、特性推定システムでは、推定ユーザ特性推定部４６３によって推定された特性に基づいて、自動的、あるいは手動的に様々な処理が行なわれる。例えば、推定ユーザ端末４００、あるいは推定ユーザ端末４００から推定された特性を取得したサーバ３００によって自動的に、あるいは、推定ユーザ端末４００から推定された特性を取得したサーバ３００の管理者によって手動的に、インターネットなどの通信ネットワーク上で提供されるサービスから、推定ユーザにとって嗜好が合致するサービスが抽出され、抽出したサービスが推定ユーザに推薦される。または、商品開発の担当者によって、推定された特性に基づいたマーケティング調査が行なわれる。
【０１４８】
次に、教師ユーザ端末２００による処理の手順について説明する。図２１は、教師ユーザ端末２００による処理の手順を説明するためのフローチャートである。
【０１４９】
図２１に示すように、教師ユーザ端末２００では、通信部２３０が、サーバ３００からアンケート質問データを受信した場合に（ステップＳ２０１，Ｙｅｓ）、受信したアンケート質問データをアンケート記憶部２５１に格納する。その後、アンケート入力処理部２６１が、アンケート記憶部２５１が記憶するアンケート質問データを出力部２２０が備えるモニタにて表示するように制御する（ステップＳ２０２）。
【０１５０】
そして、アンケート入力処理部２６１は、教師ユーザから入力部２１０を介してアンケート質問データの入力完了通知を受け付けることにより、アンケート質問データの入力が完了したと判断すると（ステップＳ２０３，Ｙｅｓ）、入力済みのアンケート質問データを、サーバ３００に送信し（ステップＳ２０４）、処理を終了する。
【０１５１】
次に、サーバ３００による教師ユーザの特性特定処理の手順について説明する。図２２は、サーバ３００による教師ユーザの特性特定処理の手順を説明するためのフローチャートである。
【０１５２】
図２２に示すように、サーバ３００では、アンケート送受信制御部３６１が、管理者からアンケート質問データの送信指示を受け付けた場合に（ステップＳ３０１，Ｙｅｓ）、アンケート管理記憶部３５１が記憶するアンケート質問データを、教師ユーザ端末２００に通信部３３０を介して送信するように制御する（ステップＳ３０２）。
【０１５３】
そして、アンケート送受信制御部３６１は、教師ユーザ端末２００から入力済みアンケート質問データを受信すると（ステップＳ３０３，Ｙｅｓ）、受信した入力済みアンケート質問データをアンケート管理記憶部３５１に格納する。その後、教師ユーザ特性特定部３６２が、アンケート管理記憶部３５１に格納された入力済みのアンケート質問データに基づいて、教師ユーザごとの特性を特定し（ステップＳ３０４）、処理を終了する。
【０１５４】
次に、サーバ３００による特性推定モデル生成処理の手順について説明する。図２３は、サーバ３００による特性推定モデル生成処理の手順を説明するためのフローチャートである。
【０１５５】
図２３に示すように、サーバ３００では、管理者によって設定された特性推定時機となると（ステップＳ４０１，Ｙｅｓ）、アクセス履歴収集部３６３が、教師ユーザのアクセス履歴を収集する。そして、行動データ生成部３６４が、アクセス履歴から、履歴・行動対応テーブル記憶部３５４が記憶する履歴・行動対応テーブルを用いて、教師ユーザの行動データを生成する（ステップＳ４０２）。
【０１５６】
その後、教師データ集計部３６５ａが、教師ユーザの行動データのデータ数を特性グループごとに集計する（ステップＳ４０３）。
【０１５７】
続いて、教師データ偏り判定部３６５ｂが、教師データ集計部３６５ａによって集計された特性グループごとのデータ数に偏りがあるか否かを判定する。そして、特性グループごとのデータ数に偏りがなかった場合には（ステップＳ４０４，Ｎｏ）、特性推定モデル生成部３６６が、教師ユーザ特性特定部３６２によって特定された教師ユーザの特性と、行動データ記憶部３５５に記憶されていた行動データと同じ内容の調整済み行動データに基づいて特性推定モデルを生成する（ステップＳ４０９）。
【０１５８】
一方、特性グループごとのデータ数に偏りがあると判定された場合には（ステップＳ４０４，Ｙｅｓ）、教師データ調整部３６５ｃが、教師ユーザの行動データのデータ数を特性グループごとに調整する。具体的には、教師データ調整部３６５ｃは、データ数が所定の基準値に満たない特性グループがある場合には（ステップＳ４０５，Ｙｅｓ）、データ数が基準値と一致するまで、その特性グループに属する任意の行動データを複製する（ステップＳ４０６）。なお、データ数が所定の基準値に満たない特性グループがない場合には（ステップＳ４０５，Ｎｏ）、教師データ調整部３６５ｃは、行動データの複製を行わない。
【０１５９】
また、データ数が所定の基準値を超える特性グループがある場合には（ステップＳ４０７，Ｙｅｓ）、教師データ調整部３６５ｃは、データ数が基準値と一致するまで、その特性グループに属する任意の行動データを削除する（ステップＳ４０８）。なお、データ数が所定の基準値を超える特性グループがない場合には（ステップＳ４０７，Ｎｏ）、教師データ調整部３６５ｃは、行動データの削除を行わない。
【０１６０】
こうして行動データのデータ数が調整されたのちに、特性推定モデル生成部３６６が、教師ユーザ特性特定部３６２によって特定された教師ユーザの特性と、教師データ調整部３６５ｃによってデータ数が調整された調整済み行動データとから特性推定モデルを生成する（ステップＳ４０９）。ここで、特性推定モデル生成部３６６は、生成した特性推定モデルを特性推定モデル記憶部３５７に格納する。
【０１６１】
その後、通信部３３０は、特性推定モデル記憶部３５７に格納された特性推定モデルを推定ユーザ端末４００に送信し（ステップＳ４１０）、処理を終了する。
【０１６２】
なお、特性推定モデルを生成する時機である特定推定時機には、サーバ３００の管理者によって所定の条件に基づく時機が設定される。そして、特性推定時機になると、サーバ３００では、「アクセス履歴収集部３６３による教師ユーザのアクセス履歴の収集」と、「行動データ生成部３６４による教師ユーザの行動データの生成および特性推定モデル生成部３６６による特性推定モデルの生成」とからなる一連の特性推定モデル生成処理が実行される。
【０１６３】
ここで、特性推定モデル生成処理は、サーバ３００の管理者によって設定された１つの特性推定時機において実行される場合であってもよいが、複数の特性推定時機において実行されてもよい。すなわち、動的なユーザの特性変化に対応するため、複数の特性推定時機が設定され、複数の特性推定時機ごとに特性推定モデル生成処理が繰り返して行われることによって、特性推定モデルが随時更新されるようにしてもよい。
【０１６４】
この場合、例えば、サーバ３００の管理者によって指定された複数の時刻が「複数の特性推定時機」として設定されてもよいし、サーバ３００の管理者によって指定された所定の時間間隔ごと（例えば、１ヶ月ごと）の時刻が「複数の特性推定時機」として設定されてもよい。あるいは、アクセス履歴収集部３６３が、推定ユーザ端末４００のアクセス履歴を監視しておき、アクセス履歴における蓄積量の増加量が、所定の値となった時機ごとを、「複数の特性推定時機」として設定してもよい。
【０１６５】
次に、推定ユーザ端末４００による処理の手順について説明する。図２４は、推定ユーザ端末４００による処理を説明するためのフローチャートである。
【０１６６】
図２４に示すように、推定ユーザ端末４００は、サーバ３００から特性推定モデルを受信すると（ステップＳ５０１，Ｙｅｓ）、アクセス履歴収集部４６１は、自身が備えられる推定ユーザ端末４００を所有する推定ユーザのアクセス履歴を収集して、行動データ生成部４６２は、推定ユーザのアクセス履歴から、履歴・行動対応テーブル記憶部４５２が記憶する履歴・行動対応テーブルを用いて、行動データを生成する(ステップＳ５０２)。
【０１６７】
そして、推定ユーザ特性推定部４６３は、行動データ生成部４６２によって生成された行動データと、特性推定モデル記憶部４５４が記憶する特性推定モデルとから、推定ユーザの特性を推定し（ステップＳ５０３）、処理を終了する。
【０１６８】
なお、ここでは、特性推定モデルを受信した時点でアクセス履歴を収集して、推定ユーザの特性を推定する場合について説明したが、例えば、アクセス履歴をあらかじめ収集しておき、特性推定時機において推定ユーザの特性を推定する場合であってもよい。また、自身を所有するユーザが新規の推定ユーザとして設定された時点で、推定ユーザ端末４００が、既に生成された特性推定モデルを取得して、自身を所有するユーザの特性を推定してもよい。
【０１６９】
上述してきたように、本実施例２では、教師データ集計部３６５ａが、教師ユーザの行動データのデータ数を特性グループごとに集計する。また、教師データ調整部３６５ｃが、教師データ集計部３６５ａによって集計されたデータ数と所定の基準値との差に基づいて、教師ユーザの行動データのデータ数を特性グループごとに調整する。そして、特性推定モデル生成部３６６が、教師データ調整部３６５ｃによってデータ数が調整された行動データに基づいて特性推定モデルを生成する。
【０１７０】
すなわち、本実施例２では、推定ユーザの特性を推定するために用いられる特性推定モデルが生成される前に、教師ユーザの行動データにおけるクラスごとのデータ数の偏りが平準化される。したがって、本実施例２によれば、教師ユーザにおいて特性グループごとのデータ数に偏りがあった場合でも、推定ユーザの特性を正しく推定することが可能である。
【０１７１】
なお、上記実施例で説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともでき、あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【０１７２】
また、上記実施例で図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、ＣＰＵ（Central Processing Unit）および当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【０１７３】
なお、上記実施例で説明した各種処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。このプログラムは、インターネットなどのネットワークを介して配布することができる。また、このプログラムは、ハードディスク、フレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行することもできる。
【産業上の利用可能性】
【０１７４】
以上のように、本発明にかかるサンプリング装置、サンプリング方法、サンプリングプログラム、クラス判別装置およびクラス判別システムは、機械学習の一手法である教師つき学習を実施する場合に有用であり、特に、教師つき学習において用いられる教師データに含まれるクラスごとのデータ数の偏りがある場合に適している。
【符号の説明】
【０１７５】
１００  クラス判別装置
１１０，２１０，３１０，４１０  入力部
１２０，２２０，３２０，４２０  出力部
１３０，２５０，３５０，４５０  記憶部
１３１  教師データ記憶部
１３２  調整済み教師データ記憶部
１３３  判別モデル記憶部
１３４  判別データ記憶部
１４０  制御部
１４１  教師データ入力受付部
１４２，３６５ａ  教師データ集計部
１４３，３６５ｂ  教師データ偏り判定部
１４４，３６５ｃ  教師データ調整部
１４５  判別モデル生成部
１４６  判別データ入力受付部
１４７  クラス判別部
２００  教師ユーザ端末
２３０，３３０，４３０  通信部
２４０，３４０，４４０  入出力制御Ｉ／Ｆ部
２５１  アンケート記憶部
２６０，３６０，４６０  処理部
２６１  アンケート入力処理部
３００  サーバ
３５１  アンケート管理記憶部
３５２  教師ユーザ特性記憶部
３５３  アクセス履歴管理記憶部
３５４  履歴・行動対応テーブル記憶部
３５５  行動データ記憶部
３５６  調整済み行動データ記憶部
３５７  特性推定モデル記憶部
３６１  アンケート送受信制御部
３６２  教師ユーザ特性特定部
３６３  アクセス履歴収集部
３６４  行動データ生成部
３６５  行動データ調整部
３６６  特性推定モデル生成部
４００  推定ユーザ端末
４５１  アクセス履歴管理記憶部
４５２  履歴・行動対応テーブル記憶部
４５３  行動データ記憶部
４５４  特性推定モデル記憶部
４５５  推定ユーザ特性記憶部
４６１  アクセス履歴収集部
４６２  行動データ生成部
４６３  推定ユーザ特性推定部
【図１】
2010204966.tif 000003
【図２】
2010204966.tif 000004
【図３】
2010204966.tif 000005
【図４】
2010204966.tif 000006
【図５】
2010204966.tif 000007
【図６】
2010204966.tif 000008
【図７】
2010204966.tif 000009
【図８】
2010204966.tif 000010
【図９】
2010204966.tif 000011
【図１０】
2010204966.tif 000012
【図１１】
2010204966.tif 000013
【図１２】
2010204966.tif 000014
【図１３】
2010204966.tif 000015
【図１４】
2010204966.tif 000016
【図１５】
2010204966.tif 000017
【図１６】
2010204966.tif 000018
【図１７】
2010204966.tif 000019
【図１８】
2010204966.tif 000020
【図１９】
2010204966.tif 000021
【図２０】
2010204966.tif 000022
【図２１】
2010204966.tif 000023
【図２２】
2010204966.tif 000024
【図２３】
2010204966.tif 000025
【図２４】
2010204966.tif 000026