以下に、本願に係る情報処理装置、情報処理方法、及び情報処理プログラムを実施するための形態(以下、「実施形態」と呼ぶ)について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る情報処理装置、情報処理方法、及び情報処理プログラムが限定されるものではない。また、以下の各実施形態において同一の部位には同一の符号を付し、重複する説明は省略される。
(実施形態)
〔1.情報処理〕
〔1−1.生成処理〕
まず、図1を用いて、実施形態に係る情報処理のうち生成処理の一例について説明する。図1は、実施形態に係る生成処理の一例を示す図である。図1では、情報処理装置100がコンテンツに関するユーザの入力情報に基づいて、コンテンツの視聴時間を予測する予測モデル(以下単に「モデル」ともいう)を生成する場合を示す。予測対象は、コンテンツの視聴に関する情報であれば、コンテンツの視聴時間に限らず、コンテンツの視聴回数等の種々の情報であってもよい。
具体的には、図1では、情報処理装置100が所定の期間のコンテンツの視聴時間を示す情報を正解情報とし、所定の期間よりも前の期間におけるユーザの入力情報から生成した回数情報を入力とするモデル(時間予測モデル)の生成を行う場合を示す。図1では、情報処理装置100は、ユーザが検索に用いた検索クエリ(クエリ)等の検索情報を入力情報として用いる場合を一例として説明する。また、入力情報は、クエリに限らず種々の入力情報であってもよいが、この点についての詳細は後述する。また、ここでいう回数情報には、ユーザの入力情報に含まれるコンテンツの各要素の回数(値)が含まれてもよい。また、以下では、正解情報が対応付けられた回数情報を「学習データ」ともいう。
また、情報処理装置100は、生成したモデルを用いて、所定の期間におけるコンテンツの入力情報に基づいて、所定の期間よりも後の期間におけるコンテンツの視聴時間を予測する。また、情報処理装置100は、予測したコンテンツの視聴時間を示す情報に基づいて、サービスを提供したりするが、この点については図2で説明する。
〔情報処理システムの構成〕
まず、図1の説明に先立って、図3に示す情報処理システム1について説明する。図3に示すように、情報処理システム1には、コンテンツ配信事業者装置10と、情報提供装置50と、情報処理装置100とが含まれる。コンテンツ配信事業者装置10と、情報提供装置50と、情報処理装置100とは所定のネットワークNを介して、有線または無線により通信可能に接続される。図3は、実施形態に係る情報処理システムの構成例を示す図である。なお、図3に示した情報処理システム1には、複数台のコンテンツ配信事業者装置10や、複数台の情報提供装置50や、複数台の情報処理装置100が含まれてもよい。
コンテンツ配信事業者装置10は、コンテンツの配信を行う事業者によって利用される情報処理装置である。コンテンツ配信事業者装置10は、例えば、スマートフォンや、タブレット型端末や、ノート型PC(Personal Computer)や、デスクトップPCや、携帯電話機や、PDA(Personal Digital Assistant)等により実現される。なお、以下では、コンテンツ配信事業者装置10を事業者と表記する場合がある。すなわち、以下では、管理者をコンテンツ配信事業者装置10と読み替えることもできる。図2に示すコンテンツ配信事業者CDの管理者SA1は、コンテンツ配信事業者装置10を操作することにより、情報処理装置100の情報を表示したり、情報処理装置100に処理を要求したりしてもよい。コンテンツ配信事業者装置10は、コンテンツ配信装置(図示省略)からコンテンツ情報を取得して、情報処理装置100に送信してもよい。例えば、コンテンツ配信事業者装置10は、コンテンツ情報記憶部(図5参照)に示すような各種のコンテンツ情報を、情報処理装置100に送信してもよい。
情報提供装置50は、ユーザに種々のサービスを提供する情報処理装置である。情報提供装置50は、ユーザに提供される種々のサービスに関する情報を情報処理装置100に提供してもよい。情報提供装置50は、ユーザの行動に関する情報(行動情報)を収集し、情報処理装置100に送信する。例えば、情報提供装置50は、ユーザが利用する端末装置(図示省略)から取得したクエリ(検索クエリ)に対する検索結果を端末装置に提供する検索サービスを提供する。例えば、情報提供装置50は、ユーザに所定のSNS(Social Networking Service)に関するサービスを提供してもよい。また、例えば、情報提供装置50は、商品を取引するショッピングやオークションに関する電子商取引サービスを提供する情報処理装置であってもよい。情報提供装置50は、上記のようなサービスに関する種々の情報を収集し、情報処理装置100へ提供する。また、例えば、情報提供装置50は、上記のような種々の情報を他の外部装置から収集し、収集した情報を情報処理装置100へ提供してもよい。また、情報処理装置100と情報提供装置50とは一体であってもよい。
情報処理装置100は、一のコンテンツに関してユーザが入力した入力情報の入力に関する回数を示す回数情報と、コンテンツの視聴に関する情報の予測に用いるモデルとに基づいて、一のコンテンツの視聴に関する情報を予測する情報処理装置である。図2の例では、情報処理装置100は、一のコンテンツに関する回数情報をモデルに入力することにより、モデルが出力するスコアに基づいて、一のコンテンツの視聴に関する情報を予測する。
また、情報処理装置100は、予測した一のコンテンツの視聴に関する情報に基づいてサービスを提供する。図2の例では、情報処理装置100は、期間LT11におけるコンテンツCT11の予測視聴時間を示す情報を提供する。情報処理装置100は、コンテンツ配信装置であってもよい。この場合、情報処理装置100は、自装置が配信するコンテンツに関する予測を行う。
ここから、図1を用いて、情報処理装置100がコンテンツの視聴時間の予測に用いるモデルM1を生成する場合を説明する。まず、情報処理装置100は、事業者からコンテンツ情報を取得する(ステップS11)。例えば、情報処理装置100は、管理者SA1が利用するコンテンツ配信事業者装置10からコンテンツ情報を取得する。図1の例では、情報処理装置100は、コンテンツ配信事業者CDが配信したコンテンツCT1〜CT3等に関する情報を含むコンテンツ情報INF11を取得する。例えば、情報処理装置100は、図1中のコンテンツ情報記憶部121に示すようなコンテンツCT1〜CT3のコンテンツ情報をコンテンツ配信事業者装置10から取得する。
図1中のコンテンツ情報記憶部121に示す「コンテンツID」は、コンテンツを識別するための識別情報を示す。「コンテンツ」は、コンテンツ配信事業者装置10等によりユーザに配信されるコンテンツを示す。「配信ステータス」は、コンテンツがユーザへ配信済みや未配信であるかを示す。「要素情報」は、「タイトル」、「形態素群」、「カテゴリ」、「キャスト」、「スタッフ」といった項目を有する。「タイトル」は、コンテンツのタイトルを示す。「形態素群」は、コンテンツのタイトルの形態素群を示す。また、「カテゴリ」は、コンテンツの内容に基づくカテゴリ(分類)を示す。「キャスト」は、コンテンツのキャストを示す。「キャスト」の項目には、コンテンツに出演した人を特定する名称(人名)等が格納される。また、また、「スタッフ」は、コンテンツのスタッフを示す。「スタッフ」の項目には、そのコンテンツの制作に関係した人を特定する名称(人名)等が格納される。
「視聴情報」は、「期間#1」といった項目を有する。「期間#1」には、「期間」や「時間」や「回数」といった項目が含まれる。「期間」は、対応する時間や回数が収集される対象となる期間を示す。「期間」には、「LT5」等のように抽象的に図示するが、「2018年10月15日−21日」や「2018年10月15日から2週間」や「2018年10月」等の具体的な期間が記憶されてもよい。
「時間」は、対応する期間においてコンテンツが視聴された時間を示す。例えば、「時間」は、対応する期間においてコンテンツが視聴された総時間を示す。「時間」は、対応する期間において各ユーザがコンテンツを視聴した時間を合計した時間を示す。なお、図1の例では時間を「VT1」等の抽象的な符号で図示するが、時間は、「15時間30分」や「100時間」等の具体的な時間を示す情報であってもよい。「回数」は、対応する期間においてコンテンツが視聴された回数を示す。なお、図1の例では回数を「VS1」等の抽象的な符号で図示するが、回数は、「30回」や「1000回」等の具体的な回数を示す情報であってもよい。
図1の例では、コンテンツID「CT1」により識別される動画MA(コンテンツCT1)は、配信ステータスが「済」であり、既に配信が開始されているコンテンツであることを示す。また、コンテンツCT1のタイトルは、タイトルTL1であることを示す。コンテンツCT1の形態素群は、形態素MP1や形態素MP2等を含む形態素群GP1であることを示す。コンテンツCT1のカテゴリは、スポーツであることを示す。コンテンツCT1のキャストは、キャストCS1−1やキャストCS1−2が含まれることを示す。また、コンテンツCT1は、期間LT5における視聴時間が時間VT1であり、期間LT5における視聴回数が回数VS1であることを示す。
なお、図1の例に示す各期間「LT*」中の「LT」に続く「*(*は任意の数値)」の値が小さい程、より過去の期間であるものとする。例えば、期間「LT4」は、期間「LT5」に比べて、「LT」に続く数値が小さいため、期間「LT4」は期間「LT5」よりも過去に対応する期間であることを示す。なお、期間LT4と期間LT5との間の間隔は適宜設定されてもよい。例えば、情報処理装置100は、期間LT5において収集された実測値を示す正解情報に基づいて、モデルM1を生成する。すなわち、情報処理装置100は、期間LT5に対応する長さの期間におけるコンテンツの視聴時間を予測するモデルM1を生成する。例えば、期間LT4の終了時点と期間LT5の開始時点との間の間隔期間(以下「タイムラグ」ともいう)は、予測対象や用いるデータに応じて適宜設定されてもよい。例えば、期間LT4と期間LT5とのタイムラグは、0日や1週間や1ヶ月等の種々の期間であってもよい。図1の例では、期間LT4と期間LT5とのタイムラグが、2週間であるものとして説明する。この場合、情報処理装置100は、入力された回数情報に対応する入力情報の収集期間の終了時点から2週間後を開始時点とする期間の視聴時間を予測するモデルM1を生成する。なお、情報処理装置100は、タイムラグを考慮せずに、期間LT5に対応する長さの期間におけるコンテンツの視聴時間を予測する場合であれば、モデルM1を用いて予測してもよい。例えば、情報処理装置100は、データ収集期間後の期間LT5に対応する長さの期間について、コンテンツの視聴時間を予測する場合、モデルM1を用いて予測してもよい。
コンテンツ情報INF11を取得した情報処理装置100は、コンテンツ情報INF11をコンテンツ情報記憶部121に登録する(ステップS12)。図1の例では、情報処理装置100は、コンテンツCT1のコンテンツ情報やコンテンツCT2のコンテンツ情報やコンテンツCT3のコンテンツ情報をコンテンツ情報記憶部121に記憶させる。
情報処理装置100は、情報提供装置50からユーザの行動情報を取得する(ステップS13)。例えば、情報処理装置100は、ユーザの行動の種別や行動を行ったユーザに関する情報やユーザの入力情報等を含む行動情報INF12を取得する。図1の例では、情報処理装置100は、情報提供装置50から期間LT5よりも以前の期間である期間LT4におけるユーザの行動情報を含む行動情報INF12を取得する。例えば、情報処理装置100は、図1中の行動情報記憶部122に示すようなユーザU1〜U5等の行動情報を情報提供装置50から取得する。
図1中の行動情報記憶部122に示す「行動ID」は、ユーザの行動を識別する情報を示す。「種別」は、行動の種別を示す。「ユーザID」は、ユーザを識別するための識別情報を示す。「属性情報」は、ユーザの属性情報を示す。また、「日時」は、行動が行われた日時を示す。また、「入力情報」は、ユーザが入力した情報(ユーザ入力情報)を示す。例えば、「入力情報」は、ユーザが検索において用いたクエリに関する情報やユーザが所定のSNS等に投稿した投稿情報を示す。なお、図1の例では入力情報を「UIN1」等の抽象的な符号で図示するが、入力情報は、ユーザが入力した具体的な文字列等の文字情報であってもよい。
図1に示す例において、ユーザID「U1」により識別されるユーザ(ユーザU1)は、日時DA1に検索行動である行動AC11を行ったことを示す。また、行動AC11を行ったユーザU1は、20代男性のユーザであることを示す。また、行動AC11において、ユーザU1が入力した入力情報は、入力情報UIN1であることを示す。
行動情報INF12を取得した情報処理装置100は、行動情報INF12を行動情報記憶部122に登録する(ステップS14)。図1の例では、情報処理装置100は、ユーザU1〜U5等の行動AC11〜AC15等に対応する行動情報を行動情報記憶部122に記憶させる。
そして、情報処理装置100は、コンテンツ情報記憶部121に記憶されたコンテンツ情報や行動情報記憶部122に記憶された行動情報に基づいて、学習データを生成する(ステップS15)。図1の例では、情報処理装置100は、コンテンツ情報INF11や行動情報INF12に基づいて、学習データを生成する。例えば、情報処理装置100は、図1中の学習データ記憶部123に示すようなデータDT1−1〜DT1−3等を含む学習データを生成する。
なお、上記のように、「データDT*(*は任意の数値)」と記載した場合、そのデータはデータID「DT*」により識別されるデータであることを示す。例えば、「データDT1−1」と記載した場合、そのデータはデータID「DT1−1」により識別されるデータである。
図1中の学習データ記憶部123に示す「データID」は、データを識別するための識別情報を示す。「コンテンツ」は、データの収集対象となるコンテンツを示す。なお、図1の例ではコンテンツを「CT1」等のコンテンツIDで図示する。「正解情報」は、データIDにより識別されるデータに対応する正解情報を示す。「正解情報」には、「対象期間」、「視聴時間」といった項目が含まれる。「対象期間」は、正解情報として用いる情報を収集する期間を示す。「視聴時間」は、対象期間におけるコンテンツの視聴時間を示す。例えば、「視聴時間」は、データIDにより識別されるデータに対応する正解情報として用いられる、視聴時間の実測値を示す。
「回数情報」は、データIDにより識別されるデータに対応する入力回数に関する情報を示す。「回数情報」には、「対象期間」、「タイトル回数」、「形態素群回数」、「カテゴリ回数」、「キャスト回数」、「スタッフ回数」といった項目が含まれる。「対象期間」は、各回数を集計する入力情報が収集された期間を示す。「タイトル回数」は、対象期間におけるコンテンツのタイトルに対応する入力情報が入力された回数を示す。「形態素群回数」は、対象期間におけるコンテンツの形態素群に対応する入力情報が入力された回数に基づく値を示す。「カテゴリ回数」は、対象期間におけるコンテンツのカテゴリに対応する入力情報が入力された回数を示す。「キャスト回数」は、対象期間におけるコンテンツのキャストに対応する入力情報が入力された回数を示す。「スタッフ回数」は、対象期間におけるコンテンツのスタッフに対応する入力情報が入力された回数を示す。
例えば、図1に示す例において、データID「DT1−1」により識別されるデータ(データDT1−1)の正解情報は、期間LT5におけるコンテンツCT1の視聴時間である時間VT1(正解情報RDT1−1)であることを示す。データDT1−1の回数情報は、期間LT4において収集されたコンテンツCT1に関する入力情報に基づく回数情報であることを示す。データDT1−1は、回数情報として、タイトル回数TTS1や形態素群回数MTS1やカテゴリ回数CTS1やキャスト回数ATS1やスタッフ回数STS1等を含むことを示す。
例えば、データDT1−1の正解情報RDT1−1は、期間LT5におけるコンテンツCT1の視聴時間を示す情報である。また、データDT1−1は、正解情報RDT1−1に対応する期間LT5よりも過去の期間LT4におけるタイトル回数TTS1や形態素群回数MTS1やカテゴリ回数CTS1やキャスト回数ATS1やスタッフ回数STS1等を回数情報として含む。
例えば、情報処理装置100は、コンテンツ情報記憶部121に記憶されたコンテンツCT1のコンテンツ情報を用いて、データDT1−1の正解情報を生成する。図1の例では、情報処理装置100は、コンテンツ情報記憶部121に記憶されたコンテンツCT1の視聴情報を用いて、データDT1−1の正解情報を生成する。具体的には、情報処理装置100は、コンテンツ情報記憶部121に記憶されたコンテンツCT1の期間LT5における視聴時間VT1をデータDT1−1の正解情報とする。この場合、情報処理装置100は、期間LT5を示す情報と視聴時間VT1とを対応付けた情報をデータDT1−1の正解情報として、データID「DT1−1」に対応付けて学習データ記憶部123に格納する。
また、情報処理装置100は、コンテンツ情報記憶部121に記憶されたコンテンツCT1のコンテンツ情報や行動情報記憶部122に記憶された行動情報を用いて、データDT1−1の回数情報を生成する。図1の例では、情報処理装置100は、期間LT4を対象期間として、データDT1−1の回数情報を生成する。具体的には、情報処理装置100は、期間LT4におけるユーザの入力情報から、データDT1−1の回数情報を生成する。また、情報処理装置100は、期間LT4を算出してもよい。この場合、情報処理装置100は、記憶部120(図4参照)に記憶されたデータ収集期間を示す情報と、タイムラグを示す情報とに基づいて、データ収集対象期間となる期間LT4を算出してもよい。例えば、情報処理装置100は、視聴情報が収集された期間LT5の開始時点からタイムラグを引いた時点を終了時点とするデータ収集対象期間を期間LT4として算出してもよい。例えば、情報処理装置100は、期間LT5の開始時点から2週間前の時点を終了時点とするデータ収集対象期間を期間LT4として算出してもよい。なお、情報処理装置100は、期間LT4を示す情報を、情報処理装置100の管理者等の入力により取得してもよいし、所定の外部装置から取得してもよい。例えば、情報処理装置100は、所定の外部装置に期間LT5を示す情報を送信することにより、所定の外部装置から期間LT4を示す情報を取得してもよい。
例えば、情報処理装置100は、行動情報記憶部122に記憶された行動情報のうち、期間LT4内の行動情報を用いて、データDT1−1の回数情報を生成する。情報処理装置100は、行動情報記憶部122から期間LT4内の行動情報を抽出し、抽出したデータ(以下、「対象期間データ」ともいう)を用いて、データDT1−1の回数情報を生成する。例えば、情報処理装置100は、行動情報記憶部122に記憶された行動情報の日時と期間LT4とを比較し、日時が期間LT4内に含まれるデータを対象期間データとして抽出する。そして、情報処理装置100は、対象期間データと、コンテンツ情報記憶部121に記憶されたコンテンツCT1の要素情報を用いて、データDT1−1の回数情報を生成する。
例えば、情報処理装置100は、対象期間データにおけるコンテンツCT1のタイトルTL1の出現頻度をカウントし、データDT1−1のタイトル回数として学習データ記憶部123に登録する。例えば、情報処理装置100は、対象期間データをタイトルTL1で検索し、ヒットした回数を、データDT1−1のタイトル回数としてもよい。図1の例では、情報処理装置100は、データDT1−1のタイトル回数TTS1を学習データ記憶部123に登録する。
例えば、情報処理装置100は、対象期間データにおけるコンテンツCT1の形態素群GP1に含まれる各形態素MP1、MP2等の出現頻度をカウントし、各形態素MP1、MP2等の出現頻度の平均をデータDT1−1の形態素群回数として学習データ記憶部123に登録する。情報処理装置100は、対象期間データにおけるコンテンツCT1の形態素群GP1に含まれる各形態素MP1、MP2等の出現頻度の合計値を形態素MP1、MP2等の個数で除することにより、コンテンツCT1の形態素群回数を算出する。例えば、情報処理装置100は、対象期間データを各形態素MP1、MP2の各々で検索し、ヒットした回数の平均を、データDT1−1の形態素群回数としてもよい。図1の例では、情報処理装置100は、データDT1−1の形態素群回数MTS1を学習データ記憶部123に登録する。
例えば、情報処理装置100は、対象期間データにおけるコンテンツCT1のカテゴリ「スポーツ」の出現頻度をカウントし、データDT1−1のカテゴリ回数として学習データ記憶部123に登録する。例えば、情報処理装置100は、対象期間データを文字列「スポーツ」で検索し、ヒットした回数を、データDT1−1のカテゴリ回数としてもよい。図1の例では、情報処理装置100は、データDT1−1のカテゴリ回数CTS1を学習データ記憶部123に登録する。
例えば、情報処理装置100は、対象期間データにおけるコンテンツCT1のキャストCS1−1、CS1−2等の出現頻度をカウントし、データDT1−1のキャスト回数として学習データ記憶部123に登録する。例えば、情報処理装置100は、対象期間データをキャストCS1−1、CS1−2等で検索し、ヒットした回数を、データDT1−1のキャスト回数としてもよい。図1の例では、情報処理装置100は、データDT1−1のキャスト回数ATS1を学習データ記憶部123に登録する。なお、情報処理装置100は、対象期間データにおけるコンテンツCT1のキャストCS1−1、CS1−2等の出現頻度の平均をデータDT1−1のキャスト回数として用いてもよい。また、例えば、情報処理装置100は、キャストの場合と同様に、対象期間データにおけるコンテンツCT1のスタッフに対応する文字列の出現頻度をカウントし、データDT1−1のスタッフ回数として学習データ記憶部123に登録する。
上記のような処理により、情報処理装置100は、データDT1−1〜DT1−3を生成し、学習データ記憶部123に記憶させる。
そして、情報処理装置100は、学習データに基づいてモデルを生成する(ステップS16)。このように、情報処理装置100は、各正解情報の対象期間LT5よりも前の期間LT4における回数情報を入力としてモデルを生成する。これにより、情報処理装置100は、現状のユーザの入力情報に基づく回数情報を入力することにより、未来のコンテンツの視聴時間を予測するモデルを生成することができる。このように、情報処理装置100は、期間LT4におけるユーザによるコンテンツに関する入力に基づく回数情報と、期間LT4よりも後の期間LT5におけるそのコンテンツの視聴時間を示す情報とに基づいて、コンテンツの視聴時間を予測するモデルを生成する。
例えば、情報処理装置100は、学習データ記憶部123中のデータDT1−1〜DT1−3等を学習データ(教師データ)として、学習を行なうことにより、モデルを生成する。例えば、情報処理装置100は、回数情報の各要素に関する特徴量(素性)を用いて、モデルを生成する。例えば、情報処理装置100は、タイトルに対応する素性を用いて、モデルを生成する。例えば、情報処理装置100は、形態素に対応する素性を用いて、モデルを生成する。例えば、情報処理装置100は、カテゴリに対応する素性を用いて、モデルを生成する。例えば、情報処理装置100は、キャストに対応する素性を用いて、モデルを生成する。例えば、情報処理装置100は、スタッフに対応する素性を用いて、モデルを生成する。図1の例では、情報処理装置100は、コンテンツに関する回数情報に含まれる情報に関する特徴を学習し、コンテンツの視聴時間を予測するモデルを生成する。なお、情報処理装置100が学習するモデルに含まれる素性は、情報処理装置100の管理者等の人間が情報処理装置100に入力したり、情報処理装置100が自動的に学習(抽出)したりしてもよい。例えば、情報処理装置100は、各カテゴリに対応する素性を含むモデルを生成してもよい。この場合、情報処理装置100は、「ドラマ」、「スポーツ」、「アニメ」、「グラビア」、「ドキュメンタリー」、「バラエティ」等に対応する素性を用いて、モデルを生成してもよい。情報処理装置100は、「ドキュメンタリー・教養」、「バラエティ・スポーツ」等のカテゴリを組み合わせた素性を用いて、モデルを生成してもよい。また、情報処理装置100は、「映画」、「音楽」等に対応する素性を用いて、モデルを生成してもよい。また、情報処理装置100は、「映画」の下位カテゴリ(下位概念)である、「洋画」、「邦画」等に対応する素性を用いて、モデルを生成してもよい。なお、上記は一例であり、情報処理装置100は、カテゴリに関する種々の素性を用いて、モデルを生成してもよい。
例えば、情報処理装置100は、学習データ記憶部123に示すような学習データを用いてモデルM1を生成する。例えば、情報処理装置100は、正解情報RDT1−1のように視聴時間が時間VT1である場合、モデルM1にデータDT1−1に含まれる回数情報が入力された場合に、モデルM1が出力するスコアが時間VT1に対応する値(例えば、時間VT1の値)に近づくように、学習処理を行う。例えば、情報処理装置100は、時間VT1が5時間である場合、モデルM1にデータDT1−1に含まれる回数情報が入力された場合に、モデルM1が出力するスコアが「5」に近づくように、学習処理を行う。例えば、情報処理装置100は、データDT1−1のタイトル回数TTS1や形態素群回数MTS1やカテゴリ回数CTS1やキャスト回数ATS1やスタッフ回数STS1がモデルM1に入力された場合に、モデルM1が出力するスコアが時間VT1に対応する値に近づくように、学習処理を行う。
また、例えば、情報処理装置100は、正解情報RDT1−2のように視聴時間が時間VT2である場合、モデルM1にデータDT1−2に含まれる回数情報が入力された場合に、モデルM1が出力するスコアが時間VT2に対応する値(例えば、時間VT2の値)に近づくように、学習処理を行う。例えば、情報処理装置100は、時間VT2が10時間である場合、モデルM1にデータDT1−2に含まれる回数情報が入力された場合に、モデルM1が出力するスコアが「10」に近づくように、学習処理を行う。例えば、情報処理装置100は、データDT1−2のタイトル回数TTS2や形態素群回数MTS2やカテゴリ回数CTS2やキャスト回数ATS2やスタッフ回数STS2がモデルM1に入力された場合に、モデルM1が出力するスコアが時間VT2に対応する値に近づくように、学習処理を行う。
また、例えば、情報処理装置100は、正解情報RDT1−3のように視聴時間が時間VT3である場合、モデルM1にデータDT1−3に含まれる回数情報が入力された場合に、モデルM1が出力するスコアが時間VT3に対応する値(例えば、時間VT3の値)に近づくように、学習処理を行う。例えば、情報処理装置100は、時間VT3が20時間半である場合、モデルM1にデータDT1−3に含まれる回数情報が入力された場合に、モデルM1が出力するスコアが「20.5」に近づくように、学習処理を行う。例えば、情報処理装置100は、データDT1−3のタイトル回数TTS3や形態素群回数MTS3やカテゴリ回数CTS3やキャスト回数ATS3やスタッフ回数STS3がモデルM1に入力された場合に、モデルM1が出力するスコアが時間VT3に対応する値に近づくように、学習処理を行う。
なお、モデルの学習手法については、上述した手法に限定されるものではなく、任意の公知技術が適用可能である。例えば、情報処理装置100は、回帰モデルやニューラルネットワーク(neural network)等、任意の形式のモデルを生成してもよい。情報処理装置100は、非線形の回帰モデルや線形の回帰モデル等、種々の回帰モデルを生成してもよい。例えば、各モデルの生成は、機械学習に関する種々の従来技術を適宜用いて行われてもよい。例えば、モデルの生成は、SVM(Support Vector Machine)等の教師あり学習の機械学習に関する技術を用いて行われてもよい。また、例えば、モデルの生成は、教師なし学習の機械学習に関する技術を用いて行われてもよい。例えば、モデルの生成は、深層学習(ディープラーニング)の技術を用いて行われてもよい。例えば、モデルの生成は、DNN(Deep Neural Network)やRNN(Recurrent Neural Network)やCNN(Convolutional Neural Network)等の種々のディープラーニングの技術を適宜用いて行われてもよい。なお、上記モデルの生成に関する記載は例示であり、モデルの生成は、取得可能な情報等に応じて適宜選択された学習手法により行われてもよい。すなわち、情報処理装置100は、学習データに含まれる回数情報が入力された場合に、正解情報に対応するスコアを出力するようにモデルM1を学習可能であれば、どのような手法によりモデルM1の生成を行ってもよい。
上記のような処理により、図1の例では、情報処理装置100は、モデル情報記憶部124に示すように、モデルID「M1」により識別されるモデル(モデルM1)を生成する。上記のように、「モデルM*(*は任意の数値)」と記載した場合、そのモデルはモデルID「M*」により識別されるモデルであることを示す。例えば、「モデルM1」と記載した場合、そのモデルはモデルID「M1」により識別されるモデルである。また、図1中のモデル情報記憶部124に示すように、モデルM1は用途「視聴時間」、すなわちコンテンツの視聴時間の予測のために用いられるモデルであり、その具体的なモデルデータが「モデルデータMDT1」であることを示す。また、モデルM1は、全ユーザの行動情報を対象として生成されたため、モデルM1のターゲット属性は、「−」すなわち「全ユーザ」であることを示す。例えば、情報処理装置100は、モデルM1にある期間におけるコンテンツに関するユーザの入力情報に基づく回数情報を入力することにより、入力した回数情報に対応する期間からタイムラグ経過後の期間におけるそのコンテンツの予測視聴時間を示すスコアを、モデルM1に出力させ、モデルM1が出力するスコアに基づいてそのコンテンツの視聴時間を予測する。
上述したように、情報処理装置100は、コンテンツの回数情報と正解情報とが対応付けられた学習データを用いて学習することにより、あるコンテンツの視聴時間を適切に予測可能にするモデルを生成することができる。したがって、情報処理装置100は、上述のように生成したモデルを用いることにより、例えば配信前のコンテンツなど所望のコンテンツに関する視聴時間を精度よく予測することを可能にすることができる。上述した例では、データDT1−1の正解情報RDT1−1は、期間LT5におけるコンテンツCT1の視聴時間を示す情報である。また、データDT1−1は、正解情報RDT1−1に対応する期間LT5よりも過去の期間LT4におけるユーザの行動に対応する回数情報をモデルに入力する情報として含む。このように、情報処理装置100は、正解情報RDT1−1に対応する期間よりも前の期間における回数情報を入力としてモデルを生成する。これにより、情報処理装置100は、現状のコンテンツに関する回数情報を入力することにより、そのコンテンツの未来の視聴時間を予測するモデルを生成することができる。なお、適切な予測が可能であれば、モデル生成時の視聴時間の収集期間と予測対象期間の長さは統一されていなくてもよい。
〔1−2.予測処理〕
図2を用いて、実施形態に係る情報処理のうち予測処理の一例について説明する。図2は、実施形態に係る予測処理の一例を示す図である。図2では、情報処理装置100は、コンテンツ配信事業者CDから予測対象期間LT11におけるコンテンツCT11の視聴時間の予測を要求された場合に、予測対象期間LT11におけるコンテンツCT11の視聴時間を予測し、予測に基づく情報を提供する場合を示す。
まず、情報処理装置100は、事業者から予測要求を取得する(ステップS21)。例えば、情報処理装置100は、管理者SA1が利用するコンテンツ配信事業者装置10から、予測対象となるコンテンツのコンテンツ情報及び予測対象期間を示す情報を予測要求として取得する。図2の例では、情報処理装置100は、コンテンツ配信事業者CDから未配信のコンテンツCT11のコンテンツ情報を取得する。例えば、情報処理装置100は、図2中のコンテンツ情報INF21に示すようなコンテンツCT11のコンテンツ情報をコンテンツ配信事業者装置10から取得する。
図2の例では、コンテンツ情報INF21に示すように、コンテンツID「CT11」により識別される動画MZ(コンテンツCT11)は、配信ステータスが「未」であり、未だ配信が開始されていないコンテンツであることを示す。また、コンテンツCT11のタイトルは、タイトルTL11であることを示す。コンテンツCT11の形態素群は、形態素MP11や形態素MP12等を含む形態素群GP11であることを示す。コンテンツCT11のカテゴリは、ドラマであることを示す。コンテンツCT11のキャストは、キャストCS11−1やキャストCS11−2が含まれることを示す。また、コンテンツCT11は、視聴情報が無いことを示す。コンテンツ情報INF21を取得した情報処理装置100は、コンテンツ情報INF21をコンテンツ情報記憶部121に登録する。
そして、情報処理装置100は、情報提供装置50に情報を要求する(ステップS22)。情報処理装置100は、情報提供装置50に予測に用いるユーザの行動情報を要求する。図2の例では、情報処理装置100は、予測対象期間LT11よりも前の期間(以下「データ要求期間」ともいう)におけるユーザの行動情報を要求する。例えば、情報処理装置100は、指定された予測対象期間LT11と、記憶部120(図4参照)に記憶されたデータ収集期間を示す情報及びタイムラグを示す情報とに基づいて、データ要求期間となる期間LT10を算出してもよい。例えば、情報処理装置100は、予測対象期間LT11の開始時点からタイムラグを引いた時点を終了時点とするデータ収集期間を期間LT10として算出してもよい。例えば、情報処理装置100は、データ収集期間の開始時点から2週間前の時点を終了時点とするデータ収集対象期間を期間LT10として算出してもよい。なお、情報処理装置100は、期間LT10を示す情報を、情報処理装置100の管理者等の入力により取得してもよいし、所定の外部装置から取得してもよい。例えば、情報処理装置100は、所定の外部装置に予測対象期間LT11を示す情報を送信することにより、所定の外部装置から期間LT10を示す情報を取得してもよい。
情報処理装置100は、期間LT10を示す情報を情報提供装置50に送信することにより、情報提供装置50から期間LT10におけるユーザの行動情報INF22を取得する(ステップS23)。情報処理装置100から情報要求を受けた情報提供装置50は、期間LT10におけるユーザの行動情報INF22を抽出し、情報処理装置100に送信する。なお、情報処理装置100は、情報提供装置50から予測対象期間LT11よりも前の期間の行動情報を取得し、取得した行動情報から期間LT10におけるユーザの行動情報INF22を抽出してもよい。
図2に示す例において、ユーザID「U21」により識別されるユーザ(ユーザU21)は、日時DA21に検索行動である行動AC21を行ったことを示す。また、行動AC21を行ったユーザU21は、20代女性のユーザであることを示す。また、行動AC21において、ユーザU21が入力した入力情報は、入力情報UIN21であることを示す。行動情報INF22を取得した情報処理装置100は、行動情報INF22を行動情報記憶部122に登録する。
そして、情報処理装置100は、コンテンツ情報INF21や行動情報INF22に基づいて、入力データを生成する。(ステップS24)。図2の例では、情報処理装置100は、コンテンツ情報INF21や行動情報INF22に基づいて、コンテンツCT11の予測対象期間LT11における視聴時間を予測するための入力データであるデータDT21を生成する。例えば、情報処理装置100は、図2中の予測用データIPD21に示すようなデータDT21を含む入力データを生成する。
図2中の予測用データIPD21に示す「コンテンツ」は、予測対象となるコンテンツを示す。「予測対象期間」は、予測対象となる期間を示す。「データID」は、データを識別するための識別情報を示す。
「回数情報」は、データIDにより識別されるデータに対応する入力回数に関する情報を示す。「回数情報」には、「対象期間」、「タイトル回数」、「形態素群回数」、「カテゴリ回数」、「キャスト回数」、「スタッフ回数」といった項目が含まれる。「対象期間」は、各回数を集計する入力情報が収集された期間を示す。「タイトル回数」は、対象期間におけるコンテンツのタイトルに対応する入力情報が入力された回数を示す。「形態素群回数」は、対象期間におけるコンテンツの形態素群に対応する入力情報が入力された回数に基づく値を示す。「カテゴリ回数」は、対象期間におけるコンテンツのカテゴリに対応する入力情報が入力された回数を示す。「キャスト回数」は、対象期間におけるコンテンツのキャストに対応する入力情報が入力された回数を示す。「スタッフ回数」は、対象期間におけるコンテンツのスタッフに対応する入力情報が入力された回数を示す。
例えば、図2に示す例において、データID「DT21」により識別されるデータ(データDT21)の回数情報は、期間LT10において収集されたコンテンツCT11に関する入力情報に基づく回数情報であることを示す。データDT21は、回数情報として、タイトル回数TTS11や形態素群回数MTS11やカテゴリ回数CTS11やキャスト回数ATS11やスタッフ回数STS11等を含むことを示す。データDT21は、予測対象期間LT11よりも過去の期間LT10におけるタイトル回数TTS11や形態素群回数MTS11やカテゴリ回数CTS11やキャスト回数ATS11やスタッフ回数STS11等を回数情報として含む。
情報処理装置100は、コンテンツ情報INF21に示すようなコンテンツCT11のコンテンツ情報や行動情報INF22に示すような行動情報を用いて、データDT21の回数情報を生成する。図2の例では、情報処理装置100は、期間LT10を対象期間として、データDT21の回数情報を生成する。具体的には、情報処理装置100は、期間LT10におけるユーザの入力情報から、データDT21の回数情報を生成する。また、情報処理装置100は、期間LT10を算出してもよい。この場合、情報処理装置100は、記憶部120(図4参照)に記憶されたデータ収集期間を示す情報と、タイムラグを示す情報とに基づいて、データ収集対象期間となる期間LT10を算出してもよい。例えば、情報処理装置100は、視聴情報が収集された期間LT5の開始時点からタイムラグを引いた時点を終了時点とするデータ収集対象期間を期間LT10として算出してもよい。なお、情報処理装置100は、期間LT10を示す情報を、情報処理装置100の管理者等の入力により取得してもよいし、所定の外部装置から取得してもよい。
情報処理装置100は、行動情報INF22に示すような行動情報(対象期間データ)のうち、期間LT10内の行動情報を用いて、データDT21の回数情報を生成する。なお、情報処理装置100は、情報提供装置50から取得した行動情報に期間LT10以外のものが含まれる場合、行動情報INF22に示すような行動情報から期間LT10内の行動情報を抽出し、抽出したデータ(対象期間データ)を用いて、データDT21の回数情報を生成する。例えば、情報処理装置100は、行動情報INF22に示すような行動情報の日時と期間LT10とを比較し、日時が期間LT10内に含まれるデータを対象期間データとして抽出する。そして、情報処理装置100は、対象期間データと、コンテンツ情報INF21に示すようなコンテンツCT11の要素情報を用いて、データDT21の回数情報を生成する。
例えば、情報処理装置100は、対象期間データにおけるコンテンツCT11のタイトルTL11の出現頻度をカウントし、データDT21のタイトル回数TTS11として用いる。例えば、情報処理装置100は、対象期間データをタイトルTL11で検索し、ヒットした回数を、データDT21のタイトル回数としてもよい。
例えば、情報処理装置100は、対象期間データにおけるコンテンツCT11の形態素群GP11に含まれる各形態素MP11、MP12等の出現頻度をカウントし、各形態素MP11、MP12等の出現頻度の平均をデータDT21の形態素群回数MTS11として用いる。情報処理装置100は、対象期間データにおけるコンテンツCT11の形態素群GP11に含まれる各形態素MP11、MP12等の出現頻度の合計値を形態素MP11、MP12等の個数で除することにより、コンテンツCT11の形態素群回数を算出する。例えば、情報処理装置100は、対象期間データを各形態素MP11、MP12の各々で検索し、ヒットした回数の平均を、データDT21の形態素群回数としてもよい。
例えば、情報処理装置100は、対象期間データにおけるコンテンツCT11のカテゴリ「ドラマ」の出現頻度をカウントし、データDT21のカテゴリ回数CTS11として用いる。例えば、情報処理装置100は、対象期間データを文字列「ドラマ」で検索し、ヒットした回数を、データDT21のカテゴリ回数としてもよい。
例えば、情報処理装置100は、対象期間データにおけるコンテンツCT11のキャストCS11−1、CS11−2等の出現頻度をカウントし、データDT21のキャスト回数ATS11として用いる。例えば、情報処理装置100は、対象期間データをキャストCS11−1、CS11−2等で検索し、ヒットした回数を、データDT21のキャスト回数としてもよい。なお、情報処理装置100は、対象期間データにおけるコンテンツCT11のキャストCS11−1、CS11−2等の出現頻度の平均をデータDT21のキャスト回数として用いてもよい。また、例えば、情報処理装置100は、キャストの場合と同様に、対象期間データにおけるコンテンツCT11のスタッフに対応する文字列の出現頻度をカウントし、データDT21のスタッフ回数STS11として用いる。上記のような処理により、情報処理装置100は、モデルM1に入力するデータDT21を生成する。
データDT21を生成した情報処理装置100は、データDT21をモデルに入力する。例えば、情報処理装置100は、データDT21を、モデルM1に入力する。このように、情報処理装置100は、期間LT10におけるユーザのコンテンツCT11に関する入力に基づく回数情報と、モデルM1とを用いて、コンテンツCT11の予測対象期間LT11における視聴時間を予測する。例えば、情報処理装置100は、データDT21をモデルM1に入力することにより、コンテンツCT11の予測対象期間LT11における視聴時間を予測する。
図2の例では、情報処理装置100は、処理群PS21に示すような処理により、コンテンツCT11の予測対象期間LT11における視聴時間を示すスコアを算出する。情報処理装置100は、データDT21をモデルM1に入力する(ステップS25)。具体的には、情報処理装置100は、データDT21のタイトル回数TTS11や形態素群回数MTS11やカテゴリ回数CTS11やキャスト回数ATS11やスタッフ回数STS11等を含む回数情報をモデルM1に入力する。データDT21が入力されたモデルM1は、スコアを出力する(ステップS26)。図2の例では、データDT21が入力されたモデルM1は、スコアSC11に示すようなスコア「10.5」を出力する。
そして、情報処理装置100は、コンテンツCT11の予測対象期間LT11における視聴時間を示すスコアに基づいてコンテンツCT11の視聴時間を予測する(ステップS27)。図2の例では、情報処理装置100は、回数情報が入力されたモデルM1が出力するスコアが示す値が視聴時間であると予測する。例えば、情報処理装置100は、モデルM1の用途が視聴時間であるため、回数情報が入力されたモデルM1が出力するスコアが示す値が視聴時間であると予測する。例えば、情報処理装置100は、モデルM1が視聴時間を出力するように学習されたモデルであるため、回数情報が入力されたモデルM1が出力するスコアが示す値が視聴時間であると予測する。そのため、情報処理装置100は、図2中の予測情報一覧PINF21に示すように、コンテンツCT11の予測対象期間LT11における視聴時間が「10時間30分」であると予測する。また、モデルM1は、ターゲット属性が無し、すなわち全ユーザを対象とするため、情報処理装置100は、ターゲット属性が「全体」であることを示す予測情報一覧PINF21を生成する。
そして、情報処理装置100は、予測した情報に基づいて情報提供を行う(ステップS28)。図2の例では、情報処理装置100は、全ユーザを対象とした場合のコンテンツCT11(動画MZ)の予測対象期間LT11における視聴時間が、10時間30分であることを示す予測情報一覧PINF21をコンテンツ配信事業者装置10へ提供する。
上述したように、情報処理装置100は、予測対象期間より前の期間のユーザの行動情報から生成した回数情報に基づいて、予測対象期間におけるコンテンツの視聴時間を予測する。図2の例では、情報処理装置100は、コンテンツCT11の期間LT10に対応する回数情報をモデルM1に入力することにより、モデルM1に予測対象期間LT11におけるコンテンツCT11の視聴時間に関するスコアを出力させる。そして、情報処理装置100は、モデルM1が出力するスコアが高い程、予測対象期間LT11におけるコンテンツCT11の視聴時間が長いと予測する。そして、情報処理装置100は、予測した情報をコンテンツ配信事業者装置10へ提供する。このように、情報処理装置100は、コンテンツ配信事業者に適切な予測視聴時間の情報を提供することができる。なお、適切な予測が可能であれば、データ収集期間やタイムラグ等の各期間の長さは統一されていなくてもよい。
〔1−3.その他〕
〔1−3−1.入力情報〕
図1の例では、情報処理装置100が検索時にユーザが入力した検索情報を入力情報として用いる場合を示したが、情報処理装置100は、ユーザの種々の入力情報を用いてもよい。すなわち、情報処理装置100は、クエリに限らず、ユーザが入力する種々の情報(入力情報)を用いて、コンテンツに関する視聴に関する情報を予測してもよい。例えば、情報処理装置100は、所定のネットワークで通信される文字情報を用いて、コンテンツに関する視聴に関する情報を予測してもよい。例えば、情報処理装置100は、ソーシャルネットワーキングサービスにおいてユーザが投稿した投稿情報とその投稿時のユーザの位置情報とを用いて、コンテンツに関する視聴に関する情報を予測してもよい。例えば、情報処理装置100は、所定のSNSにおいてユーザが入力した入力情報を用いて、コンテンツに関する視聴に関する情報を予測してもよい。例えば、情報処理装置100は、Twitter(登録商標)やFacebook(登録商標)等においてユーザが投稿(入力)した投稿情報(入力情報)を用いて、コンテンツに関する視聴に関する情報を予測してもよい。例えば、情報処理装置100は、ユーザがTwitterにおいて投稿した文章(文字情報)を用いて、コンテンツに関する視聴に関する情報を予測してもよい。
例えば、情報処理装置100は、ユーザがメッセージサービスにおいて入力した入力情報を用いて、コンテンツに関する視聴に関する情報を予測してもよい。例えば、情報処理装置100は、ユーザがLINE(登録商標)等のメッセージサービスにおいて入力した入力情報を用いて、コンテンツに関する視聴に関する情報を予測してもよい。例えば、情報処理装置100は、電子メールにおいて入力した入力情報を用いて、コンテンツに関する視聴に関する情報を予測してもよい。
〔1−3−2.予測対象、正解情報〕
図1の例では、情報処理装置100がコンテンツの視聴時間を予測する場合を示したが、情報処理装置100は、コンテンツの視聴に関する種々の情報を予測してもよい。例えば、情報処理装置100は、コンテンツの視聴回数を予測してもよい。この場合、情報処理装置100は、正解情報に視聴回数を用いてモデルを生成することにより、視聴回数を予測する回数予測モデル(モデルMX)を生成してもよい。
例えば、情報処理装置100は、コンテンツ情報記憶部121に記憶されたコンテンツCT1の期間LT5における視聴回数VS1を正解情報として用いてもよい。そして、情報処理装置100は、期間LT4に対応するデータDT1−1のタイトル回数TTS1や形態素群回数MTS1やカテゴリ回数CTS1やキャスト回数ATS1やスタッフ回数STS1等の回数情報と視聴回数VS1とを対応付けた学習データを用いてもよい。この場合、情報処理装置100は、タイトル回数TTS1や形態素群回数MTS1やカテゴリ回数CTS1やキャスト回数ATS1やスタッフ回数STS1等がモデルMXに入力された場合に、モデルMXが出力するスコアが回数VS1に対応する値に近づくように、学習処理を行うことにより、モデルMXを生成してもよい。
そして、情報処理装置100は、生成したモデルMXに予測対象のコンテンツに関する回数情報を入力することにより、予測対象のコンテンツの視聴回数を予測してもよい。
〔1−3−3.ストップワード、タイトル成形等〕
図1の例では、タイトルから抽出された全形態素を対象とする場合を示したが、情報処理装置100は、形態素群中の各形態素のうち、所定の条件を満たす形態素を除いてもよい。例えば、情報処理装置100は、回数をカウントする対象から除外する文字列(ストップワード)を示す所定の辞書(ストップワード辞書)を用いてもよい。この場合、情報処理装置100は、記憶部120(図4参照)に記憶されたストップワード辞書を用いて、ストップワード辞書に含まれるストップワードと形態素群中の各形態素とを比較し、形態素群中のストップワードと一致する形態素を形態素群から削除してもよい。
例えば、情報処理装置100は、所定の助詞や所定の代名詞等のストップワードが含まれるストップワード辞書を用いて、形態素群からストップワードを除去してもよい。例えば、情報処理装置100は、「の」や「これ」等のストップワードが含まれるストップワード辞書を用いて、形態素群からストップワードを除去してもよい。そして、情報処理装置100は、ストップワードを除いた形態素群(除去後形態素群)を対象として回数をカウントしてもよい。
また、情報処理装置100は、「○○限定」や「special edition」等の付加文字列が含まれる場合、その付加文字列を除いた文字列をタイトルとして用いてもよい。例えば、情報処理装置100は、記憶部120(図4参照)に記憶された「○○限定」や「special edition」等の付加文字列辞書を用いて、付加文字列辞書に含まれる付加文字列とタイトルとを比較し、タイトル中の付加文字列と一致する部分を除いた文字列(除去後タイトル)をタイトルとして用いてもよい。
また、情報処理装置100は、上記の付加文字列を除いた後のタイトル(除去後タイトル)から形態素を抽出し、抽出した形態素群を対象として回数をカウントしてもよい。
〔1−3−4.モデルの入力〕
図1の例では、モデルへの入力(入力データ)として回数情報が用いられる場合を示したが、モデルへの入力は回数情報に限らず、種々の情報であってもよい。例えば、情報処理装置100は、ユーザの入力情報をモデルへの入力とするモデルを生成してもよい。この場合、情報処理装置100は、ユーザの入力情報をモデルへの入力とすることにより、予測処理を行う。
〔1−3−5.ユーザ属性〕
また、情報処理装置100は、上記に限らず、種々の情報を用いて、視聴に関する情報の予測を行ってもよい。例えば、情報処理装置100は、ユーザの属性情報も加味して視聴に関する情報の予測を行ってもよい。例えば、情報処理装置100は、ユーザの属性情報も入力とするモデルを用いて、視聴に関する情報の予測を行ってもよい。例えば、情報処理装置100は、入力情報を入力したユーザの属性情報を入力とするモデルを用いて、視聴に関する情報の予測を行ってもよい。
また、情報処理装置100は、ユーザ属性ごとにモデルを生成してもよい。例えば、情報処理装置100は、予測ターゲットとするユーザ属性(ターゲット属性)ごとの複数のモデルを生成してもよい。
例えば、情報処理装置100は、図8中のモデル情報記憶部124に示すように20代男性をターゲット属性とするモデルM11を生成してもよい。例えば、情報処理装置100は、20代男性に属するユーザのコンテンツに関する入力情報を用いて、ターゲット属性「20代男性」によるコンテンツの視聴時間を予測するモデルM11を生成してもよい。
この場合、情報処理装置100は、属性情報が20代男性に該当するユーザの行動情報のみを用いてモデルM11を生成してもよい。例えば、情報処理装置100は、行動情報記憶部122(図6参照)に記憶されたユーザの行動情報のうち、属性情報が20代男性に該当するユーザの行動情報を用いて、モデルM11を生成してもよい。例えば、情報処理装置100は、ターゲット属性「20代男性」と、行動情報記憶部122(図6参照)に記憶された各ユーザの属性情報とを比較し、「20代」及び「男性」が属性情報に含まれるユーザの行動情報を抽出し、抽出したターゲット属性「20代男性」を用いて、回数情報等の生成を行ってもよい。そして、情報処理装置100は、属性情報が20代男性に該当するユーザによるコンテンツの視聴時間を正解情報として、モデルM11を生成してもよい。
そして、情報処理装置100は、ターゲット属性を20代男性として視聴時間を予測する場合、モデルM11を用いてもよい。例えば、情報処理装置100は、ターゲット属性を20代男性として、あるコンテンツ(コンテンツCTZ)の視聴時間を予測する要求を所定の事業者(コンテンツ配信事業者CD)から取得した場合、モデルM11を用いて、ターゲット属性「20代男性」のユーザによるコンテンツCTZの視聴時間を予測してもよい。この場合、情報処理装置100は、コンテンツCTZに関する20代男性のユーザの入力情報から、回数情報等のモデルM11への入力情報(モデル入力情報)を生成する。そして、情報処理装置100は、生成した回数情報等をモデルM11へ入力することにより、ターゲット属性「20代男性」のユーザによるコンテンツCTZの視聴時間を予測してもよい。
上記と同様に、情報処理装置100は、図8中のモデル情報記憶部124に示すように20代女性をターゲット属性とするモデルM12を生成してもよい。例えば、情報処理装置100は、20代女性に属するユーザのコンテンツに関する入力情報を用いて、ターゲット属性「20代女性」によるコンテンツの視聴時間を予測するモデルM12を生成してもよい。そして、情報処理装置100は、ターゲット属性を20代女性として視聴時間を予測する場合、モデルM12を用いてもよい。
上記と同様に、情報処理装置100は、図8中のモデル情報記憶部124に示すように20代女性をターゲット属性とするモデルM12を生成してもよい。例えば、情報処理装置100は、20代女性に属するユーザのコンテンツに関する入力情報を用いて、ターゲット属性「20代女性」によるコンテンツの視聴時間を予測するモデルM12を生成してもよい。そして、情報処理装置100は、ターゲット属性を20代女性として視聴時間を予測する場合、モデルM12を用いてもよい。
また、情報処理装置100は、図8中のモデル情報記憶部124に示すように30代女性子供有をターゲット属性とするモデルM21を生成してもよい。すなわち、情報処理装置100は、年齢が30代であり、性別が女性であり、子供がいるユーザ属性をターゲット属性とするモデルM21を生成してもよい。例えば、情報処理装置100は、30代女性子供有に属するユーザのコンテンツに関する入力情報を用いて、ターゲット属性「30代女性子供有」によるコンテンツの視聴回数を予測するモデルM21を生成してもよい。そして、情報処理装置100は、ターゲット属性を30代女性子供有として視聴回数を予測する場合、モデルM21を用いてもよい。
また、情報処理装置100は、図8中のモデル情報記憶部124に示すように30代女性子供無をターゲット属性とするモデルM22を生成してもよい。すなわち、情報処理装置100は、年齢が30代であり、性別が女性であり、子供がいないユーザ属性をターゲット属性とするモデルM21を生成してもよい。例えば、情報処理装置100は、30代女性子供無に属するユーザのコンテンツに関する入力情報を用いて、ターゲット属性「30代女性子供無」によるコンテンツの視聴回数を予測するモデルM22を生成してもよい。そして、情報処理装置100は、ターゲット属性を30代女性子供無として視聴回数を予測する場合、モデルM22を用いてもよい。
情報処理装置100は、上記のような種々のモデルを用いて、予測処理を行ってもよい。例えば、情報処理装置100は、コンテンツ配信事業者CD等の事業者が要求するターゲット属性や視聴に関する情報の指定に応じて、モデルを選択し、選択したモデルを用いて予測処理を行ってもよい。
すなわち、情報処理装置100は、複数のユーザ属性ごとに生成される複数のモデルのうち、要求に応じた一のモデルを選択し、取得してもよい。そして、情報処理装置100は、一のモデルに基づいて、ユーザ属性に対応するユーザによるコンテンツの視聴に関する情報を予測してもよい。このように、情報処理装置100は、種々のターゲット属性ごとに予測を行うことができるため、属性毎の視聴時間や視聴回数が適切に予測できる。
なお、上記のターゲット属性は一例であり、ターゲット属性は上記に限らず、予測対象や事業者の要求等に応じて、種々設定されてもよい。例えば、情報処理装置100は、「関東在住」や「自営業者」等、ユーザの位置に関する属性や職業に関する属性等、種々の属性情報をターゲット属性として用いてもよい。このように、情報処理装置100は、年齢や性別に限らず、種々のデモグラフィック属性やサイコグラフィック属性をターゲット属性として用いてもよい。
〔1−3−6.学習方法、正則化等〕
情報処理装置100は、種々の従来技術を適宜用いてモデルを生成してもよい。情報処理装置100は、学習手法に関する種々の従来技術を適宜用いてモデルを生成してもよい。例えば、情報処理装置100は、回帰に関する種々の従来技術を適宜用いてモデル(回帰モデル)を生成してもよい。例えば、情報処理装置100は、回帰に関する種々の従来技術を適宜用いて、コンテンツの各要素に関する素性を含むモデルを生成してもよい。例えば、情報処理装置100は、非線形回帰に関する種々の従来技術を適宜用いてモデルを生成してもよい。例えば、情報処理装置100は、カーネル法に関する種々の従来技術を適宜用いてモデルを生成してもよい。例えば、情報処理装置100は、カーネル回帰に関する種々の従来技術を適宜用いてモデルを生成してもよい。例えば、情報処理装置100は、種々の従来技術を適宜用いて、各素性の標準偏回帰係数(重み)を学習することにより、モデルを生成してもよい。
例えば、情報処理装置100は、予測結果への影響が小さい要素に関する素性(特徴量)をモデルの素性から除いてもよい。コンテンツに関する要素「スタッフ」に関する素性の影響度が小さい場合、要素「スタッフ」に関する素性をモデルの素性から除いてもよい。例えば、情報処理装置100は、モデルM11において、素性「スタッフ回数」の重みが所定の閾値未満である場合、素性「スタッフ回数」に関する素性をモデルM1の素性から除いてもよい。例えば、情報処理装置100は、L1正則化等の種々の技術を用いて、予測結果への影響が小さい要素に関する素性を除いたモデルM1を生成してもよい。
例えば、情報処理装置100は、交差検定(クロスバリデーション)に関する種々の従来技術を適宜用いて、モデルに関するパラメータを最適化してもよい。例えば、情報処理装置100は、モデルの生成に用いる情報(生成用データ)と、検証に用いる情報(検証用データ)とを入れ替えて交差検証(クロスバリデーション)を複数回行うことにより、バンド幅や正則化パラメータを交差検定で最適化してもよい。例えば、情報処理装置100は、カーネル回帰やL1正則化等を用いたモデル生成において、バンド幅や正則化パラメータを交差検定で最適化してもよい。
〔2.情報処理装置の構成〕
次に、図4を用いて、実施形態に係る情報処理装置100の構成について説明する。図4は、実施形態に係る情報処理装置の構成例を示す図である。図4に示すように、情報処理装置100は、通信部110と、記憶部120と、制御部130とを有する。なお、情報処理装置100は、情報処理装置100の管理者等から各種操作を受け付ける入力部(例えば、キーボードやマウス等)や、各種情報を表示するための表示部(例えば、液晶ディスプレイ等)を有してもよい。
(通信部110)
通信部110は、例えば、NIC(Network Interface Card)等によって実現される。そして、通信部110は、ネットワークと有線または無線で接続され、コンテンツ配信事業者装置10との間で情報の送受信を行う。
(記憶部120)
記憶部120は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。実施形態に係る記憶部120は、図4に示すように、コンテンツ情報記憶部121と、行動情報記憶部122と、学習データ記憶部123と、モデル情報記憶部124と、予測情報記憶部125とを有する。
(コンテンツ情報記憶部121)
実施形態に係るコンテンツ情報記憶部121は、コンテンツ(記事)に関する各種情報を記憶する。図5は、実施形態に係るコンテンツ情報記憶部の一例を示す図である。図5に示すコンテンツ情報記憶部121は、「コンテンツID」、「コンテンツ」、「配信ステータス」、「要素情報」、「視聴情報」といった項目を有する。
「コンテンツID」は、コンテンツを識別するための識別情報を示す。「コンテンツ」は、コンテンツ配信事業者装置10等によりユーザに配信されるコンテンツを示す。図5では「コンテンツ」に「動画MA」や「動画MZ」といった概念的な情報が格納される例を示したが、実際には、動画像情報、または、その格納場所を示すファイルパス名などが格納される。「配信ステータス」は、コンテンツがユーザへ配信済みや未配信であるかを示す。例えば、「配信ステータス」は、「済」である場合、そのコンテンツが配信開始後であることを示し、「未」である場合、そのコンテンツが配信開始前であることを示す。
「要素情報」は、「タイトル」、「形態素群」、「カテゴリ」、「キャスト」、「スタッフ」といった項目を有する。「タイトル」は、コンテンツのタイトルを示す。なお、図5の例ではタイトルを「TL1」等の抽象的な符号で図示するが、タイトルは、映画のタイトル等の動画を特定する具体的な名称であってもよい。「形態素群」は、コンテンツのタイトルの形態素群を示す。なお、図5の例では形態素群を「GP1」等の抽象的な符号で図示するが、形態素群には、タイトルを構成する複数の形態素が含まれる。例えば、コンテンツCT1の形態素群GP1には、形態素MP1や形態素MP2等の複数の形態素が含まれる。なお、図5の例では、形態素MP1や形態素MP2は、抽象的な符号で図示するが、実際には、「京都」や「ストーリー」等の具体的な形態素であるものとする。
また、「カテゴリ」は、コンテンツの内容に基づくカテゴリ(分類)を示す。「キャスト」は、コンテンツのキャストを示す。「キャスト」は、コンテンツに出演した人を特定する名称(人名)等が格納される。なお、図5の例ではキャストを「CS1−1」、「CS1−2」等の抽象的な符号で図示するが、キャストは、そのコンテンツの出演者の人名等の具体的な名称であってもよい。また、「スタッフ」は、「キャスト」と同様に、そのコンテンツの制作に関係した人を特定する名称(人名)等が格納される。「スタッフ」は、そのコンテンツの監督や脚本家等の人名が格納される。
「視聴情報」は、「期間#1」といった項目を有する。なお、図5の例では説明を簡単にするために「期間#1」のみを図示するが、「視聴情報」には、「期間#2」、「期間#3」といった複数の期間に対応する項目が含まれてもよい。「期間#1」には、「期間」や「時間」や「回数」といった項目が含まれる。「期間」は、対応する時間や回数が収集される対象となる期間を示す。図5の例では、「期間」を「LT5」等のように抽象的に図示するが、「2018年10月15日−21日」や「2018年10月15日から2週間」や「2018年10月」等の具体的な期間が記憶されてもよい。「期間」や「時間」や「回数」が「−」である場合、対応する情報が格納されていないことを示す。
「時間」は、対応する期間においてコンテンツが視聴された時間を示す。例えば、「時間」は、対応する期間においてコンテンツが視聴された総時間を示す。「時間」は、対応する期間において各ユーザがコンテンツを視聴した時間を合計した時間を示す。なお、図5の例では時間を「VT1」等の抽象的な符号で図示するが、時間は、「15時間30分」や「100時間」等の具体的な時間を示す情報であってもよい。
「回数」は、対応する期間においてコンテンツが視聴された回数を示す。例えば、「回数」は、対応する期間においてコンテンツが視聴された総回数を示す。「回数」は、対応する期間において各ユーザがコンテンツを視聴した回数を合計した回数を示す。なお、図5の例では回数を「VS1」等の抽象的な符号で図示するが、回数は、「30回」や「1000回」等の具体的な回数を示す情報であってもよい。
図5の例では、コンテンツID「CT1」により識別される動画MA(コンテンツCT1)は、配信ステータスが「済」であり、既に配信が開始されているコンテンツであることを示す。また、コンテンツCT1のタイトルは、タイトルTL1であることを示す。コンテンツCT1の形態素群は、形態素MP1や形態素MP2等を含む形態素群GP1であることを示す。コンテンツCT1のカテゴリは、スポーツであることを示す。コンテンツCT1のキャストは、キャストCS1−1やキャストCS1−2が含まれることを示す。
コンテンツCT1は、期間LT5における視聴時間が時間VT1であり、期間LT5における視聴回数が回数VS1であることを示す。
また、図5の例では、コンテンツID「CT11」により識別される動画MZ(コンテンツCT11)は、配信ステータスが「未」であり、未だ配信が開始されていないコンテンツであることを示す。また、コンテンツCT11のタイトルは、タイトルTL11であることを示す。コンテンツCT11の形態素群は、形態素MP11や形態素MP12等を含む形態素群GP11であることを示す。コンテンツCT11のカテゴリは、ドラマであることを示す。コンテンツCT11のキャストは、キャストCS11−1やキャストCS11−2が含まれることを示す。また、コンテンツCT11は、視聴情報が無いことを示す。
なお、コンテンツ情報記憶部121は、上記に限らず、目的に応じて種々の情報を記憶してもよい。例えば、コンテンツ情報記憶部121は、コンテンツを取得した日時やコンテンツが作成された日時に関する情報を記憶してもよい。コンテンツ情報記憶部121は、各提供元の評価値に関する情報を記憶してもよい。また、コンテンツ情報記憶部121は、コンテンツの提供元を識別するための識別情報を記憶してもよい。また、コンテンツ情報記憶部121は、コンテンツの種別(例えば動画や記事等)を識別するための識別情報を記憶してもよい。
(行動情報記憶部122)
実施形態に係る行動情報記憶部122は、ユーザの行動に関する各種情報を記憶する。行動情報記憶部122は、ユーザが入力した入力情報等の各種情報を記憶する。図6は、実施形態に係る行動情報記憶部の一例を示す図である。例えば、行動情報記憶部122は、各ユーザがスマートフォン等の端末装置(図示省略)を用いて行った検索等を含む種々の行動情報を記憶する。図6に示す行動情報記憶部122には、「行動ID」、「種別」、「ユーザID」、「属性情報」、「日時」、「入力情報」といった項目が含まれる。
「行動ID」は、ユーザの行動を識別する情報を示す。「種別」は、行動の種別を示す。「ユーザID」は、ユーザを識別するための識別情報を示す。「属性情報」は、ユーザの属性情報を示す。
また、「日時」は、行動が行われた日時を示す。「日時」には、「DA1」等のように抽象的に図示するが、「2018年10月5日22時46分58秒」等の具体的な日時が記憶されてもよい。また、「入力情報」は、ユーザが入力した情報(ユーザ入力情報)を示す。例えば、「入力情報」は、ユーザが検索において用いられたクエリに関する情報やユーザが所定のSNS等に投稿した投稿情報を示す。なお、図6の例では入力情報を「UIN1」等の抽象的な符号で図示するが、入力情報は、ユーザが入力した具体的な文字列等の文字情報であってもよい。
図6に示す例において、ユーザID「U1」により識別されるユーザ(ユーザU1)は、日時DA1に検索行動である行動AC11を行ったことを示す。また、行動AC11を行ったユーザU1は、20代男性のユーザであることを示す。また、行動AC11において、ユーザU1が入力した入力情報は、入力情報UIN1であることを示す。
なお、行動情報記憶部122は、上記に限らず、目的に応じて種々の情報を記憶してもよい。また、図6では、ユーザIDごとに行動情報が行動情報記憶部122に記憶される場合を示したが、行動情報は、日時順に限らず、例えばユーザIDごとに記憶されてもよい。また、行動情報記憶部122は、行動が行われた位置を示す情報(緯度経度情報等)を行動IDに対応付けて記憶してもよい。
(学習データ記憶部123)
実施形態に係る学習データ記憶部123は、学習データに関する各種情報を記憶する。図7は、実施形態に係る学習データ記憶部の一例を示す図である。例えば、学習データ記憶部123は、モデルの生成に用いる教師データを記憶する。図7に示す学習データ記憶部123には、「データID」、「コンテンツ」、「正解情報」、「回数情報」といった項目が含まれる。
「データID」は、データを識別するための識別情報を示す。例えば、データID「DT1−1」により識別されるデータは、図1の例に示した、データDT1−1に対応する。「コンテンツ」は、データの収集対象となるコンテンツを示す。
「正解情報」は、データIDにより識別されるデータに対応する正解情報を示す。「正解情報」には、「対象期間」、「視聴時間」といった項目が含まれる。「対象期間」は、正解情報として用いる情報を収集する期間を示す。「視聴時間」は、対象期間におけるコンテンツの視聴時間を示す。例えば、「視聴時間」は、データIDにより識別されるデータに対応する正解情報として用いられる、視聴時間の実測値を示す。
図7では「対象期間」には、「LT5」等のように抽象的に図示するが、「2018年10月15日−21日」や「2018年10月15日から2週間」や「2018年10月」等の具体的な期間が記憶されてもよい。また、図7では「視聴時間」には、「RDT1−1」等のように抽象的に図示するが、実際には、対象期間における視聴時間の実測値を示す情報(例えば対象期間における総視聴時間等)、または、その格納場所を示すファイルパス名などが格納される。
「回数情報」は、データIDにより識別されるデータに対応する入力回数に関する情報を示す。「回数情報」には、「対象期間」、「タイトル回数」、「形態素群回数」、「カテゴリ回数」、「キャスト回数」、「スタッフ回数」といった項目が含まれる。
「対象期間」は、各回数を集計する入力情報が収集された期間を示す。図7では「対象期間」には、「LT4」等のように抽象的に図示するが、「2018年10月8日−14日」や「2018年10月1日から2週間」や「2018年9月」等の具体的な期間が記憶されてもよい。
「タイトル回数」は、対象期間におけるコンテンツのタイトルに対応する入力情報が入力された回数を示す。例えば、「タイトル回数」は、対象期間におけるコンテンツのタイトルに対応する入力が行われた回数を示す。例えば、「タイトル回数」は、対象期間において収集された入力情報に含まれるタイトルの出現頻度を示す。図7では「タイトル回数」に「TTS1」といった概念的な情報が格納される例を示したが、実際には、タイトルの入力回数を示す情報、または、その格納場所を示すファイルパス名などが格納される。
「形態素群回数」は、対象期間におけるコンテンツの形態素群に対応する入力情報が入力された回数に基づく値を示す。例えば、「形態素群回数」は、対象期間におけるコンテンツの形態素群に対応する入力が行われた回数に基づく値を示す。例えば、「形態素群回数」は、対象期間において収集された入力情報に含まれる形態素群の出現頻度に基づく値を示す。例えば、「形態素群回数」は、対象期間における形態素群に含まれる各形態素の入力回数の平均を示す。図7では「形態素群回数」に「MTS1」といった概念的な情報が格納される例を示したが、実際には、形態素群に含まれる各形態素の入力回数の平均を示す情報、または、その格納場所を示すファイルパス名などが格納される。
「カテゴリ回数」は、対象期間におけるコンテンツのカテゴリに対応する入力情報が入力された回数を示す。例えば、「カテゴリ回数」は、対象期間におけるコンテンツのカテゴリに対応する入力が行われた回数を示す。例えば、「カテゴリ回数」は、対象期間において収集された入力情報に含まれるカテゴリの出現頻度を示す。図7では「カテゴリ回数」に「CTS1」といった概念的な情報が格納される例を示したが、実際には、カテゴリの入力回数を示す情報、または、その格納場所を示すファイルパス名などが格納される。
「キャスト回数」は、対象期間におけるコンテンツのキャストに対応する入力情報が入力された回数を示す。例えば、「キャスト回数」は、対象期間におけるコンテンツのキャストに対応する入力が行われた回数を示す。例えば、「キャスト回数」は、対象期間において収集された入力情報に含まれるキャストの出現頻度を示す。図7では「キャスト回数」に「ATS1」といった概念的な情報が格納される例を示したが、実際には、キャストの入力回数を示す情報、または、その格納場所を示すファイルパス名などが格納される。
「スタッフ回数」は、対象期間におけるコンテンツのスタッフに対応する入力情報が入力された回数を示す。例えば、「スタッフ回数」は、対象期間におけるコンテンツのスタッフに対応する入力が行われた回数を示す。例えば、「スタッフ回数」は、対象期間において収集された入力情報に含まれるスタッフの出現頻度を示す。図7では「スタッフ回数」に「STS1」といった概念的な情報が格納される例を示したが、実際には、スタッフの入力回数を示す情報、または、その格納場所を示すファイルパス名などが格納される。
例えば、図7に示す例において、データID「DT1−1」により識別されるデータ(データDT1−1)の正解情報は、期間LT5におけるコンテンツCT1の視聴時間である時間VT1(正解情報RDT1−1)であることを示す。データDT1−1の回数情報は、期間LT4において収集されたコンテンツCT1に関する入力情報に基づく回数情報であることを示す。データDT1−1は、回数情報として、タイトル回数TTS1や形態素群回数MTS1やカテゴリ回数CTS1やキャスト回数ATS1やスタッフ回数STS1等を含むことを示す。
例えば、データDT1−1の正解情報RDT1−1は、期間LT5におけるコンテンツCT1の視聴時間を示す情報である。また、データDT1−1は、正解情報RDT1−1に対応する期間LT5よりも過去の期間LT4におけるタイトル回数TTS1や形態素群回数MTS1やカテゴリ回数CTS1やキャスト回数ATS1やスタッフ回数STS1等を回数情報として含む。このように、情報処理装置100は、正解情報RDT1−1に対応する期間よりも前の期間におけるタイトル回数や形態素群回数やカテゴリ回数やキャスト回数やスタッフ回数等をモデルへの入力としてモデルを生成する。これにより、情報処理装置100は、現状までの入力情報に基づく回数情報をモデルに入力することにより、未来のコンテンツの視聴時間を予測するモデルを生成することができる。
なお、学習データ記憶部123は、上記に限らず、目的に応じて種々の情報を記憶してもよい。例えば、学習データ記憶部123は、学習データが追加された日時に関する情報を記憶してもよい。また、例えば、学習データ記憶部123は、各学習データがどのような判定処理により追加されたかを示す情報を記憶してもよい。例えば、学習データ記憶部123は、各学習データが管理者の選択により判定されたか等を示す情報を記憶してもよい。
(モデル情報記憶部124)
実施形態に係るモデル情報記憶部124は、モデルに関する情報を記憶する。例えば、モデル情報記憶部124は、生成処理により生成されたモデル情報(モデルデータ)を記憶する。図8は、実施形態に係るモデル情報記憶部の一例を示す図である。図8に示すモデル情報記憶部124は、「モデルID」、「用途」、「ターゲット属性」、「モデルデータ」といった項目が含まれる。なお、図8では、モデルM1、M11、M12、M21、M22等のみを図示するが、各用途(予測の対象)やターゲットとするユーザ属性に応じて多数のモデル情報が記憶されてもよい。
「モデルID」は、モデルを識別するための識別情報を示す。例えば、モデルID「M1」により識別されるモデルは、図1の例に示したモデルM1に対応する。「用途」は、対応するモデルの用途を示す。「ターゲット属性」は、予測のターゲットとするユーザ属性を示す。「ターゲット属性」が「−」である場合、予測のターゲットとするユーザ属性が指定無し、すなわち「全ユーザ」を対象とすることを示す。また、「モデルデータ」は、モデルIDに対応付けられた対応するモデルのデータを示す。例えば、「モデルデータ」には、各層におけるノードと、各ノードが採用する関数と、ノードの接続関係と、ノード間の接続に対して設定される接続係数とを含む情報が含まれる。
例えば、図8に示す例において、モデルID「M1」により識別されるモデル(モデルM1)は、用途が「視聴時間」であり、ターゲット属性が「−」であり、全ユーザを対象とするモデルであることを示す。モデルM1は、入力された回数情報に対応するコンテンツの視聴時間の予測に用いられることを示す。また、モデルM1のモデルデータは、モデルデータMDT1であることを示す。
モデルM1(モデルデータMDT1)は、コンテンツに関してユーザが入力した入力情報の入力に関する回数を示す回数情報が入力される入力層と、出力層と、入力層から出力層までのいずれかの層であって出力層以外の層に属する第1要素と、第1要素と第1要素の重みとに基づいて値が算出される第2要素と、を含み、入力層に入力された回数情報に対し、出力層以外の各層に属する各要素を第1要素として、第1要素と第1要素の重みとに基づく演算を行うことにより、コンテンツの視聴に関する情報の予測に用いられるスコアの値を出力層から出力するよう、コンピュータを機能させるためのモデルである。
ここで、モデルM1等が「y=a1*x1+a2*x2+・・・+ai*xi」で示す回帰モデルで実現されるとする。この場合、例えば、モデルM1が含む第1要素は、x1やx2等といった入力データ(xi)に対応する。また、第1要素の重みは、xiに対応する係数aiに対応する。ここで、回帰モデルは、入力層と出力層とを有する単純パーセプトロンと見做すことができる。各モデルを単純パーセプトロンと見做した場合、第1要素は、入力層が有するいずれかのノードに対応し、第2要素は、出力層が有するノードと見做すことができる。
また、モデルM1等がDNN等、1つまたは複数の中間層を有するニューラルネットワークで実現されるとする。この場合、例えば、モデルM1が含む第1要素は、入力層または中間層が有するいずれかのノードに対応する。また、第2要素は、第1要素と対応するノードから値が伝達されるノードである次段のノードに対応する。また、第1要素の重みは、第1要素と対応するノードから第2要素と対応するノードに伝達される値に対して考慮される重みである接続係数に対応する。
なお、モデル情報記憶部124は、上記に限らず、目的に応じて種々のモデル情報を記憶してもよい。
(予測情報記憶部125)
実施形態に係る予測情報記憶部125は、予測に関する各種情報を記憶する。図9に、実施形態に係る予測情報記憶部125の一例を示す。図9に示す予測情報記憶部125は、「コンテンツID」、「コンテンツ」、「期間」、「ターゲット属性」、「スコア」、「予測視聴時間」といった項目を有する。
「コンテンツID」は、予測の対象となるコンテンツを識別するための識別情報を示す。「コンテンツ」は、予測の対象となるコンテンツの名称等を示す。「期間」は、予測の対象期間を示す。「ターゲット属性」は、予測の対象となるユーザのターゲット属性を示す。「スコア」は、予測する視聴に関する情報に対応するスコアを示す。例えば、「予測視聴時間」は、予測したコンテンツの視聴時間を示す。
例えば、図9に示す例において、視聴時間を予測する対象は、コンテンツCT11(動画MZ)であることを示す。コンテンツCT11の予測する視聴時間を予測する対象期間は期間LT11であることを示す。コンテンツCT11の視聴時間を予測するターゲット属性は「−」であり、全ユーザを対象とした視聴時間を予測することを示す。全ユーザによる期間LT11におけるコンテンツCT11の予測視聴時間を示すスコアは、「10.5」であることを示す。また、全ユーザによる期間LT11におけるコンテンツCT11の予測視聴時間は、「10時間30分」であることを示す。
なお、予測情報記憶部125は、上記に限らず、目的に応じて種々の情報を記憶してもよい。
(制御部130)
図4の説明に戻って、制御部130は、コントローラ(controller)であり、例えば、CPU(Central Processing Unit)やMPU(Micro Processing Unit)等によって、情報処理装置100内部の記憶装置に記憶されている各種プログラム(生成プログラムや予測プログラム等の情報処理プログラムの一例に相当)がRAMを作業領域として実行されることにより実現される。また、制御部130は、コントローラであり、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実現される。制御部130は、モデル情報記憶部124に記憶されているモデルM1等に従った情報処理により、コンテンツに関してユーザが入力した入力情報の入力に関する回数を示す回数情報が入力される入力層と、出力層と、入力層から出力層までのいずれかの層であって出力層以外の層に属する第1要素と、第1要素と第1要素の重みとに基づいて値が算出される第2要素と、を含み、入力層に入力された回数情報に対し、出力層以外の各層に属する各要素を第1要素として、第1要素と第1要素の重みとに基づく演算を行うことにより、コンテンツの視聴に関する情報の予測に用いられるスコアの値を出力層から出力する。
図4に示すように、制御部130は、取得部131と、生成部132と、予測部133と、提供部134とを有し、以下に説明する情報処理の機能や作用を実現または実行する。なお、制御部130の内部構成は、図4に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。制御部130は、記憶部120に記憶されているモデルM1(モデルデータMDT1)に従った情報処理により、第1要素と第1要素の重みとに基づいて値が算出される第2要素と、を含み、入力層に入力された回数情報に対し、出力層以外の各層に属する各要素を第1要素として、第1要素と第1要素の重みとに基づく演算を行うことにより、コンテンツの視聴に関する情報の予測に用いられるスコアの値を出力層から出力する。
(取得部131)
取得部131は、各種情報を取得する。取得部131は、記憶部120から各種情報を取得する。取得部131は、コンテンツ情報記憶部121や行動情報記憶部122や学習データ記憶部123やモデル情報記憶部124や予測情報記憶部125から各種情報を取得する。取得部131は、外部の情報処理装置から各種情報を取得する。取得部131は、コンテンツ配信事業者装置10から各種情報を取得する。取得部131は、情報提供装置50から各種情報を取得する。また、取得部131は、ユーザが利用する端末装置から各種情報を取得してもよい。
また、取得部131は、学習データ記憶部123に示すような学習データを取得する。例えば、取得部131は、データDT1−1〜DT1−3等を含む学習データを学習データ記憶部123から取得する。
取得部131は、一のコンテンツに関してユーザが入力した入力情報を取得する。取得部131は、回数情報と、モデルとを取得する。取得部131は、一のコンテンツに関する検索時にユーザが入力した検索情報を含む入力情報を取得する。取得部131は、一のコンテンツに関してユーザが投稿した投稿情報を含む入力情報を取得する。
取得部131は、一のコンテンツの各要素に対応する入力回数を示す回数情報を取得する。取得部131は、一のコンテンツのタイトルに対応する入力回数を含む回数情報を取得する。取得部131は、一のコンテンツのタイトルの形態素群に対応する入力回数を含む回数情報を取得する。取得部131は、一のコンテンツのタイトルの形態素のうち、所定の条件を満たす形態素を除いた形態素群に対応する入力回数を含む回数情報を取得する。取得部131は、形態素群に含まれる各形態素が入力された回数の平均を含む回数情報を取得する。取得部131は、一のコンテンツのカテゴリに対応する入力回数を含む回数情報を取得する。取得部131は、一のコンテンツに関係する人名に対応する入力回数を含む回数情報を取得する。
取得部131は、複数のユーザ属性ごとに生成される複数のモデルであって、コンテンツの視聴に関する情報の予測に用いる複数のモデルのうち、一のモデルを取得する。
図1の例では、取得部131は、事業者からコンテンツ情報を取得する。例えば、取得部131は、管理者SA1が利用するコンテンツ配信事業者装置10からコンテンツ情報を取得する。取得部131は、コンテンツ配信事業者CDが配信したコンテンツCT1〜CT3等に関する情報を含むコンテンツ情報INF11を取得する。例えば、取得部131は、図1中のコンテンツ情報記憶部121に示すようなコンテンツCT1〜CT3のコンテンツ情報をコンテンツ配信事業者装置10から取得する
取得部131は、情報提供装置50からユーザの行動情報を取得する。取得部131は、ユーザの行動の種別や行動を行ったユーザに関する情報やユーザの入力情報等を含む行動情報INF12を取得する。取得部131は、情報提供装置50から期間LT5よりも以前の期間である期間LT4におけるユーザの行動情報を含む行動情報INF12を取得する。例えば、取得部131は、図1中の行動情報記憶部122に示すようなユーザU1〜U5等の行動情報を情報提供装置50から取得する。
図2の例では、取得部131は、事業者から予測要求を取得する。取得部131は、管理者SA1が利用するコンテンツ配信事業者装置10から、予測対象となるコンテンツのコンテンツ情報及び予測対象期間を示す情報を予測要求として取得する。図2の例では、取得部131は、コンテンツ配信事業者CDから未配信のコンテンツCT11のコンテンツ情報を取得する。例えば、取得部131は、図2中のコンテンツ情報INF21に示すようなコンテンツCT11のコンテンツ情報をコンテンツ配信事業者装置10から取得する。取得部131は、期間LT10を示す情報を情報提供装置50に送信することにより、情報提供装置50から期間LT10におけるユーザの行動情報INF22を取得する。
(生成部132)
生成部132は、種々の情報を生成する。生成部132は、記憶部120に記憶された情報に基づいて、種々の情報を生成する。生成部132は、コンテンツ情報記憶部121や行動情報記憶部122や学習データ記憶部123やモデル情報記憶部124や予測情報記憶部125に記憶された情報に基づいて、種々の情報を生成する。生成部132は、取得部131により取得された情報に基づいて、種々の情報を生成する。生成部132は、外部の情報処理装置から取得された情報に基づいて、種々の情報を生成する。生成部132は、コンテンツ配信事業者装置10や情報提供装置50から取得された情報に基づいて、種々の情報を生成する。生成部132は、生成した情報に基づいて、種々の情報を生成する。生成部132は、予測部133により予測された情報に基づいて、種々の情報を生成する。生成部132は、モデルM1、M11、M12、M21、M22等(単に「モデルM1等」と記載する場合がある)の種々のモデルを生成する。なお、情報処理装置100が外部の情報処理装置からモデルM1等のモデルを取得する場合、生成部132は、モデルを生成しなくてもよい。
生成部132は、モデルM1等を生成する。生成部132は、コンテンツ情報記憶部121や行動情報記憶部122や学習データ記憶部123に記憶された情報を用いて、モデルM1等を生成する。生成部132は、生成したモデルM1等をモデル情報記憶部124に格納する。例えば、生成部132は、モデルM1等を生成し、生成したモデルM1等をモデル情報記憶部124に格納する。なお、生成部132は、いかなる学習アルゴリズムを用いてモデルM1等を生成してもよい。例えば、生成部132は、ニューラルネットワーク、サポートベクターマシン(SVM)、クラスタリング、強化学習等の学習アルゴリズムを用いてモデルM1等を生成する。一例として、生成部132がニューラルネットワークを用いてモデルM1等を生成する場合、モデルM1等は、一以上のニューロンを含む入力層と、一以上のニューロンを含む中間層と、一以上のニューロンを含む出力層とを有する。
生成部132は、モデルを生成し、生成したモデルをモデル情報記憶部124に格納する。具体的には、生成部132は、コンテンツに関してユーザが入力した入力情報の入力に関する回数を示す回数情報が入力される入力層と、出力層と、入力層から出力層までのいずれかの層であって出力層以外の層に属する第1要素と、第1要素と第1要素の重みとに基づいて値が算出される第2要素と、を含み、入力層に入力された回数情報に対し、出力層以外の各層に属する各要素を第1要素として、第1要素と第1要素の重みとに基づく演算を行うことにより、コンテンツの視聴に関する情報の予測に用いられるスコアの値を出力層から出力するモデルを生成する。
図1の例では、生成部132は、コンテンツ情報記憶部121に記憶されたコンテンツ情報や行動情報記憶部122に記憶された行動情報に基づいて、学習データを生成する。生成部132は、コンテンツ情報INF11や行動情報INF12に基づいて、学習データを生成する。生成部132は、図1中の学習データ記憶部123に示すようなデータDT1−1〜DT1−3等を含む学習データを生成する。
生成部132は、コンテンツ情報記憶部121に記憶されたコンテンツCT1のコンテンツ情報を用いて、データDT1−1の正解情報を生成する。生成部132は、コンテンツ情報記憶部121に記憶されたコンテンツCT1の視聴情報を用いて、データDT1−1の正解情報を生成する。
生成部132は、コンテンツ情報記憶部121に記憶されたコンテンツCT1のコンテンツ情報や行動情報記憶部122に記憶された行動情報を用いて、データDT1−1の回数情報を生成する。生成部132は、期間LT4を対象期間として、データDT1−1の回数情報を生成する。具体的には、情報処理装置100は、期間LT4におけるユーザの入力情報から、データDT1−1の回数情報を生成する。
図1の例では、生成部132は、学習データに基づいてモデルを生成する。生成部132は、各正解情報の対象期間LT5よりも前の期間LT4における回数情報を入力としてモデルを生成する。生成部132は、学習データ記憶部123に示すような学習データを用いてモデルM1を生成する。
図2の例では、生成部132は、コンテンツ情報INF21や行動情報INF22に基づいて、入力データを生成する。生成部132は、コンテンツ情報INF21や行動情報INF22に基づいて、コンテンツCT11の予測対象期間LT11における視聴時間を予測するための入力データであるデータDT21を生成する。生成部132は、図2中の予測用データIPD21に示すようなデータDT21を含む入力データを生成する。
生成部132は、コンテンツ情報INF21に示すようなコンテンツCT11のコンテンツ情報や行動情報INF22に示すような行動情報を用いて、データDT21の回数情報を生成する。図2の例では、生成部132は、期間LT10を対象期間として、データDT21の回数情報を生成する。生成部132は、期間LT10におけるユーザの入力情報から、データDT21の回数情報を生成する。生成部132は、ターゲット属性が「全体」であることを示す予測情報一覧PINF21を生成する。
(予測部133)
予測部133は、種々の情報を予測する。予測部133は、記憶部120に記憶された情報に基づいて、種々の情報を予測する。予測部133は、コンテンツ情報記憶部121や行動情報記憶部122や学習データ記憶部123やモデル情報記憶部124や予測情報記憶部125に記憶された情報に基づいて、種々の情報を予測する。予測部133は、取得部131により取得された情報に基づいて、種々の情報を予測する。予測部133は、外部の情報処理装置から取得された情報に基づいて、種々の情報を予測する。予測部133は、コンテンツ配信事業者装置10や情報提供装置50から取得された情報に基づいて、種々の情報を予測する。予測部133は、生成部132により生成された情報に基づいて、種々の情報を予測する。
予測部133は、取得部131により取得された入力情報の入力に関する回数を示す回数情報と、コンテンツの視聴に関する情報の予測に用いるモデルとに基づいて、一のコンテンツの視聴に関する情報を予測する。予測部133は、回数情報をモデルに入力することにより、モデルが出力するスコアに基づいて、一のコンテンツの視聴に関する情報を予測する。
予測部133は、一のコンテンツの視聴時間を予測する。予測部133は、一のコンテンツの視聴回数を予測する。予測部133は、各要素に対応する入力回数に基づいて、一のコンテンツの視聴に関する情報を予測する。
予測部133は、一のコンテンツとは異なる他のコンテンツであって、ユーザに提供済みの他のコンテンツに対応する所定の回数情報と、他のコンテンツの視聴に関する実測値を示す正解情報とに基づいて生成されるモデルを用いて、ユーザに未提供の一のコンテンツの視聴に関する情報を予測する。予測部133は、所定の期間において収集された実測値を示す正解情報に基づいて生成されるモデルを用いて、所定の期間に対応する長さの期間における一のコンテンツの視聴に関する情報を予測する。予測部133は、取得部131により取得された一のモデルに基づいて、ユーザ属性に対応するユーザによる一のコンテンツの視聴に関する情報を予測する。
図2の例では、予測部133は、期間LT10におけるユーザのコンテンツCT11に関する入力に基づく回数情報と、モデルM1とを用いて、コンテンツCT11の予測対象期間LT11における視聴時間を予測する。予測部133は、データDT21をモデルM1に入力することにより、コンテンツCT11の予測対象期間LT11における視聴時間を予測する。
予測部133は、コンテンツCT11の予測対象期間LT11における視聴時間を示すスコアに基づいてコンテンツCT11の視聴時間を予測する。予測部133は、回数情報が入力されたモデルM1が出力するスコアが示す値が視聴時間であると予測する。予測部133は、図2中の予測情報一覧PINF21に示すように、コンテンツCT11の予測対象期間LT11における視聴時間が「10時間30分」であると予測する。
なお、上記例では、モデルM1が、所定の事業者の事業に関する情報である回数情報が入力された場合に、一のコンテンツの視聴に関する情報の予測を定量化した値を出力するモデルである例を示した。しかし、実施形態に係るモデル(モデルX)は、モデルM1にデータの入出力を繰り返すことで得られる結果に基づいて生成されるモデルであってもよい。例えば、モデルXは、所定の事業者の事業に関する情報である回数情報を入力とし、モデルM1が出力するスコアを出力とするよう学習されたモデル(モデルY)であってもよい。または、モデルM1は、所定の事業者の事業に関する情報である回数情報を入力とし、モデルYの出力値を出力とするよう学習されたモデルであってもよい。また、予測部133がGAN(Generative Adversarial Networks)を用いた予測処理を行う場合、モデルM1は、GANの一部を構成するモデルであってもよい。
(提供部134)
提供部134は、各種情報を提供する。提供部134は、外部の情報処理装置へ各種情報を提供する。提供部134は、コンテンツ配信事業者装置10や等の外部の情報処理装置に各種情報を提供する。提供部134は、コンテンツ配信事業者装置10や情報提供装置50に各種情報を送信する。提供部134は、ユーザが利用する端末装置に各種情報を送信する。提供部134は、ユーザが利用する端末装置に各種情報を配信する。提供部134は、取得部131により取得された各種情報に基づいて、種々の情報を提供する。提供部134は、生成部132により生成された各種情報に基づいて、種々の情報を提供する。
提供部134は、予測部133により予測された各種情報に基づいて、種々のサービスを提供する。提供部134は、予測部133により予測された各種情報に基づいて、種々の情報を提供する。提供部134は、コンテンツ配信事業者装置10へ予測結果に基づく情報を提供する。提供部134は、ユーザが利用する端末装置に予測結果に基づくコンテンツを提供してもよい。また、提供部134は、生成部132により生成されたモデルに関する情報を外部の情報処理装置へ提供してもよい。また、例えば、提供部134は、モデルが出力する情報を外部の情報処理装置へ提供してもよい。
また、提供部134は、予測した一のコンテンツの視聴に関する情報に基づいて情報提供を行う。提供部134は、予測部133により予測された一のコンテンツの視聴に関する情報を用いたサービスを提供する。
図2の例では、提供部134は、全ユーザを対象とした場合のコンテンツCT11(動画MZ)の予測対象期間LT11における視聴時間が、10時間30分であることを示す予測情報一覧PINF21をコンテンツ配信事業者装置10へ提供する。
〔3.生成処理のフロー〕
次に、図10を用いて、実施形態に係る情報処理システム1による情報処理のうち生成処理の手順について説明する。図10は、実施形態に係る生成処理の一例を示すフローチャートである。
図10に示すように、情報処理装置100は、学習データを取得する(ステップS101)。例えば、情報処理装置100は、学習データ記憶部123から学習データを取得する。
その後、情報処理装置100は、学習データに基づきモデルを生成する(ステップS102)。図1の例では、情報処理装置100は、学習データ記憶部123から学習データを用いてモデルM1を生成する。
〔4.予測処理のフロー〕
次に、図11を用いて、実施形態に係る情報処理システム1による情報処理のうち予測処理の手順について説明する。図11は、実施形態に係る予測処理の一例を示すフローチャートである。
図11に示すように、情報処理装置100は、一のコンテンツのコンテンツ情報を取得する(ステップS201)。また、情報処理装置100は、一のコンテンツに関する回数情報を取得する(ステップS202)。そして、情報処理装置100は、モデルを用いて一のコンテンツの視聴に関する情報を予測する(ステップS203)。そして、情報処理装置100は、予測した情報に基づくサービスを提供する(ステップS204)。
〔5.効果〕
上述してきたように、実施形態に係る情報処理装置100は、取得部131と、予測部133とを有する。取得部131は、一のコンテンツに関してユーザが入力した入力情報を取得する。また、予測部133は、取得部131により取得された入力情報の入力に関する回数を示す回数情報と、コンテンツの視聴に関する情報の予測に用いるモデルとに基づいて、一のコンテンツの視聴に関する情報を予測する。
このように、実施形態に係る情報処理装置100は、入力情報の入力に関する回数を示す回数情報と、コンテンツの視聴に関する情報の予測に用いるモデルとに基づいて、一のコンテンツの視聴に関する情報を予測することにより、コンテンツの視聴に関する情報を適切に予測することができる。
また、実施形態に係る情報処理装置100において、取得部131は、回数情報と、モデルとを取得する。予測部133は、回数情報をモデルに入力することにより、モデルが出力するスコアに基づいて、一のコンテンツの視聴に関する情報を予測する。
このように、実施形態に係る情報処理装置100は、回数情報をモデルに入力することにより、モデルが出力するスコアに基づいて、一のコンテンツの視聴に関する情報を予測することにより、コンテンツの視聴に関する情報を適切に予測することができる。
また、実施形態に係る情報処理装置100において、予測部133は、一のコンテンツの視聴時間を予測する。
このように、実施形態に係る情報処理装置100は、一のコンテンツの視聴時間を予測することにより、コンテンツの視聴に関する情報を適切に予測することができる。
また、実施形態に係る情報処理装置100において、予測部133は、一のコンテンツの視聴回数を予測する。
このように、実施形態に係る情報処理装置100は、一のコンテンツの視聴回数を予測することにより、コンテンツの視聴に関する情報を適切に予測することができる。
また、実施形態に係る情報処理装置100において、取得部131は、一のコンテンツに関する検索時にユーザが入力した検索情報を含む入力情報を取得する。
このように、実施形態に係る情報処理装置100は、一のコンテンツに関する検索時にユーザが入力した検索情報を含む入力情報を取得することにより、ユーザの検索行動に基づいて、コンテンツの視聴に関する情報を適切に予測することができる。
また、実施形態に係る情報処理装置100において、取得部131は、一のコンテンツに関してユーザが投稿した投稿情報を含む入力情報を取得する。
このように、実施形態に係る情報処理装置100は、一のコンテンツに関してユーザが投稿した投稿情報を含む入力情報を取得することにより、ユーザの所定のSNS等への投稿に基づいて、コンテンツの視聴に関する情報を適切に予測することができる。
また、実施形態に係る情報処理装置100において、取得部131は、一のコンテンツの各要素に対応する入力回数を示す回数情報を取得する。予測部133は、各要素に対応する入力回数に基づいて、一のコンテンツの視聴に関する情報を予測する。
このように、実施形態に係る情報処理装置100は、一のコンテンツの各要素に対応する入力回数に基づいて、一のコンテンツの視聴に関する情報を予測することにより、コンテンツの各要素を加味して、コンテンツの視聴に関する情報を適切に予測することができる。
また、実施形態に係る情報処理装置100において、取得部131は、一のコンテンツのタイトルに対応する入力回数を含む回数情報を取得する。
このように、実施形態に係る情報処理装置100は、一のコンテンツのタイトルに対応する入力回数を含む回数情報を取得することにより、コンテンツのタイトルに対応する入力回数を加味して、コンテンツの視聴に関する情報を適切に予測することができる。
また、実施形態に係る情報処理装置100において、取得部131は、一のコンテンツのタイトルの形態素群に対応する入力回数を含む回数情報を取得する。
このように、実施形態に係る情報処理装置100は、一のコンテンツのタイトルの形態素群に対応する入力回数を含む回数情報を取得することにより、コンテンツのタイトルの形態素群に対応する入力回数を加味して、コンテンツの視聴に関する情報を適切に予測することができる。
また、実施形態に係る情報処理装置100において、取得部131は、一のコンテンツのタイトルの形態素のうち、所定の条件を満たす形態素を除いた形態素群に対応する入力回数を含む回数情報を取得する。
このように、実施形態に係る情報処理装置100は、一のコンテンツのタイトルの形態素のうち、所定の条件を満たす形態素を除いた形態素群に対応する入力回数を含む回数情報を取得することにより、適切なタイトルの形態素のみを対象とした入力回数を加味して、コンテンツの視聴に関する情報を適切に予測することができる。
また、実施形態に係る情報処理装置100において、取得部131は、形態素群に含まれる各形態素が入力された回数の平均を含む回数情報を取得する。
このように、実施形態に係る情報処理装置100は、形態素群に含まれる各形態素が入力された回数の平均を含む回数情報を取得することにより、各形態素が入力された回数の平均を加味して、コンテンツの視聴に関する情報を適切に予測することができる。
また、実施形態に係る情報処理装置100において、取得部131は、一のコンテンツのカテゴリに対応する入力回数を含む回数情報を取得する。
このように、実施形態に係る情報処理装置100は、一のコンテンツのカテゴリに対応する入力回数を含む回数情報を取得することにより、コンテンツのカテゴリに対応する入力回数を加味して、コンテンツの視聴に関する情報を適切に予測することができる。
また、実施形態に係る情報処理装置100において、取得部131は、一のコンテンツに関係する人名に対応する入力回数を含む回数情報を取得する。
このように、実施形態に係る情報処理装置100は、一のコンテンツに関係する人名に対応する入力回数を含む回数情報を取得することにより、コンテンツに関係する人名に対応する入力回数を加味して、コンテンツの視聴に関する情報を適切に予測することができる。
また、実施形態に係る情報処理装置100において、予測部133は、一のコンテンツとは異なる他のコンテンツであって、ユーザに提供済みの他のコンテンツに対応する所定の回数情報と、他のコンテンツの視聴に関する実測値を示す正解情報とに基づいて生成されるモデルを用いて、ユーザに未提供の一のコンテンツの視聴に関する情報を予測する。
このように、実施形態に係る情報処理装置100は、ユーザに提供済み(配信済み)であるコンテンツの情報を用いてモデルを生成し、そのモデルを用いて未提供のコンテンツに対する予測を行うことにより、未提供のコンテンツの視聴に関する情報を適切に予測することができる。
また、実施形態に係る情報処理装置100において、予測部133は、所定の期間において収集された実測値を示す正解情報に基づいて生成されるモデルを用いて、所定の期間に対応する長さの期間における一のコンテンツの視聴に関する情報を予測する。
このように、実施形態に係る情報処理装置100は、所定の期間において収集された実測値を示す正解情報に基づいて生成されるモデルを用いて、所定の期間に対応する長さの期間における一のコンテンツの視聴に関する情報を予測することにより、モデル生成時の正解情報の収集期間と同じ長さの期間におけるコンテンツの視聴に関する情報を適切に予測することができる。
また、実施形態に係る情報処理装置100において、取得部131は、複数のユーザ属性ごとに生成される複数のモデルであって、コンテンツの視聴に関する情報の予測に用いる複数のモデルのうち、一のモデルを取得する。予測部133は、取得部131により取得された一のモデルに基づいて、ユーザ属性に対応するユーザによる一のコンテンツの視聴に関する情報を予測する。
このように、実施形態に係る情報処理装置100は、複数のユーザ属性ごとに生成される複数のモデルを用いることにより、予測対象とするユーザ属性に応じてコンテンツの視聴に関する情報を適切に予測することができる。
また、実施形態に係る情報処理装置100は、提供部134を有する。提供部134は、予測部133により予測された一のコンテンツの視聴に関する情報を用いたサービスを提供する。
このように、実施形態に係る情報処理装置100は、予測部133により予測された一のコンテンツの視聴に関する情報を用いたサービスを提供することにより、予測した情報に基づくサービスを提供可能にすることができる。
〔6.ハードウェア構成〕
上述してきた実施形態に係る情報処理装置100は、例えば図12に示すような構成のコンピュータ1000によって実現される。図12は、情報処理装置の機能を実現するコンピュータの一例を示すハードウェア構成図である。コンピュータ1000は、CPU1100、RAM1200、ROM(Read Only Memory)1300、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が実施形態に係る情報処理装置100として機能する場合、コンピュータ1000のCPU1100は、RAM1200上にロードされたプログラムまたはデータ(例えば、モデルM1(モデルデータMDT1))を実行することにより、制御部130の機能を実現する。コンピュータ1000のCPU1100は、これらのプログラムまたはデータ(例えば、モデルM1(モデルデータMDT1))を記録媒体1800から読み取って実行するが、他の例として、他の装置からネットワークNを介してこれらのプログラムを取得してもよい。
以上、本願の実施形態及び変形例のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、発明の開示の行に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
〔7.その他〕
また、上記実施形態及び変形例において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
また、上述してきた実施形態及び変形例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
また、上述してきた「部(section、module、unit)」は、「手段」や「回路」などに読み替えることができる。例えば、取得部は、取得手段や取得回路に読み替えることができる。