(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0010】
以下に、本願に係る判定装置、判定方法および判定プログラムを実施するための形態(以下、「実施形態」と記載する。)について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る判定装置、判定方法および判定プログラムが限定されるものではない。また、以下の各実施形態において同一の部位には同一の符号を付し、重複する説明は省略される。
【0011】
[実施形態]
〔1−1.判定装置の一例〕
まず、
図1を用いて、判定装置が実行する判定処理の一例について説明する。
図1は、実施形態に係る判定装置が実行する判定処理の一例を示す図である。
図1では、判定装置10は、インターネット等の所定のネットワークNを介して、所定のコンテンツを配信するコンテンツサーバ50や、管理者端末200と通信可能である。なお、判定装置10は、ネットワークNを介して、利用者U01が使用する端末装置101、利用者U02が使用する端末装置102と通信可能であってもよい。
【0012】
端末装置101、102は、スマートフォンやタブレット等のスマートデバイスであり、3G(3rd Generation)やLTE(Long Term Evolution)等の無線通信網を介して、コンテンツサーバ50といった任意のサーバ装置と通信を行うことができる携帯端末装置である。なお、端末装置101、102は、スマートデバイスのみならず、デスクトップPCやノートPC等の情報処理装置であってもよい。なお、以下の説明では、各利用者U01、U02が使用する端末装置101、102を端末装置100と総称する場合がある。また、以下の説明では、利用者U01、利用者U02以外にも、任意の数の利用者が使用する任意の数の端末装置100がコンテンツサーバ50等と通信可能であるものとする。
【0013】
コンテンツサーバ50は、端末装置100に対してウェブページ、ウィジェット、静止画像、動画像、ゲーム等といった各種のウェブコンテンツ(以下、「コンテンツ」と記載する。)を配信するサーバ装置である。例えば、コンテンツサーバ50は、所定のドメインに含まれる所定のコンテンツを端末装置100に送信する。
【0014】
管理者端末200は、判定装置10の管理を行う管理者が使用する端末装置であり、例えば、PCやサーバ装置等により実現される。なお、管理者端末200は、判定装置10の管理者のみならず、判定装置10による判定処理の結果を所望する利用者が使用する端末装置であれば、任意の利用者が使用する端末装置であってよい。
【0015】
判定装置10は、同一の事象に含まれる標本の有意差を判定する判定装置であり、例えば、サーバ装置やクラウドシステム等により実現される。より具体的な例を説明すると、判定装置10は、コンテンツサーバ50が配信した所定のコンテンツにおける利用者の行動を示す情報から複数の情報をランダムに選択することで複数の標本を抽出し、抽出した標本同士に統計学的に有意な差が存在するか否かを判定する。より具体的には、判定装置10は、所定のコンテンツにおける利用者の行動を示す標本について、t検定やZ検定等といった任意の検定手法により標本の有意差を判定する判定装置である。以下の説明では、Z検定を用いた検定を行う例について説明するが、判定装置10は、以下に説明する判定方法を、任意の検定手法に適用してよい。
【0016】
〔1−2.コントロールバリエーションについて〕
ここで、一般的な検定手法においては、有意差の判定対象となる標本ごとに平均値を算出し、算出した平均値を用いて有意差が存在するか否かを判定する。例えば、Z検定といわれる手法においては、情報の母集団から1つ以上の情報をランダムに抽出した標本Y
(t)および標本Y
(c)を生成し、以下の式(1)の値が所定の閾値よりも多い場合には、標本Y
(t)および標本Y
(c)に有意差があると判定する。なお、式(1)においてオーバーラインを付したY
(t)は、標本Y
(t)として抽出された値の平均値を示し、オーバーラインを付したY
(c)は、標本Y
(c)として抽出された値の平均値を示す。なお、以下の説明では、オーバーラインを付した記号は、その記号が示す値の平均値を示すものとする。
【0018】
ここで、標本Yにn個の値Xiが含まれる場合、標本Yの平均値は、以下の式(2)で示すことができる。
【0020】
ここで、式(2)を用いた場合、標本の選択や事象の内容、すなわち、所定のコンテンツにおける利用者の行動の情報によっては、平均値の分散が必ずしも小さいとは言えない場合がある。しかしながら、標本の平均値の分散が増大した場合には、有意差の検出精度が悪化する場合がある。
【0021】
そこで、コントロールバリエーション(Control Variates)と呼ばれる式を用いて所定の推定量(以下、「推定指標値」と記載する。)を算出し、式(1)に示した平均値に代えて、各標本の推定指標値を用いて、有意差を評価するCUPEDと呼ばれる手法が知られている。例えば、CUPEDにおいては、以下の式(3)で示される推定指標値を標本ごとに算出する。ここで、式(3)では、推定指標値をY
cvで示した。また、式(3)に示すXは、標本Yとは独立して選択される値であり、θは、Xの値に応じて最適値が定まる係数である。また、式(3)に示すEXは、Xの値の期待値を示す。
【0023】
ここで、サンプルサイズを無限大に近づけた場合、式(3)は、式(2)と同じ式になる。このため、判定装置10は、式(3)に示される推定指標値を用いて、式(1)から有意差を判定しても、適切に有意差を判定できると考えられる。さらに、式(3)で示される推定指標値の分散を算出すると、以下の式(4)を得ることができる。
【0025】
ここで、式(4)の右辺は、標本Yの平均値の分散と(1−ρ
2)との積で示すことができるが、(1−ρ
2)は1よりも小さい値を取る。つまり、ある標本Yについての推定指標値の値は、平均値の値よりも分散が小さくなる。このため、判定装置10は、式(3)に示される推定指標値を用いて、式(1)から有意差を判定した場合は、有意差を精度良く算出することができる。
【0026】
〔1−3.判定処理について〕
ここで、推定指標値を算出する際のXの値は、任意の値を採用することができる。一方で、有意差の検出力は、採用される情報のカバレッジを増加させた場合や、採用される情報間の相関性を強化した場合に増大する。
【0027】
そこで、判定装置10は、以下の判定処理を実行する。まず、判定装置10は、所定のコンテンツに関する利用者の行動を示す第1の指標値と、利用者の属性に基づく第2の指標値とに基づいて、所定のコンテンツに関して推定される利用者の行動を示す推定指標値を、所定のコンテンツに関する標本ごとに算出する。また、判定装置10は、標本ごとに算出された推定指標値に基づいて、各標本間の有意差を判定する。そして、判定装置10は、標本ごとに算出された推定指標値に基づいて、各標本間の有意差を判定し、判定結果を出力する。
【0028】
例えば、判定装置10は、所定のコンテンツの閲覧中に利用者がクリックしたリンクや、利用者が入力したクエリの値、クリックやクエリの入力を行ったか否か等、所定のコンテンツの閲覧時において利用者が実行可能な行動を示す値を第1の指標値として選択する。例えば、判定装置10は、クエリの入力を行った利用者に対して、第1の指標値「1」を割り当て、入力しなかった利用者に対して第1の指標値「0」を割り当てる。
【0029】
続いて、判定装置10は、所定のコンテンツの閲覧中に利用者が行った行動を示す値の中から、所定の数の値をランダムに抽出した第1の標本と第2の標本とを抽出する。そして、判定装置10は、各標本ごとに以下の処理を実行することで、推定指標値を算出する。まず、判定装置10は、第1の指標値として、所定のコンテンツの閲覧中に利用者が行った行動を示す値を、式(2)や式(3)に示すYの値とする。より具体的には、判定装置10は、第1の標本として抽出した値をY
(t)とし、第2の標本として抽出した値をY
(c)とする。そして、判定装置10は、Y
(t)、Y
(c)の平均値をそれぞれ算出する。
【0030】
続いて、判定装置10は、所定のコンテンツを閲覧した各利用者を、属性情報に基づいて複数のグループに組み分けし、組み分けの結果に基づいた値を第2の指標値として算出する。例えば、判定装置10は、利用者の性別が男性であるか女性であるかを判定し、利用者の性別が男性である場合には値「0」を第2の指標値とし、利用者の性別が女性である場合には値「1」を第2の指標値とする。そして、端末装置10は、第2の指標値を式(3)におけるXの値とする。
【0031】
例えば、判定装置10は、第1の標本に含まれる値が示す行動を行った利用者を特定し、特定した利用者の属性に基づく第2の指標値を収集する。そして、判定装置10は、収集した値をX
(t)とする。同様に、判定装置10は、第2の標本に含まれる値が示す行動を行った利用者を特定し、特定した利用者の属性に基づく第2の指標値を収集する。そして、判定装置10は、収集した値をX
(c)とする。
【0032】
そして、判定装置10は、Y
(t)の値の平均値から、所定の係数θとX
(t)の値の平均値との積を減算し、さらに、所定の係数θとX
(t)の値の期待値との積を加算した値を、第1の標本の推定指標値Y
(t)cvとする。また、判定装置10は、Y
(c)の値の平均値から、所定の係数θとX
(c)の値の平均値との積を減算し、さらに、所定の係数θとX
(c)の値の期待値との積を加算した値を、第2の標本の推定指標値Y
(c)cvの値とする。すなわち、判定装置10は、所定のコンテンツに関して推定される利用者の行動を示す推定指標値を標本ごとに算出する。
【0033】
そして、判定装置10は、Y
(t)cvをY
(t)の平均値とし、Y
(c)cvをY
(c)の平均値として、上述した式(1)の値を算出し、算出した値が所定の閾値を超えるか否かに基づいて、第1の標本および第2の標本の有意差を判定する。
【0034】
このように、判定装置10は、所定のコンテンツに関する利用者の行動の標本間の有意差を判定する際に、所定のコンテンツに関する利用者の行動を示す指標値のみならず、その利用者の属性情報に応じた第2の指標値を用いて、標本ごとに推定指標値を算出し、算出した推定指標値に基づき、標本間の有意差を判定する。すなわち、判定装置10は、第1の指標値に関する利用者のクラスタリングに関する情報を、第2の指標値とする。この結果、判定装置10は、標本のカバレッジを向上させることができるので、有意差の判定精度を向上させることができる。また、判定装置10は、第1の標本および第2の標本に第1の指標値が含まれる利用者を特定し、特定した利用者の属性に基づく第2の指標値を用いるので、XとYとの相関性を向上させる結果、有意差の判定精度を向上させることができる。
【0035】
ここで、カバレッジを向上させるため、第2の指標値として、所定のコンテンツに関する利用者の行動であって、第1の指標値の元となる行動よりも過去に取得された行動に基づく指標値を用いる手法が考えられる。しかしながら、このような手法では、所定のコンテンツが新規なコンテンツである場合や、所定のコンテンツの配信先に新規な利用者が存在する場合には、過去に出力された情報が存在しないため、推定指標値の分散が上昇する恐れがある。
【0036】
しかしながら、判定装置10は、第2の指標値として、過去に取得された行動に基づく指標値ではなく、利用者の属性に基づく指標値を用いて、推定指標値の値を算出する。このため、判定装置10は、所定のコンテンツを初めて所定の利用者に配信した場合であっても、その利用者の属性情報に基づく値を第2の指標値とすることで、推定指標値の分散を減少させることができる。この結果、判定装置10は、有意差の判定精度を向上させることができる。
【0037】
〔1−4.属性情報について〕
ここで、判定装置10は、利用者の属性に基づく値であれば、任意の属性に基づく値を第2の指標値としてもよく、利用者の属性から任意のルールに基づいて生成された値を第2の指標値としてよい。
【0038】
例えば、判定装置10は、利用者の属性として、性別、年齢、年代、住所、趣味等といった情報を利用してもよい。また、判定装置10は、利用者の属性として、利用者が使用している端末装置100の種別や利用者がコンテンツを閲覧した際の位置を示す情報を用いてもよい。また、判定装置10は、利用者の属性として、利用者が電子商店街で過去に購入した商品や役務の履歴、オークションサイト等における出品履歴や落札履歴、利用者が閲覧したウェブページの履歴等、各種の履歴を利用者の属性としてもよい。
【0039】
そして、判定装置10は、利用者の属性に応じて、利用者を複数のグループに分類し、分類結果に応じた値を第2の指標値とする。例えば、判定装置10は、予め所定の番号が付された複数のグループを設定し、利用者をいずれかのグループに分類する。そして、判定装置10は、利用者が分類されたグループに設定されていた番号を第2の指標値としてもよい。
【0040】
また、例えば、判定装置10は、利用者の属性ごとに、その属性に応じた値を決定し、決定した値に基づいて第2の指標値を算出してもよい。すなわち、判定装置10は、利用者の属性を示す値であれば、任意の値を第2の指標値として算出してよい。
【0041】
〔1−5.グループ分けについて〕
ここで、判定装置10は、利用者の属性に応じて利用者の分類を行うモデルを用いて、利用者の分類を行い、分類結果に応じた値を第2の指標値として採用してもよい。例えば、判定装置10は、SVM(Support Vector Machine)やニューラルネットワーク、ディープラーニング等といった任意の学習手法により、利用者の属性を学習したモデルを用いて、利用者の分類を行ってよい。
【0042】
また、判定装置10は、利用者の分類結果に応じた第2の指標値を用いた際に、有意差の判定精度が向上するように学習を行ったモデルを用いてもよい。すなわち、判定装置10は、有意差の判定精度が向上するように、利用者を分類するよう学習を行ったモデルを用いてもよい。例えば、判定装置10は、予め有意差が算出された第1の標本および第2の標本を正解データとして取得する。また、判定装置10は、正解データから利用者の分類を行い、分類結果に基づいた第2の指標値を算出する。そして、判定装置10は、算出した第2の指標値を用いた際に算出される有意差が、予め算出された有意差と近づくように、モデルの修正を行ってもよい。
【0043】
なお、上述したモデルは、判定装置10が学習を行ってもよく、判定装置10とは異なる学習装置により予め学習が行われたものであってもよい。
【0044】
〔1−6.コンテンツについて〕
ここで、判定装置10は、所定のコンテンツとして任意のコンテンツを採用してよい。例えば、判定装置10は、所定のコンテンツがウェブ検索を受付けるポータルサイト、オークション、経路検索、電子商店街、ゲーム、宿泊予約、ファイナンス、天気予報、レストランの情報サイト、不動産サイト、自動車関連のサイト、各種の掲示板やブログ、レシピ等の提供を行うウェブサイト等を所定のコンテンツとして良い。また、判定装置10は、ウェブサイトのみならず、所定のコンテンツと関連するアプリケーションやウィジェットを所定のコンテンツとし、かかるコンテンツにおける利用者の行動を示す値を第1の指標値としてもよい。
【0045】
〔1−7.利用者の共通性について〕
また、判定装置10は、第1の指標値が示す行動を行った利用者の属性に基づく値のみならず、他の利用者の属性に基づく値を第2の指標値に加えてもよい。すなわち、判定装置10は、第1の指標値に関する利用者と、第2の指標値に関する利用者とを完全に同一とする必要はなく、第1の指標値が示す行動を行った利用者と、第2の指標値が属性を示す利用者との一部が共通するように、第2の指標値を取得してもよい。すなわち、判定装置10は、所定のコンテンツについて複数の利用者が行った行動を示す第1の指標値と、かかる複数の利用者のうち、所定の数の利用者を含む複数の利用者の属性に基づく第2の指標値とを用いて、推定指標値を算出すればよい。
【0046】
〔1−8.指標値が示す行動について〕
ここで、判定装置10は、例えば、所定のコンテンツに関する利用者の行動を示す指標値として、所定のコンテンツを閲覧中に利用者が行ったクリックの有無やクリックしたリンク又はコンテンツ等を示す値を指標値とする。しかしながら、実施形態は、これに限定するものではない。例えば、判定装置10は、クリック以外にも、例えば、ウェブ検索を行う際に入力したクエリの内容やクエリを入力した回数を指標値としてもよい。すなわち、判定装置10は、任意の行動を示す値を指標値としてよい。
【0047】
例えば、判定装置10は、所定のコンテンツに対して行った利用者の評価や、利用者が入力した所定のコンテンツに対する興味の度合いを示す値を第1の指標値としてもよい。すなわち、判定装置10は、第1の指標値と第2の指標値とがある程度共通する利用者に関連するKPI(Key Performance Indicator)であるならば、任意の指標値を第1の指標値として採用してよい。
【0048】
〔1−9.判定処理の一例について〕
次に、
図1を用いて、判定装置10が実行する処理の一例について説明する。なお、以下の説明では、所定のコンテンツに関する利用者の行動を示す情報を第1の指標値とし、その利用者の属性を示す情報を第2の指標値として用いる処理の一例について説明する。また、
図1に示す例では、利用者U01の属性情報が「属性#1」であり、利用者U02の属性情報が「属性#2」である例について説明する。
【0049】
まず、コンテンツサーバ50は、端末装置100からの要求に従って、所定のコンテンツを端末装置100に配信する(ステップS1)。そして、コンテンツサーバ50は、所定のコンテンツの閲覧中に利用者U01、U02が行ったクリックの内容を示すクリック履歴とともに、その利用者U01、U02の属性を示す属性情報「属性#1」、「属性#2」を収集する(ステップS2)。なお、コンテンツサーバ50は、例えば、利用者U01、U02の属性情報を管理する管理サーバ(図示は省略)等の外部サーバから、利用者U01、U02の属性情報を収集してもよい。
【0050】
続いて、判定装置10は、所定のコンテンツに関するクリック履歴と属性情報とをコンテンツサーバ50から収集する(ステップS3)。そして、判定装置10は、各クリック履歴が示すクリックの内容を行動内容とし、行動内容と、クリックを行った利用者の利用者IDとを対応付けて行動履歴データベース31に登録する。
【0051】
また、判定装置10は、収集した属性情報に基づいて、利用者U01、U02をグルーピングする(ステップS4)。より具体的には、判定装置10は、属性情報を入力すると、属性の種別ごとに、属性の内容を示す値を出力するモデルを用いて、利用者の属性情報を示す値を算出する。
【0052】
例えば、
図1に示すモデルは、性別が「男性」である場合には性別に対応する値「1」を出力し、性別が「女性」である場合には性別に対応する値「0」を出力するものとする。また、例えば、
図1に示すモデルは、年代が「20代」である場合には、年代に対応する値「2」を出力し、年代が「30代」である場合には、年代に対応する値「3」を出力するものとする。また、例えば、
図1に示すモデルは、住所が「神奈川在住」である場合には、住所に対応する値「4」を出力し、住所が「東京在住」である場合には、住所に対応する値「5」を出力するものとする。
【0053】
例えば、
図1に示す例では、利用者U01の属性情報「属性#1」の内容が、性別「男性」、年代「30代」、住所「東京在住」であるものとする。このような属性を入力した場合、
図1に示すモデルは、利用者U01の属性情報を示す値「1」、「3」、「5」を出力する。そして、判定装置10は、モデルが出力した値を並べた3桁の値「135」を、利用者U01の分類先となるグループを示す値、すなわち、第2の指標値とする。その後、判定装置10は、利用者IDと利用者の属性情報と第2の指標値とを対応付けてユーザデータベース32に登録する。
【0054】
なお、例えば、利用者U02の属性情報「属性#2」の内容が、性別「女性」、年代「20代」、住所「神奈川在住」である場合、
図1に示すモデルは、利用者U02の属性情報を示す値として「0」、「2」、「4」を出力する。このため、判定装置10は、モデルが出力する値を並べた3桁の値「024」を、利用者U02の分類先となるグループを示す値、すなわち、第2の指標値とする。
【0055】
また、判定装置10は、所定のコンテンツに関する標本の有意差を判定する場合、所定のコンテンツのクリック履歴から第1の指標値を標本ごとに算出する(ステップS5)。例えば、判定装置10は、所定のコンテンツのクリック履歴から、所定の数のクリック履歴を第1の標本としてランダムに選択し、第1の標本として選択したクリック履歴の内容を示す値の集合を第1の指標値Y
(t)とする。同様に、判定装置10は、所定のコンテンツのクリック履歴から、所定の数のクリック履歴を第2の標本としてランダムに選択し、第2の標本として選択したクリック履歴の内容を示す値の集合を第1の指標値Y
(c)とする。
【0056】
また、判定装置10は、利用者のグルーピング結果に応じた第2の指標値を標本ごとに算出する(ステップS6)。例えば、判定装置10は、第1の標本として選択されたクリック履歴が示すクリックを行った利用者を特定し、特定した利用者が分類されたグループを示す値をユーザデータベース32から抽出する。そして、判定装置10は、抽出した値の集合を第2の指標値X
(t)とする。同様に、判定装置10は、第2の標本として選択されたクリック履歴が示すクリックを行った利用者を特定し、特定した利用者が分類されたグループを示す値をユーザデータベース32から抽出し、抽出した値の集合を第2の指標値X
(c)とする。
【0057】
そして、判定装置10は、所定のコンテンツについて推定される平均的な利用者の行動を示す値、すなわち、推定指標値を標本ごとに算出する(ステップS7)。例えば、判定装置10は、第1の指標値Y
(t)と第2の指標値X
(t)とを用いて、Y
(t)cvの値を式(3)から算出し、第1の指標値Y
(c)と第2の指標値X
(c)とを用いて、Y
(c)cvの値を式(3)から算出する。そして、判定装置10は、算出した推定指標値を用いて、標本間の有意差を判定する(ステップS8)。例えば、判定装置10は、Y
(t)cvの値をY
(t)の平均値とし、Y
(c)cvの値をY
(c)の平均値として、Z検定を行い、有意差が存在するか否かを判定する。そして、判定装置10は、検定結果を管理者端末200へと提供する(ステップS9)。
【0058】
〔2.判定装置の構成〕
以下、上記した判定処理を実現する判定装置10が有する機能構成の一例について説明する。
図2は、実施形態に係る判定装置の構成例を示す図である。
図2に示すように、判定装置10は、通信部20、記憶部30、および制御部40を有する。
【0059】
通信部20は、例えば、NIC(Network Interface Card)等によって実現される。そして、通信部20は、ネットワークNと有線または無線で接続され、端末装置100や管理者端末200、コンテンツサーバ50との間で情報の送受信を行う。
【0060】
記憶部30は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。また、記憶部30は、行動履歴データベース31、ユーザデータベース32、および分類モデルデータ33を記憶する。
【0061】
行動履歴データベース31には、所定のコンテンツに関する利用者の行動を示す情報、すなわち、行動履歴が格納される。例えば、
図3は、実施形態に係る行動履歴データベースに登録される情報の一例を示す図である。
図3に示すように、行動履歴データベース31には、「コンテンツID」、「利用者ID」、「行動内容」等といった項目を有する情報が登録されている。なお、行動履歴データベース31には、
図3に示す情報以外にも、任意の情報が登録されていてもよい。
【0062】
ここで、「コンテンツID」とは、コンテンツの識別子である。また、「利用者ID」とは、対応付けられた行動履歴が示す行動を行った利用者の識別子である。また、「行動内容」とは、利用者の行動を示す情報であり、例えば、クリックの内容を示す情報である。例えば、
図3に示す例では、コンテンツID「コンテンツ#1」、利用者ID「User#1」、および行動内容「Click#1」とが対応付けて登録されている。このような情報は、コンテンツID「コンテンツ#1」が示すコンテンツを閲覧中に、利用者ID「User#1」が示す利用者が、行動内容「Click#1」が示すクリックを行った旨を示す情報である。なお、行動内容は、どのようなクリックが行われたかのみならず、クリックの有無を示す情報であってもよい。
【0063】
図2に戻り説明を続ける。ユーザデータベース32には、利用者の識別子であるユーザIDと利用者の属性情報とが、属性情報の項目ごとに対応付けて登録されている。例えば、
図4は、実施形態に係るユーザデータベースに登録される情報の一例を説明する図である。例えば、
図4に示す例では、ユーザデータベース32には、「利用者ID」、「属性項目」、「属性情報」、および「グループ」といった項目を有する情報が、「利用者ID」ごとに複数登録されている。「属性項目」とは、属性情報の項目を示す情報であり、例えば、「性別」、「年齢」、「住所」等といった情報が登録される。また、「属性情報」とは、対応付けられたユーザIDが示す利用者の属性情報であって、対応付けられた属性項目が示す内容の属性情報である。また、「グループ」とは、対応付けられた利用者IDが示す利用者が分類されたグループを示す値、すなわち、利用者の属性情報を示す値である。
【0064】
例えば、
図4に示す例では、利用者ID「User#1」に対し、属性項目「性別」および属性情報「男性」が対応付けて登録され、属性項目「年齢」(「年代」でもよい。)および属性情報「30代」が対応付けて登録され、属性項目「住所」および属性情報「A市」が対応付けて登録され、グループ「135」が対応付けて登録されている。このような情報は、例えば、利用者ID「User#1」が示す利用者の性別が男性であり、年齢が30代に含まれる年齢であり、住所がA市である旨を示している。またこのような情報は、利用者ID「User#1」が示す利用者の分類先となるグループが「135」である旨を示している。すなわち、このような情報は、利用者ID「User#1」が示す利用者の属性情報を示す値が「135」である旨を示す。
【0065】
なお、ユーザデータベース32には、
図4に示す属性項目や属性情報以外にも、任意の属性項目や属性情報が登録されていてよい。また、ユーザデータベース32には、必ずしも全ての属性項目について属性情報が登録されている必要はなく、利用者が登録した、または、利用者の行動履歴から推定された属性情報のみが登録されていてもよい。
【0066】
図2に戻り、説明を続ける。分類モデルデータ33は、利用者の属性情報に基づいて、利用者の分類を行うモデルである。例えば、分類モデルデータ33は、利用者の属性情報が入力されると、属性情報の種別ごとに、利用者の属性を示す値を算出するモデルである。
【0067】
制御部40は、コントローラ(controller)であり、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)等のプロセッサによって、判定装置10内部の記憶装置に記憶されている各種プログラムがRAM等を作業領域として実行されることにより実現される。また、制御部40は、コントローラ(controller)であり、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実現されてもよい。
【0068】
図2に示すように、制御部40は、収集部41、選択部42、算出部43、判定部44、出力部45、および学習部46を有する。収集部41は、所定のコンテンツに関する利用者の行動を示す行動履歴をコンテンツサーバ50から収集する。より具体的には、収集部41は、行動を行った利用者の利用者IDと、利用者が行った行動の内容を示す行動内容と、利用者が閲覧していたコンテンツを示すコンテンツIDとを対応付けた情報を行動履歴としてコンテンツサーバ50から収集する。そして、収集部41は、収集した行動履歴を行動履歴データベース31に登録する。すなわち、収集部41は、行動履歴を収集し、利用者が閲覧していたコンテンツ毎に行動履歴をまとめて行動履歴データベース31に登録する。
【0069】
また、収集部41は、利用者の属性情報をコンテンツサーバ50から収集する。また、収集部41は、収集した属性情報を分類モデルデータ33に入力し、分類モデルデータ33が出力した値、すなわち、第2の指標値となる値を、利用者の属性情報と、利用者IDと対応付けてユーザデータベース32に登録する。
【0070】
選択部42は、行動履歴データベース31およびユーザデータベース32に登録された情報から、第1の標本および第2の標本を選択する。例えば、選択部42は、管理者端末200から所定のコンテンツに関する標本の有意差を判定する旨の要求を受付けた場合、所定のコンテンツを示すコンテンツID(例えば、コンテンツID「コンテンツ#1」)を含む行動履歴を行動履歴データベース31から特定する。
【0071】
具体的には、選択部42は、第1の標本に含まれる第1の指標値として、特定した行動履歴からランダムに所定の数の利用者IDと行動履歴との組を選択する。続いて、選択部42は、第1の指標値として選択した組に含まれる利用者IDと同じ利用者IDに対応付けられた「グループ」の値を第2の指標値としてユーザデータベース32から選択する。なお、選択部42は、第1の指標値として選択した組に含まれる利用者IDのうち、所定の数の利用者IDを選択し、選択した利用者IDと対応付けられたグループの値に加えてランダムに選択したグループの値を第2の指標値としてもよい。同様に、選択部42は、第2の標本に含まれる第1の指標値として、特定した行動履歴からランダムに所定の数の利用者IDと行動履歴との組を選択し、選択した利用者IDと対応する利用者IDと対応付けられた「グループ」の値を第2の標本に含まれる第2の指標値とする。
【0072】
算出部43は、所定のコンテンツに関する利用者U01、U02の行動を示す第1の指標値と、利用者U01、U02の属性に基づく第2の指標値とに基づいて、所定のコンテンツに関して推定される利用者U01、U02の行動を示す推定指標値を、所定のコンテンツに関する標本ごとに算出する。
【0073】
具体的には、算出部43は、第1の指標値として、所定のコンテンツの閲覧中に行った選択操作の内容を示す値の平均値から、推定指標値を算出する。また、算出部43は、第2の指標値として、第2のコンテンツの閲覧中に行った選択操作の内容を示す値の平均値から、推定指標値を算出してもよい。また、算出部43は、利用者の属性に応じて利用者の分類を行うモデルを用いて、利用者の分類を行い、分類結果に応じた値を第2の指標値とする。そして、算出部43は、第1の指標値の平均値に対し、所定の係数と第2の指標値の平均値との積を減算し、所定の係数と第2の指標値の期待値との積を加算した値を推定指標値とする。
【0074】
例えば、算出部43は、選択部42が選択した第1の標本に含まれる複数の行動履歴をそれぞれ数値化し、第1の指標値Y
(t)とする。また、算出部43は、第2の標本に含まれる複数の行動履歴をそれぞれ数値化し、第1の指標値Y
(c)とする。続いて、算出部43は、選択部42が選択した第1の標本に含まれる「グループ」の値を第2の指標値X
(t)とする。また、算出部43は、選択部42が選択した第2の標本に含まれる「グループ」の値を第2の指標値X
(c)とする。
【0075】
そして、算出部43は、第1の指標値Y
(t)と第2の指標値X
(t)とを用いて、第1の標本に係る推定指標値Y
(t)cvの値を式(3)から算出し、第1の指標値Y
(c)と第2の指標値X
(c)とを用いて、第2の標本に係る推定指標値Y
(c)cvの値を式(3)から算出する。
【0076】
判定部44は、標本ごとに算出された推定指標値に基づいて、各標本間の有意差を判定する。具体的には、判定部44は、算出部43が算出した推定指標値Y
(t)cvおよびY
(c)cvを用いて、式(1)から標本間の有意差を示す値を算出し、算出した値が所定の閾値よりも多いか否かを判定する。そして、判定部44は、算出した値が所定の閾値よりも多い場合には、有意差が存在すると判定し、算出した値が所定の閾値以下である場合には、有意差が存在しないと判定する。
【0077】
出力部45は、判定部44による判定結果を管理者端末200に出力する。例えば、出力部45は、判定部44が実行する判定結果に基づいて、判定結果を示す結果画面C10を生成し、生成した結果画面C10を管理者端末200に配信する。
【0078】
例えば、
図5は、実施形態に係る判定装置が生成する結果画面の一例を示す図である。例えば、判定装置10は、所定のコンテンツに関する利用者の行動履歴からランダムに選択した第1の標本と第2の標本との組を複数組抽出し、抽出した組ごとに上述した判定処理を実行することで、有意差を示す値を算出する。そして、判定装置10は、
図5に示すような結果画面C10を生成し、生成した結果画面C10を管理者端末200に表示させる。
【0079】
例えば、判定装置10は、
図5に示すように、標本の組ごとに有意差を示す値を算出し、算出結果を用いて、横軸方向に標本の組、縦軸方向に有意差を示す値を設定したグラフを生成する。そして、判定装置10は、グラフのうち、有意差の値が所定の閾値を超える範囲を太線で示し、有意差の値が所定の閾値以下となる範囲を点線で示す。また、判定装置10は、
図5に示すグラフ中の黒丸印で示すように、管理者端末200の管理者がグラフ上の位置を選択した場合には、選択された位置に対応する標本の組に含まれる行動履歴をそれぞれ表示する結果画面C10を生成する。
【0080】
図2に戻り、説明を続ける。学習部46は、分類モデルデータ33の学習を行う。例えば、学習部46は、予め有意差が算出された第1の標本および第2の標本を正解データとし、正解データから利用者の分類を行い、分類結果に基づいた第2の指標値を算出する。そして、学習部46は、算出した第2の指標値を用いた際に算出される有意差が、予め算出された有意差と近づくように、分類モデルデータ33の修正を行う。なお、学習部46は、上述した学習処理以外にも、任意の学習手法を用いて、利用者U01、U02の属性から利用者U01、U02をグルーピングするモデルを学習を行ってよい。
【0081】
〔3.判定処理の流れの一例〕
続いて、
図6を用いて、判定装置10が実行する処理の流れについて説明する。
図6は、実施形態にかかる判定装置が実行する判定処理の流れの一例を示すフローチャートである。例えば、判定装置10は、各利用者の行動履歴と属性情報とを収集する(ステップS101)。そして、判定装置10は、収集した属性情報に基づいて、利用者のグルーピングを行う(ステップS102)。続いて、判定装置10は、所定のコンテンツに関する第1の指標値を標本ごとに算出し(ステップS103)、各標本と関連する利用者と同じ利用者のグルーピング結果に基づく第2の指標値を、標本ごとに算出する(ステップS104)。
【0082】
そして、判定装置10は、式(3)、すなわち、コントロールバリエーションと呼ばれる式に基づいて、推定指標値を標本ごとに算出し(ステップS105)、推定指標値を用いて、標本間の有意差を判定する(ステップS106)。その後、判定装置10は、判定結果を出力し(ステップS107)、処理を終了する。
【0083】
〔4.変形例〕
上記では、判定装置10による判定処理の一例について説明した。しかしながら、実施形態は、これに限定されるものではない。以下、判定装置10が実行する判定処理のバリエーションについて説明する。
【0084】
〔4−1.コントロールバリエーションについて〕
ここで、判定装置10は、所定のコンテンツに関する第1の指標値のみならず、利用者の属性に基づく第2の指標値を用いて、所定のコンテンツに関する指標値の有意差を判定するのであれば、式(3)として示した式以外の式を用いてもよい。また、判定装置10は、第1の指標値および第2の指標値から、θの値やEXの値を任意の手法により求めてもよい。
【0085】
〔4−2.第2の指標値について〕
ここで、式(3)として示したコントロールバリエーションの式においては、Xに任意の情報を適用可能である。そこで、判定装置10は、第1の指標値が示す行動に関連するウェブページとはクロスドメインの関係を有するウェブページ等、所定のウェブページとは異なるウェブページに関する利用者の行動を示す値を第2の指標値としてもよい。
【0086】
例えば、判定装置10は、所定のコンテンツに関する利用者の行動の標本間の有意差を判定する際に、所定のコンテンツに関する利用者の行動を示す値を第1の指標値とする。また、判定装置10は、所定のコンテンツとクロスドメインの関係を有する第2コンテンツの閲覧中に利用者が行った行動を示す値を第2の指標値とする。そして、判定装置10は、標本ごとに推定指標値を算出し、算出した推定指標値に基づき、標本間の有意差を判定してもよい。
【0087】
なお、判定装置10は、第2コンテンツの閲覧中に利用者が行った行動と、その利用者の属性とに応じた値を第2の指標値としてもよい。例えば、判定装置10は、第2コンテンツの閲覧中に利用者が行った行動を示す値と、利用者の属性情報を示す値とを並べた値を第2の指標値としてもよい。
【0088】
また、他の例では、判定装置10は、行動履歴を収集した全ての利用者をクラスタリングの対象として、予めクラスタリングを行っておく。また、判定装置10は、所定のコンテンツに関する行動履歴から第1の標本と第2の標本とを選択する。また、判定装置10は、各標本について、所定のコンテンツの閲覧中に利用者が行った行動を示す第1の指標値と、その利用者が第2コンテンツを閲覧中に行った行動およびその利用者がクラスタリングされたグループの組み合わせを示す第2の指標値とを取得する。そして、判定装置10は、第1の指標値と第2の指標値とから、推定指標値を各標本ごとに算出し、推定指標値に基づいて、各標本の有意差を判定すればよい。なお、判定装置10は、行動履歴を収集した全ての利用者をクラスタリングの対象とする必要はなく、例えば、第1の標本にユーザIDが含まれる利用者のみをクラスタリングの対象としてもよい。
【0089】
〔4−3.判定対象や判定内容について〕
ここで、判定装置10は、所定のコンテンツに関する利用者の行動を示す第1の指標値を用いて、推定指標値を算出し、推定指標値を用いて、標本の有意差を判定した。すなわち、判定装置10は、所定のコンテンツに関する利用者の行動を示す情報の有意差を判定した。ここで、判定装置10は、所定のコンテンツに関する利用者の行動を示すのであれば、任意の行動を示す情報を第1の指標値とし、その情報の有意差を判定してもよい。例えば、判定装置10は、ABテストの結果、商品や任意の投稿に対する評価、音楽や映画等の各種コンテンツに対する評価等、所定のコンテンツに対して利用者が行った評価の内容を第1の指標値としてもよく、有意差の判定対象としてもよい。
【0090】
また、判定装置10は、上述した推定指標値を用いて、Z検定以外にも、t検定等、任意の統計学的な検定手法を用いて、各標本が有する有意差の判定を行ってよい。
【0091】
〔4−4.装置構成〕
判定装置10は、端末装置100や管理者端末200と情報のやり取りを行うフロントエンドサーバと、コンテンツサーバ50と情報をやり取りし、上述した判定処理を実行するバックエンドサーバとにより実現されてもよい。このような場合、フロントエンドサーバには、
図2に示す出力部45が配置され、バックエンドサーバには、収集部41、選択部42、算出部43、判定部44、行動履歴データベース31、およびユーザデータベース32が配置されることとなる。また、記憶部30に格納された各データベース31、32や分類モデルデータ33は、判定装置10の内部ではなく、例えば、外部のストレージサーバ等に格納されていてもよい。
【0092】
〔4−5.その他〕
また、上記実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
【0093】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
【0094】
また、上記してきた各実施形態は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【0095】
〔5.プログラム〕
また、上述してきた実施形態に係る判定装置10は、例えば
図7に示すような構成のコンピュータ1000によって実現される。
図7は、ハードウェア構成の一例を示す図である。コンピュータ1000は、出力装置1010、入力装置1020と接続され、演算装置1030、一次記憶装置1040、二次記憶装置1050、出力IF(Interface)1060、入力IF1070、ネットワークIF1080がバス1090により接続された形態を有する。
【0096】
演算装置1030は、一次記憶装置1040や二次記憶装置1050に格納されたプログラムや入力装置1020から読み出したプログラム等に基づいて動作し、各種の処理を実行する。一次記憶装置1040は、RAM等、演算装置1030が各種の演算に用いるデータを一次的に記憶するメモリ装置である。また、二次記憶装置1050は、演算装置1030が各種の演算に用いるデータや、各種のデータベースが登録される記憶装置であり、ROM(Read Only Memory)、HDD、フラッシュメモリ等により実現される。
【0097】
出力IF1060は、モニタやプリンタといった各種の情報を出力する出力装置1010に対し、出力対象となる情報を送信するためのインタフェースであり、例えば、USB(Universal Serial Bus)やDVI(Digital Visual Interface)、HDMI(登録商標)(High Definition Multimedia Interface)といった規格のコネクタにより実現される。また、入力IF1070は、マウス、キーボード、およびスキャナ等といった各種の入力装置1020から情報を受信するためのインタフェースであり、例えば、USB等により実現される。
【0098】
なお、入力装置1020は、例えば、CD(Compact Disc)、DVD(Digital Versatile Disc)、PD(Phase change rewritable Disk)等の光学記録媒体、MO(Magneto-Optical disk)等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等から情報を読み出す装置であってもよい。また、入力装置1020は、USBメモリ等の外付け記憶媒体であってもよい。
【0099】
ネットワークIF1080は、ネットワークNを介して他の機器からデータを受信して演算装置1030へ送り、また、ネットワークNを介して演算装置1030が生成したデータを他の機器へ送信する。
【0100】
演算装置1030は、出力IF1060や入力IF1070を介して、出力装置1010や入力装置1020の制御を行う。例えば、演算装置1030は、入力装置1020や二次記憶装置1050からプログラムを一次記憶装置1040上にロードし、ロードしたプログラムを実行する。
【0101】
例えば、コンピュータ1000が判定装置10として機能する場合、コンピュータ1000の演算装置1030は、一次記憶装置1040上にロードされたプログラムを実行することにより、制御部40の機能を実現する。
【0102】
〔6.効果〕
上述したように、判定装置10は、所定のコンテンツに関する利用者U01、U02の行動を示す第1の指標値と、利用者U01、U02の属性に基づく第2の指標値とに基づいて、所定のコンテンツに関して推定される利用者の行動を示す推定指標値を、所定のコンテンツに関する標本ごとに算出する。そして、判定装置10は、標本ごとに算出された推定指標値に基づいて、各標本間の有意差を判定する。この結果、判定装置10は、有意差の判定に用いる情報の相関性を悪化させることなく、カバレッジを向上させることができるので、推定指標値の分散を低下させ、有意差の検出精度を向上させることができる。
【0103】
また、判定装置10は、利用者U01、U02の属性に応じた分類を行うモデルを用いて、利用者U01、U02を分類し、分類結果に応じた値を第2の指標値とする。このため、判定装置10は、容易な処理で推定指標値の分散を低下させ、有意差の検出精度を向上させることができる。
【0104】
また、判定装置10は、第1の指標値として、所定のコンテンツの閲覧中に行った選択操作の内容を示す値の平均値から、推定指標値を算出する。このため、判定装置10は、推定指標値を適切に算出することができる。
【0105】
また、判定装置10は、第1の指標値の平均値に対し、所定の係数と第2の指標値の平均値との積を減算し、所定の係数と第2の指標値の期待値との積を加算した値を推定指標値とする。このため、判定装置10は、推定指標値の分散を通常の平均値よりも低下させることができるので、有意差の検出精度を向上させることができる。
【0106】
また、判定装置10は、所定のコンテンツについて複数の利用者が行った行動を示す第1の指標値と、第1の指標値が示す行動を行った複数の利用者のうち、所定の数の利用者を含む複数の利用者の属性に基づく第2の指標値とを用いて、推定指標値を算出する。このため、判定装置10は、適切に有意差を判定することができる。
【0107】
また、判定装置10は、判定結果を出力する。このため、判定装置10は、管理者等に対して判定結果を提供することができる。
【0108】
以上、本願の実施形態のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、発明の開示の欄に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
【0109】
また、上記してきた「部(section、module、unit)」は、「手段」や「回路」などに読み替えることができる。例えば、算出部は、算出手段や算出回路に読み替えることができる。