JP6854748B2 - 情報提供装置、情報提供方法、およびプログラム - Google Patents

情報提供装置、情報提供方法、およびプログラム Download PDF

Info

Publication number
JP6854748B2
JP6854748B2 JP2017245343A JP2017245343A JP6854748B2 JP 6854748 B2 JP6854748 B2 JP 6854748B2 JP 2017245343 A JP2017245343 A JP 2017245343A JP 2017245343 A JP2017245343 A JP 2017245343A JP 6854748 B2 JP6854748 B2 JP 6854748B2
Authority
JP
Japan
Prior art keywords
content
user
contents
vector
information providing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2017245343A
Other languages
English (en)
Other versions
JP2019113943A (ja
Inventor
俊平 大倉
俊平 大倉
翔悟 湯浅
翔悟 湯浅
真吾 星野
真吾 星野
秀平 宇野
秀平 宇野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yahoo Japan Corp
Original Assignee
Yahoo Japan Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Yahoo Japan Corp filed Critical Yahoo Japan Corp
Priority to JP2017245343A priority Critical patent/JP6854748B2/ja
Publication of JP2019113943A publication Critical patent/JP2019113943A/ja
Priority to JP2021041744A priority patent/JP7160980B2/ja
Application granted granted Critical
Publication of JP6854748B2 publication Critical patent/JP6854748B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

本発明は、情報提供装置、情報提供方法、およびプログラムに関する。
インターネットを介して、ニュース記事や広告画像などのコンテンツを配信する技術が知られている。これに関連し、コンテンツの重要度を推定し、この重要度が高いコンテンツほど、ユーザに推薦する際の優先度を高くする技術が知られている(例えば、特許文献1参照)。
特開2017−59057号公報
しかしながら、従来の技術では、重要度が高いと推定されたコンテンツが、ユーザにとって関心興味の低いコンテンツである場合があった。この結果、ユーザの興味関心の低いと想定されるコンテンツが優先的に推薦されてしまう場合があった。
本発明は、上記の課題に鑑みてなされたものであり、ユーザにとって関心興味の高いと想定されるコンテンツを精度良く推薦することができる情報提供装置、情報提供方法、およびプログラムを提供することを目的としている。
本発明の一態様は、ユーザによって閲覧されたコンテンツの特徴に基づいて、前記ユーザの特徴を導出する導出部と、前記導出部により導出されたユーザの特徴と、配信対象の複数のコンテンツの其々の特徴とに基づいて、前記配信対象の複数のコンテンツの中から前記ユーザに推薦するコンテンツを決定する決定部と、を備え、前記導出部が、前記ユーザの特徴を導出する際に、前記ユーザによって閲覧された一以上のコンテンツの特徴のうち、時間経過に応じた閲覧回数の変化が小さいコンテンツの特徴ほど大きく前記ユーザの特徴に反映させる情報提供装置である。
本発明の一態様によれば、ユーザにとって関心興味の高いと想定されるコンテンツを精度良く推薦することができる。
実施形態における情報提供装置100を含む情報提供システム1の一例を示す図である。 実施形態における情報提供装置100の構成の一例を示す図である。 コンテンツ情報132の一例を示す図である。 コンテンツベクトル情報134の一例を示す図である。 ユーザ情報136の一例を示す図である。 行動ログ138の一例を示す図である。 ユーザベクトル情報140の一例を示す図である。 情報提供装置100による一連の処理の流れを示すフローチャートである。 情報提供装置100による一連の処理の流れを示すフローチャートである。 パラメータbpvとコンテンツの閲覧回数の時間変化との関係の一例を示す図である。 学習器のパラメータを決定する際の処理の内容を模式的に示す図である。 学習器のパラメータを決定する際の処理の内容を模式的に示す図である。 実施形態の情報提供装置100のハードウェア構成の一例を示す図である。
以下、本発明を適用した情報提供装置、情報提供方法、およびプログラムを、図面を参照して説明する。
[概要]
情報提供装置は、一以上のプロセッサにより実現される。情報提供装置は、基本的には、ユーザによって閲覧されたコンテンツの特徴に基づいてユーザの特徴を導出し、導出したユーザの特徴と、配信対象の複数のコンテンツの其々の特徴とに基づいて、配信対象の複数のコンテンツの中からユーザに推薦するコンテンツを決定する。更に、情報提供装置は、ユーザの特徴を導出する際に、ユーザによって閲覧された一以上のコンテンツの特徴のうち、時間経過に応じた閲覧回数の変化が小さいコンテンツの特徴ほど大きくユーザの特徴に反映させる。これによって、例えば、一時的に不特定多数のユーザによって閲覧されたゴシップ記事のようなコンテンツを対象のユーザが閲覧した場合であっても、そのユーザの特徴にゴシップ記事の特徴を反映させにくくすることができる。この結果、ゴシップ記事のような、瞬間的に不特定多数のユーザによって閲覧されたコンテンツが推薦されにくくなり、ユーザにとって関心興味の高いと想定されるコンテンツを精度よく推薦することができる。
本実施形態におけるコンテンツは、例えば、ブログやウェブサイトなどに掲載される記事であり、テキストを含むコンテンツである。また、コンテンツは、例えば、ウェブサイトなどの媒体に広告として掲載されるテキスト、静止画像、動画像、または音声などであってもよい。
[全体構成]
図1は、実施形態における情報提供装置100を含む情報提供システム1の一例を示す図である。実施形態における情報提供システム1は、例えば、一以上の端末装置10と、情報提供装置100とを備える。これらの装置は、ネットワークNWを介して接続される。
図1に示す各装置は、ネットワークNWを介して種々の情報を送受信する。ネットワークNWは、例えば、インターネット、WAN(Wide Area Network)、LAN(Local Area Network)、プロバイダ端末、無線通信網、無線基地局、専用回線などを含む。なお、図1に示す各装置の全ての組み合わせが相互に通信可能である必要はなく、ネットワークNWは、一部にローカルなネットワークを含んでもよい。
端末装置10は、例えば、スマートフォンなどの携帯電話、タブレット端末、各種パーソナルコンピュータなどの、入力装置、表示装置、通信装置、記憶装置、および演算装置を備える端末装置である。通信装置は、NIC(Network Interface Card)などのネットワークカード、無線通信モジュールなどを含む。端末装置10では、ウェブブラウザやアプリケーションプログラムなどのUA(User Agent)が起動し、ユーザの入力する内容に応じたリクエストを情報提供装置100に送信する。また、UAが起動された端末装置10は、情報提供装置100から取得した情報に基づいて、表示装置に各種画像を表示させる。
情報提供装置100は、例えば、ウェブブラウザからのリクエストに応じてウェブページを端末装置10に提供するウェブサーバである。ウェブページには、上述したコンテンツが掲載される。また、情報提供装置100は、アプリケーションプログラムからのリクエストに応じて画像や音声などのコンテンツを端末装置10に提供するアプリサーバであってもよい。例えば、情報提供装置100は、文書検索や画像検索といった、あるデータベースから所望のコンテンツを検索するサービス(以下、検索サービスと称する)を、ウェブサイトやアプリケーションを介して、端末装置10を利用するユーザに提供する。
[情報提供装置の構成]
図2は、実施形態における情報提供装置100の構成の一例を示す図である。図示のように、情報提供装置100は、例えば、通信部102と、制御部110と、記憶部130とを備える。
通信部102は、例えば、NIC等の通信インターフェースを含む。通信部102は、ネットワークNWを介して、端末装置10と通信し、端末装置10から各種情報を取得する。例えば、通信部102は、端末装置10からログイン情報を取得する。ログイン情報とは、検索サービスを利用するためのアカウントに対応付けられたユーザID(アカウントID)やパスワードなどを含む情報である。
制御部110は、例えば、コンテンツベクトル生成部112と、ユーザベクトル生成部114と、レコメンドコンテンツ決定部116と、コンテンツ配信部118と、情報更新部120と、学習処理部122とを備える。ユーザベクトル生成部114は、「導出部」の一例であり、レコメンドコンテンツ決定部116は、「決定部」の一例である。
これらの構成要素は、例えば、CPU(Central Processing Unit)などのプロセッサが記憶部130に格納されたプログラムを実行することにより実現される。また、制御部110の構成要素の一部または全部は、LSI(Large Scale Integration)、ASIC(Application Specific Integrated Circuit)、FPGA(Field-Programmable Gate Array)、またはGPU(Graphics Processing Unit)などのハードウェア(回路部;circuitry)により実現されてもよいし、ソフトウェアとハードウェアの協働によって実現されてもよい。
記憶部130は、例えば、HDD(Hard Disc Drive)、フラッシュメモリ、EEPROM(Electrically Erasable Programmable Read Only Memory)、ROM(Read Only Memory)、RAM(Random Access Memory)などの記憶装置により実現される。記憶部130には、ファームウェアやアプリケーションプログラムなどの各種プログラムの他に、コンテンツ情報132、コンテンツベクトル情報134、ユーザ情報136、行動ログ138、ユーザベクトル情報140、学習器情報142などが記憶される。
コンテンツ情報132は、各種コンテンツを含む情報である。例えば、コンテンツがニュース記事である場合、コンテンツ情報132は、ニュース記事に含まれるテキスト情報、画像、音声等の内容、ニュース記事の配信元や著者等の情報を含んでよい。
図3は、コンテンツ情報132の一例を示す図である。図示の例のように、コンテンツ情報132は、各コンテンツを識別するためのコンテンツIDに対して、所定の周期Tごとの総閲覧数が対応付けられた情報であってよい。所定の周期Tは、例えば、分、時間、日、週、月、年などの任意の期間であってよい。また、コンテンツ情報132は、各種コンテンツを含む情報であってよく、例えば、コンテンツがニュース記事である場合、ニュース記事に含まれるテキスト情報、画像等の内容、ニュース記事の配信元や著者等の情報を含んでよい。
図4は、コンテンツベクトル情報134の一例を示す図である。コンテンツベクトル情報134は、コンテンツ情報132に含まれる各コンテンツの特徴がベクトル化された情報であり、例えば、各コンテンツIDに対して、コンテンツがベクトル化されたコンテンツベクトルが対応付けられた情報である。
図5は、ユーザ情報136の一例を示す図である。ユーザ情報136は、例えば、各ユーザを識別するためのユーザID(アカウントID)に対して、ログイン時に照合されるパスワードやユーザ属性などが対応付けられた情報である。ユーザ属性には、例えば、性別、年齢、居住地域、収入、職業、学歴などの、そのユーザのもつ人口統計学的な属性(デモグラフィック属性)が含まれる。これらの人口統計学的な属性は、例えば、アカウント作成時に予め登録されるものとする。また、ユーザ属性には、例えば、ユーザがログイン時に利用した端末装置10が、スマートフォンなどの携帯電話であるのか、タブレット端末であるのか、パーソナルコンピュータであるのか、といったことを表す端末装置10の種類や、ログイン時の曜日や時間帯などの各種情報が属性として含まれてもよい。
図6は、行動ログ138の一例を示す図である。行動ログ138は、ユーザによるコンテンツの閲覧履歴に基づく情報であり、例えば、各ユーザIDに対して、ユーザが閲覧したコンテンツのコンテンツIDと、所定期間におけるコンテンツの閲覧回数とが対応付けられた情報である。所定期間は、例えば、ユーザがログインしてから数周期T或いは数十周期T程度が経過するまでの期間である。また、所定期間は、例えば、ユーザがログインしてからログアウトするまでの期間であってもよい。
図7は、ユーザベクトル情報140の一例を示す図である。ユーザベクトル情報140は、ユーザ情報136が示す各ユーザの特徴がベクトル化された情報であり、例えば、ユーザIDに対して、ユーザがベクトル化されたユーザベクトルが対応付けられた情報である。
学習器情報142は、学習器(学習モデル)を規定する情報である。学習器は、例えば、GRU(Gated Recurrent Unit)やLSTM(Long short-term memory)といった種類の再帰型ニューラルネットワーク(Reccurent Neural Network:RNN)によって実現されてよい。これらの再帰型ニューラルネットワークによって学習器が実現される場合、学習器情報142には、再帰型ニューラルネットワークを構成する入力層と、一以上の中間層(隠れ層)と、出力層との其々に含まれるニューロン(ユニット)が互いにどのように結合されるのかという結合情報や、結合されたニューロン間で入出力されるデータに付与される結合係数などの各種情報が含まれる。結合情報とは、例えば、各層に含まれるニューロン数や、各ニューロンの結合先のニューロンを指定する情報、各ニューロンを実現する活性化関数、隠れ層のニューロン間に設けられたゲートなどの情報を含む。ニューロンを実現する活性化関数は、例えば、正規化線形関数(ReLU関数)であってもよいし、シグモイド関数や、ステップ関数、その他の関数などであってもよい。ゲートは、例えば、活性化関数によって返される値(例えば1または0)に応じて、ニューロン間で伝達されるデータを選択的に通過させる。結合係数は、活性化関数のパラメータであり、例えば、ニューラルネットワークの隠れ層において、ある層のニューロンから、より深い層のニューロンにデータが出力される際に、出力データに対して付与される重みを含む。また、結合係数は、各層の固有のバイアス成分などを含んでもよい。
コンテンツベクトル生成部112は、コンテンツ情報132に含まれる各コンテンツの特徴をベクトル化し、コンテンツベクトルを生成する。例えば、コンテンツベクトル生成部112は、コンテンツがニュース記事である場合、そのニュース記事をコーパスとして、Countinuous Bag-of-Wordsおよび/またはSkip-gramの学習モデルに基づいて、ニュース記事をベクトル化する。例えば、コンテンツベクトル生成部112は、ニュース記事を複数の形態素に分割し、その複数の形態素のうち、特定の品詞(名詞など)を、Countinuous Bag-of-WordsおよびSkip-gramの双方の学習モデルを適用したニューラルネットワーク(例えばword2vec)に単語として入力することで、そのニューラルネットワークから出力される各単語の単語ベクトルを取得する。そして、コンテンツベクトル生成部112は、各単語に対応した複数の単語ベクトルの和を正規化(例えば単語数で除算)した値を、単語の抽出元であるニュース記事のベクトル(コンテンツベクトルの一例)として導出する。すなわち、コンテンツベクトル生成部112は、複数の単語ベクトルによって分散表現されたニュース記事のベクトルを生成する。このニュース記事のベクトルは、複数の単語ベクトルの其々を次元(基底ベクトル)とした多次元ベクトルである。
また、コンテンツベクトル生成部112は、Bag-of-Words単体によって構成された学習モデルや、Global Vector Prediction(GloVe)などの他の学習モデルを利用して、各ニュース記事をベクトル化してもよい。また、コンテンツベクトル生成部112は、コンテンツが静止画像や動画像である場合、例えば、畳み込みニューラルネットワークを利用して、それらコンテンツをベクトル化してよい。
コンテンツベクトル生成部112は、生成したコンテンツベクトルと、そのコンテンツベクトルの元となったコンテンツのコンテンツIDとを対応付けて、これをコンテンツベクトル情報134として記憶部130に記憶させる。なお、コンテンツの特徴をベクトル化する処理は、コンテンツベクトル生成部112が自ら行う代わりに、外部装置に処理を依頼することで実現されてもよい。
ユーザベクトル生成部114は、コンテンツベクトル情報134および行動ログ138を基に、ユーザ情報136に含まれる各ユーザの特徴をベクトル化し、ユーザベクトルを生成する。例えば、ユーザベクトル生成部114は、学習器情報142を参照して、学習器の一例である再帰型ニューラルネットワークを生成(構築)する。一方で、ユーザベクトル生成部114は、行動ログ138を参照し、ユーザIDごとに、ユーザが閲覧したコンテンツのコンテンツIDを記憶部130から取得してから、コンテンツベクトル情報134を参照し、取得したコンテンツIDに対応したコンテンツベクトルを記憶部130から取得する。そして、ユーザベクトル生成部114は、ユーザが閲覧したコンテンツのコンテンツIDに対応した各コンテンツベクトルを、生成した再帰型ニューラルネットワークの入力層に入力することで、再帰型ニューラルネットワークの出力層からユーザの特徴がベクトル化されたユーザベクトルを取得する。すなわち、ユーザベクトル生成部114は、複数のコンテンツベクトルによって分散表現されたユーザベクトルを生成する。このユーザベクトルは、複数のコンテンツベクトルの其々を次元(基底ベクトル)とした多次元ベクトルである。ユーザベクトルは、「ユーザの特徴」の一例である。
図6の例の場合、行動ログ138によって、ユーザIDが「USER_2」のユーザが、コンテンツIDが「CONT_6」、「CONT_14」といったコンテンツを閲覧したことが表されている。このような場合、ユーザベクトル生成部114は、コンテンツベクトル情報134を参照し、コンテンツIDが「CONT_6」のコンテンツに対応したコンテンツベクトルV(CONT_6)と、コンテンツIDが「CONT_14」のコンテンツに対応したコンテンツベクトルV(CONT_14)とを少なくも取得し、これらのコンテンツベクトルを少なくとも含むベクトル集合を再帰型ニューラルネットワークに入力する。再帰型ニューラルネットワークは、入力された各コンテンツベクトルを、隠れ層において結合係数(重み)を付与し、出力層に至るまでに平均化(例えば加重平均化)する。そして、ユーザベクトル生成部114は、再帰型ニューラルネットワークによって複数のコンテンツベクトルが平均化された一つのベクトルを、ユーザIDが「USER_2」のユーザのユーザベクトルとして導出する。
ユーザベクトル生成部114は、生成したユーザベクトルと、そのユーザベクトルの元となったユーザのユーザIDとを対応付けて、これをユーザベクトル情報140として記憶部130に記憶させる。
レコメンドコンテンツ決定部116は、ユーザベクトル生成部114により生成された複数のユーザベクトルのうち、対象ユーザがベクトル化されたユーザベクトル(以下、対象ユーザベクトルと称する)と、コンテンツベクトル生成部112により生成された一以上のコンテンツベクトルの其々との類似度に基づくスコア(指標値)を導出し、導出したスコアに応じて、対象ユーザに閲覧を推薦するコンテンツ(以下、レコメンドコンテンツと称する)を決定する。対象ユーザは、例えば、ログイン後に検索サービスを利用して所望の情報を検索する際に、検索窓などにクエリを入力したユーザである。
例えば、レコメンドコンテンツ決定部116は、スコアが最も大きい一つのコンテンツベクトルに対応したコンテンツを、レコメンドコンテンツに決定する。また、レコメンドコンテンツ決定部116は、スコアが大きい上位所定数のコンテンツベクトルの其々に対応したコンテンツの集合を、レコメンドコンテンツに決定してもよいし、スコアが閾値以上の全てのコンテンツベクトルの其々に対応したコンテンツの集合を、レコメンドコンテンツに決定してもよい。
コンテンツ配信部118は、通信部102を用いて、レコメンドコンテンツ決定部116によりレコメンドコンテンツとして決定された一つまたは複数のコンテンツを、対象ユーザがクエリを入力するのに利用した端末装置10に配信する。
情報更新部120は、例えば、コンテンツ配信部118により配信されたレコメンドコンテンツが対象ユーザによって閲覧された場合、行動ログ138において、対象ユーザのユーザIDに、レコメンドコンテンツのコンテンツIDを新たに加えたり、閲覧時刻の古いコンテンツのコンテンツIDと置き換えたりすることで、行動ログ138を更新する。この際、ユーザベクトル生成部114は、ユーザベクトル情報140において、対象ユーザベクトルが存在しない場合、更新された行動ログ138に基づき、対象ユーザベクトルを新たに生成してよい。また、ユーザベクトル生成部114は、ユーザベクトル情報140において、対象ユーザベクトルが既に存在する場合、更新された行動ログ138に基づき、対象ユーザベクトルを更新してよい。
なお、情報更新部120は、行動ログ138において、対象ユーザのユーザIDにコンテンツIDが存在する場合、すなわち、対象ユーザベクトルが既に存在する場合に、対象ユーザが所定期間内にいずれのコンテンツも閲覧しなかった場合、対象ユーザの行動ログ138において、ユーザIDに対応付けられた全てのコンテンツIDを消去し、閲覧履歴を初期化してよい。この場合、ユーザベクトル生成部114は、例えば、既に生成した対象ユーザベクトルを消去してよい。
学習処理部122は、行動ログ138に基づいて、学習器情報142によって規定される学習器を学習させる。例えば、学習器が再帰型ニューラルネットワークである場合、学習処理部122は、一周期Tが経過するまでの間の各ユーザのコンテンツの閲覧履歴を基に、再帰型ニューラルネットワークの結合係数(活性化関数のパラメータ)を機械学習する。学習器の学習手法の詳細については後述する。
[運用時の処理フロー]
以下、情報提供装置100の運用時の一連の処理の流れをフローチャートに即して説明する。運用時とは、学習処理部122によってある程度学習された学習器を利用する状態である。図8は、情報提供装置100による一連の処理の流れを示すフローチャートである。本フローチャートの処理は、例えば、通信部102によってログイン情報が取得された端末装置10から、更に、コンテンツを検索するためのクエリが取得された場合に行われる。
まず、ユーザベクトル生成部114は、コンテンツベクトル情報134および行動ログ138を参照し、記憶部130から、対象ユーザによって閲覧されたコンテンツのコンテンツベクトルベクトルを取得する(S100)。
次に、ユーザベクトル生成部114は、学習器情報142が示す学習器に、取得した複数のコンテンツベクトルを入力することで、対象ユーザの特徴が複数のコンテンツベクトルによって分散表現された対象ユーザベクトルを生成する(S102)。
次に、レコメンドコンテンツ決定部116は、数式(1)に基づいて、ユーザベクトル生成部114により生成された対象ユーザベクトルと、コンテンツベクトル生成部112により生成された一以上のコンテンツベクトルの其々との類似度を基に、レコメンドコンテンツを決定する際に参照するスコアを導出する(S102)。
Figure 0006854748
数式(1)におけるuは、行動ログ138にユーザIDが含まれる複数のユーザのうち対象ユーザを表し、aは、コンテンツベクトルが生成された複数のコンテンツのうち、スコアの導出対象として選択された一つのコンテンツを表し、tは、検索サービスにおいてコンテンツが掲載された時刻(ニュース記事なら入稿された時刻)を表している。R(u,a,t)は、スコアを表し、Vcont(a)は、コンテンツaに対応したコンテンツベクトルを表し、Vuser(u)は、対象ユーザuに対応した対象ユーザベクトルを表している。Tは、転置を表している。pv(a,t)は、ある任意の時刻tにおけるコンテンツaの所定の周期Tあたりの閲覧回数に基づく指標値(例えば閲覧回数の対数値など)を表している。bpvは、pv(a,t)に乗算されるバイアス成分を表している。pv(a,t)は、変数にuを含まないため、数式(1)の右辺の第1項から見て、第2項(bpv・pv(a,t))は、第1項を加算または減算する定数項として扱われる。パラメータbpvは、学習処理部122によって、再帰型ニューラルネットワークの結合係数が学習される際に併せて学習される。パラメータbpvは、スコアの導出対象として選択されたコンテンツaの時間経過に応じた閲覧回数の変化(例えば閲覧回数の時間微分値)が小さいほど、その値が大きくなるように学習される。
例えば、レコメンドコンテンツ決定部116は、数式(1)の右辺の第1項として、コンテンツベクトルVcont(a)ごとに、対象ユーザベクトルVuser(u)とのコサイン類似度を導出する。一方で、レコメンドコンテンツ決定部116は、数式(1)の右辺の第2項として、コンテンツaの時刻tにおける閲覧回数に基づく指標値pv(a,t)とバイアス値bpvとの積を導出する。そして、レコメンドコンテンツ決定部116は、これらの和を、スコアR(u,a,t)として導出する。数式(1)において、右辺の第1項であるVcont(a)・Vuser(u)は、対象ユーザのこれまでのコンテンツの閲覧履歴に応じて値が変動する項であるのに対して、右辺の第2項であるbpv・pv(a,t)は、対象ユーザに応じて値が変動せず、時刻tにおけるコンテンツの閲覧回数に応じて値が変動する項である。従って、ユーザが頻繁に閲覧するコンテンツに類似し、且つ、時間経過に応じた閲覧回数の変化が小さいコンテンツほど、高いスコアR(u,a,t)が導出される。なお、数式(1)において、スコアR(u,a,t)は、第1項と第2項との積として導出されてもよいが、対象ユーザの興味関心のあるコンテンツを推薦する精度を向上させるために、スコアR(u,a,t)は、第1項と第2項との和として導出されるほうが好ましい。
次に、レコメンドコンテンツ決定部116は、導出したスコアに基づいて、各コンテンツベクトルに対応した複数のコンテンツの集合の中から、対象ユーザに閲覧を推薦するレコメンドコンテンツを決定する(S106)。
次に、コンテンツ配信部118は、通信部102を用いて、レコメンドコンテンツ決定部116によりレコメンドコンテンツとして決定された一つまたは複数のコンテンツを、対象ユーザの端末装置10に配信する(S108)。これによって本フローチャートの処理が終了する。
[学習時の処理フロー]
以下、情報提供装置100の学習時の一連の処理の流れをフローチャートに即して説明する。学習時とは、運用時に利用される学習器を学習させる状態である。図9は、情報提供装置100による一連の処理の流れを示すフローチャートである。本フローチャートの処理は、例えば、所定の周期で繰り返し行われてよい。
まず、学習処理部122は、数式(1)のスコア導出式に含まれるパラメータbpvを学習する(S200)。例えば、学習処理部122は、コンテンツaの時間経過に応じた閲覧回数の変化が小さいコンテンツほどパラメータbpvの値が大きくなり、コンテンツaの時間経過に応じた閲覧回数の変化が大きいコンテンツほどパラメータbpvの値が小さくなるように学習する。
図10は、パラメータbpvとコンテンツの閲覧回数の時間変化との関係の一例を示す図である。例えば、パラメータbpvは、図示のように、コンテンツの閲覧回数の時間変化が大きくなるほど減少するステップ関数によって表されてよい。例えば、図3のコンテンツIDが「CONT_1」や「CONT_3」のコンテンツのように、ある周期だけ突出して閲覧回数が多いコンテンツ(以下、バズコンテンツと称する)の場合、パラメータbpvの値が小さくなりやすい。従って、スコア導出対象のコンテンツaがバズコンテンツであり、パラメータpv(a,t)の値が大きくなっても、その値をパラメータbpvが減少させるため、結果として数式(1)の右辺の第2項が小さくなる。例えば、学習処理部122は、機械学習によって、閲覧回数に応じたパラメータbpvの下げ幅を決定する。なお、パラメータbpvは、ステップ関数に限られず、コンテンツの閲覧回数の時間変化が大きくなるほど減少する関数であれば如何なる関数であってもよい。
次に、学習処理部122は、学習器情報142によって規定される学習器のパラメータを学習する(S204)。例えば、学習器によって出力されるユーザベクトルが、学習器に入力された複数のコンテンツベクトルの加重平均で表される場合、学習処理部122は、各コンテンツベクトルに付与される重みを学習によって決定する。数式(2)は、ユーザベクトルの導出式の一例である。
Figure 0006854748
数式(2)は、w〜wは、学習器に入力されるコンテンツベクトルVcont(1)〜Vcont(k)の其々に対して付与される重みである。これらの重みw〜wは、学習器が再帰型ニューラルネットワークである場合、ニューラルネットワークの結合係数(活性化関数のパラメータ)となる。例えば、学習処理部122は、図6に例示するように、ユーザIDが「USER_1」のユーザを対象ユーザとした場合、そのユーザのユーザベクトルVUSER(1)を導出する際に、コンテンツIDが「CONT_1」、「CONT_2」、「CONT_3」であるコンテンツのコンテンツベクトルVcont(1)〜Vcont(3)に付与する重みw〜wを、他のコンテンツベクトルに付与する重みに比して大きくなるように、誤差逆伝搬によって更新する。
この際、学習処理部122は、閲覧回数の時間変化が大きいコンテンツほど重みwを小さくするように学習する。例えば、図3において、コンテンツIDが「CONT_1」および「CONT_3」であるコンテンツは、コンテンツIDが「CONT_2」のコンテンツに比して、所定の周期Tごとの閲覧回数の変化が大きいことから、バズコンテンツであることを表している。従って、学習処理部122は、本来であれば、ユーザIDが「USER_1」であるユーザが、「CONT_1」、「CONT_2」、「CONT_3」のコンテンツを閲覧したため、これらのコンテンツベクトルVcont(1)〜Vcont(3)に付与する重みw〜wが大きくなるように機械学習によって決定するところ、「CONT_1」と「CONT_3」のコンテンツがバズコンテンツであるため、「CONT_1」のコンテンツのコンテンツベクトルVcont(1)に付与する重みwと、「CONT_3」のコンテンツのコンテンツベクトルVcont(3)に付与する重みwとの双方が、バズコンテンツでない「CONT_2」のコンテンツのコンテンツベクトルVcont(2)に付与する重みwに比して小さくなるように機械学習によって決定される。これによって、対象ユーザベクトルを導出する際に、対象ユーザによって閲覧された複数のコンテンツのコンテンツベクトルのうち、閲覧回数の時間変化が小さいコンテンツのコンテンツベクトル(例えばVcont(2))ほど、対象ユーザベクトルに対する寄与度を高くし、閲覧回数の時間変化が大きいコンテンツのコンテンツベクトル(例えばVcont(1)やVcont(2))ほど、対象ユーザベクトルに対する寄与度を低くすることができる。この結果、バズコンテンツに対するユーザベクトルの類似度が小さくなるため、レコメンドコンテンツからバズコンテンツを除外することができる。
次に、学習処理部122は、学習器のパラメータを更新した後、記憶部130に記憶された学習器情報142を更新し(S204)、本フローチャートの処理を終了する。
図11および図12は、学習器のパラメータを決定する際の処理の内容を模式的に示す図である。例えば、図11の例では、ある周期Tの時点で、「選挙」に関連したコンテンツAと、「野球」に関連したコンテンツBとが配信されており、対象ユーザkがこの2つのコンテンツAおよびBを閲覧したとする。また、この周期Tの時点では、コンテンツAの閲覧回数の時間変化は0.01であり、コンテンツBの閲覧回数の時間変化は0.9であるものとする。このような場合、学習処理部122は、対象ユーザkが閲覧したコンテンツのうち、閲覧回数の時間変化が大きいコンテンツBのコンテンツベクトルVcont(B)の重みを大きくし、閲覧回数の時間変化が小さいコンテンツAのコンテンツベクトルVcont(A)の重みを小さくするように学習器のパラメータを決定する。
図12の例では、周期Tの時点から更に時間が進んだ周期Tの時点でのコンテンツの配信の様子を表している。周期Tの時点では、引き続き「選挙」に関連したコンテンツAと「野球」に関連したコンテンツBとが配信されており、更に、「災害」に関連したコンテンツCが新たに配信されている。対象ユーザkは、これらのコンテンツのうち、コンテンツBおよびCを閲覧したとする。また、この周期Tの時点では、コンテンツAの閲覧回数の時間変化は0.01であり、コンテンツBの閲覧回数の時間変化は0.9であり、コンテンツCの閲覧回数の時間変化は0.0.3であるものとする。このような場合、学習処理部122は、対象ユーザkが閲覧したコンテンツのうち、閲覧回数の時間変化が大きいコンテンツBのコンテンツベクトルVcont(B)の重みを大きくし、閲覧回数の時間変化が小さいコンテンツCのコンテンツベクトルVcont(C)の重みを小さくするように学習器のパラメータを決定する。これによって、「選挙」や「災害」といったコンテンツのように、一時的に閲覧回数が多くなっているバズコンテンツを対象ユーザkが閲覧した場合、複数のコンテンツベクトルによって分散表現される対象ユーザベクトルにおいて、バズコンテンツの寄与度が他のコンテンツに比して低下する。一方で、「野球」のような閲覧回数が時間に依らず略一定のコンテンツを対象ユーザkが閲覧した場合、対象ユーザベクトルにおいて、「野球」のようなコンテンツの寄与度が相対的に上昇する。このように、その時期に選挙などの一過性のイベントが開催されるなどして一時的に閲覧回数が多くなったバズコンテンツをユーザが閲覧した場合であっても、その閲覧されたバズコンテンツの寄与度を低下させた上でユーザベクトルを生成することができる。この結果、単に閲覧回数が多いコンテンツのコンテンツベクトルの寄与度を大きくする場合に比べて、ユーザにとって関心興味の高いと想定されるコンテンツをより精度良く推薦することができる。
なお、上述した例では、学習処理部122は、ユーザベクトルを生成する際に、コンテンツの閲覧回数の時間変化に応じて各コンテンツベクトルの重みを決定するものとして説明したがこれに限られない。例えば、学習処理部122は、ウェブページやアプリケーションなどの媒体にコンテンツが掲載される際に、媒体に対するコンテンツの掲載位置に応じてコンテンツベクトルの重みを決定してもよい。例えば、媒体がウェブページである場合、学習処理部122は、ユーザによって閲覧されたコンテンツの掲載位置がウェブページの上方であるほど重みwを小さくし、コンテンツの掲載位置がウェブページの下方であるほど重みwを大きくしてよい。これによって、例えば、掲載位置が上方のコンテンツほど閲覧されやすく、掲載位置が下方のコンテンツほど閲覧されにくいことを考慮して適切にユーザベクトルを生成することができる。
以上説明した実施形態によれば、ユーザによって閲覧されたコンテンツの特徴がベクトル化されたコンテンツベクトルに基づいて、ユーザの特徴をベクトル化したユーザベクトルを生成するユーザベクトル生成部114と、ユーザベクトル生成部114により生成されたユーザベクトルと、配信対象の複数のコンテンツの其々のコンテンツベクトルとに基づいて、配信対象の複数のコンテンツの中からユーザに推薦するレコメンドコンテンツを決定するレコメンドコンテンツ決定部116と、を備え、ユーザベクトル生成部114が、ユーザベクトルを生成する際に、ユーザによって閲覧された一以上のコンテンツのコンテンツベクトルのうち、時間経過に応じた閲覧回数の変化が小さいコンテンツの特徴ほど大きくユーザベクトルに反映させることによって、ユーザにとって関心興味の高いと想定されるコンテンツを精度良く推薦することができる。
一般的に、自身が興味関心を寄せるコンテンツの他に、世間で良く閲覧されているコンテンツを閲覧したり、広告として掲載されたコンテンツなどを閲覧したりする傾向を有するユーザが存在している。このようなユーザの場合に、単に閲覧回数が多いコンテンツのコンテンツベクトルの寄与度を大きくしてユーザベクトルを生成した場合、そのコンテンツに類似するコンテンツがユーザに推薦されることになる。しかしながら、世間で良く閲覧されているコンテンツや、広告として掲載されたコンテンツなどは、必ずしもユーザが興味関心のあるコンテンツとは限られず、ユーザにとって関心興味の低いコンテンツが推薦されてしまう場合がある。
これに対して、本実施形態では、単に閲覧回数の多い少ないに依らずに、その閲覧回数の時間経過に応じた変化の大きさに応じて、コンテンツベクトルの寄与度を調整するため、閲覧回数が多いコンテンツほどユーザが興味関心を寄せていると一律に判断せずに、閲覧回数が少ないコンテンツであっても閲覧回数の時間経過に応じた変化が小さければ、そのコンテンツはユーザが本質的に興味関心を寄せているコンテンツであると判断することができる。これによって、適切なユーザベクトルを生成することができる。この結果、例えば、ゴシップ記事のような、瞬間的に不特定多数のユーザによって閲覧されたコンテンツをユーザが偶発的に閲覧してしまった場合であっても、そのユーザに対して、ゴシップ記事のようなコンテンツを推薦し難くすることができ、ユーザが本当に関心興味を寄せていると想定されるコンテンツを推薦することができる。
<ハードウェア構成>
上述した実施形態の情報提供装置100は、例えば、図13に示すようなハードウェア構成により実現される。図13は、実施形態の情報提供装置100のハードウェア構成の一例を示す図である。
情報提供装置100は、NIC100−1、CPU100−2、RAM100−3、ROM100−4、フラッシュメモリやHDDなどの二次記憶装置100−5、およびドライブ装置100−6が、内部バスあるいは専用通信線によって相互に接続された構成となっている。ドライブ装置100−6には、光ディスクなどの可搬型記憶媒体が装着される。二次記憶装置100−5、またはドライブ装置100−6に装着された可搬型記憶媒体に格納されたプログラムがDMAコントローラ(不図示)などによってRAM100−3に展開され、CPU100−2によって実行されることで、制御部110が実現される。制御部110が参照するプログラムは、ネットワークNWを介して他の装置からダウンロードされてもよい。
以上、本発明を実施するための形態について実施形態を用いて説明したが、本発明はこうした実施形態に何ら限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。
1…情報提供システム、10…端末装置、100…情報提供装置、102…通信部、110…制御部、112…コンテンツベクトル生成部、114…ユーザベクトル生成部、116…レコメンドコンテンツ決定部、118…コンテンツ配信部、120…情報更新部、122…学習処理部、130…記憶部

Claims (8)

  1. ユーザによって閲覧されたコンテンツの特徴に基づいて、前記ユーザの特徴を導出する導出部と、
    前記導出部により導出されたユーザの特徴と、配信対象の複数のコンテンツの其々の特徴とに基づいて、前記配信対象の複数のコンテンツの中から前記ユーザに推薦するコンテンツを決定する決定部と、を備え、
    前記導出部は、前記ユーザの特徴を導出する際に、前記ユーザによって閲覧された一以上のコンテンツの特徴のうち、時間経過に応じた閲覧回数の変化が小さいコンテンツの特徴ほど大きく前記ユーザの特徴に反映させる、
    情報提供装置。
  2. 前記導出部は、入力された一以上のコンテンツの特徴に重みを付与し、前記重みを付与した一以上のコンテンツの特徴に基づいて、前記コンテンツを閲覧したユーザの特徴を出力するように構成された学習器に、前記コンテンツの特徴を入力することで、前記ユーザの特徴を導出する、
    請求項1に記載の情報提供装置。
  3. 前記コンテンツの時間経過に応じた閲覧回数の変化が小さいコンテンツの特徴ほど大きい重みを付与するように前記学習器を学習させる学習処理部を更に備える、
    請求項2に記載の情報提供装置。
  4. 前記決定部は、
    前記導出部により導出されたユーザの特徴と、前記配信対象の複数のコンテンツの其々の特徴との類似度を導出し、
    前記配信対象の複数のコンテンツの其々の特徴ごとに導出した類似度と、前記配信対象の複数のコンテンツの其々の閲覧回数に基づく指標値とに基づいて、前記配信対象の複数のコンテンツの中から前記ユーザに推薦するコンテンツを決定する、
    請求項1から3のうちいずれか1項に記載の情報提供装置。
  5. コンテンツの時間経過に応じた閲覧回数の変化に応じて、前記指標値を機械学習によって決定する学習処理部を更に備える、
    請求項4に記載の情報提供装置。
  6. 前記学習処理部は、前記指標値を、コンテンツの時間経過に応じた閲覧回数の変化が大きいほど小さくし、コンテンツの時間経過に応じた閲覧回数の変化が小さいほど大きくするように決定する、
    請求項5に記載の情報提供装置。
  7. コンピュータが、
    ユーザによって閲覧されたコンテンツの特徴に基づいて、前記ユーザの特徴を導出し、
    前記導出したユーザの特徴と、配信対象の複数のコンテンツの其々の特徴とに基づいて、前記配信対象の複数のコンテンツの中から前記ユーザに推薦するコンテンツを決定し、
    前記ユーザの特徴を導出する際に、前記ユーザによって閲覧された一以上のコンテンツの特徴のうち、時間経過に応じた閲覧回数の変化が小さいコンテンツの特徴ほど大きく前記ユーザの特徴に反映させる、
    情報提供方法。
  8. コンピュータに、
    ユーザによって閲覧されたコンテンツの特徴に基づいて、前記ユーザの特徴を導出する処理と、
    前記導出したユーザの特徴と、配信対象の複数のコンテンツの其々の特徴とに基づいて、前記配信対象の複数のコンテンツの中から前記ユーザに推薦するコンテンツを決定する処理と、
    前記ユーザの特徴を導出する際に、前記ユーザによって閲覧された一以上のコンテンツの特徴のうち、時間経過に応じた閲覧回数の変化が小さいコンテンツの特徴ほど大きく前記ユーザの特徴に反映させる処理と、
    を実行させるためのプログラム。
JP2017245343A 2017-12-21 2017-12-21 情報提供装置、情報提供方法、およびプログラム Active JP6854748B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2017245343A JP6854748B2 (ja) 2017-12-21 2017-12-21 情報提供装置、情報提供方法、およびプログラム
JP2021041744A JP7160980B2 (ja) 2017-12-21 2021-03-15 情報提供装置、情報提供方法、およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017245343A JP6854748B2 (ja) 2017-12-21 2017-12-21 情報提供装置、情報提供方法、およびプログラム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2021041744A Division JP7160980B2 (ja) 2017-12-21 2021-03-15 情報提供装置、情報提供方法、およびプログラム

Publications (2)

Publication Number Publication Date
JP2019113943A JP2019113943A (ja) 2019-07-11
JP6854748B2 true JP6854748B2 (ja) 2021-04-07

Family

ID=67222580

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2017245343A Active JP6854748B2 (ja) 2017-12-21 2017-12-21 情報提供装置、情報提供方法、およびプログラム
JP2021041744A Active JP7160980B2 (ja) 2017-12-21 2021-03-15 情報提供装置、情報提供方法、およびプログラム

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2021041744A Active JP7160980B2 (ja) 2017-12-21 2021-03-15 情報提供装置、情報提供方法、およびプログラム

Country Status (1)

Country Link
JP (2) JP6854748B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021103542A (ja) * 2017-12-21 2021-07-15 ヤフー株式会社 情報提供装置、情報提供方法、およびプログラム

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021032309A (ja) * 2019-08-22 2021-03-01 有限会社アールストーン 配管支持具
CN110659417A (zh) * 2019-09-12 2020-01-07 广东浪潮大数据研究有限公司 一种信息推送方法、系统、电子设备及存储介质
JP7179033B2 (ja) * 2020-02-28 2022-11-28 ヤフー株式会社 コンテンツ選択装置、コンテンツ選択方法、およびプログラム
CN112000700B (zh) 2020-07-14 2024-08-06 北京百度网讯科技有限公司 地图信息展示方法、装置、电子设备及存储介质
JP6925495B1 (ja) * 2020-10-07 2021-08-25 株式会社カカクコム 情報処理システム、サーバ、情報処理方法及び情報処理プログラム
KR102618991B1 (ko) * 2020-12-31 2023-12-28 원종규 특성 보완을 위한 체험 추천 시스템
KR102340976B1 (ko) * 2021-01-12 2021-12-17 서문윤 웹서비스 사용자 경험을 활용한 딥러닝 기반의 맞춤형 컨텐츠 제공 시스템
KR102544534B1 (ko) * 2022-10-14 2023-06-20 주식회사 데이터쿡 사용자의 건강데이터를 이용하여 사용자의 운동프로그램을 구성하는 서비스 제공 장치, 방법 및 프로그램
JP7325598B1 (ja) * 2022-12-23 2023-08-14 株式会社博報堂Dyホールディングス レコメンドサーバ、レコメンド方法およびプログラム

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4418135B2 (ja) * 2000-11-22 2010-02-17 パナソニック株式会社 グループ形成システム、グループ形成方法、およびグループ形成装置
JP2010224623A (ja) * 2009-03-19 2010-10-07 Nomura Research Institute Ltd 関連記事推奨方法および関連記事推奨プログラム
JP2011060182A (ja) * 2009-09-14 2011-03-24 Aim Co Ltd コンテンツ選択システム
JP6097126B2 (ja) 2013-04-10 2017-03-15 株式会社Nttドコモ レコメンド情報生成装置及びレコメンド情報生成方法
JP2016120135A (ja) 2014-12-25 2016-07-07 公立大学法人広島市立大学 電磁誘導を用いる接触検知装置
JP6718684B2 (ja) * 2016-01-08 2020-07-08 日本放送協会 番組情報配信装置、及びプログラム
JP6854748B2 (ja) 2017-12-21 2021-04-07 ヤフー株式会社 情報提供装置、情報提供方法、およびプログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021103542A (ja) * 2017-12-21 2021-07-15 ヤフー株式会社 情報提供装置、情報提供方法、およびプログラム
JP7160980B2 (ja) 2017-12-21 2022-10-25 ヤフー株式会社 情報提供装置、情報提供方法、およびプログラム

Also Published As

Publication number Publication date
JP7160980B2 (ja) 2022-10-25
JP2019113943A (ja) 2019-07-11
JP2021103542A (ja) 2021-07-15

Similar Documents

Publication Publication Date Title
JP6854748B2 (ja) 情報提供装置、情報提供方法、およびプログラム
US11514333B2 (en) Combining machine-learning and social data to generate personalized recommendations
US10922609B2 (en) Semi-supervised learning via deep label propagation
Teo et al. Adaptive, personalized diversity for visual discovery
US11347790B2 (en) System and method for providing content to users based on interactions by similar other users
US11443170B2 (en) Semi-supervised training of neural networks
US11580447B1 (en) Shared per content provider prediction models
CN109903086B (zh) 一种相似人群扩展方法、装置及电子设备
US8032535B2 (en) Personalized web search ranking
US20120016642A1 (en) Contextual-bandit approach to personalized news article recommendation
US10102482B2 (en) Factorized models
US9141966B2 (en) Opinion aggregation system
CN107464141B (zh) 用于信息推广的方法、装置、电子设备及计算机可读介质
US10157351B1 (en) Persona based data mining system
US9665551B2 (en) Leveraging annotation bias to improve annotations
US11651255B2 (en) Method and apparatus for object preference prediction, and computer readable medium
US10089675B1 (en) Probabilistic matrix factorization system based on personas
JP6719399B2 (ja) 解析装置、解析方法、およびプログラム
US20190362025A1 (en) Personalized query formulation for improving searches
CN118043802A (zh) 一种推荐模型训练方法及装置
WO2019133164A1 (en) System and method for recommending features for content presentations
JP6960838B2 (ja) 情報提供装置、情報提供方法、およびプログラム
JP6831719B2 (ja) 情報処理システム、情報処理方法、およびプログラム
US20140032665A1 (en) Activity-based content selection
JP7043243B2 (ja) 分類装置、分類方法、およびプログラム

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20191101

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20191108

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200306

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210129

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20210216

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210316

R150 Certificate of patent or registration of utility model

Ref document number: 6854748

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250