JP7083375B2 - 個人化コンテンツ推薦のためのリアルタイムグラフに基づく埋め込み構築方法およびシステム - Google Patents

個人化コンテンツ推薦のためのリアルタイムグラフに基づく埋め込み構築方法およびシステム Download PDF

Info

Publication number
JP7083375B2
JP7083375B2 JP2020134521A JP2020134521A JP7083375B2 JP 7083375 B2 JP7083375 B2 JP 7083375B2 JP 2020134521 A JP2020134521 A JP 2020134521A JP 2020134521 A JP2020134521 A JP 2020134521A JP 7083375 B2 JP7083375 B2 JP 7083375B2
Authority
JP
Japan
Prior art keywords
content
embedding
user
relationship
graph
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
JP2020134521A
Other languages
English (en)
Other versions
JP2021026779A (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.)
Naver Corp
Original Assignee
Naver 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 Naver Corp filed Critical Naver Corp
Publication of JP2021026779A publication Critical patent/JP2021026779A/ja
Application granted granted Critical
Publication of JP7083375B2 publication Critical patent/JP7083375B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Tourism & Hospitality (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • General Business, Economics & Management (AREA)
  • Primary Health Care (AREA)
  • Marketing (AREA)
  • Human Resources & Organizations (AREA)
  • Economics (AREA)
  • Artificial Intelligence (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Strategic Management (AREA)
  • Evolutionary Computation (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Transfer Between Computers (AREA)

Description

以下の説明は、個人化コンテンツ推薦のためのコンテンツ埋め込み(content embedding)技術に関する。
膨大な量と種類のコンテンツがサービスされている近年の状況において、多様な基準によってユーザにコンテンツを推薦するサービスが登場しているが、最も代表的な例として個人化推薦サービスが挙げられる。
個人化推薦サービスとは、ユーザの活動(例えば、コンテンツの利用パターンやコンテンツの購入パターンなど)を基準としてユーザに適したコンテンツ、すなわち、個人化されたコンテンツを推薦するサービスである。
このような個人化推薦サービスの従来の方式は、ユーザの過去の活動を利用して活動パターンを分析し、ユーザの活動パターンと類似のパターンを有する他のユーザを検索し、検索された他のユーザが利用あるいは購入したコンテンツをユーザに推薦する方式を採用している。
特許文献1(登録日2016年8月4日)には、複数のユーザグループを対象に、複数のコンテンツのうちの適したものを、複数のユーザの各コンテンツに対する相互作用に基づくユーザグループ別のスコアと、該当のユーザが属するユーザグループの優先順位に基づいて提供することにより、該当のユーザに対して適合度の高いコンテンツを推薦することができる技術が開示されている。
韓国登録特許第10-1647364号公報
個人化推薦のためのコンテンツ埋め込み(content embedding)として、ユーザに表示されたコンテンツはもちろん、表示されなかったコンテンツまで含んだ埋め込みを提供することができる方法およびシステムを提供する。
個人化推薦のための埋め込みとして、コンテンツの外観的な類似性だけはなく、クリック(click)関係、ドメイン(domain)類似性、セッション(session)関係を含んだ埋め込みを提供することができる方法およびシステムを提供する。
個人化推薦に利用するための埋め込みとして、ユーザの活動をリアルタイムで反映したユーザ埋め込み(user embedding)を提供することができる方法およびシステムを提供する。
コンピュータシステムが実行する個人化推薦のための埋め込み方法であって、前記コンピュータシステムは、少なくとも1つのプロセッサを含み、当該個人化推薦のための埋め込み方法は、前記少なくとも1つのプロセッサが、推薦対象となるコンテンツとの関係を示すグラフを生成する段階、前記少なくとも1つのプロセッサが、前記グラフを利用して前記コンテンツの埋め込みを学習する段階、および前記少なくとも1つのプロセッサが、前記学習が完了したグラフに前記コンテンツと関連するユーザの活動を反映して前記ユーザの埋め込みを実行する段階を含む、個人化推薦のための埋め込み方法を提供する。
一側面によると、前記生成する段階は、前記コンテンツをノードで構成する段階、および前記コンテンツ間の外観(appearance)の類似関係を示す外観的類似性、同じユーザによってクリックされた関係を示すクリック関係、同じセッション(session)に表示される関係を示すセッション関係、同じドメイン(domain)をもつ関係を示すドメイン類似性のうちの2つ以上の関係をエッジで構成する段階を含んでよい。
他の側面によると、前記生成する段階は、前記コンテンツを格納および維持するコンテンツデータベースと前記ユーザの活動履歴を格納および維持するユーザデータベースから前記コンテンツ間の関係を抽出し、抽出された関係をグラフ構造で構築する段階を含んでよい。
また他の側面によると、前記学習する段階は、GNN(graph neural network)基盤の学習モデルを利用して関係があるコンテンツの埋め込みを学習する段階を含んでよい。
また他の側面によると、前記学習する段階は、GNN基盤の学習モデルを利用して前記ユーザがクリックしたコンテンツのシーケンス集合を学習データとし、以前にクリックした以前コンテンツと前記以前コンテンツの次にクリックした次コンテンツを埋め込ませる段階を含んでよい。
また他の側面によると、前記実行する段階は、前記ユーザを仮想ノード(virtual node)で表現し、前記仮想ノードを前記ユーザの活動と関連するコンテンツのノードに連結させる段階を含んでよい。
また他の側面によると、前記実行する段階は、前記仮想ノードと連結するコンテンツの埋め込みを結合して前記ユーザの埋め込みを計算する段階、および前記ユーザの活動をリアルタイムで受信して前記計算された埋め込みをアップデートする段階を含んでよい。
また他の側面によると、当該個人化推薦のための埋め込み方法は、前記少なくとも1つのプロセッサが、前記コンテンツの埋め込みと前記ユーザの埋め込みに基づいて推薦コンテンツを選択する段階をさらに含んでよい。
また他の側面によると、前記選択する段階は、前記ユーザの埋め込み値と距離が最も近い埋め込み値を有するコンテンツを前記推薦コンテンツとして選択してよい。
さらに他の側面によると、前記ユーザの埋め込みは、前記ユーザの活動にともなってリアルタイムでアップデートされ、前記選択する段階は、前記ユーザの埋め込み計算時間が事前に定められた閾値を超える場合、以前に計算された埋め込みを利用して前記推薦コンテンツを選択してよい。
前記個人化推薦のための埋め込み方法を前記コンピュータシステムに実行させるためのコンピュータプログラムを提供する。
前記個人化推薦のための埋め込み方法をコンピュータに実行させるためのプログラムが記録されている、非一時的なコンピュータ読み取り可能な記録媒体を提供する。
コンピュータシステムであって、メモリに含まれるコンピュータ読み取り可能な命令を実行するように構成された少なくとも1つのプロセッサを含み、前記少なくとも1つのプロセッサは、推薦対象となるコンテンツ間の関係を示すグラフを生成するグラフ生成部、前記グラフを利用して前記コンテンツの埋め込みを学習するコンテンツ埋め込み部、および前記学習が完了したグラフに前記コンテンツと関連するユーザの活動を反映して前記ユーザの埋め込みを実行するユーザ埋め込み部を含む、コンピュータシステムを提供する。
本発明の実施形態によると、個人化推薦のためのコンテンツ埋め込みとして、ユーザに表示されたコンテンツはもちろん、表示されなかったコンテンツまで含んだ埋め込みを提供することができる。
本発明の実施形態によると、個人化推薦のためのコンテンツ埋め込みとして、コンテンツの外観的な類似性だけでなく、クリック関係、ドメイン類似性、セッション関係を含んだ埋め込みを提供することができる。
本発明の実施形態によると、個人化推薦に利用するための埋め込みとして、ユーザの活動をリアルタイムで反映したユーザ埋め込みを提供することができる。
本発明の一実施形態における、ネットワーク環境の例を示した図である。 本発明の一実施形態における、電子機器およびサーバの内部構成を説明するためのブロック図である。 本発明の一実施形態における、サーバのプロセッサが含むことのできる構成要素の例を示したブロック図である。 本発明の一実施形態における、サーバが実行することのできる方法の例を示したフローチャートである。 本発明の一実施形態における、コンテンツとの関係を示すコンテンツグラフを生成する過程の一例を説明するための図である。 本発明の一実施形態における、コンテンツとの関係を示すコンテンツグラフを生成する過程の一例を説明するための図である。 本発明の一実施形態における、コンテンツとの関係を示すコンテンツグラフを生成する過程の一例を説明するための図である。 本発明の一実施形態における、コンテンツ埋め込み過程の一例を説明するための図である。 本発明の一実施形態における、ユーザ埋め込み過程の一例を説明するための図である。 本発明の一実施形態における、グラフ基盤のコンテンツ埋め込みとユーザ埋め込みを利用した個人化推薦システムの例を示したブロック図である。
以下、本発明の実施形態について、添付の図面を参照しながら詳細に説明する。
本発明の実施形態は、個人化コンテンツ推薦のためのコンテンツ埋め込み技術に関する。
本明細書で具体的に開示される事項を含む実施形態は、個人化推薦のためのコンテンツ埋め込みとしてユーザに表示されたコンテンツはもちろん、表示されなかったコンテンツまで含み、ユーザの活動をリアルタイムで反映した埋め込みを提供することができ、これによってコンテンツに対する個人化推薦モデルの性能を向上させることができる。
図1は、本発明の一実施形態における、ネットワーク環境の例を示した図である。図1のネットワーク環境は、複数の電子機器110、120、130、140、複数のサーバ150、160、およびネットワーク170を含む例を示している。このような図1は、発明の説明のための一例に過ぎず、電子機器の数やサーバの数が図1のように限定されることはない。
複数の電子機器110、120、130、140は、コンピュータシステムによって実現される固定端末や移動端末であってよい。複数の電子機器110、120、130、140の例としては、AIスピーカ、スマートフォン、携帯電話、ナビゲーション、PC(personal computer)、ノート型PC、デジタル放送用端末、PDA(Personal Digital Assistant)、PMP(Portable Multimedia Player)、タブレット、ゲームコンソール、ウェアラブルデバイス、IoT(internet of things)デバイス、VR(virtual reality)デバイス、AR(augmented reality)デバイスなどがある。一例として、図1では、電子機器110の例としてAIスピーカを示しているが、本発明の実施形態において、電子機器110は、実質的に無線または有線通信方式を利用し、ネットワーク170を介して他の電子機器120、130、140および/またはサーバ150、160と通信することのできる多様な物理的なコンピュータシステムのうちの1つを意味してよい。
通信方式が限定されることはなく、ネットワーク170が含むことのできる通信網(一例として、移動通信網、有線インターネット、無線インターネット、放送網、衛星網など)を利用する通信方式だけではなく、機器間の近距離無線通信が含まれてもよい。例えば、ネットワーク170は、PAN(personal area network)、LAN(local area network)、CAN(campus area network)、MAN(metropolitan area network)、WAN(wide area network)、BBN(broadband network)、インターネットなどのネットワークのうちの1つ以上の任意のネットワークを含んでよい。さらに、ネットワーク170は、バスネットワーク、スターネットワーク、リングネットワーク、メッシュネットワーク、スター-バスネットワーク、ツリーまたは層的ネットワークなどを含むネットワークトポロジのうちの任意の1つ以上を含んでもよいが、これらに限定されることはない。
サーバ150、160それぞれは、複数の電子機器110、120、130、140とネットワーク170を介して通信して命令、コード、ファイル、コンテンツ、サービスなどを提供する1つ以上のコンピュータ装置によって実現されてよい。例えば、サーバ150は、ネットワーク170を介して接続した複数の電子機器110、120、130、140に第1サービスを提供するシステムであってよく、サーバ160も、ネットワーク170を介して接続した複数の電子機器110、120、130、140に第2サービスを提供するシステムであってよい。より具体的な例として、サーバ150は、複数の電子機器110、120、130、140においてインストールされて実行されるコンピュータプログラムであるアプリケーションを通じ、該当のアプリケーションが目的とするサービス(一例として、個人化推薦サービスなど)を第1サービスとして複数の電子機器110、120、130、140に提供してよい。他の例として、サーバ160は、上述したアプリケーションのインストールおよび実行のためのファイルを複数の電子機器110、120、130、140に配布するサービスを第2サービスとして提供してよい。
図2は、本発明の一実施形態における、電子機器およびサーバの内部構成を説明するためのブロック図である。図2では、電子機器に対する例として電子機器110の内部構成およびサーバ150の内部構成について説明する。また、他の電子機器120、130、140やサーバ160も、上述した電子機器110またはサーバ150と同一または類似の内部構成を有してよい。
電子機器110およびサーバ150は、メモリ211、221、プロセッサ212、222、通信モジュール213、223、および入力/出力インタフェース214、224を含んでよい。メモリ211、221は、非一時的なコンピュータ読み取り可能な記録媒体であって、RAM(random access memory)、ROM(read only memory)、ディスクドライブ、SSD(solid state drive)、フラッシュメモリ(flash memory)などのような永続的大容量記録装置を含んでよい。ここで、ROM、SSD、フラッシュメモリ、ディスクドライブのような永続的大容量記録装置は、メモリ211、221とは区分される別の永続的記録装置として電子機器110やサーバ150に含まれてもよい。また、メモリ211、221には、オペレーティングシステムと、少なくとも1つのプログラムコード(一例として、電子機器110においてインストールされて実行されるブラウザや特定のサービスの提供のために電子機器110にインストールされるアプリケーションなどのためのコード)が記録されてよい。このようなソフトウェア構成要素は、メモリ211、221とは別のコンピュータ読み取り可能な記録媒体からロードされてよい。このような別のコンピュータ読み取り可能な記録媒体は、フロッピー(登録商標)ドライブ、ディスク、テープ、DVD/CD-ROMドライブ、メモリカードなどのコンピュータ読み取り可能な記録媒体を含んでよい。他の実施形態において、ソフトウェア構成要素は、コンピュータ読み取り可能な記録媒体ではない通信モジュール213、223を通じてメモリ211、221にロードされてもよい。例えば、少なくとも1つのプログラムは、開発者またはアプリケーションのインストールファイルを配布するファイル配布システム(一例として、上述したサーバ160)がネットワーク170を介して提供するファイルによってインストールされるコンピュータプログラム(一例として、上述したアプリケーション)に基づいてメモリ211、221にロードされてよい。
プロセッサ212、222は、基本的な算術、ロジック、および入出力演算を実行することにより、コンピュータプログラムの命令を処理するように構成されてよい。命令は、メモリ211、221または通信モジュール213、223によって、プロセッサ212、222に提供されてよい。例えば、プロセッサ212、222は、メモリ211、221のような記録装置に記録されたプログラムコードに従って受信される命令を実行するように構成されてよい。
通信モジュール213、223は、ネットワーク170を介して電子機器110とサーバ150とが互いに通信するための機能を提供してもよいし、電子機器110および/またはサーバ150が他の電子機器(一例として、電子機器120)または他のサーバ(一例として、サーバ160)と通信するための機能を提供してもよい。一例として、電子機器110のプロセッサ212がメモリ211のような記録装置に記録されたプログラムコードに従って生成した要求が、通信モジュール213の制御に従ってネットワーク170を介してサーバ150に伝達されてよい。これとは逆に、サーバ150のプロセッサ222の制御に従って提供される制御信号や命令、コンテンツ、ファイルなどが、通信モジュール223とネットワーク170を経て電子機器110の通信モジュール213を通じて電子機器110に受信されてよい。例えば、通信モジュール213を通じて受信されたサーバ150の制御信号や命令、コンテンツ、ファイルなどは、プロセッサ212やメモリ211に伝達されてよく、コンテンツやファイルなどは、電子機器110がさらに含むことのできる記録媒体(上述した永続的記録装置)に記録されてよい。
入力/出力インタフェース214は、入力/出力装置215とのインタフェースのための手段であってよい。例えば、入力装置は、キーボード、マウス、マイクロフォン、カメラなどの装置を、出力装置は、ディスプレイ、スピーカ、触覚フィードバックデバイスなどのような装置を含んでよい。他の例として、入力/出力インタフェース214は、タッチスクリーンのように入力と出力のための機能が1つに統合された装置とのインタフェースのための手段であってもよい。入力/出力装置215は、電子機器110と1つの装置で構成されてもよい。また、サーバ150の入力/出力インタフェース224は、サーバ150に接続するかサーバ150が含むことのできる入力または出力のための装置(図示せず)とのインタフェースのための手段であってよい。より具体的な例として、電子機器110のプロセッサ212がメモリ211にロードされたコンピュータプログラムの命令を処理するにあたり、サーバ150や電子機器120が提供するデータを利用して構成されるサービス画面やコンテンツが、入力/出力インタフェース214を通じてディスプレイに表示されてよい。
また、他の実施形態において、電子機器110およびサーバ150は、図2の構成要素よりも多くの構成要素を含んでもよい。しかし、大部分の従来技術的構成要素を明確に図に示す必要はない。例えば、電子機器110は、上述した入力/出力装置215のうちの少なくとも一部を含むように実現されてもよいし、トランシーバ、カメラ、各種センサ、データベースなどのような他の構成要素をさらに含んでもよい。より具体的な例として、電子機器110がAIスピーカである場合、一般的にAIスピーカが含んでいる各種センサ、カメラモジュール、物理的な各種ボタン、タッチパネルを利用したボタン、入力/出力ポート、振動のための振動器などのような多様な構成要素が、電子機器110にさらに含まれるように実現されてよい。
以下では、個人化コンテンツ推薦のためのリアルタイムグラフに基づく埋め込み構築方法およびシステムの具体的な実施形態について説明する。
先ず、ニューラルネットワーク(neural network)と個人化推薦システムについて、次のように簡単に説明する。
ニューラルネットワークは、教師あり学習(supervised learning)を用いた機械学習アルゴリズムの1つである。
ニューラルネットワークを学習することは、与えられたデータD={x、y}に対してxとyの間の適切なマッピング関数F(x)=yを探索することにある。ニューラルネットワークは多くの層で構成され、1つの層は線形演算と非線形演算に分けられる。線形演算は、入力ベクトルxに対するアフィン変換(affine transform)wx+bであり、非線形演算は、アフィン変換の結果値に活性化関数(activation function)を適用させるものである。活性化関数の代表的な例としてシグモイド関数が利用されてよい。ニューラルネットワークが多層である場合、1つの層の出力ベクトルはその次の層の入力ベクトルとなる。
ニューラルネットワークの最終出力yは、分類問題(classification problem)の場合にはカテゴリ値(categorical value)となり、回帰問題(regression problem)の場合には実数値(real value)となる。ニューラルネットワークの学習は、アフィン変換に使用するパラメータwとbの適切な値を探索することであり、逆伝播(backpropagation)アルゴリズムを使用して探索がなされてよい。
また、グラフニューラルネットワーク(graph neural network)の場合、ネットワーク入力X={x、・・・、x}はグラフで構成されている。
入力データ集合DはD={x、y、A}i=1・・・nのとおりとなる。ここで、xは入力ベクトル、yは出力ベクトル、Aはすべての入力xに対する隣接行列(adjacency matrix)を示す。グラフニューラルネットワークの各層で線形演算をするアフィン変換は、隣接行列が追加されたAxwとなる。2つの層で構成されたグラフニューラルネットワークの分類器の式は、数式(1)のように定義されてよい。
Figure 0007083375000001
グラフニューラルネットワークの演算を単純化すると、hi+1=transform(aggregate(A、h)、w)で表現されてよく、併合関数(aggregate)は入力ベクトルをグラフの隣接ノードと併合する過程であり、変換関数(transform)は一般的なニューラルネットワークで使用するアフィン変換と活性化関数を適用する過程である。h、hi+1はそれぞれ、i番目とi+1番目の層において各ノードの隠れベクトル(hidden vector)を意味する。
追加で、スペクトルグラフ畳み込み(spectral graph convolution)を使用する場合は、隣接行列Aを直ぐに使用する代わりにD-1/2AD-1/2を使用してよく、Dはグラフのdegree行列を意味する。
また、個人化推薦システムは、ユーザに最適なコンテンツを提供するシステムであるが、代表的な方法として協調フィルタリング(collaborative filtering)、FM(factorization machine)などがある。
協調フィルタリング方式は、過去の情報からユーザとコンテンツ間のインタラクション行列(interaction matrix)を生成し、インタラクションがないユーザとコンテンツの記録は行列因子分解(matrix factorization)によって計算する。このとき、計算された値のうちで最も高い値のコンテンツが推薦される。一般的には、ユーザとコンテンツ間のインタラクション行列を2つの小さな行列に因子分解し、各行列はユーザとコンテンツの埋め込み行列となる。
FM方式は、線形演算によってユーザとコンテンツ間の連関度点数を計算する。連関度点数は数式(2)のように定義されてよい。
Figure 0007083375000002
ここで、xはユーザとコンテンツ間に関連する入力値であり、wは入力に対する特徴埋め込みとして学習パラメータを意味する。
FM方式は、ユーザとコンテンツを多重カテゴリ値(例えば、ユーザ->性別、年齢、地域など)で表現し、カテゴリ間で可能な2次的な組み合わせの点数を合計した後、ユーザに対して最も高い点数のコンテンツを推薦する。このようなFM方式は簡単ながらも推論速度が早いため、個人化推薦システムにおいて広く使用されている。
個人化推薦モデルを教師あり学習モデルによって構築する場合、学習データは必ず入力と出力の対で構成されなければならない。しかし、ほとんどのユーザは全体コンテンツのうちの極少数だけに表示されるため、ラベリング(labeling)されているコンテンツの数は制限的である。このような事実は、個人化推薦システムが埋め込みを学習することの妨げとなる。ImageNetデータセットなどによって予め学習された深層学習モデルを使用することでコンテンツの埋め込みをサポートすることもできるが、このような場合にはコンテンツの外観しか表現することができないという限界がある。コンテンツ間の関係は、外観の類似程度を越え、意味的類似性やドメイン関連性などが含まれることもあるためである。まとめると、個人化推薦モデルの性能を高めるためには、ユーザに表示されなかったコンテンツも適切な埋め込み学習がなされなければならず、埋め込みは、コンテンツの外観だけでなく多様な特徴を表現しなければならない。
さらに、協調フィルタリングやFMのような従来の推薦システムは、ユーザごとに固定の埋め込みを有している。すなわち、学習が完成したユーザ埋め込み値は、ユーザが新たな活動をする間は変わらないのである。このような個人化推薦システムは、昨日まで学習したユーザの意図が、今日新たな活動をするユーザの意図と同じであるという仮定に基づいている。ところが、ユーザの意図はリアルタイムに変化する。個人化推薦のためのユーザ埋め込みは、リアルタイムに変化する意図を把握して素早くアップデートされることが好ましいと言える。
図3は、本発明の一実施形態における、サーバのプロセッサが含むことのできる構成要素の例を示したブロック図であり、図4は、本発明の一実施形態における、サーバが実行することのできる方法の例を示したフローチャートである。
本実施形態に係るサーバ150は、個人化されたコンテンツを推薦する個人化推薦サービスを提供するプラットフォームの役割を担う。
サーバ150のプロセッサ222は、図4に係る個人化推薦のための埋め込み方法を実行するための構成要素として、図3に示すように、グラフ生成部310、コンテンツ埋め込み部320、ユーザ埋め込み部330、およびコンテンツ推薦部340を含んでよい。実施形態によって、プロセッサ222の構成要素は、選択的にプロセッサ222に含まれても除外されてもよい。また、実施形態によって、プロセッサ222の構成要素は、プロセッサ222の機能の表現のために分離されても併合されてもよい。
このようなプロセッサ222およびプロセッサ222の構成要素は、図4の個人化推薦のための埋め込み方法が含む段階410~段階440を実行するようにサーバ150を制御してよい。例えば、プロセッサ222およびプロセッサ222の構成要素は、メモリ221が含むオペレーティングシステムのコードと、少なくとも1つのプログラムのコードとによる命令(instruction)を実行するように実現されてよい。
ここで、プロセッサ222の構成要素は、サーバ150に記録されたプログラムコードが提供する命令に従ってプロセッサ222によって実行される互いに異なる機能(different functions)の表現であってよい。例えば、サーバ150がコンテンツ間の関係を示すグラフを生成するように上述した命令に従ってサーバ150を制御するプロセッサ222の機能的表現として、グラフ生成部310が利用されてよい。
プロセッサ222は、サーバ150の制御と関連する命令がロードされたメモリ221から必要な命令を読み取ってよい。この場合、前記読み取られた命令は、以下で説明する段階410~段階440をプロセッサ222が実行するように制御するための命令を含んでよい。以下で説明する段階410~段階440は、図4に示した順序とは異なるように実行されてもよく、段階410~段階440のうちの一部が省略されても、追加の過程がさらに含まれてもよい。
段階410において、グラフ生成部310は、コンテンツ間の関係を示すコンテンツグラフを生成してよい。グラフ生成部310は、コンテンツを格納および維持するコンテンツデータベースとユーザ別の活動履歴を格納および維持するユーザデータベースからコンテンツ間の関係を抽出し、抽出された関係をグラフ構造で構築することによってコンテンツグラフを生成してよい。コンテンツデータベースには各コンテンツの属性情報や詳細内容などがコンテンツ別に含まれてよく、ユーザデータベースにはユーザに表示されたコンテンツやユーザがクリックしたコンテンツなどのように、コンテンツと関連するユーザログなどが含まれてよい。
図5~図7は、本発明の一実施形態における、コンテンツ間の関係を示すコンテンツグラフを生成する過程の一例を説明するための図である。
図5は、コンテンツグラフの例を示している。
図5を参照すると、コンテンツグラフ500は、コンテンツを示すノード(node)501と、コンテンツ間の関係を示すエッジ(edge)502で構成される。コンテンツグラフ500、すなわち、グラフG=(V、E)は、ノード集合V=(v、・・・、v)とエッジ集合E=(Esim、Eclick、Edomain、Esession、・・・)で構成される。ここで、ノードvはi番目のコンテンツを示し、コンテンツは、推薦対象となるすべてのアイテム(例えば、クーポン、ニュース、音楽、漫画など)が該当となってよい。エッジの種類としては、外観的類似性(appearance similarity)を示すEsim、クリック(click)関係を示すEclick、ドメイン類似性(domain similarity)を示すEdomain、セッション(session)関係を示すEsessionなどが含まれてよい。
より詳しく説明すると、外観的類似性Esim=(esim 、・・・、esim )のesim=(v、v)は、コンテンツvとv間の外観的類似性を示すエッジである。ImageNetデータセットを利用して予め学習した深層学習(deep learning)を使用すれば、2つのコンテンツ間の外観的類似の程度を測定することができ、KNN(K-Nearest Neighbor)アルゴリズムを使用して距離が近いノード同士をエッジで連結することができる。ImageNetを学習したニューラルネットワークだけでなく、ウィキペディア(Wikipedia)を学習したRNN(recurrent neural network)、LSTM(long-short term memory)などのような他のデータを学習したモデルに対しても拡張可能である。分類問題におけるKNNの出力は、所属する項目としてk個の最近傍で最も共通する項目に割り当てられる物体に分類されてよく、回帰問題におけるKNNの出力は、物体の特定値としてk個の最近傍がもつ値の平均に該当する。KNNのk値は調節可能なパラメータであって、k値を大きな値で設定する場合、ノイズデータによる変化量は減少するが重要データを逃すようになる反面、k値を小さい値で設定する場合はノイズデータや異常値の影響が高まる。
クリック関係Eclick=(eclick 、・・・、eclick )のeclick=(v、v)は、同じユーザがコンテンツviをクリックした後、連続的にあるいは単位時間以内にコンテンツvjをクリックした関係を示すものである。すべてのユーザの活動履歴に含まれたクリック記録から、クリック関係を示すエッジを生成することができる。
セッション関係Esession=(esession 、・・・、esession )のesession=(v、v)は、コンテンツviとvjが1つのセッションに登場した関係を示すものである。このとき、セッションとは、電子機器110とサーバ150間の通信におけるセッション層(session layer)であって、応用プログラムが起動し始めて終了するまでの時間を意味してよく、セッション関係とは、同じセッションにともに表示されるコンテンツであることを示してよい。
ドメイン類似性Edomain=(edomain 、・・・、edomain )のedomain=(v、v)は、コンテンツviとvjが同じ主題のコンテンツであることを示してよい。このとき、ドメインとは、関係型データベースでテーブルの各属性がもつ値の集合を意味するものであり、ドメイン類似性とは、同じ属性関係を示すものであってよい。
このように構築されたコンテンツグラフ500は異種グラフ(heterogeneous graph)であり、コンテンツ間の外観的類似性はもちろん、コンテンツ間の多様な関係を表現することによって生成されてよい。
図6に示した関係構造のコンテンツグラフ500によると、大気汚染関連のニュースA61は、マスク広告63および空気清浄機広告64とは直接的な関係はないが、大気汚染関連のニュース記事B62と外観的類似性およびセッション関係があるため、大気汚染ニュース記事B62とクリック関係があるマスク広告63と、マスク広告63とドメイン類似性がある空気清浄機広告64とすべて連結可能となる。
同じように、図7に示した関係構造のコンテンツグラフ500によると、ハンバーガー割引クーポン71とクリック関係およびセッション関係をもつハンバーガー広告74の場合、コーヒークーポンA72およびコーヒークーポンB73とは直接的な関係がなくても、コーヒークーポンA72がハンバーガー割引クーポン71とドメイン類似性があり、コーヒークーポンB73がコーヒークーポンA72と外観的類似性があるため、ハンバーガー広告74がハンバーガー割引クーポン71を経由してコーヒークーポンA72およびコーヒークーポンB73とすべて連結可能となる。
したがって、コンテンツ間の外観的類似性だけでなく、クリック関係、セッション関係、ドメイン類似性などのような多様な特徴の関係が表現されたコンテンツグラフ500により、ユーザに表示されなかったコンテンツであったとしても、外観的類似性、クリック関係、セッション関係、ドメイン類似性などの関係を示すエッジを経ることでユーザに表示されたコンテンツと連結するようになるため、より多くのコンテンツが埋め込み学習に追加されるようになる。
再び図4において、段階420において、コンテンツ埋め込み部320は、段階410で生成されたコンテンツグラフを利用してコンテンツの埋め込みを学習してよい。
図8は、本発明の一実施形態における、コンテンツ埋め込み過程の一例を説明するための図である。
図8を参照すると、コンテンツ埋め込みを学習するために上述したグラフニューラルネットワーク(GNN)基盤の学習モデル800が利用され、図5を参照しながら説明したコンテンツグラフ500が学習モデル800の入力となる。
学習データDは、D=(click_sequence_set、next_click、A)のとおりとなる。ここで、click_sequence_setは、ユーザが過去にクリックしたコンテンツのシーケンス集合click_sequence_set=(click_sequence、・・・、click_sequence|D|)であり、click_sequence=(v、・・・、v)である。next_click=(next_click、next_click|D|)において、next_clickは、i番目のclick_sequenceでユーザが次にクリックしたコンテンツvl+1を示す。Aは、コンテンツグラフの隣接行列(adjacency matrix)を示す。
図8に示すように、コンテンツ埋め込み部320は、コンテンツグラフ500の各ノードに該当するコンテンツの生データ(raw data)から畳み込みディープネットワーク(convolution deep network)を利用して特徴ベクトルを抽出することにより、各ノードの初期特徴値を取得してよい。この後、コンテンツ埋め込み部320は、グラフニューラルネットワーク(GNN)を利用し、コンテンツグラフ500に基づいてノード間のエッジによるグラフトポロジ(topology)が反映された特徴値を生成してよい。言い換えれば、グラフニューラルネットワーク(GNN)は、コンテンツグラフ500でエッジによって連結されるノードを、類似の特徴値を有するように学習してよい。
コンテンツ埋め込み部320は、click_sequenceのコンテンツv、・・・、vとnext_clickコンテンツvl+1を埋め込ませる。各ノードの初期値は、予め学習された深層学習モデルを利用して計算しておいてよく、コンテンツ埋め込み学習は、コンテンツv、・・・、vの結合埋め込みとコンテンツvl+1の埋め込みが類似するように、すなわち、埋め込み距離が近くなるようにする方式によって進められる。
プーリング(pooling)層は、click_sequenceのコンテンツv、・・・、vを単一特徴値で結合する(aggregate)役割を担うものであるが、このとき、コンテンツ埋め込みを結合するために、ベクトル平均(vector mean)、ベクトル要素ごとの積(element-wise product)、再帰型ニューラルネットワーク(RNN)などのような多様な方法が利用されてよい。コンテンツv、・・・、vの結合埋め込みとコンテンツvl+1の埋め込みの距離を近づける方法として、トリプレット損失(triplet loss)関数またはマージン基盤損失(margin-based loss)関数が使用されてよい。コンテンツグラフ500において、すべてのエッジが有意味なものなのではなく、一部ノイズが含まれることがあるため、トリプレット損失関数などを用いてエッジごとに加重値を適用してよい。例えば、コンテンツvとコンテンツvl+1間の関係に該当するエッジに大きな加重値を与えてコンテンツ埋め込みを学習してよい。
上述した学習モデル800は、グラフ畳み込み(graph convolution)、Graph SAGEなどのような多様なグラフ埋め込み方法が利用されてよい。
上述では、コンテンツ間のクリック関係を中心としてコンテンツの埋め込み過程を説明しているが、他の特性の関係も同じ方式によってコンテンツの埋め込みを学習することができる。
再び図4において、段階430において、ユーザ埋め込み部330は、段階420でコンテンツ埋め込み学習が完了したコンテンツグラフに基づいてコンテンツを消費するユーザの埋め込みを実行してよい。ユーザ埋め込み部330は、コンテンツと関連するユーザの活動をコンテンツグラフにリアルタイムで反映してユーザ埋め込みを実行してよい。
図9は、本発明の一実施形態における、ユーザ埋め込み過程の一例を説明するための図である。図9は、学習モデル800に基づいて学習が完了したコンテンツグラフ500からユーザを埋め込む過程の一例を示している。
図9を参照すると、ユーザノード90はコンテンツグラフ500に明らかに存在しないが、ユーザのリアルタイム活動から仮想ユーザノード(virtual user node)として表現されてよい。仮想ユーザノード90は、コンテンツグラフ500で該当のユーザとインタラクションが発生したコンテンツと連結してよい。
ユーザ埋め込みは、図8の学習モデル800において、コンテンツv、・・・、vの結合埋め込みから計算される。ユーザノードは、固定のユーザ埋め込みを持たないため存在しない。その代わりに、ユーザ埋め込みは、コンテンツグラフ500でユーザの活動内訳から生成された仮想ユーザノード90と連結するコンテンツ埋め込みを結合して計算される。埋め込み結合方法は、コンテンツ埋め込み学習に使用した方法(例えば、ベクトル平均、ベクトル要素ごとの積、再帰型ニューラルネットワークなど)が利用されてよい。ユーザのリアルタイム活動が反映されるユーザ埋め込みは、従来の推薦システムでユーザ埋め込みを予め固定させておく方法とは対照的である。個人化推薦を行うために埋め込み空間でユーザ埋め込みとコンテンツ埋め込みとの距離を測定し、最も近い埋め込みを有するコンテンツが選択されてよい。
再び図4において、段階440において、コンテンツ推薦部340は、段階420でのコンテンツ埋め込みと段階430でのユーザ埋め込みに基づいて個人化されたコンテンツを推薦してよい。
図10は、本発明の一実施形態における、グラフ基盤のコンテンツ埋め込みとユーザ埋め込みを使用した個人化推薦システムの例を示したブロック図である。
図10を参照すると、個人化推薦システム1000は、クライアントである複数の電子機器110、120、130、140にインストールされたアプリケーションのプロキシシステム(proxy system)であり、図1と図2を参照しながら説明したサーバ150に対応してよい。
個人化推薦システム1000は、埋め込み部分と検索部分とに分けられてよく、埋め込み部分は、グラフ生成部310、コンテンツ埋め込み部320、およびユーザ埋め込み部330を含んでよく、検索部分はコンテンツ推薦部340を含んでよい。
個人化推薦システム1000は、CP(content provider)から提供されたコンテンツを格納および維持するためのコンテンツデータベース1001、電子機器110、120、130、140のユーザの活動履歴を格納および維持するためのユーザデータベース1002、コンテンツ埋め込みを格納および維持するためのコンテンツ埋め込みデータベース1003、およびユーザ埋め込みを格納および維持するためのユーザ埋め込みデータベース1004を含んでよい。
上述したデータベース1001、1002、1003、1004は、メモリ221とは区分される個別の格納装置として、サーバ150に含まれてもよいし、サーバ150と連動可能な個別のシステムで構成されてもよい。
個人化推薦システム1000は、大容量のコンテンツからユーザに適した、すなわち、個人化されたコンテンツを迅速に探索してユーザに提供しなければならない。このために、先ず、グラフ生成部310は、コンテンツデータベース1001とユーザデータベース1002に格納された情報に基づいてコンテンツ間の多様な関係によって生成されたコンテンツグラフを構築してよく、コンテンツ埋め込み部320は、コンテンツグラフに基づいてコンテンツ埋め込み値を予め計算してコンテンツ埋め込みデータベース1003に格納しておいてよい。この後、ユーザ埋め込み部330は、サーバ150からユーザの活動(ユーザとインタラクション履歴があるコンテンツ)が伝達されると、リアルタイムでユーザ埋め込みをアップデートしてよく、アップデートされたユーザ埋め込みをユーザ埋め込みデータベース1004に個別に格納しておいてよい。
コンテンツ推薦部340は、電子機器110のユーザを対象に個人化推薦サービスを提供する場合、コンテンツ埋め込みデータベース1003に格納されたコンテンツ埋め込み値とユーザ埋め込みデータベース1004に格納されたユーザ埋め込み値に基づき、電子機器110のユーザの埋め込み値と最も近い埋め込み値を有するコンテンツを選択して推薦してよい。
ユーザ埋め込みの場合、リアルタイムでアップデートを反映するため、ユーザ埋め込み計算時間が事前に定められた閾値(threshold)を超えれば、以前に格納しておいたユーザ埋め込みがコンテンツ推薦に使用されるようになる。
コンテンツ推薦部340は、ユーザ埋め込みから最も近いコンテンツ埋め込みを探索するために、NN(nearest neighbor)技法(例えば、ANN(approximate nearest neighbor)、KNN(k-nearest neighbor)などのようなアルゴリズムを利用してよい。
このように、本発明の実施形態によると、個人化推薦のための埋め込みとして、ユーザに表示されたコンテンツはもちろん、表示されなかったコンテンツまで含むことができ、ユーザの活動をリアルタイムで反映した埋め込みを提供することにより、コンテンツに対する個人化推薦モデルの性能を向上させるこができる。
上述した装置は、ハードウェア構成要素、ソフトウェア構成要素、および/またはハードウェア構成要素とソフトウェア構成要素との組み合わせによって実現されてよい。例えば、実施形態で説明された装置および構成要素は、プロセッサ、コントローラ、ALU(arithmetic logic unit)、デジタル信号プロセッサ、マイクロコンピュータ、FPGA(field programmable gate array)、PLU(programmable logic unit)、マイクロプロセッサ、または命令を実行して応答することができる様々な装置のように、1つ以上の汎用コンピュータまたは特殊目的コンピュータを利用して実現されてよい。処理装置は、オペレーティングシステム(OS)およびOS上で実行される1つ以上のソフトウェアアプリケーションを実行してよい。また、処理装置は、ソフトウェアの実行に応答し、データにアクセスし、データを記録、操作、処理、および生成してもよい。理解の便宜のために、1つの処理装置が使用されるとして説明される場合もあるが、当業者は、処理装置が複数個の処理要素および/または複数種類の処理要素を含んでもよいことが理解できるであろう。例えば、処理装置は、複数個のプロセッサまたは1つのプロセッサおよび1つのコントローラを含んでよい。また、並列プロセッサのような、他の処理構成も可能である。
ソフトウェアは、コンピュータプログラム、コード、命令、またはこれらのうちの1つ以上の組み合わせを含んでもよく、思うままに動作するように処理装置を構成したり、独立的または集合的に処理装置に命令したりしてよい。ソフトウェアおよび/またはデータは、処理装置に基づいて解釈されたり、処理装置に命令またはデータを提供したりするために、いかなる種類の機械、コンポーネント、物理装置、コンピュータ記録媒体または装置に具現化されてよい。ソフトウェアは、ネットワークによって接続されたコンピュータシステム上に分散され、分散された状態で記録されても実行されてもよい。ソフトウェアおよびデータは、1つ以上のコンピュータ読み取り可能な記録媒体に記録されてよい。
実施形態に係る方法は、多様なコンピュータ手段によって実行可能なプログラム命令の形態で実現されてコンピュータ読み取り可能な媒体に記録されてよい。ここで、媒体は、コンピュータで実行可能なプログラムを継続して記録するものであっても、実行またはダウンロードのために一時記録するものであってもよい。また、媒体は、単一または複数のハードウェアが結合した形態の多様な記録手段または格納手段であってよく、あるコンピュータシステムに直接接続する媒体に限定されることはなく、ネットワーク上に分散して存在するものであってもよい。媒体の例は、ハードディスク、フロッピー(登録商標)ディスク、および磁気テープのような磁気媒体、CD-ROMおよびDVDのような光媒体、フロプティカルディスク(floptical disk)のような光磁気媒体、およびROM、RAM、フラッシュメモリなどを含み、プログラム命令が記録されるように構成されたものであってよい。また、媒体の他の例として、アプリケーションを配布するアプリケーションストアやその他の多様なソフトウェアを供給または配布するサイト、サーバなどで管理する記録媒体または格納媒体が挙げられる。
以上のように、実施形態を、限定された実施形態および図面に基づいて説明したが、当業者であれば、上述した記載から多様な修正および変形が可能であろう。例えば、説明された技術が、説明された方法とは異なる順序で実行されたり、かつ/あるいは、説明されたシステム、構造、装置、回路などの構成要素が、説明された方法とは異なる形態で結合されたりまたは組み合わされたり、他の構成要素または均等物によって対置されたり置換されたとしても、適切な結果を達成することができる。
したがって、異なる実施形態であっても、特許請求の範囲と均等なものであれば、添付される特許請求の範囲に属する。
222:プロセッサ
310:グラフ生成部
320:コンテンツ埋め込み部
330:ユーザ埋め込み部
340:コンテンツ推薦部

Claims (11)

  1. コンピュータシステムが実行する個人化推薦のための埋め込み方法であって、
    前記コンピュータシステムは、少なくとも1つのプロセッサを含み、
    当該個人化推薦のための埋め込み方法は、
    前記少なくとも1つのプロセッサが、推薦対象となるコンテンツ間の関係を示すグラフを生成する段階、
    前記少なくとも1つのプロセッサが、前記グラフを利用して前記コンテンツの埋め込みを学習する段階
    前記少なくとも1つのプロセッサが、前記学習が完了したグラフに前記コンテンツと関連するユーザの活動を反映して前記ユーザの埋め込みを実行する段階、および
    前記少なくとも1つのプロセッサが、前記コンテンツの埋め込みと前記ユーザの埋め込みに基づいて推薦コンテンツを選択する段階
    を含み、
    前記生成する段階は、
    前記コンテンツをノードで構成する段階、および
    前記コンテンツ間の外観の類似関係を示す外観的類似性、同じユーザによってクリックされた関係を示すクリック関係、同じセッションに表示される関係を示すセッション関係、および同じドメインを有する関係を示すドメイン類似性をエッジで構成する段階
    を含み、
    前記実行する段階は、
    前記ユーザを仮想ノードで表現し、前記仮想ノードを前記ユーザの活動と関連するコンテンツのノードに連結させる段階、
    前記仮想ノードと連結するコンテンツの埋め込みを結合して前記ユーザの埋め込みを計算する段階、および
    前記ユーザの活動をリアルタイムで受信して前記計算された埋め込みをアップデートする段階
    を含み、
    前記選択する段階は、
    前記ユーザの埋め込み計算時間が事前に定められた閾値を超える場合、以前に計算された埋め込みを利用して前記推薦コンテンツを選択すること
    を特徴とする、個人化推薦のための埋め込み方法。
  2. 前記生成する段階は、
    前記コンテンツを格納および維持するコンテンツデータベースと前記ユーザの活動履歴を格納および維持するユーザデータベースから前記コンテンツとの関係を抽出し、抽出された関係をグラフ構造で構築する段階
    を含む、請求項1に記載の個人化推薦のための埋め込み方法。
  3. 前記学習する段階は、
    GNN(graph neural network)基盤の学習モデルを利用して関係があるコンテンツの埋め込みを学習する段階
    を含む、請求項1に記載の個人化推薦のための埋め込み方法。
  4. 前記学習する段階は、
    GNN基盤の学習モデルを利用して前記ユーザがクリックしたコンテンツのシーケンス集合を学習データとし、以前にクリックした以前コンテンツと前記以前コンテンツの次にクリックした次コンテンツを埋め込ませる段階
    を含む、請求項1に記載の個人化推薦のための埋め込み方法。
  5. 前記選択する段階は、
    前記ユーザの埋め込み値と距離が最も近い埋め込み値を有するコンテンツを前記推薦コンテンツとして選択すること
    を特徴とする、請求項に記載の個人化推薦のための埋め込み方法。
  6. 請求項1~のうちのいずれか一項に記載の個人化推薦のための埋め込み方法をコンピュータシステムに実行させる、コンピュータプログラム。
  7. 請求項1~のうちのいずれか一項に記載の個人化推薦のための埋め込み方法をコンピュータに実行させるためのプログラムが記録されている、非一時的なコンピュータ読み取り可能な記録媒体。
  8. コンピュータシステムであって、
    メモリに含まれるコンピュータ読み取り可能な命令を実行するように構成された少なくとも1つのプロセッサ
    を含み、
    前記少なくとも1つのプロセッサは、
    推薦対象となるコンテンツ間の関係を示すグラフを生成するグラフ生成部、
    前記グラフを利用して前記コンテンツの埋め込みを学習するコンテンツ埋め込み部
    前記学習が完了したグラフに前記コンテンツと関連するユーザの活動を反映して前記ユーザの埋め込みを実行するユーザ埋め込み部、および
    前記コンテンツの埋め込みと前記ユーザの埋め込みに基づいて推薦コンテンツを選択するコンテンツ推薦部
    を含み、
    前記グラフ生成部は、
    前記コンテンツをノードで構成し、
    前記コンテンツ間の外観の類似関係を示す外観的類似性、同じユーザによってクリックされた関係を示すクリック関係、同じセッションに表示される関係を示すセッション関係、および同じドメインを有する関係を示すドメイン類似性をエッジで構成し、
    前記ユーザ埋め込み部は、
    前記ユーザを仮想ノードで表現し、前記仮想ノードを前記ユーザの活動と関連するコンテンツのノードに連結させ、
    前記仮想ノードと連結するコンテンツの埋め込みを結合して前記ユーザの埋め込みを計算し、
    前記ユーザの活動をリアルタイムで受信して前記計算された埋め込みをアップデートし、
    前記コンテンツ推薦部は、
    前記ユーザの埋め込み計算時間が事前に定められた閾値を超える場合、以前に計算された埋め込みを利用して前記推薦コンテンツを選択すること
    を特徴とする、コンピュータシステム。
  9. 前記グラフ生成部は、
    前記コンテンツを格納および維持するコンテンツデータベースと前記ユーザの活動履歴を格納および維持するユーザデータベースから前記コンテンツ間の関係を抽出し、抽出された関係をグラフ構造で構築すること
    を特徴とする、請求項に記載のコンピュータシステム。
  10. 前記コンテンツ埋め込み部は、
    GNN基盤の学習モデルを利用して関係があるコンテンツの埋め込みを学習すること
    を特徴とする、請求項に記載のコンピュータシステム。
  11. 前記コンテンツ埋め込み部は、
    GNN基盤の学習モデルを利用して前記ユーザがクリックしたコンテンツのシーケンス集合を学習データとし、以前にクリックした以前コンテンツと前記以前コンテンツの次にクリックした次コンテンツを埋め込ませること
    を特徴とする、請求項に記載のコンピュータシステム。
JP2020134521A 2019-08-08 2020-08-07 個人化コンテンツ推薦のためのリアルタイムグラフに基づく埋め込み構築方法およびシステム Active JP7083375B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020190096950A KR102214422B1 (ko) 2019-08-08 2019-08-08 개인화 컨텐츠 추천을 위한 실시간 그래프기반 임베딩 구축 방법 및 시스템
KR10-2019-0096950 2019-08-08

Publications (2)

Publication Number Publication Date
JP2021026779A JP2021026779A (ja) 2021-02-22
JP7083375B2 true JP7083375B2 (ja) 2022-06-10

Family

ID=74559045

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020134521A Active JP7083375B2 (ja) 2019-08-08 2020-08-07 個人化コンテンツ推薦のためのリアルタイムグラフに基づく埋め込み構築方法およびシステム

Country Status (2)

Country Link
JP (1) JP7083375B2 (ja)
KR (1) KR102214422B1 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113139654B (zh) * 2021-03-18 2023-06-09 北京三快在线科技有限公司 图神经网络模型的训练方法及装置
CN113408297B (zh) * 2021-06-30 2023-08-18 北京百度网讯科技有限公司 生成节点表示的方法、装置、电子设备和可读存储介质
CN113742596A (zh) * 2021-09-18 2021-12-03 辽宁工程技术大学 一种基于注意力机制的神经协同过滤推荐方法
KR20230089365A (ko) * 2021-12-13 2023-06-20 연세대학교 산학협력단 학습시간 상미분 방정식 기반의 협업 필터링 추천 장치 및 방법
KR102557827B1 (ko) * 2022-03-29 2023-07-19 고려대학교 산학협력단 그래프 데이터 기반 관련 과목 추천 시스템 및 그 방법, 이를 수행하기 위한 기록매체
WO2023211243A1 (ko) * 2022-04-29 2023-11-02 네이버 주식회사 전문가 지식을 이용한 최적 경로를 제공하는 방법, 컴퓨터 장치, 및 컴퓨터 프로그램
KR20240050036A (ko) 2022-10-11 2024-04-18 성균관대학교산학협력단 강화 학습 모델을 이용한 그래프 신경망의 레이어 층수 결정 장치, 방법, 컴퓨터 판독 가능한 기록 매체 및 컴퓨터 프로그램
KR20240083248A (ko) 2022-12-02 2024-06-12 한국과학기술원 그래프의 클래스 및 차수 분류에 기반한 그래프 신경망 제어 장치, 방법, 컴퓨터 판독 가능한 기록 매체 및 컴퓨터 프로그램
KR20240083385A (ko) 2022-12-05 2024-06-12 인하대학교 산학협력단 개인화 추천을 위한 이종 피드백 통합 방법 및 시스템
CN116501981A (zh) * 2023-02-18 2023-07-28 深圳市战音科技有限公司 一种千人千面作品推荐方法和系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100287194A1 (en) 2007-12-28 2010-11-11 Masafumi Watanabe Presence-at-home information acquisition system
JP2018181326A (ja) 2017-04-06 2018-11-15 ネイバー コーポレーションNAVER Corporation ディープラーニングを活用した個人化商品推薦
JP2019503528A (ja) 2015-11-05 2019-02-07 フェイスブック,インク. ディープラーニングモデルを用いたコンテンツアイテムの識別

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9552055B2 (en) * 2013-07-15 2017-01-24 Facebook, Inc. Large scale page recommendations on online social networks
KR20180121466A (ko) * 2017-04-06 2018-11-07 네이버 주식회사 딥러닝을 활용한 개인화 상품 추천

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100287194A1 (en) 2007-12-28 2010-11-11 Masafumi Watanabe Presence-at-home information acquisition system
JP2019503528A (ja) 2015-11-05 2019-02-07 フェイスブック,インク. ディープラーニングモデルを用いたコンテンツアイテムの識別
JP2018181326A (ja) 2017-04-06 2018-11-15 ネイバー コーポレーションNAVER Corporation ディープラーニングを活用した個人化商品推薦

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Wenqi Fan et al.,Graph Neural Networks for Social Recommendation,[online],2019年02月19日,[2021年6月16日検索],インターネット, <URL: https://arxiv.org/pdf/1902.07243v1.pdf>

Also Published As

Publication number Publication date
KR102214422B1 (ko) 2021-02-09
JP2021026779A (ja) 2021-02-22

Similar Documents

Publication Publication Date Title
JP7083375B2 (ja) 個人化コンテンツ推薦のためのリアルタイムグラフに基づく埋め込み構築方法およびシステム
KR102342678B1 (ko) 개인화 컨텐츠 추천을 위한 실시간 그래프기반 임베딩 구축 방법 및 시스템
JP6446602B2 (ja) データのカテゴリ分類のための方法およびシステム
US20220198289A1 (en) Recommendation model training method, selection probability prediction method, and apparatus
US10354184B1 (en) Joint modeling of user behavior
CN110147882B (zh) 神经网络模型的训练方法、人群扩散方法、装置及设备
KR102501496B1 (ko) 개인화를 통한 연합 학습의 다중 모델 제공 방법, 시스템, 및 컴퓨터 프로그램
CN109471978B (zh) 一种电子资源推荐方法及装置
Hammou et al. Apra: An approximate parallel recommendation algorithm for big data
KR102376652B1 (ko) Ai를 활용한 상품 데이터 실시간 분석 및 상품 정보를 업데이트하기 위한 방법 및 시스템
WO2024067373A1 (zh) 一种数据处理方法及相关装置
WO2023185925A1 (zh) 一种数据处理方法及相关装置
KR102119518B1 (ko) 인공지능을 이용하여 생성되는 스타일 공간에 기반한 상품 추천 방법 및 시스템
WO2023050143A1 (zh) 一种推荐模型训练方法及装置
Dong et al. Improving sequential recommendation with attribute-augmented graph neural networks
CN112055038A (zh) 生成点击率预估模型的方法及预测点击概率的方法
WO2024067779A1 (zh) 一种数据处理方法及相关装置
US10922363B1 (en) Codex search patterns
WO2024012360A1 (zh) 一种数据处理方法及相关装置
KR20230151704A (ko) 지역 지식 그래프를 기반으로 추천 정보를 제공하는 방법, 컴퓨터 장치, 및 컴퓨터 프로그램
Pal An efficient system using implicit feedback and lifelong learning approach to improve recommendation
Raju et al. Prediction of user future request utilizing the combination of both ANN and FCM in web page recommendation
JP2020061147A (ja) Cnn基盤イメージ検索方法および装置
Kumar et al. Machine Learning—Basics
KR102611482B1 (ko) 빅데이터 기반의 마케팅 전략 모델 제공 방법 및 시스템

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200807

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20210414

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20210412

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210616

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210706

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210928

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20211207

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220405

C60 Trial request (containing other claim documents, opposition documents)

Free format text: JAPANESE INTERMEDIATE CODE: C60

Effective date: 20220405

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20220418

C21 Notice of transfer of a case for reconsideration by examiners before appeal proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C21

Effective date: 20220419

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: 20220517

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220531

R150 Certificate of patent or registration of utility model

Ref document number: 7083375

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: R313117

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350