IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 楽天株式会社の特許一覧

特開2024-34200情報処理装置、学習モデルの生成方法、及び学習モデル生成のためのプログラム
<>
  • 特開-情報処理装置、学習モデルの生成方法、及び学習モデル生成のためのプログラム 図1
  • 特開-情報処理装置、学習モデルの生成方法、及び学習モデル生成のためのプログラム 図2
  • 特開-情報処理装置、学習モデルの生成方法、及び学習モデル生成のためのプログラム 図3
  • 特開-情報処理装置、学習モデルの生成方法、及び学習モデル生成のためのプログラム 図4
  • 特開-情報処理装置、学習モデルの生成方法、及び学習モデル生成のためのプログラム 図5
  • 特開-情報処理装置、学習モデルの生成方法、及び学習モデル生成のためのプログラム 図6
  • 特開-情報処理装置、学習モデルの生成方法、及び学習モデル生成のためのプログラム 図7
  • 特開-情報処理装置、学習モデルの生成方法、及び学習モデル生成のためのプログラム 図8
  • 特開-情報処理装置、学習モデルの生成方法、及び学習モデル生成のためのプログラム 図9
  • 特開-情報処理装置、学習モデルの生成方法、及び学習モデル生成のためのプログラム 図10
  • 特開-情報処理装置、学習モデルの生成方法、及び学習モデル生成のためのプログラム 図11
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024034200
(43)【公開日】2024-03-13
(54)【発明の名称】情報処理装置、学習モデルの生成方法、及び学習モデル生成のためのプログラム
(51)【国際特許分類】
   G06F 16/908 20190101AFI20240306BHJP
