(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024081579
(43)【公開日】2024-06-18
(54)【発明の名称】数理モデルの学習方法
(51)【国際特許分類】
G06F 16/908 20190101AFI20240611BHJP
【FI】
G06F16/908
【審査請求】有
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2023111728
(22)【出願日】2023-07-06
(31)【優先権主張番号】18/075,991
(32)【優先日】2022-12-06
(33)【優先権主張国・地域又は機関】US
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.FACEBOOK
(71)【出願人】
【識別番号】399037405
【氏名又は名称】楽天グループ株式会社
(74)【代理人】
【識別番号】100079108
【弁理士】
【氏名又は名称】稲葉 良幸
(74)【代理人】
【識別番号】100109346
【弁理士】
【氏名又は名称】大貫 敏史
(74)【代理人】
【識別番号】100117189
【弁理士】
【氏名又は名称】江口 昭彦
(74)【代理人】
【識別番号】100134120
【弁理士】
【氏名又は名称】内藤 和彦
(74)【代理人】
【識別番号】100139066
【弁理士】
【氏名又は名称】伊藤 健太郎
(72)【発明者】
【氏名】チウ ジャスティン
【テーマコード(参考)】
5B175
【Fターム(参考)】
5B175HB03
(57)【要約】
【課題】商品のマッチングを効率良く行うことができる技術の提供を目的とする。
【解決手段】本開示に係る方法は、複数の商品の中から、所定の検索条件に該当する商品を検索する際に用いられるモデルを学習させる方法であって、第1モデルを用いて、複数の商品の商品情報に基づく第1ベクトル表現を生成し、第1ベクトル表現間の類似性に基づき、複数の商品の中から類似性の高い商品の組み合わせを1以上含む第1データを生成するステップと、第2モデルを用いて、第1データに含まれる商品の組み合わせの各々に含まれる2つの商品の商品情報の組み合わせから第2ベクトル表現を生成し、第2ベクトル表現に基づいて、類似性の高い商品の組み合わせを含む第2データを生成するステップと、第2データを教師データとして用いて、第3モデルの学習を実行するステップと、を含む。
【選択図】
図1
【特許請求の範囲】
【請求項1】
複数の商品の中から、所定の検索条件に該当する商品を検索する際に用いられるモデルを学習させる方法であって、
商品について記述された商品情報からベクトル表現を生成する第1モデルを用いて、前記複数の商品の商品情報に基づく第1ベクトル表現を生成し、前記第1ベクトル表現間の類似性に基づき、前記複数の商品の中から類似性の高い商品の組み合わせを1以上含む第1データを生成するステップと、
2つの商品情報の組み合わせからベクトル表現を生成する第2モデルを用いて、前記第1データに含まれる前記商品の組み合わせの各々に含まれる2つの商品の商品情報の組み合わせから第2ベクトル表現を生成し、前記第2ベクトル表現に基づいて、類似性の高い商品の組み合わせを含む第2データを生成するステップと、
前記第2データを教師データとして用いて、商品情報からベクトル表現を生成する第3モデルの学習を実行するステップと、
を含む、方法。
【請求項2】
前記第1モデルは第1エンコーダを含み、前記第2モデルは第2エンコーダを含み、
前記第2エンコーダは、商品間の類似性に関する出力精度が前記第1エンコーダより高い、
請求項1記載の方法。
【請求項3】
前記第1ベクトル表現間の類似性は、2つの第1ベクトル表現間の距離に基づいて算出される、
請求項1記載の方法。
【請求項4】
前記第2データを生成するステップは、前記第2ベクトル表現に基づいて算出されるスコアに基づいて、類似性が算出される、
請求項1記載の方法。
【請求項5】
前記第1モデル及び前記第3モデルはバイエンコーダを含み、前記第2モデルはクロスエンコーダを含む、
請求項1に記載の方法。
【請求項6】
前記商品情報は前記商品のタイトルである、
請求項1に記載の方法。
【請求項7】
次元削減エンコーダを用いて、前記ベクトル表現より低次元のベクトル表現を算出するステップ、
を含む、請求項1に記載の方法。
【請求項8】
前記第2データを生成するステップにおいて、マニュアルにより類似性が高いと判断された商品の組み合わせに関するデータが存在する場合に、前記第2ベクトル表現に基づいて類似性が高いと判断され、かつ、前記マニュアルにより類似性が高いと判断された商品の組み合わせを含む第2データを生成する、請求項1に記載の方法。
【請求項9】
新規の商品の出品を受け付けるステップと、
前記第1モデルを用いて、前記新規の商品の商品情報に基づく第3ベクトル表現を生成し、前記第3ベクトル表現と前記第1ベクトル表現との間の類似性に基づき、前記新規の商品との類似性の高い商品との新規の組み合わせを含む第3データを生成するステップと、
前記第2モデルを用いて、前記第3データに含まれる前記新規の組み合わせに含まれる2つの商品の商品情報の組み合わせから第4ベクトル表現を生成し、前記第4ベクトル表現に基づいて、類似性の高い商品の組み合わせを含む第4データを生成するステップと、
前記第4データに含まれる前記類似性の高い商品の組み合わせのそれぞれをポジティブであるとアノテーションすることにより、第2エンコーダアノテーションデータを生成するステップと、
前記第2エンコーダアノテーションデータを教師データとして用いて前記第3モデルの学習を実行するステップと、
を含む、請求項1に記載の方法。
【請求項10】
関連商品の検索結果を出力する方法であって、
ユーザから検索条件の入力を受け付けるステップと、
請求項1に記載の前記第3モデルにより、前記検索条件のベクトル表現を生成するステップと、
前記第3モデルにより生成された前記複数の商品の商品情報のベクトル表現と、前記検索条件のベクトル表現との類似性に基づいて、前記検索条件に該当する商品の商品情報を取得するステップと、
前記取得された商品の商品情報を前記ユーザに提示するステップと、
を含む、方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、数理モデルの学習方法に関する。
【背景技術】
【0002】
近年、オンライン上での電子商取引サービスが提供されてきている。電子商取引を実現するプラットフォームにおいては、ユーザが入力した検索ワードに基づいて、ユーザが望む出品アイテム(以下「商品」ともいう。)を検索することがある。また、ユーザが選択した出品アイテムに基づいて、同じ商品を検索することがある。このように、電子商取引プラットフォームにおいては、商品カタログ内の2つの異なる出品アイテムが、同じ現実の商品を意図しているか否かのマッチング(以下「商品マッチング」ともいう。)が行われる。近年、商品マッチングには、自然言語処理ベースの深層学習モデルが導入されてきている。
【先行技術文献】
【非特許文献】
【0003】
【非特許文献1】Yuliang Li, Jinfeng Li, Yoshihiko Suhara, AnHai Doan, and Wang-Chiew Tan. 2020. Deep entity matching with pre-trained language models. arXiv preprint arXiv:2004.00584.
【非特許文献2】Ralph Peeters, Christian Bizer, and Goran Glavas. 2020. Intermediate training of bert for product matching. small, 745(722):2-112.
【非特許文献3】Kashif Shah, Selcuk Kopru, and Jean-David Ruvini. 2018. Neural network based extreme classification and similarity models for product matching. In Proceedings of the 2018 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies, Volume 3 (Industry Papers), pages 8-15, New Orleans Louisiana. Association for Computational Linguistics.
【非特許文献4】Janusz Tracz, Piotr Iwo Wojcik, Kalina Jasinska Kobus, Riccardo Belluzzo, Robert Mroczkowski, and Ireneusz Gawlik. 2020. BERT-based similarity learning for product matching. In Proceedings of Workshop on Natural Language Processing in E-Commerce, pages 66-75, Barcelona, Spain. Association for Computational Linguistics.
【発明の概要】
【発明が解決しようとする課題】
【0004】
非特許文献1乃至4には、商品マッチングのための数理モデルとして、バイエンコーダやクロスエンコーダが用いられるものが開示されている。バイエンコーダが用いられる場合、2つの商品に関する商品情報のテキストデータはそれぞれベクトル表現にエンコードされる。クロスエンコーダが用いられる場合、2つの商品情報のテキストデータはまとめてエンコードされる。一般的には、クロスエンコーダは、入力された2つのデータ間のより複雑な対応関係を捉えることができるが、そのため、クロスエンコーダベースのモデルはバイエンコーダベースのモデルより多くのコンピュータ資源と計算時間を必要とする可能性がある。電子商取引のプラットフォームにおいては、商品カタログに数百万以上の商品が含まれることが一般的であるので、クロスエンコーダのような多大なコンピュータ資源を必要とする可能性のある手法の利用には困難性が伴うことがある。
【0005】
また、電子商取引のプラットフォームにおいて扱われる商品は飛躍的に増加している。そのため、商品マッチングのさらなる効率化が望まれる。
【0006】
本発明の所定の実施形態は、商品マッチングを効率良く行うことができる技術の提供を目的とする。
【課題を解決するための手段】
【0007】
本開示の一態様に係る方法は、複数の商品の中から、所定の検索条件に該当する商品を検索する際に用いられるモデルを学習させる方法であって、商品について記述された商品情報からベクトル表現を生成する第1モデルを用いて、前記複数の商品の商品情報に基づく第1ベクトル表現を生成し、前記第1ベクトル表現間の類似性に基づき、前記複数の商品の中から類似性の高い商品の組み合わせを1以上含む第1データを生成するステップと、2つの商品情報の組み合わせからベクトル表現を生成する第2モデルを用いて、前記第1データに含まれる前記商品の組み合わせの各々に含まれる2つの商品の商品情報の組み合わせから第2ベクトル表現を生成し、前記第2ベクトル表現に基づいて、類似性の高い商品の組み合わせを含む第2データを生成するステップと、前記第2データを教師データとして用いて、商品情報からベクトル表現を生成する第3モデルの学習を実行するステップと、を含む。
【発明の効果】
【0008】
本発明の所定の実施形態によれば、商品マッチングを効率良く行うことができる技術の提供することができる。
【図面の簡単な説明】
【0009】
【
図1】
図1は、本開示の実施形態に係る学習装置10の機能ブロック図である。
【
図2】
図2は、本実施形態に係る学習装置10の物理的構成の一例を示す図である。
【
図3】
図3は、本実施形態に係る学習装置10により実行される処理の概要を示す図である。
【
図4】
図4は、本実施形態により実行される学習処理のフローチャートの一例である。
【
図5】
図5は、本実施形態により実行される新規の商品の出品時の処理のフローチャートの一例である。
【
図6】
図6は、本実施形態により実行される検索結果の出力処理のフローチャートの一例である。
【
図7A】
図7Aは、マニュアルによるアノテーションデータが利用できる場合の評価結果を示す。
【
図7B】
図7Bは、マニュアルによるアノテーションデータが無い場合の評価結果を示す。
【発明を実施するための形態】
【0010】
以下、添付図面を参照しながら本実施形態について説明する。説明の理解を容易にするため、各図面において同一の構成要素に対しては可能な限り同一の符号を付して、重複する説明は省略する。
【0011】
以下、図面を参照しながら、本実施形態に係る、複数の商品の中から、所定の検索条件に該当する商品を検索する際に用いられるモデルを学習させる方法、学習装置、及び学習プログラムを説明する。
【0012】
図1は、本開示の実施形態に係る学習装置10の機能ブロック図の一例である。学習装置10は、取得部12と、入力部14と、第1モデル16と、第2モデル18と、第3モデル19と、を備える。
【0013】
取得部12は、例えば学習装置10の外部にあるデータベースDBから所定の電子商取引プラットフォームにおいて扱われる商品について記述された情報(以下「商品情報」ともいう。)を取得する。本開示の実施形態において、商品情報は、個々の商品に関する任意の情報を含むものとしてよく、例えば、商品名等の商品のタイトル、商品説明、価格、状態、商品画像等を含む。データベースDBは、任意の商品についての商品情報を格納するデータベースである。データベースDBは、例えば、本電子商取引プラットフォームにおいて取り扱われる全商品についての商品情報を格納してもよいし、一部の商品について商品情報を格納してもよい。なお、ここでは、商品情報が、外部のデータベースDBから取得される場合を例に説明するが、商品情報は、例えば学習装置10のメモリ(後述のメモリ10b(
図2参照))に保存され、当該メモリから取得されてもよい。
【0014】
入力部14は、取得部12により取得された商品情報を、第1モデル16に入力する。
【0015】
第1モデル16は、入力された商品情報に基づき、商品に関するベクトル表現(以下、「第1ベクトル表現」ともいう。)を生成するための数理モデルである。第1モデル16は、バイエンコーダを含むモデルであってよく、例えば、ベクトル表現を生成することが可能な双方向エンコーダ表現モデル(BERT(Bidirectional Encoder Representations from Transformers))等の自然言語処理ベースのエンコーダを含む機械学習モデルで構成されてもよい。第1モデル16は、例えば、商品情報を取得した複数の商品それぞれについてベクトル表現を生成し、生成されたベクトル表現間の類似性に基づき、複数の商品の中から類似性の高い商品の組み合わせを含むデータ(以下「第1データ」ともいう。)を生成する。
【0016】
第2モデル18は、2つの商品情報の組み合わせからベクトル表現を生成するための数理モデルであり、例えば、生成されたベクトル表現から、2つの商品の類似性に関する指標を算出可能なクロスエンコーダを含むモデルであってよい。本実施形態では、第2モデル18は、第1モデル16により生成された相互に類似性の高い商品の組み合わせのデータに基づき、各組み合わせに関するベクトル表現(以下「第2ベクトル表現」ともいう。)を生成する。第2モデル18は、商品情報の組み合わせから生成されたベクトル表現に基づき、類似性の高い商品の組み合わせを含むデータ(以下「第2データ」ともいう。)を生成する。
【0017】
第3モデル19は、第2モデル18により生成された類似性の高い商品の組み合わせを含むデータを教師データとして用いて、学習を実行する。第3モデル19は、例えば第1モデル16のエンコーダと同じエンコーダを含んで構成されてもよい。
【0018】
上述のように、本実施形態の学習装置10により実行される、商品の検索に用いられる学習モデルの学習プロセスにおいては、第1モデル16と第2モデル18とを用いて、第1モデル16により生成された類似性の高い商品の組み合わせに基づき、第2モデル18により類似性の高い商品の組み合わせに関するベクトル表現を生成する。これにより、電子商取引において新たに出品される商品と既に商品カタログに格納されている商品とのマッチングやユーザにより入力される新規の検索条件への商品カタログ内の商品マッチングに利用される第3モデル19の学習を実行する。従って、第3モデル19の学習において用いられる教師データのデータ量を削減することができ、また、教師データとして類似性に関する精度の高いデータを用いることができる。従って、学習プロセスの効率を向上することができる。また、精度の高い出力が可能な学習モデルを実現することもできる。そのため、商品マッチングを効率良く実行することもできる。
【0019】
図2は、本実施形態に係る学習装置10の物理的構成の一例を示す図である。学習装置10は、演算部に相当するCPU(Central Processing Unit)等のプロセッサ10aと、メモリ10bと、通信部10cと、入力部10dと、表示部10eと、を有する。これらの各構成は、バスを介して相互にデータ送受信可能に接続される。なお、本例では学習装置10が一台のコンピュータで構成される場合について説明するが、学習装置10は、複数のコンピュータが組み合わされて実現されてもよい。また、
図2で示す構成は一例であり、学習装置10はこれら以外の構成を有してもよいし、これらの構成のうち一部を有さなくてもよい。
【0020】
プロセッサ10aは、メモリ10bに記憶されたプログラムの実行に関する制御やデータの演算、加工を行う制御部である。プロセッサ10aは、各データ等を用いて学習を実行するプログラム(学習プログラム)を実行する演算部である。プロセッサ10aは、入力部10dや通信部10cから種々のデータを受け取り、データの演算結果を表示部10eに表示したり、メモリ10bに格納したりする。
【0021】
メモリ10bは、例えばRAM(Random Access Memory)と、記憶部に相当するROM(Read only Memory)とを有していてもよい。RAMは、記憶部のうちデータの書き換えが可能なものであり、例えば半導体記憶素子で構成されてよい。RAMは、プロセッサ10aが実行するプログラムや、学習に用いられるデータ(例えば商品情報)を記憶してもよい。なお、これらは例示であって、RAMには、これら以外のデータが記憶されていてもよいし、これらの一部が記憶されていなくてもよい。
【0022】
ROMは、記憶部のうちデータの読み出しが可能なものであり、例えば半導体記憶素子で構成されていてもよい。ROMは、例えば学習実行プログラムや、書き換えが行われないデータを記憶してもよい。
【0023】
通信部10cは、学習装置10を他の機器に接続するインターフェースである。通信部10cは、インターネット等の通信ネットワークに接続されてよい。
【0024】
入力部10dは、ユーザからデータの入力を受け付けるものであり、例えば、キーボード及び/またはタッチパネルを含んでよい。
【0025】
表示部10eは、プロセッサ10aによる演算結果を視覚的に表示するものであり、例えば、LCD(Liquid Crystal Display)により構成されてよい。表示部10eは、例えば、本実施形態に係る学習プロセスにおいて出力される学習データや商品の検索結果等を表示してもよい。
【0026】
学習実行プログラムは、メモリ10b(例えばRAMやROM)等のコンピュータによって読み取り可能な記憶媒体に記憶されて提供されてもよいし、通信部10cにより接続される通信ネットワークを介して提供されてもよい。学習装置10では、プロセッサ10aが学習プログラムを実行することにより、
図1を用いて説明した様々な動作が実現される。なお、これらの物理的な構成は例示であって、必ずしも独立した構成でなくてもよい。例えば、学習装置10は、プロセッサ10aとメモリ10bとが一体化したLSI(Large-Scale Integration)を備えていてもよい。また、学習装置10は、プロセッサ10aとしてGPU(Graphical Processing Unit)を備えていてもよく、GPUが学習プログラムを実行することにより、
図1を用いて説明した様々な動作が実現されてもよい。
【0027】
図3は、本実施形態に係る学習装置10により実行される処理の概要を示す。
【0028】
図3に示すように、本開示の実施形態に係る学習プロセスにおいては、まず、複数の商品情報が格納されたデータベースDBより、一部または全部の商品に関する商品情報を取得する。商品情報としては、例えば、商品のタイトルが取得される。商品のタイトルは、例えば電子商取引のプラットフォームに出品者が出品した際に付され、電子商取引のプラットフォーム上においてユーザの検索時に提示されるタイトルであってもよい。商品のタイトルとしては、例えば、商品名のみでもよく、あるいは商品名に加え、ブランド名、製造元、輸入元、色や形、大きさ等の商品の特徴に関する簡易な説明等の情報が含まれていてもよい。商品情報としては、タイトルのほか、例えば、商品の説明、商品画像、商品カテゴリ等が含まれていてもよい。また、複数の商品としては、複数の異なるベンダーからいくつかの商品が出品されていてもよい。
【0029】
商品のタイトル等の商品情報は、商品情報に基づきベクトル表現を生成するエンコーダ(以下、「第1エンコーダ」ともいう)としてバイエンコーダを含む第1モデル16において、取得され、ベクトル表現が生成される。例えば、取得した商品情報のうち、2つの商品のタイトルについてそれぞれバイエンコーダによりベクトル表現が生成される。生成された2つのベクトル表現を用いてバイエンコーダにより例えば2つの商品の商品情報のベクトル表現間の類似性が算出される。ベクトル表現間の類似性に基づき2つの商品の類似性が算出される。第1モデル16における以上の処理を、データベースに含まれる一部または全部の商品について繰り返す。例えば、全部の商品についての商品間の類似性を算出する場合には、全商品間の類似性を算出してもよい。
【0030】
こうして、例えばある商品に類似する商品群として、この商品との類似性のスコアが高い順に所定個数(例えば、50個)の商品を抽出する等の処理が可能となる。なお、複数の商品の商品情報、商品情報のベクトル表現、類似性、類似性に基づき類似すると判断される商品の組み合わせは、例えば同一または類似する商品群ごとにコーパスとして格納されていてもよい。
【0031】
また、第1モデル16により算出される商品のベクトル表現は例えば、FAISS(Facebook AI Similarity Search)等の近傍検索処理に用いられるアルゴリズムにより、指標化することにより、低次元化されてもよい。この場合、FAISSは、本開示の実施形態において、次元削減エンコーダとして機能する。このようにベクトル表現を低次元化することにより、類似性の判断時における計算負荷を低減することができるので、例えば、ユーザから新規の検索条件が入力された場合に、入力された検索条件を同様の方法により指標化し、指標化された検索条件に基づき、指標化された商品群のベクトル表現の指標との類似性を算出することができる。指標化された商品群のベクトル表現の指標との類似性を算出することにより、類似性の高い順からk(kは自然数)個の商品を取得し、ユーザに提示する場合等の計算時間を短縮することができる。なお、ベクトル表現間の類似性の判断は、例えばベクトル表現間の距離に基づいて評価されてもよい。上述のように、例えばFAISS等のアルゴリズムを用いて指標化することにより、ベクトル表現間の類似性をユークリッド距離、コサイン類似度等の公知の指標に基づき、より効果的に評価することができる。
【0032】
次に、第1モデル16により生成されたタイトルの類似する商品の組み合わせ(ペア)に関するデータは、第2モデル18により処理される。第2モデル18では、例えば、2つの商品情報の組み合わせからベクトル表現を生成するエンコーダ(以下、「第2エンコーダ」ともいう。)としてクロスエンコーダが用いられる。クロスエンコーダにより、タイトルの類似する商品の組み合わせに関するデータをクロスエンコーダに含まれるBERT等によりエンコードして組み合わせのベクトル表現を生成する。
【0033】
本開示の実施形態に係るクロスエンコーダには、BERT上に分類層(Classifier)が設けられており、生成された組み合わせに関するベクトル表現が分類層に供給され、ベクトル表現が表す2つの商品が同じ製品を示しているか否かが判断される。例えば、分類層により、2つの商品が同じ製品を示しているか否かについて、定量的なスコアが出力され、スコアの大きさにより同じ製品を示しているか否かが判断される。
【0034】
こうして、第1モデル16により類似性が高いと判断される商品の組み合わせに対し、第2モデル18は、類似性の判断の出力精度の高いクロスエンコーダを用いて、商品の各組み合わせに含まれる2つの商品が同じ商品を示しているか否かを判断する。従って、第2モデル18からの出力は、第1モデル16からの出力に比べ、より類似性の高い商品の組み合わせが含まれる。
【0035】
続いて、第2モデル18により出力される商品の組み合わせを教師データとして、第3モデル19の学習を実行する。第3モデル19は例えばバイエンコーダ等、第1モデル16で使用されるエンコーダを含んでいてもよい。なお、第3モデル19がエンコーダとしてバイエンコーダを含む場合には、第3モデルに含まれるバイエンコーダは新バイエンコーダと称されてもよい。また、第3モデル19で用いられるエンコーダは第2モデル18で用いられるエンコーダより類似性に関する出力精度が低くてもよい。第3モデル19は、例えば電子商取引のプラットフォームに出品された新規の商品を、電子商取引の商品カタログの他の類似する商品と関連付けて追加する際に用いられてもよい。新規で出品される商品については、例えば電子商取引のプラットフォームの提供元から、類似する商品に関するアノテーションが付されていてもよい。例えば、類似する商品について、マニュアルによりアノテーションが付されてもよい。
【0036】
上述のように、第3モデル19の学習にあたり、まず、関連する商品を第1モデル16により抽出し、第1モデル16で関連すると判断された商品の組み合わせの中で、第2モデル18を用いてさらに類似性の高い商品の組み合わせを出力する。また、例えば、第1モデル16及び第2モデル18のエンコーダとして、それぞれバイエンコーダ及びクロスエンコーダが用いられている場合、まず、新規の商品に類似する複数の商品をバイエンコーダにより判断する。バイエンコーダにより類似すると判断された商品の組み合わせに対し、第2モデル18においてクロスエンコーダを適用し、より類似性の精度の高い組み合わせを出力する。クロスエンコーダにより類似性が高いと判断された商品の組み合わせに対し、ポジティブとアノテーションされ、第3モデル19の学習において教師データとして用いられる。
【0037】
上記のように、例えば電子商取引のプラットフォームの提供元から、マニュアル等の方法により類似する商品に関するアノテーションが付されている場合がある。一般的には、マニュアルで付されたアノテーションは正確性が高く、教師データとして有効に利用することができる。しかしながら、本開示の実施形態に係る学習プロセスにおいては、マニュアルでアノテーションが付されたデータそのものよりもさらに正確性の高い教師データを生成することが可能である。すなわち、本開示の実施形態に係る学習プロセスにおいては、マニュアルによるアノテーションにより、類似性が高いと判断された商品の組み合わせが、クロスエンコーダにより類似性が高いと判断されたか否かを判断してもよい。マニュアルで類似性が高いとアノテーションされている(「ヒューマンアノテーション」とも称する)商品の組み合わせは、クロスエンコーダによっても類似性が高いと判断される場合、いずれにおいても類似性が高いと判断されているので類似性に関する確度が高い。従って、マニュアルでのみ類似性が高いと判断されている商品の組み合わせや、クロスエンコーダのみにより類似性が高いと判断されている商品の組み合わせに比べ、より類似性が高く優れた教師データとして用いることができる。
【0038】
また、マニュアル及びクロスエンコーダのいずれもよりポジティブにアノテーションされた(「インターセクトアノテーション」とも称する)商品の組み合わせのデータは、マニュアルまたはクロスエンコーダのいずれか一方によりポジティブにアノテーションされたデータのそれぞれよりもデータ量が小さくなる。従って、データ量が小さい教師データを用いることができるので、学習に要するコンピュータ資源や計算時間を低減することができる。一方、マニュアルによるアノテーションが付されていない商品については、クロスエンコーダによりアノテーションが付された商品の組み合わせを用いることができる。上述のようにクロスエンコーダによりアノテーションが付されたデータも、類似性に関する出力精度は高く、有効に利用することができる。クロスエンコーダによりアノテーションが付されたデータを利用する場合には、マニュアルによるアノテーションを行う必要がないという点で有効である。なお、第3モデル19の学習が完了すると、第1モデル16等と同様に、例えばFAISSを利用して、各商品の組み合わせを低次元化して指標化してもよい。
【0039】
例えば、新規の商品が出品者より出品される場合、上記説明してきたプロセスに沿って、以下のような処理が行われてもよい。
【0040】
まず、新規の商品の出品を受け付ける。次に、例えばエンコーダとしてバイエンコーダを用いる第1モデル16により、新規の商品の商品情報に基づくベクトル表現(以下「第3ベクトル表現」ともいう。)が生成される。生成されたベクトル表現と、第1モデル16のバイエンコーダ等を用いて生成された電子商取引サービスで利用される商品カタログ内の商品のベクトル表現との間の類似性に基づき、新規に出品された商品との類似性の高い商品との新規の組み合わせを含むデータ(以下「第3データ」ともいう。)が生成される。生成された新規の組み合わせについて、第2モデル18を用いて、すなわち、第2モデル18においてエンコーダとして用いられるクロスエンコーダ等を用いて、新規の組み合わせに含まれる2つの商品の商品情報の組み合わせからベクトル表現(以下「第4ベクトル表現」ともいう。)が生成される。生成されたベクトル表現に基づいて、類似性の高い商品の組み合わせを含むデータ(以下「第4データ」ともいう。)が生成される。生成されたデータに含まれる類似性の高い商品の組み合わせのそれぞれをポジティブであるとアノテーションすることにより、クロスエンコーダアノテーションデータ(以下「第2エンコーダアノテーションデータ」ともいう。)が生成される。生成されたクロスエンコーダアノテーションデータを教師データとして用いて、第3モデル19の学習を実行する。
【0041】
こうして、新規の商品が出品された際に、第3モデル19のさらなる学習を実行し、より多くの商品を取り扱うことができる第3モデル19を構築することができる。なお、新たな学習は、新規の商品が出品された際に都度実行されてもよいし、所定数の新規の商品が出品される毎に実行されてもよい。あるいは、所定期間毎に学習が実行されてもよい。また、新規の商品が出品される際に、例えば電子商取引サービスの提供元により、例えばマニュアル等の方法によりアノテーションが実行されてもよい。また、出品時に出品者により付される商品情報に誤りが含まれる可能性があり、電子商取引プラットフォームの提供元による検査が実行されることもある。検査された結果も考慮してマニュアルによるアノテーションが実行されてもよく、その場合、マニュアルによるアノテーションデータの精度はより向上される。
【0042】
また、例えば、電子商取引サービスに対し、購買者等のユーザが関連商品を検索する場合に、上記説明してきたプロセスにより構築された学習モデルを用いて、以下のように検索結果を出力してもよい。まず、ユーザからの検索条件の入力が受け付けられる。次に、上記の第3モデル19により、すなわち、第3モデル19においてエンコーダとして用いられるバイエンコーダ等により、検索条件のベクトル表現が生成される。複数の商品の商品情報のベクトル表現と、第3モデル19により生成された検索条件のベクトル表現との類似性に基づいて、検索条件に該当する商品の商品情報が生成される。生成された検索条件に該当する商品の商品情報が、検索結果として、ユーザに提示される。
【0043】
以上説明してきたように、本開示の実施形態に係る学習プロセスにより、電子商取引プラットフォームに用いられる数理モデルの学習に用いられる教師データの精度を向上することができる。従って、例えば数百万以上の商品を取り扱う電子商取引サービスにおいても効果的に学習を実行することが可能となる。また、上記で例示してきたように、バイエンコーダを含む第1モデル16を用いて類似性が高いと判断された商品の組み合わせについて、クロスエンコーダを含む第2モデル18により組み合わせについてのベクトル表現を用いて類似性を判断することにより生成されるデータを教師データとすることにより、学習プロセスにかかるコンピュータ資源や計算時間の抑制が可能となる。また、商品マッチングを効率良く実行することもできる。
【0044】
図4を参照して、本実施形態に係る学習装置10により実行される学習処理を説明する。
図4は、本実施形態により実行される学習処理のフローチャートの一例である。
【0045】
はじめに、第1モデル16を用いて、第1ベクトル表現を生成し、第1ベクトル表現間の類似性に基づき、第1データを生成する(S402)。本開示の実施形態において、第1モデル16は、商品について記述された商品情報からベクトル表現を生成する。また、第1データは、複数の商品の中から類似性の高い商品の組み合わせを1以上含む。
【0046】
次に、第2モデル18を用いて第2ベクトル表現を生成し、第2ベクトル表現に基づいて、類似性の高い商品の組み合わせを含む第2データを生成する(S404)。本開示の実施形態において、第2モデル18は、2つの商品情報の組み合わせからベクトル表現を生成する。また、第2ベクトル表現は、第1データに含まれる前記商品の組み合わせの各々に含まれる2つの商品の商品情報の組み合わせから生成される。
【0047】
続いて、第2データを教師データとして用いて、第3モデル19の学習を実行する(S406)。本開示の実施形態において、第3モデル19は、商品情報からベクトル表現を生成する。
【0048】
次に、
図5を参照して、本実施形態に係る例示の新規の商品の出品時の処理について説明する。
図5は、本実施形態により実行される新規の商品の出品時の処理のフローチャートの一例である。
【0049】
はじめに、新規の商品の出品を受け付ける(S502)。
【0050】
次に、第1モデル16(例えばエンコーダとしてバイエンコーダを含む数理モデル)を用いて、新規の商品の商品情報に基づく第3ベクトル表現を生成する(S504)。
【0051】
続いて、第3ベクトル表現と第1ベクトル表現との間の類似性に基づき、新規の商品との類似性の高い商品との新規の組み合わせを含む第3データを生成する(S506)。
【0052】
次に、第2モデル18(例えばエンコーダとしてクロスエンコーダを含む数理モデル)を用いて、第3データに含まれる新規の組み合わせに含まれる2つの商品の商品情報の組み合わせから第4ベクトル表現を生成する(S508)。
【0053】
続いて、第4ベクトル表現に基づいて、類似性の高い商品の組み合わせを含む第4データを生成する(S510)。
【0054】
次に、第4データに含まれる類似性の高い商品の組み合わせのそれぞれをポジティブであるとアノテーションすることにより、第2エンコーダアノテーションデータを生成する(S512)。第2モデル18のエンコーダとして例えばクロスエンコーダが用いられる場合には、第2エンコーダアノテーションデータはクロスエンコーダアノテーションデータであってもよい。
【0055】
続いて、第2エンコーダアノテーションデータを教師データとして用いて第3モデル19の学習を実行する(S514)。
【0056】
次に、
図6を参照して、本実施形態に係る例示の関連商品の検索結果の出力処理について説明する。
図6は、本実施形態により実行される検索結果の出力処理のフローチャートの一例である。
【0057】
はじめに、ユーザから検索条件の入力を受け付ける(S602)。
【0058】
次に、上述の第3モデル19により検索条件のベクトル表現を生成する(S604)。
【0059】
続いて、それぞれの複数の商品の商品情報のベクトル表現と、第3モデル19により生成された検索条件のベクトル表現との類似性に基づいて、検索条件に該当する商品の商品情報を取得する(S606)。
【0060】
次に、取得された商品の商品情報をユーザに提示する(S608)。
【0061】
以上、詳述したとおり、本開示の実施形態に係る電子商取引における商品のマッチングに用いられる数理モデルの学習方法は、複数の商品の中から、所定の検索条件に該当する商品を検索する際に用いられるモデルを学習させる方法である。本開示の実施形態においては、商品について記述された商品情報からベクトル表現を生成する第1モデル16を用いて、複数の商品の商品情報に基づく第1ベクトル表現を生成し、第1ベクトル表現間の類似性に基づき、複数の商品の中から類似性の高い商品の組み合わせを1以上含む第1データを生成する。また、2つの商品情報の組み合わせからベクトル表現を生成する第2モデル18を用いて、第1データに含まれる商品の組み合わせの各々に含まれる2つの商品の商品情報の組み合わせから第2ベクトル表現を生成し、第2ベクトル表現に基づいて、類似性の高い商品の組み合わせを含む第2データを生成する。さらに、第2データを教師データとして用いて、商品情報からベクトル表現を生成する第3モデル19の学習を実行する。
【0062】
従って、本開示の実施形態に係る数理モデルの学習プロセスにおいては、商品情報に基づき生成される商品情報のベクトル表現から、類似性の高い商品の組み合わせを含むデータの生成を第1モデル16により実行し、第2モデル18により、商品の組み合わせに基づくベクトル表現を生成し、類似性の高い組み合わせを生成する。第1モデル16と第2モデル18を組み合わせて用いることにより、例えば第1モデル16のみを用いる場合に比べ、類似性の精度を向上することができる。従って、第1モデル16のみを用いる場合に比べ、類似性の高い商品の組み合わせを含むデータを生成することができる。また、第1モデル16により生成された組み合わせを含むデータを用いて第2モデル18により組み合わせに関するベクトル表現を生成する。これにより、例えば第2モデル18のみを用いて商品情報に基づき類似性の高い商品の組み合わせに関するデータを生成する場合に比べ、第2モデル18で処理するデータの量を低減することができるので、コンピュータ資源や計算時間を軽減することができる。さらに、こうして生成された類似性の高さに関する精度の高い商品の組み合わせに関するデータを教師データとして学習を実行することにより、商品のマッチングの精度の高い学習モデル(第3モデル19)を構築することができる。
【0063】
また、本開示の実施形態において学習された第3モデル19を用いて、例えば新規の商品が出品された際に、商品カタログに含まれる複数の商品のうち、出品された商品と類似性の高い商品を、出品された商品と関連付けることができる。また、例えばユーザがある商品の検索クエリを入力した場合に、本開示の実施形態において学習された第3モデル19を用いて、検索クエリに含まれる検索条件に関連する商品をユーザに対し提示することができる。本開示の実施形態においては、第3モデル19の商品のマッチングの精度を向上することができるので、例えば、出品された商品と類似性の高い商品を精度良く関連付けることができる。また、本開示の実施形態において学習された第3モデル19を用いることにより、電子商取引におけるユーザの検索時において、ユーザに提示される検索結果の精度を向上することができる。
【0064】
さらに、本開示の実施形態に係る学習プロセスにおいては、例えば、第2モデル18においてベクトル表現を生成するエンコーダとしては、第1モデル16においてベクトル表現を生成するエンコーダに比べ、商品間の類似性に関する出力精度が高いエンコーダが用いられてもよい。具体的には、例えば、第1モデル16においてはバイエンコーダ、第2モデル18においてはクロスエンコーダ、第3モデル19においてはバイエンコーダが用いられてもよい。
【0065】
上述のように、電子商取引における商品カタログに対し、バイエンコーダやクロスエンコーダ等のエンコーダを含む深層学習モデルを用いて商品間の類似性を算出し、出品された商品に対し類似する商品の関連付けを行い、あるいはユーザから入力される検索条件に類似する商品の提示に用いられてきた。クロスエンコーダは商品間の類似性に関する出力精度がバイエンコーダより高い反面、バイエンコーダに比べ多大なコンピュータ資源や計算時間が必要となる可能性がある。
【0066】
本開示の実施形態に係る学習プロセスにおいては、異なるエンコーダをベースとする複数の数理モデルを組み合わせて用いている。具体的には、例えば第1モデル16としてバイエンコーダを含む数理モデルを用い、第2モデル18としてクロスエンコーダを含む数理モデルを用いている。まずバイエンコーダにより多数の商品間の類似性を比較的短時間で算出し、算出された商品間の類似性に基づき、クロスエンコーダにより類似性の高い商品の組み合わせを算出し、類似性の精度の高い出力結果を得る。これにより、必要となるコンピュータ資源や計算時間等を抑制しつつ、出力されるデータの精度を向上することができる。
【0067】
こうして得られるデータを教師データとして用いて学習を実行し類似性を出力するモデルを構築することにより、精度の高いモデルを効率良く構築することができる。特に、本開示の実施形態に係る学習プロセスにより、より精度の高く、より少ない教師データにより学習モデルを構築することができる。また、商品情報に基づく商品のマニュアルによるアノテーションはコストや時間がかかるが、本開示の実施形態に係る学習プロセスにおいては、教師データは、一部または全ての商品についてマニュアルによるアノテーションが存在しない場合にも生成することができる。また、一部の商品についてマニュアルによるアノテーションが存在する場合には、教師データの精度を向上することができる。従って、特に電子商取引のように、新規の商品が頻繁に出品されるような環境において、マニュアルによるアノテーションを経ずに学習モデルを構築できるので有効である。
【0068】
図7A及び
図7Bを参照して、本開示の実施形態に係る学習モデルを利用して実行される学習プロセスにつき検証した結果を説明する。本実験においては、本出願人の自社内の電子商取引のプラットフォームに格納されるデータを利用した。データに含まれる各商品のエントリーは、各出品者により提供された、日本語で記述されたプロダクトID、タイトル、説明文等を含んでいてもよい。また、同じ商品については同じプロダクトIDが付されてもよい。本実験においては、合計で1億超の商品のデータが用いられた。出品者により商品説明の記述内容や記述量等にバラつきがあるので、商品のタイトルのみを学習で利用した。
【0069】
バイエンコーダ及びクロスエンコーダを用いたモデルとしてはHugging Face社のBERTベースの日本語用のHuggingfaceが用いられた。任意の10万の商品に対応する検索クエリに対し、バイエンコーダをベースとするモデル(第1モデル16に相当)を用いて検索し、検索結果で得られる上位50件の商品情報を取得した。検索結果(すなわち、10万*50=500万個の商品分の商品のマッチング情報)について、マニュアルによるアノテーションにおいてポジティブとアノテーションされた商品の組み合わせ、クロスエンコーダを適用した場合にポジティブにアノテーションされる商品の組み合わせ、及びマニュアルによりポジティブにアノテーションされた組み合わせのうちクロスエンコーダによってもポジティブにアノテーションされた組み合わせについて検証し、正確性を比較した。
【0070】
図7Aは、マニュアルによるアノテーションデータが利用できる場合の評価結果を示す。
図7Aには、マニュアルによるアノテーションデータによるマッチングの正確性(Baseline)と、マニュアルによるアノテーションとクロスエンコーダによるアノテーションのいずれにおいてもポジティブにアノテーションが付されたマッチングの正確性(Intersect Annotation)の評価結果を比較して示す。正確性は、検索クエリに応じた検索結果の上位50件の商品のうち、上位1つ目の商品が、検索クエリで示される商品と同一である商品の割合で評価された。
図7Aに示すように、マニュアルによるアノテーションデータがある場合、マニュアルによるアノテーションの正確性が約0.736であった。一方、マニュアルによるアノテーションに加えクロスエンコーダによりポジティブにアノテーションされたデータの正確性は約0.758であった。従って、クロスエンコーダによるアノテーションを考慮することにより正確性を約2%向上することができた。
【0071】
図7Bは、マニュアルによるアノテーションデータが無い場合の評価結果を示す。
図7Bには、バイエンコーダ(第1モデル16に相当)による検索結果(Baseline)と、クロスエンコーダによる検索結果(Machine Annotation)の正確性の評価結果を示す。
図7Aを参照して上述した例と同様に、
図7Bにおいても、各モデルにおいて、上位1つ目の商品の正確性が評価された。バイエンコーダによる検索結果の上位1つ目の商品の組み合わせの正確性は約0.699であったが、さらにクロスエンコーダを適用することにより、正確性が約0.742に、約4%向上することができた。
【0072】
なお、
図7Aには各モデルの教師データのデータサイズの大きさも併せて示す。教師データのデータサイズは、上記500万個の商品のマッチング情報のうち、マニュアルによりポジティブにアノテーションが付されたデータは113374個であったが、さらにクロスエンコーダによってもポジティブにアノテーションされたデータは84688個であった。すなわち、教師データのサイズは小さくなったが正確性を向上することができた。一般的には、機械学習においては、教師データのサイズを大きくすることにより、モデルの精度が向上されるが、教師データのサイズが大きくなるほど学習に必要なコンピュータ資源や計算時間が大きくなる。本実験においては、教師データとして、サイズが小さくても商品の類似性の精度が高いデータを用いることにより、出力結果の正確性を向上することができた。
【0073】
図7Bにおいても同様に各モデルの教師データのサイズを示す。バイエンコーダのモデルの教師データのサイズは、10万個の検索クエリのそれぞれについて得られる上位50個の検索結果のうちの上位1つ目の商品との組み合わせのデータサイズであるので10万個であった。また、クロスエンコーダに基づくモデルの教師データのデータサイズは、500万個の組み合わせについてクロスエンコーダによってもポジティブにアノテーションされた組み合わせであり、107059個であった。
図7Aを参照して上述のマニュアル及びクロスエンコーダによりポジティブにアノテーションされた84688個のデータは、言い換えると、
図7Bに示す107059個のデータのうち、マニュアルによってもポジティブにアノテーションされたデータに相当する。
【0074】
図7A及び
図7Bを参照して説明してきたように、本実験により、バイエンコーダ(第1モデル16)により類似性が高いと判断される商品の組み合わせに対し、さらにクロスエンコーダ(第2モデル18)を適用することにより、商品マッチングに関する正確性を向上することができることが確認された。また、さらに、マニュアルによるアノテーションが利用できる場合には、マニュアル及びクロスエンコーダによりポジティブとアノテーションされた類似性の高い商品の組み合わせを取得することができ、正確性を向上することができることが確認された。上述のように、取得されたデータを教師データとすることにより、学習モデル(第3モデル19)の精度を向上することができる。また、マニュアルによりポジティブにアノテーションされたデータ及びクロスエンコーダによりポジティブにアノテーションされたデータのいずれもよりもデータサイズを小さくすることができるので、学習にかかるコンピュータ資源や計算時間を低減することができる。
【0075】
上述の本実施形態に係る学習プロセスは、学習装置10により実施される場合を例に説明したが、本実施形態の構成はこれに限らない。例えば、学習プロセスにおける一部の処理を他の演算装置で実行することも可能である。例えば、一部の処理をクラウドサーバ等のサーバを用いて実行してもよい。
【0076】
また、ある実施形態においては、本実施形態に係る学習プロセスにより学習された第3モデルを用いて、さらに学習プロセスを実行してもよい。具体的には、例えば、本実施形態に係る第3モデルを新しい第1モデルとし、新しい第1モデルを用いて、複数の商品の商品情報からベクトル表現(新しい第1ベクトル表現)を生成し、新しい第1ベクトル表現間の類似性に基づき、複数の商品間の中から類似性の高い商品の組み合わせを1以上含むデータ(新しい第1データ)を生成し、例えば本実施形態に係る第2モデルを用いて、新しい第1データに含まれる商品の組み合わせの各々に含まれる2つの商品の商品情報の組み合わせからベクトル表現(新しい第2ベクトル表現)を生成し、新しい第2ベクトル表現に基づいて、類似性の高い商品の組み合わせを含むデータ(新しい第2データ)を生成し、新しい第2データを教師データとして用いて、新しい第3モデルの学習を実行してもよい。
【0077】
こうして生成された新しい第3モデルは、新しい第1モデルとして、本実施形態に係る学習プロセスが既に実行された第3モデルを用いているので、類似性の出力精度をさらに向上することができる。この変形例においては、特に、第1エンコーダ及び第3エンコーダ(第3モデルに含まれるエンコーダ)としてバイエンコーダが用いられている場合に、第3モデルを新しい第1モデルとして比較的容易に適用することができるので有効である。なお、上述の新しい第1モデルとして本実施形態に係る第3モデルを用い、新しい第1モデル及び新しい第3モデルとしてバイエンコーダを含む学習モデルを用いる場合、新しい第2モデルとしてクロスエンコーダを含む学習モデルが用いられてもよい。
【0078】
また、ある実施形態においては、異なる商品カテゴリに対応するドメイン毎に本実施形態に係る学習が実行されてもよい。例えば、被服の商品カテゴリに対応するドメインに属する複数の商品について、本実施形態に係る第1モデル、第2モデル、及び第3モデルの学習が実行されてもよい。あるいは、例えば食品の商品カテゴリに対応するドメインに属する複数の商品について、本実施形態に係る第1モデル、第2モデル、及び第3モデルの学習が実行されてもよい。また、商品カテゴリに対応するドメイン毎に学習を実行した場合にも、上記同様に、学習された第3モデルを新しい第1モデルとして用いて、さらに学習を行い、新しい第2モデルや第3モデルが生成されてもよい。
【0079】
あるいは、ある商品カテゴリに対応するドメインで学習された学習モデルが他の商品カテゴリに対応するドメインでの学習に用いられてもよい。例えば、ある商品カテゴリに対応するドメインに属する複数の商品の商品情報を用いて学習された第2モデルを用いて、他の商品カテゴリに対応するドメインに属する商品について学習された第1モデルにより出力される第1データに基づき、第2データを生成してもよい。さらに、こうして得られた第2データに基づき、上記他の商品カテゴリに対応するドメインに属する商品の商品情報により学習された第3モデルを用いて、学習を行ってもよい。例えば、第1モデル及び第3モデルとして被服のカテゴリに対応するドメインに属する商品の商品情報を用いて学習された第1モデル及び第3モデル、また、第2モデルとして、食品のカテゴリに対応するドメインに属する商品の商品情報を用いて学習された第2モデル、をそれぞれ用いて本実施形態に係る学習プロセスを実行してもよい。
【0080】
また、上記同様に、ある商品カテゴリに対応するドメインで学習された第3モデルを上述の新しい第1モデルとして用いて、新たに学習を行い、新しい第2モデル及び第3モデルの学習を実行してもよい。例えば、被服のカテゴリに対応するドメインに属する商品の商品情報を用いて学習された第3モデルを新しい第1モデルとして、食品のカテゴリに対応するドメインに属する商品の商品情報を用いて学習された第2モデル、及び被服のカテゴリに対応するドメインに属する商品の商品情報を用いて学習された第3モデルを、それぞれ新しい第2モデル及び第3モデルとして用いて、学習プロセスが実行されてもよい。
【0081】
上述のように互いに異なるカテゴリに対応するドメインに属する商品の商品情報を用いて学習された学習モデルを、カテゴリに拘わらず用いることも可能であり、これにより、例えば各カテゴリについてそれぞれ学習プロセスを実行する場合に比べ、学習プロセスを効率良く実行することが可能となるという点で有効である。なお、上記の変形例は例示であり、例えば、被服や食品に限られず他のカテゴリに対応するドメインに属する商品について学習する場合にも同様に、上記のような柔軟な学習プロセスを実行することができる。
【0082】
以上、具体例を参照しつつ本実施形態について説明した。しかし、本開示はこれらの具体例に限定されるものではない。これら具体例に、当業者が適宜設計変更を加えたものも、本開示の特徴を備えている限り、本開示の範囲に包含される。前述した各具体例が備える各要素およびその配置、条件、形状などは、例示したものに限定されるわけではなく適宜変更することができる。前述した各具体例が備える各要素は、技術的な矛盾が生じない限り、適宜組み合わせを変えることができる。
【符号の説明】
【0083】
10 学習装置
10a プロセッサ
10b メモリ
10c 通信部
10d 入力部
10e 表示部
12 取得部
14 入力部
16 第1モデル
18 第2モデル
19 第3モデル
DB データベース