(58)【調査した分野】(Int.Cl.,DB名)
保存された前記データ構造3つ組及び関連する実際の評価に基づいてユーザ、商品、及びレビューの表現を生成することは、前記ユーザ、商品、及びレビューの表現を一緒に学習することを含む、請求項1に記載の方法。
【発明を実施するための形態】
【0008】
本発明の実施形態は、ユーザによって与えられた過去の評価と関連する商品レビューの履歴に基づいて1つ又は複数のアイテム(又は商品)の評価予測を行うレコメンダシステムを提供する。予測期間中1つ又は複数のアイテムのレビューは利用できないので、レコメンダシステムは2層処理で動作する。レコメンダシステムはまず、ユーザが1つ又は複数のアイテムについて書く可能性のあるレビューの表現を近似し、それらの近似を用いて評価予測を行う。予測された評価に基づいて、レコメンダシステムは1つ又は複数のアイテムを格付けしてユーザに示す。
【0009】
本発明の実施形態は、過去のユーザ評価及び関連するユーザにより書かれた過去のユーザ評価に関連する商品レビューの履歴に基づいて1つ又は複数のアイテムのユーザ評価を予測するレコメンダシステムを提供する。レコメンダシステムは過去のユーザ評価の履歴及び関連する商品レビューのテキストを用いてユーザ、商品、及びレビューをマルチリレーショナルグラフとして関係付ける。このマルチリレーショナルグラフを用いることにより、1つ又は複数のアイテムのレビューが利用できないときであっても予測期間に当該1つ又は複数のアイテムのレビューを近似することができる。そしてレコメンダシステムはレビューの近似に基づいて個々のユーザについて当該1つ又は複数のアイテムの評価予測を行う。予測された評価は、レコメンダシステムにより行われる予測に従ってユーザに商品を表示するアプリケーションに提供することができる。
【0010】
説明を容易にするため、本発明の実施形態をオンラインショッピングという設定で説明する。一部の実施形態は、他の設定、特に(i)ユーザと商品との対話、及び(ii)商品に関連するテキスト、例えば、商品レビュー、商品説明、又は他の種類のテキストコンテンツが存在する設定に拡張可能であることは理解されよう。
【0011】
一実施形態において、本発明はユーザによる商品に関連付けられたテキストコンテンツを利用するレコメンダをモデル化する方法を提供する。このレコメンダは、レビューが一定の満足度を表す関係と見なされるマルチリレーショナルグラフとしてモデル化される。レビューについてのこの仮定は、ユーザが特定の商品について書くであろうレビューの表現を近似しる仕組みを提供し、このレビューの近似に基づいて評価が予測される。このシステムは非常に効率的である。このレコメンダは、ユーザ、商品、及びレビューを、ユーザの評価の予測が一定時間内に実行可能な低次元表現に対応付ける。
【0012】
本発明の実施形態はいくつかの利点をもたらす。本発明の実施形態は、レコメンダシステムの、レビューのテキストが一定の満足度を表す関係と見なされるマルチリレーショナルグラフへのモデル化を実現する。また、本発明の実施形態は、ユーザ、アイテム、及びレビューの表現を一緒に学習することを実現する。また、本発明の実施形態は、評価予測がレビュー埋め込みの見積もりに基づいてなされるのを可能にする。従来技術と比較した本発明の実施形態の利点は、テスト期間中にレビュー表現を近似できるということである。その後それらの近似を用いてトレーニングセットから最も類似したレビューを抽出しその最も類似したレビューをユーザがアイテムについて書いたかもれしない仮のレビューとしてユーザに提示することができる。このようにして、これらの実施形態はユーザがレビューを書いた他のアイテムの過去のレビューに基づいてユーザがまだレビューを書いていないアイテムについてのユーザのレビューを予測することができる。
【0013】
小売業者の観点から、本発明の実施形態は追加の機能を提供する。小売業者はそのような実施形態を用いて彼らの商品に高い評価と良好なレビューを与えるユーザをターゲットにすることができる。いったんそのようなユーザがターゲットになれば、小売業者は市場で人気を得るのに役立つ良好なレビューと評価が得られるようにそれらのユーザに商品を広告することができる。本発明の一部の実施形態は仮の推奨レビューをユーザに提示するので、それらの推奨レビューはオンライン消費者にとって非常に価値のある、より入念なレビューを得るのに役立つことができる。
【0014】
図1は本発明の実施形態によるレビューが利用可能なオンラインショッピングのシナリオを示す。
図1のシナリオには、商品118、120、122についてレビュー108、110、112、114、116を書くユーザ102、104、106が含まれる。
図1のシナリオは一方にユーザ102、104、106の組、他方に商品118、120、122の組がある2部グラフとして示され、対応する評価及びレビュー108、110、112、114、116がユーザ102、104、106を商品118、120、122に結びつけている。本発明の実施形態は、評価及びレビュー108、110、112、114、116を介したユーザ102、104、106と商品118、120、122とのモデル対話に効果的に適用することができる。本発明の実施形態によれば、機械学習のアルゴリズムを用いて目に見えないペア(ユーザ、商品)の評価を予測し、予測された評価に基づいてユーザ102、104、106にレコメンデーションを提示することができる。
【0015】
(u,Rv_(u,i),i)は、関連する評価r_(u,i)を有しユーザuがアイテムi(商品)についてレビューRv_(u,i)を書き評価r_(u,i)を与えたことを示す3つ組であるとする。3つ組のこの定義は、マルチリレーショナルグラフにおける3つ組のそれを連想させるものであり、例えば、3つ組(head,label,tail)はノードhead、tailの間にlabelと名付けられたエッジが存在することを示す。引数、すなわち、head, label, tailがそれぞれ、引数間の特定の関係や実体を意味するワンホットベクトルとしてコード化される。同様に、3つ組(u,Rv_(u,i),i)において、各エッジはユーザノードuがアイテムノードiについて書いた対応するレビューに結びつけられている。アイテムiについてのユーザuのレビューは、p_z^(u,i)がレビューRv_(u,i)に表れるz番目の単語を表しn+1が当該レビューの長さを表す単語の組Rv_(u,i)=[p_0^(u,i),…,p_n^(u,i) ]として定義されてもよい。
【0016】
以上の設定では、レビューはマルチリレーショナルグラフにおける関係に対する対応物である。マルチリレーショナルグラフでは、同一の関係が異なるノード対を結び付けることができる。例えば、関係located_inは3つ組(Tokyo,located_in,Japan)、(Berlin,located_in,Germany)に示されるようにノードを結び付けることができる。しかしながら、レビューに拡張した場合、レビューは唯一無二である傾向がある、すなわち、2つ以上のレビューが同一であることは滅多にない。それでも、レビューは単語と数字からなっており、類似する単語が異なるレビューに現れて異なるレビューに共通の感想を伝える場合がある。例えば、「すごい」や「すてき」などの単語は肯定的なレビューに書かれていることが多く、一方「がっかり」や「役に立たない」などの単語は否定的なレビューに見られる場合が多い。そのため、レビューは異なる満足度を表す関係と考えることができる。
【0017】
一実施形態において、本発明は、全てのユーザ、アイテム、及びレビューを、ユーザ埋め込みとレビュー埋め込みがアイテム埋め込みに近いと判断される潜在空間に埋め込むモデルを提供し、同時にこのモデルはテキストを与えられてアイテムの評価を予測するリグレッサーを学習する。一実施形態において、予測期間にレビューは利用できないが、このモデルはアイテム埋め込みとユーザ埋め込みとの差をとることによりレビュー埋め込みの予測を可能にし、予測されたレビューの埋め込みをリグレッサーとともに用いて評価予測を行う。埋め込みは潜在空間における表現である。
【0018】
本発明の実施形態において、マルチリレーショナルグラフデータ構造が、商品毎にユーザにより提供される実際のレビューと評価の組に基づいて生成される。マルチリレーショナルグラフデータ構造には、ユーザ表現、商品表現、及びレビュー表現が含まれる。マルチリレーショナルグラフデータ構造では、各ユーザ表現及びアイテム表現は、ノード、すなわち、潜在空間に関連して定義される特定の値を有するデータオブジェクトである。同様に、各レビュー表現は、エッジ、すなわち、潜在空間に関連して定義される特定の値を有するデータオブジェクトである。各評価は対応するレビューに関連する値である。これらの表現の値は、最適化問題、すなわち、ユーザ表現とレビュー表現との合計からアイテム表現までの距離(例えば、ユークリッド距離)の最小化を解決する学習された数学値である。また、その入力がレビュー表現であるリグレッッションモデルの出力は、当該アイテムについてユーザにより与えられる実際の評価までの距離に関して近くなるように最適化される。
【0019】
実施形態において、本発明は全てのノード、すなわち、ユーザ及びアイテムの表現とエッジ、すなわち、レビュー表現を低次元潜在空間k(kはモデルハイパーパラメータ)に埋め込む。レビュー潜在空間表現h_(revu,i)は、関数fをレビュー、すなわちh_(revu,i)=f(Rv_(u,i) )、を構成する単語の埋め込みに適用した際の生成物である。この関数fは、通常ニューラルネットワーク(例えば、再帰型又は畳み込みニューラルネットワーク)でパラメータ化することができるが、多くの場合、関数fは、例えば、Rv_(u,i)における単語埋め込みの平均値又は最大値を演算する単純な、パラメータを含まない関数である。
【0020】
これらの埋め込みの学習は2つの学習目的により駆動される。第1の学習手順は以下の目的により駆動される。
【数1】
ここで、Sはトレーニング3つ組とそれに関連する評価の組であり、wは線形リグレッサーの学習可能な重みであり、はと書かれたバイアス項の合計を表すのに用いられるショートカットであり、はユーザと関連付けられたバイアスであり、はアイテム と関連付けられたバイアスであり、はオーバーオールバイアスである。バイアス項はトレーニング中に学習/調整される数式1のモデルのパラメータである。数式1は、実際の評価とレビュー表現を入力特徴として用いる(とバイアス項によりパラメータ化された)リグレッションモデルの出力との平均二乗誤差を最小化することを含む。
【0021】
説明を分かりやすくするため、単純なインスタンスfを採用する、すなわち、そのレビューに現れる単語の埋め込みの平均値になるようなレビュー埋め込みh_(revu,i)を採用する。形式としては、
【数2】
ここで、v_pは単語pに関連付けられた埋め込みであり、h_0はR^kにおいて全ての値をとる全てのレビューに共通のレビューバイアスである。レビューバイアスはデフォルトコントリビューションの提供を可能にする。レビューバイアスを提供することの利点は、その中のいずれの単語も選ばれた語彙の中で考慮されていないレビューが受け取られると、少なくともこのレビューはh_0と等しくなるように演算されたh_(revu,i)を有することになる。語彙は様々な方法で生成することができる。実施形態において、語彙はレビューの中に最も頻出するm(例えば、m=10000)個の単語だけを含む。
【0022】
実世界シナリオにおいて、レコメンダシステムはユーザがまだ評価していないアイテムについて評価予測をするため、それらの未評価アイテムのレビューは利用できない。そのため、数式1の線形リグレッサーを未評価アイテムへ適用することができない。本発明はこの制約を克服するために第2の学習手順を提供し、埋め込みベースの知識ベース補完法からのアイデアを活用する。また、予測されたレビュー埋め込みh_(revu,i)が学習された数式1のリグレッションモデルの中で利用できるように、テスト期間中にレビュー埋め込みを推測できる仕組みを提供する。そのため、数式1の学習目的とともに、レビュー埋め込みがアイテム埋め込みとユーザ埋め込みとの差に近くなるように埋め込み空間をモデル化しようとする第2の目的学習を備える。第2の目的は、ユーザ埋め込み及びレビュー埋め込みとアイテム埋め込みとの距離を短くさせる第2の項を含むことにより形式化することができる。
【数3】
ここで、e_u及びe_iはそれぞれ、ユーザ埋め込み及びアイテム埋め込みを表す。組み合わされた数式1と数式3のモデルは2ステップ処理を表す:まず、アイテム埋め込みとユーザ埋め込みの差(数式3)を演算することによりレビュー埋め込みの近似を決定し、次に、この近似を(wとバイアス項b_(u,i)によりパラメータ化された)数式1のリグレッションモデルへの入力として用いる。
【0023】
数式1及び数式3を一緒に最適化することによりe_u=h_(revu,i)=e_i=0 ∀ u,iのような些末な解決法は回避される。これは、そのような劣った解決法は数式1に表された第1の学習目的の成果を劣悪なものにしてしまうからである。
【0024】
数式1及び数式3を組み合わせることにより以下の最小化が行われる:
【数4】
ここで、λは数式3に形式化されたモデル仮定による再構築損失に重み付けする項であり、Θはパラメータw, e, v, h_0∈R^k及びバイアス項bに対応する。数式4における最小化は、h_(revu,i)=e_i-e_uを演算することによりトレーニング中に目に見えないペア(u,i)のレビュー埋め込みh_(revu,i)を予測することを可能にする。学習された線形リグレッサーw^Tの重を用いて、新しいペア(u,i)の評価の予測p_(u,i)は以下のようになる。
【数5】
【0025】
上記の2つの学習手順のパラメータは逆伝搬法により一緒に学習することができる。その後、ユーザ、予測された評価、及びアイテムを関連付けることにより新しいタプルを作成してもよい。
【0026】
本発明の実施形態は、3つ組とそれに関連する評価の履歴に基づいて、すなわち、実際の商品について実際のユーザにより提供された実際のレビューと評価の履歴に基づいてユーザ、商品、及びレビューの表現を生成する。これらの表現は評価予測作業に関して有意味であり、トレーニング中に目に見えないペア(ユーザ、商品)についてレビュー表現を近似するのを可能にするモデル仮定に従うものである。
【0027】
図2は本発明の実施形態によるレコメンダシステムアーキテクチャ200である。レコメンダシステムアーキテクチャ200は、ニューラルネットワーク(NN)部212、データベース216、及びインターフェース210を含む。
【0028】
データベース216には、ユーザ202が商品204について評価しレビューを書く、すなわち、商品204について1つ又は複数の評価206及びレビュー208を提供すると定期的に更新される3つ組 及びそれに関連する評価 の組が含まれる。それらの3つ組は実際の商品について実際のユーザにより提供された実際のレビュー及び評価から生成されたデータオブジェクトである。新しい3つ組とそれに関連する評価はデータベース216に既に存在する情報とともにNN部212に送られNN部212の重みが調整/再調整される。「NN部212の重み」とは、ユーザ、アイテム、及びレビューの潜在表現、並びに数式1及び数式3に示されるリグレッションモデルのパラメータを意味する。NN部212はモデルの全パラメータを集める。
【0029】
インターフェース210は、ユーザ202が小売業者のウェブページに導入している新しいレビュー+評価情報206、208の記録をとり、この情報をデータベース216に転送する。インターフェース210はまた、小売業者のウェブページ上のアクティブユーザがまだ評価していない商品についての評価予測をNN部212を介して取得するために、それらのアクティブユーザの記録をとる。インターフェース210は予測された最も高い評価やスコアを持つ商品のレコメンデーション218をアクティブユーザに送る。インターフェース210は更に、ユーザが小売業者のウェブページを閲覧している間ユーザが関心のある商品のカテゴリーの記録をとってもよい。
【0030】
NN部212はアクティブユーザの興味に合致するカテゴリの商品の評価予測を演算する。予測された評価はインターフェース210に送られる。NN部212は全てのユーザ、レビュー、及び商品を、埋め込み学習処理が2つの手順(上記の数式1及び数式3の学習目的)により駆動される低次元空間kに埋め込む。以後、NN部212が学習するユーザ、レビュー、及び商品の低次元表現を、交換可能に埋め込み表現又は潜在表現と呼ぶ。レビューの潜在表現は、その出力(予測された評価)が実際の評価(数式1を参照)に近くなくてはならないリグレッションモデルに送られる。
図3は本発明の実施形態によるモデル仮定の視覚表現である。
図3において、ユーザ及び商品の埋め込みが、商品の埋め込みがユーザの埋め込みに加えてレビューの埋め込み(数式3を参照)に近いどこかにあるように学習される。上記のように、レビューの埋め込みは、レビューRv_(u,i)に現れる単語埋め込みに適用される集合関数fの出力であってもよく、実施形態において、関数fは数式2に示されるような平均関数である。
【0031】
これら2つの手順の背後にある動機は以下のようである:レビューはユーザがその商品に割り当てた評価と高い相関関係を有するが、レビューはテスト期間中は利用できない(システムはユーザがまだ評価していない商品について予測を行う)。従って、予測期間にレビューを推測する仕組みが必要である。第2の学習目的は、商品埋め込みとユーザ埋め込みとの差を演算することによりレビュー埋め込みの近似を得ることを可能にする。
【0032】
本発明の実施形態はトレーニング中にレコメンデーションを提供するだけでなく、レビュー表現を近似してユーザが1つ又は複数の商品について書いたであろう仮のレビューを提供できるようにテスト中に用いることができる。仮のレビューを提供するために、インターフェース210はトレーニングセットから、近似されたレビュー埋め込みと全てのレビュー表現との距離を演算し、最も近い距離をユーザが当該商品について書くであろう仮のレビューとして保持してもよい。
【0033】
NN部212を、NN部212の重み(すなわち、潜在表現及びリグレッションモデルのパラメータ)を再調整するためにインターフェース210により定期的に送信されるデータベース216に保存された3つ組と評価の組を用いてトレーニングしてもよい。リグレッションモデルの埋め込みと重みを、確率的勾配降下法(stochastic gradient descent: SGD)及び逆伝搬法を用いてランダムに初期化及びトレーニングしてもよい。
【0034】
図4は本発明の実施形態によるレコメンダシステムをデプロイするための概観システムアーキテクチャ400を示す。このレコメンダシステムは、データベースサーバ402が異なるアイテム及びユーザに関する情報(例えば、画像、テキストレビュー、ユーザデータ)を保存するプラットフォーム上で動作する。インターネットに接続されたフロントエンドサーバ404は、オーナー/管理者又は顧客とレコメンダシステムとのインターフェースである。バックエンドサーバ406は、トレーニングされたニューラルネットワークの全てのパラメータを含み、レコメンデーションを生成する動作の実行を担当する。使用法の例として、オーナー410は、フロントエンドサーバ404にリモート接続することにより新しい商品をレコメンダシステムに追加することができる。フロントエンドサーバ404は、それらの新しい商品に関する情報の初期化及びデータベースサーバ402への送信、又はバックエンドサーバ内のレコメンダシステム406の更新を担当する。一方、ユーザ408はフロントエンドサーバ404を介してプラットフォームにアクセスし、プラットフォームとの通常の対話を実行する。フロントエンドサーバは自動的に顧客408からデータフォームを収集し、バックエンドサーバ406にコンタクトしてレコメンデーションを取得する。
【0035】
上記のように、レコメンダシステムは概略システムアーキテクチャ400の中にデプロイされる。一実施形態において、このレコメンダシステムはレコメンダシステムアーキテクチャ200に基づくものであってもよい。バックエンドサーバ406はNN部212に関連する関数を実行する。バックエンドサーバ406はレコメンデーションを決定するために用いられるパラメータと重みを保存する。フロントエンドサーバ404はインターフェース210に関連する関数を実行する。フロントエンドサーバ404はウェブサーバであってもよい。フロントエンドサーバ404は、1つ又は複数のネットワーク上でオーナー410、顧客414、データベースサーバ402、及びバックエンドサーバ406と通信する1つ又は複数のアプリケーションプログラミングインターフェース(application programming interfaces:APIs)を備えてもよい。データベースサーバ402はデータベース216を表す。
【0036】
データベースサーバ402、バックエンドサーバ406、及びフロントエンドサーバ404はそれぞれ、1つ又は複数のプロセッサ、メモリ、ネットワークインターフェース、出力装置、入力装置、及び/又は記憶装置を含む演算装置である。各プロセッサはグラフィカル処理装置及び/又は中央処理装置を含んでいてもよい。メモリ及び/又は記憶装置は、ランダムアクセスメモリ(RAM)、ハードディスク、フラッシュメモリ、及び/又はソリッドステートドライブを含んでいてもよい。ネットワークインターフェースは、例えば、Wi−Fi、イーサネット、ブルートゥースをサポートする有線又は無線のネットワークインターフェースカードを含んでいてもよい。出力装置はディスプレイやスピーカーなどの視聴覚装置を含んでいてもよい。入力装置は、例えば、キーボード、カメラ、マイクを含んでいてもよい。演算装置の例として、デスクトップコンピュータ、ラップトップコンピュータ、サーバ、コンピューティングクラスタがあげられる。一部の実施形態において、NN部212は、ニューラルネットワーク学習スピードを高めるためにフィールドプログラマブルゲートアレイ(field programmable gate arrays: FPGAs)などの特殊なハードウェアを活用するバックエンドサーバ406上に実装されてもよい。
【0037】
図5は本発明の一実施形態によるユーザにレコメンデーションを提供する処理500を示す。処理500は、実質的にレコメンダシステムアーキテクチャ200を有するレコメンダシステムにより実行されてもよい。ステップ502において、インターフェース210はデータ構造3つ組とデータ構造3つ組に関連する実際の評価を取得する。インターフェース210はデータ構造3つ組とデータ構造3つ組に関連する評価をデータベース216に保存してもよい。
【0038】
ステップ504において、NN部212は保存されたデータ構造3つ組及び関連する実際の評価を用いて機械学習モデルをトレーニングする。機械学習のトレーニングは、保存されたデータ構造3つ組とそれらに関連する評価に基づいてユーザ、商品、及びレビューの表現を生成することを含む。NN部212はまず数式4の損失を演算し、その後勾配を逆伝搬してモデルのパラメータ(ユーザ、アイテム、及びレビューの潜在表現、更にリグレッションモデルのパラメータ)を更新する。勾配はモデルのパラメータのそれぞれについて演算する。
【0039】
ステップ506において、NN部212は学習したユーザ、商品、及びレビューの表現を用いてまずレビュー埋め込みを予測し次に予測されたレビュー埋め込みに関連する評価を予測する。NN部212は、アイテム表現とユーザ表現とのベクトル差を演算することによりレビュー埋め込みを近似する。その後NN部212は近似されたレビュー埋め込みをリグレッションモデルへの入力特徴ベクトルとして用いることにより評価を予測する。
【0040】
ステップ508において、インターフェース210は予測された評価に基づいてユーザへのレコメンデーションを作成する。
【0041】
本発明の実施形態によるレコメンダシステム及び方法は、センチメント分析とマルチリレーショナルグラフ補完を含んでもよい。アイテムとユーザの潜在表現のドット積及びいくつかのバイアス項がアイテムの特徴に対するユーザの総合的関心を捕捉する特異値分解(Singular Value Decomposition: SVD)は、協調フィルタリングのための標準的な方法である。ユーザとアイテムの潜在表現の対話からのモデル評価に関して多数の研究があるが、それらの多くはレビューウェブサイト上に存在するフィードバックを無視するものである。レビューテキストから抽出される特徴はレコメンダシステムの性能を向上させる上で役立つことが証明されている。ヒドゥンファクターズアズトピックス(Hidden Factors as Topics: HFT)はSVDを採用して潜在的ディリクレ配分法(Latent Dirichlet Allocation: LDA)とともに評価を適応させ、アイテム潜在表現をアイテム毎に書かれた表現に基づくトピックの組み合わせとしてモデル化するものである。これにより、アイテム表現が学習されてユーザの評価、更にディリクレ配分から引き出されると仮定されるトピック配分が正確にモデル化される。同様に、LDAを適用してユーザ表現を各ユーザにより書かれたレビューに基づくトピックの組み合わせとしてモデル化するHFT(ユーザ)と呼ばれるHFTの第2のバージョンが提案されている。
【0042】
近年、センチメント分析などのテキスト分類に関するディープラーニングアーキテクチャが相次いで提案されてきた。この種の研究とともに、S. Seo et al., “Representation learning of users and items for review rating prediction using attention-based convolutional neural network,” MLRec (2017)によるAttn+CNNなどのCNNベースのレコメンダシステムが提案されてきた。これらの研究では、評価についての予測はユーザ及びアイテムの埋め込みに適用される何らかの動作の出力であり、その後各ユーザにより書かれたテキスト及び各アイテムについて書かれたテキストの集合に適用されるディープアーキテクチャを介して学習される。
【0043】
過去数年間、特定のリンクが真実である可能性を出力するスコアリング関数に基づいてナレッジベース内のミッシングリンクを推測する多数の埋め込みベースの方法が提案されてきた。その単純さと高性能により、Hなどの翻訳ベースのスコアリング関数について多すぎるほどの研究がなされてきた。Ruining, “Translation-based recommendation,” ACM (2017)は大規模順次予測方法を提案している:この方法はアイテムを、ユーザがアイテムシーケンス上で動作する翻訳ベクトルとしてモデル化される「遷移空間」に埋め込むものであり、順次ベイズランク付け問題として形式化されている。
【0044】
本発明の一部の実施形態によれば、センチメント分析を実行してレビューテキストに関連する評価を予測するとともに埋め込み空間を、予測期間にレビュー表現をユーザ埋め込みとアイテム埋め込みから近似するのを可能にする特定のモデル仮定(例えば数式3)に従うマルチリレーショナルグラフとしてモデル化してもよい。
【0045】
本発明の一実施形態によるレコメンダシステム及び方法を、行列因数分解に基づくいくつかの方法及び評価予測作業においてテキストを考慮するいくつかの最近のモデルと比較した。簡素化するため、本発明の当該実施形態によるレコメンダシステム及び方法の実施形態を以下の説明においてTRANSREVと呼ぶ。
【0046】
本発明の一実施形態によるレコメンダシステム及び方法をテストするにあたり、一般に利用可能な比較用データセットを取得した。この一般に利用可能なデータセットにはユーザのレビュー及び評価の情報が含まれていた。最初のベンチマークデータセットはYelp Business Rating Prediction Challengeからのもので、フェニックス(米国)にあるレストランについてのレビューを含んでいた。第2のベンチマークデータセットはAmazon(R)の商品データであり、1996年5月から2014年7月までのAmazon(R)からのレビュー及びメタデータを含んでいた。具体的には、データセットの中の(各ユーザとアイテムについて少なくとも5レビューを含む)5コアバージョンを使用した。これは、そのようなデータへのアクセスにリクエストが必要なかったからである。商品カテゴリーが24あり、そのうちの18を選択した。18のデータセットはそれぞれ独立して扱った。両ベンチマークデータセットにおける評価は1から5までの整数だった。
【0047】
各データセットをランダムにトレーニング部分、検証部分、及びテスト部分にそれぞれ80%、10%、及び10%の割合で分割した。検証及びテスト部分からトレーニング部分の一部ではない商品の評価を表す3つ組(及びそれに対応する評価)を除外した。トレーニング中に見られなかったユーザによる評価を表す3つ組(及びそれに対応する評価)も除外した。
【0048】
各データセットには同一の前処理パイプラインが続いた。まず、標準的なトークナイザーをデータセットのテキストの集合に適用し、その後検討中のデータセットの少なくとも0.1%に現れる単語を保持した。Amazon(R)のデータセットの場合、ユーザによる完全なレビューとショートサマリー(約30語以下)が利用可能であった。本実施形態ではショートサマリーを用いた。これは、短い文書をそのセンチメントに分類する場合、ショートサマリーを用いる方がそれより長いものを用いる場合より作業がはるかに容易になるからである。Yelpの場合、完全なレビューだけが利用可能だった。そのため、最初の200語に切り捨て、上記のような前処理パイプラインを切り捨て後のテキストの集合に適用した。前処理されたデータセットの一部の統計データが
図6に示される表にまとめられている。
【0049】
ベースラインの組は、2つの主要なグループ、すなわち、SVDや非負値行列因数分解(Non-negative Matrix Factorization: NMF)などの行列因数分解ベースの方法、及びHFTやAttn+CNNなどの評価予測のためにレビューテキストを用いるモデルに分類することができる。単純にトレーニングセットにおける平均的評価を予測として用いる、素朴な方法「Offset」の性能も結果の例の中に示されている。
【0050】
比較及び評価のために、全方法について潜在次元kを16に固定した。それでも、TRANSREVは様々な次元数に対して強固であり、kを変化させても性能における有意な差が見られなかった。SVD及びNMFについては、pythonパッケージであるSurPRISEを、バニラ確率的勾配降下法によって実行される最適化と値[0.001,0.005,0.01,0.05,0.1]及び[0.00001,0.00005,0.0001,0.0005,0.001]から選ばれた検証セット上の学習率及び規則化項とともに用いた。HFTについては、規則化項を値[0.001,0.01,0.1,1,10,50]から検証した。
【0051】
TRANSREVについては、λを[0.1,0.25,0.5,1]で検証し、オプチマイザの学習率及び規則化項μをSVD及びNMFの場合と同じ値の組から検証した。SVD及びNMFと厳正に比較するため、最適化にバニラ確率的勾配降下法を用いた。一部の実施形態において、より高性能のオプチマイザ、例えば、ルート平均二乗伝播法(Root Mean Square Propagation: RMSProp)やD. Kingma et al., “Adam: A method for stochastic optimization,” arXiv:1412.6980 (2014)によるAdam(Adaptive Moment Estimation:適応モーメント推定法) を用いてもよい。HFTのパラメータは、デフォルトの設定、すなわち、2,500回繰り返し起動し50回毎に検証する省メモリ法BFGS(L−BFGS)を用いて適合させた。規則化項の適切な検証は評価された全ての方法において最高の性能を得るのに有益だった。
【0052】
単一の学習エポックを全ての3つ組及びそれに関連する評価に対して繰り返した。SVD、NMF、及びTRANSREVを最大500エポック起動し、10エポック毎に検証した。検証指標が50エポックで改善しない場合にトレーニングを停止する早期停止基準を実行してもよい。全ての方法を以下に規定される平均二乗誤差(MSE)に従って検証した。
【数6】
ここで、W={(u,i)} はユーザ−アイテムのペアの検証又はテストセットである。
【0053】
Attn+CNNのMSEを、データセットの80%、10%、及び10%がそれぞれトレーニング部分、検証部分、及びテスト部分に分割されるS. Seo他から得た。TRANSREVはTheanoラッパーのKerasを用いて実装した。全ての実験を、128GB RAM(ランダムアクセスメモリ)、単一の2.8 GHz CPU(中央処理装置)、及びNvidia(R)Titan X GPU(グラフィックス処理装置)を備えたコモディティハードウェア上で行った。
【0054】
図7では、ユーザ、アイテム、及び単語の表現の様々な次元数に対するTRANSREVの不変性を示すために4つのデータセット−Baby、Digital Music、Office、及びTools & Home Improvement−が用いられている。kを4から64に増加させたときのMSE値が
図7の表に示されている。
図7に示された不変性は、潜在ファクターモデルはファクターモデルの次元数を増加すると最高の正確さを達成するという定着した考え方に反するものである。
【0055】
Amazonの18のデータセット及びYelpの1つのデータセットについての結果が、最高の性能が太字で示された
図8の表に列挙されている。TRANSREVは検討された19のデータセットのうちの18で最高の性能を達成した。TRANSREVとHFTはともにレビューテキストを考慮しない方法の性能を体系的に上回った。TRANSREVは検討されたベンチマークデータセットについてHFTの性能に匹敵するかしばしば上回った。Attn+CNNはAmazonのデータセットの大部分において行列因数分解法(SVD)、又はHFT、又は両方より性能が劣ることを示し、一方、TRANSREVは1つ以外の全てのカテゴリーにおいてHFTより優れた性能を示した。
【0056】
TRANSREVにより学習されたレビュー埋め込みは当該レビューに関連する評価に関して有意義であることを示した。従って、レビュー埋め込みは当該レビューに含まれる単語の平均埋め込みであると言える。その結果、単語埋め込みは評価と相関関係にあった。単語と評価との相関関係を可視化するために、まず、各単語にその単語を含むレビューの平均評価であるスコアを割り当て、次に、t-SNE(t-Distributed Stochastic Neighbor Embedding:t分布型確率的近傍埋め込み法)をTRANSREVにより学習された16次元単語埋め込みに適用することにより各単語の2次元表現を学習した。
図10は、対応するスコアが右側に示された、Babyデータセットに関して学習された単語埋め込みの2次元表現を示す。
【0057】
本発明を図面及び上記説明において図示及び詳述したが、それらの図示や説明は一例又は典型例であり限定するものではないと解釈すべきである。以下の請求の範囲内で当業者により変更及び修正が可能であることは理解されよう。特に、本発明は上記及び下記の様々な実施形態の特徴の任意の組み合わせを有する更なる実施形態を含む。また、本発明を特徴づける本明細書の記述は本発明の一実施形態を意味し、必ずしも全ての実施形態を意味するものではない。
【0058】
請求項で使われる用語は、上記の記述と一致する最も広い合理的な解釈で解釈すべきである。例えば、構成要素を導入する際の冠詞「a」又は「the」の使用は複数の構成要素を除外するものと解釈すべきではない。同様に、「又は」の記載は、「A又はB」の記載がAとBのいずれかのみを意図することが文脈又は前述から明らかでない限り「A及びB」を除外しないように、包括的なものと解釈すべきである。また、「A、B、及びCのうちの少なくとも1つ」の記載は、A、B、及びCがカテゴリーその他として関連しているかどうかにかかわらず、A、B、及びCからなる構成要素の群のうちの1つ又は複数と解釈すべきであり、列挙した構成要素A、B、及びCのそれぞれの少なくとも1つを必要とすると解釈すべきではない。更に、「A、B、及び/又はC」若しくは「A、B、又はCのうちの少なくとも1つ」は、列挙された構成要素のうちの任意の単一の実体、例えば、A、列挙された構成要素のうちの任意のサブセット、例えば、A及びB、若しくは列挙された構成要素A、B、及びCの全体を含むと解釈すべきである。