(58)【調査した分野】(Int.Cl.,DB名)
前記生成部は、前記元データが有する特徴として、前記元データに基づき推定された、前記元データが収集された収集元の利用者のコンテキストの特徴ごとに、前記元データが集約されたデータである集約データを生成する
ことを特徴とする請求項1〜4のいずれか1つに記載の情報処理装置。
前記生成部は、前記元データをどのような特徴別に集約させるか前記所定の集約条件となる特徴を決定し、決定した特徴を前記集約条件として用いて前記集約データを生成する
ことを特徴とする請求項6に記載の情報処理装置。
前記提供部は、これまでに提供された集約データおよび当該集約データを提供対象として出力したモデルに対して入力された前記利用者情報の組合せと、前記モデルの精度に関する情報との関係性を学習したモデルを用いて、今回入力された利用者情報に応じた特徴を示す集約データを取得し、取得した集約データを、当該利用者情報を入力した入力元の利用者に提供する
ことを特徴とする請求項11または12に記載の情報処理装置。
【発明を実施するための形態】
【0009】
以下に、本願に係る情報処理装置、情報処理方法および情報処理プログラムを実施するための形態(以下、「実施形態」と呼ぶ)について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る情報処理装置、情報処理方法および情報処理プログラムが限定されるものではない。また、以下の各実施形態において同一の部位には同一の符号を付し、重複する説明は省略する。
【0010】
[実施形態]
〔1.実施形態に係る生成処理の概要〕
まず、実施形態に係る情報処理の概要について説明する。例えば、ショッピングサービス等、消費者向けのサービスを開発するサービス側の開発者は、消費者により最適なコンテンツを提供できるよう、サービスが利用されることにより蓄積されたログを解析しモデルの学習に用いる場合がある。この際、開発者は、高精度なモデルが得られるよう、サービスが利用されたことにより蓄積されたログを収集し、収集したログを構造化したり定義付けしたりすることで学習データを調整する場合がある。
【0011】
また、開発者は、自身の属するサービスに対応するログだけではなく、複数の異なるサービスに渡ってログを利用するという、データの横断活用により学習データを調整しようとする場合もある。
【0012】
しかしながら、このような調整作業には、例えば、大量のログについて1つ1つデータの状況を調査する等といった煩雑な作業が必要となる。こうした状況下では、開発者は、最適な学習データを得ることができず、結果、モデルの精度を向上させることができなくなってしまうことが考えられる。
【0013】
そこで、各種のサービスを介して収集されたデータを、開発者が所望するような様々な観点で集約した集約データを自動生成し、生成した集約データを開発者に提供することで、学習データの調整を支援しようとするアプローチが実施形態に係る情報処理である。
【0014】
具体的には、実施形態に係る情報処理では、収集されたデータである元データの登録が受け付けられ、所定の集約条件に従って、元データが有する特徴ごとに、元データが集約されたデータである集約データが生成され、そして、この集約データのうち、モデルに学習させる特徴を示す集約データを提供する。例えば、実施形態に係る情報処理では、元データとして、所定のサービスを介して収集されたデータ(所定のサービスが消費者によって利用されたことによる履歴情報)の登録が受け付けられるため、この履歴情報が有する特徴ごとに、この履歴情報が集約されたデータである集約データが生成される。
【0015】
また、このような情報処理によれば、学習データの調整に係る煩雑性を解消し、モデルの学習に効果的な学習データを開発者が効率的に得られるようサポートすることができるため、結果、モデルの精度向上に貢献することができるようになる。また、モデルの精度が向上すれば、より良いコンテンツを消費者に提供することができるようになるため、実施形態に係る情報処理によれば、開発者がサービスの質を向上させることができるよう支援することができるようになる。
【0016】
〔2.情報処理システムについて〕
以下、実施形態に係る情報処理の説明に先立って、まず、実施形態に係る情報処理が実現されるシステムについて
図1を用いて説明する。
図1は、実施形態に係る情報処理の全体像を示す図である。
図1には、実施形態に係る情報処理システムの一例として、情報処理システム1が示される。
【0017】
図1には、所定のサービスを介して収集されたデータである元データ(具体的には、所定のサービスが消費者によって利用されたことによる履歴情報)が、サービス担当者によって登録されることで、元データが集約された集約データを所望する利用者であるサービス開発者へとこの集約データが提供されるシチュエーションが示される。
【0018】
そして、実施形態に係る情報処理システム1は、
図1に示すように、担当者装置10−xと、開発者装置20−xと、情報処理装置100とを含む。担当者装置10−x、開発者装置20−x、情報処理装置100は、ネットワークを介して有線または無線により通信可能に接続される。
【0019】
担当者装置10−xは、消費者(エンドユーザ)向けの任意のサービスであるサービスSVxに属する開発者をはじめとする各種の担当者によって利用される情報処理端末である。担当者装置10−xは、例えば、スマートフォンや、ウェアラブルデバイスや、タブレット型端末や、ノート型PC(Personal Computer)や、デスクトップPCや、携帯電話機や、PDA(Personal Digital Assistant)等である。本実施形態では、担当者装置10−xは、デスクトップPCであるものとする。
【0020】
担当者装置10−xは、汎用的なアプリケーションであるウェブブラウザや、専用のアプリケーションを介して、情報処理装置100との間で情報の送受信を行う。例えば、担当者装置10−xは、担当者の操作に従って、サービスを介して収集されたデータである元データが登録されるようこれを情報処理装置100に送信する。また、情報処理装置100は、元データの登録を受け付けることで登録が完了した場合には、登録完了通知を担当者装置10−xに送信することができる。
【0021】
図1の例では、任意のサービスSVxの「x」に対して特定の数値を適用することで、サービスSVx、サービスSVxに属する担当者Pxnおよび担当者装置10−xが区別された状態で示される。具体的には、
図1の例では、所定のサービスの一例であるサービスSV1(例えば、ショッピングサービス)に属する一担当者である担当者P11が、サービスSV1に対応する担当者装置10−1を用いて、サービスSV1を介して収集されたデータである元データ(サービスSV1が消費者によって利用されたことによる履歴情報)を情報処理装置100に登録する例が示される。また、
図1の例では、所定のサービスの一例であるサービスSV2(例えば、トラベルサービス)に属する一担当者である担当者P21が、サービスSV2に対応する担当者装置10−2を用いて、サービスSV2を介して収集されたデータである元データ(サービスSV2が消費者によって利用されたことによる履歴情報)を情報処理装置100に登録する例が示される。
【0022】
開発者装置20−xは、サービスSVxに属する開発者によって利用される情報処理端末である。開発者装置20−xは、例えば、スマートフォンや、ウェアラブルデバイスや、タブレット型端末や、ノート型PCや、デスクトップPCや、携帯電話機や、PDA等である。本実施形態では、開発者装置20−xは、デスクトップPCであるものとする。
【0023】
開発者装置20−xは、汎用的なアプリケーションであるウェブブラウザや、専用のアプリケーションを介して、情報処理装置100との間で情報の送受信を行う。例えば、開発者装置20−xは、開発者の操作に従って、情報処理装置100に対して集約データの提供を要求する。情報処理装置100は、集約データの提供を要求する提供要求を受け付けた場合には、開発者が課題とするモデルが得られるような学習データとなり得る集約データ(すなわち、提供要求に応じた集約データ)を開発者に提供する。
【0024】
図1の例では、任意のサービスSVxの「x」に対して特定の数値を適用することで、サービスSVx、サービスSVxに属する開発者Uxnおよび開発者装置20−xが区別された状態で示される。具体的には、
図1の例では、所定のサービスの一例であるサービスSV1(例えば、ショッピングサービス)に属する一開発者である開発者U11が、サービスSV1に対応する開発者装置20−1を用いて、情報処理装置100に対して集約データの提供を要求する例が示される。
【0025】
情報処理装置100は、実施形態に係る情報処理を実行する情報処理装置である。したがって、情報処理装置100は、収集されたデータである元データの登録を受け付け、所定の集約条件に従って、元データが有する特徴ごとに、元データが集約されたデータである集約データを生成する。そして、情報処理装置100は、生成した集約データのうち、モデルに学習させる特徴を示す集約データを提供する。
【0026】
また、情報処理装置100は、例えば、サーバ装置やクラウドシステムとして実現される。本実施形態では、情報処理装置100は、サーバ装置であるものとする。
【0027】
〔3.情報処理の一例〕
ここからは、
図1を用いて、実施形態に係る情報処理の一例について説明する。上述したように、
図1には、サービスSV1を担当する担当者P11が、担当者装置10−1を用いて、サービスSV1を介して収集されたデータである元データ(サービスSV1が消費者によって利用されたことによる履歴情報)を情報処理装置100に登録する例が示される。また、
図1には、サービスSV2を担当する担当者P21が、担当者装置10−2を用いて、サービスSV2を介して収集されたデータである元データ(サービスSV2が消費者によって利用されたことによる履歴情報)を情報処理装置100に登録する例が示される。
【0028】
したがって、
図1では、まず、各サービスSVxを担当する担当者Pxnそれぞれが、担当者装置10−xを用いて、自身が属するサービスSVxを介して収集された元データを情報処理装置100に登録する(ステップS11)。
【0029】
よって、係る例では、情報処理装置100は、各サービスSVx側で収集された元データの登録を各サービスSVxを担当する担当者Pxnそれぞれから受け付ける(ステップS12)。また、
図1では不図示であるが、情報処理装置100は、登録を受け付けた元データを集約データ記憶部121に格納する。後述するが、集約データ記憶部121は、第1層、第2層、第3層という3層の階層構造となっており、情報処理装置100は、集約データ記憶部121のうち、第1層目の領域に元データを格納する。
【0030】
次に、情報処理装置100は、元データから集約データを生成する生成処理を行うにあたって、元データに対して前処理を施す(ステップS13)。例えば、情報処理装置200は、係る前処理として、元データについて重複、誤記、表記揺れ等を検出し、これらを削除、修正あるいは正規化するというクレンジング処理を行う。
【0031】
次に、情報処理装置100は、所定の集約条件に従って、元データが有する特徴ごとに、元データが集約された集約データを生成する生成処理を行う(ステップS14)。生成処理については
図2で詳細に説明する。
【0032】
また、このような状態において、情報処理装置100は、集約データの提供を要求する提供要求を受け付けたか否かを判定している。集約データの提供を要求する提供要求では、例えば、どのような性能のモデルを得たいかといったモデルについて解決したい課題が、所定のサービスを利用したサービス利用者(消費者)に関する利用者情報(サービス利用者の属性情報と、サービス利用者について定義されたラベル情報との組合せ)を用いて規定される。したがって、換言すると、情報処理装置100は、所定のサービスを利用したサービス利用者に関する利用者情報の入力を提供要求として受け付けたか否かを判定している。
【0033】
ここで、
図1の例では、サービスSV1に属する開発者U11が、開発者装置20−1を用いて、情報処理装置100に対して集約データの提供を要求する提供要求を送信している(ステップS21)。したがって、係る例では、情報処理装置100は、集約データの提供を要求する提供要求を開発者U11から受け付けたと判定する(ステップS22)。
【0034】
また、このように、情報処理装置100は、集約データの提供要求を受け付けたと判定できた場合には、生成済の集約データのうち、モデルに学習させる特徴を示す集約データを選択する選択処理を行う(ステップS23)。例えば、情報処理装置100は、係る選択処理として、提供要求に応じた集約データを生成済の集約データの中から選択するという選択処理を行う。より具体的には、情報処理装置100は、提供要求に応じた集約データとして、開発者U11が課題とするモデルが得られるような学習データとなり得る集約データを生成済の集約データの中から選択する。
【0035】
そして、情報処理装置100は、選択した集約データを開発者装置20−1に送信することで、この集約データを開発者U11に提供する(ステップS24)。
【0036】
〔4.生成処理の一例〕
次に、
図2を用いて、集約データを生成する生成処理の詳細な一例について説明する。
図2は、集約データ生成処理の一例を示す図である。
【0037】
図2の例では、情報処理装置100は、ステップS12で受け付けた元データを集約データ記憶部121に格納している。具体的には、情報処理装置100は、集約データ記憶部121のうち、第1層目の領域に元データを格納している。
図2の例では、集約データ記憶部121の第1層は、「サービスID」および「元データ」といった項目を有する。「サービスID」は、ショッピングサービス等の消費者向けのサービスを識別する識別情報を示す。「元データ」は、「サービスID」により識別されるサービスを介して収集された元データ(例えば、サービス利用による履歴情報)を示す。すなわち、
図2の例では、情報処理装置100が、サービスID「SV1」により識別されるサービス(サービスSV1)を介して収集された元データとして「元データ♯1」の登録を受け付け、これを第1層に格納した例が示される。
【0038】
また、このような状態において、情報処理装置100は、ステップS13のように元データそれぞれに対して前処理を施す。例えば、情報処理装置200は、各元データについて重複、誤記、表記揺れ等を検出し、これらを削除、修正あるいは正規化するというクレンジング処理を行い、クレンジング処理が済んだ処理済の元データを集約データ記憶部121に格納する。具体的には、情報処理装置100は、集約データ記憶部121のうち、第2層目の領域に処理済の元データを格納する。
【0039】
ここで、
図2の例では、集約データ記憶部121の第2層は、「サービスID」および「処理済元データ」といった項目を有する。「サービスID」は、ショッピングサービス等の消費者向けのサービスを識別する識別情報を示す。「処理済元データ」は、クレンジング処理された処理済の元データを示す。すなわち、
図2の例では、情報処理装置100が、サービスID「SV1」により識別されるサービス(サービスSV1)を介して収集された元データである「元データ♯1」に対してクレンジング処理することで、処理済の「元データ♯11」を得た例が示される。
【0040】
次に、情報処理装置100は、集約データ記憶部121の第2層に格納される処理済の元データを対象として、ステップS14の生成処理を行う。具体的には、情報処理装置100は、集約条件に従って、処理済の元データが有する特徴ごとに処理済の元データを集約することで、この特徴ごとに処理済の元データが集約された集約データを生成する。
【0041】
実施形態に係る集約条件とは、元データが有するどのような特徴別に元データを集約させるかを規定する集約におけるルールである。したがって、情報処理装置100は、元データをどのような特徴別に集約させるかが規定された集約条件に従って、集約データを生成する。例えば、情報処理装置100は、処理済の元データをどのような特徴別に集約することで集約データを生成するか生成処理で利用対象となる特徴を決定し、決定した特徴を集約条件として用いて集約データを生成する。
【0042】
例えば、集約条件は、情報処理システム1を利用する利用者(例えば、
図1に示す担当者Pxn、開発者Unx等)によって登録されてよい。係る場合、利用者は、例えば、どのような学習データをモデルに学習させればモデルの精度が向上するかこれまでの試行で得られた経験則に基づき集約条件を検討し、検討の結果見出した集約条件を登録することができる。
【0043】
また一方で、情報処理装置100が、集約条件を動的に定めることもできる。例えば、情報処理システム1を利用する利用者は、情報処理装置100がより最適な集約条件を設定できるよう条件設定に係る指標を登録することができる。この場合、情報処理装置100は、利用者により登録された指標に基づいて、元データが有するどのような特徴で元データを集約すべきかより最適な集約条件を定めることができる。また、例えば、情報処理装置100は、これまでに利用者により登録された集約条件の傾向を学習することで、学習結果に基づいて、元データが有するどのような特徴で元データを集約すべきかより最適な集約条件を定めてもよい。
【0044】
また、
図2の例によれば、集約条件は、集約条件記憶部122に格納される。例えば、集約条件記憶部122は、利用者によって情報処理装置100に登録された集約条件や、情報処理装置100が動的に定めた集約条件といった各種の集約条件を記憶する。したがって、情報処理装置100は、集約条件記憶部122において集約条件として記憶される特徴(特徴情報)を生成処理で利用対象となる特徴として決定することができる。
【0045】
ここで、
図2の例では、集約条件記憶部122は、「サービスID」、「条件ID」、「集約条件」といった項目を有する。「サービスID」は、ショッピングサービス等の消費者向けのサービスを識別する識別情報を示す。「条件ID」は、「集約条件」を識別する識別情報を示す。「集約条件」は、元データが有するどのような特徴別に元データを集約させるかを規定する集約におけるルールであって、「サービスID」により識別されるサービスごとに定められたルールである。
【0046】
例えば、
図2に示す集約条件記憶部122の例では、サービスID「SV1」と集約条件「特徴情報♯11」とが対応付けられている。係る例は、サービスID「SV1」により識別されるサービス(サービスSV1)を介して収集された元データのうち、「特徴情報♯11」で示される特徴を有するデータ部分のみでこの元データを集約するよう集約条件が定められている例を示す。「特徴情報♯11」の一例としては、「サービスSV1での商品購入に利用された利用合計額が5,000円以上の消費者に関する情報」といった特徴が考えられる。したがって、係る例では、情報処理装置100は、サービスID「SV1」により識別されるサービス(サービスSV1)を介して収集された元データのうち、「サービスSV1での商品購入に利用された利用合計額が5,000円以上の消費者に関する情報」という特徴を含むデータ部分を抽出することで、元データをこの特徴で集約する。
【0047】
また、例えば、
図2に示す集約条件記憶部122の例では、サービスID「SV1」と集約条件「特徴情報♯12」とが対応付けられている。係る例は、サービスID「SV1」により識別されるサービス(サービスSV1)を介して収集された元データのうち、「特徴情報♯12」で示される特徴を有するデータ部分のみでこの元データを集約するよう集約条件が定められている例を示す。また、例えば、
図2に示す集約条件記憶部122の例では、サービスID「SV1」と集約条件「特徴情報♯13」とが対応付けられている。係る例は、サービスID「SV1」により識別されるサービス(サービスSV1)を介して収集された元データのうち、「特徴情報♯13」で示される特徴を有するデータ部分のみでこの元データを集約するよう集約条件が定められている例を示す。
【0048】
また、情報処理装置100は、ステップS14で生成した集約データを集約データ記憶部121に格納する。具体的には、情報処理装置100は、集約データ記憶部121のうち、第3層目の領域に集約データを格納する。
【0049】
ここで、
図2の例では、集約データ記憶部121の第3層は、「サービスID」、「条件ID」、「集約データ」といった項目を有する。「サービスID」は、ショッピングサービス等の消費者向けのサービスを識別する識別情報を示す。「条件ID」は、集約条件記憶部122に記憶される「条件ID」に対応し、「集約条件」を識別する識別情報を示す。「集約データ」は、「条件ID」で識別される「集約条件」として示される特徴ごとに、「サービスID」に対応付けられる元データが集約されたデータである集約データを示す。
【0050】
すなわち、
図2の例では、情報処理装置100が、サービスSV1を介して収集された「元データ♯1」がクレンジング処理された後の「元データ♯11」のうち、「特徴情報♯11」で示される特徴を有するデータ部分を抽出するという集約により「集約データ♯111」を生成した例を示す。また、
図2の例では、情報処理装置100が、サービスSV1を介して収集された「元データ♯1」がクレンジング処理された後の「元データ♯11」のうち、「特徴情報♯12」で示される特徴を有するデータ部分を抽出するという集約により「集約データ♯112」を生成した例を示す。また、
図2の例では、情報処理装置100が、サービスSV1を介して収集された「元データ♯1」がクレンジング処理された後の「元データ♯11」のうち、「特徴情報♯13」で示される特徴を有するデータ部分を抽出するという集約により「集約データ♯113」を生成した例を示す。
【0051】
これまで
図1および
図2で説明してきたように、実施形態に係る情報処理装置100は、収集されたデータである元データの登録を受け付け、所定の集約条件に従って、元データが有する特徴ごとに、元データが集約されたデータである集約データを生成する。そして、情報処理装置100は、生成した集約データのうち、モデルに学習させる特徴を示す集約データを提供する。
【0052】
このような情報処理装置100によれば、学習データの調整に係る煩雑性を解消し、モデルの学習に効果的な学習データを開発者が効率的に得られるようサポートすることができるため、結果、モデルの精度向上に貢献することができる。また、モデルの精度が向上すれば、より良いコンテンツを消費者に提供することができるようになるため、情報処理装置100によれば、開発者がサービスの質を向上させることができるよう支援することができる。
【0053】
〔5.情報処理装置の構成〕
次に、
図3を用いて、実施形態に係る情報処理装置100について説明する。
図3は、実施形態に係る情報処理装置100の構成例を示す図である。
図3に示すように、情報処理装置100は、通信部110と、記憶部120と、制御部130とを有する。
【0054】
(通信部110について)
通信部110は、例えば、NIC(Network Interface Card)等によって実現される。そして、通信部110は、ネットワークNと有線または無線で接続され、例えば、担当者装置10−x、開発者装置20−xとの間で情報の送受信を行う。
【0055】
(記憶部120について)
記憶部120は、例えば、RAM(Random Access Memory)、フラッシュメモリ等の半導体メモリ素子またはハードディスク、光ディスク等の記憶装置によって実現される。記憶部120は、集約データ記憶部121と、集約条件記憶部122とを有する。集約データ記憶部121および集約条件記憶部122の構成例については
図2で説明済であるためここでの説明については省略する。
【0056】
(制御部130について)
制御部130は、CPU(Central Processing Unit)やMPU(Micro Processing Unit)等によって、情報処理装置100内部の記憶装置に記憶されている各種プログラムがRAMを作業領域として実行されることにより実現される。また、制御部130は、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実現される。
【0057】
図3に示すように、制御部130は、登録受付部131と、生成部132と、入力受付部133と、提供部134と、学習部135とを有し、以下に説明する情報処理の機能や作用を実現または実行する。なお、制御部130の内部構成は、
図3に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。また、制御部130が有する各処理部の接続関係は、
図3に示した接続関係に限られず、他の接続関係であってもよい。
【0058】
(登録受付部131について)
登録受付部131は、収集されたデータである元データの登録を受け付ける。例えば、登録受付部131は、元データとして、所定のサービスを介して収集されたデータの登録を受け付ける。具体的な一例としては、登録受付部131は、所定のサービスを介して収集されたデータとして、所定のサービスが利用者によって利用されたことによる履歴情報の登録を受け付ける。また、ここでいう履歴情報とは、所定のサービスが消費者によって利用されたことによる各種の履歴情報であり、所定のサービスへのアクセス履歴、所定のサービスに対応するコンテンツの閲覧履歴、所定のサービスを利用して商品購入されたことによる購買履歴、所定のサービスが利用された際の位置履歴等を含み得る。
【0059】
(生成部132について)
生成部132は、所定の集約条件に従って、元データが有する特徴ごとに、元データが集約されたデータである集約データを生成する。例えば、生成部132は、クレンジング処理された後の元データが有する特徴ごとに、クレンジング処理された後の元データが集約された集約データを生成する。
【0060】
また、生成部132は、所定の集約条件として、元データをどのような特徴別に集約させるかが規定された集約条件に従って、集約データを生成する。例えば、生成部132は、元データをどのような特徴別に集約させるか所定の集約条件となる特徴を決定し、決定した特徴を集約条件として用いて集約データを生成する。この点について、例えば、生成部132は、情報処理システム1を利用する利用者(例えば、
図1に示す担当者Pxn、開発者Unx等)によって情報処理装置100に登録された集約条件としての特徴情報を、集約データを生成する生成処理で利用対象となる特徴情報として決定することができる。また、生成部132は、装置側で動的に定めた集約条件としての特徴情報を、集約データを生成する生成処理で利用対象となる特徴情報として決定してもよい。
【0061】
また、生成部132は、元データのうち所定の1種類の元データから、当該所定の1種類の元データから派生した、それぞれ種類の異なる複数種類の集約データを生成してもよい。例えば、生成部132は、元データに対応する期間のうち、異なる期間ごとに当該元データが集約された集約データを生成する。この点について、
図4を用いて説明する。
【0062】
図4は、元データから集約データを生成する生成処理の一例を示す図である。
図4には、サービスID「SV1」により識別されるサービス(サービスSV1)を介して収集された元データ♯1がクレンジング処理された処理済の元データ♯11という1種類の元データからそれぞれ種類の異なる複数種類の集約データが生成される一場面が示される。
【0063】
より具体的には、
図4の例によれば、元データ♯11は、過去1年分(例えば、2019年度)という1つの期間を対象として、サービスSV1を介して収集されたデータである。例えば、元データ♯11は、2019年度1年間の間にサービスSV1が消費者により利用されたことに応じて収集された各種の履歴情報である。
【0064】
以下では、このような元データ♯11が、条件ID「CD15」によって識別される集約条件(集約条件CD15)に従って集約データが生成されるパターン、条件ID「CD16」によって識別される集約条件(集約条件CD16)に従って集約データが生成されるパターン、条件ID「CD17」によって識別される集約条件(集約条件CD17)に従って集約データが生成されるパターンそれぞれについて説明する。
【0065】
まず、集約条件CD15を用いた集約データ生成処理について説明する。
図4に示すように、集約条件CD15としての特徴情報は「時系列が最も新しい1ヶ月分の元データを対象とした週ごとの消費者に関する情報」といったものであるとする。係る場合、生成部132は、サービスSV1を介して収集された元データ♯11のうち、「時系列が最も新しい1ヶ月分の元データを対象とした週ごとの消費者に関する情報」という特徴を含むデータ部分を抽出することで、元データ♯11をこの特徴で集約する。
【0066】
ここで、
図4の例によれば、時系列が最も新しい1ヶ月分の元データとは、2019年度1年間分の元データ♯11のうち、12月分のデータに対応する。したがって、生成部132は、元データ♯11に含まれる2019年度12月分のデータを利用して、第1週目(2019年12月1日〜2019年12月6日)のデータ部分を抽出する。これにより、生成部132は、「第1週目(2019年12月1日〜2019年12月6日)に対応する消費者に関する情報」という特徴で元データ♯11を集約する。
図4にはこのような集約の結果、生成部132が「集約データ♯11w1」を生成した例が示される。
【0067】
また、生成部132は、元データ♯11に含まれる2019年度12月分のデータを利用して、第2週目(2019年12月7日〜2019年12月13日)のデータ部分を抽出する。これにより、生成部132は、「第2週目(2019年12月7日〜2019年12月13日)に対応する消費者に関する情報」という特徴で元データ♯11を集約する。
図4にはこのような集約の結果、生成部132が「集約データ♯11w2」を生成した例が示される。
【0068】
また、不図示であるが、生成部132は、2019年度12月の残りの各週についても同様に集約データを生成する。
【0069】
次に、集約条件CD16を用いた集約データ生成処理について説明する。
図4に示すように、集約条件CD16としての特徴情報は「時系列がより新しい2ヶ月分の元データを対象とした月ごとの消費者に関する情報」といったものであるとする。係る場合、生成部132は、サービスSV1を介して収集された元データ♯11のうち、「時系列がより新しい2ヶ月分の元データを対象とした月ごとの消費者に関する情報」という特徴を含むデータ部分を抽出することで、元データ♯11をこの特徴で集約する。
【0070】
ここで、
図4の例によれば、時系列が最も新しい2ヶ月分の元データとは、2019年度1年間分の元データ♯11のうち、12月分のデータおよび11月分のデータに対応する。したがって、生成部132は、元データ♯11のうち、2019年12月1ヶ月分のデータ部分を抽出する。これにより、生成部132は、「2019年度12月分に対応する消費者に関する情報」という特徴で元データ♯11を集約する。
図4にはこのような集約の結果、生成部132が「集約データ♯11m1」を生成した例が示される。
【0071】
また、生成部132は、元データ♯11のうち、2019年11月1ヶ月分のデータ部分を抽出する。これにより、生成部132は、「2019年度11月分に対応する消費者に関する情報」という特徴で元データ♯11を集約する。
図4にはこのような集約の結果、生成部132が「集約データ♯11m2」を生成した例が示される。
【0072】
次に、集約条件CD17を用いた集約データ生成処理について説明する。
図4に示すように、集約条件CD17としての特徴情報は「時系列が最も新しい1ヶ月分の元データを対象として、利用合計額を平均した平均額ごとの消費者に関する情報」といったものであるとする。係る場合、生成部132は、サービスSV1を介して収集された元データ♯11のうち、「時系列が最も新しい1ヶ月分の元データを対象として、利用合計額を平均した平均額ごとの消費者に関する情報」という特徴を含むデータ部分を抽出することで、元データ♯11をこの特徴で集約する。
【0073】
ここで、
図4の例によれば、時系列が最も新しい1ヶ月分の元データとは、2019年度1年間分の元データ♯11のうち、12月分のデータに対応する。また、サービスSV1での1回ごとの商品購入に利用された利用合計額を平均した平均額(合計平均額)として、「1,000円」および「5,000円」が定められているものとする。
【0074】
したがって、生成部132は、元データ♯11に含まれる2019年度12月分のデータを利用して、「サービスSV1での1回ごとの買い物で利用された合計金額を平均した場合に合計平均額「1,000円」となる消費者に関する情報」という特徴で元データ♯11を集約する。
図4にはこのような集約の結果、生成部132が「集約データ♯11avg1」を生成した例が示される。
【0075】
また、生成部132は、元データ♯11に含まれる2019年度12月分のデータを利用して、「サービスSV1での1回ごとの買い物で利用された合計金額を平均した場合に合計平均額「5,000円」となる消費者に関する情報」という特徴で元データ♯11を集約する。
図4にはこのような集約の結果、生成部132が「集約データ♯11avg2」を生成した例が示される。
【0076】
(入力受付部133について)
図3に戻り、入力受付部133は、生成部132により生成された集約データの提供を要求する提供要求を受け付ける。例えば、入力受付部133は、開発者(開発者装置20−x)から提供要求を受け付ける。また、係る提供要求では、例えば、どのような性能のモデルを得たいかといった、開発者がモデルについて解決したいと考える課題が所定のサービスを利用したサービス利用者(消費者)に関する利用者情報(サービス利用者の属性情報と、サービス利用者について定義されたラベル情報との組合せ)を用いて規定される。
【0077】
したがって、入力受付部133は、所定のサービスを利用したサービス利用者に関する利用者情報の入力を受け付ける。具体的には、入力受付部133は、利用者情報として、サービス利用者の属性情報と、サービス利用者について定義されたラベル情報との組合せを受け付ける。
【0078】
(提供部134について)
提供部134は、生成部132により生成された集約データのうち、モデルに学習させる特徴を示す集約データを提供する。例えば、提供部134は、入力受付部133により利用者情報が受け付けられた場合に、生成部132により生成された集約データのうち、当該利用者情報に応じた特徴を示す集約データを、当該利用者情報を入力した入力元の利用者(開発者)に提供する。
【0079】
例えば、提供部134は、これまでに提供された集約データおよび当該集約データを提供対象として出力したモデルに対して入力された利用者情報の組合せと、このモデルの精度に関する情報との関係性を学習したモデルを用いて、今回入力された利用者情報に応じた特徴を示す集約データを取得し、取得した集約データを、当該利用者情報を入力した入力元の利用者に提供する。
【0080】
(学習部135について)
学習部135は、これまでに提供された集約データおよび当該集約データを提供対象として出力したモデルに対して入力された利用者情報の組合せと、このモデルの精度に関する情報との関係性をモデルに学習させる。
【0081】
ここからは、入力受付部133、提供部134、学習部135の間で行われる処理により、開発者が課題とするモデルが得られるような学習データとなり得る集約データ(すなわち、提供要求に応じた集約データ)が開発者に提供される提供処理の一例について説明する。
図5は、実施形態に係る提供処理の一例を示す図である。
【0082】
図5の例によれば、開発者U11は、モデルについて解決したい課題として次のような課題を有する。具体的には、
図5には、開発者U11は、サービスSV1を利用したサービス利用者の属性情報A1を入力として、サービスSV1を利用したサービス利用者に関するラベル情報L1を出力するといった性能のモデルXを構築する、という課題を有する例が示される。
【0083】
ここで、属性情報A1およびラベル情報L1の具体例としては、「クエリQ1で検索した男性ユーザには、検索結果画面として所定のコンテンツC1を提供すべき」、「クエリQ1で検索した女性ユーザには、検索結果画面として所定のコンテンツC1を提供すべきでない」、等といったもので、すなわち、属性情報Aとラベル情報L1は、属性と属性に応じて判断された結果という関係性にある。
【0084】
このような状態において、例えば、「クエリQ1で検索した20代ユーザには、検索結果画面として所定のコンテンツC1を提供すべきなのか」、「クエリQ1で検索した50代ユーザには、検索結果画面として所定のコンテンツC1を提供すべきなのか」等、未知のシチュエーションではコンテンツC1の提供をどうすべきか判断したい場合、開発者U11は、これまで収集された多くのデータを解析しなければならず非常に手間がかかる。そこで、属性情報A1を入力としてラベル情報L1を出力するようなモデルXを構築できれば、類似する未知のシチュエーションについてもより適切な結果を効率的に得ることができるようになると考えられる。
【0085】
そこで、
図5の例では、開発者U11は、属性情報A1およびラベル情報L1の組合せを提供要求として送信することで、モデルXを構築できるような学習データとなり得る集約データの提供を情報処理装置100に求めている。
【0086】
図5の例によれば、学習部135は、利用者情報(属性情報A1およびラベル情報L1の組合せ)を入力として、モデルXを構築できるような学習データとなり得る集約データとして、「集約データ♯L11」、「集約データ♯L12」、「集約データ♯L13」を出力するようなモデルMD1を学習している。換言すると、学習部135は、生成部132により生成された集約データのうち、今回入力された利用者情報(属性情報A1およびラベル情報L1の組合せ)に応じた特徴を示す集約データとしてより最適なものを判定するモデルMD1を学習している。
【0087】
このようなことから、これまでの例によると、入力受付部133は、モデルについて解決したい課題が規定された配信要求を開発者U11から受け付ける。具体的には、入力受付部133は、サービスSV1を利用したサービス利用者の属性情報A1、および、サービスSV1を利用したサービス利用者に関するラベル情報L1の組合せの入力を配信要求として受け付ける。また、提供部134は、属性情報A1およびラベル情報L1の組合せをモデルMD1に入力することで、「集約データ♯L11」、「集約データ♯L12」、「集約データ♯L13」を取得する。上記の通り、取得したこれらの集約データは、開発者U11の課題を解決し得る集約データである。そこで、提供部134は、取得したこれらの集約データを開発者U11に提供する。
【0088】
開発者U11は、提供部134により提供された上記の集約データを学習データとして用いることで、属性情報A1を入力としてラベル情報L1を出力するモデルを構築することができるようになる。例えば、開発者U11は、提供部134により提供された上記の集約データを学習データとして、この学習データの特徴をモデルXに学習させた結果、属性情報A1が入力された場合にラベル情報L1を出力するようにモデルXを構築することができる。
【0089】
ここからは、引き続き
図5を用いて、学習部135によってモデルMD1の学習が行われる際の一例について説明する。
図5の上段には「モデルMD1の詳細」として、学習の一例が示される。
図5に示すように、学習部135は、これまでにモデルMD1に入力された利用者情報(属性情報およびラベル情報の組合せ)、および、この入力に応じて提供対象として出力された集約データとの組合せと、モデルMD1の精度に関する情報との関係性をモデルMD1に学習させる。より具体的には、学習部135は、これまでにモデルMD1に入力された利用者情報(属性情報およびラベル情報の組合せ)、および、この入力に応じて提供対象として出力された集約データとの組合せと、モデルMD1の学習においてより最適であると判断された学習データ(集約データ)が有する特徴との関係性を学習させる。
【0090】
図5の例では、学習部135は、利用者情報♯12および集約データ♯DA12と、精度情報♯AC12との関係性、利用者情報♯13および集約データ♯DA13と、精度情報♯AC13との関係性、利用者情報♯14および集約データ♯DA14と、精度情報♯AC14との関係性をそれぞれモデルMD1に学習させている。
【0091】
そして、このような学習の結果、モデルMD1は、利用者情報(属性情報A1およびラベル情報L1の組合せ)が入力された場合に、モデルXを構築できるような学習データとなり得るより最適な集約データを出力できるようになる。
【0092】
〔6.処理手順〕
次に、実施形態に係る情報処理の手順について説明する。
【0093】
〔6−1.処理手順〕
まず、
図6を用いて、実施形態に係る情報処理のうち、集約データが生成される生成処理の手順について説明する。
図6は、実施形態に係る生成処理手順を示すフローチャートである。
【0094】
登録受付部131は、所定のサービスを介して収集された元データの登録を受け付けたか否かを判定する(ステップS601)。登録受付部131は、元データの登録を受け付けていないと判定している間は(ステップS601;No)、元データの登録を受け付けたと判定できるまで待機する。
【0095】
一方、登録受付部131は、元データの登録を受け付けたと判定した場合には(ステップS601;Yes)、受け付けた元データを集約データ記憶部121の第1層に格納する。
【0096】
また、生成部132は、元データの登録を受け付けたと判定された場合には(ステップS601;Yes)、集約データ記憶部121から元データを取得し、取得した元データについて重複、誤記、表記揺れ等を検出し、これらを削除、修正あるいは正規化するというクレンジング処理を行う(ステップS602)。
【0097】
また、生成部132は、クレンジング処理後の処理済の元データを集約データ記憶部121の第2層に格納する。
【0098】
このような状態において、次に、生成部132は、集約条件に従って、元データが有する特徴ごとに、元データが集約された集約データを生成する生成処理を行う(ステップS603)。例えば、生成部132は、生成処理で利用する利用対象となる特徴を決定し、決定した特徴を集約条件として用いることで、元データが有する特徴ごとに、元データが集約された集約データを生成する。
【0099】
また、生成部132は、生成した集約データを集約データ記憶部121の第3層に格納する。
【0100】
〔6−2.処理手順〕
まず、
図7を用いて、実施形態に係る情報処理のうち、生成処理で生成された集約データのうち、提供要求に応じた集約データを提供するための提供処理の手順について説明する。
図7は、実施形態に係る提供処理手順を示すフローチャートである。
【0101】
まず、入力受付部133は、集約データが生成されている状態で、集約データの提供を要求する提供要求を受け付けたか否かを判定する(ステップS701)。例えば、入力受付部133は、提供要求として、所定のサービスを利用したサービス利用者(消費者)に関する利用者情報(サービス利用者の属性情報と、サービス利用者について定義されたラベル情報との組合せ)の入力を受け付けたか否かを判定する。
【0102】
入力受付部133は、提供要求を受け付けていないと判定している間は(ステップS701;No)、提供要求を受け付けたと判定できるまで待機する。
【0103】
一方、提供部134は、提供要求を受け付けたと判定された場合には(ステップS701;Yes)、生成済の集約データのうち、モデルに学習させる特徴を示す集約データを選択する(ステップS702)。例えば、提供部134は、提供要求に応じた集約データを生成済の集約データの中から選択する。例えば、提供部134は、提供要求に応じた集約データとして、要求元の利用者が課題とするモデルが得られるような学習データとなり得る集約データを生成済の集約データの中から選択する。
【0104】
そして、提供部134は、選択した集約データを要求元の利用者に提供する(ステップS703)。
【0105】
〔7.変形例〕
上記実施形態に係る情報処理装置100は、上記実施形態以外にも種々の異なる形態にて実施されてよい。そこで、以下では、情報処理装置100の他の実施形態について説明する。
【0106】
〔7−1.コンテキストの特徴で集約〕
上記実施形態では、生成部132が、所定のサービスが利用者によって利用されたことによる履歴情報が有する特徴ごとに、元データが集約されたデータである集約データを生成する例を示した。しかし、生成部132は、元データに基づき元データが収集された収集元の利用者(すなわち、サービス利用者)のコンテキストを推定することで、推定したコンテキストの特徴ごとに、元データが集約されたデータである集約データを生成してもよい。
【0107】
例えば、サービスが利用されたことによる履歴情報によって、特定のサービス利用者が「風邪薬」を購入したことが示されていたとする。また、このような履歴情報から現在時期では、サービス利用者は市販薬の中で風邪薬を購入する傾向にあることが判明したとする。このような場合、生成部132は、「風邪薬」を購入したサービス利用者のコンテキストとして「風邪をひいている状態」であると推定する。また、このような推定の結果、生成部132は、「風邪をひいていたと推定される消費者に関する情報」という特徴を含むデータ部分を元データから抽出することで、元データをこの特徴で集約することができる。
【0108】
このような情報処理装置100によれば、元データから直接的に得られる特徴だけではなく元データから推定できる各種の特徴も用いて集約条件を設定することができるため、集約条件のバリエーションを増やすことができる。そして、この結果、情報処理装置100は、要求元の利用者に応じたより適切な集約データを提供することができるようになる。
【0109】
〔7−2.種類の異なる元データを組み合わせた集約データ生成〕
また、生成部132は、種類の異なる元データを組み合わせることで集約データを生成してもよい。例えば、「時間帯×天気ごとの、売り上げランク10位以内の商品を購入した消費者に関する情報」といった特徴で集約するよう集約条件が定められているとする。係る場合、生成部132は、例えば、ショッピングサービスを介して収集された元データと、この元データに対応する期間での天気に関する天気データとをかけ合わせることで、ショッピングサービスを介して収集された元データを集約条件に従って集約する。
【0110】
このような情報処理装置100によれば、種類の異なる元データを組み合わせることで、例えば、内容の複雑な集約条件にも対応することができるようになる。
【0111】
〔7−3.集約データ以外の情報も提供〕
上記実施形態では、提供部134が、モデルに学習させる特徴を示す集約データを提供する例を示した。しかし、提供部134は、集約データに関するその他の情報も提供してよい。例えば、提供部134は、要求元の利用者に提供する提供対象の集約データのうち、特徴ごとの集約データ間で成立している関係性を示す情報をさらに提供してもよい。例えば、提供部134は、特徴ごとの集約データの間で所定の統計が得られた場合には、係る統計を示す統計情報を提供することができる。また、例えば、提供部134は、特徴ごとの集約データの間で所定の相関関係が得られた場合には、係る相関関係を示す相関情報を提供することができる。
【0112】
このような情報処理装置100によれば、集約データの提供を受けた利用者は、どのような観点で集約が行われたかを知ることができるため、提供された集約データが学習データとしてふさわしいか否かをより効果的に検討することができるようになる。
【0113】
〔7−4.集約データを低次元化〕
また、提供部134は、提供対象の集約データについて低次元化を行い、低次元化した後の集約データを提供してもよい。例えば、提供部134は、学習にかかる時間を短縮化できるよう、学習に応じた最適な状態に変換する。一例としては、提供部134は、集約データがテキスト形式である場合には、テキストを所定のビット数に変換し、返還後の集約データを提供することができる。
【0114】
このような情報処理装置100によれば、例えば、学習の際に行われる計算の計算量を減らしたり、学習に用いられるデータのデータ量を減らしたりことができるため、モデルの軽量化や学習速度の向上を図ることができるようになる。
【0115】
〔8.ハードウェア構成〕
また、上記実施形態に係る情報処理装置100は、例えば
図8に示すような構成のコンピュータ1000によって実現される。
図8は、情報処理装置100の機能を実現するコンピュータ1000の一例を示すハードウェア構成図である。コンピュータ1000は、CPU1100、RAM1200、ROM1300、HDD1400、通信インターフェイス(I/F)1500、入出力インターフェイス(I/F)1600、及びメディアインターフェイス(I/F)1700を有する。
【0116】
CPU1100は、ROM1300又はHDD1400に格納されたプログラムに基づいて動作し、各部の制御を行う。ROM1300は、コンピュータ1000の起動時にCPU1100によって実行されるブートプログラムや、コンピュータ1000のハードウェアに依存するプログラム等を格納する。
【0117】
HDD1400は、CPU1100によって実行されるプログラム、および、かかるプログラムによって使用されるデータ等を格納する。通信インターフェイス1500は、通信網50を介して他の機器からデータを受信してCPU1100へ送り、CPU1100が生成したデータを、通信網50を介して他の機器へ送信する。
【0118】
CPU1100は、入出力インターフェイス1600を介して、ディスプレイやプリンタ等の出力装置、及び、キーボードやマウス等の入力装置を制御する。CPU1100は、入出力インターフェイス1600を介して、入力装置からデータを取得する。また、CPU1100は、生成したデータを、入出力インターフェイス1600を介して出力装置へ出力する。
【0119】
メディアインターフェイス1700は、記録媒体1800に格納されたプログラム又はデータを読み取り、RAM1200を介してCPU1100に提供する。CPU1100は、かかるプログラムを、メディアインターフェイス1700を介して記録媒体1800からRAM1200上にロードし、ロードしたプログラムを実行する。記録媒体1800は、例えばDVD(Digital Versatile Disc)、PD(Phase change rewritable Disk)等の光学記録媒体、MO(Magneto-Optical disk)等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等である。
【0120】
例えば、コンピュータ1000が実施形態にかかる情報処理装置100として機能する場合、コンピュータ1000のCPU1100は、RAM1200上にロードされたプログラムを実行することにより、制御部130の機能を実現する。また、HDD1400には、記憶部120内のデータが格納される。コンピュータ1000のCPU1100は、これらのプログラムを、記録媒体1800から読み取って実行するが、他の例として、他の装置から、通信網50を介してこれらのプログラムを取得してもよい。
【0121】
〔9.その他〕
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
【0122】
以上、本願の実施形態をいくつかの図面に基づいて詳細に説明したが、これらは例示であり、発明の開示の欄に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
【0123】
また、上述してきた「部(section、module、unit)」は、「手段」や「回路」などに読み替えることができる。例えば、生成部は、生成手段や生成回路に読み替えることができる。
【解決手段】本願に係る情報処理装置は、登録受付部と、生成部と、提供部とを有する。登録受付部は、収集されたデータである元データの登録を受け付ける。生成部は、所定の集約条件に従って、元データが有する特徴ごとに、元データが集約されたデータである集約データを生成する。提供部は、集約データのうち、モデルに学習させる特徴を示す集約データを提供する。