(57)【要約】【課題】推定精度の低下を抑制しつつ、ユーザ属性の推定のカバレッジを広くすることができる情報処理装置、情報処理方法、および情報処理プログラムを提供すること。【解決手段】ユーザの操作に基づくキーワードを含む複数の素性情報を取得する取得部と、前記取得部により取得された前記複数の素性情報に基づいて、前記ユーザの年代を推定する推定部とを備える、情報処理装置。【選択図】図１
2018077765.tif 000002
【特許請求の範囲】
【請求項１】
ユーザの操作に基づくキーワードを含む複数の素性情報を取得する取得部と、
前記取得部により取得された前記複数の素性情報に基づいて、前記ユーザの年代を推定する推定部と
を備える、情報処理装置。
【請求項２】
前記複数の素性情報は、前記ユーザが操作する端末装置が送信したリクエストに基づいて前記ユーザに提供したコンテンツを識別するための識別情報、または前記コンテンツを提供するサーバ装置に関連するドメインの少なくとも一つを更に含む、
請求項１に記載の情報処理装置。
【請求項３】
前記推定部は、
前記複数の素性情報のそれぞれを同じ固定長の値に変換する変換部と、
前記固定長の値が取り得る範囲に対応する次元数を持つ特徴ベクトルを生成する特徴ベクトル生成部であって、前記特徴ベクトルの各要素の値のうち前記変換部により変換された固定長の値に対応する要素の値を所定の値に設定する特徴ベクトル生成部と、を備え、
前記特徴ベクトル生成部により生成された特徴ベクトルを用いて、前記ユーザの年代を推定する、
請求項１または２に記載の情報処理装置。
【請求項４】
前記変換部は、前記複数の素性情報のそれぞれを同じハッシュ関数を用いてハッシュ値を求めることで同じ固定長の値に変換する、
請求項３に記載の情報処理装置。
【請求項５】
前記取得部は、前記キーワードを複数取得し、
前記変換部は、前記キーワードのそれぞれを固定長の値に変換し、
前記特徴ベクトル生成部は、前記特徴ベクトルのうち、前記キーワードのそれぞれに基づく固定長の値に対応する要素の値を所定の値に設定する、
請求項３または４に記載の情報処理装置。
【請求項６】
前記推定部は、前記特徴ベクトル生成部により生成された特徴ベクトルを用いて、複数の年代のそれぞれについて前記ユーザの年代である確率を算出し、算出した複数の確率に基づいて前記ユーザの年代を推定する、
請求項３から５のいずれか１項に記載の情報処理装置。
【請求項７】
前記推定部は、複数の年代のそれぞれについて閾値を設定し、複数の年代のそれぞれについて算出した確率が、複数の年代のそれぞれについて設定された閾値を超える差分または割合が最も大きい年代が、前記ユーザの年代であることを推定する、
請求項６に記載の情報処理装置。
【請求項８】
前記複数の素性情報にユーザの年代を対応付けたデータベースから、前記複数の素性情報に対するユーザの年代の正解値と、当該データベースから取得した前記複数の素性情報に基づいて前記推定部が推定したユーザの年代と、当該推定した年代が正解値としての年代に合致した割合を含む評価用データを作成し、
前記推定部は、推定した年代が正解値としての年代に合致した割合が所定値以上となるように、複数の年代のそれぞれについての前記閾値を設定する、
請求項７に記載の情報処理装置。
【請求項９】
ユーザの操作に基づくキーワードを含む複数の素性情報を取得し、
取得した前記複数の素性情報に基づいて、前記ユーザの年代を推定する、
情報処理方法。
【請求項１０】
コンピュータに、
ユーザの操作に基づくキーワードを含む複数の素性情報を取得させ、
取得した前記複数の素性情報に基づいて、前記ユーザの年代を推定させる、
情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法、および情報処理プログラムに関する。
【背景技術】
【０００２】
従来、利用者の属性情報を推定する技術が知られている。これに関連して、画像から特徴量を算出する学習器を用いて、利用者により選択された履歴を有する画像の特徴量を算出し、算出した特徴量に基づいて、利用者の属性情報を推定する技術が知られている（特許文献１参照）。また、ユーザによりアクセスされたｗｅｂページの集合を検知し、ｗｅｂページの少なくとも部分集合を、ユーザーによるｗｅｂページへのアクセスパターンを識別する第一のデータ構造へ写像し、第一のデータ構造を、共通のユーザープロフィール属性を有する既知ユーザー集合によるｗｅｂページへのアクセスパターンを識別する第二のデータ構造と比較し、比較結果に応答してユーザープロフィール属性をユーザーに割り当てる技術が知られている（特許文献２参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１６−１１８９１８号公報
【特許文献２】特開２００３−２１６７７６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、ユーザ属性の推定精度を厳しくした場合、ユーザ属性に基づいて広告コンテンツなどを提供できない場合がある。
【０００５】
本発明は、このような事情を考慮してなされたものであり、推定精度の低下を抑制しつつ、ユーザ属性の推定のカバレッジを広げることができる情報処理装置、情報処理方法、および情報処理プログラムを提供することを目的の一つとする。
【課題を解決するための手段】
【０００６】
本発明の一態様は、ユーザの操作に基づくキーワードを含む複数の素性情報を取得する取得部と、前記取得部により取得された前記複数の素性情報に基づいて、前記ユーザの年代を推定する推定部とを備える、情報処理装置である。
【発明の効果】
【０００７】
本発明の一態様によれば、推定精度の低下を抑制しつつ、推定精度の低下を抑制しつつ、ユーザ属性の推定のカバレッジを広げることができる。
【図面の簡単な説明】
【０００８】
【図１】実施形態のコンテンツ提供システム１の機能構成の一例を示すブロック図である。
【図２】実施形態のコンテンツ提供システム１における全体の処理の概要を示す図である。
【図３】情報処理装置６００の一例を示す構成図である。
【図４】複数の素性情報のそれぞれをハッシュ値に変換する処理を説明する図である。
【図５】複数のハッシュ値を用いて１つの特徴ベクトルを生成する処理を説明するための図である。
【図６】各年代の確率と、閾値との関係を示す図である。
【図７】ユーザの年代を推定する処理の流れの一例を示すフローチャートである。
【図８】重みマトリクスＷおよびバイアスベクトルｂを学習する処理の流れの一例を示すフローチャートである。
【図９】情報処理装置６００のハードウェア構成の一例を示す図である。
【発明を実施するための形態】
【０００９】
以下、図面を参照し、本発明の情報処理装置、情報処理方法、および情報処理プログラムの実施形態について説明する。実施形態の情報処理装置は、ユーザの操作に基づくキーワードを含む複数の素性情報を取得し、取得した複数の素性情報に基づいてユーザの年代を推定するものである。ユーザの操作に基づくキーワードは、例えば、ユーザの過去の行動に基づいて推定された「興味のある単語リスト」である。実施形態の情報処理装置は、推定したユーザの年代に基づいてユーザに提供するコンテンツや広告を選択することで、ユーザの年代に適したコンテンツや広告を提供することができる。
【００１０】
＜１．コンテンツ提供システム１の構成＞
図１は、実施形態のコンテンツ提供システム１の機能構成の一例を示すブロック図である。コンテンツ提供システム１は、例えば、複数の端末装置１００−１、・・・、１００−Ｎと、ログインサーバ２００と、コンテンツ提供サーバ３００と、ログ収集装置４００と、広告配信装置５００と、情報処理装置６００とを備える。Ｎは、２以上の自然数である。以下の説明において、端末装置を他の端末装置と区別しない場合には、端末装置１００と記載する。図１の例では、複数の端末装置１００と、ログインサーバ２００と、コンテンツ提供サーバ３００と、ログ収集装置４００と、広告配信装置５００と、情報処理装置６００とが、ネットワークＮＷに接続されている。ネットワークＮＷは、例えば、無線基地局、Ｗｉ−Ｆｉアクセスポイント、通信回線、プロバイダ、インターネットなどを含む。なお、これらの構成要素の全ての組み合わせが相互に通信可能である必要はなく、ネットワークＮＷは、一部にローカルなネットワークを含んでもよい。
【００１１】
端末装置１００は、ユーザ（一般利用者）によって使用される装置である。端末装置１００は、例えば、スマートフォンなどの携帯電話、タブレット端末、パーソナルコンピュータなどのコンピュータ装置（通信装置）である。端末装置１００は、ウェブブラウザなどのＵＡ（User Agent）が起動し、ユーザによって所定の操作がなされることで、リクエストをコンテンツ提供サーバ３００および広告配信装置５００に送信する。そして、端末装置１００は、コンテンツ提供サーバ３００から返信されたコンテンツに基づいてウェブ画面を生成し、表示部に表示させる。また、端末装置１００は、広告配信装置５００から返信された広告情報に基づいて、広告を表示させる。なお、コンテンツを取得するための手段として、ウェブブラウザに代えて、任意のアプリケーションプログラムが使用されてもよい。
【００１２】
端末装置１００は、ユーザＩＤを持つユーザまたはユーザＩＤを持たないユーザにより使用される。端末装置１００は、ユーザＩＤの入力を受け付けた場合またはユーザＩＤを記憶している場合、当該ユーザＩＤを含むリクエストをログインサーバ２００およびコンテンツ提供サーバ３００に送信する。端末装置１００は、ユーザＩＤの入力がない場合またはユーザＩＤを記憶していない場合、ユーザＩＤを含まないリクエストをコンテンツ提供サーバ３００に送信する。
【００１３】
ログインサーバ２００は、ユーザのログインを管理するサーバ装置である。ログインサーバ２００は、ユーザ情報データベース２１０を参照して、ユーザＩＤに基づいてユーザ認証を行う。ログインサーバ２００は、認証結果を、コンテンツ提供サーバ３００に伝達する。ユーザ情報データベース２１０は、ＨＤＤ（Hard Disk Drive）やフラッシュメモリ、ＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）、或いはこれらのうち複数を組み合わせたハイブリッド型記憶装置により実現される。また、ユーザ情報データベース２１０の一部または全部は、ＮＡＳ（Network Attached Storage）や外部のストレージサーバなど、ログインサーバ２００がアクセス可能な外部装置であってよい。ユーザ情報データベース２１０は、ユーザＩＤに、ユーザの年代などの属性とを対応付けた情報である。
【００１４】
コンテンツ提供サーバ３００は、例えば、ニュース記事などのコンテンツを提供するサーバ装置である。コンテンツ提供サーバ３００は、端末装置１００から受信したコンテンツを閲覧するリクエストに応じて、コンテンツを提供する。コンテンツ提供サーバ３００は、リクエストにユーザが入力したクエリが含まれる場合、当該クエリをログ収集装置４００に送信する。
【００１５】
ログ収集装置４００は、情報処理装置６００が利用するログ情報、その他の情報を収集する。ログ収集装置４００は、ログデータベース４１０を備える。ログデータベース４１０は、ＨＤＤやフラッシュメモリ、ＲＡＭ、ＲＯＭ、或いはこれらのうち複数を組み合わせたハイブリッド型記憶装置により実現される。また、ログデータベース４１０の一部または全部は、ＮＡＳや外部のストレージサーバなど、ログ収集装置４００がアクセス可能な外部装置であってよい。ログデータベース４１０において、例えば、ユーザＩＤには、検索キーワード（ＫＷ）と、コンテンツの閲覧履歴とが対応付けられている。検索キーワードは、例えば、ユーザの入力に基づいてコンテンツ提供サーバ３００により受け付けられたクエリである。また、ログデータベース４１０は、コンテンツ提供サーバ３００が、ユーザＩＤがないユーザの操作に基づいて端末装置１００−Ｎからリクエストを受け付けた場合において、端末装置１００を特定する情報（不図示）に、検索キーワードと、コンテンツの閲覧履歴とを対応付けている。
【００１６】
広告配信装置５００は、端末装置１００に提供する広告情報を配信する。広告配信装置５００は、広告情報データベース５１０と、選択部５２０とを備える。広告情報データベース５１０は、ＨＤＤやフラッシュメモリ、ＲＡＭ、ＲＯＭ、或いはこれらのうち複数を組み合わせたハイブリッド型記憶装置により実現される。また、広告情報データベース５１０の一部または全部は、ＮＡＳや外部のストレージサーバなど、広告配信装置５００がアクセス可能な外部装置であってよい。広告情報データベース５１０は、年代に、広告コンテンツを対応付けている。選択部５２０は、広告情報データベース５１０を参照して、ユーザの年代に対応する広告コンテンツを選択して、選択した広告コンテンツを端末装置１００に提供する。
【００１７】
＜２．コンテンツ提供システム１の全体処理＞
図２は、実施形態のコンテンツ提供システム１における全体の処理の概要を示す図である。端末装置１００は、ユーザから受け付けた操作に基づいて、クエリを含む閲覧リクエストをコンテンツ提供サーバ３００に送信する。コンテンツ提供サーバ３００は、閲覧リクエストに対して、クエリに基づくコンテンツを選択する。一方で、コンテンツ提供サーバ３００は、コンテンツに埋め込む広告情報をリクエストする広告リクエスト、ユーザＩＤ、掲載枠ＩＤ、およびドメインを広告配信装置５００に送信する。広告配信装置５００は、受信したユーザＩＤをログ収集装置４００に送信する。ログ収集装置４００は、ユーザＩＤに対応する検索キーワードを広告配信装置５００に返信する。広告配信装置５００は、コンテンツ提供サーバ３００から受信した掲載枠ＩＤおよびドメインと、ログ収集装置４００から受信した検索キーワードを、複数の素性情報として、情報処理装置６００に送信する。なお、複数の素性情報は、複数の検索キーワードであってよい。複数の素性情報は、検索キーワードと、他の素性情報を含んでよい。複数の素性情報は、検索キーワードと掲載枠ＩＤであってよく、検索キーワードとドメインであってよい。
【００１８】
情報処理装置６００は、掲載枠ＩＤ、ドメイン、および検索キーワードに基づいて推定した年代情報を広告配信装置５００に送信する。広告配信装置５００は、情報処理装置６００から受信した年代情報に基づいて、広告情報を選択し、選択した広告情報をコンテンツ提供サーバ３００に送信する。これにより、コンテンツ提供サーバ３００は、選択したコンテンツに広告情報を埋め込んで、広告情報が埋め込まれたコンテンツを端末装置１００に送信する。
【００１９】
なお、コンテンツ提供サーバ３００は、閲覧リクエストにユーザＩＤが含まれていない場合、ユーザＩＤに代えて、ユーザに関連する情報を広告配信装置５００に送信し、広告配信装置５００は、ユーザに関連する情報に対応する検索キーワードを広告配信装置５００に返信する。また、広告配信装置５００は、広告のクリック履歴に基づいて広告コンテンツからキーワードを抜き出してよい。
【００２０】
＜３．情報処理装置６００の構成＞
図３は、情報処理装置６００の一例を示す構成図である。情報処理装置６００は、例えば、学習部６１０と、モデルパラメータ記憶部６２０と、年代推定部６３０とを備える。これらの構成要素は、例えば、ＣＰＵ（Central Processing Unit）などのプロセッサが、予め記憶された情報処理プログラムを実行することにより実現される。また、これらの構成要素は、ＬＳＩ（Large Scale Integration）やＡＳＣＩ（Application Specific Integrated Circuit）、ＦＰＧＡ（Field-Programmable Gate Array）などのハードウェア（回路部；circuitry）によって実現されてもよいし、ソフトウェアとハードウェアの協働によって実現されてもよい。
【００２１】
学習部６１０は、正解データを用いて、年代推定モデルの生成を行う。学習部６１０は、例えば、多クラス交差エントロピー誤差関数を確率的勾配降下法で最小化することで、年代推定モデルにおけるパラメータを学習する。モデルパラメータ記憶部６２０は、学習部６１０により学習された年代推定モデルのパラメータを記憶する。
【００２２】
年代推定部６３０は、例えば、取得部６３１と、変換部６３２と、特徴ベクトル生成部６３３と、推定部６３４とを備える。取得部６３１は、コンテンツ提供サーバ３００および／またはログ収集装置４００から複数の素性情報を取得する。なお、取得部６３１は、広告のクリック履歴に基づいて広告コンテンツからキーワードを抜き出し、年代推定のためのキーワードを作成してもよい。変換部６３２は、複数の素性情報のそれぞれを、同じ固定長の値としてハッシュ値に変換する。特徴ベクトル生成部６３３は、変換部６３２により変換された複数のハッシュ値を用いて、１つの特徴ベクトルを生成する。推定部６３４は、１つの特徴ベクトルを用いて年代推定モデルを運用することで、ユーザの年代を推定する。
【００２３】
以下、素性情報をハッシュ値に変換する処理を説明する。図４は、複数の素性情報のそれぞれをハッシュ値に変換する処理を説明する図である。取得部６３１により取得された複数の素性情報が、値が「１００」の掲載枠ＩＤ、「news.・・・.co.jp」の文字列で表現されたドメイン、およびｋ個の検索キーワードであるものとする。変換部６３２は、掲載枠ＩＤを、所定のハッシュ関数Ｈ（掲載枠ＩＤ）を用いて計算することで、ハッシュ値ｈ(掲載枠ＩＤ)を算出する。変換部６３２は、ドメインを、所定のハッシュ関数Ｈ（ドメイン）を用いて計算することで、ハッシュ値ｈ(ドメイン)を算出する。変換部６３２は、検索キーワード（１）〜（ｋ）のそれぞれを、所定のハッシュ関数Ｈ（検索ＫＷ（１））〜Ｈ（検索ＫＷ（ｋ））を用いてそれぞれ計算することで、ハッシュ値ｈ（検索ＫＷ（１））〜ｈ（検索ＫＷ（ｋ））を算出する。所定のハッシュ関数Ｈは、それぞれ同じハッシュ関数であり、変換部６３２は、複数の素性情報のそれぞれを、同じ固定長の値に変換する。ハッシュ値ｈ(掲載枠ＩＤ)には所定の値ｖ１が設定されている。ハッシュ値ｈ(ドメイン)には所定の値ｖ２が設定されている。ハッシュ値ｈ（検索ＫＷ（１））〜ｈ（検索ＫＷ（ｋ））には、所定の値ｖ３〜ｖｘがそれぞれ設定されている。
【００２４】
＜４．特徴ベクトル生成処理＞
以下、特徴ベクトルを生成する処理を説明する。図５は、複数のハッシュ値を用いて１つの特徴ベクトルを生成する処理を説明するための図である。ハッシュ関数Ｈにより算出されるハッシュ値は、所定の取り得る範囲のうち、いずれかの値として算出される。複数のハッシュ値を用いて生成される１つの特徴ベクトルは、当該特徴ベクトルの要素が代入される次元数が、ハッシュ値が取り得る範囲に対応する値に設定される。例えば、ハッシュサイズが２２４である場合、ハッシュ値ｈが取り得る範囲は０から（２２４）−１までであり、特徴ベクトルの次元数は２２４次元であり、特徴ベクトルは、０次元目の要素ｅ（０）から（２２４）−１次元目の要素ｅ（２２４）−１により構成される。特徴ベクトルの各要素の値のうち、ハッシュ値に対応する要素の値は、各ハッシュ値に対応する所定の値に設定される。ハッシュ値ｈ(掲載枠ＩＤ)に対応する次元の要素には、所定の値ｖ１が設定される。ハッシュ値ｈ(ドメイン)に対応する次元の要素には、所定の値ｖ２が設定される。ハッシュ値ｈ（検索ＫＷ（１））〜ｈ（検索ＫＷ（ｋ））に対応する次元の要素には、所定の値ｖ３〜ｖｘがそれぞれ設定される。
【００２５】
＜５．年代推定処理＞
以下、ユーザの年代を推定する処理を説明する。推定部６３４は、年代推定モデルを運用することで、ユーザの年代を推定する。年代推定モデルは、以下の式（１）に示される。Ｐはユーザの年代を判定するために用いられる確率（スコア）であり、ｘは特徴ベクトルであり、Ｗは特徴ベクトルｘに乗算される重みマトリクスであり、ｂはバイアスベクトルである。
【００２６】
【数１】
2018077765.tif 000003
【００２７】
確率Ｐは、推定したい複数の年代を、要素として含む。推定する対象の年代が、例えば、２２歳から２９歳、３０歳から３９歳、４０歳から４９歳、５０歳から５９歳、６０歳から６９歳の５つのクラスに区分されるものとする。この場合、確率Ｐは、一方向の５次元ベクトルとして表現され、重みマトリクスＷは、５×２２４の２次元の行列として表現され、特徴ベクトルｘは、２２４は一方向の行列として表現される。式（２）は、年代推定モデルを行列形式で表した式である。
【００２８】
【数２】
2018077765.tif 000004
【００２９】
式（２）に示すように、確率Ｐは、各クラスに対応した要素としてＰ１からＰ５を含む。Ｐ１はユーザが２２歳から２９歳である確率であり、Ｐ２はユーザが３０歳から３９歳である確率であり、Ｐ３はユーザが４０歳から４９歳である確率であり、Ｐ４はユーザが５０歳から５９歳である確率であり、Ｐ５はユーザが６０歳から６９歳である確率である。重みマトリクスＷは、クラス数、および特徴ベクトルｘの次元数に対応した要素としてｗ１１〜ｗ５２２４を含む。バイアスベクトルｂは、各クラスに対応した要素としてｂ１からｂ５を含む。バイアスベクトルｂの値は、複数のクラスのうち、いずれかのクラスを推定しやすくする、または推定しにくくするための値が設定される。
【００３０】
式（１）に示されるように、推定部６３４は、特徴ベクトルｘに重みマトリクスＷを乗算した後に、バイアスベクトルｂを加算することによって得られた値を用いて、各年代の確率Ｐを算出する。具体的に、推定部６３４は、（Ｗｘ＋ｂ）をソフトマックス関数に入力することによって、確率Ｐを算出する。
【００３１】
なお、各ハッシュ値に対応する所定の値は、例えば、全て「１」であってもよく、各ハッシュ値について異なる値であってもよい。例えば、検索キーワードのうち、何度もユーザに入力されたクエリに対応する検索キーワードのハッシュ値に対応する所定の値を、「１」よりも高くしてよい。
【００３２】
推定部６３４は、複数の確率Ｐに基づいてユーザの年代を推定する。図６は、各年代の確率と、閾値との関係を示す図である。推定部６３４は、算出した各クラスに対応する確率Ｐ同士を比較することで、ユーザの年代を推定する。推定部６３４は、最も高い確率Ｐの年代を推定結果とするルールが設定されている場合、ユーザの年代が３０歳から３９歳であると推定する。
【００３３】
推定部６３４は、複数の年代のそれぞれについて閾値Ｔｈ１〜Ｔｈ５を設定し、複数の年代のそれぞれについて算出した確率Ｐ１〜Ｐ５が、複数の年代のそれぞれについて設定された閾値Ｔｈ１〜Ｔｈ５を超える差分が最も大きい年代が、ユーザの年代であることを推定してよい。推定部６３４は、４０歳から４９歳の年代である確率Ｐ３と閾値Ｔｈ３との差分Ｄ３が、３０歳から３９歳の年代である確率Ｐ２と閾値Ｔｈ２との差分Ｄ２よりも大きいので、ユーザの年代が４０歳から４９歳であると推定する。
【００３４】
推定部６３４は、複数の年代のそれぞれについて算出した確率Ｐ１〜Ｐ５が、複数の年代のそれぞれについて設定された閾値Ｔｈ１〜Ｔｈ５を超える割合が最も大きい年代が、ユーザの年代であることを推定してよい。推定部６３４は、４０歳から４９歳の年代である確率Ｐ３と閾値Ｔｈ３との割合が、３０歳から３９歳の年代である確率Ｐ２と閾値Ｔｈ２との割合よりも大きいので、ユーザの年代が４０歳から４９歳であると推定する。
【００３５】
推定部６３４は、複数の年代のそれぞれについて推定した年代が正しい確率が所定値となるように、複数の年代のそれぞれについての閾値Ｔｈ１〜Ｔｈ５を設定する。推定部６３４は、推定した年代の正解率が所定値を満たすように、閾値Ｔｈ１〜Ｔｈ５を設定する。これを実現するため、情報処理装置６００は、評価用データを生成する。評価用データは、ユーザ情報データベース２１０においてユーザＩＤに対応付けられた年代である正解値、ログデータベース４１０においてユーザＩＤに対応した検索キーワードおよび閲覧履歴に基づいて年代推定部６３０が推定した年代、および当該推定した年代が正解値としての年代に合致した割合を含む。年代推定部６３０は、評価用データを参照して、推定した年代が正解値としての年代に合致した割合が所定値（例えば７０％）よりも低い場合には、閾値を上昇させる。年代推定部６３０は、評価用データを参照して、推定した年代が正解値としての年代に合致した割合が所定値（例えば７０％）よりも高い場合には、閾値を下降させる。
【００３６】
なお、年代推定処理において、推定する対象の年代が、５つのクラスに区分されるものとしたが、これに限定されず、クラス数、各クラスに対応する年代の幅については任意に設定してよい。
【００３７】
＜６．学習処理＞
以下、重みマトリクスＷおよびバイアスベクトルｂの学習処理の一例について説明する。下記の式（３）は、複数の素性情報（入力データ）に基づいて、ｋクラス（出力データ）に分類する処理において、推定結果（ソフトマックス関数の出力値）と正解との誤差を定量化する関数Ｅである。この関数式は、多クラス交差エントロピー誤差と呼ばれる。式（３）において、ｙｎｋはｎ番目の入力データに対するｋ次元目の出力を意味し、ｔｎｋは対応する正解データの値を意味する。
【００３８】
【数３】
2018077765.tif 000005
【００３９】
式（３）において、入力データが正解データに近いほど、損失関数（すなわちＥの値）が小さくなる。学習部６１０は、損失関数が小さくなるように、重みマトリクスＷおよびバイアスベクトルｂの値を調整する。
【００４０】
学習部６１０は、重みマトリクスＷの値を求める際に、重みマトリクスＷをランダムな値または０などの固定値に初期化し、所定のアルゴリズムを運用することで、損失関数が小さくなるように重みマトリクスＷを学習する。この学習の際に、学習部６１０は、確率的勾配降下法と称されるモデルにより、勾配の値を用いてエネルギー（重み同士の差分）が下がる方向に、重みマトリクスＷの要素（ｗｉｊ）を調整する。具体的に、学習部６１０は、下記の式（４）に示すモデルを運用することで、重みｗｉｊを調整する。式（４）において、ｗｉｊは、重みマトリクスＷに含まれる任意の重みである。αは１回の学習で調整する量を決める学習率と称されるパラメータである。λは正則化の度合いを決定するパラメータである。式（４）の３項目は荷重減衰と称され、重みｗｉｊを正則化する役割を持つ。λは、勾配を決定するパラメータであり、勾配が０である場合であっても重みｗｉｊを低下させる。
【００４１】
【数４】
2018077765.tif 000006
【００４２】
＜７．年代推定の流れ＞
図７は、ユーザの年代を推定する処理の流れの一例を示すフローチャートである。まず、情報処理装置６００は、コンテンツ提供サーバ３００から掲載枠ＩＤおよびドメインを含むリクエストを受け付けたか否かを判定する（Ｓ１００）。このとき、コンテンツ提供サーバ３００は、端末装置１００から閲覧リクエストを受け付け、コンテンツを端末装置１００に提供したことに応じ、当該コンテンツに関連する掲載枠ＩＤおよびドメインを取得して、情報処理装置６００に供給する。コンテンツ提供サーバ３００は、閲覧リクエストにクエリが含められている場合、クエリを検索キーワードとして情報処理装置６００に送信する。
【００４３】
情報処理装置６００は、リクエストを受け付けたことに応じ、複数の素性情報を取得する（Ｓ１０２）。このとき、情報処理装置６００は、ログ収集装置４００にリクエストを送信することで、ログ収集装置４００から検索キーワードを取得する。次に、情報処理装置６００は、複数の素性情報のそれぞれをハッシュ値に変換する（Ｓ１０４）。次に情報処理装置６００は、複数のハッシュ値を用いて１つの特徴ベクトルを生成する（Ｓ１０６）。次に情報処理装置６００は、各年代について、ユーザの年代である確率を計算する（Ｓ１０８）。次に情報処理装置６００は、計算した確率に基づいて、ユーザの年代を推定する（Ｓ１１０）。
【００４４】
次に情報処理装置６００は、ユーザの年代が推定できたか否かを判定する（Ｓ１１２）。情報処理装置６００は、推定した全ての確率が閾値を超えていないと判定した場合、ユーザの年代が推定できていないので、年代情報を送信することなく、本フローチャートの処理を終了する。情報処理装置６００は、推定したいずれか確率が閾値を超えている場合、ユーザの年代が推定できているので、少なくとも一つの年代を含む年代情報を広告配信装置５００に送信する（Ｓ１１４）。
【００４５】
＜８．学習の流れ＞
図８は、重みマトリクスＷおよびバイアスベクトルｂを学習する処理の流れの一例を示すフローチャートである。まず、情報処理装置６００は、学習タイミングが到来したか否かを判定する（Ｓ２００）。学習タイミングは、例えば、１日に１回などの所定の間隔で到来する。情報処理装置６００は、学習タイミングが到来した場合、学習データをを取得する（Ｓ２０２）。情報処理装置６００は、例えば、ログデータベース４１０に格納されているログのうち、年代が既知のユーザＩＤに対応した検索キーワード、コンテンツの閲覧履歴を、学習データとして取得する。情報処理装置６００は、コンテンツの閲覧履歴から、コンテンツの掲載枠ＩＤおよびドメインを取得する。次に、情報処理装置６００は、重みマトリクスＷおよびバイアスベクトルｂの値を初期化し、初期化した重みマトリクスＷおよびバイアスベクトルｂの値を、学習データの数に対応する回数だけ更新する（Ｓ２０４）。例えば、学習データが１００００個のサンプルから構成されている場合、重みマトリクスＷおよびバイアスベクトルｂのそれぞれについて値の初期化を行い、および１００００回に亘り重みマトリクスＷおよびバイアスベクトルｂの値を更新する。
【００４６】
＜９．実施形態の効果＞
以上説明したように、実施形態の情報処理装置６００によれば、ユーザの操作に基づくキーワードを含む複数の素性情報に基づいてユーザの年代を推定するので、複数種類の素性に基づいてユーザの年代を推定することができる。これにより、情報処理装置６００によれば、推定精度の低下を抑制しつつ、ユーザ属性の推定のカバレッジを広くすることができる。具体的に、複数の素性情報は、ユーザが操作する端末装置１００が送信したリクエストに基づいてユーザに提供したコンテンツを識別するための識別情報、またはコンテンツ提供サーバ３００に関連するドメインの少なくとも一つを含む。さらに、情報処理装置６００は、年代推定部６３０が、複数の素性情報のそれぞれを同じ固定長の値に変換する変換部６３２と、固定長の値が取り得る範囲に対応する次元数を持つ特徴ベクトルを生成する特徴ベクトル生成部６３３であって、特徴ベクトルの各要素の値のうち変換部６３２により変換された固定長の値に対応する要素の値を所定の値に設定する特徴ベクトル生成部６３３と、を備え、特徴ベクトル生成部６３３により生成された特徴ベクトルを用いて、ユーザの年代を推定する。さらに、変換部６３２は、複数の素性情報のそれぞれを同じハッシュ関数を用いてハッシュ値を求めることで同じ固定長の値に変換する。
【００４７】
さらに、情報処理装置６００によれば、ユーザの操作に基づくキーワードを複数取得し、クエリのそれぞれを固定長の値に変換し、特徴ベクトルのうち、クエリのそれぞれに基づく固定長の値に対応する次元の値を、各クエリについて指定された値に設定するので、クエリに基づいてユーザ属性の推定のカバレッジを広くすることができる。
【００４８】
さらに、情報処理装置６００によれば、複数の素性情報にユーザの年代を対応付けたデータベース（２１０、４１０）から、複数の素性情報に対するユーザの年代の正解値と、当該データベースから取得した複数の素性情報に基づいて年代推定部６３０が推定したユーザの年代と、当該推定した年代が正解値としての年代に合致した割合を含む評価用データを作成し、推定した年代が正解値としての年代に合致した割合が所定値以上となるように、複数の年代のそれぞれについての閾値を設定する。これにより、情報処理装置６００によれば、推定精度の低下を抑制することができる。これにより、情報処理装置６００によれば、ユーザ属性の推定のカバレッジを広くしても、推定精度の低下を抑制することができる。
【００４９】
＜１０．ハードウェア構成＞
図９は、情報処理装置６００のハードウェア構成の一例を示す図である。情報処理装置６００は、例えば、ＮＩＣ６０１、ＣＰＵ６０２、ＲＡＭ６０３、ＲＯＭ６０４、フラッシュメモリやＨＤＤなどの二次記憶装置６０５、およびドライブ装置６０６が、内部バスあるいは専用通信線によって相互に接続された構成となっている。ドライブ装置６０６には、光ディスクなどの可搬型記憶媒体が装着される。二次記憶装置６０５、またはドライブ装置６０６に装着された可搬型記憶媒体に記憶されたプログラムがＤＭＡコントローラ（不図示）などによってＲＡＭ６０３に展開され、ＣＰＵ６０２によって実行されることで、情報処理装置６００の機能部が実現される。
【００５０】
以上、本発明を実施するための形態について実施形態を用いて説明したが、本発明はこうした実施形態に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。
【符号の説明】
【００５１】
１…コンテンツ提供システム
１００…端末装置
２００…ログインサーバ
２１０…ユーザ情報データベース
３００…コンテンツ提供サーバ
４００…ログ収集装置
４１０…ログデータベース
５００…広告配信装置
５１０…広告情報データベース
５２０…選択部
６００…情報処理装置
６１０…学習部
６２０…モデルパラメータ記憶部
６３０…年代推定部
６３１…取得部
６３２…変換部
６３３…特徴ベクトル生成部
６３４…推定部
【図１】
2018077765.tif 000007
【図２】
2018077765.tif 000008
【図３】
2018077765.tif 000009
【図４】
2018077765.tif 000010
【図５】
2018077765.tif 000011
【図６】
2018077765.tif 000012
【図７】
2018077765.tif 000013
【図８】
2018077765.tif 000014
【図９】
2018077765.tif 000015