(57)【要約】【課題】提供するコンテンツの多様性を高めることができる情報処理装置、情報処理方法、およびプログラムを提供すること。【解決手段】本発明の一態様は、ネットワークを介して配信される候補となる複数のコンテンツの各々に対応するベクトルデータを生成する第１生成部と、前記第１生成部により生成された複数のベクトルデータに基づいて、コンテンツの多様性を高めるように、前記複数のコンテンツの中から、配信対象のコンテンツを決定する決定部と、を備える情報処理装置である。【選択図】図２
2019113945.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して配信される候補となる複数のコンテンツの各々に対応するベクトルデータを生成する第１生成部と、
前記第１生成部により生成された複数のベクトルデータに基づいて、コンテンツの多様性を高めるように、前記複数のコンテンツの中から、配信対象のコンテンツを決定する決定部と、
を備える情報処理装置。
【請求項２】
前記決定部により既に決定された前記配信対象のコンテンツと対応する前記ベクトルデータにより構成される部分空間と、配信される候補となるコンテンツとの距離を算出する算出部をさらに備え、
前記決定部は、前記算出部により算出された距離に基づいて、前記配信対象のコンテンツを決定する、
請求項１に記載の情報処理装置。
【請求項３】
前記決定部は、前記算出部により算出された距離が最大であるコンテンツを、前記配信対象のコンテンツとして決定する、
請求項２に記載の情報処理装置。
【請求項４】
前記コンテンツは、前記ネットワークを介して配信される記事であり、
前記ベクトルデータは、前記記事の特徴を示す情報であり、
前記決定部は、既に決定された記事とは異なる特徴を有する記事を、配信対象の記事として決定する、
請求項２または３に記載の情報処理装置。
【請求項５】
前記決定部により決定された配信対象のコンテンツを表示装置に表示させるための表示用情報を生成する第２生成部をさらに備える、
請求項１から４のいずれか一項に記載の情報処理装置。
【請求項６】
コンピュータが、
ネットワークを介して配信される候補となる複数のコンテンツの各々に対応するベクトルデータを生成し、
前記生成された複数のベクトルデータに基づいて、コンテンツの多様性を高めるように、前記複数のコンテンツの中から、配信対象のコンテンツを決定する、
情報処理方法。
【請求項７】
コンピュータに、
ネットワークを介して配信される候補となる複数のコンテンツの各々に対応するベクトルデータを生成させ、
前記生成された複数のベクトルデータに基づいて、コンテンツの多様性を高めるように、前記複数のコンテンツの中から、配信対象のコンテンツを決定させる、
プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法、およびプログラムに関する。
【背景技術】
【０００２】
従来、ウェブページに掲載される記事や広告等のコンテンツに対してユーザが行動（例えば、クリック操作）を起こす可能性を高めるための方法が知られている。例えば、ユーザのクリック率等のアクセス履歴情報に基づいて、所定数の広告の組み合わせの内、過去に行動を起こした重複ないユーザの数が最も多くなるように広告を選択する方法が知られている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１３−８９０８０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
あるウェブページにおいて、内容が互いに類似するコンテンツが多く掲載されていると、このウェブページ全体におけるコンテンツのクリック率が低下する傾向があることが知られている。このため、クリック率を向上させるためには、ウェブページに掲載されるコンテンツに多様性を持たせることが重要となる。
【０００５】
また、特許文献１に開示されている方法において、配信対象のコンテンツを決定するためにはユーザのアクセス履歴情報が必要となる。このため、ユーザによるアクセスの実績がない新たなコンテンツは、配信対象として選択されにくくなる場合や、全く選択されない場合があった。
【０００６】
本発明は、このような事情を考慮してなされたものであり、提供するコンテンツの多様性を高めることが可能な情報処理装置、情報処理方法、およびプログラムを提供することを目的の一つとする。
【課題を解決するための手段】
【０００７】
本発明の一態様は、ネットワークを介して配信される候補となる複数のコンテンツの各々に対応するベクトルデータを生成する第１生成部と、前記第１生成部により生成された複数のベクトルデータに基づいて、コンテンツの多様性を高めるように、前記複数のコンテンツの中から、配信対象のコンテンツを決定する決定部と、を備える情報処理装置である。
【発明の効果】
【０００８】
本発明の一態様によれば、提供するコンテンツの多様性を高めることが可能である。
【図面の簡単な説明】
【０００９】
【図１】実施形態に係るコンテンツの多様性を説明する図である。
【図２】実施形態に係るサービス提供装置２０の機能構成を示す機能ブロック図である。
【図３】実施形態に係る記事ベクトル生成部２５の処理の内容を概念的に示す図である。
【図４】実施形態に係る配信記事情報３３の内容の一例を示す図である。
【図５】実施形態に係る記事ベクトル情報３５の内容の一例を示す図である。
【図６】実施形態に係るサービス提供装置２０の処理の流れの一例を示すフローチャートである。
【図７】実施形態における第３候補記事のベクトル空間上での位置と、第１および第２記事ベクトルにより構成される部分空間との距離を説明する図である。
【図８】実施形態における第４候補記事のベクトル空間上での位置と、第１から第３記事ベクトルにより構成される部分空間との距離を説明する図である。
【発明を実施するための形態】
【００１０】
以下、図面を参照して、本発明の情報処理装置、情報処理方法、およびプログラムの実施形態について説明する。
【００１１】
［概要］
実施形態の情報処理装置（サービス提供装置）は、ユーザにより操作される端末装置からのリクエストに対応するウェブページを提供するウェブサーバ装置、アプリケーションが起動された端末装置と通信を行って各種情報の受け渡しを行ってアプリページを提供するアプリケーションサーバ装置等である。これらのウェブページおよびアプリページは、検索サイト、ニュースサイト、ショッピングサイト、オークションサイト、天気予報サイト、ＳＮＳ（Social Networking Service）サイト、ゲームサイト等を構成するページである。
【００１２】
上述のウェブページ或いはアプリページは、各種ジャンルのニュース等の記事、広告（電子広告）等のコンテンツを複数含む。記事とは、インターネット等のネットワークを介して提供される電子的な記事であり、テキスト情報を含むものである。情報処理装置は、コンテンツに含まれる内容の多様性が保たれるように複数のコンテンツを選択し、選択した複数のコンテンツを含むウェブページ或いはアプリページを生成する。以下においては、コンテンツが、記事である例について説明する。
【００１３】
［多様性］
「多様性」とは、複数の記事が存在する場合において、記事の内容が幅広いカテゴリに亘っている度合いをいう。あるウェブページに複数の記事が掲載される場合、記事の多様性が高いほど、これらの記事に関心を持つユーザの範囲が広くなることが推定される。一方、記事の多様性が低いほど、すなわち、記事の内容が同じようなカテゴリに集中しているほど、これらの記事に関心を持つユーザの範囲が狭くなることが推定される。
【００１４】
多様性は、例えば、記事のベクトルに基づいて定量化される。図１は、多様性を説明する図である。ここで、記事の内容に関する特徴を表すために、複数の観点で定義された多次元のベクトルデータを用いる。図１においては、２次元のベクトルを構成する要素１および要素２により記事の特徴が表されるものとして説明する。要素１および要素２は、互いに異なる観点の特徴を示すものである。要素１および要素２は、例えば、記事がニュースである場合に「即時性」という観点の特徴や、「野球」または「サッカー」といったスポーツの「種別」という観点の特徴をベクトルで表現したものである。
【００１５】
図１において、Ｕ１は第１のカテゴリに属する記事を参照したユーザの集合を示しており、Ｕ２は第２のカテゴリに属する記事を参照したユーザの集合を示している。集合Ｕ１と集合Ｕ２とは、範囲Ｒ１の部分において互いに重なっている。ウェブページに掲載される記事として２つの記事を選択する場合には、このような重なりの範囲Ｒ１が小さくなるように記事を選択する。これにより、ウェブページ全体としての記事の多様性を高めることができる。
【００１６】
次に、ウェブページに掲載される記事として、第１のカテゴリに属する記事と、第２のカテゴリに属する記事とが選択されている場合において、３つ目の記事を選択する場合を考える。第１のカテゴリに属する記事と、第２のカテゴリに属する記事とは、要素１の方向に並んで配置されている。すなわち、第１のカテゴリに属する記事と、第２のカテゴリに属する記事とにおいて、要素１に関する記事の多様性（バリエーション）が確保されている。ここで、３つ目の記事を選択する場合、要素１の方向に位置する記事（例えば、集合Ｕ３に属するユーザによって参照された第３のカテゴリに属する記事）よりも、この要素１とは異なる要素２の方向に位置する記事（例えば、集合Ｕ４に属するユーザによって参照された第４のカテゴリに属する記事）を選択した方が、ウェブページ全体としての多様性が高くなる。すなわち、多様性は、記事の重なりの範囲だけでなく、基準とした要素における重なりが既に出現している場合、他の要素の方向に関して重なっている方が高いと評価される。情報処理装置は、このように多様性を高めるように複数の記事を選択する。
【００１７】
［全体構成］
図２は、サービス提供装置２０の機能構成を示す機能ブロック図である。サービス提供装置２０は、ネットワークＮＷに接続される。ネットワークＮＷには、サービス提供装置２０の他、例えば、少なくとも１つの端末装置１０が接続される。ネットワークＮＷは、例えば、インターネット、ＷＡＮ（Wide Area Network）やＬＡＮ（Local Area Network）、プロバイダ装置、無線基地局、専用回線等のうち一部または全部を含む。
【００１８】
端末装置１０は、サービス提供装置２０によって提供されるウェブページ等のサービスを利用するユーザによって操作される。端末装置１０は、例えば、パーソナルコンピュータ、スマートフォン等の携帯電話やタブレット端末、ＰＤＡ（Personal Digital Assistant）等である。
【００１９】
例えば、端末装置１０は、ユーザから所定の操作を受け付けると、予めインストールされたブラウザによって、サービス提供装置２０によって提供されるウェブページを表示する。このウェブページには、複数の記事（例えば、少なくとも３つの記事）が含まれる。また、端末装置１０は、ユーザから所定の操作を受け付けると、予めインストールされたアプリケーションを介してサービス提供装置２０と通信を行い、アプリケーション上で表示或いは再生するコンテンツを取得する。コンテンツは、例えば、動画データや、画像データ、音声データ、テキストデータ等であり、複数の記事が含まれる。これによって、端末装置１０には、アプリケーションを介して、上述した各種ウェブページにより提供されるサービスと同様のサービスが提供される。以下においては、サービス提供装置２０が、端末装置１０にウェブページを提供する例について説明する。
【００２０】
サービス提供装置２０は、例えば、通信部２１と、候補記事抽出部２３と、記事ベクトル生成部２５（第１生成部）と、記事決定部２７（算出部、決定部）と、ページ生成部２９（第２生成部）と、記憶部３１とを備える。通信部２１は、例えば、ＮＩＣ等の通信インターフェースを含む。通信部２１は、ネットワークＮＷを介して、端末装置１０等と通信する。
【００２１】
候補記事抽出部２３は、記憶部３１に記憶された配信記事情報３３の中から、所定数の候補記事を抽出する。例えば、サービス提供装置２０により提供されるサービスが、ユーザＩＤおよびパスワードを入力しログインすることで個別のユーザに対してカスタマイズされたサービスとして提供されるものである場合、候補記事抽出部２３は、ユーザの過去のアクセス履歴情報等に基づいて、ユーザが関心および興味のある内容と推定される記事を、候補記事として抽出してよい。或いは、候補記事抽出部２３は、配信記事情報３３の中から、ランダムに記事を候補記事として抽出してもよい。
【００２２】
記事ベクトル生成部２５は、例えば、候補記事抽出部２３により抽出された候補記事に対応する記事ベクトル（特徴情報）を生成する。記事ベクトルは、例えば、記事に含まれる単語を形態素解析等によって抽出した後、word2vec等の手法により分散表現化した単語ベクトルをモデルに入力することで生成されるベクトルデータである。
【００２３】
図３は、記事ベクトル生成部２５の処理の内容を概念的に示す図である。記事ベクトル生成部２５には、候補記事抽出部２３により抽出された候補記事の内容（テキスト）が入力される。
【００２４】
記事ベクトル生成部２５は、まず、記事の内容に対して形態素解析等を行って、単語（形態素）に分割する。次に、記事ベクトル生成部２５は、各単語に対してword2vec等の手法を適用して、分散表現化された単語ベクトルを取得する。形態素解析とword2vecとのうち一方または双方は、記事ベクトル生成部２５が自ら処理を行うのではなく、外部装置に処理を依頼することで実現されてもよい。
【００２５】
次に、記事ベクトル生成部２５は、記事から取得された一以上の単語ベクトルを予め定義されたモデルに入力することで、記事ベクトルを生成する。このモデルは、例えば、機械学習によって生成されるモデルである。このモデルは、例えば、ディープラーニング等の手法により、既知の単語ベクトルと記事ベクトルとの関係が再現できるような、隠れ層の活性化関数のパラメータを求めることで生成される。尚、上記の定義に拘わらず、第１モデルとは、word2vecの特定、すなわち、どのようなコーパスをword2vecに与えるか、までを含んでもよい。記事ベクトル生成部２５は、生成した記事ベクトルを、記事ベクトル情報３５として、記憶部３１に記憶させる。
【００２６】
記事決定部２７は、記事ベクトル生成部２５によって生成された候補記事の各々の記事ベクトルに基づいて、配信対象とする複数の記事（例えば、少なくとも３つの記事）を決定する。記事決定部２７は、所定数の記事の組み合わせの内、記事の多様性を高めるように、記事を決定する。記事決定部２７は、既に選択された記事の記事ベクトルにより構成される部分空間との距離が最大である記事を優先的に配信対象として決定する。
【００２７】
ページ生成部２９は、記事決定部２７により決定された複数の記事を含むウェブページを生成する。すなわち、ページ生成部２９は、記事決定部２７により決定された配信対象のコンテンツを表示装置に表示させるための表示用情報を生成する。ページ生成部２９は、生成したウェブページを、通信部２１を介して、端末装置１０に送信する。
【００２８】
サービス提供装置２０の上記の各機能部は、例えば、ＣＰＵ（Central Processing Unit）等のハードウェアプロセッサがプログラム（ソフトウェア）を実行することにより実現される。また、これらの構成要素のうち一部または全部は、ＬＳＩ（Large Scale Integration）やＡＳＩＣ（Application Specific Integrated Circuit）、ＦＰＧＡ（Field-Programmable Gate Array）、ＧＰＵ（Graphics Processing Unit）等のハードウェア（回路部；circuitryを含む）によって実現されてもよいし、ソフトウェアとハードウェアの協働によって実現されてもよい。
【００２９】
記憶部３１は、例えば、配信記事情報３３と、記事ベクトル情報３５とを記憶する。図４は、配信記事情報３３の内容の一例を示す図である。配信記事情報３３は、例えば、記事の識別情報である記事ＩＤに対し、記事データが対応付けられた情報である。記事データは、例えば、テキストデータ、画像データ、またはこれらの組み合わせ、或いはＵＲＬ（Uniform Resource Locator）等の参照情報である。
【００３０】
図５は、記事ベクトル情報３５の内容の一例を示す図である。記事ベクトル情報３５は、例えば、記事の識別情報である記事ＩＤに対し、記事ベクトルが対応付けられた情報である。
【００３１】
記憶部３１は、例えば、ＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）、ＨＤＤ（Hard Disk Drive）、フラッシュメモリ、またはこれらのうち複数が組み合わされたハイブリッド型記憶装置等により実現される。また、記憶部３１は、ＮＡＳや外部のストレージサーバ等、サービス提供装置２０がアクセス可能な外部装置であってもよい。
【００３２】
［サービス提供装置２０の動作］
以下、サービス提供装置２０の動作について説明する。図６は、サービス提供装置２０の処理の流れの一例を示すフローチャートである。以下においては、サービス提供装置２０が３つの記事を含むウェブページを生成して、端末装置１０に送信する例について説明する。
【００３３】
まず、サービス提供装置２０は、端末装置１０から送信されたウェブページを要求するリクエストを受信する（Ｓ１０１）。
【００３４】
次に、サービス提供装置２０は、記憶部３１に記憶された配信記事情報３３の中から、２つの候補記事（以下、「第１候補記事」および「第２候補記事」と呼ぶ）を抽出する（Ｓ１０３）。例えば、サービス提供装置２０は、ユーザの過去のアクセス履歴情報等に基づいて、ユーザが関心および興味のある内容と推定される第１候補記事および第２候補記事を抽出する。また、サービス提供装置２０は、抽出した第１および第２候補記事を、ウェブページに掲載する第１および第２記事として決定する。
【００３５】
次に、サービス提供装置２０は、決定した第１記事および第２記事の各々と対応する記事ベクトルを生成する（Ｓ１０５）。例えば、サービス提供装置２０は、第１記事の内容に対して形態素解析等を行って、単語に分割する。次に、サービス提供装置２０は、各単語に対してword2vec等の手法を適用して、分散表現化された単語ベクトルを取得する。次に、サービス提供装置２０は、取得した一以上の単語ベクトルを予め定義されたモデルに入力することで、記事ベクトル（以下、「第１記事ベクトル」と呼ぶ）を生成する。サービス提供装置２０は、第２記事に対しても同様な処理を行い、記事ベクトル（以下、「第２記事ベクトル」と呼ぶ）を生成する。
【００３６】
尚、記憶部３１の記事ベクトル情報３５に、予め、配信記事情報３３に含まれる記事の各々と対応する記事ベクトルが記憶されている場合、サービス提供装置２０は、抽出した第１記事および第２記事の各々と対応する記事ベクトルを記事ベクトル情報３５から読み出してもよい。
【００３７】
次に、サービス提供装置２０は、記憶部３１に記憶された配信記事情報３３の中から、第１記事および第２記事以外の第３候補記事を抽出する（Ｓ１０７）。次に、サービス提供装置２０は、抽出した第３候補記事と対応する記事ベクトル（以下、「第３記事ベクトル」と呼ぶ）を生成する（Ｓ１０９）。次に、サービス提供装置２０は、第３候補記事のベクトル空間上での位置と、第１および第２記事ベクトルにより構成される部分空間との距離を算出する（Ｓ１１１）。例えば、サービス提供装置２０は、配信記事情報３３に含まれる第１記事および第２記事以外の全ての記事に対して上述の処理を繰り返す。或いは、サービス提供装置２０は、配信記事情報３３に含まれる記事のうち、ユーザが関心および興味のある内容と推定される所定のカテゴリに属する記事に対して上述の処理を行ってもよい。
【００３８】
図７は、第３候補記事のベクトル空間上での位置と、第１および第２記事ベクトルにより構成される部分空間との距離を説明する図である。図７においては、各記事が要素１および要素２による２次元のベクトル空間内で表されている。第１記事ベクトルおよび第２記事ベクトルにより構成される部分空間は、一次元の部分空間Ｐ１である。第３候補記事は、この部分空間Ｐ１の外部の空間に位置する記事から選択される。このため、部分空間Ｐ１内に位置する記事Ａ０は、第３候補記事として選択されない。
【００３９】
サービス提供装置２０は、この２次元のベクトル空間内において、第３候補記事のベクトル空間上での位置と、部分空間Ｐ１との間の最短距離を算出する。例えば、第３候補記事の一つである第３候補記事Ａ１と部分空間Ｐ１との距離Ｄ１は、第３候補記事Ａ１から部分空間Ｐ１に下した垂線の長さに相当する。また、第３候補記事の他の一つである第３候補記事Ａ２と部分空間Ｐ１との距離Ｄ２は、第３候補記事Ａ２と第２記事との間の距離に相当する。また、第３候補記事のさらに他の一つである第３候補記事Ａ３と部分空間Ｐ１との距離Ｄ３は、第３候補記事Ａ３から部分空間Ｐ１に下した垂線の長さに相当する。
【００４０】
次に、サービス提供装置２０は、算出した部分空間との距離が最も長い第３候補記事を、ウェブページに掲載する第３記事として決定する（Ｓ１１３）。図７に示す例においては、算出された距離Ｄ１からＤ３の中で、距離Ｄ１が最も長い。この場合、サービス提供装置２０は、第３候補記事Ａ１を第３記事として決定する。
【００４１】
次に、サービス提供装置２０は、決定した第１から第３記事を含むウェブページを生成し、生成したウェブページを端末装置１０に送信する（Ｓ１１５）。端末装置１０は、ウェブブラウザの機能により、サービス提供装置２０から受信した第１から第３記事を含むウェブページを表示する。以上により、サービス提供装置２０は、本フローチャートの処理を終了する。
【００４２】
尚、上述の実施形態においては、３個の記事を決定する例について説明したが、この３個の記事に加えて、４個目の記事（以下、「第４候補記事」と呼ぶ）を決定する場合にも同様な処理を適用することができる。図８は、第４候補記事のベクトル空間上での位置と、第１から第３記事ベクトルにより構成される部分空間との距離を説明する図である。第１から第３記事ベクトルにより構成される部分空間は、２次元の部分空間Ｐ２である。第４候補記事は、この部分空間Ｐ２の外部の空間に位置する記事から選択される。このため、部分空間Ｐ２内に位置する記事Ａ０は、第４候補記事として選択されない。
【００４３】
サービス提供装置２０は、要素１および要素２により構成される２次元のベクトル空間内において、配信記事情報３３の中から抽出した第４候補記事の位置と、部分空間Ｐ２との間の最短距離を算出する。例えば、第４候補記事の一つである第４候補記事Ａ４と部分空間Ｐ２との距離Ｄ４は、第４候補記事Ａ４から部分空間Ｐ２に下した垂線の長さに相当する。また、第４候補記事の他の一つである第４候補記事Ａ５と部分空間Ｐ２との距離Ｄ５は、第４候補記事Ａ５と第３記事との間の距離に相当する。この場合、サービス提供装置２０は、算出した部分空間との距離が最も長い第４候補記事Ａ５を、ウェブページに掲載する第４記事として決定する。
【００４４】
また、サービス提供装置２０は、ｎ＋１個目の第ｎ＋１候補記事を決定する場合、選択済みであるｎ個の候補により構成される部分空間Ｐｎと、第ｎ＋１候補記事との間の距離を算出し、部分空間Ｐｎとの距離が最も長い第ｎ＋１候補記事を、ウェブページに掲載する第ｎ＋１記事として決定する。
【００４５】
この場合、第ｎ＋１候補記事と、第１から第ｎ記事ベクトルにより構成される部分空間Ｐｎとの距離は以下の式によって表される。
【００４６】
【数１】
2019113945.tif 000003
【００４７】
上記の式（１）は、選択済みのｎ個の記事に対応する記事ベクトルを示す。選択済みのｎ個の記事に対応する記事ベクトルにより構成される部分空間Ｐｎは、これらの記事ベクトルの線形和である式（２）により表される。αｋはパラメータを示す。部分区間Ｐｎの外部の空間から選択された第ｎ＋１候補記事である記事ｘの位置と部分空間Ｐｎとの距離は、記事ｘの位置ベクトルから、記事ｘとの距離が最小となるαｋが選択された場合の部分空間Ｐｎ内の位置ベクトルを減算してノルムを求めた式（３）により表される。これらの式に基づいて、サービス提供装置２０は第ｎ＋１記事を決定することができる。
【００４８】
本発明の実施形態による情報処理装置は、ネットワークを介して配信される候補となる複数のコンテンツの各々に対応するベクトルデータを生成する第１生成部と、前記第１生成部により生成された複数のベクトルデータに基づいて、コンテンツの多様性を高めるように、前記複数のコンテンツの中から、配信対象のコンテンツを決定する決定部と、を備えることで、提供するコンテンツの多様性を高めることができる。
【００４９】
以上、本発明を実施するための形態について実施形態を用いて説明したが、本発明はこうした実施形態に何ら限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。
【符号の説明】
【００５０】
１０…端末装置
２０…サービス提供装置
２１…通信部
２３…候補記事抽出部
２５…記事ベクトル生成部
２７…記事決定部
２９…ページ生成部
３１…記憶部
【図１】
2019113945.tif 000004
【図２】
2019113945.tif 000005
【図３】
2019113945.tif 000006
【図４】
2019113945.tif 000007
【図５】
2019113945.tif 000008
【図６】
2019113945.tif 000009
【図７】
2019113945.tif 000010
【図８】
2019113945.tif 000011