(57)【要約】【課題】ユーザの興味に応じたコンテンツをより高い精度で推薦することができる情報処理システム、情報処理方法、およびプログラムを提供すること。【解決手段】ユーザがアクセスしたコンテンツに基づく第１特徴と、過去に求められた前記ユーザの興味を示す第２特徴とに基づき、前記第２特徴を更新する更新部と、前記更新部により更新された前記第２特徴に基づき、前記ユーザに対して推薦するコンテンツを決定する決定部と、を備える情報処理システム。【選択図】図１
2018147235.tif 000002
【特許請求の範囲】
【請求項１】
ユーザがアクセスしたコンテンツに基づく第１特徴と、過去に求められた前記ユーザの興味を示す第２特徴とに基づき、前記第２特徴を更新する更新部と、
前記更新部により更新された前記第２特徴に基づき、前記ユーザに対して推薦するコンテンツを決定する決定部と、
を備える情報処理システム。
【請求項２】
前記更新部は、前記ユーザのアクセスに関する情報が入力される毎に、前記ユーザがアクセスしたコンテンツに基づく前記第１特徴と、更新前の前記第２特徴とに基づき、前記第２特徴を更新する
請求項１記載の情報処理システム。
【請求項３】
前記更新部は、前記ユーザが過去にアクセスした複数のコンテンツと、前記ユーザが前記複数のコンテンツにアクセスした順を示す時系列データとに基づき、前記ユーザが興味を持つコンテンツの内容を学習し、前記学習の結果に基づき前記第２特徴を更新する
請求項１または２に記載の情報処理システム。
【請求項４】
前記更新部は、前記第１特徴と更新前の前記第２特徴とに基づき新しい前記第２特徴を導出する導出器と、前記導出器が新しい前記第２特徴を導出する演算に用いるパラメータを調整するパラメータ調整部とを有し、
前記パラメータ調整部は、前記ユーザが過去にアクセスした複数のコンテンツと、前記ユーザが前記複数のコンテンツにアクセスした順を示す時系列データとに基づく学習により前記パラメータを調整し、
前記更新部は、前記パラメータ調整部により調整された前記パラメータに基づき前記導出器により導出された前記第２特徴を用いて前記第２特徴を更新する
請求項１または２に記載の情報処理システム。
【請求項５】
前記パラメータ調整部は、所定の時点において前記導出器により導出された前記第２特徴と、前記所定の時点において前記ユーザに対して推薦された複数のコンテンツのなかで前記ユーザがアクセスしたコンテンツの内容と前記ユーザがアクセスしなかったコンテンツの内容とに基づき、前記パラメータを調整する
請求項４記載の情報処理システム。
【請求項６】
前記導出器は、更新後の前記第２特徴に反映させる前記第１特徴の少なくとも一部の要素を希薄化または除去し得るゲートを持つ
請求項４または５に記載の情報処理システム。
【請求項７】
前記パラメータ調整部は、前記複数のコンテンツと前記時系列データとに基づき、更新後の前記第２特徴に前記第１特徴の少なくとも一部の要素を反映させる程度を決めるパラメータを調整する
請求項６記載の情報処理システム。
【請求項８】
前記ユーザがアクセスしたコンテンツの内容を示すとともにコンテンツ同士の関係を距離で表すベクトルを前記第１特徴として導出する導出部をさらに備え、
前記更新部は、前記導出部により導出された前記ベクトルと、更新前の前記第２特徴とに基づき、前記第２特徴を更新する
請求項１から７のうちいずれか一項に記載の情報処理システム。
【請求項９】
コンピュータが、
ユーザがアクセスしたコンテンツに基づく第１特徴と、過去に求められた前記ユーザの興味を示す第２特徴とに基づき、前記第２特徴を更新し、
更新された前記第２特徴に基づき、前記ユーザに対して推薦するコンテンツを決定する
情報処理方法。
【請求項１０】
コンピュータに、
ユーザがアクセスしたコンテンツに基づく第１特徴と、過去に求められた前記ユーザの興味を示す第２特徴とに基づき、前記第２特徴を更新させ、
更新された前記第２特徴に基づき、前記ユーザに対して推薦するコンテンツを決定させる
プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理システム、情報処理方法、およびプログラムに関する。
【背景技術】
【０００２】
ユーザが過去にアクセスしたコンテンツの内容に基づいてユーザの興味を推定し、ユーザの興味に応じたコンテンツを推薦する情報処理システムが提案されている（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１４−２０３４４２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、ユーザの興味は、新しいコンテンツを見ることによって移り変わるものと考えられる。しかしながら、従来の情報処理システムでは、移り変わるユーザの興味を十分に反映することができず、ユーザの興味に応じたコンテンツを高い精度で推薦することができない場合があった。
【０００５】
本発明は、このような事情を考慮してなされたものであり、ユーザの興味に応じたコンテンツをより高い精度で推薦することができる情報処理システム、情報処理方法、およびプログラムを提供することを目的の一つとする。
【課題を解決するための手段】
【０００６】
本発明の一態様は、ユーザがアクセスしたコンテンツに基づく第１特徴と、過去に求められた前記ユーザの興味を示す第２特徴とに基づき、前記第２特徴を更新する更新部と、前記更新部により更新された前記第２特徴に基づき、前記ユーザに対して推薦するコンテンツを決定する決定部と、を備える情報処理システムである。
【発明の効果】
【０００７】
本発明の一態様によれば、ユーザの興味に応じたコンテンツをより高い精度で推薦することができる。
【図面の簡単な説明】
【０００８】
【図１】実施形態の情報配信装置１０の使用環境を示す図である。
【図２】実施形態の内容ベクトル導出部２００の構成を示すブロック図である。
【図３】実施形態の密ベクトル導出部２２０の導出器２２１の構成の一例を示す図である。
【図４】実施形態の密ベクトル導出部２２０の学習処理の一例を説明するための図である。
【図５】実施形態の対応テーブルＴ１の内容の一例を示す図である。
【図６】実施形態の推薦情報Ｒの内容の一例を示す図である。
【図７】実施形態の対応テーブルＴ２の内容の一例を示す図である。
【図８】実施形態の興味ベクトル更新部４００による興味ベクトルの更新処理の流れの一例を示す図である。
【図９】実施形態の対応テーブルＴ３の内容の一例を示す図である。
【図１０】実施形態の興味ベクトル更新部４００の構成を示すブロック図である。
【図１１】実施形態の興味ベクトル更新部４００の導出器４０１の一例を示す図である。
【図１２】実施形態の密ベクトルｓを説明するための図である。
【図１３】実施形態の内容ベクトル導出部２００の学習処理の流れの一例を示すフローチャートである。
【図１４】実施形態の興味ベクトル更新部４００の学習処理の流れの一例を示すフローチャートである。
【図１５】実施形態の情報配信装置１０による推薦情報Ｒの配信に関する処理の流れの一例を示すフローチャートである。
【発明を実施するための形態】
【０００９】
以下、図面を参照して、情報処理システム、情報処理方法、およびプログラムの実施形態について説明する。本実施形態では、情報処理システムが情報配信装置に適用されたものとして説明する。情報配信装置は、インターネットなどのネットワークを介してユーザ端末装置と通信可能に接続され、ユーザ端末装置に対して各種の情報を配信する。また、本実施形態の情報配信装置は、ユーザから要求されたコンテンツに加え、ユーザの興味に応じたコンテンツを推薦する推薦情報を配信可能である。以下、実施形態について説明する。
【００１０】
＜１．情報配信装置の構成＞
図１は、実施形態の情報配信装置１０の使用環境を示す図である。情報配信装置１０は、ネットワークＮＷを介してユーザ端末装置ＵＤおよびクライアント端末装置ＣＤと通信可能に接続される。ネットワークＮＷは、インターネットやＷＡＮ（Wide Area Network）、ＬＡＮ（Local Area Network）などを含む。なお、情報配信装置１０と通信可能に接続されるユーザ端末装置ＵＤおよびクライアント端末装置ＣＤの数は、図示した例に限らず、例えばそれぞれ複数である。
【００１１】
ユーザ端末装置ＵＤは、コンテンツの提供を受けるユーザによって使用される情報処理装置である。ユーザ端末装置ＵＤは、ユーザがコンテンツを閲覧するために利用される。
【００１２】
クライアント端末装置ＣＤは、コンテンツの提供者であるクライアントによって使用される情報処理装置である。クライアント端末装置ＣＤは、配信対象となるコンテンツを情報配信装置１０に登録する。
【００１３】
ここで、「コンテンツ」とは、例えば、ニュースやコラムなどテキストデータを含む記事である。ただし、「コンテンツ」は、画像や動画など、テキストデータを含まないコンテンツでもよい。また、「コンテンツ」は、ブラウザに限らず、アプリケーションプログラムによって再生されるものでもよい。本実施形態では、コンテンツがテキストデータを含む記事である例を取り上げて説明する。
【００１４】
情報配信装置１０は、クライアント端末装置ＣＤによって登録されたコンテンツを記憶し、ユーザ端末装置ＵＤからコンテンツの配信要求を受け付けると、記憶したコンテンツをユーザ端末装置ＵＤに対して配信する。また、情報配信装置１０は、ユーザの閲覧履歴に基づいてユーザの興味を推定し、ユーザの興味に関連したコンテンツを推薦する推薦情報をユーザ端末装置ＵＤに対して配信する。
【００１５】
詳しく述べると、情報配信装置１０は、例えば、コンテンツ取得部１００と、内容ベクトル導出部２００と、アクセス情報取得部３００と、興味ベクトル更新部４００と、配信部５００と、記憶部６００とを備える。
【００１６】
コンテンツ取得部１００、内容ベクトル導出部２００、アクセス情報取得部３００、興味ベクトル更新部４００、および配信部５００は、情報配信装置１０のプロセッサがプログラムを実行することで実現される機能部（以下、「ソフトウェア機能部」と称する）でもよいし、ＬＳＩ（Large Scale Integration）、ＡＳＩＣ（Application Specific Integrated Circuit）、ＦＰＧＡ（Field-Programmable Gate Array）などのハードウェアによって実現されてもよいし、ソフトウェア機能部とハードウェアとが協働することで実現されてもよい。
【００１７】
記憶部６００は、例えば、ＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）、ＨＤＤ（Hard Disk Drive）、フラッシュメモリ、またはこれらのうち複数が組み合わされたハイブリッド型記憶装置などにより実現される。なお、記憶部６００の全部または一部は、ＮＡＳ（Network Attached Storage）や外部のストレージサーバなど、情報配信装置１０のプロセッサがアクセス可能な外部装置により実現されてもよい。記憶部６００には、コンテンツデータベースＤＢ１、疎ベクトルデータベースＤＢ２、密ベクトルデータベースＤＢ３、第１パラメータデータベースＤＢ４、アクセス情報データベースＤＢ５、興味ベクトルデータベースＤＢ６、および第２パラメータデータベースＤＢ７が格納される。
【００１８】
次に、情報配信装置１０の各機能部について詳しく説明する。
【００１９】
コンテンツ取得部１００は、ネットワークＮＷを介してクライアント端末装置ＣＤから配信対象のコンテンツを受信する。コンテンツ取得部１００は、クライアント端末装置ＣＤから受信したコンテンツに、コンテンツを識別するためのコンテンツＩＤを付与し、コンテンツとコンテンツＩＤとを対応付けてコンテンツデータベースＤＢ１に登録する。
【００２０】
内容ベクトル導出部２００は、コンテンツの内容に基づき、コンテンツの内容をベクトル表現で表したコンテンツ内容ベクトルを導出する。ここで、複数のコンテンツの内容が似ている場合であっても、コンテンツに含まれる単語はコンテンツの著者や提供者により様々である。このため、コンテンツの内容を疎ベクトルで表すと、コンテンツに含まれる単語が異なる場合、内容が似ているコンテンツ同士が非類似のコンテンツとして認識される場合がある。「疎ベクトル」とは、コンテンツの内容を局所表現で表したベクトルである。
【００２１】
そこで、本実施形態の内容ベクトル導出部２００は、コンテンツの内容を示す密ベクトルを導出し、密ベクトルを用いてコンテンツを認識する。「密ベクトル」とは、コンテンツの内容を分散表現で表したベクトルである。「密ベクトル」は、コンテンツ同士の関係を距離で表すベクトルの一例である。
【００２２】
図２は、本実施形態の内容ベクトル導出部２００の構成を示すブロック図である。図２に示すように、内容ベクトル導出部２００は、例えば、疎ベクトル導出部２１０と、密ベクトル導出部２２０とを有する。
【００２３】
疎ベクトル導出部２１０は、密ベクトルの導出対象となるコンテンツのデータ（例えばテキストデータ）をコンテンツデータベースＤＢ１から取得する。疎ベクトル導出部２１０は、まず形態素解析を行うことで、コンテンツに含まれる単語を抽出する。そして、疎ベクトル導出部２１０は、ｔｆ−ｉｄｆ（Term Frequency - Inverse Document Frequency）などの手法を用いて絞り込んだ各単語を数値に置き換えることで、コンテンツの内容を示す疎ベクトルを導出する。疎ベクトル導出部２１０は、導出した疎ベクトルとコンテンツＩＤとを対応付けて、疎ベクトルデータベースＤＢ２に登録する。
【００２４】
密ベクトル導出部２２０は、疎ベクトル導出部２１０により導出された各コンテンツの疎ベクトルを疎ベクトルデータベースＤＢ２から取得し、取得した疎ベクトルに基づき密ベクトルを導出する。具体的には、密ベクトル導出部２２０は、疎ベクトルが持つ次元数を圧縮することで、コンテンツの内容を示す密ベクトルを導出する。コンテンツの内容を示す密ベクトルは、「コンテンツに基づく第１特徴」の一例である。密ベクトル導出部２２０は、導出した密ベクトルとコンテンツＩＤとを対応させて、密ベクトルデータベースＤＢ３に登録する。
【００２５】
ここで、本実施形態の密ベクトル導出部２２０は、コンテンツの内容を高精度に示す密ベクトルを導出するため、複数のコンテンツを教師データとした学習処理を行う。密ベクトル導出部２２０は、例えば、導出器（学習器）２２１と、学習処理により導出器２２１の内部パラメータを調整するパラメータ調整部２２２とを有する。
【００２６】
図３は、本実施形態の導出器２２１の構成の一例を示す図である。図３に示すように、導出器２２１は、例えば、ニューラルネットワークやディープラーニングなど、多層に接続されて入力データに対する演算結果を出力する複数のノードを有する。例えば、導出器２２１は、入力された疎ベクトルの次元数を圧縮して密ベクトルを導出し、導出した密ベクトルから元の疎ベクトルを復元するように学習が行われたニューラルネットワークである。
【００２７】
導出器２２１の一例は、ＤＡＥ（Denoising Auto Encoder）である。例えば、導出器２２１は、入力層２２１Ａと、中間層２２１Ｂと、出力層２２１Ｃとを有する。入力層２２１Ａには、複数次元の情報の入力を受け付ける複数のノードが配置されている。入力層２２１Ａの各ノードには、入力層２２１Ａに入力される情報のうち、自ノードに対応する次元の値が入力される。
【００２８】
導出器２２１のノードは、隣接する層に含まれる全て（または一部）のノードと接続されており、自ノードが含まれる層よりも入力層２２１Ａに近い層のノードからデータを受け付けると、受け付けたデータに基づいた出力データを生成し、自ノードが含まれる層よりも出力層２２１Ｃに近い層のノードへと生成したデータを出力する。そして、各ノードが出力したデータは、データを伝達する伝達経路に対して設定された接続係数を考慮した値に変換され、変換後の値のデータが接続先のノードへと伝達される。
【００２９】
中間層２２１Ｂには、入力層２２１Ａよりも少ない数のノードが配置されている。このため、中間層２２１Ｂから出力されるデータは、導出器２２１に入力されるデータの次元数を圧縮したデータであり、コンテンツの内容を示す密ベクトルとなる。
【００３０】
出力層２２１Ｃには、入力層２２１Ａと同数のノードが配置されている。このため、出力層２２１Ｃから出力されるデータは、次元数が圧縮されたデータから再現されたデータであって、入力層２２１Ａに入力されたデータと同じ次元数を有するデータとなる。
【００３１】
ここで、入力層２２１Ａのノードから出力されるデータを「ｘ」とし、伝達経路の接続係数の値を「Ｗ」とすると、中間層２２１Ｂのノードに入力されるデータは、「Ｗｘ」となる。また、ノードに対する入力Ｘと出力Ｙとの関係が「Ｙ＝σ（Ｘ＋ｂ）」で表されるとすると、中間層２２１Ｂのノードが出力するデータは、「σ（Ｗｘ＋ｂ）」となる。ここで、σはシグモイド関数である。中間層２２１Ｂのノードから出力されるデータは、「Ｗ＾Ｔ」で示される接続係数が設定された伝達経路を介して、出力層２２１Ｃのノードに伝達される。出力層２２１Ｃのノードは、中間層２２１Ｂのノードから伝達されたデータに基づく値のデータを出力する。
【００３２】
パラメータ調整部２２２は、複数のコンテンツを教師データとして用い、入力層２２１Ａから入力される疎ベクトルが出力層２２１Ｃで元の疎ベクトルに復元されるように導出器２２１を学習させる。例えば、パラメータ調整部２２２は、疎ベクトルＡが導出器２２１の入力層２２１Ａに入力された場合に導出器２２１の出力層２２１Ｃから出力される疎ベクトルＡ´が、入力された疎ベクトルＡと略同一となるように導出器２２１の内部パラメータＷ，ｂを調整する。なお、パラメータＷ，ｂは、伝達経路毎に異なる値であり、伝達経路毎にそれぞれ調整される。
【００３３】
また、本実施形態のパラメータ調整部２２２は、上記学習処理と同時に、類似する複数のコンテンツから導出された密ベクトルが互いに類似し、類似しない複数のコンテンツから導出された密ベクトルが互いに類似しないように導出器２２１を学習させてもよい。この場合、パラメータ調整部２２２は、類似する複数のコンテンツから導出された密ベクトルが互いに類似し、類似しない複数のコンテンツから導出された密ベクトルが互いに類似しないように導出器２２１の内部パラメータＷ，ｂを調整する。
【００３４】
図４は、本実施形態の密ベクトル導出部２２０の学習処理の一例を説明するための図である。本学習処理では、まず事前準備として、コンテンツ取得部１００がコンテンツおよびコンテンツが属するカテゴリの登録を受け付ける。「カテゴリ」とは、コンテンツの内容が属する分野を示す情報である。コンテンツ取得部１００は、登録を受け付けたコンテンツとカテゴリとを対応付けて、コンテンツデータベースＤＢ１に記憶する。なお、どのカテゴリが類似し、どのカテゴリが類似しないかは、予め設定されている。
【００３５】
そして、パラメータ調整部２２２は、例えば、コンテンツＡと、コンテンツＡに対してカテゴリが同一または類似のコンテンツＢと、コンテンツＡに対してカテゴリが非類似のコンテンツＣとをコンテンツデータベースＤＢ１から抽出する。そして、パラメータ調整部２２２は、コンテンツＡの疎ベクトルを導出器２２１の入力層２２１Ａに入力し、導出器２２１の出力層２２１Ｃから出力された疎ベクトルを取得する。同様に、パラメータ調整部２２２は、コンテンツＢの疎ベクトルを導出器２２１の入力層２２１Ａに入力し、導出器２２１の出力層２２１Ｃから出力された疎ベクトルを取得する。パラメータ調整部２２２は、コンテンツＣの疎ベクトルを導出器２２１の入力層２２１Ａに入力し、導出器２２１の出力層２２１Ｃから出力された疎ベクトルを取得する。そして、パラメータ調整部２２２は、コンテンツＡの入力前と出力後の疎ベクトル、コンテンツＢの入力前と出力後の疎ベクトル、コンテンツＣの入力前と出力後の疎ベクトルとがそれぞれ略同一になるように、導出器２２１の内部パラメータＷ，ｂを繰り返し修正する学習処理を行う。
【００３６】
また、パラメータ調整部２２２は、コンテンツＡから導出された密ベクトルαとコンテンツＢから導出された密ベクトルβとが類似し、コンテンツＢから導出された密ベクトルβとコンテンツＣから導出された密ベクトルγとが非類似となるように、導出器２２１の内部パラメータＷ，ｂを繰り返し修正する学習処理を行う。ここで、類似するベクトル同士の内積の値は、類似しないベクトル同士の内積の値よりも大きくなる。そこで、パラメータ調整部２２２は、密ベクトルαと密ベクトルβの内積が、密ベクトルβと密ベクトルγの内積よりも大きくなるように、導出器２２１の内部パラメータＷ，ｂを繰り返し修正する学習処理を行う。
【００３７】
パラメータ調整部２２２は、上記２つの学習処理を同時に行うことで、導出器２２１の内部パラメータＷ，ｂの好ましい値を導出する。パラメータ調整部２２２は、学習処理を通じて導出された導出器２２１の内部パラメータＷ，ｂの好ましい値を、第１パラメータデータベースＤＢ４に登録する。
【００３８】
以降、導出器２２１は、パラメータ調整部２２２により学習を通じて調整された内部パラメータＷ，ｂの値を第１パラメータデータベースＤＢ４から取得し、取得した内部パラメータＷ，ｂに基づき、各コンテンツの密ベクトルを導出する。
【００３９】
次に、アクセス情報取得部３００について説明する。アクセス情報取得部３００は、ネットワークＮＷを介してユーザ端末装置ＵＤからコンテンツの配信要求を受け付ける。アクセス情報取得部３００は、コンテンツの配信要求を受け付けた場合、ユーザ端末装置ＵＤのクッキーなどに基づいて得られるユーザＩＤと、配信要求を受け付けたコンテンツのコンテンツＩＤと、配信要求を受け付けた時刻とを対応付けてアクセス情報データベースＤＢ５の対応テーブルＴ１に登録する。例えば、アクセス情報取得部３００は、ユーザ端末装置ＵＤからコンテンツの配信要求を受け付ける毎に、対応テーブルＴ１を更新する。
【００４０】
図５は、本実施形態の対応テーブルＴ１の内容の一例を示す図である。図５に示すように、対応テーブルＴ１では、ユーザＩＤ毎に、配信要求を受け付けたコンテンツのコンテンツＩＤと、配信要求を受け付けた時刻とが対応付けられて管理されている。対応テーブルＴ１は、複数のコンテンツに対してユーザがアクセスした順を示す時系列データの一例である。
【００４１】
また、アクセス情報取得部３００は、ユーザに対してコンテンツを推薦する推薦情報Ｒがユーザ端末装置ＵＤに配信される場合、ユーザに対して推薦された複数のコンテンツのなかでユーザがアクセスしたコンテンツとユーザがアクセスしなかったコンテンツとを特定する情報を取得する。
【００４２】
図６は、本実施形態の推薦情報Ｒの内容の一例を示す図である。図６に示すように、１つの推薦情報Ｒは、ユーザに対して推薦された複数のコンテンツのタイトルや概要などと、各コンテンツにアクセスするためのリンク（ハイパーリンク）とを含む。例えば、推薦情報Ｒは、ユーザ端末装置ＵＤの表示画面にその一部のみが一度に表示され、スクロールすることや別ページに移動することで、残りの部分が表示画面に表示されてもよい。
【００４３】
アクセス情報取得部３００は、例えば、ユーザに対して推薦情報Ｒが配信された状態でユーザ端末装置ＵＤから受け付ける配信要求などに基づき、ユーザに対して推薦された複数のコンテンツのなかでユーザがアクセスしたコンテンツとユーザがアクセスしなかったコンテンツとを特定する情報を取得する。アクセス情報取得部３００は、推薦情報Ｒで推薦されてユーザによってアクセスされたコンテンツには、アクセスされたことを示す情報を対応付け、推薦情報Ｒで推薦されてユーザに対して表示されたがユーザによってアクセスされなかったコンテンツには、表示されたがアクセスされなかったことを示す情報を対応付け、推薦情報Ｒに含まれたがユーザに対して表示されなかったコンテンツには、表示されなかったことを示す情報を対応付け、アクセス情報データベースＤＢ５の対応テーブルＴ２に登録する。
【００４４】
図７は、本実施形態の対応テーブルＴ２の内容の一例を示す図である。図７に示すように、対応テーブルＴ２では、各コンテンツに対応するコンテンツＩＤと、各コンテンツに対するユーザのアクセス状況とが対応付けられて管理されている。アクセス状況は、「クリックされた（Clicked）」、「クリックされなかった（Not Clicked）」、および「表示されなかった（Not displayed）」などである。「クリックされた（Clicked）」は、ユーザによってコンテンツがアクセスされたことを示す。「クリックされなかった（Not Clicked）」は、ユーザに対して表示されたがユーザによってコンテンツがアクセスされなかったことを示す。「表示されなかった（Not displayed）」は、ユーザに対して表示されなかったことを示す。
【００４５】
次に、興味ベクトル更新部４００について説明する。興味ベクトル更新部４００は、ユーザの閲覧履歴に基づいてユーザの興味を推定し、ユーザの興味を示す興味ベクトルを更新する。「興味ベクトル」とは、コンテンツの内容を示す密ベクトルをａとし、興味ベクトルをｕとすると、コンテンツに対するユーザの興味（関心度）が高いほど、ｕＴａが大きくなるベクトルである。興味ベクトルは、「ユーザの興味を示す第２特徴」の一例である。興味ベクトル更新部４００は、ユーザ毎に、興味ベクトルを管理して更新する。
【００４６】
ここで、ユーザが過去にアクセスしたコンテンツの列を下記（要素１）とし、それらコンテンツに対応する密ベクトルを下記（要素２）とする。ここで、ユーザの興味は、新しいコンテンツを見ることによって移り変わるものと考えられる。このため、コンテンツの内容を示す密ベクトルをａ、前記コンテンツにアクセスする前のユーザの興味ベクトルをｕｋ−１、前記コンテンツにアクセスした後のユーザの興味ベクトルをｕｋとすると、密ベクトルａ、興味ベクトルｕｋ−１、および興味ベクトルｕｋの間には、式（１）のような再帰的関係があると考えられる。
【００４７】
【数１】
2018147235.tif 000003
【００４８】
そこで、本実施形態の興味ベクトル更新部４００は、ユーザがアクセスしたコンテンツの内容を示す密ベクトルａと、前記コンテンツにアクセスする前のユーザの興味ベクトル（過去に求められたユーザの興味ベクトル）ｕｋ−１とに基づき、興味ベクトルｕｋを更新する。
【００４９】
図８は、本実施形態の興味ベクトル更新部４００による興味ベクトルの更新処理の流れの一例を示す図である。図８に示すように、興味ベクトル更新部４００は、コンテンツＣ１の密ベクトルａ１と、コンテンツＣ１にアクセスする前のユーザの興味ベクトルｕ０（例えば興味ベクトルの初期値）とに基づき、コンテンツＣ１にアクセスした後のユーザの興味ベクトルｕ１を更新する。次に、ユーザがコンテンツＣ１にアクセスした後にコンテンツＣ２にアクセスした場合、興味ベクトル更新部４００は、コンテンツＣ2の密ベクトルａ2と、コンテンツＣ2にアクセスする前のユーザの興味ベクトルｕ１とに基づき、コンテンツＣ２にアクセスした後のユーザの興味ベクトルｕ２を更新する。以降、興味ベクトル更新部４００は、この処理を繰り返す。なお、興味ベクトルの初期値ｕ０は、例えば全てのユーザに対して一律に設定される固定値である。
【００５０】
以上のように、興味ベクトル更新部４００は、ユーザのアクセスに関する情報が入力される毎（例えばユーザが新しくコンテンツにアクセスする毎）に、ユーザがアクセスしたコンテンツの内容を示す密ベクトルａと、前記コンテンツにアクセスする前のユーザの興味を示す興味ベクトル（更新前の興味ベクトル）ｕｋ−１とに基づき、興味ベクトルｕｋを更新することを繰り返す。これにより、興味ベクトル更新部４００は、ユーザの直近の興味を示す興味ベクトルｕを再帰的に導出する。なお、「ユーザのアクセスに関する情報が入力される毎に更新する」とは、ユーザが１つのコンテンツにアクセスする毎に更新される場合に限定されず、ユーザが複数のコンテンツにアクセスする毎に更新される場合も含む。
【００５１】
具体的な処理の一例では、興味ベクトル更新部４００は、アクセス情報データベースＤＢ５の対応テーブルＴ１を参照することで、ユーザがアクセスしたコンテンツのコンテンツＩＤを取得する。そして、興味ベクトル更新部４００は、取得したコンテンツＩＤに基づいて密ベクトルデータベースＤＢ３を参照することで、コンテンツＩＤに対応する密ベクトルを取得する。これにより、興味ベクトル更新部４００は、ユーザがアクセスしたコンテンツの密ベクトルを取得する。
【００５２】
また、興味ベクトルデータベースＤＢ６には、ユーザＩＤと各ユーザの興味ベクトルとが対応付けられて管理された対応テーブルＴ３が記憶されている。興味ベクトル更新部４００は、対応テーブルＴ３を参照することで、新しくコンテンツにアクセスする前のユーザの興味ベクトルを取得する。
【００５３】
そして、興味ベクトル更新部４００は、これら取得された情報に基づき、新しいユーザの興味ベクトルを導出し、ユーザの興味ベクトルを更新する。興味ベクトル更新部４００は、更新したユーザの興味ベクトルとユーザＩＤとを対応付けて、対応テーブルＴ３を更新する。
【００５４】
図９は、本実施形態の対応テーブルＴ３の内容の一例を示す図である。図９に示すように、対応テーブルＴ３では、ユーザＩＤと、各ユーザの最後に更新された興味ベクトル（ユーザの直近の興味を示す興味ベクトル）とが対応付けられて管理されている。
【００５５】
次に、本実施形態の興味ベクトル更新部４００をより詳しく説明する。本実施形態の興味ベクトル更新部４００は、ユーザの興味を高精度で反映した興味ベクトルを導出するため、ユーザが過去にアクセスした複数のコンテンツの内容と、ユーザが前記複数のコンテンツにアクセスした順を示す時系列データとを含む学習データに基づき、ユーザが興味を持つコンテンツの内容を学習し、学習の結果に基づきユーザの興味ベクトルを導出する。
【００５６】
図１０は、本実施形態の興味ベクトル更新部４００の構成を示すブロック図である。図１０に示すように、興味ベクトル更新部４００は、例えば、導出器（学習器）４０１と、学習処理により導出器４０１の内部パラメータを調整するパラメータ調整部４０２とを有する。
【００５７】
導出器４０１は、ユーザがアクセスしたコンテンツの密ベクトルと、前記コンテンツにアクセスする前のユーザの興味ベクトルとに基づき、前記コンテンツにアクセスした後のユーザの興味ベクトルを導出する。導出器４０１は、例えば、再帰型ニューラルネットワークによって実現される。そして、上記式（１）中の関数Ｆが再帰型ニューラルネットワークによって学習されている。
【００５８】
例えば、導出器４０１が単純な再帰型ニューラルネットワークにより実現される場合、式（１）中の関数Ｆは、式（２）のように表すことができる。
【数２】
2018147235.tif 000004
ここで、ｆ（・）は、活性化関数であり、Ｗ１，Ｗ２，ｂは、導出器４０１の内部パラメータであり、学習対象となるパラメータである。
【００５９】
関数Ｆの部分には、例えば、ＬＳＴＭ（Long Short Term Memory）やＧＲＵ（Gated Recurrent Unit）などを用いることができる。関数Ｆの部分にＬＳＴＭまたはＧＲＵが用いられると、勾配降下法における勾配爆発や消失問題を緩和することができ、学習の収束を促進することができる。
【００６０】
図１１は、本実施形態の導出器４０１の一例を示す図である。図１１に示す導出器４０１は、関数Ｆの部分にＧＲＵが組み込まれた例である。なお、図１１中の導出器４０１の各ノードで行われる計算は、式（３）のように表すことができる。なお、φ（・）は活性化関数であり、例えばtanh（・）である。また、図中のｇｒｔとｈｔ−１との間などにある記号は、ベクトルの要素積を意味する。
【００６１】
【数３】
2018147235.tif 000005
【００６２】
Ｗｇｚｉｎ，Ｗｇｚｍｅｍ，Ｗｇｒｉｎ，Ｗｇｒｍｅｍ，Ｗｅｎｃｉｎ，Ｗｅｎｃｏｕｔ，Ｗｄｅｃｍｅｍ，ｂｇｚ，ｂｂｒ，ｂｅｎｃ，ｂｄｅｃは、導出器４０１が新しい興味ベクトルを導出する演算に用いられる導出器４０１の内部パラメータであり、学習対象となるパラメータである。なお、これらパラメータは、コンテンツの密ベクトルの次元毎に異なる値であり、コンテンツの密ベクトルの次元毎にそれぞれ調整される。
【００６３】
ここで、図１１中のノードｇｚｔは、更新後の興味ベクトルに反映させるコンテンツの密ベクトルの少なくとも一部の要素を希薄化または除去し得るゲート（忘却ゲート）である。例えば、ノードｇｚｔは、コンテンツの密ベクトルの次元毎に設定され、次元毎に希薄化の程度が異なる。また、パラメータｂｇｚは、コンテンツの密ベクトルの各次元において、更新後の興味ベクトルにコンテンツの密ベクトルの要素を反映させる程度を決めるパラメータである。例えば、ある次元に対して設定されたｂｇｚが大きい場合、その次元に対応する密ベクトルの要素は大きく希薄化されて更新後の興味ベクトルにはあまり反映されない。一方で、ある次元に対して設定されたｂｇｚが小さい場合、その次元に対応する密ベクトルの要素はあまり希薄化されず更新後の興味ベクトルに反映される。
【００６４】
次に、パラメータ調整部４０２について説明する。パラメータ調整部４０２は、上述された導出器４０１の内部パラメータを学習処理により調整する。例えば、パラメータ調整部４０２は、所定の期間（例えば一年）にユーザがアクセスした複数のコンテンツと、前記複数のコンテンツに対してユーザがアクセスした順を示す時系列データと、ユーザ端末装置ＵＤに対して推薦されたコンテンツに関するアクセス状況（すなわち、対応テーブルＴ２の内容）とを含む学習用データを用いた学習処理により、導出器４０１の内部パラメータを調整する。「所定の期間」は、季節変動の影響を抑制するため、複数の季節を含む期間が好ましい。
【００６５】
例えば、パラメータ調整部４０２は、前記所定の期間に含まれるある時点において導出器４０１により導出されたユーザの興味ベクトルと、前記時点においてユーザに対して推薦された複数のコンテンツのなかでユーザがアクセスしたコンテンツの密ベクトルとユーザがアクセスしなかったコンテンツの密ベクトルとに基づき、導出器４０１の内部パラメータを調整する。
【００６６】
上記内容を説明するため、関数Ｒ（ｕｔ，ａ）と、密ベクトルｓとについて定義する。関数Ｒ（ｕｔ，ａ）は、ある時点ｔにおけるユーザの興味ベクトルｕｔと、コンテンツの密ベクトルａとの適合性を示す関数である。関数Ｒ（ｕｔ，ａ）は、ユーザの興味ベクトルｕｔとコンテンツの密ベクトルａとの適合度が大きいほど、大きな値が出力される関数である。例えば、関数Ｒ（ｕｔ，ａ）は、ユーザの興味ベクトルｕｔとコンテンツの密ベクトルａとの内積である。また、密ベクトルｓは、ユーザ端末装置ＵＤに対して配信された推薦情報Ｒに含まれる各コンテンツの内容を示す密ベクトルである。
【００６７】
図１２は、本実施形態の密ベクトルｓを説明するための図である。図１２に示すように、密ベクトルｓは、推薦情報Ｒに含まれる各コンテンツに対して導出される。例えば、密ベクトルｓは、推薦情報Ｒに含まれてユーザによってアクセスされたコンテンツ、推薦情報Ｒに含まれてユーザに対して表示されたがユーザによってアクセスされなかったコンテンツ、および推薦情報Ｒに含まれたがユーザに対して表示されなかったコンテンツのそれぞれに対して導出される。
【００６８】
また、Ｐ＋およびＰ−について定義する。Ｐ＋およびＰ−は、それぞれ、推薦情報Ｒに含まれる複数のコンテンツを示すリストのなかで各コンテンツの位置をリストの先頭からの位置で示す値である。例えば、Ｐ＋は、前記リストにおいてユーザがアクセスしたコンテンツの位置をリストの先頭からの位置で示す値である。一方で、Ｐ−は、前記リストにおいてユーザに対して表示されたがユーザがアクセスしなかったコンテンツの位置をリストの先頭からの位置で示す値である。また、密ベクトルＳｔ，Ｐ＋ｕは、推薦情報Ｒに含まれてユーザがアクセスしたコンテンツの密ベクトルを示す。一方で、密ベクトルＳｔ，Ｐ−ｕは、推薦情報Ｒに含まれてユーザに対して表示されたがユーザがアクセスしなかったコンテンツの密ベクトルを示す。
【００６９】
そして、本実施形態のパラメータ調整部４０２は、関数Ｒ（ｕｔ，Ｓｔ，Ｐ＋ｕ）がなるべく大きくなり、且つ、関数Ｒ（ｕｔ，Ｓｔ，Ｐ−ｕ）がなるべく小さくなるように、導出器４０１の内部パラメータを繰り返し修正する学習処理を行う。例えば、パラメータ調整部４０２の一例は、前記所定の期間に含まれる全ての時点を通じて見た場合の式（４）の値を最小化するように、導出器４０１の内部パラメータを繰り返し修正する。
【００７０】
【数４】
2018147235.tif 000006
【００７１】
以上のような学習処理により、パラメータ調整部４０２は、導出器４０１の内部パラメータを調整する。例えば、パラメータ調整部４０２は、パラメータｂｇｚを調整することで、前記忘却ゲートにおいてコンテンツの密ベクトルの少なくとも一部の要素を希薄化する程度を調整する。パラメータ調整部４０２は、学習処理を通じて得られた導出器４０１の内部パラメータを、第２パラメータデータベースＤＢ７に登録する。
【００７２】
以降、導出器４０１は、パラメータ調整部４０２により学習を通じて調整された内部パラメータの値を第２パラメータデータベースＤＢ７から取得し、取得した内部パラメータに基づき、各ユーザの興味ベクトルを導出する。そして、興味ベクトル導出部４００は、導出器４０１により新しく導出されたユーザの興味ベクトルとユーザＩＤとを対応させて、興味ベクトルデータベースＤＢ６に登録することで、興味ベクトルデータベースＤＢ６の対応テーブルＴ３を更新する。
【００７３】
次に、配信部５００について説明する。配信部５００は、情報配信装置１０がユーザ端末装置ＵＤからコンテンツの配信要求を受け付けた場合、配信要求を受け付けたコンテンツをコンテンツデータベースＤＢ１から取得し、取得したコンテンツをユーザ端末装置ＵＤに対して配信する。
【００７４】
また、本実施形態の配信部５００は、興味ベクトル更新部４００によって更新されたユーザの直近の興味ベクトルに基づき、複数の配信候補のコンテンツのなかからユーザに対して推薦する１以上のコンテンツを決定する。配信部５００は、「決定部」の一例である。
【００７５】
例えば、配信部５００は、密ベクトルデータベースＤＢ３に登録された各コンテンツの密ベクトルａと、興味ベクトル更新部４００によって更新されたユーザの直近の興味ベクトルｕとに基づき、複数の配信候補のコンテンツのなかから、関数Ｒ（ｕ，ａ）が大きくなるコンテンツから順に、ユーザに対して推薦するコンテンツとして選出する。そして、配信部５００は、選出したコンテンツを推薦する推薦情報Ｒを生成し、生成した推薦情報Ｒをユーザ端末装置ＵＤに対して配信する。
【００７６】
＜２．情報配信装置の処理の流れ＞
次に、情報配信装置１０の処理の流れについて説明する。
【００７７】
＜２−１．内容ベクトル導出部２００の学習処理＞
図１３は、本実施形態の内容ベクトル導出部２００の学習処理の流れの一例を示すフローチャートである。内容ベクトル導出部２００の学習処理では、まず、教師データとなる複数のコンテンツと、各コンテンツのカテゴリを示す情報とがコンテンツデータベースＤＢ１に登録される。これにより、情報配信装置１０は、学習用データを取得する（Ｓ１０１）。
【００７８】
次に、疎ベクトル導出部２１０は、登録された各コンテンツの疎ベクトルを導出する（Ｓ１０２）。次に、密ベクトル導出部２２０の導出器２２１は、疎ベクトル導出部２１０により導出された疎ベクトルに基づき、各コンテンツの密ベクトルを導出する（Ｓ１０３）。また、密ベクトル導出部２２０の導出器２２１は、導出した密ベクトルに基づき、疎ベクトルを復元する。
【００７９】
そして、パラメータ調整部２２２は、導出器２２１に入力された各コンテンツの疎ベクトルと導出器２２１で復元された疎ベクトルとが略同一であるか否か、および類似のコンテンツの密ベクトル同士が互いに類似であり、非類似のコンテンツの密ベクトル同士が互いに非類似であるか否かを判定する（Ｓ１０４）。
【００８０】
パラメータ調整部２２２は、上記判定結果が否定的な場合、導出器２２１の内部パラメータを所定のルールに従い修正する（Ｓ１０５）。そして、内容ベクトル導出部２００は、パラメータ調整部２２２により修正されたパラメータを用いて、Ｓ１０３、Ｓ１０４の処理を繰り返す。
【００８１】
パラメータ調整部２２２は、Ｓ１０４の判定結果が肯定的な場合、最終的に得られた導出器２２１の内部パラメータを第１パラメータデータベースＤＢ４に登録する（Ｓ１０６）。これにより、内容ベクトル導出部２００の学習処理が完了する。
【００８２】
＜２−２．興味ベクトル更新部４００の学習処理＞
次に、興味ベクトル更新部４００の学習処理について説明する。興味ベクトル更新部４００の学習処理は、例えば、内容ベクトル導出部２００の学習処理よりも後に行われる。
【００８３】
図１４は、本実施形態の興味ベクトル更新部４００の学習処理の流れの一例を示すフローチャートである。興味ベクトル更新部４００の学習処理では、まず、所定の期間にユーザがアクセスした複数のコンテンツ、前記複数のコンテンツに対してユーザがアクセスした順を示す時系列データ、ユーザに対して推薦された複数のコンテンツ、およびユーザに対して推薦された複数のコンテンツに関するアクセス状況を含む学習用データが各データベースＤＢ１，ＤＢ５から取得される（Ｓ２０１）。各コンテンツは、すでに学習が行われた密ベクトル導出部２２０により密ベクトルが導出され、コンテンツの密ベクトルとして密ベクトルデータベースＤＢ３に登録される。なお、上記学習用データは、データベースＤＢ１，ＤＢ５から取得されることに代えて、外部装置によって登録されることで取得されてもよい。
【００８４】
次に、興味ベクトル更新部４００は、ユーザがアクセスした複数のコンテンツの密ベクトルと、複数のコンテンツに対してユーザがアクセスした順を示す時系列データとに基づき、前記所定の期間の各時点におけるユーザの興味ベクトルを導出する（Ｓ２０２）。すなわち、興味ベクトル更新部４００は、ユーザが最初にアクセスしたコンテンツＣ１と、ユーザの興味ベクトルの初期値ｕ０とに基づき、ユーザがコンテンツＣ１にアクセスした後のユーザの興味ベクトルｕ１を導出する。興味ベクトル更新部４００は、同様の処理を繰り返すことで、ユーザがコンテンツＣ２にアクセスした後のユーザの興味ベクトルｕ２、ユーザがコンテンツＣ３にアクセスした後のユーザの興味ベクトルｕ３、…、ユーザがコンテンツＣｎにアクセスした後のユーザの興味ベクトルｕｎを導出する。
【００８５】
次に、興味ベクトル更新部４００のパラメータ調整部４０２は、ユーザ端末装置ＵＤに対して推薦情報Ｒが配信された各時点ｔに対して、Ｓ２０２で導出されたユーザの興味ベクトルｕｔに基づき、関数Ｒ（ｕｔ，Ｓｔ，Ｐ＋ｕ）および関数Ｒ（ｕｔ，Ｓｔ，Ｐ−ｕ）の値を導出する（Ｓ２０３）。
【００８６】
そして、パラメータ調整部４０２は、導出された関数Ｒ（ｕｔ，Ｓｔ，Ｐ＋ｕ）および関数Ｒ（ｕｔ，Ｓｔ，Ｐ−ｕ）の値に基づき、収束条件式である上記式（４）の値を導出する。そして、パラメータ調整部４０２は、全ての時点での上記式（４）の値の合計が上記所定の期間を通じて最小化されているか否かを判定する（Ｓ２０５）。
【００８７】
パラメータ調整部４０２は、上記判定結果が否定的な場合、導出器４０１の内部パラメータを所定のルールに従い修正する（Ｓ２０６）。そして、興味ベクトル更新部４００は、パラメータ調整部４０２により修正されたパラメータを用いて、Ｓ２０２からＳ２０５の処理を繰り返す。
【００８８】
パラメータ調整部４０２は、Ｓ２０６の判定結果が肯定的な場合、最終的に得られた導出器４０１の内部パラメータを第２パラメータデータベースＤＢ７に登録する（Ｓ２０７）。これにより、興味ベクトル更新部４００の学習処理が完了する。
【００８９】
＜２−３．情報配信装置１０による推薦情報の配信に関する処理＞
最後に、情報配信装置１０による推薦情報Ｒの配信に関する処理について説明する。情報配信装置１０による推薦情報Ｒの配信に関する処理は、内容ベクトル導出部２００の学習処理および興味ベクトル更新部４００の学習処理よりも後に行われる。
【００９０】
図１５は、本実施形態の情報配信装置１０による推薦情報Ｒの配信に関する処理の流れの一例を示すフローチャートである。図１５に示すように、まず、コンテンツ取得部１００は、クライアント端末装置ＣＤから配信対象のコンテンツの登録を受け付ける。コンテンツ取得部１００は、受け付けたコンテンツをコンテンツデータベースＤＢ１に登録する（Ｓ３０１）。内容ベクトル導出部２００は、学習を通じて調整された内部パラメータに基づき、コンテンツ取得部１００により登録されたコンテンツの密ベクトルを導出する（Ｓ３０２）。内容ベクトル導出部２００は、導出した各コンテンツの密ベクトルを密ベクトルデータベースＤＢ３に登録する。
【００９１】
興味ベクトル更新部４００は、ユーザが新しくコンテンツにアクセスした場合、ユーザがアクセスしたコンテンツの密ベクトルを、密ベクトルデータベースＤＢ３から取得する。また、興味ベクトル更新部４００は、ユーザの直前の興味ベクトルを、興味ベクトルデータベースＤＢ６から取得する。そして、興味ベクトル更新部４００は、ユーザが新しくアクセスしたコンテンツの密ベクトルと、ユーザの直前の興味ベクトルと、学習を通じて調整された内部パラメータとに基づき、ユーザの興味ベクトルを更新する（Ｓ３０３）。
【００９２】
配信部５００は、興味ベクトル更新部４００により更新された興味ベクトルに基づき、複数の配信候補のコンテンツのなかからユーザに対して推薦する１以上のコンテンツを決定する（Ｓ３０４）。そして、配信部５００は、推薦するコンテンツへのリンクを含む推薦情報Ｒを生成し、生成した推薦情報Ｒをユーザ端末装置ＵＤに対して配信する（Ｓ３０５）。これにより、推薦情報Ｒの配信に関する一連の処理が完了する。
【００９３】
なお、興味ベクトル更新部４００は、配信部５００による推薦情報Ｒの配信（Ｓ３０５）に対するユーザの反応に基づき、興味ベクトル更新部４００の学習処理（図１４に示す処理）を再実行してもよい。すなわち、配信部５００によりユーザに対して推薦情報Ｒが配信される（Ｓ３０５の処理が実行される）と、アクセス情報取得部３００は、推薦情報Ｒに含まれる複数のコンテンツのなかでユーザがアクセスしたコンテンツとユーザがアクセスしなかったコンテンツとを特定する情報を取得し、それら情報をアクセス情報データベースＤＢ５の対応テーブルＴ２に新しく登録する。そして、興味ベクトル更新部４００は、アクセス情報データベースＤＢ５の対応テーブルＴ２に新しく登録された情報を学習用データに含め、図１４に示す処理を再実行することで、導出器４０１の内部パラメータを更新する。このような興味ベクトル更新部４００の学習処理は、配信部５００による推薦情報Ｒの配信が行われる毎に実行されてもよいが、例えば、配信部５００による推薦情報Ｒの配信が所定の回数実行される毎や、所定の経過時間毎など、一定のタイミングで実行されてもよい。このような更新処理を行うことで、導出器４０１の内部パラメータを常に新しく保つことができる。
【００９４】
以上のような構成の情報配信装置１０によれば、ユーザの興味に応じたコンテンツをより高い精度でユーザに推薦することができる。ここで、比較例として、ユーザが過去にアクセスしたコンテンツの形態素の集合に基づき、ユーザに対してコンテンツを推薦する場合について考える。この場合、ユーザがコンテンツにアクセスした時系列の情報が考慮されないため、例えば２週間前にアクセスしたコンテンツと昨日アクセスしたコンテンツとが同じように扱われてしまう。一方で、ユーザが新しいコンテンツにアクセスした場合、ユーザの興味は移り変わることがある。このため、ユーザが過去にアクセスしたコンテンツに含まれる要素を単なる集合として取り扱うと、ユーザの興味の移り変わりが十分に反映されない場合がある。また、数週間前にアクセスしたコンテンツより、直前にアクセスしたコンテンツのほうが、ユーザの現在の興味に強く関係しているものと考えられる。
【００９５】
そこで、本実施形態では、情報配信装置１０は、ユーザがアクセスしたコンテンツの密ベクトルと、過去に求められたユーザの興味ベクトルとに基づき、ユーザの興味ベクトルを更新する。これにより、ユーザがコンテンツにアクセスした時系列の情報を考慮し、ユーザの興味の移り変わりを反映しながらユーザの直近の興味を推定することができる。その結果、ユーザの直近の興味に応じたコンテンツをより高い精度でユーザに推薦することができる。
【００９６】
また、上記構成によれば、ユーザの直近の興味ベクトルのみを情報配信装置１０に記憶しておけばよく、ユーザが過去にアクセスしたコンテンツの形態素の集合を情報配信装置１０に記憶しておく必要がなくなる。このため、大規模なトラフィックを処理するサービスに適用される場合、さらに有用になる。
【００９７】
本実施形態では、興味ベクトル更新部４００は、ユーザが過去にアクセスした複数のコンテンツと、ユーザが前記複数のコンテンツにアクセスした順を示す時系列データとに基づき、ユーザが興味を持つコンテンツの内容を学習し、学習の結果に基づきユーザの興味ベクトルを更新する。このような構成によれば、ユーザが特に興味を持つコンテンツの内容や、ユーザが持続的に興味を持つコンテンツの内容を学習して、ユーザの直近の興味を推定することができる。これにより、ユーザの興味の推定の精度を高めることができる。
【００９８】
本実施形態では、興味ベクトル更新部４００は、ユーザの興味ベクトルを導出する導出器４０１と、導出器４０１の内部パラメータを調整するパラメータ調整部４０２とを有する。そして、パラメータ調整部４０２は、ユーザが過去にアクセスした複数のコンテンツと、ユーザが前記複数のコンテンツにアクセスした順を示す時系列データとに基づく学習によりパラメータを調整する。このような構成によれば、学習処理を通じて調整されたパラメータに基づきユーザの直近の興味を推定することができる。これにより、ユーザの興味の推定の精度を高めることができる。
【００９９】
本実施形態では、パラメータ調整部４０２は、所定の時点において導出器４０１により導出されたユーザの興味ベクトルと、前記所定の時点においてユーザに対して推薦された複数のコンテンツのなかでユーザがアクセスしたコンテンツの内容とユーザがアクセスしなかったコンテンツの内容とに基づき、前記パラメータを調整する。このような構成によれば、例えば、ユーザに対して実際に推薦された複数のコンテンツを教師データとして用いることで、学習の効果を高めることができる。
【０１００】
ここで、ユーザが新しくアクセスしたコンテンツに基づきユーザの興味ベクトルを更新すると、地震などの一時的なイベントが生じてそのイベントのコンテンツにユーザがアクセスした場合、そのイベントに対してユーザが持続的な興味を持たない場合であっても、そのイベントの内容がユーザの興味ベクトルに大きく反映されてしまう場合がある。その場合、ユーザに対してその後、そのイベントに関連するコンテンツが多く推薦されてしまう可能性がある。
【０１０１】
そこで、本実施形態では、興味ベクトル更新部４００の導出器４０１は、更新後のユーザの興味ベクトルに反映させるコンテンツの密ベクトルの少なくとも一部の要素を希薄化または除去し得るゲートを持つ。このような構成によれば、一時的なイベントに関するコンテンツがユーザの興味ベクトルに大きく反映されることを抑制することができる。これにより、ユーザの興味の推定の精度を高めることができる。
【０１０２】
本実施形態では、パラメータ調整部４０２はユーザが過去にアクセスした複数のコンテンツと、ユーザが前記複数のコンテンツにアクセスした順を示す時系列データとに基づき、更新後のユーザの興味ベクトルにコンテンツの密ベクトルの少なくとも一部の要素を反映させる程度を決めるパラメータを調整する。このような構成によれば、ユーザが持続的に興味を持たないコンテンツの内容を学習することができる。これにより、ユーザの興味の推定の精度を高めることができる。
【０１０３】
ここで、複数のコンテンツの内容が似ている場合であっても、コンテンツに含まれる単語はコンテンツの著者や提供者により様々である。このため、コンテンツの疎ベクトルに基づきユーザの興味を推定しようとすると、コンテンツ同士の関連性の把握が難しい場合がある。
【０１０４】
そこで、本実施形態では、情報配信装置１０では、ユーザがアクセスしたコンテンツの内容を示すとともにコンテンツ同士の関係を距離で表す密ベクトルを導出する内容ベクトル導出部２００を備える。そして、配信部５００は、コンテンツの密ベクトルに基づき、ユーザに対して推薦するコンテンツを決定する。これにより、コンテンツに含まれる語句が完全に同一でない場合であっても、コンテンツの実質的な内容に基づきユーザに対してコンテンツを推薦することができる。これにより、コンテンツの推薦精度を高めることができる。
【０１０５】
また、興味ベクトル更新部４００は、内容ベクトル導出部２００により導出された密ベクトルに基づき、ユーザの興味ベクトルを更新する。このような構成によれば、コンテンツの実質的な内容に基づき、ユーザの興味ベクトルを更新することができる。これにより、ユーザの興味の推定の精度を高めることができる。
【０１０６】
以上、実施形態の情報配信装置１０について説明したが、実施形態は上記例に限定されない。例えば、内容ベクトル導出部２００の学習処理は、類似のコンテンツの密ベクトル同士が互いに類似であり、非類似のコンテンツの密ベクトル同士が互いに非類似であるか否かを判定する処理を含まなくてもよい。
【０１０７】
また、「コンテンツに基づく第１特徴」は、密ベクトルに限らず、疎ベクトルでもよい。コンテンツの疎ベクトルを用いた場合であっても、興味ベクトル更新部４００によりユーザの興味の移り変わりを反映しながらユーザの直近の興味を推定することで、ユーザの興味に応じたコンテンツをより高い精度で推薦することができる。また、コンテンツは、テキストデータに限らない。コンテンツが画像や動画の場合、各コンテンツのグレースケールや色彩を示す値を「コンテンツに基づく第１特徴」として使用することができる。
【０１０８】
本願において「ＸＸに基づく」とは、「少なくともＸＸに基づく」ことを意味し、ＸＸに加えて別の要素に基づく場合も含む。また「ＸＸに基づく」とは、ＸＸを直接に用いる場合に限定されず、ＸＸに対して演算や加工が行われたものに基づく場合も含む。「ＸＸ」は、任意の要素である。
【０１０９】
以上、本発明を実施するための形態について実施形態を用いて説明したが、本発明はこうした実施形態に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。
【符号の説明】
【０１１０】
１０…情報配信装置（情報処理システム）、２００…内容ベクトル導出部（導出部）、４００…興味ベクトル更新部（更新部）、４０１…導出器、４０２…パラメータ調整部、５００…配信部（決定部）
【図１】
2018147235.tif 000007
【図２】
2018147235.tif 000008
【図３】
2018147235.tif 000009
【図４】
2018147235.tif 000010
【図５】
2018147235.tif 000011
【図６】
2018147235.tif 000012
【図７】
2018147235.tif 000013
【図８】
2018147235.tif 000014
【図９】
2018147235.tif 000015
【図１０】
2018147235.tif 000016
【図１１】
2018147235.tif 000017
【図１２】
2018147235.tif 000018
【図１３】
2018147235.tif 000019
【図１４】
2018147235.tif 000020
【図１５】
2018147235.tif 000021