【FI】
G06F16/908
【審査請求】未請求
【請求項の数】13
【出願形態】OL
(21)【出願番号】P 2022138288
(22)【出願日】2022-08-31
(71)【出願人】
【識別番号】399037405
【氏名又は名称】楽天グループ株式会社
(74)【代理人】
【識別番号】100105957
【弁理士】
【氏名又は名称】恩田 誠
(74)【代理人】
【識別番号】100068755
【弁理士】
【氏名又は名称】恩田 博宣
(72)【発明者】
【氏名】橋本 力
(72)【発明者】
【氏名】カマー ゴータム
【テーマコード(参考)】
5B175
【Fターム(参考)】
5B175FA01
5B175FB03
5B175FB04
(57)【要約】
【課題】検索対象の数が多い場合にも高い精度が得られる学習モデルを生成するための情報処理装置、学習モデルの生成方法、及び学習モデル生成のためのプログラムを提供する。
【解決手段】学習モデル39を生成するための情報処理装置30は、プロセッサ32とメモリ34とを備える。メモリ34には、対象データ37が格納されている。学習モデル39は、対象を検索するために入力された検索クエリに基づく対象の属性情報を出力するように構成される。プロセッサ32は、対象データ37を与えて1以上の訓練用タスクを実行することによって学習モデル39に含まれる複数のパラメータのうちの一部を更新する処理を実行するように構成される。
【選択図】図1
【特許請求の範囲】
【請求項1】
学習モデルを生成するための情報処理装置であって、前記学習モデルは、対象を検索するために入力された検索クエリに基づく前記対象の属性情報を出力するように構成され、
前記情報処理装置は、1以上のプロセッサと1以上のメモリとを備え、
前記メモリには、対象データが格納されており、
前記対象データは、複数の対象データセットを含み、前記各対象データセットは、対象データ項目として、前記対象の識別情報と、当該対象の属性情報と、を含み、
前記プロセッサは、前記対象データを与えて1以上の訓練用タスクを実行することにより、前記学習モデルに含まれる複数のパラメータのうちの一部を更新する処理を実行するように構成される、
情報処理装置。
【請求項2】
前記属性情報は、前記対象の属性及び当該属性に対する属性値を含み、
前記1以上の訓練用タスクは、
前記識別情報を入力して前記属性値及び当該属性値に対応する前記属性を出力するように構成される第1属性タスクと、
前記識別情報を入力して前記属性を出力するように構成される第2属性タスクと、
前記識別情報を入力して前記属性値を出力するように構成される第3属性タスクと、のうち、少なくとも1つを含む、
請求項1に記載の情報処理装置。
【請求項3】
前記メモリには検索データが格納されており、
前記検索データは、複数の検索データセットを含み、前記各検索データセットは、検索データ項目として、入力された前記検索クエリと、当該検索クエリに基づいて検索された検索結果の中から選択された前記対象の前記属性情報とを含み、
前記プロセッサは、さらに、前記検索データを与えて1以上の訓練用タスクを実行することにより、前記複数のパラメータのうちの一部を更新する処理を実行するように構成される、
請求項1に記載の情報処理装置。
【請求項4】
前記属性情報は、前記対象の属性及び当該属性に対する属性値を含み、
前記検索データが与えられる前記1以上の訓練用タスクは、
前記検索クエリを入力して前記属性値及び当該属性値に対応する前記属性を出力するように構成される第1検索意図タスクと、
前記検索クエリを入力して前記属性を出力するように構成される第2検索意図タスクと、
前記検索クエリを入力して前記属性値を出力するように構成される第3検索意図タスクと、のうち、少なくとも1つを含む、
請求項3に記載の情報処理装置。
【請求項5】
前記各対象データセットは、前記対象データ項目として、前記対象を分類するためのジャンルパスを更に含み、
前記ジャンルパスは、前記対象が属する複数の階層を示し、
前記対象データが与えられる前記1以上の訓練用タスクは複数のジャンルタスクを含み、
前記各ジャンルタスクは、前記識別情報を入力して対応する前記階層を出力するように構成される、
請求項1に記載の情報処理装置。
【請求項6】
前記識別情報は、前記対象の名称、当該対象の1以上の属性、及び前記各属性に対応する属性値のうち1以上を含む、
請求項1に記載の情報処理装置。
【請求項7】
前記対象は商品又はサービスである、
請求項1に記載の情報処理装置。
【請求項8】
前記識別情報は、前記商品又はサービスの売り出しのための宣伝用文言を含む、
請求項7に記載の情報処理装置。
【請求項9】
前記対象データセットの数が前記検索データセットの数よりも大きい、
請求項3に記載の情報処理装置。
【請求項10】
前記学習モデルは、自然言語処理用の事前訓練済みニューラルネットワークと、1以上のアダプタモジュールと、を含み、
前記各訓練用タスクは、対応する1つの前記アダプタモジュールのパラメータを更新するように構成される、
請求項1~9のうち何れか一項に記載の情報処理装置。
【請求項11】
前記1以上の訓練用タスクは複数の訓練用タスクを含み、
前記学習モデルは、複数の前記アダプタモジュールを含み、
前記学習モデルは、前記複数のアダプタモジュールの出力を入力すると、入力された複数の出力結果を1つに結合するように構成されるアダプタ結合層を含む、
請求項10に記載の情報処理装置。
【請求項12】
情報処理装置が実行する学習モデルの生成方法であって、前記学習モデルは、対象を検索するために入力された検索クエリに基づく前記対象の属性情報を出力するように構成され、
前記方法は、
対象データを取得することであって、前記対象データは、複数の対象データセットを含み、前記各対象データセットは、対象データ項目として、前記対象の識別情報と、当該対象の属性情報と、を含む、ことと、
1以上の訓練用タスクを定義することと、
前記対象データを与えて前記1以上の訓練用タスクを実行することにより、前記学習モデルに含まれる複数のパラメータのうちの一部を更新することと、
を含む、学習モデルの生成方法。
【請求項13】
学習モデル生成のためのプログラムであって、前記学習モデルは、対象を検索するために入力された検索クエリに基づく前記対象の属性情報を出力するように構成され、
前記プログラムは、1以上のコンピュータに、
対象データを取得することであって、前記対象データは、複数の対象データセットを含み、前記各対象データセットは、対象データ項目として、前記対象の識別情報と、当該対象の属性情報と、を含む、ことと、
前記対象データを与えて1以上の訓練用タスクを実行することにより、前記学習モデルに含まれる複数のパラメータのうちの一部を更新することと、
を実行させるための、学習モデル生成のためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、情報処理装置、学習モデルの生成方法、及び学習モデル生成のためのプログラムに関する。
【背景技術】
【0002】
特許文献1は、検索要求の属性をクエリに付与する検索方法を開示している。この方法では、クリックログに基づいて訓練データを作成する。クリックログは、ウェブ検索のために入力されたクエリと、検索結果であるリストから選択されたクリックURLとを含む。この訓練データは、クエリの検索要求属性を推定するための機械学習に用いられる。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2010-33377号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
検索エンジンに活用される機械学習モデルの作成には、上述のように、実際のクリックログを訓練データに使用するのが一般的である。しかし、例えば多種の商品を扱うショッピングサイトのように、検索する対象の数が多い場合、検索頻度の低い対象のログが十分に得られないことがある。その結果、所望の予測精度が得られない可能性がある。
【0005】
本開示は、検索対象の数が多い場合にも高い予測精度が得られる学習モデルを生成するための情報処理装置、学習モデルの生成方法、及び学習モデル生成のためのプログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
本開示の一態様に係る情報処理装置は、学習モデルを生成するための情報処理装置であって、前記学習モデルは、対象を検索するために入力された検索クエリに基づく前記対象の属性情報を出力するように構成され、前記情報処理装置は、1以上のプロセッサと1以上のメモリとを備え、前記メモリには、対象データが格納されており、前記対象データは、複数の対象データセットを含み、前記各対象データセットは、対象データ項目として、前記対象の識別情報と、当該対象の属性情報と、を含み、前記プロセッサは、前記対象データを与えて1以上の訓練用タスクを実行することにより、前記学習モデルに含まれる複数のパラメータのうちの一部を更新する処理を実行するように構成される。
【0007】
本開示の一態様に係る方法は、情報処理装置が実行する学習モデルの生成方法であって、前記学習モデルは、対象を検索するために入力された検索クエリに基づく前記対象の属性情報を出力するように構成され、前記方法は、対象データを取得することであって、前記対象データは、複数の対象データセットを含み、前記各対象データセットは、対象データ項目として、前記対象の識別情報と、当該対象の属性情報と、を含む、ことと、1以上の訓練用タスクを定義することと、前記対象データを与えて前記1以上の訓練用タスクを実行することにより、前記学習モデルに含まれる複数のパラメータのうちの一部を更新することと、を含む、学習モデルの生成方法。
【0008】
本開示の一態様に係るプログラムは、学習モデル生成のためのプログラムであって、前記学習モデルは、対象を検索するために入力された検索クエリの検索意図に沿った前記対象の属性情報を出力するように構成され、前記プログラムは、1以上のコンピュータに、対象データを取得することであって、前記対象データは、複数の対象データセットを含み、前記各対象データセットは、対象データ項目として、前記対象の識別情報と、当該対象の属性情報と、を含む、ことと、前記対象データを与えて1以上の訓練用タスクを実行することにより、前記学習モデルに含まれる複数のパラメータのうちの一部を更新することと、を実行させる。
【図面の簡単な説明】
【0009】
図1図1は実施形態に係る情報処理装置を含むシステムの構成を示す図である。
図2図2は実施形態に係る対象テーブルの一例を示す図である。
図3図3は実施形態に係るログテーブルの一例を示す図である。
図4図4は実施形態に係るニューラルネットワークの説明図である。
図5図5図4に含まれるアダプタモジュール及びアダプタ結合層の説明図である。
図6図6は実施形態に係る検索タスクの説明図である。
図7図7は実施形態に係る属性タスクの説明図である。
図8図8は実施形態に係るジャンルタスクの説明図である。
図9図9は実施形態に係る学習モデルの生成方法を示すフローチャートである。
図10図10は第1の実験結果を示す表である。
図11図11は第2の実験結果を示す表である。
【発明を実施するための形態】
【0010】
本開示の学習モデルを生成するための情報処理装置、学習モデルの生成方法、及び学習モデル生成のためのプログラムの例を、以下に図面を参照しつつ説明する。
[システムの概要]
図1に示すように、本開示のシステム11は、検索サーバ20及び情報処理装置30を含む。システム11は、後述する学習モデルを生成するシステムである。検索サーバ20及び情報処理装置30は、コンピュータの一例である。検索サーバ20は、商品又はサービスを検索するため検索窓(例えば、テキストボックス)を有するウェブサイトを提供してもよい。ウェブサイトは、検索サーバ20とは別のウェブサーバにより提供されてもよい。
【0011】
ウェブサイトは、各種商品又はサービスを提供するための情報を提示するサイトである。ウェブサイトの一例として、複数の商品を販売するショッピングサイトがある。ウェブサイトで提供される商品又はサービスの例は、旅行プラン、宿泊施設、切符、チケット、書籍、雑誌、音楽、動画、映画、保険、又は証券であるが、これらに限られない。以下、検索対象となる商品又はサービスを「対象」という。
【0012】
1以上の端末13、検索サーバ20、及び情報処理装置30はネットワーク14を通じて互いに通信する。端末13は、例えば、スマートフォン、パーソナルコンピュータ、タブレットなどの情報処理装置である。ネットワーク14は、例えば、インターネット、WAN(Wide Area Network)、LAN(Local Area Network)、プロバイダ端末、無線通信網、無線基地局、専用回線等を含む。図1に示す各装置の全ての組み合わせが相互に通信可能である必要はなく、ネットワーク14は、一部にローカルなネットワークを含んでもよい。
【0013】
ユーザは、各端末13を通じてウェブサイトにアクセスした後、検索窓に任意の語句(1以上の単語またはフレーズなど)を入力することにより、複数の対象の中から所望の対象を選択するための検索を行う。検索窓に入力された語句を「検索クエリ」という。検索サーバ20は、検索クエリからユーザの検索意図を推測して、検索結果画面を端末13に出力する。検索結果は、例えば、複数の対象のリスト表示であってもよい。リスト表示される対象は、例えば各対象の詳細情報へのリンクを含んでもよい。検索結果は、各対象の情報を含むWebページのURLであってもよい。検索結果画面は、ユーザがリストから所望の対象を選択することができるように構成される。
【0014】
検索サーバ20は、プロセッサ22、メモリ24、および通信機26を備えるサーバ装置である。通信機26は、ネットワーク14を介して他の装置、例えば端末13、情報処理装置30、及びウェブサーバとの通信を可能とする。メモリ24には、検索プログラム25、対象データ27及び検索データ28が格納される。さらに、メモリ24には、情報処理装置30から取得した学習モデル29が格納される。検索データ28は、ユーザにより入力された検索クエリと、検索結果に基づいて選択された対象の属性情報とを含むデータである。検索データ28の詳細は、後述する。
【0015】
情報処理装置30は、プロセッサ32、メモリ34、および通信機36を備える装置である。情報処理装置30は、例えばサーバ装置のようなコンピュータである。通信機36は、ネットワーク14を介して他の装置、例えば端末13及び検索サーバ20との通信を可能とする。メモリ34には、機械学習のための学習プログラム35及び生成された学習モデル39が格納されている。情報処理装置30のプロセッサ32は、メモリ34に格納されている学習プログラム35を実行することで、学習モデル39を生成する。学習モデル39は、入力された検索クエリからユーザの検索意図を推測し、対象の属性情報を出力するモデルである。
【0016】
情報処理装置30は、定期的に、又は特定のタイミングで、あるいは、リアルタイムで、検索サーバ20から対象データ27及び検索データ28を取得して、対象データ37及び検索データ38としてメモリ34に格納する。情報処理装置30は、対象データ27と検索データ28とを異なるタイミングで取得してもよい。情報処理装置30は、検索サーバ20とは別の構成要素、例えば、コンピュータ、サーバ、またはストレージなどを経由して、対象データ27,検索データ28を取得してもよい。検索サーバ20において随時に更新される対象データ27及び検索データ28と区別するために、情報処理装置30に格納されたデータを対象データ37及び検索データ38と言う。
【0017】
対象データ37及び検索データ38は学習モデル39を生成するための訓練データとして使用される。対象データ37,検索データ38の全てを訓練データとする必要はなく、無作為に、又は特定の条件で選択された一部を訓練データとしてもよい。
【0018】
情報処理装置30は、学習モデル39を生成した後に、新たに対象データ27及び検索データ28をそれぞれ対象データ37及び検索データ38として取得してもよい。そして、新たな対象データ37,検索データ38を用いて追加の訓練を行うことにより、学習モデル39のパラメータが更新されてもよい。このように更新される学習モデル39と区別するために、検索サーバ20に格納された学習モデルを、学習モデル29と言う。学習モデル39が更新されなければ、学習モデル39は学習モデル29と実質的に等しい。
【0019】
プロセッサ22,32は、例えば、CPU、GPU、およびTPUのような演算ユニットを含む。プロセッサ22,32は、各種ソフトウェア処理を実行するように構成される処理回路である。処理回路は、ソフトウェア処理の少なくとも一部を処理する専用のハードウェア回路(たとえばASIC等)を備えてもよい。すなわち、ソフトウェア処理は、1又は複数のソフトウェア処理回路及び1又は複数の専用のハードウェア回路の少なくとも一方を備えた処理回路(processing circuitry)によって実行されればよい。
【0020】
メモリ24,34は、コンピュータ可読媒体である。メモリ24,34は、例えば、RAM(Random Access Memory)、HDD(Hard Disk Drive)、フラッシュメモリ、ROM(Read Only Memory)などの非一過性の記憶媒体を含む。プロセッサ22,32は、与えられる信号に応じて、又は、予め定められた条件が成立したことに応じて、それぞれメモリ24,34に格納されているプログラムに含まれる一連の命令を実行する。
【0021】
[検索システム]
図2に示すように、対象データ27は、例えば、対象のカタログテーブル27T(図2参照)を含む。図2のカタログテーブル27Tは、複数の対象データセットP1,P2・・・・Ptを含む。図2には、第1対象データセットP1及び第2対象データセットP2を例示している。
【0022】
カタログテーブル27Tは、対象データ項目として、例えば、各対象の「タイトル」と、「属性及びその属性に対する属性値」を含む。「属性及びその属性に対する属性値」は、以下、「属性:属性値」と表記する。カタログテーブル27Tは、対象データ項目として、さらに「ジャンルパス」を含んでもよい。
【0023】
図2に示すように、タイトルには、例えば、対象の名称、ブランド名、サイズ、又は色が含まれるが、これらに限られない。タイトルは、例えば名称、ブランド名、サイズ、及び色を全て含むような長い文字列であってもよい。このように、タイトルは、対象の属性(例えば、名称、ブランド名、サイズ、及び色など)を示す情報を複数含んでいてもよい。また、タイトルは、「オススメ」「送料無料」「ポイント10倍」のような、製品自体の属性ではない、例えば販売促進のための宣伝用文言を含んでもよい。これにより、対象の提供者は、ユーザに選択を促すための宣伝用文言をタイトルに含めることができる。タイトルには文字数の制限があってもよい。タイトルは、対象の名称を含むことから、対象の識別情報として用いられる。また、対象データ項目として、各対象の「タイトル」の代わりに識別情報(例えば、対象の名称等)を含めるようにしてもよい。
【0024】
属性は、対象のカテゴリまたは種類である。属性値は、属性の具体的な内容を示す。「属性:属性値」の例は、第1対象データセットP1に示すように、色:黒、代表色:グレー、ブランド名:RKTNであるが、これらに限られない。各対象につき、複数の属性を設定することができる。属性の設定数は対象によって異なってもよい。また、対象によって異なる属性を設定することができる。属性及び属性値のペアは、属性情報として用いられる。
【0025】
複数の対象を種類に応じて分類し、その分類を階層構造で示すのがジャンルパスである。「ジャンルパス」は、各対象が属する階層L1~L5を示す。階層L1~L5は、ウェブサイトの提供者によって設定されてもよい。本例では5階層まで設定可能であるが、階層の数はこれに限らない。第1階層L1、すなわち最上階層が最も大きな分類であり、階層が下がるにつれて対象がより詳細に分類される。
【0026】
図2に示すように、階層順は、第1階層L1>第2階層L2>第3階層L3>・・・、と表記することができる。各対象について必ずしも最下層まで設定する必要はない。ジャンルパスが設定されている場合、ユーザは、その分類を階層順にたどることで所望の対象にたどり着くことができる。
【0027】
例えば、第1対象データセットP1の例では、対象である「RKTN」の男性用ランニングウェアに、第1階層L1:スポーツ/アウトドア、第2階層L2:ジョギング/マラソン、第3階層L3:ウェア、第4階層L4:メンズウェア、という階層が設定され、第5階層L5は設定されていない。また、図2の第2対象データセットP2の例では、対象である「スマートフォン用ケース」に、第1階層L1:スマートフォン/タブレット、第2階層L2:スマートフォン/モバイルフォンアクセサリ、第3階層L3:ケース/カバー、という階層が設定され、第4階層L4及び第5階層L5は設定されていない。
【0028】
図3に示すように、検索データ28は、例えば、ログテーブル28T(図3参照)を含む。図3のログテーブル28Tは複数の検索データセットS1,S2・・・・Sqを含む。図3には、第1検索データセットS1及び第2検索データセットS2を例示している。
【0029】
検索サーバ20は、各検索の検索ログを検索データセットS1,S2・・・としてログテーブル28Tに蓄積していく。ログテーブル28Tは、検索データ項目として、入力された検索クエリと、当該検索クエリに基づいて検索された検索結果の中から選択された対象の属性:属性値と、を含む。こうして蓄積された複数の検索データセットを含む検索データ28がメモリ24に記憶される。対象の数(種類)が多い場合、または、検索サービスが開始されてしばらくの間は、対象データセットの数が検索データセットの数よりも多い傾向がある。
【0030】
プロセッサ22は、検索プログラム25を実行することで、検索クエリに基づいて対象データ27の検索を実行する検索ステップと、検索結果を出力する出力ステップと、を実行する。また、プロセッサ22は、検索プログラム25を実行することで、出力ステップの後、ユーザに選択された対象の属性:属性値を検索ログとしてメモリ24に記録する記録ステップをさらに実行してもよい。
【0031】
検索結果には、学習モデル29による予測結果が反映される。例えば、学習モデル29は、検索クエリを入力すると、入力された検索クエリに関連が高い対象の属性:属性値を、検索意図に沿った予測結果として出力するように構成される。すなわち、学習モデル29,学習モデル39のターゲットタスクは、対象を検索するために入力された検索クエリの検索意図に沿った対象の属性:属性値を出力することである。
【0032】
学習モデル29,学習モデル39のターゲットタスクの出力は、「属性値」にしてもよい。ただし、同じ属性値であっても、対象の種類によっては、その属性値に対応する属性が異なる場合がある。例えば、対象がアロマオイルであれば、属性値「オレンジ」に対応する属性は「香り」である可能性が高い。一方、対象が衣料品であれば、属性値「オレンジ」に対応する属性は「色」である可能性が高い。そのため、ターゲットタスクの出力を「属性:属性値」にすることで、より検索意図に沿った結果を出すことができる。学習モデル29,学習モデル39のターゲットタスクの出力が「属性値」のみである場合、例えばブランド名等、当該属性値がどの属性を示すものであるか推定可能であることが望ましい。
【0033】
[学習モデル]
図4に、学習モデル29を生成するためのニューラルネットワーク100を示す。ここでは、パラメータの少なくとも一部が最終的に決定されていない学習モデルをニューラルネットワーク100と言う。
【0034】
ニューラルネットワーク100は、例えば、事前訓練済みモデル110と、複数のアダプタモジュール(Adapter Modules)120と、アダプタ結合(AdapterFusion)層130とを含む。事前訓練済みモデル110、アダプタモジュール120、及びアダプタ結合層130は、例えば、インターネットを介して提供される。
【0035】
事前訓練済みモデル110は、例えば、入力される言語の文脈を理解するように訓練されたBERT(Bidirectional Encoder Representations from Transformers)である。ただし、事前訓練済みモデル110の構成はこれに限らない。BERTでは、ラベルが付与されていないデータセットを処理することができる。事前訓練済みモデル110は、訓練によって調整された複数のパラメータΘを含む。BERTの事前訓練で使用される訓練データは、例えばラベル無しテキストからなる汎用巨大コーパスである。
【0036】
BERTは、例えば、マルチヘッドアテンション(Multi-head Attention)層111と、フィードフォワード(Feed-Forward)層113と、加算及び正規化層112,加算及び正規化層114,加算及び正規化層115を含む。加算及び正規化層112,加算及び正規化層114,加算及び正規化層115は、それぞれマルチヘッドアテンション層111、フィードフォワード層113、及びアダプタ結合層130の後に配置される。
【0037】
マルチヘッドアテンション層111では、アテンション構造を利用して特徴量抽出を行う。例えば、入力する複数の単語をそれぞれベクトル表現に変換する。そして、単語別にクエリ(Q:Query)と、キー(K:Key)と、バリュー(V:Value)と、の3つのパラメータを計算する。ここでいうクエリは、アテンション機構におけるクエリであり、上述の検索クエリにおけるクエリとは異なる。バリューはキーの値である。次に、例えばクエリとキーの内積により、単語間の類似度を算出する。これにより、入力された単語間の照応関係が得られる。そして、この類似度を重みとして、クエリとバリューとの照応関係を示す値を出力する。マルチヘッドアテンション層111では、こうしたアテンション構造を並列に組み合わせることによって、複数パターンの関係性の学習を同時に行うことが可能になる。
【0038】
フィードフォワード層113は、2層構造の全結合ニューラルネットワークである。フィードフォワード層113では、まず入力に重みを掛けてバイアスを足し、活性化関数(例えば、ReLU:Rectified Linear Unit)に入れる処理を行う。この出力に重みを掛けて、さらにバイアスを足す。ここでは、単語毎に個別の順伝播を行うため、単語間の影響を受けずに並列処理が行われる。
【0039】
「加算及び正規化層」の「加算」は残差接続(residual connection)を意味し、例えば層113の出力にその前の層112の出力を加算する。また、「正規化」はレイヤ正規化(Layer Normalization)を意味する。正規化により、勾配消失及び勾配爆発を抑制されるので、学習を効率よく進めることが可能になる。
【0040】
複数のアダプタモジュール120は、微調整(ファインチューニング)を目的として事前訓練済みモデル110の内部に追加される。追加したアダプタモジュール120を削除すれば、元の事前訓練済みモデル110が復元される。また、後からさらなるアダプタモジュール120を追加したり、別のアダプタモジュール120に交換したりすることもできる。
【0041】
図5に示すように、各アダプタモジュール120は、例えば、フィードフォワード・ダウンプロジェクション(FF Down)層121と、フィードフォワード・アッププロジェクション(FF Up)層122とを含む。ダウンプロジェクション層121の後で、活性化関数(例えば、ReLU)による処理を行ってもよい。
【0042】
アダプタ結合層130も、微調整を目的として事前訓練済みモデル110の内部に追加される。訓練済みのアダプタ結合層130は、アダプタモジュール120と同様に、学習モデル39から削除したり、再度組み込んだりすることができる。
【0043】
ニューラルネットワーク100に対しては、アダプタモジュール120による第1の微調整と、アダプタ結合層130による第2の微調整とが行われる。アダプタ結合層130は、複数のアダプタモジュール120の出力を受容し、それらを結合するように構成される。
【0044】
図5に示すように、アダプタ結合層130のパラメータΨは、クエリ(Query)131、キー(Key)132、及びバリュー(Value)133を含む。クエリ131は、事前訓練済みモデル110の重みの出力を層113から入力として受け取る。キー132及びバリュー133は、複数のアダプタモジュール120の出力を入力として受け取る。
【0045】
クエリと全てのキーとの内積は、ソフトマックス(SoftMax)関数134に入力される。ソフトマックス関数は、複数の出力値の合計が1.0(=100%)になるように入力を変換して出力する。これにより、複数のアダプタモジュール120の重み付けが学習される。そして、これら重み(関連度または重要度とも言える)とバリューとの内積により、重みに応じたバリューが取得される。アダプタ結合層130の出力は、加算及び正規化層115において、加算及び正規化層112の出力と加算されて、正規化される。
【0046】
[微調整の方法]
第1の微調整として、各アダプタモジュール120は、対応する訓練用タスクにより訓練されることにより、その訓練用タスクに固有のパラメータを更新する。各アダプタモジュール120は、事前訓練済みモデル110のパラメータΘを変更することなく、そのアダプタモジュール120のパラメータΦを更新するように構成される。
【0047】
各アダプタモジュール120は、訓練用タスクに対する最適化問題を解くことによって、パラメータΦを更新する。より詳細には、訓練データを与えて損失関数を用いて損失(すなわち、正解値と予測値とのずれ)を計算し、損失の値を最小化するパラメータΦを決定する。訓練用タスクの数とアダプタモジュール120の数は等しく、各アダプタモジュール120は1つの訓練用タスクに対応する。訓練データは、各訓練用タスクに応じて選択される。図6図8に訓練用タスクの例を示す。例えば、図6図8に示すように11の訓練用タスクが定義されている場合、ニューラルネットワーク100は11のアダプタモジュール120を備える。
【0048】
図6に示すように、1以上の訓練用タスクは、1以上(図6では3つ)の属性タスク52を含んでもよい。複数の訓練用タスクは、1以上の属性タスク52に加えて、あるいは1以上の属性タスク52に代えて、1以上(図7では3つ)の検索意図タスク51又は1以上(図8では5つ)のジャンルタスク53のうち少なくとも一方を含んでもよい。検索意図タスク51には、検索データ28が訓練データとして与えられる。属性タスク52及びジャンルタスク53には、対象データ27が訓練データとして与えられる。
【0049】
図6に示すように、1以上の検索意図タスク51は、第1検索タスク51avと、第2検索タスク51aと、第3検索タスク51vと、を含んでもよい。第1検索タスク51avは、検索クエリを入力して属性:属性値を出力するように構成される。第2検索タスク51aは、検索クエリを入力して属性を出力するように構成される。第3検索タスク51vは、検索クエリを入力して属性値を出力するように構成される。
【0050】
図7に示すように、1以上の属性タスク52は、第1属性タスク52avと、第2属性タスク52aと、第3属性タスク52vと、を含んでもよい。第1属性タスク52avは、タイトルを入力して属性:属性値を出力するように構成される。第2属性タスク52aは、タイトルを入力して属性を出力するように構成される。第3属性タスク52vは、タイトルを入力して属性値を出力するように構成される。
【0051】
図8に示すように、1以上のジャンルタスク53は、第1ジャンルタスク53a~第5ジャンルタスク53eを含んでもよい。第1ジャンルタスク53a、第2ジャンルタスク53b、第3ジャンルタスク53c、第4ジャンルタスク53d、及び第5ジャンルタスク53eは、タイトルを入力すると、階層L1~階層L5をそれぞれ出力するように構成される。
【0052】
第2の微調整として、アダプタ結合層130は、事前訓練済みモデル110のパラメータΘ及びアダプタモジュール120のパラメータΦを変更することなく、最適化問題を解くことによって、アダプタ結合層130のパラメータΨを更新する。より詳細には、訓練データを与えて損失関数を用いて損失を計算し、損失の値を最小化するパラメータΨを決定する。
【0053】
[学習モデルの生成方法]
図9に学習モデル39の生成手順を示す。まず、情報処理装置30が対象データ27を取得する(ステップS11)。また、検索データ28による訓練を行う場合には、情報処理装置30が検索データ28も取得する(ステップS12)。検索データ28は、学習モデル39の検証のために取得されてもよい。
【0054】
また、情報処理装置30において1以上の訓練用タスク(本開示では、3つの検索意図タスク51、3つの属性タスク52、及び5つのジャンルタスク53の合計11の訓練用タスク)が定義される(ステップS13)。ステップS11~ステップS13の実行順は相互に入れ替わってもよいし、一部又は全部が同時に行われてもよい。
【0055】
そして、情報処理装置30においてパラメータの更新が行われる(ステップS14)。より詳細には、まず、ニューラルネットワーク100において、訓練用タスクである検索意図タスク51~ジャンルタスク53に対象データ37及び検索データ38を与えて、複数のアダプタモジュール120の訓練を個別に、または同時に行う。これにより、アダプタモジュール120のパラメータが決定される。
【0056】
続いて、アダプタ結合層130のパラメータが更新される。より詳細には、例えば、訓練データとして対象データ37を与えて、アダプタ結合層130の訓練を行う。アダプタ結合層130の訓練は、検索データ38を与えて行ってもよい。アダプタ結合層130のパラメータが決定されると、学習モデル39が完成する。完成した学習モデル39は、ターゲットタスクの予測精度の検証を行うとよい。
【0057】
[学習モデルの検証]
図10及び図11に、学習モデル39及び2つの予備検討モデルの検証結果を示す。検証結果は、何れも、ターゲットタスク、すなわち、検索クエリから属性:属性値を予測した場合の評価値で示している。図10及び図11において、Precision@N(N=1,3,5)は、上位N位までの適合率を示す。同じく、Recall@N(N=1,3,5)は、上位N位までの再現率を示し、F1@N(N=1,3,5)は、上位N位までのF値を示す。図10及び図11に結果を示す実験において、訓練データとして用いられた対象データ37のデータセット数は19783万、検索データ38のデータセット数は226万である。
【0058】
図10及び図11の評価値はマイクロ平均(Micro-average)であり、すべてのクラスの結果を重みづけすることなく評価している。また、訓練に用いられる検索データ38は、検索クエリの入力と属性:属性値との間のコサイン類似度(>0.7)を使用してフィルタ処理されている。
【0059】
図10は、訓練用タスクの違いを検証した第1の実験結果である。この検証に使用した予備検討モデル1,2は、1つのアダプタ層(図示略)を備えるとともにアダプタ結合層130を備えない点が、本開示のニューラルネットワーク100と異なる。アダプタ層の構成及び機能は、アダプタモジュール120と同様である。
【0060】
予備検討モデル1は、訓練データとして検索データ38を与えて、検索クエリを入力して属性:属性値を出力する第1検索タスク51avのみによってアダプタ層を訓練した。すなわち、予備検討モデル1では、学習モデル39のターゲットタスクを訓練用タスクとした。この予備検討モデル1を用いた予測が実験例1である。
【0061】
これに対して、予備検討モデル2は、訓練データとして対象データ37を与えて、タイトルを入力して属性:属性値を出力する第1属性タスク52avのみによってアダプタ層を訓練した。この予備検討モデル2を用いた予測が実験例2である。
【0062】
図10に示すように、上位1位の適合率、再現率、及びF値のいずれについても、予備検討モデル2の方が予備検討モデル1よりも予測精度が遙かに高いことがわかる。すなわち、モデルのレイヤ構造が同じ場合、検索データ38よりも、対象データ37を訓練データとして訓練を行った方が、ターゲットタスクの予測精度が高いといえる。
【0063】
図11は、第2の実験結果を示す。実験例2は、図10の検討において成績の良かった予備検討モデル2を使用した結果である。実験例3は、上述した学習モデル39である。すなわち、実験例3のモデル(ニューラルネットワーク100)は、事前訓練済みモデル110と、11のアダプタモジュール120と、アダプタ結合層130とを備え、対象データ37及び検索データ38を用いて、11の訓練用タスク(検索意図タスク51~ジャンルタスク53)で訓練されている。
【0064】
図11を見ると、評価値毎に予測精度の優劣が異なることはなく、全ての評価値について、実験例2よりも実験例3の予測精度が高かった。このことから、1つの訓練用タスクで訓練を行うよりも、複数の訓練用タスクで訓練を行った方が、予測精度が高くなるといえる。
【0065】
[本開示の作用]
学習モデルの精度を上げるには、大量の訓練データを用いて学習を行うことが好ましい。しかしながら、学習に最適なデータセットの入手には時間及びコストがかかる。さらに、新たな学習のたびに膨大な時間がかかる。
【0066】
その点、事前学習済みモデル110は、例えば検索クエリに使用される言語に関する知識を学習済みである。事前学習済みモデル110に複数のアダプタモジュール120及びアダプタ結合層130を追加することにより、ニューラルネットワーク100は効率的に微調整される。本開示の方法では、対象データ37を使用してパラメータを調整することにより、検索対象に関する知識を備えた学習モデル39を生成することができる。
【0067】
一般に、アダプタモジュール120及びアダプタ結合層130が扱うパラメータ数は事前訓練済みモデル110のパラメータ数と比較して非常に小さい。例えば、アダプタモジュール120のパラメータ数は、事前訓練済みモデル110のパラメータ数の数%程度である。よって、微調整のための計算資源が少なくてすみ、パラメータを保存するための記憶容量も低減できる。
【0068】
アダプタモジュール120及びアダプタ結合層130をニューラルネットワーク100に追加しても、以前に学習した知識(事前訓練済みモデル110のパラメータ)は改変されない。さらに、アダプタモジュール120及びアダプタ結合層130は、更新したり、ニューラルネットワーク100から取り除いたりすることができる。そのため、対象及びターゲットタスクに応じて目的の訓練用タスクを定義することにより、容易に学習モデル39を改良することができる。例えば、個人向け商品と法人向けサービスとで対象データ37の対象データ項目が異なる場合には、アダプタモジュール120及びアダプタ結合層130を交換すれば、その対象に合わせた微調整を行うことが可能となる。
【0069】
対象の数が多い場合、検索実績の少ない対象は、訓練に用いるための十分な検索データが蓄積されにくい。そうすると、予測の精度が低下する虞がある。アダプタモジュール120を用いると、少ない訓練データでも効率的に訓練が行える。その結果、予測精度の高い学習モデル39を生成することができる。さらに、対象データ37を訓練データとする場合、全ての対象について対応する属性:属性値が存在するので、訓練データの欠損がない。
【0070】
ここで、複数の訓練用タスク(検索意図タスク51~ジャンルタスク53)を1つずつ順番に微調整に用いると、知識が次々と改変されていくことにより、それ以前に学習した知識が失われることになる。そのため、訓練用タスクの実行順序も考慮する必要があるが、その順序を適切に設定するのは容易ではない。
【0071】
別の方法として、複数のタスク間で情報を共有するマルチタスク学習がある。しかし、マルチタスク学習では、新たなタスクを追加する都度、再訓練が必要になる。さらに、マルチタスク学習では複数のタスク間のバランスをとりつつ、各タスクを均等に解決するモデルを訓練することが困難である。
【0072】
その点、アダプタ結合層130を使用する微調整では、複数のタスク処理の順序及びバランスを考慮する必要がない。そして、アダプタ結合層130を用いれば、複数のアダプタモジュール120の関連性を考慮して、複数のアダプタモジュール120の出力に対して異なる重みを与えることができる。
【0073】
タイトルに含まれる情報は対象によって異なるため、対象データ37の内容が異なれば、有効な訓練用タスクが異なる可能性がある。その点、アダプタモジュール120及びアダプタ結合層130は個別に交換又は削除が可能である。そのため、対象に応じて、ニューラルネットワーク100の構成、訓練用タスク、又は訓練データを変更して、効率よく再訓練を行うことができる。
【0074】
対象と属性:属性値との間には、特定の相関又は関連があり得る。特にタイトルに属性又は属性値が含まれている場合には、タイトルと属性又は属性値との間には相関又は関連が生じやすい。本来、対象データ27そのものは、ターゲットタスクの正解を示す教師データではないが、タイトルに含まれる対象のデータは、その対象の属性:属性値と正しく、かつ、直接的に関連している。これに対して、検索クエリには、検索結果として出力された対象の属性:属性値に対してノイズとなる情報が含まれ得る。
【0075】
本開示では、対象データ項目と検索データ項目の両方が「属性:属性値」を含む。そのため、対象データ37の「タイトル」を疑似的な「検索クエリ」として、検索データ38と同様に対象データ37を訓練データとして使用できる。対象データ27を用いて訓練することにより、対象と属性:属性値との関係を正しく学習することができる。その結果、より検索意図に沿った検索結果が得られるようになる。
【0076】
[本開示の効果]
本開示によれば、以下の効果を奏することができる。
(1)対象データ37を訓練データとして用いるので、対象の数が多い場合、又は、検索データ38が十分に蓄積されていない段階でも、学習モデル39を効率よく訓練することができる。その結果、検索対象の数が多い場合にも高い予測精度が得られる。
【0077】
(2)学習モデル39は、属性値に加えてその属性値に対応する属性もセットで出力することにより、多様な種類の対象に対して正確な予測をすることができる。
(3)対象データ37を用いて、複数の属性タスク52(52av,52a,52v)を実行することができる。
【0078】
(4)検索データ38を訓練データとして用いることにより、より精度の高い学習モデル39を生成することができる。
(5)検索データ38を用いて、複数の検索意図タスク51(51av,51a,51v)を実行することができる。
【0079】
(6)対象データ37を用いて、複数のジャンルタスク53(53a~53e)を実行することができる。
(7)タイトル(識別情報)が、対象の属性及び当該属性に対応する属性値を含む場合、対象データ37の対象データ項目間に相関関係が生じる。そのため、対象データ37を訓練に用いることにより、検索対象について学習させることができる。
【0080】
(8)対象が商品又はサービスである場合、その種類が多様になり得るが、各対象に関する対象データ37を訓練データに用いるので、データの欠損が生じない。
(9)タイトルに含まれる宣伝用文言は対象とは関連性が薄いことが多い。こうした場合も、属性タスク52及びジャンルタスク53のうち少なくとも1つで訓練を行うことにより、より適切な重み付けをすることができる。
【0081】
(10)データセットの数が多い対象データ37を訓練に用いることにより、高い予測精度が得られる。
(11)事前訓練済みニューラルネットワーク100を利用することにより、学習モデル39を作成するためのコスト及び時間を大幅に低減することができる。また、アダプタモジュール120により、効率よく微調整を行うことができる。
【0082】
(12)アダプタ結合層130により、入力に対する各アダプタモジュール120の関連性を考慮して、複数のアダプタモジュール120の出力に対して異なる重みを与えることができる。
【0083】
本実施形態は、以下のように変更して実施することができる。本実施形態及び以下の変更例は、技術的に矛盾しない範囲で互いに組み合わせて実施することができる。
・学習モデルは、自然言語処理を含めて、全体を新たに生成してもよい。
【0084】
・ニューラルネットワーク100は、複数のアダプタモジュール120又はアダプタ結合層130のうち1以上を備えなくてもよい。例えば、訓練用タスクは1つ(例えば、タイトルを入力して属性:属性値を出力する第1属性タスク52av)のみでもよい。この場合、ニューラルネットワーク100は1つのアダプタモジュール120を備えればよい。ニューラルネットワーク100に挿入されるアダプタモジュール120が1つであれば、アダプタ結合層130は不要である。
【0085】
・訓練用タスクの数及び内容は変更可能である。例えば、3つの検索意図タスク51及び3つの属性タスク52の何れかを省略してもよい。あるいは、データ37,38が別のデータ項目を含む場合、そのデータ項目を利用した訓練用タスクを追加してもよい。また、階層数に応じて、ジャンルタスク53の数を変更してもよい。検索データ28と対象データ27とで、共通のデータ項目(例えば「属性:属性値」)があれば、検索データ28に代えて、又は検索データ28に加えて、対象データ27を訓練データとして使用しやすい。
【0086】
・ニューラルネットワーク100はアダプタ結合層130を備えなくてもよい。アダプタモジュール120(訓練用タスク)が複数ある場合には、複数の訓練用タスクを順次に処理してパラメータを更新してもよい。あるいは、複数の訓練用タスクをマルチタスク学習により処理してもよい。
【0087】
以下に、上記実施形態及び変更例から把握される態様を列挙する。
[1]学習モデルを生成するための情報処理装置であって、前記学習モデルは、対象を検索するために入力された検索クエリに基づく前記対象の属性情報を出力するように構成され、
前記情報処理装置は、1以上のプロセッサと1以上のメモリとを備え、
前記メモリには、対象データが格納されており、
前記対象データは、複数の対象データセットを含み、前記各対象データセットは、対象データ項目として、前記対象の識別情報と、当該対象の属性情報と、を含み、
前記プロセッサは、前記対象データを与えて1以上の訓練用タスクを実行することにより、前記学習モデルに含まれる複数のパラメータのうちの一部を更新する処理を実行するように構成される、
情報処理装置。
【0088】
[2]
前記属性情報は、前記対象の属性及び当該属性に対する属性値を含み、
前記1以上の訓練用タスクは、
前記識別情報を入力して前記属性値及び当該属性値に対応する前記属性を出力するように構成される第1属性タスクと、
前記識別情報を入力して前記属性を出力するように構成される第2属性タスクと、
前記識別情報を入力して前記属性値を出力するように構成される第3属性タスクと、のうち、少なくとも1つを含む、
上記[1]に記載の情報処理装置。
【0089】
[3]前記メモリには検索データが格納されており、
前記検索データは、複数の検索データセットを含み、前記各検索データセットは、検索データ項目として、入力された前記検索クエリと、当該検索クエリに基づいて検索された検索結果の中から選択された前記対象の前記属性情報とを含み、
前記プロセッサは、さらに、前記検索データを与えて1以上の訓練用タスクを実行することにより、前記複数のパラメータのうちの一部を更新する処理を実行するように構成される、
上記[1]又は[2]に記載の情報処理装置。
【0090】
[4]前記属性情報は、前記対象の属性及び当該属性に対する属性値を含み、
前記検索データが与えられる前記1以上の訓練用タスクは、
前記検索クエリを入力して前記属性値及び当該属性値に対応する前記属性を出力するように構成される第1検索意図タスクと、
前記検索クエリを入力して前記属性を出力するように構成される第2検索意図タスクと、
前記検索クエリを入力して前記属性値を出力するように構成される第3検索意図タスクと、のうち、少なくとも1つを含む、
上記[3]に記載の情報処理装置。
【0091】
[5]前記各対象データセットは、前記対象データ項目として、前記対象を分類するためのジャンルパスを更に含み、
前記ジャンルパスは、前記対象が属する複数の階層を示し、
前記対象データが与えられる前記1以上の訓練用タスクは複数のジャンルタスクを含み、
前記各ジャンルタスクは、前記識別情報を入力して対応する前記階層を出力するように構成される、
上記[1]~[4]のうち何れかに記載の情報処理装置。
【0092】
[6]前記識別情報は、前記対象の名称、当該対象の1以上の属性、及び前記各属性に対応する属性値のうち1以上を含む、
上記[1]~[5]のうち何れかに記載の情報処理装置。
【0093】
[7]前記対象は商品又はサービスである、
上記[1]~[6]のうち何れかに記載の情報処理装置。
[8]前記識別情報は、前記商品又はサービスの売り出しのための宣伝用文言を含む、
上記[7]に記載の情報処理装置。
【0094】
[9]前記対象データセットの数が前記検索データセットの数よりも大きい、
上記[5]及び[5]を引用する[6]~[8]のうち何れかに記載の情報処理装置。
[10]前記学習モデルは、自然言語処理用の事前訓練済みニューラルネットワークと、1以上のアダプタモジュールと、を含み、
前記各訓練用タスクは、対応する1つの前記アダプタモジュールのパラメータを更新するように構成される、
上記[1]~[9]のうち何れかに記載の情報処理装置。
【0095】
[11]前記1以上の訓練用タスクは複数の訓練用タスクを含み、
前記学習モデルは、複数の前記アダプタモジュールを含み、
前記学習モデルは、前記複数のアダプタモジュールの出力を入力すると、入力された複数の出力結果を1つに結合するように構成されるアダプタ結合層を含む、
上記[10]に記載の情報処理装置。
【0096】
[12]情報処理装置が実行する学習モデルの生成方法であって、前記学習モデルは、対象を検索するために入力された検索クエリに基づく前記対象の属性情報を出力するように構成され、
前記方法は、
対象データを取得することであって、前記対象データは、複数の対象データセットを含み、前記各対象データセットは、対象データ項目として、前記対象の識別情報と、当該対象の属性情報と、を含む、ことと、
1以上の訓練用タスクを定義することと、
前記対象データを与えて前記1以上の訓練用タスクを実行することにより、前記学習モデルに含まれる複数のパラメータのうちの一部を更新することと、
を含む、学習モデルの生成方法。
【0097】
[13]学習モデル生成のためのプログラムであって、前記学習モデルは、対象を検索するために入力された検索クエリに基づく前記対象の属性情報を出力するように構成され、
前記プログラムは、1以上のコンピュータに、
対象データを取得することであって、前記対象データは、複数の対象データセットを含み、前記各対象データセットは、対象データ項目として、前記対象の識別情報と、当該対象の属性情報と、を含む、ことと、
前記対象データを与えて1以上の訓練用タスクを実行することにより、前記学習モデルに含まれる複数のパラメータのうちの一部を更新することと、
を実行させるための、学習モデル生成のためのプログラム。
【0098】
[14]上記[13]に記載のプログラムを記録している、コンピュータ可読媒体。
【符号の説明】
【0099】
11…システム、13…端末、14…ネットワーク、20…検索サーバ、22…プロセッサ、24…メモリ、25…検索プログラム、26…通信機、27…対象データ、27T…カタログテーブル、28…検索データ、28T…ログテーブル、29…学習モデル、30…情報処理装置、32…プロセッサ、34…メモリ、35…学習プログラム、36…通信機、37…対象データ、38…検索データ、39…学習モデル、51…検索意図タスク、51av…第1検索タスク、51a…第2検索タスク、51v…第3検索タスク、52…属性タスク、52av…第1属性タスク、52a…第2属性タスク、52v…第3属性タスク、53…ジャンルタスク、53a…第1ジャンルタスク、53b…第2ジャンルタスク、53c…第3ジャンルタスク、53d…第4ジャンルタスク、53e…第5ジャンルタスク、100…ニューラルネットワーク、111…マルチヘッドアテンション層、112,114,115…加算及び正規化層、113…フィードフォワード層、120…アダプタモジュール、121…フィードフォワード・ダウンプロジェクション層、122…フィードフォワード・アッププロジェクション層、130…アダプタ結合層、P1…第1対象データセット、P2…第2対象データセット、S1…第1検索データセット、S2…第2検索データセット。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11