以下に、本願に係る情報処理装置、情報処理方法、及び情報処理プログラムを実施するための形態(以下、「実施形態」と呼ぶ)について図面を参照しつつ詳細に説明する。なお、以下の実施形態により本願に係る情報処理装置、情報処理方法、及び情報処理プログラムが限定されるものではない。また、以下の各実施形態において同一の部位には同一の符号を付し、重複する説明は省略される。
〔1.情報処理装置の動作〕
最初に、情報処理装置の一例である情報処理サーバ10を備える情報処理システム1を例に、情報処理装置の動作を説明する。
〔1−1.情報処理システムについて〕
図1は、実施形態に係る情報処理システム1の動作を示す図である。情報処理システム1は、情報処理サーバ10と、端末装置1001〜1002と、を備える。端末装置1001はユーザU1が操作する端末装置であり、端末装置1002はユーザU2が操作する端末装置である。なお、図1の例では、端末装置が2つしか示されていないが、端末装置は2つより少なくてもよいし、2つより多くてもよい。以下の説明では、端末装置1001〜1002等を総称して端末装置100と記載することがある。
情報処理サーバ10は、クライアント端末に対して各種サービスを提供するサーバ用ホストコンピュータである。情報処理サーバ10は、端末装置100にコンテンツを配信する。例えば、情報処理サーバ10は、ポータルサイト、ゲーム情報配信サイト、ニュースサイト、オークションサイト、天気予報サイト、ショッピングサイト、ファイナンス(株価)サイト、路線検索サイト、地図提供サイト、旅行サイト、飲食店紹介サイト、掲示板サイト、ウェブブログなどに関連する情報がタイル状に配置されたコンテンツを端末装置100に配信する。
端末装置100は、スマートフォンやタブレット等のスマートデバイスであり、3G(3rd Generation)やLTE(Long Term Evolution)等の無線通信網を介して任意のサーバ装置と通信を行うことができる携帯端末装置である。なお、端末装置100は、スマートデバイスのみならず、デスクトップPC(Personal Computer)やノートPC等の情報処理装置であってもよい。
〔1−2.情報処理システムの動作〕
以下、情報処理システム1の動作について説明する。
まず、情報処理サーバ10は、端末装置100(図1の例では端末装置1001)からコンテンツの配信要求を受け付ける。コンテンツの配信要求を受け付けたら、情報処理サーバ10は、コンテンツの配信要求を行った端末装置100に対して、コンテンツを配信する。
図2は、実施形態に係る端末装置100にコンテンツが表示された様子を示す図である。図2の状態D11の例では、端末装置100が備える表示装置(以下、画面ともいう。)に、複数のコンテンツが配置されたコンテンツC11が表示されている。コンテンツC11は、画像(例えば、静止画、動画)、テキスト情報(例えば、ニュース記事)等、複数のコンテンツがタイル状に配置された配置面の情報である。例えば、コンテンツC11は、端末装置100にインストールされたアプリケーション(以下、アプリという。)に表示する画面の情報である。なお、コンテンツC11は、端末装置100が備える記憶装置に予めインストールされたデータ(例えば、地図データ等のコンテンツデータ)に基づき生成されてもよい。また、コンテンツC11は、ページの情報(例えば、ウェブページの情報)であってもよい。
本実施形態では、コンテンツC11はECサイトやポータルサイトのページであり、ページが発信対象とする情報を含むコンテンツC21(第1のコンテンツ)を含んでいる。コンテンツC21は、例えば、商品情報や記事である。図2の状態D11の例では、コンテンツC21は、ニュース記事となっている。また、コンテンツC21にはコメントを投稿可能であり、複数のコメントが投稿されている。コンテンツC11には複数のコメントの中から選択された所定数のコメントが表示されている。図2の状態D11の例では、コンテンツC11には、コンテンツC21に対する3つのコメントT21、T31、T41が表示されている。
各コメントを表示するタイルにはコメントに対する返信の数やコメントに対する評価の情報が付されている。例えば、コメントT21を表示するタイルには、返信情報R21と評価情報E21が付されている。返信情報R21は、コメントT21に対する返信の数を示す。図2の状態D11の例では、返信情報R21として“返信:51”が表示されている。この例は、コメントT21に対して51件の返信がなされたことを示している。また、図2の状態D11の例では、評価情報E21として、肯定的評価を示す画像(親指を上向きに立てた手の画像)、否定的評価を示す画像(親指を下向きに立てた手の画像)、“121”、及び“8”が表示されている。この例は、コメントT21に対して121件の肯定的評価と8件の否定的評価がなされたことを示している。
また、コメントT31を表示するタイルには、返信情報R31と評価情報E31が付されている。返信情報R31は、コメントT31に対して行われた返信の数を示す。図2の状態D11の例では、返信情報R12として“返信:43”が表示されている。この例は、コメントT31に対して43件の返信がなされたことを示している。また、図2の状態D11の例では、評価情報E31として、肯定的評価を示す画像、否定的評価を示す画像、“110”、及び“10”が表示されている。この例は、コメントT31に対して110件の肯定的評価と10件の否定的評価がなされたことを示している。
また、コメントT41を表示するタイルには、返信情報R41と評価情報E41が付されている。返信情報R41は、コメントT41に対しする返信の数を示す。図2の状態D11の例では、返信情報R41として“返信:36”が表示されている。この例は、コメントT41に対して36件の返信がなされたことを示している。また、図2の状態D11の例では、評価情報E41として、肯定的評価を示す画像、否定的評価を示す画像、“103”、及び“12”が表示されている。この例は、コメントT41に対して103件の肯定的評価と12件の否定的評価がなされたことを示している。
また、コンテンツC11には、コンテンツC21と共に表示された所定数のコメント以外のコメントを表示するためのボタン(操作手段)が配置されている。図2の状態D11の例では、この操作手段として、コンテンツC21に対する全てのコメントを表示するためのボタンB22が配置されている。ユーザがボタンB22を押すと、端末装置100は、情報処理サーバ10に対して、コンテンツC21に対する全てのコメントの配信を要求する。情報処理サーバ10は配信要求を受け取ると、コンテンツC21に対する全てのコメントが含まれるコンテンツ(或いは、全コメントを規定数(例えば10件)ずつ表示するためのコンテンツ)を配信する。
また、コンテンツC11には、コンテンツC21(第1のコンテンツ)に対するコメントを投稿するためのコンテンツを表示するボタンB21が表示されている。ユーザがボタンB21を押すと、端末装置100は、情報処理サーバ10に対して、コンテンツC21に対するコメントを投稿するためのコンテンツの配信を要求する。以下の説明では、第1のコンテンツ(例えば、記事)に対するコメントを投稿するためのコンテンツ(例えば、アプリの画面やページ)のことをコメント投稿コンテンツという。情報処理サーバ10は、配信要求を受け取ると、コンテンツC21に対するコメント投稿コンテンツであるコンテンツC12を配信する。端末装置100は、コンテンツC12の配信を受けると、図2の状態D12に示すように、コンテンツC12を画面に表示する。
コンテンツC12にはコメントを入力するためのテキストボックスTB1が含まれている。また、コンテンツC12にはテキストボックスTB1に入力されたコメントを所定のサイトに投稿するためのボタンB1が含まれている。ユーザがボタンB1を押すと、端末装置100はテキストボックスTB1に入力されたコメントを情報処理サーバ10に送信する(図1のステップS1)。このとき、端末装置100はコメント対象のコンテンツの識別情報とともにコメントを情報処理サーバ10に送信してもよい。図1の例ではコンテンツC21がコメント対象のコンテンツ(第1のコンテンツ)である。情報処理サーバ10はコメントを受信すると、受信したコメントを行動履歴データベースに登録する。
行動履歴データベースには、複数のユーザそれぞれの行動履歴(例えば、ネットワークを介して行ったユーザの行動の履歴)が格納されている。行動履歴には、第1のコンテンツへのコメントに関する行動の情報(例えば、コメント履歴、評価履歴等)が含まれている。行動履歴データベースには、図1に示すように、「ユーザID」、「コメント履歴」、「評価履歴」、及び「購入履歴」といった項目を有する情報が登録される。
「ユーザID」は、行動履歴の記録対象となるユーザの識別情報である。図1の例では、ユーザIDとしてU1〜U4等の情報が格納されている。なお、以下の説明では、行動履歴の記録対象のユーザのことを「対象ユーザ」ということがある。
また、「コメント履歴」は、ユーザIDで特定されるユーザ(対象ユーザ)が行ったコメントの履歴である。コメントもユーザの行動の一種である。図1の例では、行動履歴データベースには、ユーザU1、U2、U3、U4それぞれのコメント履歴として、コメント履歴H11、H21、H31、H41が格納されている。
図3は、行動履歴データベースに格納されるコメント履歴の一例を示す図である。図3に示したコメント履歴は、1人のユーザのコメント履歴である。行動履歴データベースには、複数のユーザそれぞれについて、図3に示したコメント履歴と同様のコメント履歴が登録される。コメント履歴には、図3に示すように、「コメント」、「対象コンテンツ」、「評価情報」、「主体」、及び「極性」といった項目を有する情報が登録される。
「コメント」は、ユーザIDで特定されるユーザがコンテンツ(例えば、ニュース記事)に対して行ったコメント(対象ユーザが投稿したコメント)を示す。なお、図3に示す例では、「コメント」には「T11」〜「T15」といった概念的な情報が格納されているが、テキストデータ、画像データ、音声データ等、コメントのデータそのものが格納されていてもよい。なお、「コメント」には、各コメントのデータが所在するURL、または、これらの格納場所を示すファイルパス名などが格納されていてもよい。
また、「対象コンテンツ」は、「コメント」で特定されるコメントがコメント対象とするコンテンツを示す。ここで、コメント対象のコンテンツは、例えば、コンテンツパートナー等から入稿されたコンテンツ(例えば、ニュース記事)である。なお、図3に示す例では、「対象コンテンツ」には「C21」〜「C25」といった概念的な情報が格納されているが、音声データ、画像データ、テキストデータ、ゲームデータ、ゲーム形式の広告データ等、コンテンツのデータそのものが格納されていてもよい。なお、「対象コンテンツ」には、各コンテンツのデータが所在するURL、または、これらの格納場所を示すファイルパス名などが格納されていてもよい。
また、「評価情報」は、「コメント」で示されるコメントに対する他のユーザからの評価を示す。情報処理サーバ10は、所定数のコメントの中の1又は複数のコメントに対するユーザの反応情報に基づき評価情報を更新する。反応情報は、例えば、端末装置100に表示されたGood/Bad等のボタンが押されたという情報や、ユーザがコメントに対して返信したという情報である。なお、反応情報は、上記に限られない。
「評価情報」には、「Good」、「Bad」、及び「返信数」といった項目を有する情報が登録される。「Good」及び「Bad」は、コメントに対して他のユーザが行った評価の数を示す。「Good」は、コメントに対する肯定的評価の数を示し、「Bad」はコメントに対する肯定的評価の数を示す。図3の例では、コメントT11に対して101件の肯定的評価と9件の否定的評価がなされたことが分かる。また、「返信数」は「コメント」で示されるコメントに対する返信数を示す。図3の例では、コメントT11に対して52件の返信がなされたことが分かる。
「Good」、「Bad」、及び「返信数」のカウントは情報処理サーバ10が行う。例えば、図2の状態D11の例で、ユーザがコメントT11のタイル中のGoodボタンを押したとする。このとき、情報処理サーバ10は、コメントT11のGoodに1を加算する。また、ユーザがコメントT11のタイル中のBadボタンを押したとする。このとき、情報処理サーバ10は、コメントT11のBadに1を加算する。また、ユーザがコメントT11のタイル中の返信のリンクをタップし、コメントT11に対して返信コメントを投稿したとする。このとき、情報処理サーバ10は、コメントT11の返信数に1を加算する。
「主体」には、「コメント」で示されるコメントにおいてコメント対象となっている主体の情報が格納される。なお、図3に示す例では、「主体」には「A」〜「C」といった概念的な情報が格納されているが、テキストデータ等、主体の情報そのものが格納されていてもよい。なお、以下の説明では、コメント中のコメント対象となっている主体のことを単に「主体」と呼ぶことがある。
「極性」には、「コメント」で示されるコメントが肯定的か否定的か(例えば、コメント対象の主体に対してコメントが肯定的か否定的か)を示す情報が格納される。図3に示す例では、「主体」には「N」、「P」といった情報が格納されている。Nは否定的であることを示し、Pは肯定的であることを示す。
「主体」、及び「極性」の判別は情報処理サーバ10が行う。例えば、情報処理サーバ10は、複数のコメントそれぞれについて、コメント対象となっている「主体」を判別する。また、情報処理サーバ10は、複数のコメントそれぞれについて、「極性」(例えば、コメントが肯定的か否定的か)を判別する。図4は、情報処理サーバ10がコメントを解析する様子を示す図である。図4には、情報処理サーバ10がコメントT11とコメントT15を解析する様子が示されている。
コメントT11は「XX協会はとてもひどい」という内容のコメントである。情報処理サーバ10はコメントT11においてコメント対象となっている主体を特定する。例えば、情報処理サーバ10はコメントT11の構文解析(例えば、形態素解析)を行う。そして、情報処理サーバ10は、主語部分である「XX協会」を、コメントT11におけるコメント対象の主体(主体A)と判別する。さらに、情報処理サーバ10はコメントT11が肯定的な内容か否定的な内容かを判別する。例えば、情報処理サーバ10は肯定的内容のワードが登録されたポジティブ辞書と否定的内容のワードが登録されたネガティブ辞書を予め保持する。そして、情報処理サーバ10はコメントT11の構文解析を行うことによりコメントT11の述語部分を判別する。図4の例では「ひどい」がコメントT11の述語部分である。そして、情報処理サーバ10はコメントT11の述語部分をポジティブ辞書及びネガティブ辞書に照合することにより、コメントT11の述語部分が肯定的内容か否定的内容か判別する。情報処理サーバ10は、コメントT11の述語部分が肯定的内容の場合はコメントT11が肯定的であると判別し、コメントT11の述語部分が否定的内容の場合はコメントT11が否定的であると判別する。図4の例ではコメントT11の述語部分である「ひどい」は否定的内容であるので、コメントT11が否定的であると判別する。図4に示す“N”はコメントT11が否定的であることを示す。なお、情報処理サーバ10がコメント対象の主体を解析する手法は上記に限られず、他の様々な手法(例えば、既知の意図解析技術)を使用可能である。
コメントT15は「YY監督はすごい」という内容のコメントである。情報処理サーバ10はコメントT15においてコメント対象となっている主体を特定する。例えば、情報処理サーバ10はコメントT15の構文解析(例えば、形態素解析)を行う。そして、情報処理サーバ10は、主語部分である「YY監督」を、コメントT15におけるコメント対象の主体(主体B)と判別する。さらに、情報処理サーバ10はコメントT15が肯定的な内容か否定的な内容かを判別する。例えば、情報処理サーバ10は肯定的内容のワードが登録されたポジティブ辞書と否定的内容のワードが登録されたネガティブ辞書を予め保持する。そして、情報処理サーバ10はコメントT15の構文解析を行うことによりコメントT15の述語部分を判別する。図4の例では「すごい」がコメントT15の述語部分である。そして、情報処理サーバ10はコメントT15の述語部分をポジティブ辞書及びネガティブ辞書に照合することにより、コメントT15の述語部分が肯定的内容か否定的内容か判別する。情報処理サーバ10は、コメントT15の述語部分が肯定的内容の場合はコメントT15が肯定的であると判別し、コメントT15の述語部分が否定的内容の場合はコメントT15が否定的であると判別する。図4の例ではコメントT15の述語部分である「すごい」は肯定的内容であるので、コメントT15が肯定的であると判別する。図4に示す“P”はコメントT15が肯定的であることを示す。なお、情報処理サーバ10がコメントの極性を解析する手法は上記に限られず、他の様々な手法(例えば、既知の意図解析技術)を使用可能である。
情報処理サーバ10は、複数のコメントをそれぞれ解析し、解析結果に基づいてコメントの主体及び極性を判別する。そして、情報処理サーバ10は、主体及び極性の判別結果を図3に示すコメント履歴の「主体」及び「極性」の項目に格納する。
図1に示す行動履歴データベースには、「ユーザID」や「コメント履歴」に加えて「評価履歴」が登録されている。「評価履歴」は、ユーザIDで特定されるユーザ(対象ユーザ)が行ったコメントへの評価の情報が格納されている。コメントへの評価(例えば、肯定的評価、否定的評価、コメントへの返信)もユーザの行動の一種である。図1の例では、行動履歴データベースには、ユーザU1、U2、U3、U4それぞれの評価履歴として、評価履歴H12、H22、H32、H42が格納されている。評価履歴は、ユーザがコメントに対して評価を行う度に情報処理サーバ10が更新する。
図5は、行動履歴データベースに格納される評価履歴の一例を示す図である。図5に示した評価履歴は、1人のユーザの評価履歴である。行動履歴データベースには、複数のユーザそれぞれについて、図5に示した評価履歴と同様の評価履歴が登録される。評価履歴には、図5に示すように、「対象コメント」、「Good」、「Bad」、「返信」、「主体」、及び「極性」といった項目を有する情報が登録される。
「対象コメント」は、評価対象のコメントを示す。また、「Good」及び「Bad」は、「対象コメント」で特定されるコメントに対して対象ユーザが付した評価を示す。「Good」は、対象コメントで示されるコメントに対して対象ユーザが肯定的評価を行ったか否かを示し、「Bad」は対象コメントで示されるコメントに対してユーザが否定的評価を行ったか否かを示す。例えば、図5に示した評価履歴がユーザU1の評価履歴H12であるとすると、図5の例では、ユーザU1はコメントT21とコメントT43に対して肯定的評価をしており、コメントT31とコメントT52に対して否定的評価をしていることが分かる。
なお、肯定的評価及び否定的評価は、文章(sentence)の入力を伴わない評価であってもよい。以下の説明では、文章の入力を伴わない評価のことを「簡易評価」ということがある。簡易評価は、例えば、ボタン操作のみで行うことが可能な評価である。なお、ここでいうボタンには、端末装置100が備えるハードウェアのボタンのみならず、端末装置100の画面に表示されたボタン(例えば、画像のボタン)も含まれる。本実施形態では、Good及びBadは端末装置100の画面に表示され、ボタン操作のみで完了する簡易評価である。ボタン操作は、例えば、タップ等のタッチパネル操作、クリック等のマウス操作、リターンキーの押下等のキー操作、及びこれらの組み合わせた操作である。
また、「返信」は「コメント」で示されるコメントに対して対象ユーザが返信を行ったか否かを示す。仮に、図5に示した評価履歴がユーザU1の評価履歴H12であるとすると、図5の例では、ユーザU1はコメントT21とコメントT43に対して返信のコメントをしていることが分かる。
「主体」及び「極性」は、「対象コメント」で示されるコメントの解析情報であり、「対象コメント」で示されるコメントの内容に関する情報である。「主体」には、「対象コメント」で示されるコメントにおいてコメント対象となっている主体の情報が格納される。「極性」には、「対象コメント」で示されるコメントが肯定的か否定的かを示す情報が格納される。「主体」及び「極性」は図3に示す「主体」及び「極性」と同様である。
図1に示す行動履歴データベースには、「ユーザID」、「コメント履歴」及び「評価履歴」に加えて「購入履歴」が登録される。「購入履歴」は、ユーザIDで特定されるユーザ(対象ユーザ)の商品及びサービスの購入履歴が格納されている。商品やサービスの購入もユーザの行動の一種である。図1の例では、行動履歴データベースには、ユーザU1、U2、U3、U4それぞれの購入履歴として、購入履歴H13、H23、H33、H43が格納されている。購入履歴は、例えば、所定のサイト(例えば、ECサイト)を介して、対象ユーザが商品或いはサービスを購入する度に情報処理サーバ10が更新する。
図6は、行動履歴データベースに格納される購入履歴の一例を示す図である。購入履歴には、図6に示すように、「商品」、及び「サービス」といった項目を有する情報が登録される。なお、図6には、複数のユーザの購入履歴が示されている。購入履歴がどのユーザの購入履歴かを理解容易にするため、図6には、「ユーザID」の項目も付している。図6に示した「ユーザID」の項目は図1に示す行動履歴データベースの「ユーザID」に相当する。
「商品」は対象ユーザが購入した商品を示す。図6の例では、「商品」の項目に、A11、A12、A13等の項目が含まれている。A11、A12、及びA13は商品の識別情報である。また、「サービス」は対象ユーザが購入したサービス(例えば、音楽のダウンロードサービス、ホテルの宿泊サービス、携帯端末の通信サービス等)である。図6の例では、「サービス」の項目に、A21、A22等の項目が含まれている。A21、及びA22はサービスの識別情報である。図6の例では、ユーザU1は、これまでに、商品A11、A12、A13、及びサービスA21を購入していることが分かる。また、図6の例では、ユーザU2は、これまでに、商品A11、A12、及びサービスA21を購入していることが分かる。
次に、情報処理サーバ10は、所定のユーザが操作する端末装置100からコンテンツの配信要求を受け付ける(図1のステップS2)。以下の説明では、ユーザU2が操作する端末装置1002から配信要求を受け付けたものとして説明する。情報処理サーバ10は、コンテンツの配信要求を受け付けたら、行動履歴データベースに行動履歴が登録されている複数のユーザそれぞれの特徴情報を生成し、特徴情報データベースに登録する(ステップS3)。本実施形態では、情報処理サーバ10は、ユーザの特徴情報を当該ユーザの行動履歴に基づき生成する。
図7は、情報処理サーバ10が特徴情報を生成する様子を示す図である。具体的には、図7は、ユーザU1の特徴情報F1を生成する様子を示す図である。まず、情報処理サーバ10は、図1に示す行動履歴データベースからユーザU1の行動履歴を取得する。情報処理サーバ10が取得する行動履歴は、ユーザU1のコメント履歴H11であってもよいし、評価履歴H12であってもよい。また、情報処理サーバ10が取得する行動履歴は、ユーザU1の購入履歴H13であってもよい。また、情報処理サーバ10が取得する行動履歴は、ユーザU1のコメント履歴H11、評価履歴H12、及び購入履歴H13のうちの複数の行動履歴が含まれていてもよい。勿論、情報処理サーバ10が取得する行動履歴には、コメント履歴H11、評価履歴H12、及び購入履歴H13以外の行動履歴が含まれていてもよい。
そして、情報処理サーバ10は、図7に示すように、モデルM1を使ってユーザU1の行動履歴から特徴情報F1を生成する。モデルM1は、複数のユーザの行動履歴と、当該ユーザの特徴(例えば、ユーザの行動に関する特徴)を示す情報と、を学習データとして、対象ユーザの行動履歴を入力した時に当該ユーザの特徴情報を出力するよう学習した学習済みモデルである。特徴情報は、例えば、高次元(例えば、10次元以上)のベクトル情報である。
情報処理サーバ10は、ユーザU2を含む複数のユーザそれぞれについて特徴情報を生成し、図1に示す特徴情報データベースに登録する。図1の例では、ユーザU1の特徴情報として特徴情報F1が登録され、ユーザU2の特徴情報として特徴情報F2が登録され、ユーザU3の特徴情報として特徴情報F3が登録され、ユーザU4の特徴情報として特徴情報F4が登録されている。
情報処理サーバ10は、複数のユーザそれぞれの特徴情報に基づいて、複数の対象の中から、所定のユーザに対する処理に用いられる対象(以下、適用対象ともいう。)を判別する。ここで「所定のユーザに対する処理」は、例えば、所定のユーザへのコンテンツの送信である。このとき、「対象」は、広告コンテンツであってもよいし、広告コンテンツの広告対象であってもよい。広告対象は、例えば、商品やサービス等のアイテムである。なお、アイテムは商品やサービスに限られない。アイテムコードが付与され得る対象は全てアイテムとみなすことができる。ここでアイテムコードは、例えば、JAN(Japanese Article Number)コードやEAN(European Article Number)コード等の商品コードに含まれるアイテムコードであってもよい。
情報処理サーバ10は、例えば、次の通り対象を判別する。まず、情報処理サーバ10は、複数のユーザそれぞれについてユーザU2(所定のユーザ)との類似度を算出する(図1のステップS4)。類似度は、ユーザ間の類似の高さを示す情報である。情報処理サーバ10は、ステップS3で算出した特徴情報に基づいて類似度を算出する。特徴情報がベクトル情報なのであれば、情報処理サーバ10は、ユーザU2の特徴情報と他のユーザの特徴情報のコサイン類似度を類似度としてもよい。図1の例では、情報処理サーバ10は、ユーザU2とユーザU1の類似度は0.82と算出している。また、図1の例では、情報処理サーバ10は、ユーザU2とユーザU3の類似度は0.03と算出している。図1の例では、情報処理サーバ10は、ユーザU2とユーザU4の類似度は0.21と算出している。
そして、情報処理サーバ10は、算出した類似度に基づいて、複数のユーザの中からユーザU2(所定のユーザ)に特徴が類似する類似ユーザを特定する。例えば、情報処理サーバ10は、複数のユーザのうち最も類似度が高いユーザをユーザU2の類似ユーザとして特定する。複数のユーザそれぞれの類似度として図1に示す類似度が算出されたのであれば、情報処理サーバ10は、類似度が0.82であるユーザU1を類似ユーザとして特定する。
そして、情報処理サーバ10は、特定した類似ユーザの情報に基づいて、複数の対象の中からユーザU2(所定のユーザ)に対する処理に用いられる対象(適用対象)を判別する。
例えば、情報処理サーバ10は、広告コンテンツと広告対象とを関連付けた広告データベースを保持している。図1には、「広告コンテンツ」と「広告対象」の項目を有する広告データベースが示されている。「広告コンテンツ」は、広告対象を宣伝するためのコンテンツであり、「広告対象」は「広告コンテンツ」で示されるコンテンツが広告対象とするアイテム(商品或いはサービス)である。図1の例では、商品A11の広告コンテンツとしてコンテンツC31が関連付けられており、商品A12の広告コンテンツとしてコンテンツC32が関連付けられており、商品A13の広告コンテンツとしてコンテンツC33が関連付けられている。
そして、情報処理サーバ10は、所定のユーザの類似ユーザが購入したアイテムのうち所定のユーザが購入していないアイテムを適用対象として判別する。例えば、ユーザU2(所定のユーザ)の類似ユーザとしてユーザU1が特定されたとする。このとき、情報処理サーバ10は、行動履歴データベースに登録された購入履歴に基づいて、ユーザU1が購入した商品或いはサービスのうち、ユーザU2が購入していない商品或いはサービスを特定する。例えば、行動履歴データベースに図6に示す購入履歴が登録されていたとする。図6を見ると、ユーザU1は商品A12を購入しているものの、ユーザU2は商品A12を購入していないことが分かる。そこで、情報処理サーバ10は、商品A12をユーザU2に対する処理(例えば、広告コンテンツの送信)に用いられる対象として判別する。
そして、情報処理サーバ10は、広告データベースから商品A12に関連付けられている広告コンテンツを所定のユーザに対する処理に適用するコンテンツ(適用コンテンツ)として判別する。図1の例であれば、情報処理サーバ10は、商品A12に関連付けられているコンテンツC32を適用コンテンツとして判別する(ステップS5)。なお、上記の例では、所定のユーザに対する処理に用いられる対象(適用対象)は広告対象であるものとしたが、適用対象は広告コンテンツ(適用コンテンツ)であってもよい。
そして、情報処理サーバ10は、適用コンテンツであるコンテンツC32を含むコンテンツC13を生成する。そして、情報処理サーバ10は、コンテンツC13を端末装置1002に送信する(ステップS6)。端末装置1002は、表示領域VにコンテンツC32が配置されたコンテンツC32を表示する。
本実施形態によれば、情報処理サーバ10は、コメントに関する行動の情報(例えば、コメント履歴、評価履歴等)を含む行動履歴に基づいて複数のユーザの特徴情報を生成するように構成されている。コメントに関する行動の情報は、ユーザの特徴をつかむには良好な情報である。特に、評価履歴に含まれるGood/Bad等の簡易評価は、ユーザにとって心理的負担が軽い気軽に行うことができる評価であるため、その数も多い。そのため、簡易評価は、ユーザの特徴をつかむには極めて好ましい情報である。情報処理サーバ10は、コメントに関する行動の情報を含む行動履歴に基づいて特徴情報を生成しているので、精度の高い特徴情報を取得できる。そして、情報処理サーバ10は、この精度の高い特徴情報に基づいて、複数の対象の中からユーザへの処理に用いられる対象を判別しているので、精度よくユーザに適した対象を判別できる。
〔2.情報処理システムの構成例〕
以上、本実施形態の情報処理システム1の動作を述べたが、以下、本実施形態の情報処理装置の一例である情報処理サーバ10を備える情報処理システム1の構成を説明する。上述したように、情報処理システム1は、端末装置100と、情報処理サーバ10と、を備える。
〔2−1.情報処理サーバの構成例〕
情報処理サーバ10は、端末装置100等のクライアントコンピュータからの要求を処理するサーバ用ホストコンピュータ(以下、単に「サーバ」という。)である。情報処理サーバ10は、PCサーバであってもよいし、ミッドレンジサーバであってもよいし、メインフレームサーバであってもよい。また、情報処理サーバ10は、1つのサーバにより構成されていてもよいし、協働して処理を実行する複数のサーバにより構成されていてもよい。情報処理サーバ10が複数のサーバで構成される場合、これらサーバの設置場所は離れていてもよい。設置場所が離れていたとしても、協働して処理を実行するのであれば、これらサーバは1つの情報処理装置(情報処理サーバ)とみなすことができる。
上述したように、情報処理サーバ10は、端末装置100とネットワークを介して接続されている。ネットワークは、LAN(Local Area Network)、WAN(Wide Area Network)、電話網(携帯電話網、固定電話網等)、地域IP(Internet Protocol)網、インターネット等の通信ネットワークである。ネットワークには、有線ネットワークが含まれていてもよいし、無線ネットワークが含まれていてもよい。
図8は、実施形態に係る情報処理サーバ10の構成例を示す図である。情報処理サーバ10は、通信部11と、記憶部12と、制御部13と、を備える。なお、図8に示した構成は機能的な構成であり、ハードウェア構成はこれとは異なっていてもよい。
通信部11は、外部の装置と通信する通信インタフェースである。通信部11は、ネットワークインタフェースであってもよいし、機器接続インタフェースであってもよい。例えば、通信部11は、NIC(Network Interface Card)等のLANインタフェースであってもよいし、USB(Universal Serial Bus)ホストコントローラ、USBポート等により構成されるUSBインタフェースであってもよい。また、通信部11は、有線インタフェースであってもよいし、無線インタフェースであってもよい。通信部11は、情報処理サーバ10の通信手段として機能する。通信部11は、制御部13の制御に従って端末装置100と通信する。
記憶部12は、DRAM(Dynamic Random Access Memory)、SRAM(Static Random Access Memory)、フラッシュメモリ、ハードディスク等のデータ読み書き可能な記憶装置である。記憶部12は、情報処理サーバ10の記憶手段として機能する。記憶部12は、行動履歴データベース121、特徴情報データベース122、広告データベース123、及びモデルデータベース124を記憶する。
行動履歴データベース121には、各ユーザの行動履歴が登録される。行動履歴データベース121は、図1に示した行動履歴データベースと同様である。
特徴情報データベース122には、各ユーザの特徴情報が登録される。特徴情報データベース122は、図1に示した特徴情報データベースと同様である。
広告データベース123には、各ユーザへの配信対象となる広告の情報が登録される。広告データベース123は、図1に示した広告データベースと同様である。
モデルデータベース124には、情報処理サーバ10が有するモデルのデータが登録される。図9は、モデルデータベース124に登録される情報の一例を示す図である。図9に示す例では、モデルデータベース124には、「モデルID」、および「モデルデータ」といった情報が登録されている。
ここで、「モデルID」は、各モデルを識別するための情報である。また、「モデルデータ」は、対応付けられた「モデルID」が示すモデルのデータであり、例えば、各層におけるノードと、各ノードが採用する関数と、ノードの接続関係と、ノード間の接続に対して設定される接続係数とを含む情報である。
例えば、図9に示す例では、モデルID「4001」およびモデルデータ「M1」といった情報が対応付けて登録されている。このような情報は、例えば、「4001」が示すモデルのデータが「M1」である旨を示す。なお、図9に示す例では、モデルデータベース124に登録される情報として、「M1〜M4」といった概念的な情報を記載したが、実際には、モデルの構造や接続係数を示す文字列や数値等が登録されることとなる。以下、M1〜M4等を総称してモデルMということがある。
モデルMは、複数のユーザの行動履歴(例えば、コメント履歴、評価履歴等)を学習データとして、所定のユーザの行動履歴を入力した時に当該ユーザの行動に関する特徴情報(例えば、行動履歴の分散表現となるベクトル)を出力するよう学習したモデルである。このようなモデルMは、回答能力情報を入力する入力層と、特徴情報を出力する出力層と、入力層から出力層までのいずれかの層であって出力層以外の層に属する第1要素と、第1要素と第1要素の重みとに基づいて値が算出される第2要素と、を含み、入力層に入力された情報に対し、出力層以外の各層に属する各要素を第1要素として、第1要素と第1要素の重み(すなわち、接続係数)とに基づく演算を行うことにより、入力層に入力された回答能力情報に応じて、当該ユーザの行動の特徴を示す特徴情報を出力層から出力するよう、コンピュータを機能させるためのモデルである。
ここで、モデルMが「y=a1*x1+a2*x2+・・・+ai*xi」で示す回帰モデルで実現されるとする。この場合、モデルMが含む第1要素は、x1やx2等といった入力データ(xi)に対応する。また、第1要素の重みは、xiに対応する係数aiに対応する。ここで、回帰モデルは、入力層と出力層とを有する単純パーセプトロンと見做すことができる。各モデルを単純パーセプトロンと見做した場合、第1要素は、入力層が有するいずれかのノードに対応し、第2要素は、出力層が有するノードと見做すことができる。
また、モデルMがDNN(Deep Neural Network)等、1つまたは複数の中間層を有するニューラルネットワークで実現されるとする。この場合、モデルMが含む第1要素は、入力層または中間層が有するいずれかのノードに対応する。また、第2要素は、第1要素と対応するノードから値が伝達されるノードである次段のノードに対応する。また、第1要素の重みは、第1要素と対応するノードから第2要素と対応するノードに伝達される値に対して考慮される重みである接続係数に対応する。
情報処理サーバ10は、上述した回帰モデルやニューラルネットワーク等、任意の構造を有するモデルを用いて、出力する情報の算出を行う。具体的には、モデルMは、ユーザの行動履歴が入力された場合に、当該行動履歴の特徴情報(ユーザの行動に関する特徴情報)を出力するように係数が設定される。
なお、上記例では、モデルMが、ユーザの行動履歴が入力された場合に当該行動履歴の特徴情報(ユーザの行動の特徴を示す特徴情報)を出力するモデル(以下、モデルM11という。)である例を示した。しかし、実施形態に係るモデルMは、モデルM11にデータの入出力を繰り返すことで得られる結果に基づいて生成されるモデルであってもよい。
また、情報処理サーバ10がGAN(Generative Adversarial Networks)を用いた学習処理或いは生成処理を行う場合、モデルMは、GANの一部を構成するモデルであってもよい。
図8に戻り、制御部13は、コントローラ(controller)であり、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)等のプロセッサによって、情報処理サーバ10内部の記憶装置に記憶されている各種プログラムがRAM等を作業領域として実行されることにより実現される。また、制御部13は、コントローラであり、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実現されてもよい。
制御部13は、図8に示すように、取得部131と、学習部132と、判別部133と、生成部134と、送信部135と、を備える。制御部13を構成するブロック(取得部131〜送信部135)はそれぞれ制御部13の機能を示す機能ブロックである。これら機能ブロックはソフトウェアブロックであってもよいし、ハードウェアブロックであってもよい。例えば、上述の機能ブロックが、それぞれ、ソフトウェア(マイクロプログラムを含む。)で実現される1つのソフトウェアモジュールであってもよいし、半導体チップ(ダイ)上の1つの回路ブロックであってもよい。勿論、各機能ブロックがそれぞれ1つのプロセッサ或いは1つの集積回路であってもよい。機能ブロックの構成方法は任意である。なお、制御部13は上述の機能ブロックとは異なる機能単位で構成されていてもよい。
取得部131は、複数のユーザそれぞれの行動履歴であってニュース記事へのコメントに関する情報を含む行動履歴を取得する。このとき、取得部131は、行動履歴の記録対象のユーザが投稿したコメントの情報が含まれる行動履歴を取得する。また、取得部131は、行動履歴の記録対象のユーザが投稿したコメントに対する返信の数を示す情報が含まれる行動履歴を取得してもよい。また、取得部131は、行動履歴の記録対象のユーザが投稿したコメントの内容が肯定的か否定的かを示す情報が含まれる行動履歴を取得してもよい。また、取得部131は、行動履歴の記録対象のユーザが投稿したコメント中のコメント対象となっている主体と、該コメントが肯定的か否定的かを示す情報と、が含まれる行動履歴を取得してもよい。
また、コメントには、文章の入力を伴わない評価を付すことが可能であってもよい。そして、取得部131は、行動履歴の記録対象のユーザがコメントに対して付した評価の情報が含まれる行動履歴を取得してもよい。
また、コメントには、ボタン操作のみで行うことが可能な評価を付すことが可能であってもよい。そして、取得部131は、行動履歴の記録対象のユーザがコメントに対して付した評価の情報が含まれる行動履歴を取得してもよい。
また、取得部131は、行動履歴の記録対象のユーザがコメントに対して付した評価の情報と、該ユーザが評価を付したコメントの内容に関する情報と、が含まれる行動履歴を取得してもよい。
学習部132は、モデルMの学習を行い、学習したモデルMをモデルデータベース124に格納する。より具体的には、学習部132は、回答能力情報をモデルMに入力した際に、モデルMが回答能力情報の特徴情報を出力するように、モデルMの接続係数の設定を行う。すなわち、学習部132は、回答能力情報をモデルMに入力した際に、モデルMが特徴情報を出力するように、モデルMの学習を行う。
例えば、学習部132は、モデルMが有する入力層のノードにユーザの行動履歴を入力し、各中間層を辿ってモデルMの出力層までデータを伝播させることで、行動履歴の特徴情報(ユーザの行動の特徴を示す特徴情報)を出力させる。そして、学習部132は、モデルMが実際に出力した特徴情報と、学習データに含まれる特徴情報との差に基づいて、モデルMの接続係数を修正する。例えば、学習部132は、バックプロパゲーション等の手法を用いて、接続係数の修正を行ってもよい。このとき、学習部132は、特徴情報がベクトルなのであれば、学習データに含まれる特徴情報(ベクトル)とモデルMが実際に出力したベクトルとのコサイン類似度に基づいて、接続係数の修正を行ってもよい。
なお、学習部132は、いかなる学習アルゴリズムを用いてモデルMを学習してもよい。例えば、学習部132は、ニューラルネットワーク、サポートベクターマシン(support vector machine)、クラスタリング、強化学習等の学習アルゴリズムを用いて、モデルMを学習してよい。
判別部133は、行動履歴に基づく複数のユーザそれぞれの特徴情報に基づいて、複数の対象の中から、複数のユーザ中の所定のユーザに対する処理に用いられる対象を判別する。
例えば、判別部133は、複数のユーザそれぞれの特徴情報に基づいて、複数のユーザの中から所定のユーザに特徴が類似するユーザを特定し、特定したユーザの情報に基づいて、複数の対象の中から所定のユーザに対する処理に用いられる対象を判別してもよい。
また、対象は広告コンテンツであってもよい。このとき、判別部133は、複数のユーザそれぞれの特徴情報に基づいて、複数の広告コンテンツの中から、所定のユーザへ送信する広告コンテンツを判別してもよい。
また、対象はアイテムであってもよい。このとき、判別部133は、複数のユーザそれぞれの特徴情報に基づいて、複数のアイテムの中から、所定のユーザへの情報送信の対象となるアイテムを判別してもよい。
生成部134は、判別部133で判別した対象を含む所定のコンテンツを生成する。
送信部135は、判別部133で判別した対象を含む所定のコンテンツを端末装置100に送信する。
〔2−2.端末装置の構成例〕
次に、端末装置100の構成について説明する。端末装置100は、ユーザがコンテンツの閲覧に使用する情報表示装置である。端末装置100は、例えば、スマートフォン、タブレット、携帯電話等の通信端末である。通信機能を備えるのであれば、端末装置100は、パーソナルコンピュータ(ノートPC、デスクトップPC)、PDA(Personal Digital Assistant)等の情報処理端末であってもよい。この場合、情報処理端末も通信端末の一種である。端末装置100は、ネットワークを介して情報処理サーバ10と接続する。
図10は、実施形態に係る端末装置100の構成例を示す図である。端末装置100は、通信部110と、入力部120と、記憶部130と、出力部140と、制御部150と、を備える。なお、図10に示した構成は機能的な構成であり、ハードウェア構成はこれとは異なっていてもよい。
通信部110は、外部の装置と通信する通信インタフェースである。通信部110は、ネットワークインタフェースであってもよいし、機器接続インタフェースであってもよい。例えば、通信部110は、NIC等のLANインタフェースであってもよいし、USBホストコントローラ、USBポート等により構成されるUSBインタフェースであってもよい。また、通信部110は、有線インタフェースであってもよいし、無線インタフェースであってもよい。通信部110は、端末装置100の通信手段として機能する。通信部110は、制御部150の制御に従って情報処理サーバ10と通信する。
入力部120は、外部から各種入力を受け付ける入力装置である。例えば、入力部120は、キーボードやマウスや操作キー等、ユーザが各種操作を行うための操作装置である。入力部120は、端末装置100の入力手段として機能する。なお、端末装置100にタッチパネルが採用される場合には、タッチパネルも入力部120に含まれる。この場合、ユーザは、指やスタイラスで画面をタッチすることにより各種操作を行う。
記憶部130は、DRAM(Dynamic Random Access Memory)、SRAM(Static Random Access Memory)、フラッシュメモリ、ハードディスク等のデータ読み書き可能な記憶装置である。記憶部130は、端末装置100の記憶手段として機能する。記憶部130は、アプリケーションのデータが格納されている。アプリケーションのデータは、ウェブブラウザのデータであってもよい。
出力部140は、音、光、振動、画像等、外部に各種出力を行う装置である。出力部140は、端末装置100の出力手段として機能する。出力部140は、各種情報を表示する表示装置を備える。表示装置は、例えば、液晶ディスプレイ、有機EL(Electro Luminescence)ディスプレイである。なお、端末装置100にタッチパネルが採用される場合には、表示装置(以下、画面という。)は入力部120と一体であってもよい。出力部140は、制御部150の制御に従って、画面に画像を表示する。
制御部150は、コントローラであり、例えば、CPU、MPU等のプロセッサによって、端末装置100内部の記憶装置に記憶されている各種プログラムがRAM等を作業領域として実行されることにより実現される。また、制御部150は、コントローラであり、例えば、ASICやFPGA等の集積回路により実現されてもよい。
制御部150は、図10に示すように、表示部151と、表示制御部152と、を備える。制御部150を構成するブロック(表示部151と、表示制御部152)はそれぞれ制御部150の機能を示す機能ブロックである。これら機能ブロックはソフトウェアブロックであってもよいし、ハードウェアブロックであってもよい。例えば、上述の機能ブロックが、それぞれ、ソフトウェア(マイクロプログラムを含む。)で実現される1つのソフトウェアモジュールであってもよいし、半導体チップ(ダイ)上の1つの回路ブロックであってもよい。勿論、各機能ブロックがそれぞれ1つのプロセッサ或いは1つの集積回路であってもよい。機能ブロックの構成方法は任意である。なお、制御部150は上述の機能ブロックとは異なる機能単位で構成されていてもよい。
表示部151は、情報処理サーバ10から送信された所定のコンテンツ(例えば、図1に示すコンテンツC32)を画面に表示する。
表示制御部152は、情報処理サーバ10から送信された制御情報に従って画面に表示された所定のコンテンツの表示態様を変更する。
〔3.情報処理サーバの処理フロー〕
次に、情報処理サーバ10が実行する処理の手順について説明する。図11は、情報送信処理の一例を示すフローチャートである。
まず、情報処理サーバ10は、ユーザが操作する端末装置100からコンテンツ(例えば、コンテンツC21を含む所定のコンテンツ)の配信要求を受信したか判別する(ステップS11)。配信要求を受信していない場合(ステップS11:No)、情報処理サーバ10は、配信要求を受信するまでステップS11を繰り返す。
配信要求を受信した場合(ステップS11:Yes)、情報処理サーバ10は、行動履歴データベース121から複数のユーザの行動履歴を取得する(ステップS12)。そして、情報処理サーバ10は、ステップS12で取得した行動履歴に基づいて、複数のユーザそれぞれの特徴情報を生成する(ステップS13)。情報処理サーバ10は、特徴情報を特徴情報データベース122に保存する。
続いて、情報処理サーバ10は、特徴情報データベース122に保存した特徴情報に基づいて、コンテンツの配信要求を行ったユーザと複数のユーザそれぞれとの類似度を算出する(ステップS14)。そして、情報処理サーバ10は、配信要求を行ったユーザに特徴が類似するユーザを特定する(ステップS15)。例えば、情報処理サーバ10は、ステップS14で算出した類似度が所定の閾値以上のユーザを類似ユーザとして特定する。
続いて、情報処理サーバ10は、特定したユーザの情報に基づいて、複数の対象の中から所定のユーザに対する処理に用いられる対象を判別する(ステップS16)。
続いて、情報処理サーバ10は、ステップS16で判別した対象の情報(例えば、図1に示すコンテンツC32)を含む所定のコンテンツ(例えば、図1に示すコンテンツC13)を生成する(ステップS17)。そして、情報処理サーバ10は、端末装置100に生成したコンテンツを送信する(ステップS18)。
送信が完了したら、情報処理サーバ10は、ステップS11に戻り、端末装置100からコンテンツの配信要求を受信するまで待機する。
〔4.変形例〕
上述の実施形態は一例を示したものであり、種々の変更及び応用が可能である。
上述の実施形態では、情報処理サーバ10は、ユーザの行動履歴に基づいてユーザの特徴情報を生成したが、特徴情報の生成に使用する情報はユーザの行動履歴に限られない。特徴情報の生成に使用する情報には、ユーザの行動履歴に加えて他の情報が含まれていてもよい。例えば、特徴情報の生成に使用する情報には、ユーザの属性情報が含まれていてもよい。
属性情報は、例えば、デモグラフィック情報やサイコグラフィック情報である。具体例を挙げると、ユーザ属性情報は、ユーザの性別、年齢、職業、収入、資産、住所、勤務先の住所、使用言語数、家族構成、友人関係、ライフサイクル、価値観、ライフスタイル、性格、好み、及びこれらの変化の情報である。また、ユーザ属性情報には、ユーザの検索履歴やサービス利用履歴が含まれていてもよい。勿論、ユーザ属性情報は上記の情報に限定されない。
また、上述の実施形態では、行動履歴データベースの評価履歴に含まれる簡易評価は“Good”及び“Bad”であるものとしたが、簡易評価はGood及びBadに限られない。簡易評価は“いいね”、“ヤダネ”等、上記以外のボタン操作のみで完了する評価であってもよい。
また、上述の実施形態では、評価履歴に含まれる評価は、肯定的評価と否定的評価の双方が含まれるものとしたが、評価履歴に含まれる評価は、“Good”や“いいね”等の肯定的評価のみであってもよいし、“Bad”や“ヤダネ”等の否定的評価のみであってもよい。なお、肯定的評価は、“Good”や“いいね”以外の、肯定、支持、推奨、或いは好感等を示す評価であってもよい。また、否定的評価は、“Bad”や“ヤダネ”以外の、否定、反対、或いは嫌悪等を示す評価であってもよい。また、評価履歴に含まれる評価は、肯定的評価と否定的評価に限られず、例えば、中立を示す評価(中立的評価)であってもよい。中立的評価は簡易評価であってもよい。
また、評価履歴に含まれる簡易評価は、肯定的評価、否定的評価、及び中立的評価に限られない。例えば、簡易評価は星の数による評価であってもよい。また、簡易評価は、“1”、“2”、“3”等の数値による評価であってもよいし、“A”、“B”、“C”等のランクによる評価であってもよい。星の数、数値、及びランクの入力はボタン操作のみで行うことが可能であってもよいし、タッチパネル操作(例えば、評価バーのスワイプ等、画面に表示されたコントロールの操作)のみで行うことが可能であってもよい。また、星の数、数値、及びランクの入力は、テキストの入力により行うことが可能であってもよい。星の数、数値、又はランクを示すテキストの入力も、文章の入力を伴わない評価の一種とみなすことができる。
また、上述の実施形態では、行動履歴データベースの「対象コメント」で示されるコメントの内容に関する情報は、「主体」及び「極性」のみであったが、コメントの内容に関する情報は「主体」及び「極性」に限られない。例えば、コメントの内容に関する情報は、「対象コメント」で示されるコメントの分散表現となるベクトルであってもよい。ベクトルは、例えば、情報処理サーバ10が、所定のエンベディング処理(例えば、Word Embedding)を使ってコメントを変換したものであってもよい。
本実施形態の情報処理サーバ10を制御する制御装置は、専用のコンピュータシステムによって実現してもよいし、通常のコンピュータシステムにより実現してもよい。例えば、上述の動作を実行するためのプログラムまたはデータ(例えば、モデルM)を、光ディスク、半導体メモリ、磁気テープ、フレキシブルディスク等のコンピュータ読み取り可能な記録媒体に格納して配布し、該プログラムまたはデータをコンピュータにインストールし、上述の処理を実行することによって制御装置を構成してもよい。制御装置は、情報処理サーバ10の外部の装置(例えば、パーソナルコンピュータ)であってもよいし、内部の装置(例えば、制御部13)であってもよい。また、上記プログラムをインターネット等のネットワーク上のサーバ装置が備えるディスク装置に格納しておき、コンピュータにダウンロード等できるようにしてもよい。また、上述の機能を、OS(Operating System)とアプリケーションソフトとの協働により実現してもよい。この場合には、OS以外の部分を媒体に格納して配布してもよいし、OS以外の部分をサーバ装置に格納しておき、コンピュータにダウンロード等できるようにしてもよい。
また、上記各実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
また、上述してきた各実施形態は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
〔5.ハードウェア構成〕
実施形態及び変形例に係る情報処理サーバ10は、例えば図12に示すような構成のコンピュータ1000によっても実現可能である。図12は、情報処理サーバ10の機能を実現するコンピュータの一例を示すハードウェア構成図である。コンピュータ1000は、CPU(Central Processing Unit)1100、RAM1200、ROM1300、HDD(Hard Disk Drive)1400、通信インタフェース(I/F)1500、入出力インタフェース(I/F)1600、及びメディアインタフェース(I/F)1700を有する。
CPU1100は、ROM1300またはHDD1400に格納されたプログラムに基づいて動作し、各部の制御を行う。ROM1300は、コンピュータ1000の起動時にCPU1100によって実行されるブートプログラムや、コンピュータ1000のハードウェアに依存するプログラム等を格納する。
HDD1400は、CPU1100によって実行されるプログラム、及び、かかるプログラムによって使用されるデータ等を格納する。通信インタフェース1500は、ネットワークNを介して他の機器からデータを受信してCPU1100へ送り、CPU1100が生成したデータをネットワークNを介して他の機器へ送信する。
CPU1100は、入出力インタフェース1600を介して、ディスプレイやプリンタ等の出力装置、及び、キーボードやマウス等の入力装置を制御する。CPU1100は、入出力インタフェース1600を介して、入力装置からデータを取得する。また、CPU1100は、生成したデータを入出力インタフェース1600を介して出力装置へ出力する。
メディアインタフェース1700は、記録媒体1800に格納されたプログラムまたはデータを読み取り、RAM1200を介してCPU1100に提供する。CPU1100は、かかるプログラムを、メディアインタフェース1700を介して記録媒体1800からRAM1200上にロードし、ロードしたプログラムを実行する。記録媒体1800は、例えばDVD(Digital Versatile Disc)、PD(Phase change rewritable Disk)等の光学記録媒体、MO(Magneto-Optical disk)等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等である。
例えば、コンピュータ1000が実施形態に係る情報処理サーバ10として機能する場合、コンピュータ1000のCPU1100は、RAM1200上にロードされたプログラムまたはデータ(例えば、モデルM)に基づいた処理を実行することにより、制御部13を実現する。コンピュータ1000のCPU1100は、これらのプログラムまたはデータ(例えば、モデルM)を記録媒体1800から読み取って実行するが、他の例として、他の装置からネットワークNを介してこれらのプログラムまたはデータ(例えば、モデルM)を取得してもよい。
以上、本願の実施形態のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、発明の開示の行に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
〔6.効果〕
本実施形態によれば、情報処理サーバ10は、複数のユーザそれぞれの行動履歴であってニュース記事へのコメントに関する情報を含む行動履歴を取得する。そして、情報処理サーバ10は、行動履歴に基づく複数のユーザそれぞれの特徴情報に基づいて、複数の対象の中から、複数のユーザ中の所定のユーザに対する処理に用いられる対象を判別する。これにより、情報処理サーバ10は、精度よくユーザに適した対象を判別できる。
情報処理サーバ10は、複数のユーザそれぞれの特徴情報に基づいて、複数のユーザの中から所定のユーザに特徴が類似するユーザを特定し、特定したユーザの情報に基づいて、複数の対象の中から所定のユーザに対する処理に用いられる対象を判別する。これにより、情報処理サーバ10は、精度よくユーザに適した対象を判別できる。
対象は広告コンテンツである。情報処理サーバ10は、複数のユーザそれぞれの特徴情報に基づいて、複数の広告コンテンツの中から、所定のユーザへ送信する広告コンテンツを判別する。これにより、情報処理サーバ10は、精度よくユーザに適した広告コンテンツを判別できる。
対象はアイテムである。情報処理サーバ10は、複数のユーザそれぞれの特徴情報に基づいて、複数のアイテムの中から、所定のユーザへの情報送信の対象となるアイテムを判別する。これにより、情報処理サーバ10は、精度よくユーザに適したアイテムを判別できる。
情報処理サーバ10は、行動履歴の記録対象のユーザが投稿したコメントの情報が含まれる行動履歴を取得する。これにより、情報処理サーバ10は、精度の高い特徴情報を生成できるので、精度よくユーザに適した対象を判別できる。
情報処理サーバ10は、行動履歴の記録対象のユーザが投稿したコメントに対する返信の数を示す情報が含まれる行動履歴を取得する。これにより、情報処理サーバ10は、コメントの質(多くの返信を得られるコメントか否か等)も加味した精度の高い特徴情報を生成できるので、精度よくユーザに適した対象を判別できる。
情報処理サーバ10は、行動履歴の記録対象のユーザが投稿したコメントの内容が肯定的か否定的かを示す情報が含まれる行動履歴を取得する。これにより、情報処理サーバ10は、コメントの内容を加味した精度の高い特徴情報を生成できるので、精度よくユーザに適した対象を判別できる。
情報処理サーバ10は、行動履歴の記録対象のユーザが投稿したコメント中でコメント対象となっている主体と、該コメントが肯定的か否定的かを示す情報と、が含まれる行動履歴を取得する。これにより、情報処理サーバ10は、コメントの内容も加味した精度の高い特徴情報を生成できるので、精度よくユーザに適した対象を判別できる。
コメントには、文章の入力を伴わない評価を付すことが可能である。そして、情報処理サーバ10は、行動履歴の記録対象のユーザがコメントに対して付した評価の情報が含まれる行動履歴を取得する。文章の入力を伴わない評価は、ユーザがテキストを入力する心理的負担がなく気軽に評価できるため、その数も多く、ユーザの特徴をつかむには極めて好ましい情報である。そのため、情報処理サーバ10は、多くの簡易評価に基づき極めて精度の高い特徴情報を生成できるので、精度よくユーザに適した対象を判別できる。
コメントには、ボタン操作のみで行うことが可能な評価を付すことが可能である。そして、情報処理サーバ10は、行動履歴の記録対象のユーザがコメントに対して付した評価の情報が含まれる行動履歴を取得する。ボタン操作のみで完了する評価は、ユーザが気軽に評価できるため、その数も多く、ユーザの特徴をつかむには極めて好ましい情報である。そのため、情報処理サーバ10は、多くの簡易評価に基づき極めて精度の高い特徴情報を生成できるので、精度よくユーザに適した対象を判別できる。
情報処理サーバ10は、行動履歴の記録対象のユーザがコメントに対して付した評価の情報と、該ユーザが評価を付したコメントの内容に関する情報と、が含まれる行動履歴を取得する。これにより、情報処理サーバ10は、精度よくユーザに適した対象を判別できる。ユーザが評価を付したコメントは、ユーザが記載したコメントではないものの、その内容はユーザの思想を反映したものである。そのため、情報処理サーバ10は、ユーザが評価を付したコメントの内容の情報を使用することにより、精度の高い特徴情報を生成できる。結果として情報処理サーバ10は、精度よくユーザに適した対象を判別できる。
以上、本願の実施形態のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、発明の開示の欄に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
また、上述してきた「部(section、module、unit)」は、「手段」や「回路」などに読み替えることができる。例えば、生成部は、生成手段や生成回路に読み替えることができる。