(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023164347
(43)【公開日】2023-11-10
(54)【発明の名称】関連商品を推薦するための方法、コンピュータ装置、およびコンピュータプログラム
(51)【国際特許分類】
G06Q 50/10 20120101AFI20231102BHJP
【FI】
G06Q50/10
【審査請求】有
【請求項の数】20
【出願形態】OL
(21)【出願番号】P 2023071001
(22)【出願日】2023-04-24
(31)【優先権主張番号】10-2022-0053473
(32)【優先日】2022-04-29
(33)【優先権主張国・地域又は機関】KR
(31)【優先権主張番号】10-2022-0074854
(32)【優先日】2022-06-20
(33)【優先権主張国・地域又は機関】KR
(71)【出願人】
【識別番号】505205812
【氏名又は名称】ネイバー コーポレーション
【氏名又は名称原語表記】NAVER Corporation
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【弁理士】
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】キム・チュンギ
(72)【発明者】
【氏名】キム・ドンヒョン
(72)【発明者】
【氏名】ヤン・ミンチョル
(72)【発明者】
【氏名】イ・ジョンテ
【テーマコード(参考)】
5L049
【Fターム(参考)】
5L049CC12
(57)【要約】
【課題】関連商品を推薦するための方法、コンピュータ装置、およびコンピュータプログラムを提供する。
【解決手段】関連商品を推薦するための方法は、ショッピングドメインの商品に対する履歴に基づいて、商品と関連するコンテンツ情報を利用して自然語推論タスクのための対照ペアデータセットを構成する段階、および対照ペアデータセットを利用して、自然語推論タスクに対する言語モデルの事前トレーニングによってショッピングドメインに適用するための商品推薦モデルを生成する段階を含む。
【選択図】
図7
【特許請求の範囲】
【請求項1】
コンピュータ装置で実行される方法であって、
前記コンピュータ装置は、メモリに含まれるコンピュータ読み取り可能な命令を実行するように構成された少なくとも1つのプロセッサを含み、
当該方法は、
前記少なくとも1つのプロセッサが、ショッピングドメインの商品に対する履歴に基づいて、前記商品と関連するコンテンツ情報を利用して自然語推論タスクのための対照ペアデータセット(contrastive pair dataset)を構成する段階、および
前記少なくとも1つのプロセッサが、前記対照ペアデータセットを利用して、前記自然語推論タスクに対する言語モデルの事前トレーニング(pre-trained)によって前記ショッピングドメインに適用するための商品推薦モデルを生成する段階
を含む、方法。
【請求項2】
前記構成する段階は、
前提(premise)商品ごとに複数のポジティブサンプルとネガティブサンプルに該当する仮説(hypothesis)商品を選定して前記対照ペアデータセットを構成すること
を特徴とする、請求項1に記載の方法。
【請求項3】
前記構成する段階は、
含意(entailment)関係の商品ペアに対する各商品のコンテンツ情報からなるポジティブデータペアを構成する段階、および
矛盾(contradiction)関係の商品ペアに対する各商品のコンテンツ情報からなるポジティブデータペアを構成する段階
を含む、請求項1に記載の方法。
【請求項4】
前記構成する段階は、
制限時間内にクリックされた商品ペアをポジティブサンプルとして選定する段階、および
前記ポジティブサンプルとして選定された商品をシードとし、シード商品とともに表示された商品のうちで前記制限時間内にクリックされなかった商品をネガティブサンプルとして選定する段階
を含む、請求項1に記載の方法。
【請求項5】
前記制限時間は、クリック商品に対する購入転換率とカテゴリ変化程度のうちの少なくとも一方に基づいて決定されること
を特徴とする、請求項4に記載の方法。
【請求項6】
前記ポジティブサンプルとして選定する段階は、
一部カテゴリの商品と表示偏向商品のうちの少なくとも一方を前記ポジティブサンプルの選定対象から除外する段階
を含む、請求項4に記載の方法。
【請求項7】
前記ネガティブサンプルとして選定する段階は、
前記制限時間内にクリックされなかった商品のうちで表示回数が一定のレベル以上の商品を前記ネガティブサンプルとして選定すること
を特徴とする、請求項4に記載の方法。
【請求項8】
前記生成する段階は、
BERT(Bidirectional Encoder Representations from Transformer)モデルを、前記対照ペアデータセットを利用した前記自然語推論タスクによってファインチューニング(fine tuning)して前記商品推薦モデルを生成すること
を特徴とする、請求項1に記載の方法。
【請求項9】
前記生成する段階は、
前提商品と仮説商品に対して、自然語からなるコンテンツ情報を1つのネットワークに同時入力してエンコード(encoding)とソフトマックス(softmax)を実行する方式により、前記前提商品と前記仮説商品の関連可否をフィッティング(fitting)する段階
を含む、請求項1に記載の方法。
【請求項10】
当該方法は、
前記少なくとも1つのプロセッサが、前記商品推薦モデルを基本モデルとし、前記基本モデルにシャムネットワーク(Siamese network)を共同学習(jointly learning)することにより、結合学習モデルに前記商品推薦モデルを拡張する段階
をさらに含む、請求項1に記載の方法。
【請求項11】
前記拡張する段階は、
1つのエンコードモデルを利用して前記自然語推論タスクに基づいた第1損失と前記シャムネットワークに基づいた第2損失を求めた後、前記第1損失と前記第2損失をバックワード(backward)として計算した最終損失によって前記商品推薦モデルを最適化する段階
を含む、請求項10に記載の方法。
【請求項12】
前記拡張する段階は、
前記自然語推論タスクに基づいた第1損失と前記シャムネットワークに基づいた第2損失の加重和(Weighted Sum)として求めた最終損失によって前記商品推薦モデルを最適化する段階
を含む、請求項10に記載の方法。
【請求項13】
当該方法は、
前記少なくとも1つのプロセッサが、与えられた基準商品に対して、前記商品推薦モデルを利用して前記基準商品のコンテンツ情報に基づいて関連商品を推薦する段階
をさらに含む、請求項10に記載の方法。
【請求項14】
前記推薦する段階は、
前記シャムネットワークに基づいて、個別商品の埋め込みに基づいて前記基準商品に対する関連商品プールを構成する段階、および
前記関連商品プールに対して、前記基準商品との関連度を前記自然語推論タスクの推論結果によってリランキングする段階
を含む、請求項13に記載の方法。
【請求項15】
請求項1~14のうちのいずれか一項に記載の方法をコンピュータ装置に実行させるためのコンピュータプログラム。
【請求項16】
コンピュータ装置であって、
メモリに含まれるコンピュータ読み取り可能な命令を実行するように構成された少なくとも1つのプロセッサ
を含み、
前記少なくとも1つのプロセッサは、
ショッピングドメインの商品に対する履歴に基づいて、前記商品と関連するコンテンツ情報を利用して自然語推論タスクのための対照ペアデータセットを構成する過程、および
前記対照ペアデータセットを利用して、前記自然語推論タスクに対する言語モデルの事前トレーニングによって前記ショッピングドメインに適用するための商品推薦モデルを生成する過程
を処理する、コンピュータ装置。
【請求項17】
前記少なくとも1つのプロセッサは、
前提商品ごとに複数のポジティブサンプルとネガティブサンプルに該当する仮説商品を選定して前記対照ペアデータセットを構成すること
を特徴とする、請求項16に記載のコンピュータ装置。
【請求項18】
前記少なくとも1つのプロセッサは、
制限時間内にクリックされた商品ペアをポジティブサンプルとして選定し、
前記ポジティブサンプルとして選定された商品をシードとし、シード商品とともに表示されてから前記制限時間内にクリックされなかった商品のうちで表示回数が一定のレベル以上の商品をネガティブサンプルとして選定すること
を特徴とする、請求項16に記載のコンピュータ装置。
【請求項19】
前記少なくとも1つのプロセッサは、
前提商品と仮説商品に対して、自然語からなるコンテンツ情報を1つのネットワークに同時入力してエンコードとソフトマックスを実行する方式により、前記前提商品と前記仮説商品の関連状態をフィッティングすること
を特徴とする、請求項16に記載のコンピュータ装置。
【請求項20】
前記少なくとも1つのプロセッサは、
前記商品推薦モデルを基本モデルとし、前記基本モデルにシャムネットワークを共同学習することにより、結合学習モデルによって前記商品推薦モデルを拡張すること
を特徴とする、請求項16に記載のコンピュータ装置。
【発明の詳細な説明】
【技術分野】
【0001】
以下の説明は、関連商品を推薦する技術に関する。
【背景技術】
【0002】
インターネット商品の推薦は、購入履歴を利用して個人に最適化された商品を選別して推薦するのが一般的である。
【0003】
商品の推薦のために使用される主な方法として、商品推薦の対象となるユーザと購入履歴が類似するユーザを選別し、類似ユーザが購入した商品のうちで推薦対象ユーザが未購入の商品を推薦する協調フィルタリング(Collaborative Filtering)や、多数のユーザの購入記録を利用し、商品ごとに同時購入または同時クリックの可能性が高い商品を推薦する相関ルールマイニング(Association Rule Mining)のようなアルゴリズムが利用されている。
【0004】
例えば、特許文献1(登録日2009年2月2日)には、ユーザ端末機にインストールされた情報推薦エージェントが認識した商品の商品コード、商品名、またはモデルなどを利用して商品に関する商品情報を自動推薦する技術が開示されている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】韓国登録特許第10-0882716号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
文章間の関係を分類する自然語推論タスクに基づいて、コールドアイテム(cold item)に強い関連商品推薦モデルを提供する。
【課題を解決するための手段】
【0007】
コンピュータ装置で実行される方法であって、前記コンピュータ装置は、メモリに含まれるコンピュータ読み取り可能な命令を実行するように構成された少なくとも1つのプロセッサを含み、前記方法は、前記少なくとも1つのプロセッサにより、ショッピングドメインの商品に対する履歴に基づいて、前記商品と関連するコンテンツ情報を利用して自然語推論タスクのための対照ペアデータセット(contrastive pair dataset)を構成する段階、および前記少なくとも1つのプロセッサにより、前記対照ペアデータセットを利用して、前記自然語推論タスクに対する言語モデルの事前トレーニング(pre-trained)によって前記ショッピングドメインに適用するための商品推薦モデルを生成する段階を含む、方法を提供する。
【0008】
一側面によると、前記構成する段階は、前提(premise)商品ごとに複数のポジティブサンプルとネガティブサンプルに該当する仮説(hypothesis)商品を選定して前記対照ペアデータセットを構成してよい。
【0009】
他の側面によると、前記構成する段階は、含意(entailment)関係の商品ペアに対する各商品のコンテンツ情報からなるポジティブデータペアを構成する段階、および矛盾(contradiction)関係の商品ペアに対する各商品のコンテンツ情報からなるポジティブデータペアを構成する段階を含んでよい。
【0010】
また他の側面によると、前記構成する段階は、制限時間内にクリックされた商品ペアをポジティブサンプルとして選定する段階、および前記ポジティブサンプルとして選定された商品をシードとし、シード商品とともに表示された商品のうちで前記制限時間内にクリックされなかった商品をネガティブサンプルとして選定する段階を含んでよい。
【0011】
また他の側面によると、前記制限時間は、クリック商品に対する購入転換率とカテゴリ変化程度のうちの少なくとも一方に基づいて決定されてよい。
【0012】
また他の側面によると、前記ポジティブサンプルとして選定する段階は、一部カテゴリの商品と表示偏向商品のうちの少なくとも一方を前記ポジティブサンプルの選定対象から除外する段階を含んでよい。
【0013】
また他の側面によると、前記ネガティブサンプルとして選定する段階は、前記制限時間内にクリックされなかった商品のうちで表示回数が一定のレベル以上の商品を前記ネガティブサンプルとして選定してよい。
【0014】
また他の側面によると、前記生成する段階は、BERT(Bidirectional Encoder Representations from Transformer)モデルを、前記対照ペアデータセットを利用した前記自然語推論タスクによってファインチューニング(finetuning)して前記商品推薦モデルを生成してよい。
【0015】
また他の側面によると、前記生成する段階は、前提商品と仮説商品に対して自然語からなるコンテンツ情報を1つのネットワークに同時入力してエンコード(encoding)とソフトマックス(softmax)を実行する方式により、前記前提商品と前記仮説商品との関連可否をフィッティング(fitting)する段階を含んでよい。
【0016】
また他の側面によると、前記方法は、前記少なくとも1つのプロセッサにより、前記商品推薦モデルを基本モデルとし、前記基本モデルにシャムネットワーク(Siamese network)を共同学習(jointly learning)することにより、結合学習モデルによって前記商品推薦モデルを拡張する段階をさらに含んでよい。
【0017】
また他の側面によると、前記拡張する段階は、1つのエンコードモデルを利用して前記自然語推論タスクに基づいた第1損失と前記シャムネットワークに基づいた第2損失を求めた後、前記第1損失と前記第2損失をバックワード(backward)として計算した最終損失によって前記商品推薦モデルを最適化する段階を含んでよい。
【0018】
また他の側面によると、前記拡張する段階は、前記自然語推論タスクに基づいた第1損失と前記シャムネットワークに基づいた第2損失の加重和(Weighted Sum)として求めた最終損失によって前記商品推薦モデルを最適化する段階を含んでよい。
【0019】
また他の側面によると、前記方法は、前記少なくとも1つのプロセッサにより、与えられた基準商品に対して前記商品推薦モデルを利用して、前記基準商品のコンテンツ情報に基づいて関連商品を推薦する段階をさらに含んでよい。
【0020】
さらに他の側面によると、前記推薦する段階は、前記シャムネットワークを基盤に、個別商品の埋め込みに基づいて前記基準商品に対する関連商品プールを構成する段階、および前記関連商品プールに対して、前記基準商品との関連度を前記自然語推論タスクの推論結果によってリランキングする段階を含んでよい。
【0021】
前記方法をコンピュータ装置に実行させるためのコンピュータプログラムを提供する。
【0022】
コンピュータ装置であって、メモリに含まれるコンピュータ読み取り可能な命令を実行するように構成された少なくとも1つのプロセッサを含み、前記少なくとも1つのプロセッサは、ショッピングドメインの商品に対する履歴に基づいて、前記商品と関連するコンテンツ情報を利用して自然語推論タスクのための対照ペアデータセットを構成する過程、および前記対照ペアデータセットを利用して、前記自然語推論タスクに対する言語モデルの事前トレーニングによって前記ショッピングドメインに適用するための商品推薦モデルを生成する過程を処理する、コンピュータ装置を提供する。
【発明の効果】
【0023】
本発明の実施形態によると、文章間の関係を分類する自然語推論タスクに基づいて自然語からなるコンテンツ情報を利用して2つの商品の関連性を学習したモデルによって大規模データに対してサービスすることができ、購入履歴などのユーザデータが不足な商品を関連商品として推薦することができる。
【0024】
本発明の実施形態によると、1つのネットワークに基準商品と比較商品を同時入力とし、当該ネットワーク内で相互間のデータを参照したエンコードによって商品間の動的な関連可否をフィッティング(fitting)することができ、商品に対するコンテンツ情報だけでなく履歴情報まで内製された関連商品推薦モデルを実現することができる。
【0025】
本発明の実施形態によると、自然語推論タスク基盤のモデルにシャムネットワーク(Siamese network)を結合することにより、関連商品推薦のためのモデルとして動的かつ変化(variance)が大きい埋め込み空間を構成することができる。
【図面の簡単な説明】
【0026】
【
図1】本発明の一実施形態における、ネットワーク環境の例を示した図である。
【
図2】本発明の一実施形態における、コンピュータ装置の例を示したブロック図である。
【
図3】本発明の一実施形態における、コンピュータ装置が実行することができる方法の一例を示したフローチャートである。
【
図4】関連商品の埋め込み空間の例を示した図である。
【
図5】関連商品の埋め込み空間の例を示した図である。
【
図6】シャムネットワーク構造の例を示した図である。
【
図7】本発明の一実施形態における、関連商品推薦モデルを生成する過程を示したフローチャートである。
【
図8】本発明の一実施形態における、自然語推論タスクの対照ペアデータセットの例を示した図である。
【
図9】本発明の一実施形態における、自然語推論タスク基盤のネットワーク構造の例を示した図である。
【
図10】本発明の一実施形態における、文章隋伴関係タスク構造の関連商品推薦モデルの例を示した図である。
【発明を実施するための形態】
【0027】
以下、本発明の実施形態について、添付の図面を参照しながら詳しく説明する。
【0028】
本発明の実施形態は、関連商品を推薦する技術に関する。
【0029】
本明細書で具体的に開示される事項を含む実施形態は、文章間の関係を分類する自然語推論タスクに基づいて、コールドアイテムに強い関連商品推薦モデルを提供することができる。
【0030】
本発明の実施形態に係る関連商品推薦システムは、少なくとも1つのコンピュータ装置によって実現されてよく、本発明の実施形態に係る関連商品推薦方法は、関連商品推薦システムに含まれる少なくとも1つのコンピュータ装置によって実行されてよい。このとき、コンピュータ装置においては、本発明の一実施形態に係るコンピュータプログラムがインストールされて実行されてよく、コンピュータ装置は、実行されたコンピュータプログラムの制御に従って本発明の実施形態に係る関連商品推薦方法を実行してよい。上述したコンピュータプログラムは、コンピュータ装置と結合して関連商品推薦方法をコンピュータに実行させるためにコンピュータ読み取り可能な記録媒体に記録されてよい。
【0031】
図1は、本発明の一実施形態における、ネットワーク環境の例を示した図である。
図1のネットワーク環境は、複数の電子機器110、120、130、140、複数のサーバ150、160、およびネットワーク170を含む例を示している。このような
図1は、発明の説明のための一例に過ぎず、電子機器の数やサーバの数が
図1のように限定されることはない。また、
図1のネットワーク環境は、本実施形態に適用可能な環境の一例に過ぎず、本実施形態に適用可能な環境が
図1のネットワーク環境に限定されることはない。
【0032】
複数の電子機器110、120、130、140は、コンピュータ装置によって実現される固定端末や移動端末であってよい。複数の電子機器110、120、130、140の例としては、スマートフォン、携帯電話、ナビゲーション、PC(personal computer)、ノート型PC、デジタル放送用端末、PDA(Personal Digital Assistant)、PMP(Portable Multimedia Player)、タブレットなどがある。一例として、
図1では、電子機器110の例としてスマートフォンを示しているが、本発明の実施形態において、電子機器110は、実質的に無線または有線通信方式を利用し、ネットワーク170を介して他の電子機器120、130、140および/またはサーバ150、160と通信することができる多様な物理的なコンピュータシステムのうちの1つを意味してよい。
【0033】
通信方式が限定されることはなく、ネットワーク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つ以上を含んでもよいが、これらに限定されることはない。
【0034】
サーバ150、160それぞれは、複数の電子機器110、120、130、140とネットワーク170を介して通信して命令、コード、ファイル、コンテンツ、サービスなどを提供する1つ以上のコンピュータ装置によって実現されてよい。例えば、サーバ150は、ネットワーク170を介して接続した複数の電子機器110、120、130、140にサービス(一例として、商品推薦サービスなど)を提供するシステムであってよい。
【0035】
図2は、本発明の一実施形態における、コンピュータ装置の例を示したブロック図である。上述した複数の電子機器110、120、130、140それぞれやサーバ150、160それぞれは、
図2に示したコンピュータ装置200によって実現されてよい。
【0036】
このようなコンピュータ装置200は、
図2に示すように、メモリ210、プロセッサ220、通信インタフェース230、および入力/出力インタフェース240を含んでよい。メモリ210は、コンピュータ読み取り可能な記録媒体であって、RAM(random access memory)、ROM(read only memory)、およびディスクドライブのような永続的大容量記録装置を含んでよい。ここで、ROMやディスクドライブのような永続的大容量記録装置は、メモリ210とは区分される別の永続的記録装置としてコンピュータ装置200に含まれてもよい。また、メモリ210には、オペレーティングシステムと、少なくとも1つのプログラムコードが記録されてよい。このようなソフトウェア構成要素は、メモリ210とは別のコンピュータ読み取り可能な記録媒体からメモリ210にロードされてよい。このような別のコンピュータ読み取り可能な記録媒体は、フロッピー(登録商標)ドライブ、ディスク、テープ、DVD/CD-ROMドライブ、メモリカードなどのコンピュータ読み取り可能な記録媒体を含んでよい。他の実施形態において、ソフトウェア構成要素は、コンピュータ読み取り可能な記録媒体ではない通信インタフェース230を通じてメモリ210にロードされてもよい。例えば、ソフトウェア構成要素は、ネットワーク170を介して受信されるファイルによってインストールされるコンピュータプログラムに基づいてコンピュータ装置200のメモリ210にロードされてよい。
【0037】
プロセッサ220は、基本的な算術、ロジック、および入出力演算を実行することにより、コンピュータプログラムの命令を処理するように構成されてよい。命令は、メモリ210または通信インタフェース230によって、プロセッサ220に提供されてよい。例えば、プロセッサ220は、メモリ210のような記録装置に記録されたプログラムコードに従って受信される命令を実行するように構成されてよい。
【0038】
通信インタフェース230は、ネットワーク170を介してコンピュータ装置200が他の装置(一例として、上述した記録装置)と互いに通信するための機能を提供してよい。一例として、コンピュータ装置200のプロセッサ220がメモリ210のような記録装置に記録されたプログラムコードに従って生成した要求や命令、データ、ファイルなどが、通信インタフェース230の制御に従ってネットワーク170を介して他の装置に伝達されてよい。これとは逆に、他の装置からの信号や命令、データ、ファイルなどが、ネットワーク170を経てコンピュータ装置200の通信インタフェース230を通じてコンピュータ装置200に受信されてよい。通信インタフェース230を通じて受信された信号や命令、データなどは、プロセッサ220やメモリ210に伝達されてよく、ファイルなどは、コンピュータ装置200がさらに含むことのできる記録媒体(上述した永続的記録装置)に記録されてよい。
【0039】
入力/出力インタフェース240は、入力/出力装置250とのインタフェースのための手段であってよい。例えば、入力装置は、マイク、キーボード、またはマウスなどの装置を、出力装置は、ディスプレイ、スピーカのような装置を含んでよい。他の例として、入力/出力インタフェース240は、タッチスクリーンのように入力と出力のための機能が1つに統合された装置とのインタフェースのための手段であってもよい。入力/出力装置250は、コンピュータ装置200と1つの装置で構成されてもよい。
【0040】
また、他の実施形態において、コンピュータ装置200は、
図2の構成要素よりも少ないか多くの構成要素を含んでもよい。しかし、大部分の従来技術的構成要素を明確に図に示す必要はない。例えば、コンピュータ装置200は、上述した入力/出力装置250のうちの少なくとも一部を含むように実現されてもよいし、トランシーバ、データベースなどのような他の構成要素をさらに含んでもよい。
【0041】
以下では、関連商品を推薦するための方法および装置の具体的な実施形態について説明する。
【0042】
ショッピングドメインで関連商品を推薦するために、協調フィルタリング基盤の推薦モデル、MPV(Meta Product2Vector)基盤の推薦モデル、シャムネットワーク(Siamese network)、およびトリプレットネットワーク(triplet network)基盤の推薦モデルなどが活用されている。
【0043】
このような関連商品推薦モデルは、ユーザによる履歴がどれほど多いか少ないかによって推薦性能が左右される。ある程度の履歴がある商品を中心に推薦が行われることから、一部商品に履歴が集中する推薦勾配現象が発生する可能性が高い。言い換えれば、履歴が足りないコールドアイテムの場合は、多くの履歴を保有するウォームアイテム(warm item)に比べて推薦のチャンスが少ないという問題がある。
【0044】
本実施形態は、ユーザと商品の間に履歴が少ない場合でも多様な商品推薦を可能にする新たな方法論を提供するものであり、文章間の関係を分類する自然語推論タスクである文章隋伴関係タスクに基づいて、コールドアイテムに強い関連商品推薦モデルを提供することができる。
【0045】
本明細書において、履歴とは、ショッピングドメイン上の商品に対するユーザのクリック履歴や購入履歴はもちろん、カート追加、「いいね」設定などのように商品とユーザ間のインタラクションを意味してよい。
【0046】
本実施形態に係るコンピュータ装置200は、クライアントを対象に、クライアント上にインストールされた専用アプリケーションやコンピュータ装置200と関連するウェブ/モバイルサイトへの接続によって商品推薦サービスを提供してよい。コンピュータ装置200には、コンピュータによって実現された関連商品推薦システムが構成されてよい。一例として、関連商品推薦システムは、独立的に動作するプログラム形態で実現されてもよいし、特定のアプリケーションのイン-アプリ(in-app)形態で構成されて、その特定のアプリケーション上で動作が可能となるように実現されてもよい。
【0047】
コンピュータ装置200のプロセッサ220は、以下の関連商品推薦方法を実行するための構成要素によって実現されてよい。実施形態によって、プロセッサ220の構成要素は、選択的にプロセッサ220に含まれてもよく、除外されてもよい。また、実施形態によって、プロセッサ220の構成要素は、プロセッサ220の機能の表現のために分離されても併合されてもよい。
【0048】
このようなプロセッサ220およびプロセッサ220の構成要素は、以下の関連商品推薦方法に含まれる段階を実行するようにコンピュータ装置200を制御してよい。例えば、プロセッサ220およびプロセッサ220の構成要素は、メモリ210が含むオペレーティングシステムのコードと、少なくとも1つのプログラムのコードとによる命令(instruction)を実行するように実現されてよい。
【0049】
ここで、プロセッサ220の構成要素は、コンピュータ装置200に記録されたプログラムコードが提供する命令に従ってプロセッサ220によって実行される、互いに異なる機能(different functions)の表現であってよい。
【0050】
プロセッサ220は、コンピュータ装置200の制御と関連する命令がロードされたメモリ210から必要な命令を読み取ってよい。この場合、読み取られた命令は、プロセッサ220が以下で説明する段階を実行するように制御するための命令を含んでよい。
【0051】
以下で説明する関連商品推薦方法に含まれる段階は、図に示したものとは異なる順序で実行されてもよいし、段階のうちの一部が省略されたり追加の過程がさらに含まれたりしてもよい。
【0052】
図3は、本発明の一実施形態における、コンピュータ装置が実行することができる方法の一例を示したフローチャートである。
【0053】
図3を参照すると、段階310において、プロセッサ220は、商品のコンテンツ情報を利用して商品間の関係を分類する自然語推論タスクに基づいて関連商品推薦モデルを生成してよい。コンテンツ情報とは、商品と関連して自然語で構成された付加情報(Side Information)であって、例えば、商品名、ブランド、モデル、カテゴリ、商品属性などを含んでよい。自然語推論タスクとは、前提(premise)文章に対して仮説(hypothesis)文章が互い適切に繋がるかを判断するものであって、2つの文章の関係を含意(entailment)(すなわち、真)または矛盾(contradiction)(すなわち、偽)に分類する自然語分野のタスクを意味する。一例として、プロセッサ220は、言語モデルに基づいて、ショッピングドメインでのコンテンツ情報を適切に理解するモデルを生成してよい。言語モデルでは、次の文章予測(Next sentence Prediction)という事前トレーニング(pre-train)のためのタスクとして自然語推論タスクが使用されてよい。プロセッサ220は、自然語からなるコンテンツ情報を利用した自然語推論タスクを通じて商品間の関連性を判断するように言語モデルを事前トレーニングする方式によって関連商品推薦モデルを生成してよい。
【0054】
段階320において、プロセッサ220は、与えられた基準商品に対して、関連商品推薦モデルを利用して基準商品のコンテンツ情報に基づいて関連商品を推薦してよい。プロセッサ220は、ユーザがクリックした商品や購入した商品などを基準商品とし、基準商品との代替が可能な同一カテゴリの商品、基準商品とともに使用しやすい商品であって互換性に優れた他のカテゴリの商品などを関連商品として推薦してよい。このとき、プロセッサ220は、相互間に関連商品の可能性がある商品プール(pool)を先に生成した後、商品プールに対する関連度を自然語推論タスクの推論結果によってリランキング(re-ranking)する方式によって商品推薦サービスを提供してよい。プロセッサ220は、基準商品のコンテンツ情報を前提文章とし、比較商品のコンテンツ情報を仮説文章として2つの文章の関連度を推論し、基準商品との含意関係が予測される商品を関連商品として推薦してよい。
【0055】
コールドアイテムに強い関連商品推薦モデルを生成する過程について、次のように具体的に説明する。
【0056】
コールドアイテム推薦問題を解決するための方法論の1つである協調フィルタリング基盤の推薦モデルは、アイテムに対してユーザによる履歴に基づいて埋め込みを求め、アイテムの多様な付加情報(Side Information)に基づいて埋め込みを求めた後、履歴によって求めたアイテムの埋め込みと付加情報によって求めたアイテムの埋め込みが近くなるように最適化する方式を使用する。協調フィルタリング基盤の推薦モデルを活用する場合、履歴のないアイテムに対しては、当該アイテムがもつ付加情報に基づいて関連商品を推薦する。
【0057】
しかし、協調フィルタリング基盤の推薦モデルの場合、協調フィルタリングによってデータのサイズが大きくなり、多くの学習時間とリソースが必要となるため、ショッピングのようにユーザやアイテムなどの大規模データを備えるサービスへの適用には限界があり、相応しくない。
【0058】
コールドアイテム推薦問題を解決するための方法論の他の1つであるMPV基盤の推薦モデルは、互いに関連する商品ペアに対して、商品のIDを活用して求めた固有ベクトルとコンテンツ情報をエンコードしたベクトルの類似度が高まるように学習する方式を使用する。言い換えれば、MPV基盤の推薦モデルは、履歴による特性はもちろん、商品名、ブランド、カテゴリなどのコンテンツ情報をエンコードして1つの埋め込みを生成し、ともにクリックされた商品の埋め込みとの類似度が高まるように最適化するモデルである。
【0059】
しかし、MPV基盤の推薦モデルの場合、ポジティブサンプル(Positive Sample)に対する類似度だけを高めるため、クラス間に埋め込みを近づける効果はあるが、クラス間に埋め込みを遠ざけることはできない。さらに、MPV基盤の推薦モデルで履歴のないコールドアイテムは、履歴基盤の埋め込みが存在しないため、履歴基盤の埋め込みを活用することができるウォームアイテム(Warm Item)とは異なり、コンテンツ間の類似度だけで推薦がなされる。結局、ユーザ履歴がもつ情報は、コールドアイテム推薦では十分に活用されないという限界がある。
【0060】
コールドアイテム推薦問題を解決するための方法論のさらに他の1つであるシャムネットワーク基盤の推薦モデルは、互いに関連する商品ペアに対して、商品のコンテンツ情報によってエンコードした埋め込みを、対照損失(contrastive loss)(トリプレットネットワーク(triplet network)の場合はトリプレット損失(triplet loss))を活用して学習する方式を使用する。
【0061】
関連商品は2つのタイプに定義されてよい。第1タイプは、シード(seed)商品との代替が可能な同一種類の商品を意味し、第2タイプは、シード商品とともに使用するのに適した商品であってシードと互換性がある他の種類の商品を意味する。第1タイプの場合はシード商品と同種類の商品であるため、互いに関連商品となる。したがって、第1タイプの関連商品は、類似度を活用した埋め込み空間にクラスタリングが可能である。しかし、第1タイプと第2タイプが混在する場合、シード商品とは異なる種類の商品が含まれ、互いに関連商品とはならないためクラスタリングが難しい。
【0062】
図4は、第1タイプの埋め込み空間400の例を示しており、
図5は、第1タイプと第2タイプが混在する埋め込み空間500の例を示している。
【0063】
図4を参照すると、第1タイプの埋め込み空間400では、シード商品である「アイフォン」に対して、「ギャラクシーS」と「ファイザースマートフォン」はスマートフォンというカテゴリに該当する商品であって同一種類の商品となる。したがって、シード「アイフォン」の関連商品である「ギャラクシーS」と「ファイザースマートフォン」は、互いに関連商品であるため、クラスタリングに困難がない。
【0064】
図5を参照すると、第1タイプと第2タイプが混在する埋め込み空間500では、シード商品である「アイフォン」に対する関連商品として、第1タイプの商品である「ギャラクシーS」と第2タイプの商品である「アイフォンケース」が含まれているが、「ギャラクシーS」と「アイフォンケース」は互いに関連商品ではない。したがって、シード「アイフォン」は、「ギャラクシーS」と「アイフォンケース」を自身と近い位置にフィッティングしようとするが、「ギャラクシーS」と「アイフォンケース」は互いに遠ざかるようにフィッティングするようになるため、これらの商品を1つのクラスタに集めることができないというジレンマが発生する。さらに、「ギャラクシーS」の関連商品である「ギャラクシーケース」は、「アイフォンケース」とは関連商品でないため遠くならなければならないが、「ギャラクシーS」とは近づかなければならず、「ギャラクシーS」はシード「アイフォン」とも近づかなければならないため、やはり1つのクラスタに集めることができない。
【0065】
図6は、シャムネットワーク構造の例を示した図である。
【0066】
図6を参照すると、シャムネットワーク600は、メトリック学習(metric learning)を基盤とするものであって、2つの対象がもつ特性の類似性を示す距離を計算するメトリックを使用するモデルである。シャムネットワーク600は、アンカー(anchor)となる基準商品と非類似の特徴をもつ商品を遠くに離すように学習することにより、基準商品と比較商品に対して加重値を共有するネットワークで各商品の個別埋め込みを生成するため、比較商品が変わっても基準商品の埋め込みは変わらない。したがって、固定された値の埋め込みをもつようになるため、商品間の動的な関連関係をクラスタリングすることが難しい。
【0067】
シャムネットワーク600のメトリック学習は、データクラスタリング性能には優れているが、データ自体が、クラスタリングが適切になされないモデルの場合、全体的なモデルの性能は低下するしかない。さらに、ショッピングドメインのように大規模データを備えるサービスの場合は、極めて大きいサイズの埋め込みが必要となるため、サービスに制約が発生するようになる。
【0068】
本実施形態では、商品間の動的な関連関係を容易にフィッティングすることができる構造の関連商品推薦モデルを生成する。
【0069】
図7は、本発明の一実施形態における、関連商品推薦モデルを生成する過程を示したフローチャートである。
【0070】
図7を参照すると、段階701において、プロセッサ220は、ショッピングドメイン上の商品に対する履歴に基づいて、文章隋伴関係タスク(自然語推論タスク)の対照ペアデータセット(contrastive pair dataset)を構成してよい。
【0071】
一例として、プロセッサ220は、ユーザが事前に定めた制限時間内にともにクリックした商品ペアをポジティブサンプルとして選定してよい。このとき、制限時間は、クリック商品に対する購入転換率や商品カテゴリ変化程度などを考慮して決められてよく、例えば、ユーザが1つの商品をクリックしてから10分以内に他の商品をクリックした場合、2つの商品のコンテンツ情報をポジティブデータセットとして構成してよい。ショッピングドメインの場合、アビューズユーザ、各カテゴリの商品分布の差、人気商品などのようにポジティブサンプルを求めるのに困難を与える要素が存在するため、カテゴリの制限や表示偏向の除去などを追加で適用してよい。例えば、一部カテゴリの商品または他の商品と比べて表示の割合が極めて高い商品は、ポジティブサンプル選定対象から除外してよい。また、プロセッサ220は、商品に対する主要なコンテキスト(context)を把握することができるように、同一商品であってもカタログの商品名が異なる商品をポジティブサンプルとして追加して使用してよい。
【0072】
また、プロセッサ220は、ポジティブサンプルに含まれる商品をシードとし、シードとともに表示された商品のうちで制限時間内にともにクリックされなかった商品をネガティブサンプルとして選定してよい。特に、プロセッサ220は、シードがクリックされてから制限時間内にクリックされなかった商品のうちで表示回数が一定のレベル以上の商品をランダムに選定してネガティブサンプルとして使用してよい。
【0073】
プロセッサ220は、履歴に基づいてポジティブサンプルとネガティブサンプルを選定し、ポジティブサンプルとネガティブサンプルとして選定された商品に対して、自然語からなるコンテンツ情報を利用してデータセットを構成してよい。
図8を参照すると、プロセッサ220は、コンテンツ情報だけでなく履歴情報をともに学習するために、同じ前提商品801に対して複数のポジティブサンプルとネガティブサンプルに該当する仮説商品802を選定し、ポジティブデータペアとネガティブデータペアからなる学習データセット800を構成してよい。履歴に基づいて前提商品801に対する仮説商品802を選定することにより、協力的フィルタリングのように履歴に対するフィーチャを学習するデータセット800を生成することができる。文章隋伴関係タスクのデータセット800は分類ラベル803を含んでよく、ポジティブデータペアの場合は含意関係を示すラベル(「entailment」)が、ネガティブデータペアの場合は矛盾関係を示すラベル(「contradiction」)が定義されてよい。プロセッサ220は、目的タスクとローデータ(raw data)分布などにより、データ分析と実験を通じてデータセットの追加調整を実行してよい。
【0074】
再び
図7を参照すると、段階702において、プロセッサ220は、文章隋伴関係タスクの対照ペアデータセットを利用して言語モデルを事前トレーニングする方式により、第1関連商品推薦モデルを生成してよい。例えば、プロセッサ220は、BERT(Bidirectional Encoder Representations from Transformer)モデルまたはエレクトラスモールモデル(Electra Small Model)をPLM(Pre-trained Language Model)として採択した後、2つのラベル(含意関係、矛盾関係)を有する自然語推論タスクによってファインチューニング(fine tuning)を行って当該モデルを学習することにより、第1関連商品推薦モデルを実現してよい。
【0075】
図9は、本発明の一実施形態における、自然語推論タスク基盤のネットワーク構造の例を示した図である。
【0076】
図9を参照すると、自然語推論タスクである文章隋伴関係タスク構造900は、アンカーと比較サンプルの入力を1つのネットワークで同時に受け、ネットワーク内で互いのデータを参照しながらエンコードとソフトマックス(softmax)をともに行う。文章隋伴関係タスク構造900は、同じアンカーであっても比較サンプルによって異なる内部的な埋め込み(hidden state)の生成が可能であるという点において、埋め込みが固定されず、商品間の動的な関連可否を容易にフィッティングすることができる。
【0077】
図10は、文章隋伴関係タスク構造の関連商品推薦モデル1000の例を示している。
【0078】
図10を参照すると、プロセッサ220は、前提商品801と仮説商品802のコンテンツ情報からなる対照ペアデータセット800を入力データとして利用した自然語推論タスクを通じてBERTモデルを事前トレーニングすることにより、関連商品推薦モデル1000を生成してよい。アンカーとなる前提商品801が異なれば同じ仮説商品802に対して内部的に異なるようにエンコードできるため、比較的小さいサイズのモデルでも第1タイプと第2タイプが混在する埋め込み空間500でのフィッティング問題を解決することができる。
【0079】
BERTのような言語モデルに基づいて生成された関連商品推薦モデル1000の場合、自然語からなるコンテンツ情報を利用して2つ商品の関連性を判断することにより、一般的な言語モデルと同じように、商品名、ブランド、カテゴリなどから重要なコンテキストを適切に抽出する能力をもつことができる。
【0080】
再び
図7を参照すると、段階703において、プロセッサ220は、第1関連商品推薦モデルを基本モデルとし、基本モデルにシャムネットワークを共同学習(jointly learning)し、結合学習モデルによって第1関連商品推薦モデルを拡張することにより、第2関連商品推薦モデルを生成してよい。1つのエンコードモデルを利用して、自然語推論タスクを利用したモデル学習による損失とシャムネットワーク学習による損失を順に求めた後、2つの損失を一度にバックワード(backward)として計算して求めた最終損失を減らす方向でモデルを学習することにより、第2関連商品推薦モデルを生成してよい。
【0081】
第2関連商品推薦モデルを生成する詳細過程について、次のように説明する。
【0082】
第2関連商品推薦モデルを生成するためのデータセット構造は、
図8を参照しながら説明したデータセット800と同じである。
【0083】
プロセッサ220は、商品Aと商品Bのコンテンツ情報を自然語推論タスクのための1つのデータとして連結して(concatenate)エンコードモデルの入力によってフォワード(forward)した後、損失(以下、「自然語推論タスク損失」とする)を求める。
【0084】
プロセッサ220は、同一のネットワークに商品Aのコンテンツ情報だけを入力した後、最後のレイヤのCLS埋め込みを求め、同じようにネットワークに商品Bのコンテンツ情報だけを入力した後、最後のレイヤのCLS埋め込みを求める。
【0085】
プロセッサ220は、商品Aと商品BのCLS埋め込みの類似度距離(例えば、Euclidean distanceなど)を求めた後、商品Aと商品Bが含意関係である場合には距離が近くなり、矛盾関係の場合には距離が遠くなるように損失(以下、「シャムネットワーク損失」とする)を構成してよい。
【0086】
プロセッサ220は、自然語推論タスク損失とシャムネットワーク損失の加重和(Weighted Sum)として求めた最終損失によってモデルを最適化して第2関連商品推薦モデルを生成してよい。このとき、自然語推論タスク損失とシャムネットワーク損失は1対1で適用してよく、実施形態によっては、自然語推論タスク損失とシャムネットワーク損失に対する加重値を異なるように適用してよい。
【0087】
第2関連商品推薦モデルの場合、2つのネットワークの長所をすべて享受することができる。シャムネットワークは、個別商品の埋め込みを生成することができるため、距離基盤の埋め込みによって推薦する商品候補を求めることができるという長所がある。さらに、入力と隠れ状態段階で商品ペアのすべての個別トークンを参照できる自然語推論タスクと共同でネットワークの加重値が学習される場合、入力埋め込みから最後のレイヤまでのすべてのトークンごとに隠れ状態をシャムネットワークだけで学習するときよりも、多くの情報に基づいてチューニングを行うことができる。
【0088】
プロセッサ220は、シャムネットワークに基づいて、個別商品の埋め込みに基づいて基準商品に対する関連商品としての可能性がある商品プールを先に生成した後、商品プールに対する基準商品との関連度を自然語推論タスクの推論結果によってリランキングする方式によって商品推薦サービスを提供してよい。
【0089】
本発明に係る商品推薦サービスのための最終モデルとして第1関連商品推薦モデルを適用してよく、実施形態によっては、第2関連商品推薦モデルを適用してもよい。一例として、プロセッサ220は、ユーザまたは基準商品のカテゴリによって関連商品推薦モデルを異なるように適用してよい。例えば、多様なカテゴリを探索するユーザの場合には第2関連商品推薦モデルを適用して関連商品を推薦してよく、限定されたカテゴリだけを探索するユーザの場合には第1関連商品推薦モデルを適用して関連商品を推薦してよい。また、基準商品がAカテゴリに属する場合には第1関連商品推薦モデルを適用して関連商品を推薦してよく、Bカテゴリに属する場合には第2関連商品推薦モデルを適用して関連商品を推薦してよい。
【0090】
このように、本発明の実施形態によると、文章間の関係を分類する自然語推論タスクに基づいて、自然語からなるコンテンツ情報を利用して2つの商品間の関連性を学習したモデルによって大規模データに対してサービスすることができ、購入履歴などのユーザデータが不足な商品を関連商品として推薦することができる。本発明の実施形態によると、1つのネットワークに基準商品と比較商品を同時入力し、当該ネットワーク内で相互間のデータを参照したエンコードによって商品間の動的な関連可否をフィッティングすることができ、商品に対するコンテンツ情報だけでなく履歴情報まで内製された関連商品推薦モデルを実現することができる。本発明の実施形態によると、自然語推論タスク基盤のモデルにシャムネットワークを結合することにより、関連商品を推薦するためのモデルとして動的ながらも変化が大きい埋め込み空間を構成することができる。
【0091】
上述した装置は、ハードウェア構成要素、ソフトウェア構成要素、および/またはハードウェア構成要素とソフトウェア構成要素との組み合わせによって実現されてよい。例えば、実施形態で説明された装置および構成要素は、プロセッサ、コントローラ、ALU(arithmetic logic unit)、デジタル信号プロセッサ、マイクロコンピュータ、FPGA(field programmable gate array)、PLU(programmable logic unit)、マイクロプロセッサ、または命令を実行して応答することができる様々な装置のように、1つ以上の汎用コンピュータまたは特殊目的コンピュータを利用して実現されてよい。処理装置は、オペレーティングシステム(OS)およびOS上で実行される1つ以上のソフトウェアアプリケーションを実行してよい。また、処理装置は、ソフトウェアの実行に応答し、データにアクセスし、データを記録、操作、処理、および生成してもよい。理解の便宜のために、1つの処理装置が使用されるとして説明される場合もあるが、当業者であれば、処理装置が複数個の処理要素および/または複数種類の処理要素を含んでもよいことが理解できるであろう。例えば、処理装置は、複数個のプロセッサまたは1つのプロセッサおよび1つのコントローラを含んでよい。また、並列プロセッサのような、他の処理構成も可能である。
【0092】
ソフトウェアは、コンピュータプログラム、コード、命令、またはこれらのうちの1つ以上の組み合わせを含んでもよく、思うままに動作するように処理装置を構成したり、独立的または集合的に処理装置に命令したりしてよい。ソフトウェアおよび/またはデータは、処理装置に基づいて解釈されたり、処理装置に命令またはデータを提供したりするために、いかなる種類の機械、コンポーネント、物理装置、コンピュータ記録媒体または装置に具現化されてもよい。ソフトウェアは、ネットワークによって接続されたコンピュータシステム上に分散され、分散された状態で記録されても実行されてもよい。ソフトウェアおよびデータは、1つ以上のコンピュータ読み取り可能な記録媒体に記録されてよい。
【0093】
実施形態に係る方法は、多様なコンピュータ手段によって実行可能なプログラム命令の形態で実現されてコンピュータ読み取り可能な媒体に記録されてよい。ここで、媒体は、コンピュータ実行可能なプログラムを継続して記録するものであっても、実行またはダウンロードのために一時記録するものであってもよい。また、媒体は、単一または複数のハードウェアが結合した形態の多様な記録手段または格納手段であってよく、あるコンピュータシステムに直接接続する媒体に限定されることはなく、ネットワーク上に分散して存在するものであってもよい。媒体の例としては、ハードディスク、フロッピー(登録商標)ディスク、および磁気テープのような磁気媒体、CD-ROMおよびDVDのような光媒体、フロプティカルディスク(floptical disk)のような光磁気媒体、およびROM、RAM、フラッシュメモリなどを含み、プログラム命令が記録されるように構成されたものであってよい。また、媒体の他の例として、アプリケーションを配布するアプリケーションストアやその他の多様なソフトウェアを供給または配布するサイト、サーバなどで管理する記録媒体または格納媒体が挙げられる。
【0094】
以上のように、実施形態を、限定された実施形態および図面に基づいて説明したが、当業者であれば、上述した記載から多様な修正および変形が可能であろう。例えば、説明された技術が、説明された方法とは異なる順序で実行されたり、かつ/あるいは、説明されたシステム、構造、装置、回路などの構成要素が、説明された方法とは異なる形態で結合されたりまたは組み合わされたり、他の構成要素または均等物によって対置されたり置換されたとしても、適切な結果を達成することができる。
【0095】
したがって、異なる実施形態であっても、特許請求の範囲と均等なものであれば、添付される特許請求の範囲に属する。
【符号の説明】
【0096】
110、120、130、140:電子機器
150、160:サーバ
170:ネットワーク