(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-12-13
(45)【発行日】2022-12-21
(54)【発明の名称】マルチメディアリソースの推薦方法、マルチメディアリソースの推薦装置、電子機器、非一時的なコンピュータ読み取り可能な記憶媒体及びコンピュータプログラム
(51)【国際特許分類】
G06F 16/48 20190101AFI20221214BHJP
G06F 16/45 20190101ALI20221214BHJP
【FI】
G06F16/48
G06F16/45
(21)【出願番号】P 2020216266
(22)【出願日】2020-12-25
【審査請求日】2020-12-25
(31)【優先権主張番号】202010462953.5
(32)【優先日】2020-05-27
(33)【優先権主張国・地域又は機関】CN
(73)【特許権者】
【識別番号】514322098
【氏名又は名称】ベイジン バイドゥ ネットコム サイエンス テクノロジー カンパニー リミテッド
【氏名又は名称原語表記】Beijing Baidu Netcom Science Technology Co., Ltd.
【住所又は居所原語表記】2/F Baidu Campus, No.10, Shangdi 10th Street, Haidian District, Beijing 100085, China
(74)【代理人】
【識別番号】100118913
【氏名又は名称】上田 邦生
(74)【代理人】
【識別番号】100142789
【氏名又は名称】柳 順一郎
(74)【代理人】
【識別番号】100163050
【氏名又は名称】小栗 眞由美
(74)【代理人】
【識別番号】100201466
【氏名又は名称】竹内 邦彦
(72)【発明者】
【氏名】チェン, チャオシン
(72)【発明者】
【氏名】ファン, ツェンジー
(72)【発明者】
【氏名】フェン, シクン
【審査官】北村 学
(56)【参考文献】
【文献】特開2016-181196(JP,A)
【文献】特開2018-197927(JP,A)
【文献】特許第6695953(JP,B1)
【文献】特表2015-513736(JP,A)
【文献】特表2020-510910(JP,A)
【文献】土方 嘉徳,利用者の好みをとらえ活かす-嗜好抽出技術の最前線-,情報処理,日本,社団法人情報処理学会,2007年09月15日,第48巻 第9号,pp. 957-965
(58)【調査した分野】(Int.Cl.,DB名)
IPC G06F 16/00 - 16/958
(57)【特許請求の範囲】
【請求項1】
マルチメディアリソースの推薦装置によって実行されるマルチメディアリソースの推薦方法であって、
複数のユーザオブジェクトにより閲覧されたマルチメディアリソースに基づいて、関係グラフを生成するステップであって、前記関係グラフの1つのノードは、1つの前記ユーザオブジェクト又は1つの前記マルチメディアリソースに対応し、前記関係グラフの1つのエッジは、接続された2つの前記ノード間における閲覧行為の存在を示すために用いられるステップと、
前記関係グラフにおけるパスに基づいて、同一の前記パス内で2つの前記ノードの間のノード数を示す間隔ノード数がノード数の閾値よりも小さい2つの前記ノードを訓練サンプルとするステップと、
前記訓練サンプルを用いて、パターンモデルを訓練し、前記訓練サンプルにおける各前記ノードの特徴付けベクトルを得るように前記パターンモデルを学習するステップであって、同一の前記訓練サンプルに属する2つの前記ノードの前記特徴付けベクトルが類似するステップと、
各前記ユーザオブジェクトに対応する前記ノードの前記特徴付けベクトル及び各前記マルチメディアリソースに対応する前記ノードの前記特徴付けベクトル間のベクトル類似度に基づいて、前記マルチメディアリソースの推薦を行うステップとを含むマルチメディアリソースの推薦方法。
【請求項2】
前記関係グラフにおける前記パスに基づいて、同一の前記パス内で前記間隔ノード数が前記閾値よりも小さい2つの前記ノードを前記訓練サンプルとするステップは、
各前記パスに対して、スライディングウィンドウを使用し、所定の歩幅で前記パス内を移動するステップであって、前記スライディングウィンドウの長さが前記ノード数の前記閾値に対応するステップと、
前記スライディングウィンドウが前記所定の歩幅を移動する毎に、前記スライディングウィンドウ内の前記ノードを取得するステップと、
前記スライディングウィンドウの中心にある中心ノードを前記スライディングウィンドウ内の残りの前記ノードとそれぞれ2つずつ組み合わせて、各該組み合わせを1つの前記訓練サンプルとするステップとを含む請求項1に記載のマルチメディアリソースの推薦方法。
【請求項3】
前記訓練サンプルを用いて、前記パターンモデルを訓練し、前記訓練サンプルにおける各前記ノードの前記特徴付けベクトルを得るように前記パターンモデルを学習させるステップは、
サーバクラスタから、前記パターンモデルが実行される第1のサブクラスタを決定するステップと、
前記訓練サンプルに基づいて、予測タスクと対応するパラメータ調整タスクを生成するステップと、
前記サーバクラスタにおける前記第1のサブクラスタを分配して前記予測タスクを実行するステップであって、前記予測タスクは、前記パターンモデルを用いて前記訓練サンプルにおける2つの前記ノードの前記特徴付けベクトルを予測し、予測された前記特徴付けベクトルに基づいて同一の前記パス内における2つの前記ノードが同一の前記訓練サンプルに属する確率を取得し、前記確率の勾配を取得するために用いられるステップと、
前記サーバクラスタの前記第1のサブクラスタ以外の第2のサブクラスタを分配して、対応する前記パラメータ調整タスクを実行するステップであって、前記パラメータ調整タスクは、対応する前記予測タスクによって生成された前記確率の勾配に基づいて、前記パターンモデルのモデルパラメータを調整するために用いられるステップとを含む請求項1に記載のマルチメディアリソースの推薦方法。
【請求項4】
前記パターンモデルは、特徴関数とクラスタリング関数とを含み、ここで、前記予測タスクを実行するステップは、
前記訓練サンプルに基づいて、前記関係グラフを照会して、前記訓練サンプルにおける各前記ノードの複数の隣接ノードを取得するステップと、
前記特徴関数に基づいて、各前記隣接ノードの特徴ベクトルを生成するステップと、
複数の前記隣接ノードの前記特徴ベクトルを前記クラスタリング関数でクラスタリングし、前記訓練サンプルにおける対応ノードの前記特徴付けベクトルを得るステップと、
前記訓練サンプルにおける2つの前記ノードの前記特徴付けベクトル間の前記ベクトル類似度に基づいて、同一の前記パス内における2つの前記ノードが同一の前記訓練サンプルに属する確率を決定するステップとを含む請求項3に記載のマルチメディアリソースの推薦方法。
【請求項5】
前記モデルパラメータは、前記クラスタリング関数におけるパラメータと、前記特徴関数におけるパラメータとを含む請求項4に記載のマルチメディアリソースの推薦方法。
【請求項6】
前記訓練サンプルに基づいて、前記関係グラフを照会して、前記訓練サンプルにおける各前記ノードの複数の前記隣接ノードを取得するステップは、
前記訓練サンプルにおける1つの前記ノードに対して、前記関係グラフを照会し、所定数の前記隣接ノードをランダムに選択するステップを含む請求項4に記載のマルチメディアリソースの推薦方法。
【請求項7】
複数のユーザオブジェクトにより閲覧された前記マルチメディアリソースに基づいて、前記関係グラフを生成するステップの前に、
最近の統計周期内でモニタリングされた閲覧行為に基づいて、前記閲覧行為を実行する複数の前記ユーザオブジェクト、及び複数の前記ユーザオブジェクトにより閲覧された前記マルチメディアリソースを決定するステップをさらに含む請求項1から請求項6のいずれかに記載のマルチメディアリソースの推薦方法。
【請求項8】
各前記ユーザオブジェクトに対応する前記ノードの前記特徴付けベクトル及び各前記マルチメディアリソースに対応する前記ノードの前記特徴付けベクトル間の前記ベクトル類似度に基づいて、前記マルチメディアリソースの推薦を行うステップは、
ターゲットユーザオブジェクトにより閲覧された前記マルチメディアリソースのターゲット特徴付けベクトルを照会するステップと、
前記ターゲット特徴付けベクトルに基づいて、各前記マルチメディアリソースから第1のマルチメディアリソースを決定し、ここで、前記第1のマルチメディアリソースの前記特徴付けベクトルと前記ターゲット特徴付けベクトルとの間の前記ベクトル類似度は、類似度閾値よりも高いステップと、
前記ターゲットユーザオブジェクトに前記第1のマルチメディアリソースを推薦するステップとを含む請求項1から請求項6のいずれかに記載のマルチメディアリソースの推薦方法。
【請求項9】
各前記ユーザオブジェクトに対応する前記ノードの前記特徴付けベクトル及び各前記マルチメディアリソースに対応する前記ノードの前記特徴付けベクトル間の前記ベクトル類似度に基づいて、前記マルチメディアリソースの推薦を行うステップは、
ターゲットユーザオブジェクトの前記特徴付けベクトルを照会するステップと、
前記ターゲットユーザオブジェクトの前記特徴付けベクトルに基づいて、各前記マルチメディアリソースから第2のマルチメディアリソースを決定し、ここで、前記第2のマルチメディアリソースの前記特徴付けベクトルと前記ターゲットユーザオブジェクトの前記特徴付けベクトルとの間の前記ベクトル類似度は、類似度閾値よりも高いステップと、
前記ターゲットユーザオブジェクトに前記第2のマルチメディアリソースを推薦するステップとを含む請求項1から請求項6のいずれかに記載のマルチメディアリソースの推薦方法。
【請求項10】
各前記ユーザオブジェクトに対応する前記ノードの前記特徴付けベクトル及び各前記マルチメディアリソースに対応する前記ノードの前記特徴付けベクトル間の前記ベクトル類似度に基づいて、前記マルチメディアリソースの推薦を行うステップは、
ターゲットユーザオブジェクトの前記特徴付けベクトルを照会するステップと、
前記ターゲットユーザオブジェクトの前記特徴付けベクトルに基づいて、各前記ユーザオブジェクトから候補ユーザオブジェクトを決定し、ここで、前記候補ユーザオブジェクトの前記特徴付けベクトルと前記ターゲットユーザオブジェクトの前記特徴付けベクトルとの間の前記ベクトル類似度は、類似度閾値よりも高いステップと、
前記ターゲットユーザオブジェクトに前記候補ユーザオブジェクトにより閲覧された前記マルチメディアリソースを推薦するステップとを含む請求項1から請求項6のいずれかに記載のマルチメディアリソースの推薦方法。
【請求項11】
複数のユーザオブジェクトにより閲覧されたマルチメディアリソースに基づいて、関係グラフを生成するために用いられる生成モジュールであって、前記関係グラフの1つのノードは、1つの前記ユーザオブジェクト又は1つの前記マルチメディアリソースに対応し、前記関係グラフの1つのエッジは、接続された2つの前記ノード間における閲覧行為の存在を示すために用いられる生成モジュールと、
前記関係グラフにおけるパスに基づいて、同一の前記パス内で2つの前記ノードの間のノード数を示す間隔ノード数がノード数の閾値よりも小さい2つの前記ノードを訓練サンプルとするために用いられる第1の決定モジュールと、
前記訓練サンプルを用いて、パターンモデルを訓練し、前記訓練サンプルにおける各前記ノードの特徴付けベクトルを得るように前記パターンモデルを学習させるために用いられる訓練モジュールであって、同一の前記訓練サンプルに属する2つの前記ノードの前記特徴付けベクトルが類似する訓練モジュールと、
各前記ユーザオブジェクトに対応する前記ノードの前記特徴付けベクトル及び各前記マルチメディアリソースに対応する前記ノードの前記特徴付けベクトル間のベクトル類似度に基づいて、前記マルチメディアリソースの推薦を行うために用いられる推薦モジュールとを備えるマルチメディアリソースの推薦装置。
【請求項12】
前記第1の決定モジュールは、
各前記パスに対して、スライディングウィンドウを使用し、所定の歩幅で前記パス内を移動するために用いられる移動ユニットであって、前記スライディングウィンドウの長さが前記ノード数の前記閾値に対応する移動ユニットと、
前記スライディングウィンドウが前記所定の歩幅を移動する毎に、前記スライディングウィンドウ内の前記ノードを取得するために用いられる取得ユニットと、
前記スライディングウィンドウの中心にある中心ノードを前記スライディングウィンドウ内の残りの前記ノードとそれぞれ2つずつ組み合わせて、各該組み合わせを1つの前記訓練サンプルとするために用いられる組み合わせユニットとを備える請求項11に記載のマルチメディアリソースの推薦装置。
【請求項13】
前記訓練モジュールは、
サーバクラスタから、前記パターンモデルが実行される第1のサブクラスタを決定するために用いられる第1の決定ユニットと、
前記訓練サンプルに基づいて、予測タスクと対応するパラメータ調整タスクを生成するために用いられる生成ユニットと、
前記サーバクラスタにおける前記第1のサブクラスタを分配して前記予測タスクを実行するために用いられる分配ユニットであって、前記予測タスクは、前記パターンモデルを用いて前記訓練サンプルにおける2つの前記ノードの前記特徴付けベクトルを予測し、予測された前記特徴付けベクトルに基づいて同一の前記パス内における2つの前記ノードが同一の前記訓練サンプルに属する確率を取得し、前記確率の勾配を取得するために用いられる分配ユニットとを備え、
前記分配ユニットは、さらに、前記サーバクラスタの前記第1のサブクラスタ以外の第2のサブクラスタを分配して、対応する前記パラメータ調整タスクを実行するために用いられ、
前記パラメータ調整タスクは、対応する前記予測タスクによって生成された前記確率の勾配に基づいて、前記パターンモデルのモデルパラメータを調整するために用いられる請求項11に記載のマルチメディアリソースの推薦装置。
【請求項14】
前記パターンモデルは、特徴関数とクラスタリング関数とを含み、
前記分配ユニットは、
前記訓練サンプルに基づいて、前記関係グラフを照会して、前記訓練サンプルにおける各前記ノードの複数の隣接ノードを取得するために用いられるサブ照会ユニットと、
前記特徴関数に基づいて、各前記隣接ノードの特徴ベクトルを生成するために用いられるサブ生成ユニットと、
複数の前記隣接ノードの前記特徴ベクトルを前記クラスタリング関数でクラスタリングし、前記訓練サンプルにおける対応ノードの前記特徴付けベクトルを得るために用いられるサブクラスタリングユニットと、
前記訓練サンプルにおける2つの前記ノードの前記特徴付けベクトル間の前記ベクトル類似度に基づいて、同一の前記パス内における2つの前記ノードが同一の前記訓練サンプルに属する確率を決定するために用いられるサブ決定ユニットとを備える請求項13に記載のマルチメディアリソースの推薦装置。
【請求項15】
前記モデルパラメータは、前記クラスタリング関数におけるパラメータと、前記特徴関数におけるパラメータとを含む請求項14に記載のマルチメディアリソースの推薦装置。
【請求項16】
前記サブ照会ユニットは、
前記訓練サンプルにおける1つの前記ノードに対して、前記関係グラフを照会し、所定数の前記隣接ノードをランダムに選択するために用いられる請求項14に記載のマルチメディアリソースの推薦装置。
【請求項17】
最近の統計周期内でモニタリングされた閲覧行為に基づいて、前記閲覧行為を実行する複数の前記ユーザオブジェクト、及び複数の前記ユーザオブジェクトにより閲覧された前記マルチメディアリソースを決定するために用いられる第2の決定モジュールをさらに備える請求項11から請求項16のいずれかに記載のマルチメディアリソースの推薦装置。
【請求項18】
前記推薦モジュールは、
ターゲットユーザオブジェクトにより閲覧された前記マルチメディアリソースのターゲット特徴付けベクトルを照会するために用いられる第1の照会ユニットと、
前記ターゲット特徴付けベクトルに基づいて、各前記マルチメディアリソースから第1のマルチメディアリソースを決定するために用いられ、ここで、前記第1のマルチメディアリソースの前記特徴付けベクトルと前記ターゲット特徴付けベクトルとの間の前記ベクトル類似度は、類似度閾値よりも高い第2の決定ユニットと、
前記ターゲットユーザオブジェクトに前記第1のマルチメディアリソースを推薦するために用いられる第1の推薦ユニットとを備える請求項11から請求項16のいずれかに記載のマルチメディアリソースの推薦装置。
【請求項19】
前記推薦モジュールは、
ターゲットユーザオブジェクトの前記特徴付けベクトルを照会するために用いられる第2の照会ユニットと、
前記ターゲットユーザオブジェクトの前記特徴付けベクトルに基づいて、各前記マルチメディアリソースから第2のマルチメディアリソースを決定するために用いられ、ここで、前記第2のマルチメディアリソースの前記特徴付けベクトルと前記ターゲットユーザオブジェクトの前記特徴付けベクトルとの間の前記ベクトル類似度は、類似度閾値よりも高い第3の決定ユニットと、
前記ターゲットユーザオブジェクトに前記第2のマルチメディアリソースを推薦するために用いられる第2の推薦ユニットとを備える請求項11から請求項16のいずれかに記載のマルチメディアリソースの推薦装置。
【請求項20】
前記推薦モジュールは、
ターゲットユーザオブジェクトの前記特徴付けベクトルを照会するために用いられる第2の照会ユニットと、
前記ターゲットユーザオブジェクトの前記特徴付けベクトルに基づいて、各前記ユーザオブジェクトから候補ユーザオブジェクトを決定するために用いられ、ここで、前記候補ユーザオブジェクトの前記特徴付けベクトルと前記ターゲットユーザオブジェクトの前記特徴付けベクトルとの間の前記ベクトル類似度は、類似度閾値よりも高い第4の決定ユニットと、
前記ターゲットユーザオブジェクトに前記候補ユーザオブジェクトにより閲覧された前記マルチメディアリソースを推薦するために用いられる第3の推薦ユニットとを備える請求項11から請求項16のいずれかに記載のマルチメディアリソースの推薦装置。
【請求項21】
少なくとも1つのプロセッサと、
少なくとも1つの前記プロセッサに通信可能に接続されたメモリとを備え、
前記メモリは、少なくとも1つの前記プロセッサによって実行可能な命令を記憶し、前記命令が少なくとも1つの前記プロセッサによって実行される場合、少なくとも1つの前記プロセッサが請求項1から請求項10のいずれかに記載のマルチメディアリソースの推薦方法を実行する電子機器。
【請求項22】
コンピュータ命令が記憶されている非一時的なコンピュータ読み取り可能な記憶媒体であって、
前記コンピュータ命令が実行される場合、請求項1から請求項10のいずれかに記載のマルチメディアリソースの推薦方法が実行される非一時的なコンピュータ読み取り可能な記憶媒体。
【請求項23】
コンピュータプログラムであって、
前記コンピュータプログラムにおける命令が実行された場合に、請求項1から請求項10のいずれかに記載のマルチメディアリソースの推薦方法が実行されるコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本願は、コンピュータ技術の分野に関し、具体的には自然言語処理技術の分野に関し、特にマルチメディアリソースの推薦方法、マルチメディアリソースの推薦装置、電子機器、非一時的なコンピュータ読み取り可能な記憶媒体及びコンピュータプログラムに関する。
【背景技術】
【0002】
インターネットの分野では、ユーザがより多くのメディアリソースを入手したり閲覧したりしやすいように、文章やニュースなどを推薦するなど、ユーザにリソース推薦を行うのが一般的である。ユーザにリソースを推薦することで、ユーザのより多くのクリックを促す。例えば、ユーザはスポーツニュースを閲覧した場合、より多くのクリック率を得るために、他のスポーツニュースをユーザに推薦することができる。
【0003】
インターネットでは文章、ビデオなどのマルチメディアリソースの推薦は、推薦の正確性が非常に重要であることがわかる。
【発明の概要】
【発明が解決しようとする課題】
【0004】
本願は、推薦の正確性を高めるためのマルチメディアリソースの推薦方法、マルチメディアリソースの推薦装置、電子機器、非一時的なコンピュータ読み取り可能な記憶媒体及びコンピュータプログラムを提供する。
【課題を解決するための手段】
【0005】
本出願の第1態様においては、マルチメディアリソースの推薦装置によって実行されるマルチメディアリソースの推薦方法であって、複数のユーザオブジェクトにより閲覧されたマルチメディアリソースに基づいて、関係グラフを生成するステップであって、前記関係グラフの1つのノードは、1つの前記ユーザオブジェクト又は1つの前記マルチメディアリソースに対応し、前記関係グラフの1つのエッジは、接続された2つの前記ノード間における閲覧行為の存在を示すために用いられるステップと、前記関係グラフにおけるパスに基づいて、同一の前記パス内で2つの前記ノードの間のノード数を示す間隔ノード数がノード数の閾値よりも小さい2つの前記ノードを訓練サンプルとするステップと、前記訓練サンプルを用いて、パターンモデルを訓練し、前記訓練サンプルにおける各前記ノードの特徴付けベクトルを得るように前記パターンモデルを学習するステップであって、同一の前記訓練サンプルに属する2つの前記ノードの前記特徴付けベクトルが類似するステップと、各前記ユーザオブジェクトに対応する前記ノードの前記特徴付けベクトル及び各前記マルチメディアリソースに対応する前記ノードの前記特徴付けベクトル間のベクトル類似度に基づいて、前記マルチメディアリソースの推薦を行うステップとを含むマルチメディアリソースの推薦方法を提供する。
【0006】
本態様において、マルチメディアリソースの推薦方法は、複数のユーザオブジェクトにより閲覧されたマルチメディアリソースに基づいて、関係グラフを生成し、関係グラフにおける同一のパス内で間隔ノード数がノード数の閾値よりも小さい2つのノードを訓練サンプルとし、パターンモデルを訓練して訓練サンプルにおける各ノードの特徴付けベクトルを得て、各ユーザオブジェクトに対応する特徴付けベクトル及び/又はマルチメディアリソースノードの特徴付けベクトルに基づいて、マルチメディアリソースの推薦を行う。これにより、パターンモデルの訓練において、関係グラフにおける同一のパスの隣接ノードを訓練サンプルとすることで、パターンモデル学習により得られた特徴付けベクトルが同一のユーザにより閲覧されたリソースの固有の関連性を示すことができるようになり、ノードの特徴付けベクトルの正確性を向上させ、これにより特徴付けベクトルに基づいて推薦を行い、推薦の正確性を向上させる。
【0007】
本出願の第2態様においては、複数のユーザオブジェクトにより閲覧されたマルチメディアリソースに基づいて、関係グラフを生成するために用いられる生成モジュールであって、前記関係グラフの1つのノードは、1つの前記ユーザオブジェクト又は1つの前記マルチメディアリソースに対応し、前記関係グラフの1つのエッジは、接続された2つの前記ノード間における閲覧行為の存在を示すために用いられる生成モジュールと、前記関係グラフにおけるパスに基づいて、同一の前記パス内で2つの前記ノードの間のノード数を示す間隔ノード数がノード数の閾値よりも小さい2つの前記ノードを訓練サンプルとするために用いられる第1の決定モジュールと、前記訓練サンプルを用いて、パターンモデルを訓練し、前記訓練サンプルにおける各前記ノードの特徴付けベクトルを得るように前記パターンモデルを学習させるために用いられる訓練モジュールであって、同一の前記訓練サンプルに属する2つの前記ノードの前記特徴付けベクトルが類似する訓練モジュールと、各前記ユーザオブジェクトに対応する前記ノードの前記特徴付けベクトル及び各前記マルチメディアリソースに対応する前記ノードの前記特徴付けベクトル間のベクトル類似度に基づいて、前記マルチメディアリソースの推薦を行うために用いられる推薦モジュールとを備えるマルチメディアリソースの推薦装置を提供する。
【0008】
本態様において、マルチメディアリソースの推薦装置は、複数のユーザオブジェクトにより閲覧されたマルチメディアリソースに基づいて、関係グラフを生成し、関係グラフにおける同一のパス内で間隔ノード数がノード数の閾値よりも小さい2つのノードを訓練サンプルとし、パターンモデルを訓練して訓練サンプルにおける各ノードの特徴付けベクトルを得て、各ユーザオブジェクトに対応する特徴付けベクトル及び/又はマルチメディアリソースノードの特徴付けベクトルに基づいて、マルチメディアリソースの推薦を行う。これにより、パターンモデルの訓練において、関係グラフにおける同一のパスの隣接ノードを訓練サンプルとすることで、パターンモデル学習により得られた特徴付けベクトルが同一のユーザにより閲覧されたリソースの固有の関連性を示すことができるようになり、ノードの特徴付けベクトルの正確性を向上させ、これにより特徴付けベクトルに基づいて推薦を行い、推薦の正確性を向上させる。
【0009】
本出願の第3態様においては、少なくとも1つのプロセッサと、少なくとも1つの前記プロセッサに通信可能に接続されたメモリとを備え、前記メモリは、少なくとも1つの前記プロセッサによって実行可能な命令を記憶し、前記命令が少なくとも1つの前記プロセッサによって実行される場合、少なくとも1つの前記プロセッサに上記のマルチメディアリソースの推薦方法を実行する電子機器を提供する。
【0010】
本出願の第4態様においては、コンピュータ命令が記憶されている非一時的なコンピュータ読み取り可能な記憶媒体であって、前記コンピュータ命令が実行される場合、上記のマルチメディアリソースの推薦方法が実行される非一時的なコンピュータ読み取り可能な記憶媒体を提供する。
本出願の第5態様においては、コンピュータプログラムであって、前記コンピュータプログラムにおける命令が実行された場合に、上記のマルチメディアリソースの推薦方法が実行されるコンピュータプログラムを提供する。
【発明の効果】
【0011】
本願の実施例によれば、パターンモデル訓練において、関係グラフにおける同一のパスの隣接ノードを訓練サンプルとすることで、パターンモデル学習により得られた特徴付けベクトルが同一のユーザにより閲覧されたリソースの固有の関連性を示すことができるようになり、ノードの特徴付けベクトルの正確性を向上させ、これにより特徴付けベクトルに基づいて推薦を行い、推薦の正確性を向上させる。
【0012】
以下、上記の好ましい形態の有する他の効果を具体的な実施例と併せて説明する。
【図面の簡単な説明】
【0013】
図面は、本願をよりよく理解するためのもので、本願を限定するものではない。
【
図1】本願の一実施例に係るマルチメディアリソースの推薦方法のフローチャートである。
【
図2】本願の一実施例における関係グラフの概略図である。
【
図3】本願の他の実施例に係るマルチメディアリソースの推薦方法のフローチャートである。
【
図4】本願の他の実施例に係るマルチメディアリソースの推薦方法のフローチャートである。
【
図6】本願の他の実施例に係るマルチメディアリソースの推薦方法のフローチャートである。
【
図7】本願の他の実施例に係るマルチメディアリソースの推薦方法のフローチャートである。
【
図8】本願の一実施例に係るマルチメディアリソースの推薦装置の構造概略図である。
【
図9】本願の一実施例に係るマルチメディアリソースの推薦方法の電子機器のブロック図である。
【発明を実施するための形態】
【0014】
理解を容易にするために、本願の実施例の様々な詳細を含む本願の例示的な実施例について、図面と関連して以下に説明し、それらは単に例示的なものとみなされるべきである。したがって、当業者は、本願の範囲及び精神から逸脱することなく、本明細書に説明された実施例に対して様々な変更や修正を行うことができることを理解すべきである。また、以下の説明では、明確化及び簡略化のために、周知の機能及び構成についての説明を省略する。
【0015】
以下、図面を参照しながら、本願の一実施例に係るマルチメディアリソースの推薦方法、マルチメディアリソースの推薦装置、電子機器、非一時的なコンピュータ読み取り可能な記憶媒体及びコンピュータプログラムについて説明する。
【0016】
本願の一実施例に係るマルチメディアリソースの推薦方法は、パターンモデル訓練において、関係グラフにおける同一のパスの隣接ノードを訓練サンプルとすることで、パターンモデル学習により得られた特徴付けベクトルが同一のユーザにより閲覧されたリソースの固有の関連性を示すことができるようになり、ノードの特徴付けベクトルの正確性を向上させ、これにより特徴付けベクトルに基づいて推薦を行い、推薦の正確性を向上させる。
【0017】
図1は、本願の一実施例に係るマルチメディアリソースの推薦方法のフローチャートである。
【0018】
本願の一実施例に係るマルチメディアリソースの推薦方法は、本願の一実施例に係るマルチメディアリソースの推薦装置によって実行することができ、マルチメディアリソースの推薦装置は、関係グラフにおけるノードの特徴付けベクトルの正確性を向上させ、それによって推薦の正確性を向上させるように、電子機器に配置することができる。
【0019】
図1に示すように、マルチメディアリソースの推薦方法は、ステップ101と、ステップ102と、ステップ103と、ステップ104とを含む。
【0020】
ステップ101では、複数のユーザオブジェクトにより閲覧されたマルチメディアリソースに基づいて、関係グラフを生成し、ここで、関係グラフの1つのノードは、1つのユーザオブジェクト又は1つのマルチメディアリソースに対応する。
【0021】
本実施例では、複数のユーザオブジェクトによるマルチメディアリソースの閲覧記録を取得し、各ユーザオブジェクトにより閲覧されたマルチメディアリソースを決定し、1つのユーザオブジェクトを1つのノードとし、1つのマルチメディアリソースを1つのノードとし、ユーザオブジェクトとマルチメディアリソースとの間に閲覧行為が存在する場合、ユーザオブジェクトとマルチメディアリソースとの対応する2つのノード間をエッジで接続することで、関係グラフを生成する。
【0022】
つまり、関係グラフの1つのノードは、1つのユーザオブジェクト又は1つのマルチメディアリソースに対応し、関係グラフの1つのエッジは、接続された2つのノード間における閲覧行為の存在を示すために用いられる。
【0023】
本実施例では、マルチメディアリソースは文章、ビデオ、音楽などを含んでもよい。
【0024】
図2は本願の一実施例における関係グラフの概略図である。ユーザu1が文章i1及びi2を閲覧し、ユーザu2が文章i2を閲覧し、ユーザu3が文章i2を閲覧したとすると、
図2に示す関係グラフが生成される。
図2において、丸印はノードを表し、u1、u2、u3はユーザを表し、i1、i2は文章を表し、2つのノード間のエッジはユーザと文章との間に閲覧行為があることを表す。
【0025】
ステップ102では、関係グラフにおけるパスに基づいて、同一のパス内で間隔ノード数がノード数の閾値よりも小さい2つのノードを訓練サンプルとする。
【0026】
本実施例では、関係グラフにおけるパス上のノード間に関係を持たせる。ここで、関係グラフにおけるパスとは、1つのノードから遊走して通過するノードを指し、パスとみなすことができる。例えば、
図2において、u1-i1-u2が1つのパスであり、u1-i2-u3も1つのパスである。
【0027】
なお、1つのノードが複数のパス上にあってもよい。
【0028】
本実施例では、同一のパス内の間隔ノード数がノード数の閾値よりも小さい2つのノードを訓練サンプルとしてもよい。つまり、1つの訓練サンプルには2つのノードが含まれる。ここで、ノード数の閾値は必要に応じて設定すればよく、モデルの正確性を高めるため、通常はノード数の閾値はあまり大きく選ばない。
【0029】
例えば、ノード数の閾値が2であれば、パス上で直接隣接する2つのノードを訓練サンプルとしてもよいし、1つおきの2つのノードを訓練サンプルとしてもよい。
【0030】
図2のパスu1-i1-u2を例にとると、ノード数の閾値が2であれば、直接隣接するノードu1とi1との2つのノード、i1とu2との2つのノードを訓練サンプルとしてもよいし、1つおきのu1とu2との2つのノードを訓練サンプルとしてもよい。
【0031】
パス上の2つのノードの間隔ノード数が多いほど、2つのノード間の関連度が小さいことを意味するため、本実施例では、訓練サンプルにおける2つのノードの関連度が大きいことを保証するために、ノード数の閾値を設定し、パス上のノードが多い場合には、パス上の2つのノードの間隔ノード数が多く関連度が小さい2つのノードを訓練サンプルとして選択し、モデルの正確性に影響を与えることを回避する。
【0032】
ステップ103では、訓練サンプルを用いて、パターンモデルを訓練し、訓練サンプルにおける各ノードの特徴付けベクトルを得るようにパターンモデルを学習させる。
【0033】
本実施例では、複数の訓練サンプルを用いて、パターンモデルを訓練し、各訓練サンプルにおける各ノードの特徴付けベクトルを得るようにパターンモデルを学習させる。具体的には、各訓練サンプルに対して、1つの訓練サンプルにおける2つのノードの情報をパターンモデルに入力し、パターンモデルは各ノードの特徴付けベクトルを出力する。これにより、パターンモデルにより、各ユーザオブジェクトに対応するノードの特徴付けベクトルと、各マルチメディアリソースに対応するノードの特徴付けベクトルを得ることができる。
【0034】
ここで、ノードの特徴付けベクトルは、このノード情報からパターンモデルにより取得され得る。
【0035】
ユーザオブジェクトについては、ユーザオブジェクトの性別、年齢、嗜好などの情報をパターンモデルに入力してもよく、マルチメディアリソースについては、マルチメディアリソースのタイトル、作者などの情報をパターンモデルに入力してもよい。
【0036】
訓練サンプルにおける2つのノードが同一のパス上にあり、かつ2つのノードの間隔ノード数がノード数の閾値よりも小さいため、2つのノード間の関連度が大きいことを意味するので、パターンモデル学習により得られた同一の訓練サンプルに属する2つのノードの特徴付けベクトルが類似する。
【0037】
ステップ104では、各ユーザオブジェクトに対応するノードの特徴付けベクトル及び/又は各マルチメディアリソースに対応するノードの特徴付けベクトル間のベクトル類似度に基づいて、マルチメディアリソースの推薦を行う。
【0038】
本実施例では、2つのノードの特徴付けベクトルが類似するほど、2つのノードの関連度が大きいことを意味するので、各ユーザオブジェクトに対応するノードの特徴付けベクトル間のベクトル類似度に基づいて、マルチメディアリソースの推薦を行うことができる。例えば、2つのユーザに対応するノードの特徴付けベクトル間の類似度が類似度閾値よりも大きい場合、2つのユーザにより閲覧されたマルチメディアリソースを互いに推薦することができる。
【0039】
又は、各マルチメディアリソースに対応するノードの特徴付けベクトル間のベクトル類似度に基づいて、マルチメディアリソースの推薦を行う。例えば、2つのマルチメディアリソースに対応するノードの特徴付けベクトル間のベクトル類似度は、類似度閾値よりも大きく、ユーザがマルチメディアリソースのうちの1つを閲覧した場合、他のマルチメディアリソースをユーザに推薦することができる。
【0040】
あるいは、各ユーザオブジェクトに対応するノードの特徴付けベクトルと各マルチメディアリソースに対応するノードの特徴付けベクトルとの間のベクトル類似度に基づいて、マルチメディアリソースの推薦を行う。例えば、あるユーザに対応するノードの特徴付けベクトルと、あるマルチメディアリソースに対応するノードの特徴付けベクトルとの間の類似度が類似度閾値よりも大きい場合、このマルチメディアリソースをこのユーザに推薦することができる。
【0041】
上記の訓練サンプルの決定について、本願の一実施例では、スライディングウィンドウを使用して訓練サンプルを取得することもできる。
図3を参照して説明し、
図3は、本願の他の実施例に係るマルチメディアリソースの推薦方法のフローチャートである。
【0042】
図3に示すように、上記の関係グラフ内のパスに基づいて、同一のパス内で間隔ノード数が閾値よりも小さい2つのノードを訓練サンプルとすることは、ステップ301と、ステップ302と、ステップ303とを含む。
【0043】
ステップ301では、各パスに対して、スライディングウィンドウを使用し、所定の歩幅でパス内を移動し、ここで、スライディングウィンドウの長さは、ノード数の閾値に対応する。
【0044】
本実施例では、関係グラフにおける各パスで、所定の長さのスライディングウィンドウを使用して、所定の歩幅でパス内を移動する。
【0045】
訓練サンプルにおける2つのノードの関連度が大きいことを保証するために、ここでスライディングウィンドウの長さは、ノード数の閾値に対応し、例えば、ノード数の閾値が2であれば、スライディングウィンドウの長さは5であってもよい。ここで、スライディングウィンドウ移動の歩幅は、ウィンドウの長さよりも小さくてもよい。
【0046】
ステップ302では、スライディングウィンドウが所定の歩幅を移動する毎に、スライディングウィンドウ内のノードを取得する。
【0047】
本実施例では、パスでスライディングウィンドウが同一の方向に1つの歩幅を移動する毎に、スライディングウィンドウ内のノードを取得する。ここで、移動方向とは、移動開始位置から離れる方向を意味する。
【0048】
例えば、あるパス上はp1-p2-p3-p4であり、ウィンドウはノードp1から離れる方向に移動可能である。
【0049】
ステップ303では、スライディングウィンドウの中心にある中心ノードをスライディングウィンドウ内の残りのノードとそれぞれ2つずつ組み合わせて、各組み合わせを1つの訓練サンプルとする。
【0050】
本実施例では、スライディングウィンドウが所定の歩幅ずつを移動した後、スライディングウィンドウの中心にある中心ノードをスライディングウィンドウ内の残りのノードとそれぞれ2つずつ組み合わせて、各組み合わせを1つの訓練サンプルとする。
【0051】
例えば、初期時のスライディングウィンドウ内のノードを左から右に順にp1、p2、p3、p4、p5とすると、スライディングウィンドウの中心にある中心ノードをp3とし、p3をp1、p2、p4、p5とそれぞれ2つずつ組み合わせて、(p1、p3)、(p2、p3)、(p3、p4)、(p3、p5)の4組の組み合わせを得て、各組み合わせを1つの訓練サンプルとし、4つの訓練サンプルを得る。
【0052】
スライディングウィンドウを1つのノード移動させる際、スライディングウィンドウ内のノードを左から右に順にp2、p3、p4、p5、p6とすると、スライディングウィンドウの中心にある中心ノードをp4とし、p4をp2、p3、p5、p6とそれぞれ2つずつ組み合わせて、(p2、p4)、(p3、p4)、(p4、p5)、(p4、p6)の4組の組み合わせを得て、各組み合わせを1つの訓練サンプルとし、4つの訓練サンプルを得る。
【0053】
本願の実施例では、関係グラフ内のパスに基づいて、同一のパス内で間隔ノード数が閾値よりも小さい2つのノードを訓練サンプルとする場合、各パスに対して、ノード数の閾値に対応するスライディングウィンドウを移動させることで、スライディングウィンドウ内のノードを取得し、スライディングウィンドウ内の中心ノードとスライディングウィンドウ内の他を2つずつ組み合わせて、各組み合わせを1つの訓練サンプルとすることで、複数の訓練サンプルを取得し、取得方法がシングルであるだけでなく、取得された訓練サンプルの2つずつのノードの関連度が高く、このような方式で訓練サンプルを得て、パターンモデルを訓練し、モデルの正確性を向上させる。
【0054】
実際の応用では、ユーザオブジェクトの数が増加し、マルチメディアリソースの数が増加するにつれて、シングルマシンによる訓練方法が制約される。これに基づいて、データ量の多いユーザの推薦に対処するために、本願の一実施例では、マルチマシン分散方式で訓練を行うことができる。次に、
図4及び
図5を参照して説明するが、
図4は、本願の他の実施例に係るマルチメディアリソースの推薦方法のフローチャートであり、
図5は、本願の一実施例における訓練概略図である。
【0055】
図4に示すように、訓練サンプルを用いて、パターンモデルを訓練し、訓練サンプルにおける各ノードの特徴付けベクトルを得るようにパターンモデルを学習させる上記のステップは、ステップ401と、ステップ402と、ステップ403と、ステップ404とを含む。
【0056】
ステップ401では、サーバクラスタから、パターンモデルが実行される第1のサブクラスタを決定する。
【0057】
本実施例では、ユーザオブジェクトの数とマルチメディアリソースの数に基づいて、サーバクラスタにおけるパターンモデルを実行するためのサーバ又は仮想マシンの数を決定することができ、これらのパターンモデルを実行するサーバ又は仮想マシンは第1のサブクラスタを構成する。
【0058】
又は、パターンモデルを実行するように、サーバクラスタにおける半分のサーバ又は仮想マシンを第1のサブクラスタとすることができる。
【0059】
ステップ402では、訓練サンプルに基づいて、予測タスクと対応するパラメータ調整タスクを生成する。
【0060】
パターンモデルを訓練するため、2つのタスクが訓練サンプルから生成され、一方は予測タスクであり、他方はパラメータ調整タスクである。
【0061】
ステップ403では、サーバクラスタにおける第1のサブクラスタを分配して予測タスクを実行する。
【0062】
本実施例では、第1のサブクラスタはパターンモデルを実行し、サーバクラスタにおける第1のサブクラスタを分配して予測タスクを実行する。
【0063】
具体的には、第1のサブクラスタにおける各サーバ又は仮想マシンは、訓練サンプルにおける2つのノードに関する情報を読み取り、パターンモデルを用いて訓練サンプルにおける2つのノードの特徴付けベクトルを予測し、予測された特徴付けベクトルに基づいて訓練サンプルにおける2つのノードが同一の訓練サンプルに属する確率を取得し、確率に基づいて確率の勾配を取得する。
【0064】
ここで、ノードの特徴付けベクトルは、このノード情報からパターンモデルにより取得され得る。
【0065】
パターンモデルに入力された2つのノードは同一の訓練サンプルに属するので、2つのノードのラベルは同一の訓練サンプルに属する。予測された特徴付けベクトルから取得される確率が小さいほど、パターンモデルが正確でないことを示し、取得される確率の勾配は、パターンモデルのパラメータを調整するために用いられる。
【0066】
ステップ404では、サーバクラスタの第1のサブクラスタ以外の第2のサブクラスタを分配して、対応するパラメータ調整タスクを実行する。
【0067】
本実施例では、サーバクラスタにおける第1のサブクラスタは、パターンモデルを実行し、予測タスクを実行するために用いられ、サーバクラスタの第1のサブクラスタ以外の第2のサブクラスタを分配して、対応するパラメータ調整タスクを実行することができる。つまり、第2のサブクラスタにおけるサーバ又は仮想マシンに、パターンモデルのパラメータ調整タスクを実行させる。
【0068】
ここで、パラメータ調整タスクとは、上記の取得された確率の勾配に基づいてパターンモデルのパラメータを調整し、第1のサブクラスタにおけるサーバ又は仮想マシンが、パラメータ調整後のパターンモデルに基づいて訓練サンプルの2つのノードの特徴付けベクトルを予測し、2つのノードが同一の訓練サンプルに属する確率、及び確率の勾配を得ることである。
【0069】
図5に示すように、サーバクラスタ内のマシンは2つの部分に分けられ、一方は第1のサブクラスタに属し、他方は第2のサブクラスタに属し、ここで、第1のサブクラスタ内のマシンは予測タスクを実行し、第2のサブクラスタ内のマシンはパラメータ調整タスクを実行する。
【0070】
具体的には、第1のサブクラスタは、予測タスクを実行し、訓練サンプルを予測し、予測された訓練サンプルにおける2つのノードの特徴付けベクトルに基づいて確率の勾配を取得し、確率の勾配をパラメータ調整タスクに伝送する。第2のサブクラスタは、パラメータ調整タスクを実行し、確率の勾配に基づいてモデルパラメータを調整することで、最新のモデルパラメータを取得する。次に、第1のサブクラスタは最新のモデルパラメータに基づいて予測タスクを実行し、その後、確率抽出をパラメータ調整タスクに伝送し、第2のサブクラスタはパラメータ調整タスクを継続的に実行し、訓練終了条件が満たされるまで、新規なモデルパラメータを取得する。
【0071】
実際の応用において、ユーザオブジェクトの量とマルチメディアリソースの量が増加すると、サーバクラスタの規模が増加し、訓練度が向上する。
【0072】
本実施例では、訓練サンプルを用いて、パターンモデルを訓練し、訓練サンプルにおける各ノードの特徴付けベクトルを得るようにパターンモデルを学習させる場合、サーバクラスタにおける2つのクラスタを分配して予測タスクとパラメータ調整タスクをそれぞれ実行することで、訓練速度を向上させるだけでなく、大きなデータ量のユーザオブジェクト、マルチメディアリソースの訓練と予測をサポートすることができる。さらに、訓練が必要なユーザオブジェクトの量に応じて、マシンを追加することで拡張を実現し、拡張性が高い。
【0073】
特徴付けベクトルの正確性を向上させるために、本願の一実施例において、ユーザオブジェクトの閲覧行為を十分に利用するために、ノードの隣接ノードの特徴ベクトルを用いて、ノードを表す特徴付けベクトルを得ることができる。以下、
図6を参照して説明し、
図6は、本願の他の実施例に係るマルチメディアリソースの推薦方法のフローチャートである。
【0074】
図6に示すように、予測タスクを実行する上記のステップは、ステップ501と、ステップ502と、ステップ503と、ステップ504とを含む。
【0075】
ステップ501では、訓練サンプルに基づいて、関係グラフを照会して、訓練サンプルにおける各ノードの複数の隣接ノードを取得する。
【0076】
本実施例では、パターンモデルは、クラスタリング関数と特徴関数とを含む。ここで、特徴関数は、ノードの特徴ベクトルを決定するために用いられ、クラスタリング関数は、複数のノードの特徴ベクトルをクラスタリングして特徴付けベクトルを得るために用いられる。そこで、パターンモデルのパラメータは、クラスタリング関数におけるパラメータと、特徴関数におけるパラメータとを含む。
【0077】
予測タスクを実行する際、関係グラフを照会し、関係グラフにおける訓練サンプルのノード及び関係グラフにおけるエッジに基づいて、訓練サンプルにおける各ノードの複数の隣接ノードを得る。ここで、隣接ノードは、訓練サンプル内のノードに直接隣接する1ホップ隣接ノードと呼ばれるノードを含んでもよいし、直接隣接する2ホップ隣接ノードと呼ばれるノードを含んでもよく、順に3ホップ隣接ノードが存在することもできる。したがって、隣接ノードを決定する際、設定されたパラメータ調整に基づいて隣接ノードを取得することができる。
【0078】
図2に示すように、ノードu1の隣接ノードはi1及びu2であり、i1はu1の直接隣接ノードであり、u2はi1の直接隣接ノードであることが分かる。
【0079】
又は、訓練サンプルにおける各ノードに対して、関係グラフを照会し、所定数の隣接ノードをランダムに選択することもできる。例えば、3つの隣接ノードをランダムに選択する。これにより、訓練サンプルの2つのノードに対して、所定数の隣接ノードを取得し、一方のノードの隣接ノードが多く、他方のノードの隣接ノードが少なくなることで確率の正確性が損なわれる状況を回避する。
【0080】
ステップ502では、特徴関数に基づいて、各隣接ノードの特徴ベクトルを生成する。
【0081】
本実施例では、各隣接ノード及び特徴関数に基づいて、各隣接ノードの特徴ベクトルを生成することができる。
【0082】
ステップ503では、複数の隣接ノードの特徴ベクトルをクラスタリング関数でクラスタリングし、訓練サンプルにおける対応ノードの特徴付けベクトルを得る。
【0083】
本実施例では、各隣接ノードの特徴ベクトルを得て、クラスタリング関数により各隣接ノードの特徴ベクトルをクラスタリングすることで、訓練サンプルにおける対応ノードの特徴付けベクトルを得る。
【0084】
例えば、ある訓練サンプルの2つのノードがAとBであり、Aノードの全ての隣接ノードの特徴ベクトルをクラスタリング関数でクラスタリングしてAの特徴付けベクトルを得て、Bノードの全ての隣接ノードの特徴ベクトルをクラスタリング関数でクラスタリングしてBの特徴付けベクトルを得る。
【0085】
つまり、隣接ノードの特徴ベクトルでクラスタリングにより得られた特徴付けベクトルを、訓練サンプルにおけるサンプルの特徴付けベクトルとする。したがって、訓練サンプルにおけるノードの特徴付けベクトルに隣接ノードの特徴を融合させる。
【0086】
ステップ504では、訓練サンプルにおける2つのノードの特徴付けベクトル間のベクトル類似度に基づいて、訓練サンプルにおける2つのノードが同一の訓練サンプルに属する確率を決定する。
【0087】
訓練サンプルにおける2つのノードの特徴付けベクトルを得た後、2つのノードの特徴付けベクトル間のベクトル類似度を計算することができ、具体的には、2つの特徴付けベクトル間の余弦を計算することができる。ここで、類似度が高いほど、2つのノードが同一の訓練サンプルに属する確率が大きく、類似度が低いほど、2つのノードが同一の訓練サンプルに属する確率が小さい。
【0088】
具体的には、類似度と確率との間のマッピング関係を予め構築しておき、このマッピング関係に基づいて、訓練サンプルにおける2つのノードの特徴付けベクトル間のベクトル類似度に対応する確率、すなわち、訓練サンプルにおける2つのノードが同一の訓練サンプルに属する確率を決定することができる。
【0089】
本実施例では、モデルパラメータは、クラスタリング関数におけるパラメータと特徴関数におけるパラメータとを含み、パラメータ調整タスクを実行する際、確率の勾配に基づいて特徴関数における関数を調整してノードの特徴ベクトルの正確性を向上させ、クラスタリング関数におけるパラメータを調整してクラスタリングにより得られる特徴付けベクトルの正確性を向上させ、ひいてはパターンモデルの正確性を向上させることができる。
【0090】
本願の実施例では、パターンモデルは、特徴関数とクラスタリング関数とを含み、予測タスクを実行する際、特徴関数により、訓練サンプルにおける各ノードの各隣接ノードの特徴ベクトルを生成し、クラスタリング関数により全ての隣接ノードの特徴ベクトルをクラスタリングして訓練サンプルにおける対応ノードの特徴付けベクトルを得て、訓練サンプルにおける2つのノードの特徴付けベクトル間のベクトル類似度に基づいて、2つのノードが同一の訓練サンプルに属する確率を決定する。これにより、クラスタリング関数により、訓練サンプルにおける1つのノードの全ての隣接ノードの特徴ベクトルをクラスタリングして特徴付けベクトルを得て、このノードの特徴付けベクトルとすることで、訓練サンプルにおけるノードの特徴付けベクトルに隣接ノードの特徴を融合させ、同一のユーザにより閲覧されたマルチメディアリソースを取得し、この特徴付けベクトルに基づいて2つのノードが同一の訓練サンプルに属する確率を得て、確率の正確性を高め、モデルの収束速度を向上させる。
【0091】
実際の応用では、ユーザが閲覧するマルチメディアリソースは変化する可能性がある。これに基づいて、推薦のリアルタイム性を向上させるために、本願の一実施例では、上記の複数のユーザオブジェクトにより閲覧されたマルチメディアリソースに基づいて関係グラフを生成する前に、最近の周期内でモニタリングされた閲覧行為をまず統計し、最近の統計周期内でモニタリングされた閲覧行為に基づいて、閲覧行為を実行する複数のユーザオブジェクトと、ユーザにより閲覧されたマルチメディアリソースとを決定することができる。
【0092】
ここで、統計周期は、必要に応じて設定すればよく、1時間ごと、2時間ごとなどでもよい。例えば、最近の統計の1時間以内の閲覧行為に基づいて、閲覧行為を実行するユーザオブジェクトと、ユーザオブジェクトにより閲覧されたマルチメディアリソースを決定する。
【0093】
マルチメディアリソースが文章であることを一例として、オンライン上のログからユーザと文章との間のインタラクションクリックデータを取得し、1時間ごとのクリックデータを取得し、文章を閲覧したユーザ及びユーザにより閲覧された文章を決定する。
【0094】
閲覧行為を実行する複数のユーザオブジェクト、及びユーザにより閲覧されたマルチメディアリソースを決定した後、複数のユーザオブジェクト、ユーザにより閲覧されたマルチメディアリソース、及び文章に対するユーザの閲覧行為に基づいて、関係グラフを生成することができる。
【0095】
本願の実施例では、複数のユーザオブジェクトにより閲覧されたマルチメディアリソースに基づいて関係グラフを生成する前に、先に最近の統計周期内でモニタリングされた閲覧行為に基づいて、閲覧行為を実行する複数のユーザオブジェクト、及び複数のユーザオブジェクトにより閲覧されたマルチメディアリソースを決定することができる。これにより、最近の統計周期内の閲覧行為に基づいて、リアルタイム性の強い関係グラフを生成することができ、関係グラフに基づいて訓練する際、パターンモデル学習により得られた特徴付けベクトルが、同一のユーザにより短時間内に閲覧されたリソースの固有の関連性を示すことができ、特徴付けベクトルのリアルタイム性と正確性を向上させ、それによって推薦のリアルタイム性と正確性を向上させる。
【0096】
上記のマルチメディアリソースの推薦を行うことについて、本願の一実施例では、関係グラフにおける各マルチメディアリソースの特徴付けベクトルに基づいて、マルチメディアリソースの推薦を行うことができる。以下、
図6を参照して説明し、
図7は、本願の他の実施例に係るマルチメディアリソースの推薦方法のフローチャートである。
【0097】
図7に示すように、各ユーザオブジェクトに対応するノードの特徴付けベクトル及び/又は各マルチメディアリソースに対応するノードの特徴付けベクトル間のベクトル類似度に基づいて、マルチメディアリソースの推薦を行う上記のステップは、ステップ601と、ステップ602と、ステップ603とを含む。
【0098】
ステップ601では、ターゲットユーザオブジェクトにより閲覧されたマルチメディアリソースのターゲット特徴付けベクトルを照会する。
【0099】
本実施例では、訓練されたパターンモデルにより各ユーザオブジェクト及びマルチメディアリソースの特徴付けベクトルを取得して、記憶することができる。関係グラフにおいてあるユーザオブジェクトに推薦する場合、説明を容易にするため、ターゲットユーザオブジェクトと呼び、ターゲットユーザオブジェクトにより閲覧されたマルチメディアリソースを決定し、続いて閲覧されたマルチメディアリソースのターゲット特徴付けベクトルを照会する。
【0100】
ステップ602では、ターゲット特徴付けベクトルに基づいて、各マルチメディアリソースから第1のマルチメディアリソースを決定し、ここで、第1のマルチメディアリソースの特徴付けベクトルとターゲット特徴付けベクトルとの間のベクトル類似度は、類似度閾値よりも高い。
【0101】
閲覧されたマルチメディアリソースのターゲット特徴付けベクトルの後、閲覧された各マルチメディアリソースと各マルチメディアリソースにおける他のマルチメディアリソースの特徴付けベクトルとの間のベクトル類似度をそれぞれ計算し、ベクトル類似度が類似度閾値よりも高いマルチメディアリソースを第1のマルチメディアリソースとすることができる。なお、第1のマルチメディアリソースは、1つであってもよいし、複数であってもよいことが分かる。
【0102】
ここで、ベクトル類似度は、2つの特徴付けベクトルの余弦を計算することにより得られる。
【0103】
ステップ603では、ターゲットユーザオブジェクトに第1のマルチメディアリソースを推薦する。
【0104】
本実施例では、ターゲットユーザオブジェクトがマルチメディアリソースを閲覧する際に、ユーザに第1のマルチメディアリソースを推薦する。例えば、ユーザが音楽プレーヤを使用する場合、表示インタフェースの予め設定された領域において他の楽曲を推薦することができる。
【0105】
例えば、ユーザがスポーツニュースを閲覧した場合、このスポーツニュースの特徴付けベクトルとの間の類似度が高い文章をユーザに推薦することができる。
【0106】
本実施例では、ターゲットユーザオブジェクトにより閲覧されたマルチメディアリソースのターゲット特徴付けベクトルに基づいて、各マルチメディアリソースにおけるターゲット特徴付けベクトルとの間のベクトル類似度が類似度閾値よりも高いマルチメディアリソースをターゲットユーザオブジェクトに推薦することで、ユーザにより閲覧されたマルチメディアリソースと他のマルチメディアリソースの特徴付けベクトルとの間のベクトル類似度に基づいて、マルチメディアリソースの推薦を行うことを実現する。
【0107】
以上、マルチメディアリソース間の特徴付けベクトルの類似度に基づいて推薦を行うことである。本願の一実施例では、ユーザオブジェクトの特徴付けベクトルとマルチメディアリソースの特徴付けベクトルに基づいて、マルチメディアリソースの推薦を行うこともできる。
【0108】
具体的には、訓練されたパターンモデルにより各ユーザオブジェクト及びマルチメディアリソースの特徴付けベクトルを取得して、記憶することができる。関係グラフにおいてあるユーザオブジェクト、すなわち、ターゲットユーザオブジェクトに対して推薦を行う場合、ターゲットユーザオブジェクトの識別子に基づいて、このターゲットユーザオブジェクトに対応する特徴付けベクトルを取得することができる。
【0109】
ターゲットユーザオブジェクトの特徴付けベクトルを取得した後、ターゲットユーザオブジェクトの特徴付けベクトルと各マルチメディアリソースの特徴付けベクトルとの間のベクトル類似度をそれぞれ計算し、ベクトル類似度が類似度閾値よりも高いマルチメディアリソースを第2のマルチメディアリソースとすることができる。次に、ターゲットユーザオブジェクトに第2のマルチメディアリソースを推薦する。ここで、第2のマルチメディアリソースは、1つであってもよいし、複数であってもよい。
【0110】
本実施例では、ターゲットユーザオブジェクトの特徴付けベクトルに基づいて、ターゲットユーザオブジェクトのターゲット特徴付けベクトルとの間のベクトル類似度が類似度閾値よりも高いマルチメディアリソースをターゲットユーザオブジェクトに推薦することで、ユーザオブジェクトの特徴付けベクトルとマルチメディアリソースの特徴付けベクトルに基づいて、マルチメディアリソースの推薦を行うことを実現する。
【0111】
本実施例では、ユーザオブジェクト間の特徴付けベクトルに基づいて、マルチメディアリソースの推薦を行うこともできる。
【0112】
具体的には、訓練されたパターンモデルにより各ユーザオブジェクト及びマルチメディアリソースの特徴付けベクトルを取得して、記憶することができる。関係グラフにおいてあるユーザオブジェクト、すなわち、ターゲットユーザオブジェクトに対して推薦を行う場合、ターゲットユーザオブジェクトの識別子に基づいて、このターゲットユーザオブジェクトに対応する特徴付けベクトルを取得することができる。
【0113】
ターゲットオブジェクトの特徴付けベクトルを取得した後、ターゲットユーザオブジェクトの特徴付けベクトルと他のユーザオブジェクトの特徴付けベクトルとの間のベクトル類似度をそれぞれ計算し、ベクトル類似度が類似度閾値よりも高いユーザオブジェクトを候補ユーザオブジェクトとすることができる。次に、ターゲットユーザオブジェクトに候補ユーザオブジェクトにより閲覧された第3のマルチメディアリソースを推薦する。ここで、第3のマルチメディアリソースは、1つであってもよいし、複数であってもよい。
【0114】
つまり、2つのユーザオブジェクト間の関連度が高ければ、2つのユーザオブジェクトにより閲覧されたマルチメディアリソースを互いに推薦することができる。
【0115】
例えば、ユーザaとユーザbの特徴付けベクトルの類似度が類似度閾値よりも高ければ、ユーザaにより閲覧されたマルチメディアリソースをユーザbに推薦してもよいし、当然のことながら、ユーザbにより閲覧されたマルチメディアリソースをユーザaに推薦してもよい。
【0116】
本実施例では、ターゲットユーザオブジェクトの特徴付けベクトルに基づいて、各ユーザオブジェクトから、ターゲットオブジェクトの特徴付けベクトルとの類似度が類似度閾値よりも高い候補ユーザオブジェクトを決定し、候補ユーザにより閲覧されたマルチメディアリソースをターゲットユーザオブジェクトに推薦することで、ユーザオブジェクト間の特徴付けベクトルに基づいてマルチメディアリソースの推薦を行うことを実現する。
【0117】
上記の実施例を実現するために、本願の一実施例に係るマルチメディアリソースの推薦装置をさらに提供する。
図8は、本願の一実施例に係るマルチメディアリソースの推薦装置の構造概略図である。
【0118】
図8に示すように、このマルチメディアリソースの推薦装置700は、生成モジュール710と、第1の決定モジュール720と、訓練モジュール730と、推薦モジュール740とを備える。
【0119】
生成モジュール710は、複数のユーザオブジェクトにより閲覧されたマルチメディアリソースに基づいて、関係グラフを生成するために用いられ、ここで、関係グラフの1つのノードは、1つのユーザオブジェクト又は1つのマルチメディアリソースに対応し、関係グラフの1つのエッジは、接続された2つのノード間における閲覧行為の存在を示すために用いられる。
第1の決定モジュール720は、関係グラフにおけるパスに基づいて、同一のパス内で間隔ノード数がノード数の閾値よりも小さい2つのノードを訓練サンプルとするために用いられる。
訓練モジュール730は、訓練サンプルを用いて、パターンモデルを訓練し、訓練サンプルにおける各ノードの特徴付けベクトルを得るようにパターンモデルを学習させるために用いられ、ここで、同一の訓練サンプルに属する2つのノードの特徴付けベクトルが類似する。
推薦モジュール740は、各ユーザオブジェクトに対応するノードの特徴付けベクトル及び/又は各マルチメディアリソースに対応するノードの特徴付けベクトル間のベクトル類似度に基づいて、マルチメディアリソースの推薦を行うために用いられる。
【0120】
本実施例の可能な一実施態様では、上記の第1の決定モジュール720は、各パスに対して、スライディングウィンドウを使用し、所定の歩幅でパス内を移動するために用いられ、ここで、スライディングウィンドウの長さは、ノード数の閾値に対応する移動ユニットと、スライディングウィンドウが所定の歩幅を移動する毎に、スライディングウィンドウ内のノードを取得するために用いられる取得ユニットと、スライディングウィンドウの中心にある中心ノードをスライディングウィンドウ内の残りのノードとそれぞれ2つずつ組み合わせて、各組み合わせを1つの訓練サンプルとするために用いられる組み合わせユニットとを備える。
【0121】
本実施例の可能な一実施態様では、上記の訓練モジュール730は、サーバクラスタから、パターンモデルが実行される第1のサブクラスタを決定するために用いられる第1の決定ユニットと、訓練サンプルに基づいて、予測タスクと対応するパラメータ調整タスクを生成するために用いられる生成ユニットと、サーバクラスタにおける第1のサブクラスタを分配して予測タスクを実行するために用いられ、ここで、予測タスクは、パターンモデルを用いて訓練サンプルにおける2つのノードの特徴付けベクトルを予測し、予測された特徴付けベクトルに基づいて訓練サンプルにおける2つのノードが同一の訓練サンプルに属する確率を取得し、確率に基づいて確率の勾配を取得するために用いられる分配ユニットとを備える。
上記の分配ユニットは、さらに、サーバクラスタの第1のサブクラスタ以外の第2のサブクラスタを分配して、対応するパラメータ調整タスクを実行するために用いられ、ここで、パラメータ調整タスクは、対応する予測タスクによって生成された確率の勾配に基づいて、パターンモデルのモデルパラメータを調整するために用いられる。
【0122】
本実施例の可能な一実現形態では、上記のパターンモデルは、特徴関数とクラスタリング関数とを含み、ここで、上記の分配ユニットは、訓練サンプルに基づいて、関係グラフを照会して、訓練サンプルにおける各ノードの複数の隣接ノードを取得するために用いられるサブ照会ユニットと、特徴関数に基づいて、各隣接ノードの特徴ベクトルを生成するために用いられるサブ生成ユニットと、複数の隣接ノードの特徴ベクトルをクラスタリング関数でクラスタリングし、訓練サンプルにおける対応ノードの特徴付けベクトルを得るために用いられるサブクラスタリングユニットと、訓練サンプルにおける2つのノードの特徴付けベクトル間のベクトル類似度に基づいて、訓練サンプルにおける2つのノードが同一の訓練サンプルに属する確率を決定するために用いられるサブ決定ユニットとを備える。
【0123】
本実施例の可能な一実現形態では、上記のモデルパラメータは、クラスタリング関数におけるパラメータと、特徴関数におけるパラメータとを含む。
【0124】
本実施例の可能な一実現形態では、上記のサブ照会ユニットは、訓練サンプルにおける1つのノードに対して、関係グラフを照会し、所定数の隣接ノードをランダムに選択するために用いられる。
【0125】
本実施例の可能な一実現形態では、マルチメディアリソースの推薦装置は、さらに、最近の統計周期内でモニタリングされた閲覧行為に基づいて、閲覧行為を実行する複数のユーザオブジェクト、及び複数のユーザオブジェクトにより閲覧されたマルチメディアリソースを決定するために用いられる第2の決定モジュールを備える。
【0126】
本実施例の可能な一実現形態では、上記の推薦モジュール740は、ターゲットユーザオブジェクトにより閲覧されたマルチメディアリソースのターゲット特徴付けベクトルを照会するために用いられる第1の照会ユニットと、ターゲット特徴付けベクトルに基づいて、各マルチメディアリソースから第1のマルチメディアリソースを決定するために用いられ、ここで、第1のマルチメディアリソースの特徴付けベクトルとターゲット特徴付けベクトルとの間のベクトル類似度は、類似度閾値よりも高い第2の決定ユニットと、ターゲットユーザオブジェクトに第1のマルチメディアリソースを推薦するために用いられる第1の推薦ユニットとを備える。
【0127】
本実施例の可能な一実現形態では、上記の推薦モジュール740は、ターゲットユーザオブジェクトの特徴付けベクトルを照会するために用いられる第2の照会ユニットと、ターゲットユーザオブジェクトの特徴付けベクトルに基づいて、各マルチメディアリソースから第2のマルチメディアリソースを決定するために用いられ、ここで、第2のマルチメディアリソースの特徴付けベクトルとターゲットユーザオブジェクトの特徴付けベクトルとの間のベクトル類似度は、類似度閾値よりも高い第3の決定ユニットと、ターゲットユーザオブジェクトに第2のマルチメディアリソースを推薦するために用いられる第2の推薦ユニットとを備える。
【0128】
本実施例の可能な一実現形態では、上記の推薦モジュール740は、ターゲットユーザオブジェクトの特徴付けベクトルを照会するために用いられる第2の照会ユニットと、ターゲットユーザオブジェクトの特徴付けベクトルに基づいて、各ユーザオブジェクトから候補ユーザオブジェクトを決定するために用いられ、ここで、候補ユーザオブジェクトの特徴付けベクトルとターゲットユーザオブジェクトの特徴付けベクトルとの間のベクトル類似度は、類似度閾値よりも高い第4の決定ユニットと、ターゲットユーザオブジェクトに候補ユーザオブジェクトにより閲覧されたマルチメディアリソースを推薦するために用いられる第3の推薦ユニットとを備える。
【0129】
なお、マルチメディアリソースの推薦方法の実施例の説明は、本実施例のマルチメディアリソースの推薦装置にも適用されるため、ここでは説明を省略する。
【0130】
本実施例に係るマルチメディアリソースの推薦装置は、複数のユーザオブジェクトにより閲覧されたマルチメディアリソースに基づいて、関係グラフを生成し、関係グラフにおける同一のパス内で間隔ノード数がノード数の閾値よりも小さい2つのノードを訓練サンプルとし、パターンモデルを訓練して訓練サンプルにおける各ノードの特徴付けベクトルを得て、各ユーザオブジェクトに対応する特徴付けベクトル及び/又はマルチメディアリソースノードの特徴付けベクトルに基づいて、マルチメディアリソースの推薦を行う。これにより、パターンモデルの訓練において、関係グラフにおける同一のパスの隣接ノードを訓練サンプルとすることで、パターンモデル学習により得られた特徴付けベクトルが同一のユーザにより閲覧されたリソースの固有の関連性を示すことができるようになり、ノードの特徴付けベクトルの正確性を向上させ、これにより特徴付けベクトルに基づいて推薦を行い、推薦の正確性を向上させる。
【0131】
本願の一実施例に係る電子機器及び読み取り可能な記憶媒体をさらに提供する。
【0132】
図9は、本願の一実施例に係るマルチメディアリソースの推薦方法の電子機器のブロック図である。電子機器は、ラップトップコンピュータ、デスクトップコンピュータ、ワークステーション、パーソナルデジタルアシスタント、サーバ、ブレードサーバ、メインフレームコンピュータ、及び他の適切なコンピュータなどの様々な形態のデジタルコンピュータを表すことを意図する。電子機器は、また、パーソナルデジタルプロセッシング、携帯電話、スマートフォン、ウェアラブル機器、及び他の同様のコンピューティング装置などの様々な形態のモバイル装置を表すことができる。本明細書に示される構成要素、それらの接続及び関係、並びにそれらの機能は、単なる例であり、本明細書に記述及び/又は要求される本願の実現を限定することを意図しない。
【0133】
図9に示すように、この電子機器は、1つ以上のプロセッサ801と、メモリ802と、高速インタフェース及び低速インタフェースを備え、各構成要素を接続するためのインタフェースとを備える。各構成要素は、異なるバスで互いに接続され、共通のマザーボードに実装されてもよいし、又は必要に応じて他の方式で実装されてもよい。プロセッサは、外部入力/出力装置(例えば、インタフェースに結合されたディスプレイ機器)にGUIのグラフィック情報を表示するために、メモリ内又はメモリ上に記憶されている命令を含む、電子機器内で実行される命令を処理してもよい。他の実施形態では、必要に応じて、複数のプロセッサ及び/又は複数のバスを複数のメモリ及び複数のメモリと共に使用してもよい。同様、複数の電子機器を接続し、各機器が必要な動作の一部(例えば、サーバアレイ、1組のブレードサーバ、又はマルチプロセッサシステム)を提供するようにしてもよい。
図9では、1つのプロセッサ801を一例にする。
【0134】
メモリ802は、本願の一実施例に係る非一時的なコンピュータ読み取り可能な記憶媒体である。ここで、メモリ802は、少なくとも1つのプロセッサに、上記のマルチメディアリソースの推薦方法を実行させるように、少なくとも1つのプロセッサによって実行可能な命令を記憶する。本実施例に係る非一時的なコンピュータ読み取り可能な記憶媒体は、上記のマルチメディアリソースの推薦方法をコンピュータに実行させるために用いられるコンピュータ命令を記憶する。
【0135】
メモリ802は、非一時的なソフトウェアプログラム、非一時的なコンピュータ実行可能なプログラム及びモジュール、例えば、上記のマルチメディアリソースの推薦方法に対応するプログラム命令/モジュール(例えば、
図8に示す生成モジュール710、第1の決定モジュール720、訓練モジュール730、推薦モジュール740)を記憶するために用いられる、非一時的なコンピュータ読み取り可能な記憶媒体として機能する。プロセッサ801は、メモリ802に記憶された非一時的なソフトウェアプログラム、命令及びモジュールを実行することで、サーバの様々な機能アプリケーション及びデータ処理を実行し、すなわち、上記のマルチメディアリソースの推薦方法を実現する。
【0136】
メモリ802は、プログラム記憶領域とデータ記憶領域とを含んでもよく、ここで、プログラム記憶領域は、オペレーティングシステム、少なくとも1つの機能に必要なアプリケーションプログラムを記憶することができ、データ記憶領域は、マルチメディアリソースの推薦方法の電子機器の使用に応じて作成されたデータなどを記憶することができる。また、メモリ802は、高速ランダムアクセスメモリを含んでもよいし、また、例えば、少なくとも1つのディスク記憶機器、フラッシュメモリ機器、又は他の非一時的な固体記憶機器などの非一時的なメモリを含んでもよい。いくつかの実施例では、メモリ802は好ましくは、プロセッサ801から遠隔に配置されたメモリを備えていてもよく、これらの遠隔メモリは、ネットワークを介してマルチメディアリソースの推薦方法の電子機器に接続され得る。上記のネットワークの一例としては、インターネット、イントラネット、ローカルエリアネットワーク、移動通信ネットワーク、及びそれらの組み合わせを含むが、これらに限定されない。
【0137】
マルチメディアリソースの推薦方法の電子機器は、入力装置803と出力装置804とをさらに備えていてもよい。プロセッサ801、メモリ802、入力装置803、及び出力装置804は、バス又は他の方式で接続されてもよく、
図9では、バスを介した接続を例にする。
【0138】
入力装置803は、入力された数字又は文字情報を受信し、また、タッチスクリーン、キーパッド、マウス、トラックパッド、タッチパッド、ポインティングスティック、1つ以上のマウスボタン、トラックボール、ジョイスティックなどの入力装置のような、マルチメディアリソースの推薦方法の電子機器のユーザ設定及び機能制御に関連するキー信号入力を生成することができる。出力装置804は、表示機器、補助照明装置(例えば、LED)、触覚フィードバック装置(例えば、振動モータ)などを含んでもよい。この表示機器は、液晶ディスプレイ(LCD)、発光ダイオード(LED)ディスプレイ、及びプラズマディスプレイを含み得るが、これらに限定されない。いくつかの実施形態では、表示機器はタッチスクリーンであってもよい。
本願の一実施例に係るコンピュータプログラムが提供される。コンピュータプログラムにおける命令が実行された場合に、上記のマルチメディアリソースの推薦方法が実行される。
【0139】
本明細書に記述のシステム及び技術の様々な実施形態は、デジタル電子回路システム、集積回路システム、特定用途向けASIC(特定用途向け集積回路)、コンピュータハードウェア、ファームウェア、ソフトウェア、及び/又はそれらの組み合わせで実現され得る。これらの様々な実施形態は、専用又は汎用のプログラマブルプロセッサであり得る、少なくとも1つのプログラマブルプロセッサを含むプログラマブルシステムで実行及び/又は解釈され得る1つ以上のコンピュータプログラム内で実施し、記憶システム、少なくとも1つの入力装置、及び少なくとも1つの出力装置からデータ及び命令を受信し、この記憶システム、この少なくとも1つの入力装置、及びこの少なくとも1つの出力装置にデータ及び命令を送信することを含んでもよい。
【0140】
これらのコンピューティングプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、又はコードとも呼ばれる)は、プログラマブルプロセッサの機械命令を含み、高度な手続き型及び/又はオブジェクト指向プログラミング言語、及び/又はアセンブリ/機械言語で実施される。本明細書で使用されるように、用語「機械読み取り可能な媒体」及び「コンピュータ読み取り可能な媒体」とは、機械命令を機械読み取り可能な信号として受信する機械読み取り可能な媒体を含む、機械命令及び/又はデータをプログラマブルプロセッサに提供するための任意のコンピュータプログラム製品、機器、及び/又は装置(例えば、磁気ディスク、光ディスク、メモリ、プログラマブルロジック装置(PLD))を指す。用語「機械読み取り可能な信号」とは、機械命令及び/又はデータをプログラマブルプロセッサに提供するために用いられる任意の信号を指す。
【0141】
ユーザとのインタラクションを提供するために、本明細書に記述のシステム及び技術は、ユーザに情報を表示するための表示装置(例えば、CRT(陰極線管)又はLCD(液晶ディスプレイ)モニタ)と、ユーザがコンピュータに入力を提供し得る、キーボードとポインティング装置(例えば、マウス又はトラックボール)とを有するコンピュータで実施される。他の種類の装置は、ユーザとのインタラクションを提供するために用いられ、例えば、ユーザに提供されるフィードバックは、任意の形態の感知フィードバック(例えば、視覚フィードバック、聴覚フィードバック、又は触覚フィードバック)であってもよいし、任意の形態(音の入力、音声入力、又は触覚入力を含む)で、ユーザからの入力を受信してもよい。
【0142】
本明細書に記述のシステム及び技術は、バックエンド構成要素を含むコンピューティングシステム(例えば、データサーバとして)、又はミドルウェア構成要素を含むコンピューティングシステム(例えば、アプリケーションサーバ)、又はフロントエンド構成要素を含むコンピューティングシステム(例えば、グラフィカルユーザインタフェース又はウェブブラウザを有するユーザコンピュータであり、ユーザがこのグラフィカルユーザインタフェース又はこのウェブブラウザを介して本明細書に記述のシステム及び技術の実施形態とインタラクション可能である)、又はそのようなバックエンド構成要素、ミドルウェア構成要素、又はフロントエンド構成要素の任意の組み合わせを含むコンピューティングシステムにおいて実施される。システムの構成要素は、任意の形態又は媒体のデジタルデータ通信(例えば、通信ネットワーク)を介して互いに接続される。通信ネットワークの例は、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、及びインターネットを含む。
【0143】
コンピュータシステムは、クライアント及びサーバを含んでもよい。クライアント及びサーバは、一般に、互いから離れており、通常、通信ネットワークを介してインタラクションする。クライアントとサーバの関係は、対応するコンピュータで動作し、互いにクライアント-サーバ関係を有するコンピュータプログラムによって生成される。
【0144】
本願の実施例の技術的解決手段によれば、パターンモデルの訓練において、関係グラフにおける同一のパスの隣接ノードを訓練サンプルとすることで、パターンモデル学習により得られた特徴付けベクトルが同一のユーザにより閲覧されたリソースの固有の関連性を示すことができるようになり、ノードの特徴付けベクトルの正確性を向上させ、これにより特徴付けベクトルに基づいて推薦を行い、推薦の正確性を向上させる。
【0145】
本明細書の記述において、「第1」、「第2」の用語は、単に目的を説明するためのものであり、比較的な重要性を指示又は暗示するか、或いは示された技術的特徴の数を黙示的に指示すると理解してはいけない。よって、「第1」、「第2」が限定されている特徴は、少なくとも1つの前記特徴を含むことを明示又は暗示するものである。本願の記述において、明確且つ具体的な限定がない限り、「複数」とは、少なくとも2つ、例えば、2つ、3つなどを意味する。
【0146】
なお、以上、本願の実施例を示して説明したが、上記の実施例は例示するものであって、本願を制限するためのものであると理解してはいけない。当業者であれば、本願の範囲内で上記の実施例に対して変更、修正、取り替え、変形を行うことができる。