(58)【調査した分野】(Int.Cl.,DB名)
ユーザの属性を用いて前記ユーザの特徴を推定するモデル、および、前記属性を用いて推定された前記特徴に関する推定結果の少なくとも一方を含む特徴情報を異なるサービスそれぞれから取得する取得部と、
前記取得部によって取得された前記特徴情報に基づく提供情報を他の前記サービスへ提供する提供部と
を備えることを特徴とする情報処理装置。
ユーザの属性を用いて前記ユーザの特徴を推定するモデル、および、前記属性を用いて推定された前記特徴に関する推定結果の少なくとも一方を含む特徴情報を異なるサービスそれぞれから取得する取得手順と、
前記取得手順によって取得された前記特徴情報に基づく提供情報を他の前記サービスへ提供する提供手順と
をコンピュータに実行させることを特徴とする情報処理プログラム。
【発明を実施するための形態】
【0010】
以下に、本願に係る情報処理装置、情報処理方法および情報処理プログラムを実施するための形態(以下、「実施形態」と記載する)について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る情報処理装置、情報処理方法および情報処理プログラムが限定されるものではない。また、以下の各実施形態において同一の部位には同一の符号を付し、重複する説明は省略される。
【0011】
まず、
図1を用いて、実施形態に係る情報処理装置が行う情報処理の一例について説明する。
図1は、実施形態に係る情報処理の一例を示す図である。
図1には、実施形態に係る情報処理装置1を含む情報処理システムSを示している。
図1に示すように、実施形態に係る情報処理システムSは、情報処理装置1と、サービス提供サーバ10(10−1,10−2,10−3)と、ユーザ端末100とを含む。
【0012】
ユーザ端末100は、ユーザUが所有する端末装置である。ユーザUは、ユーザ端末100を操作してサービス提供サーバ10へアクセスすることで、各サービス提供サーバ10が提供するサービスY(Y1,Y2,Y3)を利用する(ステップS1−1,S1−2,S1−3)。
【0013】
サービス提供サーバ10は、各種サービスYをユーザUへ提供するサーバ装置である。サービス提供サーバ10が提供するサービスYは、例えば、ユーザ端末100にインストールされた各種アプリを介して情報を配信するサービスである。このようなサービスには、例えば、ニュース提供サービスや、オークションサービス、天気予報サービス、ショッピングサービス、金融取引(株取引等)サービス、路線検索サービス、地図提供サービス、旅行サービス、飲食店紹介サービス、ブログサービス等がある。なお、サービスYは、アプリを介して情報を配信されるサービスに限らず、例えば、ユーザUがブラウザにアクセスすることで情報を提供するサービスであってもよい。
【0014】
なお、
図1では、サービスY1は、ショッピングサイトを提供するショッピングサービスであり、サービスY2は、地図に関する機能を提供する地図提供サービスであり、サービスYは、各種情報を検索する検索サイトを提供する検索サービスを例に挙げて説明する。
【0015】
また、各サービス提供サーバ10は、サービスYを利用したユーザUの属性を解析することでユーザUの特徴を推定する。具体的には、各サービス提供サーバ10は、ユーザUの属性を用いてユーザUの特徴を推定するモデル、および、ユーザUの属性を用いて推定されたユーザUの特徴に関する推定結果の少なくとも一方を含む特徴情報を生成する(ステップS2−1,S2−2,S2−3)。
【0016】
ここでいう属性とは、ユーザUの確定した属性、あるいは、ユーザUの特徴であり、例えば、検索ログや購入履歴等といったサービスYを利用した際のユーザUの行動に関する行動情報や、性別、年齢、住所等といったデモグラフィック属性、ライフサイクル、価値観、個性、購買動機等といったサイコグラフィック属性等を含む概念である。
【0017】
また、ユーザUの特徴とは、ユーザUの様々な属性を包括することで推定されるユーザUの性質、あるいは、推定される属性であって、例えば、ユーザUの興味や、趣味嗜好、行動パターン(検索行動や、購買行動等)等を含む。
【0018】
また、特徴情報における上記したモデルは、例えば、ユーザUの属性を入力して、ユーザUの特徴をスコアとして出力することができる。また、特徴情報における上記した推定結果は、例えば、モデルが出力するスコアである。なお、推定結果は、モデルによらない情報、例えば、ユーザUの属性を単に数値化した情報(例えば、検索回数に応じて増減するスコア等)であってもよい。
【0019】
図1に示す例では、ショッピングサービスとしてのサービスY1は、「釣り好き」のモデル、および、推定結果であるスコア「2.3」を生成する。なお、サービスY1は、例えば、釣り商品の購入履歴等に基づいて「釣り好き」のモデルを生成する。
【0020】
また、地図提供サーバとしてのサービスY2は、「車好き」のモデル、および推定結果であるスコア「3.5」を生成する。なお、サービスY2は、例えば、自動車ディーラまでの経路検索の履歴や、自動車の保有の有無等に基づいて「車好き」のモデルを生成する。
【0021】
また、検索サービスとしてのサービスY3は、「旅行好き」のモデル、および推定結果であるスコア「9.8」を生成する。なお、サービスY3は、例えば、旅行に関する検索ワードを用いた検索履歴等に基づいて「旅行好き」のモデルを生成する。なお、
図1では、スコアが高いほど、ユーザUが特徴として、モデルの示す事物に対し強い興味や嗜好性などを持っていることを示す。
【0022】
また、上記したスコアは、連続値である場合を示したが、例えば、離散値であってもよい。具体的には、釣り好きかどうかを「1」(好き)または「0」(嫌い)のいずれかの離散値のスコアで表現してもよい。あるいは、推定結果の一例としてスコアを示したが、推定結果は、スコアに限定されるものではなく、「釣り好き」等のようにテキストの情報であってもよい。
【0023】
ここで、従来は、サービスが個々に生成した特徴情報を自身のサービスの最適化に役立てるのみであり、他のサービスの特徴情報を使用することについては考慮されていなかった。
【0024】
また、仮に、他のサービスと連携しようした場合、他のサービスの特徴情報を自身のサービスに効果的に適用するためには、どのサービスがどのような特徴情報を有しているかを把握することが必要である。しかしながら、従来は、他のサービスの特徴情報を正確に把握することが難しいため、他のサービスの特徴情報を利用することが難しかった。
【0025】
そこで、実施形態に係る情報処理装置1は、サービスYそれぞれで生成された特徴情報を他のサービスYが共有できるようにした。具体的には、実施形態に係る情報処理装置1は、上記した特徴情報を異なるサービスYそれぞれから取得(ステップS3−1,S3−2,S3−3)し、かかる特徴情報をユーザ毎に紐づけた共有情報を生成する(ステップS4)。
【0026】
なお、実施形態に係る情報処理装置1は、上記したモデル、および、推定結果であるスコアを含む特徴情報を取得する場合に限らず、モデルのみを含む特徴情報、あるいは、スコアのみを含む特徴情報を取得してもよい。
【0027】
つづいて、情報処理装置1は、サービスYから要求があった場合に、取得した特徴情報に基づく提供情報を提供する(ステップS5−1,S5−2,S5−3)。例えば、提供情報の提供方法としては、以下の2通りがある。
【0028】
1つ目は、サービス提供サーバ10が特定のユーザUを指定し、共有情報に基づいて指定されたユーザUの特徴(推定結果)を提供する方法である。つまり、サービスYは、特定のユーザUに関し、自身のサービスYの解析では得られないユーザUの特徴を知ることができる。2つ目は、サービス提供サーバ10が特定の特徴を指定し、共有情報に基づいて指定された特徴をもつユーザUの一覧を提供する方法である。これにより、サービスYは、自身のサービスYの解析では得られない特徴を持つユーザUを知ることができる。
【0029】
つまり、実施形態に係る情報処理方法では、異なるサービスYそれぞれから取得した特徴情報をユーザ毎に紐づけて蓄積する。そして、蓄積された特徴情報を他のサービスYが取得可能とすることで、ユーザUに関連付けられた属性、または、属性に関連付けられるユーザUの情報を他のサービスYが包括的に取得することができる。
【0030】
従って、実施形態に係る情報処理方法では、他のサービスYがユーザUの情報を特徴情報として包括的に取得可能となったため、他のサービスYの特徴情報を容易に把握し、利用できる。すなわち、実施形態に係る情報処理方法によれば、サービスY間の隔たりを意識することなく他のサービスYの解析結果である特徴情報を取得することができる。
【0031】
次に、
図2を用いて、実施形態に係る情報処理システムSの構成について説明する。
図2は、実施形態に係る情報処理システムSの構成例を示す図である。
図2に示すように、実施形態に係る情報処理システムSは、情報処理装置1と、複数のサービス提供サーバ10−1〜10−nと、複数のユーザ端末100−1〜100−mとを含む。情報処理装置1、複数のサービス提供サーバ10−1〜10−nおよび複数のユーザ端末100−1〜100−mは、ネットワークNを介して接続される。ネットワークNは、LAN(Local Area Network)、WAN(Wide Area Network)、電話網(携帯電話網、固定電話網等)、地域IP(Internet Protocol)網、インターネット等の通信ネットワークである。ネットワークNには、有線ネットワークが含まれていてもよいし、無線ネットワークが含まれていてもよい。
【0032】
ユーザ端末100は、上記したように、ユーザUによって利用される端末装置である。ユーザ端末100は、例えば、スマートデバイス(スマートフォン、あるいはタブレット)、携帯電話、パーソナルコンピュータ等である。ユーザ端末100は、ユーザUの操作に従って、サービス提供サーバ10に対して情報の要求を送信する。
【0033】
情報処理装置1は、サービス提供サーバ10の上位サーバとして機能するサーバ装置である。情報処理装置1は、各サービス提供サーバ10から特徴情報を取得して共有情報を生成するとともに、生成した共有情報を使ってサービス提供サーバ10へ各種情報を提供する。
【0034】
サービス提供サーバ10は、上記したようにサービスYをユーザUへ提供するサーバ装置である。サービス提供サーバ10は、例えば、サービスYを利用したユーザUの属性を解析して特徴情報を生成する。また、サービス提供サーバ10は、情報処理装置1に対して提供情報を要求する。提供情報の要求は、例えば、サービス提供サーバ10に接続された専用端末をサービスYの管理者が操作することで、サービス提供サーバ10から送信される。
【0035】
また、情報処理システムSのうち、情報処理装置1および複数のサービス提供サーバ10−1〜10−nは、例えば、1つの事業者が有するように構成される。つまり、1つの事業者は、複数のサービスYを提供可能である。また、1つの事業者は、各サービスYが生成した特徴情報を共有情報として情報処理装置1に集約するとともに、共有情報に基づいた提供情報を取得して利用する。
【0036】
なお、情報処理装置1および複数のサービス提供サーバ10−1〜10−nは、それぞれ別の事業者が有する構成であってもよい。つまり、ある事業者のあるサービスYから見た場合の他のサービスYは、同じ事業者の他のサービスYであってもよく、他の事業者のサービスYであってもよい。また、複数のサービス提供サーバ10−1〜10−nは、それぞれ別の事業者が有する構成であってもよい。また、上記した情報処理システムSに加えて、提供情報の利用のみを行う事業者のサーバが接続されてもよい。
【0037】
なお、
図2では、情報処理装置1は、サービス提供サーバ10とは別体で構成されて共有情報を生成および提供する機能を有する場合を示したが、例えば、いずれかのサービス提供サーバ10が情報処理装置1の機能の一部または全部を代替して行ってもよい。
【0038】
また、
図2では、情報処理装置1は、共有情報の生成および提供の双方の機能を兼ね備える場合を示したが、例えば、複数の情報処理装置1が、上記した機能を分担して行ってもよい。
【0039】
次に、
図3を用いて、実施形態に係る情報処理装置1の構成について説明する。
図3は、実施形態に係る情報処理装置1の構成例を示す図である。
【0040】
図3に示すように、情報処理装置1は、通信部2と、制御部3と、記憶部4とを備える。制御部3は、取得部31と、決定部32と、更新部33と、受付部34と、抽出部35と、推定部36と、提供部37とを備える。
【0041】
通信部2は、たとえば、NIC(Network Interface Card)等によって実現される。通信部2は、ネットワークNと有線または無線で接続され、ネットワークNを介して、少なくともサービス提供サーバ10との間で情報の送受信を行う。
【0042】
記憶部4は、たとえば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。
図2に示すように、記憶部4は、共有情報41と、サービス情報42と、モデルプログラム情報43とを記憶する。
【0043】
共有情報41は、サービス提供サーバ10から取得した特徴情報を含んだ情報である。
図4は、共有情報41の一例を示す図である。
図4に示すように、共有情報41は、例えば、列項目が「UID」であり、行項目が「特徴情報」であるテーブルである。また、列項目および行項目の各組のデータ項目には、特徴情報におけるモデルの出力であるスコアが入力される。
【0044】
「UID」は、ユーザUを識別する識別情報である。「特徴情報」は、サービス提供サーバ10それぞれで生成されるモデルおよびスコアの情報である。なお、
図4では、「特徴情報」の各項目(例えば「釣り好き」等)には、モデル名称が入力される。
【0045】
図4に示すように、共有情報41は、「UID」および「特徴情報」のスコアを含む情報である。
図4に示す例では、UIDが「U1」であるユーザは、特徴情報におけるモデル「釣り好き」のスコアが「2.3」であることを示している。
【0046】
また、UIDが「U2」であるユーザは、特徴情報におけるモデル「釣り好き」のスコアが「未入力」となっている。これは、「U2」であるユーザの特徴情報におけるモデル「釣り好き」のスコアをサービス提供サーバ10から取得していないことを示している。
【0047】
例えば、上記スコアは、サービス提供サーバ10で算出されたスコアをそのまま共有情報41のスコアとして入力してもよく、あるいは、サービス提供サーバ10で算出されたスコアを所定の基準に従って正規化したスコアを共有情報41として入力してもよい。
【0048】
また、
図4では、共有情報41をスコアとして示したが、共有情報41は、スコアに限定されるものではなく、「○、△および×」や、「優、良および可」等といった段階分けされた情報であってもよい。
【0049】
次に、サービス情報42は、各サービス提供サーバ10が提供するサービスYに関する情報である。
図5は、サービス情報42の一例を示す図である。
図5に示すように、サービス情報42は、「サービスID」、「提供サービス」および「登録モデル数」といった項目を含む。
【0050】
「サービスID」は、サービスY(あるいは、サービス提供サーバ10)を識別する識別情報である。「提供サービス」は、サービスYの内容を示す情報である。「登録モデル数」は、共有情報41に登録されている特徴情報のモデルの数を示す情報である。
【0051】
次に、モデルプログラム情報43は、特徴情報におけるモデルのプログラムデータを含んだ情報である。
図6は、モデルプログラム情報43の一例を示す図である。モデルプログラム情報43は、後述の取得部31が取得した特徴情報におけるモデルのプログラムデータを含む情報である。
図6に示すように、モデルプログラム情報43は、「モデルID」、「モデル名称」、「サービスID」および「モデルデータ」等といった項目を含む。
【0052】
「モデルID」は、特徴情報におけるモデルを識別する識別情報である。「モデル名称」は、特徴情報の名称を示す識別情報である。「サービスID」は、サービスY(あるいは、サービス提供サーバ10)を識別する識別情報である。「モデルデータ」は、特徴情報におけるモデルのプログラムデータである。
【0053】
「モデルデータ」は、例えば、ユーザUの属性を説明変数とする回帰モデルである。例えば、「モデルデータ」は、以下の式に示す回帰モデルである。すなわち、y=ω1・x1+ω2・x2+・・・+ωn・xnの回帰モデルとして表すことができる。
【0054】
上記式において、「x」は、ユーザUの属性に対応する説明変数である。「y」は、ユーザUの特徴を示すスコアに対応する目的変数である。また、「ω」は、「x」の係数であり、所定の重み値を示す。具体的には、「ω1」は、「x1」の重み値であり、「ω2」は、「x2」の重み値であり、「ωn」は、「xn」の重み値である。このように、上記式は、ユーザUの属性に対応する説明変数「x」と、所定の重み値「ω」とを含む変数(例えば、「ω1・x1
」)を組み合せることにより作成される。
【0055】
なお、「モデルデータ」は、SVM(Support Vector Machine)やその他の機械学習法を用いて生成された特徴情報であってもよい。また、特徴情報は、深層学習(ディープラーニング)の技術を用いて生成されたものであってもよい。例えば、サービスYは、DNN(Deep Neural Network)やRNN(Recurrent Neural Network)やCNN(Convolutional Neural Network)等の種々のディープラーニングの技術を適宜用いて特徴情報を生成することができる。
【0056】
制御部3は、コントローラ(controller)であり、たとえば、CPU(Central Processing Unit)やMPU(Micro Processing Unit)等によって、情報処理装置1内部の記憶装置に記憶されている各種プログラムがRAMを作業領域として実行されることにより実現される。また、制御部3は、たとえば、コントローラであり、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実現される。
【0057】
なお、取得部31、決定部32、更新部33、受付部34、抽出部35、推定部36および提供部37は、それぞれ一部または全部がASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等のハードウェアで構成されてもよい。
【0058】
制御部3は、サービス提供サーバ10から取得した特徴情報の登録および登録した特徴情報のモデルまたは推定結果の更新を行う。また、制御部3は、登録された特徴情報に基づいてサービスYに対して各種提供を行う。
【0059】
取得部31は、ユーザUの属性を用いてユーザUの特徴を推定するモデル、および、ユーザUの属性を用いて推定されたユーザUの特徴に関する推定結果の少なくとも一方を含む特徴情報を異なるサービスYそれぞれから取得する。例えば、取得部31は、サービスYに対して予め指定したフォーマットで生成させた特徴情報を取得する。これにより、サービスY間で特徴情報のフォーマットを揃えることができるため、統一した基準の特徴情報を取得することができる。
【0060】
また、取得部31は、特徴情報として、上記したモデルと、かかるモデルから出力されるスコアの初期値とを含む情報を取得する。スコアの初期値は、例えば、サービス提供サーバ10によって予め算出されてもよく、取得部31がモデルデータを取得して算出してもよい。取得部31が初期値を算出する場合、特徴情報のモデルデータのみをまず取得し、その後、サービス提供サーバ10からユーザUの属性を取得してスコアを算出する。
【0061】
なお、取得部31は、特徴情報を取得した際に、かかる特徴情報が指定のフォーマットに沿って生成されたか否かをチェックするチェック機能を有してもよい。
【0062】
また、取得部31は、特徴情報におけるモデルの入力となるユーザUの属性を、モデルの取得元のサービスYとは異なるサービスYから取得してもよい。つまり、共有情報41として登録されたモデルの取得元のサービスYからユーザUの属性を取得してスコアを出力してもよく、あるいは、取得元のサービスYとは異なるサービスYから取得したユーザUの属性を使ってスコアを出力してもよい。これにより、例えば、異なる事業者のサービスY間で、共有情報41に登録されたモデルを共有することができる。
【0063】
決定部32は、特徴情報のモデル毎に更新に関する優先順位を決定する。決定部32によって決定された優先順位は、後述する更新部33が行うスコアの更新順の基準となる。決定部32は、例えば、時事に関する時事情報に基づいて優先順位を決定する。
【0064】
時事情報とは、ニュース等の情報であり、社会的な出来事に関する情報である。例えば、決定部32は、発生した出来事から特定のキーワード(例えば、ニュースのキーワード)を抽出し、かかるキーワードに関連する特徴情報の優先順位を高くする。
【0065】
なお、特定のキーワードに関連する特徴情報とは、例えば、その出来事のニュースで使用された特定のキーワードを含む特徴情報や、その出来事と繋がりがある特徴情報、その出来事(キーワード)のジャンルと類似する特徴情報等である。
【0066】
また、決定部32は、例えば、特徴情報の使用時期に基づいて優先順位を決定する。特徴情報の使用時期とは、サービスYが特徴情報を使ってサービス活動を行う時期である。例えば、サービスYが特徴情報を使って毎週月曜日にサービス活動を行う場合、決定部32は、日曜日に確実に特徴情報が更新されるように優先順位を高くする。これにより、サービスYが最新の特徴情報に基づいてサービス活動を行うことができる。
【0067】
更新部33は、取得部31によって取得された特徴情報のモデルおよび推定結果の少なくとも一方を更新する。例えば、更新部33は、サービスY側で経時的に更新された推定結果を取得し、取得した推定結果に基づいて特徴情報の推定結果を更新する。これにより、ユーザUの属性が日々変化した場合であっても、常に最新の推定結果に更新することができる。なお、更新部33は、取得部31からユーザUの属性を経時的に取得し、取得した属性に基づいて推定結果を更新してもよい。また、例えば、更新部33は、サービスYからユーザUの属性を経時的に取得し、取得したユーザUの属性に基づいて特徴情報のモデルの更新を行う。ここで、モデルの更新について、
図7を用いて説明する。
【0068】
図7は、更新部33による更新処理を示す図である。
図7の上段には、モデルの初回登録までの処理(初回時の処理)を示し、
図7の下段には、登録したモデル処理(2回目以降の処理)を示す。
図7の上段に示すように、まず、サービス提供サーバ10は、サービスYを利用したユーザUの属性を取得する(ステップS10)。
【0069】
つづいて、サービス提供サーバ10は、取得したユーザの属性を解析することでモデルを生成するとともに、かかるモデルに基づいてスコアの初期値を算出する(ステップS11)。つづいて、サービス提供サーバ10は、生成したモデルデータと、スコアの初期値とを含む特徴情報を情報処理装置1へ出力する(ステップS12)。
【0070】
情報処理装置1の取得部31は、取得した特徴情報のモデルデータをモデルプログラム情報43に登録するとともに、スコアの初期値を共有情報41に登録する(ステップS13)。これにより、特徴情報の初回時の処理が終了する。
【0071】
次に、特徴情報の初回時の処理が終了すると、情報処理装置1は、登録されたモデルデータを更新する処理を行う。
図7の下段に示すように、まず、サービス提供サーバ10は、ユーザUの属性を経時的に取得する(ステップS20)。
【0072】
つづいて、サービス提供サーバ10は、経時的に取得したユーザUの属性を情報処理装置1へ送信する(ステップS21)。つづいて、情報処理装置1の更新部33は、取得したユーザUの属性に基づいて登録されたモデルデータを更新する(ステップS22)。具体的には、更新部33は、取得したユーザUの属性を用いて、回帰モデルにおける目的変数や、説明変数、重みを更新する。
【0073】
つまり、更新部33は、スコアの初回登録時に特徴情報のモデルデータを登録し、以降については、サービス提供サーバ10に代わってモデルデータの更新処理を行う。これにより、ユーザUの属性が日々変化する場合であっても、常に最新のモデルに更新することができる。なお、更新部33は、ユーザUの属性を取得してモデルデータを更新する場合に限らず、サービスYによって経時的に更新されたモデルデータを取得し、モデルデータの更新処理を行ってもよい。
【0074】
なお、更新部33によるモデルデータの更新処理のタイミングは、任意であってよい。例えば、更新部33は、定期的にサービス提供サーバ10からユーザUの属性を取得し、モデル更新を行ってもよい。あるいは、更新部33は、サービス提供サーバ10から更新要求があった場合、モデルを更新してもよい。
【0075】
また、更新部33によるモデル更新は、例えば、決定部32によって決定された優先順位に基づいて行われる。つまり、更新部33は、決定部32によって決定された優先順位に基づく更新順でモデルを更新する。
【0076】
なお、
図7の上段では、スコアの初期値の算出をサービス提供サーバ10が行ったが、例えば、情報処理装置1がスコアの初期値を算出してもよい。かかる場合、サービス提供サーバ10は、特徴情報のモデルデータのみを予め情報処理装置1に登録しておき、その後、ユーザUの属性を情報処理装置1へ送信する。
【0077】
図3に戻って受付部34について説明する。受付部34は、サービス提供サーバ10から各種要求を受け付ける。例えば、受付部34は、特定の特徴を指定する特徴指定の要求をサービスYから受け付ける。特徴指定は、共有情報41に含まれる特徴情報のモデルIDやモデル名称等を指定する。特徴指定による指定は、1つの特徴情報であってもよく、複数の特徴情報であってもよい。あるいは、特徴指定は、分野指定等といった複数の特徴情報を包含する指定であってもよい。
【0078】
また、受付部34は、特定のユーザUを指定するユーザ指定の要求をサービスYから受け付ける。ユーザ指定により指定されるユーザUは、1人であってもよく、複数であってもよい。あるいは、ユーザ指定は、複数のユーザを包含するグループ指定であってもよい。グループ指定の場合、ユーザ指定によって特定のグループの名称等が指定される。
【0079】
また、受付部34は、上記した要求の中に期間指定を含ませてもよい。例えば、特徴指定の場合、期間指定により指定された期間に登録された特徴情報を特徴指定の対象としてもよい。また、ユーザ指定の場合、期間指定により指定された期間にサービスYを利用したユーザUをユーザ指定の対象としてもよい。
【0080】
抽出部35は、特徴情報に基づいて特徴指定によって指定された特定の特徴に対応するユーザUを抽出する。例えば、抽出部35は、指定された特徴のスコアが所定値以上のユーザUを抽出する。
【0081】
推定部36は、特徴情報に基づいてユーザ指定によって指定された特定のユーザUの特徴を推定する。例えば、推定部36は、指定されたユーザUにおける各特徴情報のうち、スコアが所定値以上の特徴情報が当該ユーザUの特徴であると推定する。
【0082】
なお、推定部36は、指定されたユーザUにおける各特徴情報のうち、スコアが所定値未満の特徴情報がある場合、その特徴情報の特徴を当該ユーザUが有していないと推定してもよい。すなわち、推定部36は、スコアが所定値以上の場合、ユーザUが「○○好き」の特徴を有していると推定し、スコアが所定値未満の場合、ユーザUが「○○嫌い」の特徴を有していると推定する。
【0083】
提供部37は、取得部31によって登録された特徴情報に基づく提供情報を他のサービスYへ提供する。例えば、提供部37は、スコアに基づいた提供情報を他のサービスYへ提供する。また、提供部37は、抽出部35または推定部36から取得した情報に基づいて提供情報を生成し、当該提供情報をサービスYへ提供する。
【0084】
例えば、提供部37は、特徴指定に基づき抽出部35によって抽出されたユーザUのリスト(一覧の一例)を含む提供情報を生成し、サービスYへ提供する。リストのソートは、スコアの大小順や、ユーザ名(ユーザID等も含む)の五十音順、もしくは、アルファベット順等といった任意の順で並べられてもよい。
【0085】
あるいは、提供部37は、抽出部35によって抽出されたユーザUのうち、一部のユーザUのみを提供情報としてサービスYへ提供してもよい。具体的には、提供部37は、スコアが最上位のユーザUのみや、スコアが上位複数番目までのユーザU等を選抜した提供情報を提供してもよい。
【0086】
また、提供部37は、ユーザ指定に基づき推定部36によって推定されたユーザUの特徴を示す情報を含む提供情報を他のサービスYへ提供する。例えば、提供部37は、推定部36によって推定されたユーザUの特徴をリストにして並べた情報を含む提供情報を提供する。
【0087】
また、提供部37は、推定部36によって推定されたユーザUの特徴のうち、一部の特徴のみを含む提供情報を提供してもよい。例えば、提供部37は、スコアが最上位の特徴情報である特徴のみや、スコアが上位複数番目までの特徴情報である特徴のみを選抜した提供情報を提供してもよい。
【0088】
次に、
図8を用いて、実施形態に係る情報処理装置1が実行する処理の手順について説明する。
図8は、実施形態に係る情報処理装置1が実行する処理の手順を示すフローチャートである。
【0089】
図8に示すように、まず、取得部31は、ユーザUの属性を用いてユーザUの特徴を推定するモデル、および、ユーザUの属性を用いて推定されたユーザUの特徴に関する推定結果の少なくとも一方を含む特徴情報を取得する(ステップS101)。
【0090】
つづいて、決定部32は、特徴情報毎に更新に関する優先順位を決定する(ステップS102)。つづいて、更新部33は、特徴情報の更新タイミングであるか否かを判定する(ステップS103)。かかる更新タイミングは、例えば、決定部32によって決定された優先順位に基づいて決定される。
【0091】
更新部33は、更新タイミングであった場合(ステップS103,Yes)、サービスYからユーザUの属性を取得する(ステップS104)。なお、更新部33は、ステップS104において、サービス側で更新されたモデルデータや推定結果を取得してもよい。つづいて、更新部33は、取得したユーザUの属性に基づいて特徴情報の更新を行い(ステップS105)、処理を終了する。
【0092】
一方、更新部33は、更新タイミングでない場合(ステップS103,No)、更新タイミングが到来するまで、ステップS103を繰り返し実行する。
【0093】
次に、
図9を用いて、実施形態に係る情報処理装置1が実行する提供処理の手順について説明する。
図9は、実施形態に係る情報処理装置1が実行する提供処理の手順を示すフローチャートである。
【0094】
図9に示すように、提供処理において、まず、受付部34は、サービスYから特徴指定の要求を受け付けたか否かを判定する(ステップS201)。抽出部35は、受付部34が特徴指定を受け付けた場合(ステップS201,Yes)、特徴指定により指定された特定の特徴をもつユーザUを抽出する(ステップS202)。
【0095】
つづいて、提供部37は、抽出部35によって抽出されたユーザUのリストを含む提供情報をサービスYへ提供し(ステップS203)、処理を終了する。
【0096】
一方、受付部34は、特徴指定の要求を受け付けなかった場合(ステップS201,No)、ユーザ指定の要求を受け付けたか否かを判定する(ステップS204)。なお、ステップS201およびステップS204の処理は、その処理順が入れ替わってもよい。
【0097】
推定部36は、受付部34がユーザ指定の要求を受け付けた場合(ステップS204,Yes)、ユーザ指定により指定されたユーザUの特徴を推定する(ステップS205)。
【0098】
つづいて、提供部37は、推定部36によって推定されたユーザUの特徴を示す情報を含む提供情報をサービスYへ提供し(ステップS206)、処理を終了する。
【0099】
一方、受付部34は、ユーザ指定の要求を受け付けなかった場合(ステップS204,No)、処理をステップS201へ移行する。
【0100】
また、上述してきた実施形態にかかる情報処理装置1は、例えば
図10に示すような構成のコンピュータ1000によって実現される。
図10は、実施形態に係る情報処理装置1の機能を実現するコンピュータ1000の一例を示すハードウェア構成図である。コンピュータ1000は、CPU1100、RAM1200、ROM1300、HDD1400、通信インターフェイス(I/F)1500、入出力インターフェイス(I/F)1600、及びメディアインターフェイス(I/F)1700を有する。
【0101】
CPU1100は、ROM1300又はHDD1400に格納されたプログラムに基づいて動作し、各部の制御を行う。ROM1300は、コンピュータ1000の起動時にCPU1100によって実行されるブートプログラムや、コンピュータ1000のハードウェアに依存するプログラム等を格納する。
【0102】
HDD1400は、CPU1100によって実行されるプログラム、及び、かかるプログラムによって使用されるデータ等を格納する。通信インターフェイス1500は、ネットワークNを介して他の機器からデータを受信してCPU1100へ送り、CPU1100が生成したデータを、ネットワークNを介して他の機器へ送信する。
【0103】
CPU1100は、入出力インターフェイス1600を介して、ディスプレイやプリンタ等の出力装置、及び、キーボードやマウス等の入力装置を制御する。CPU1100は、入出力インターフェイス1600を介して、入力装置からデータを取得する。また、CPU1100は、生成したデータを、入出力インターフェイス1600を介して出力装置へ出力する。
【0104】
メディアインターフェイス1700は、記録媒体1800に格納されたプログラム又はデータを読み取り、RAM1200を介してCPU1100に提供する。CPU1100は、かかるプログラムを、メディアインターフェイス1700を介して記録媒体1800からRAM1200上にロードし、ロードしたプログラムを実行する。記録媒体1800は、例えばDVD(Digital Versatile Disc)、PD(Phase change rewritable Disk)等の光学記録媒体、MO(Magneto-Optical disk)等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等である。
【0105】
例えば、コンピュータ1000が実施形態にかかる情報処理装置1として機能する場合、コンピュータ1000のCPU1100は、RAM1200上にロードされたプログラムを実行することにより、制御部3の機能を実現する。また、HDD1400には、記憶部4内のデータが格納される。コンピュータ1000のCPU1100は、これらのプログラムを、記録媒体1800から読み取って実行するが、他の例として、他の装置から、ネットワークNを介してこれらのプログラムを取得してもよい。
【0106】
上述してきたように、実施形態に係る情報処理装置1は、取得部31と、提供部37とを備える。取得部31は、ユーザUの属性を用いてユーザUの特徴を推定するモデル、および、ユーザUの属性を用いて推定されたユーザUの特徴に関する推定結果の少なくとも一方を含む特徴情報を異なるサービスYそれぞれから取得する。提供部37は、取得部31によって取得された特徴情報に基づく提供情報を他のサービスYへ提供する。
【0107】
これにより、サービスY間の隔たりを意識することなく他のサービスYの解析結果を取得することができる。
【0108】
また、上述した実施形態に係る情報処理装置1において、特徴情報のモデルは、ユーザUの属性を入力することで、ユーザの特徴をスコアとして出力するものである。提供部37は、スコアに基づいた提供情報を他のサービスYへ提供する。
【0109】
これにより、ユーザUの特徴がスコア化されることで、他のサービスY間で統一された基準の特徴を共有できるため、他のサービスYの解析結果をより有効に活用することができる。
【0110】
また、上述した実施形態に係る情報処理装置1において、取得部31は、モデルの入力となるユーザUの属性を、モデルの取得元のサービスYとは異なるサービスYから取得する。
【0111】
これにより、例えば、異なる事業者のサービスY間で、共有情報41に登録されたモデルを共有することができる。
【0112】
また、上述した実施形態に係る情報処理装置1は、更新部33をさらに備える。更新部33は、取得部31によって取得された特徴情報のモデルおよび推定結果の少なくとも一方を更新する。
【0113】
これにより、ユーザUの属性が経時的に変化する場合であっても、常に最新のモデルおよび推定結果に更新することができる。
【0114】
また、上述した実施形態に係る更新部33は、サービスYからユーザUの属性を経時的に取得し、取得した属性に基づいて特徴情報の推定結果を更新する。
【0115】
これにより、ユーザUの属性が経時的に変化する場合であっても、常に最新の推定結果に更新することができる。
【0116】
また、上述した実施形態に係る更新部33は、サービスYからユーザUの属性を経時的に取得し、取得した属性に基づいて特徴情報のモデルを更新する。
【0117】
これにより、ユーザUの属性が経時的に変化する場合であっても、常に最新のモデルデータに更新することができる。
【0118】
また、上述した実施形態に係る更新部33は、サービスY側で経時的に更新された推定結果を取得し、取得した推定結果に基づいて特徴情報の推定結果を更新する。
【0119】
これにより、ユーザUの属性が経時的に変化する場合であっても、常に最新の推定結果に更新することができる。
【0120】
また、上述した実施形態に係る更新部33は、サービスY側で経時的に更新されたモデルデータを取得し、取得したモデルデータに基づいて特徴情報のモデルデータを更新する。
【0121】
これにより、ユーザUの属性が経時的に変化する場合であっても、常に最新のモデルデータに更新することができる。
【0122】
また、上述した実施形態に係る情報処理装置1は、決定部32をさらに備える。決定部32は、特徴情報毎に更新に関する優先順位を決定する。更新部33は、決定部32によって決定された優先順位に基づく更新順で特徴情報を更新する。
【0123】
これにより、例えば、膨大な数の特徴情報の更新を優先順位付けできるため、他のサービスYに利用される可能性が高い順に更新することで、他のサービスYが古い特徴情報を利用する可能性を低くできる。
【0124】
また、上述した実施形態に係る情報処理装置1において、決定部32は、時事に関する時事情報に基づいて優先順位を決定する。
【0125】
これにより、世の中の出来事に合わせた更新順、つまり、他のサービスYが利用する可能性が高い順に特徴情報を更新することができる。
【0126】
また、上述した実施形態に係る情報処理装置1において、ユーザUの属性は、ユーザUのサービスYを利用した際の行動に関する行動情報を含む。
【0127】
これにより、サービスYにおけるユーザUの行動を特徴情報に反映できるため、より精度の高い特徴情報を登録することができる。
【0128】
また、上述した実施形態に係る情報処理装置1は、受付部34と、抽出部35とを備える。受付部34は、特定の特徴を指定する特徴指定をサービスYから受け付ける。抽出部35は、特徴情報に基づいて特徴指定によって指定された特定の特徴に対応するユーザUを抽出する。提供部37は、抽出部35によって抽出されたユーザUの一覧を含む提供情報をサービスYへ提供する。
【0129】
これにより、例えば、自身のサービスYでは生成されないような特定の特徴をもつユーザUを知ることができるため、提供するサービスYの質を向上させることができる。
【0130】
また、上述した実施形態に係る情報処理装置1は、受付部34と、推定部36とを備える。受付部34は、特定のユーザUを指定するユーザ指定をサービスYから受け付ける。推定部36は、特徴情報に基づいてユーザ指定によって指定された特定のユーザUの特徴を推定する。提供部37は、推定部36によって推定された特徴を示す情報を含む提供情報をサービスYへ提供する。
【0131】
これにより、特定のユーザUについて、自身のサービスYでは生成されないようなユーザUの特徴を知ることができるため、かかる特定のユーザUに対してより質の高いサービスYを提供することができる。
【0132】
なお、上述した実施形態では、情報処理装置1は、共有情報41に含まれる特徴情報について、例えば、複数の特徴情報を組合せて新たな特徴情報を生成してもよい。具体的には、「○○好き」の特徴情報と、「××好き」の特徴情報とを合算した、「○○好きで、××好き」という新たな特徴情報を生成してもよい。あるいは、「○○好き」の特徴情報から「××好き」の特徴情報を除いた、「○○好きだが、××嫌い」という新たな特徴情報を生成してもよい。このような、新たな特徴情報の生成タイミングは、例えば、受付部34が受け付けた複数の特徴指定を組み合わせて生成してもよく、あるいは、時事やイベントの発生時に、かかる時事やイベントに関連する複数の特徴情報を組合せて生成してもよい。
【0133】
以上、本願の実施形態のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、発明の開示の欄に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
【0134】
また、上記実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
【0135】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
【0136】
また、上述してきた実施形態に記載した各処理は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【0137】
また、上記してきた「部(section、module、unit)」は、「手段」や「回路」などに読み替えることができる。例えば、取得部31は、登録手段や登録回路に読み替えることができる。