(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023162816
(43)【公開日】2023-11-09
(54)【発明の名称】学習システム、属性値抽出システム、学習方法、及びプログラム
(51)【国際特許分類】
G06F 16/908 20190101AFI20231101BHJP
【FI】
G06F16/908
【審査請求】有
【請求項の数】16
【出願形態】OL
(21)【出願番号】P 2022073474
(22)【出願日】2022-04-27
(71)【出願人】
【識別番号】399037405
【氏名又は名称】楽天グループ株式会社
(71)【出願人】
【識別番号】504137912
【氏名又は名称】国立大学法人 東京大学
(74)【代理人】
【識別番号】110000154
【氏名又は名称】弁理士法人はるか国際特許事務所
(72)【発明者】
【氏名】新里 圭司
(72)【発明者】
【氏名】夏 ▲彦▼迪
(72)【発明者】
【氏名】陳 維▲徳▼
(72)【発明者】
【氏名】吉永 直樹
【テーマコード(参考)】
5B175
【Fターム(参考)】
5B175DA10
5B175FB02
(57)【要約】
【課題】属性値抽出モデルの精度を高める。
【解決手段】学習システム(1)のモデル記憶部(200)は、推定用の第1アイテムに関する第1属性に関連付けられた少なくとも1つの第1属性値を含む第1クエリを利用して、第1アイテムに関する第2属性値を含む第1データから第2属性値を抽出するための属性値抽出モデルを記憶する。第2クエリ取得部(203)は、学習用の第2アイテムに関する第2属性に関連付けられた複数の第3属性値のうちの少なくとも一部が除外された第2クエリを取得する。学習部(204)は、第2アイテムに関する第4属性値を含む第2データと、第2クエリと、に基づいて、属性値抽出モデルに関する学習を行う。
【選択図】
図6
【特許請求の範囲】
【請求項1】
推定用の第1アイテムに関する第1属性に関連付けられた少なくとも1つの第1属性値を含む第1クエリを利用して、前記第1アイテムに関する第2属性値を含む第1データから前記第2属性値を抽出するための属性値抽出モデルを記憶するモデル記憶部と、
学習用の第2アイテムに関する第2属性に関連付けられた複数の第3属性値のうちの少なくとも一部が除外された第2クエリを取得する第2クエリ取得部と、
前記第2アイテムに関する第4属性値を含む第2データと、前記第2クエリと、に基づいて、前記属性値抽出モデルに関する学習を行う学習部と、
を含む学習システム。
【請求項2】
前記第1クエリは、前記第1属性と、前記少なくとも1つの第1属性値と、を含み、
前記第2クエリは、前記第2属性を含み、前記複数の第3属性値のうちの少なくとも一部が除外される、
請求項1に記載の学習システム。
【請求項3】
前記第2クエリ取得部は、
前記複数の第3属性値のうちの一部のみを除外し、
前記複数の第3属性値のうち、除外されなかった残りの前記第3属性値を含む前記第2クエリを取得する、
請求項1又は2に記載の学習システム。
【請求項4】
前記第2クエリ取得部は、
前記第3属性値ごとに、当該第3属性値に関連付けられた確率に基づいて、当該第3属性値を除外するか否かを決定し、
前記複数の第3属性値のうち、前記確率に基づいて除外すると決定した一部のみを除外する、
請求項3に記載の学習システム。
【請求項5】
前記学習システムは、前記第3属性値ごとに、複数の前記第2データが格納された第1データベースにおける当該第3属性値の頻度に基づいて、当該第3属性値の前記確率を決定する確率決定部を更に含み、
前記第2クエリ取得部は、前記第3属性値ごとに、当該第3属性値に関連付けられた、当該第3属性値の前記頻度に応じた前記確率に基づいて、当該第3属性値を除外するか否かを決定する、
請求項4に記載の学習システム。
【請求項6】
前記確率決定部は、前記第3属性値ごとに、予め定められた除外レートと、当該第3属性値の前記頻度と、に基づいて、当該第3属性値の前記確率を決定する、
請求項5に記載の学習システム。
【請求項7】
前記学習システムは、前記複数の第3属性値が格納された第2データベースに格納された全ての前記第3属性値を取得する第3属性値取得部を更に含み、
前記第2クエリ取得部は、
前記全ての第3属性値のうちの一部のみを除外し、
前記全ての第3属性値のうち、除外されなかった残りの前記第3属性値を含む前記第2クエリを取得する、
請求項3に記載の学習システム。
【請求項8】
前記第2クエリ取得部は、
前記複数の第3属性値を含む前記第2クエリを取得し、
前記第2クエリに含まれる前記複数の第3属性値のうちの一部を他の値に置き換えることによって、当該一部の第3属性値を除外する、
請求項3に記載の学習システム。
【請求項9】
前記第1属性によっては、前記第1属性値を利用可能ではないことがあり、
前記第2クエリ取得部は、
前記第3属性値が利用可能なことを示す第1識別情報と、前記複数の第3属性値のうちの少なくとも一部と、を含む第1タイプの前記第2クエリを取得し、
前記第3属性値が利用可能ではないことを示す第2識別情報を含み、前記複数の第3属性値の全てが除外された第2タイプの前記第2クエリを取得し、
前記学習部は、
前記第2データと、前記第1タイプの前記第2クエリと、に基づいて、前記属性値抽出モデルに関する第1学習と、
前記第2データと、前記第2タイプの前記第2クエリと、に基づいて、前記属性値抽出モデルに関する第2学習と、を行う、
請求項1又は2に記載の学習システム。
【請求項10】
前記学習部は、前記第3属性値の利用可能性をドメインとみなしたマルチドメイン学習を利用して、前記第1学習及び前記第2学習を行う、
請求項9に記載の学習システム。
【請求項11】
前記学習部は、前記第2データ及び前記第2クエリが前記属性値抽出モデルに入力された場合に、前記第2データにおける前記第4属性値の部分を識別可能な部分識別情報を前記属性値抽出モデルが出力するように、前記学習を行う、
請求項1又は2に記載の学習システム。
【請求項12】
前記第1アイテムは、推定用の第1商品であり、
前記第2アイテムは、学習用の第2商品であり、
前記第1データは、前記第1商品の説明に関する第1文字列を含み、
前記第2データは、前記第2商品の説明に関する第2文字列を含み、
前記属性値抽出モデルは、前記第1文字列から前記第2属性値を抽出するための自然言語処理に関するモデルである、
請求項1又は2に記載の学習システム。
【請求項13】
請求項3に記載の学習システムにより作成された学習済みの属性値抽出モデルを利用可能な属性値抽出システムであって、
推定用の第1アイテムに関する第1属性に関連付けられた少なくとも1つの第1属性値を含む第1クエリを取得する第1クエリ取得部と、
前記第1アイテムに関する第2属性値を含む第1データ、前記第1クエリ、及び前記学習済みの属性値抽出モデルに基づいて、前記第1データから前記第2属性値を抽出する第2属性値抽出部と、
を含む属性値抽出システム。
【請求項14】
請求項9に記載の学習システムにより作成された学習済みの属性値抽出モデルを利用可能な属性値抽出システムであって、
推定用の第1アイテムに関する第1属性に関連付けられた少なくとも1つの第1属性値の利用可能性を判定する利用可能性判定部と、
前記第1属性値が利用可能であると判定された場合には、前記第1属性値が利用可能なことを示す第3識別情報と、前記少なくとも1つの第1属性値と、を含む第3タイプの第1クエリを取得し、前記第1属性値が利用可能であると判定されない場合には、前記第1属性値が利用可能ではないことを示す第4識別情報を含む第4タイプの第1クエリを取得する第1クエリ取得部と、
前記第1属性値が利用可能であると判定された場合には、前記第1アイテムに関する第2属性値を含む第1データ、前記第3タイプの第1クエリ、及び前記学習済みの属性値抽出モデルに基づいて、前記第1データから前記第2属性値を抽出し、前記第1属性値が利用可能であると判定されない場合には、前記第1データ、前記第4タイプの第1クエリ、及び前記学習済みの属性値抽出モデルに基づいて、前記第1データから前記第2属性値を抽出する第2属性値抽出部と、
を含む属性値抽出システム。
【請求項15】
学習用の第2アイテムに関する第2属性に関連付けられた複数の第3属性値のうちの少なくとも一部が除外された第2クエリを取得する第2クエリ取得ステップと、
前記第2アイテムに関する第4属性値を含む第2データと、前記第2クエリと、に基づいて、推定用の第1アイテムに関する第1属性に関連付けられた少なくとも1つの第1属性値を含む第1クエリを利用して、前記第1アイテムに関する第2属性値を含む第1データから前記第2属性値を抽出するための属性値抽出モデルに関する学習を行う学習ステップと、
を含む学習方法。
【請求項16】
学習用の第2アイテムに関する第2属性に関連付けられた複数の第3属性値のうちの少なくとも一部が除外された第2クエリを取得する第2クエリ取得部、
前記第2アイテムに関する第4属性値を含む第2データと、前記第2クエリと、に基づいて、推定用の第1アイテムに関する第1属性に関連付けられた少なくとも1つの第1属性値を含む第1クエリを利用して、前記第1アイテムに関する第2属性値を含む第1データから前記第2属性値を抽出するための属性値抽出モデルを記憶する属性値抽出モデルに関する学習を行う学習部、
としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、学習システム、属性値抽出システム、学習方法、及びプログラムに関する。
【背景技術】
【0002】
従来、商品又はコンテンツといった種々のアイテムに関する属性値を抽出する技術が知られている。例えば、非特許文献1及び非特許文献2には、学習済みの属性値抽出モデルに相当するモデルに対し、アイテムに関するアイテムデータと、アイテムに関する属性を含むクエリと、を入力し、当該モデルから出力された属性値などの固有表現に相当する情報を抽出する技術が記載されている。
【先行技術文献】
【非特許文献】
【0003】
【非特許文献1】Qifan Wang, Li Yang, Bhargav Kanagal, Sumit Sanghai, D.Sivakumar, Bin Shu, Zac Yu, and Jon Elsas. 2020. Learning to extract attribute value from product via question answering: A multi-task approach. In Proceedings of the 26th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, pages 47-55, Online. ACM.
【非特許文献2】Xiaoya Li, Jingrong Feng, Yuxian Meng, Qinghong Han, Fei Wu, and Jiwei Li. 2020. A unified MRC framework for named entity recognition. In Proceedings of the 58th Annual Meeting of the Association for Computational Linguistics, pages 5849-5859, Online. Association for Computational Linguistics.
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、非特許文献1及び非特許文献2のモデルから出力される属性値の精度は、クエリ次第で低下することがある。例えば、非特許文献1の技術では、クエリとして属性名を入力することが想定されている。例えば、非特許文献2の技術では、クエリとして抽出対象の定義説明文を入力することが想定されている。例えば、シンプルな語がクエリとして入力されると、非特許文献1及び非特許文献2のモデルがクエリの意味を認識できず、モデルから出力される属性値の精度が低下する可能性があった。
【0005】
本開示の目的の1つは、属性値抽出モデルの精度を高めることである。
【課題を解決するための手段】
【0006】
本開示に係る学習システムは、推定用の第1アイテムに関する第1属性に関連付けられた少なくとも1つの第1属性値を含む第1クエリを利用して、前記第1アイテムに関する第2属性値を含む第1データから前記第2属性値を抽出するための属性値抽出モデルを記憶するモデル記憶部と、学習用の第2アイテムに関する第2属性に関連付けられた複数の第3属性値のうちの少なくとも一部が除外された第2クエリを取得する第2クエリ取得部と、前記第2アイテムに関する第4属性値を含む第2データと、前記第2クエリと、に基づいて、前記属性値抽出モデルに関する学習を行う学習部と、を含む。
【発明の効果】
【0007】
本開示によれば、属性値抽出モデルからの精度が高まる。
【図面の簡単な説明】
【0008】
【
図1】学習システムの全体構成の一例を示す図である。
【
図2】商品データから取得される属性及び属性値の一例を示す図である。
【
図3】質問応答モデルを利用した属性値抽出モデルの一例を示す図である。
【
図4】本実施形態の属性値抽出モデルの一例を示す図である。
【
図5】知識の不完全さを属性値抽出モデルに学習させる方法の一例を示す図である。
【
図6】学習システムで実現される機能の一例を示す機能ブロック図である。
【
図9】学習システムで実行される処理の一例を示すフロー図である。
【
図10】学習システムで実行される処理の一例を示すフロー図である。
【
図11】変形例における学習システム及び属性値抽出システムの一例である。
【発明を実施するための形態】
【0009】
[1.学習システムの全体構成]
本開示に係る学習システム及び属性値抽出システムの実施形態の一例を説明する。本実施形態では、学習システムが属性値抽出システムの機能も含む場合を例に挙げるが、学習システム及び属性値抽出システムは、互いに別々のシステムであってもよい。学習システム及び属性値抽出システムが互いに別々のシステムである場合は、後述の変形例で説明する。
【0010】
図1は、学習システムの全体構成の一例を示す図である。例えば、学習システム1は、サーバ10、学習端末20、及び推定端末30を含む。サーバ10、学習端末20、及び推定端末30の各々は、インターネット又はLAN等の任意のネットワークNに接続可能である。
【0011】
サーバ10は、サーバコンピュータである。制御部11は、少なくとも1つのプロセッサを含む。記憶部12は、RAM等の揮発性メモリと、フラッシュメモリ等の不揮発性メモリと、を含む。通信部13は、有線通信用の通信インタフェースと、無線通信用の通信インタフェースと、の少なくとも一方を含む。
【0012】
学習端末20は、後述の属性値抽出モデルの学習を行うコンピュータである。例えば、学習端末20は、パーソナルコンピュータ、スマートフォン、又はタブレット端末である。制御部21、記憶部22、及び通信部23のハードウェア構成は、それぞれ制御部11、記憶部12、及び通信部13と同様である。操作部24は、タッチパネル又はマウス等の入力デバイスである。表示部25は、液晶ディスプレイ又は有機ELディスプレイである。
【0013】
推定端末30は、後述の学習済みの属性値抽出モデルを利用するコンピュータである。例えば、推定端末30は、パーソナルコンピュータ、スマートフォン、又はタブレット端末である。制御部31、記憶部32、通信部33、操作部34、及び表示部35のハードウェア構成は、それぞれ制御部11、記憶部12、通信部13、操作部24、及び表示部25と同様である。
【0014】
なお、記憶部12,22,32に記憶されるプログラムは、ネットワークNを介して供給されてもよい。また、各コンピュータには、コンピュータ読み取り可能な情報記憶媒体を読み取る読取部(例えば、メモリカードスロット)と、外部機器とデータの入出力をするための入出力部(例えば、USBポート)と、の少なくとも一方が含まれてもよい。例えば、情報記憶媒体に記憶されたプログラムが、読取部及び入出力部の少なくとも一方を介して供給されてもよい。
【0015】
また、学習システム1は、少なくとも1つのコンピュータを含めばよい。学習システム1に含まれるコンピュータは、
図1の例に限られない。例えば、推定端末30が学習システム1の外部に存在してもよい。学習システム1は、サーバ10及び学習端末20のみを含んでもよい。学習システム1は、サーバ10又は学習端末20の何れか一方のみを含んでもよい。学習システム1は、サーバ10又は学習端末20の何れか一方と、他のコンピュータと、を含んでもよい。
【0016】
[2.学習システムの概要]
本実施形態では、商品に関する商品データの中から、商品の属性に応じた属性値が取得される場合を例に挙げて、学習システム1で実行される処理を説明する。商品は、商取引の対象となる物である。本実施形態では、オンラインショッピングモールにおける商品を例に挙げるが、商品自体は、任意の商品であってよく、例えば、インターネットオークション、オンラインフリーマーケット、又は現実の店舗で取引される商品であってもよい。
【0017】
商品データは、商品の詳細に関する情報である。例えば、商品データは、文字、数字、その他の記号、画像、音声、動画、又はこれらの組み合わせを含む。本実施形態では、オンラインショッピングモールにおける商品を例に挙げるので、店舗の担当者が入力した任意のテキスト(例えば、商品のタイトル)が商品データに相当する。例えば、商品データの内容は、オンラインショッピングモールのウェブサイト又はアプリケーションから閲覧可能である。
【0018】
属性は、商品を分類するための区分である。属性は、カテゴリ又はジャンルと呼ばれることもある。属性は、階層的に定義されてもよい。属性が階層的に定義される場合、属性が上位であるほど属性の意味が抽象的になり、属性が下位であるほど属性の意味が具体的になる。以降、単に属性と記載した箇所は、属性の名前を意味する。属性は、文字、数字、その他の記号、又はこれらの組み合わせによって表現される。属性は、所定の観点で商品を分類可能なものであればよく、任意の観点で属性を定義可能である。例えば、属性は、ブランド、色、素材、サイズ、機能、柄、又は産地といった情報である。
【0019】
属性値は、具体的な分類を示す値である。属性には、複数の属性値が予め用意されている。商品には、予め用意された複数の属性値のうちの少なくとも1つが付与される。予め用意された複数の属性値は、商品に付与される属性値の候補である。属性値は、文字、数字、その他の記号、又はこれらの組み合わせによって表現される。例えば、店舗の担当者は、ある商品の商品データをアップロードする時に、属性と、この属性に対して用意された複数の属性値のうちの少なくとも1つと、を指定する。この商品の商品データには、当該指定された属性及び属性値が関連付けられる。
【0020】
例えば、属性「ブランド」には、属性値として、種々のブランド名が用意されている。あるブランドの商品には、属性「ブランド」に対して用意された複数の属性値のうち、この商品のブランドのブランド名を示す属性値が付与される。例えば、属性「色」には、属性値として、黒、白、黄色といった種々の色が予め用意されている。見た目が黒い商品には、属性「色」に対して用意された複数の属性値のうち、「黒」を示す属性値が付与される。他の属性についても同様であり、任意の属性値を予め用意し、任意の属性値を商品に付与できる。
【0021】
図2は、商品データから取得される属性及び属性値の一例を示す図である。例えば、学習端末20がオンラインショッピングモールのウェブサイトにアクセスすると、商品データを含む商品ページPが表示部25に表示される。例えば、商品ページPには、店舗の名前、商品のタイトル、商品の画像、及び商品の詳細な説明文といった商品データが表示される。店舗の担当者が、商品データをアップロードする時に属性及び属性値を指定していれば、当該指定された属性及び属性値も商品データとして商品ページPに表示される。商品の属性及び属性値は、検索時のインデックスとして利用される。
【0022】
商品データの中から、商品の属性に応じた適切な属性値を抽出できれば、種々の効果を奏することができる。例えば、店舗の担当者が属性値を指定する必要がなくなるので、店舗の担当者の負担を軽減できる。例えば、店舗の担当者が誤って不適切な属性値を指定したとしても、商品データの中から取得した適切な属性値に置き換えることもできる。例えば、現時点では属性値として用意されていなくても、商品データから新たな属性値を抽出することもできる。例えば、顧客の嗜好又はマーケットプレイスを深く理解してマーケティングに活用することもできる。
【0023】
そこで、学習システム1は、商品データから属性値を抽出するための属性値抽出モデルを利用して、商品データから属性値を抽出する。属性値抽出モデルは、機械学習を利用したモデルである。機械学習自体は、種々の手法を利用可能である。例えば、機械学習の手法は、教師有り学習、半教師有り学習、又は教師無し学習の何れの手法も、属性値抽出モデルに利用可能である。
【0024】
本実施形態では、BERTと呼ばれるモデルに基づいた質問応答モデル(QAモデル)を利用した属性値抽出モデルを例に挙げるが、属性値抽出モデルは、商品データを一例とするエンティティとクエリを入力として属性値を抽出するモデルであればよく、その種別に制限はない。例えば、属性値抽出モデルは、BERT以外のいわゆるTransformerベースのモデルであってもよいし、Transformerが登場する以前に利用されていたニューラルネットワークのモデルであってもよい。
【0025】
図3は、質問応答モデルを利用した属性値抽出モデルの一例を示す図である。
図3の質問応答モデルM1及び属性値抽出モデルM2は、従来のモデルであるが、基本的な仕組みを理解するために、従来のモデルについて説明する。質問応答モデルM1及び属性値抽出モデルM2の詳細は、先行技術文献として挙げた非特許文献1、非特許文献2、又はこれらに記載された参考文献を参照されたい。なお、これらの文献では、質問応答モデルM1及び属性値抽出モデルM2に相当するモデルが他の名前で呼ばれていることがある。
【0026】
例えば、質問応答モデルM1は、ニュース記事及びクエリが入力されると、クエリに応じた応答を出力する。質問応答モデルM1には、ニュース記事及びクエリと、クエリに応じた応答と、の関係が学習されている。質問応答モデルM1に入力されるクエリは、ニュース記事の内容に関する質問である。質問応答モデルM1から出力される応答は、クエリである質問に対する回答である。質問応答モデルM1は、ニュース記事から回答として適切な部分を推定し、当該部分を出力する。
【0027】
図3の例では、日本における緊急事態宣言の解除に関するニュース記事N10と、緊急事態宣言が解除される時期を問うクエリQ11と、が質問応答モデルM1に入力される。質問応答モデルM1は、緊急事態宣言が解除される時期として、ニュース記事N10の「9月30日」の部分が適切であることを推定し、この部分を識別可能な応答R12を出力する。このような質問応答モデルM1は、商品データから属性値を抽出する目的でも利用できる。
【0028】
例えば、属性値抽出モデルM2は、質問応答モデルM1を流用して作成されたモデルである。属性値抽出モデルM2は、商品データ及びクエリが入力されると、クエリに応じた応答として、属性値を出力する。属性値抽出モデルM2には、商品データ及びクエリと、商品データに含まれる属性値と、の関係が学習されている。属性値抽出モデルM2に入力されるクエリは、商品データが示す商品の属性である。クエリは、商品データのうち、属性に応じた属性値が含まれる部分を問う質問ということができる。属性値抽出モデルM2から出力される応答は、クエリである属性に応じた属性値である。属性値抽出モデルM2は、商品データから属性値として適切な部分を推定し、当該部分を出力する。
【0029】
図3の例では、バッグの特徴に関する商品データD20と、属性「ブランド」を含むクエリQ21と、が属性値抽出モデルM2に入力される。
図3では、商品の画像も属性値抽出モデルM2に入力されるものとしているが、実際には、商品データD20のうちのテキスト部分のみが属性値抽出モデルM2に入力されるものとする。商品データD20のうちの画像部分は、ニューラルネットワーク等の機械学習モデルに基づく特徴抽出器等を介して特徴ベクトル等の数値の組み合わせに変換されることで、属性値抽出モデルM2に入力されてもよい。
【0030】
例えば、商品データD20がオンラインショッピングモールにアップロードされる前に、商品データD20と、クエリQ21と、が属性値抽出モデルM2に入力される。属性値抽出モデルM2は、クエリQ21に含まれる属性「ブランド」に応じた属性値V22(ここでは、ブランド名)として、商品データの「BBBバッグ」の部分が適切であることを推定して出力する。例えば、属性「色」、属性「素材」、属性「サイズ」、又は属性「機能」といった他の属性も、属性値抽出モデルM2へのクエリとして入力可能である。
【0031】
例えば、商品の属性は、シンプルな語であることが多いので、属性値抽出モデルM2に入力されるクエリは、質問応答モデルM1に入力されるクエリよりも短く具体性に欠けることがある。このため、属性値抽出モデルM2は、クエリの意味を認識できないことがある。属性値抽出モデルM2がクエリの意味を認識できなければ、属性値抽出モデルM2からの出力の精度も低下する。特に、オンラインショッピングモールの場合、商品データに基づいて属性値抽出モデルM2の訓練データを作成すると、人気のある商品の属性が多くなり、他の商品に関する訓練データが少なくなりがちである。このような訓練データのスパースネス性も、属性値抽出モデルM2からの出力の精度が低下する要因の1つである。
【0032】
属性「機能」を例に挙げると、エアコンのような商品であれば、「タイマー」及び「省エネ」といった機能が存在する。バッグのような商品であれば、属性「機能」として、「防水」、「防カビ」、又は「防汚」といった機能が存在する。このため、同じ属性「機能」だったとしても、種々の意味が存在する。属性値抽出モデルM2は、属性「機能」のような短く抽象的なクエリの意味を認識できず、適切な属性値を出力できないことがある。この点は、他の属性も同様であり、クエリの質によって、属性値抽出モデルM2からの出力の精度が低下する可能性がある。
【0033】
そこで、本実施形態では、商品の属性だけではなく、商品の属性に予め関連付けられた属性値もクエリとして利用することによって、クエリを拡張するようにしている。これにより、クエリの意味がより具体的になり、属性値抽出モデルM2がクエリの意味を認識しやすくなるので、クエリの質が高まると考えられる。クエリの質が高まれば、先述した訓練データのスパースネス性の問題も解決できると考えられる。
【0034】
図4は、本実施形態の属性値抽出モデルの一例を示す図である。属性値抽出モデルM3は、従来の技術ではなく、新規な技術である。属性値抽出モデルM3は、商品データ及びクエリが入力されると、クエリに応じた応答を出力するモデルという点では、属性値抽出モデルM2と同様であるが、クエリの中身が属性値抽出モデルM2とは異なる。
図4の例では、商品データD30は、商品データD20と同じであるが、クエリQ31は、属性だけではなく属性値も含むので、クエリQ21よりも拡張されている。
【0035】
例えば、商品データD30が示す商品がバッグであり、クエリQ31として入力される商品の属性が「機能」だったとする。先述した通り、属性「機能」は、短くて抽象的な属性であり、バッグ以外の商品にも関係する種々の意味を有する。このため、バッグ関連の属性の意味であることを属性値抽出モデルM3が認識できるように、属性「機能」と、バッグ関連の属性「機能」に予め用意された属性値「防カビ」と、を含むクエリQ31が入力される。なお、
図4では省略するが、本実施形態では、属性値「防カビ」だけではなく、属性「機能」に関連付けられた全ての属性値がクエリQ31に含まれるものとする。
【0036】
図4の商品は、防カビの機能を有する商品ではないが、クエリQ31に含まれる属性値「防カビ」によって、属性「機能」の意味を属性値抽出モデルM3が認識できるようになる。例えば、属性値抽出モデルM3は、クエリQ31に含まれる属性「機能」が、先述したエアコンのような機能ではなく、バッグに関する機能であることを認識できる。このため、属性値抽出モデルM3は、商品データD30の中から、例えばクエリQ31に含まれる属性値「防カビ」と意味的又は表記的に近い表現を有する機能名である「防水」といった属性値V32を出力できるようになる。
【0037】
図4の例以外にも、属性値「防汚」(汚れを防ぐ機能)といったように、例えば抽出したい属性値「防水」と意味的又は表記的に近い他の表現がクエリとして与えられた場合も同様に、属性値抽出モデルM3は、商品データの中から属性値「防水」を出力できる。この点は、例えば、属性「機能」に限られず、属性「種類」又は「タイプ」といったように、短く抽象的な属性を含む他のクエリが属性値抽出モデルM3に入力される場合も同様である。
【0038】
以上のように、本実施形態では、商品の属性に関連付けられた属性値を利用することによって、クエリを拡張するようにしている。この点は、属性「ブランド」、属性「色」、属性「素材」、属性「サイズ」、又は属性「機能」といった他の属性も同様である。例えば、オンラインショッピングモールで取引される商品の属性及び属性値を網羅することができれば、どのような商品にも対応可能になると考えられる。
【0039】
しかしながら、オンラインショッピングモールの商品は多岐に渡るので、属性及び属性値を完全に網羅することは、現実的ではない。例えば、オンラインショッピングモールで取引される商品の中には、オンラインショッピングモールの管理者が把握しきれていない属性及び属性値も存在する。このため、実際の運用では、属性及び属性値を完全には網羅しきれていない不完全な知識を利用する必要がある。
【0040】
例えば、実際の運用で用いられる知識が不完全であることが属性値抽出モデルM3に学習されていない場合、属性値抽出モデルM3は、入力されたクエリが完全に正しいものとして、属性値の推定を行う可能性がある。この場合、例えば、属性値抽出モデルM3は、クエリに含まれる属性値との単純な文字列一致に基づいて、属性値の推定をすることがある。この場合、未知の属性及び属性値に対応することができないと考えられる。そこで、本実施形態では、属性値抽出モデルM3に知識の不完全さをあえて学習させることによって、実際の運用に対応できるようにしている。
【0041】
図5は、知識の不完全さを属性値抽出モデルM3に学習させる方法の一例を示す図である。例えば、訓練データベースDB1には、属性値抽出モデルM3に学習させる商品の商品データ(
図5では、商品のタイトル)と、当該商品の属性及び属性値と、の組み合わせが多数格納されている。
図5の例では、バッテリーに関する商品の商品データに「ABCバッテリー 12V 14AH SLA Rechargeable」といった文字列が含まれている。「ABCバッテリー」は、属性「ブランド」の属性値である。「14AH」は、属性「公称容量」の属性値である。
【0042】
例えば、属性データベースDB2には、訓練データベースDB1に存在する属性と属性値のペアが多数格納されている。訓練データベースDB1に格納された属性「公称容量」の属性値として、「1ah」~「100ah」といった100個の属性値が存在したとすると、属性「公称容量」と、これら100個の属性値と、のペアが属性データベースDB2に格納される。属性データベースDB2には、他の属性のペアも多数格納されているものとする。
【0043】
仮に、属性「公称容量」の100個すべての属性値を含むクエリQ40を利用して属性値抽出モデルM3の学習を行ったとすると、属性値抽出モデルM3は、自身に入力される知識が完全であると認識する可能性がある。この場合、例えば、属性値抽出モデルM3は、属性値にばかり着目してしまい、属性に着目しなくなったり、未知の属性値を抽出できなったりする可能性がある。例えば、未知の属性がクエリとして入力されたり、利用可能な属性値が少ない属性がクエリとして入力されたりした場合に、属性値抽出モデルM3の精度が低下する可能性がある。
【0044】
そこで、本実施形態では、知識の不完全さを属性値抽出モデルM3に学習させるために、2つの手法が利用される。1つ目の手法では、属性データベースDB2に格納された全ての属性値を属性値抽出モデルM3に学習させるのではなく、あえて一部を除外したうえで属性値抽出モデルM3に学習させるようにしている。以降、1つ目の手法を、ナレッジドロップアウト手法という。ナレッジドロップアウト手法では、本当は利用可能な属性値を意図的に少なくすることによって、知識の不完全さを属性値抽出モデルM3に学習させることができる。即ち、ナレッジドロップアウト手法は、属性値抽出モデルM3に学習させる知識を意図的に少なくする手法である。
【0045】
2つ目の手法では、属性データベースDB2に格納された属性値を何れも利用せずに、属性値抽出モデルM3に学習させるようにしている。ただし、一切の属性値を利用しない場合には、
図3で説明した従来の属性値抽出モデルM2と同様に精度が低下する可能性があるので、本実施形態では、訓練データベースDB1に商品データが格納された商品1つにつき、ナレッジドロップアウト手法を利用した学習と、属性値を全て除外して利用しない学習と、の2つの学習を行うようにしている。
【0046】
第2の手法では、属性値の利用可能性を示す特別なトークンを、クエリに含めるようにしている。トークンは、語の単位である。
図5の例では、スペースで区切られた語の単位をトークンとする。トークンは、スペースではなく、特別な記号で区切られた語の単位であってもよい。トークンは、何らかの意味を有する語になることもあるが、あるトークンだけを見ても人間が意味を理解できる語になるとは限らない。
【0047】
以降、第2の手法で利用される特別なトークンを、ナレッジトークンという。更に、第2の手法を、ナレッジトークン手法という。
図5の例では、ナレッジトークンは、[Seen]と「Unseen」といった文字列で表現される。ナレッジトークンが[Seen]であることは、属性値が利用可能であることを意味する。ナレッジトークンが[Unseen]であることは、属性値が利用可能ではないことを意味する。
【0048】
本実施形態では、属性データベースDB2に格納された属性には、ペアとなる属性値が必ず存在するものとする。このため、学習段階では、本当は属性値が利用可能である属性に対し、擬似的に[Unseen]のナレッジトークンが関連付けられる。
図5の例であれば、学習時の属性値抽出モデルM3に対する入力I42のように、属性「公称容量」には、本当は100個の属性値が存在するが、擬似的に属性値が存在しないものとして、[Unseen]のナレッジトークンが関連付けられる。それとは別に、入力I41のように、ナレッジドロップアウト手法を利用した[Seen]のナレッジトークンを含むクエリ(除外されなかった属性値を含むクエリ)も属性値抽出モデルM2に学習される。
【0049】
以上のように、本実施形態では、ナレッジドロップアウト手法と、ナレッジトークン手法と、を利用して、属性値抽出モデルM3に知識の不完全さを学習させるようにしている。知識の不完全さを属性値抽出モデルM3に学習させることによって、実運用の環境に適した属性値抽出を実行できるので、属性値抽出モデルM3の精度が高まる。以降、学習システム1の詳細を説明する。
【0050】
[3.学習システムで実現される機能]
図6は、学習システム1で実現される機能の一例を示す機能ブロック図である。本実施形態では、属性値抽出モデルM3の学習に関する学習機能が学習端末20により実現される場合を説明する。学習済みの属性値抽出モデルM3を利用した推定に関する推定機能が推定端末30により実現される場合を説明する。以降、推定時及び学習時の各々で利用される商品、商品データ、属性、属性値、及びクエリを区別するために、商品、商品データ、属性、属性値、及びクエリに対し、下記のように名前を付ける。
【0051】
[推定時の各用語]
第1商品:学習済みの属性値抽出モデルM3の処理対象となる商品
第1データ:第1商品の商品データ
第1属性:第1商品の属性
第1属性値:第1属性に関連付けられた属性値
第1クエリ:推定時に利用されるクエリ
第2属性値:第1データから抽出された属性値
【0052】
[学習時の各用語]
第2商品:属性値抽出モデルM3の学習で利用される商品
第2データ:第2商品の商品データ
第2属性:第2商品の属性
第3属性値:第2属性に関連付けられた属性値
第2クエリ:学習時に利用されるクエリ
第4属性値:第2データに含まれる、学習時の正解となる属性値
【0053】
[3-1.サーバで実現される機能]
モデル記憶部100は、記憶部12により実現される。モデル記憶部100は、学習済みの属性値抽出モデルM3を記憶する。学習済みの属性値抽出モデルM3は、後述の学習部204による学習が完了した属性値抽出モデルM3である。本実施形態では、推定端末30が、モデル記憶部100に記憶された学習済みの属性値抽出モデルM3をダウンロードして利用する場合を説明するが、推定端末30は、学習済みの属性値抽出モデルM3をダウンロードすることなく、学習済みの属性値抽出モデルM3をオンライン上で利用してもよい。モデル記憶部100は、後述の訓練データベースDB1及び属性データベースDB2を記憶してもよい。
【0054】
[3-2.学習端末で実現される機能]
モデル記憶部200は、記憶部22により実現される。第3属性値取得部201、確率決定部202、第2クエリ取得部203、及び学習部204は、制御部21を主として実現される。これらの機能は、学習機能の一例である。
【0055】
[モデル記憶部]
モデル記憶部200は、属性値抽出モデルM3の学習に必要なデータを記憶する。例えば、モデル記憶部200は、推定用の第1商品に関する第1属性に関連付けられた少なくとも1つの第1属性値を含む第1クエリを利用して、第1商品に関する第2属性値を含む第1データから第2属性値を抽出するための属性値抽出モデルM3を記憶する。第1商品は、第1アイテムの一例である。このため、第1商品と記載した箇所は、第1アイテムと読み替えることができる。
【0056】
アイテムとは、属性及び属性値が付与される対象となる物である。アイテムは、商品のような有体物であってもよいし、サービス又はデータのような無体物であってもよい。アイテムは、任意の物であってよく、商品に限られない。例えば、アイテムは、宿泊施設に関するコンテンツ、レストランに関するコンテンツ、電子書籍、動画、楽曲、ウェブサイト、又はその他のコンテンツであってもよい。例えば、アイテムは、金融サービス又は通信サービスといったサービスの紹介文、SNSにおける投稿、電子メール等のメッセージ、又はその他の文書であってもよい。
【0057】
第1アイテムは、上記のようなアイテムのうち、学習済みの属性値抽出モデルM3による推定対象となるアイテムである。第1アイテムは、第2属性値の抽出対象となるアイテムである。第1アイテムは、第1データから第2属性値がまだ抽出されていないアイテムである。第1アイテムは、後述の第2アイテムと偶然同じになることもあるが、原則として、第2アイテムとは異なるものとする。
【0058】
第1データは、第1アイテムに関する何らかの内容を含むデータである。第1データは、第1アイテムの詳細に関するデータである。第1データは、第1アイテムの種類に応じたデータであればよく、第1商品のタイトルに限られない。例えば、第1アイテムが宿泊施設であれば、宿泊施設又は部屋のタイトル又は紹介文が第1データに相当してもよい。例えば、アイテムが電子書籍であれば、電子書籍の実データ部分が第1データに相当してもよい。本実施形態では、第1データは、第1商品の説明に関する第1文字列を含む。属性値抽出モデルM3は、当該第1文字列から第2属性値を抽出するための自然言語処理に関するモデルである。
【0059】
例えば、モデル記憶部200は、学習前の属性値抽出モデルM3を記憶する。学習前の属性値抽出モデルM3は、パラメータが初期値の属性値抽出モデルM3である。学習部204が学習を開始した後は、モデル記憶部200は、学習途中の属性値抽出モデルM3を記憶する。学習が完了した後は、モデル記憶部200は、学習済みの属性値抽出モデルM3を記憶する。モデル記憶部200は、属性値抽出モデルM3以外にも、訓練データベースDB1及び属性データベースDB2を記憶する。
【0060】
図7は、訓練データベースDB1の一例を示す図である。訓練データベースDB1は、属性値抽出モデルM3の訓練データになりうるデータが格納されたデータベースである。訓練データは、第2データ及び第2クエリと、第4属性値と、の関係に関するデータである。例えば、訓練データベースDB1には、第2データ、第2クエリに含まれる第2属性、及び第4属性が関連付けられている。訓練データは、学習時に属性値抽出モデルM3に入力される入力部分と、属性値抽出モデルM3から出力されるべき出力部分と、のペアを含む。
図7では、第2クエリのうちの第2属性だけが示されている。第2クエリに含まれる第3属性値は、属性データベースDB2から補填される。
【0061】
訓練データの入力部分は、学習済みの属性値抽出モデルM3に入力されるデータと同じ形式である。このため、推定時に入力される第1データ及び第1クエリの形式と、学習時に入力される第2データ及び第2クエリの形式と、は同じである。本実施形態では、第1データ及び第1クエリと、第2データ及び第2クエリと、が互いに文字形式である場合を説明するが、これらは、数字、その他の記号、又はこれらと文字の組み合わせといった任意の形式であってよい。例えば、属性値抽出モデルM3に文字が入力されるのではなく、文字の特徴量が入力されるのであれば、訓練データの入力部分として、第2データ及び第2クエリの特徴量が含まれてもよい。
【0062】
訓練データの出力部分は、学習済みの属性値抽出モデルM3から出力されるデータと同じ形式である。このため、推定時の出力の形式と、学習時の出力の形式と、は同じである。本実施形態では、後述の部分識別情報が出力される場合を説明するが、第2属性値及び第4属性値そのものが出力されてもよい。本実施形態では、第2属性値及び第4属性値が互いに文字形式である場合を説明するが、これらは、数字、その他の記号、又はこれらと文字の組み合わせといった任意の形式であってよい。例えば、属性値抽出モデルM3から属性値を示す文字列が出力されるのではなく、属性値を識別可能なID又は番号が出力されるのであれば、訓練データの出力部分として、第4属性値を識別可能なID又は番号が含まれてもよい。
【0063】
本実施形態では、オンラインショッピングモールで実際に販売される商品が第1商品及び第2商品に相当する場合を説明する。即ち、オンラインショッピングモールに実際にアップロードされる商品データが第1データ及び第2データに相当する。例えば、第1データ及び第2データは、オンラインショッピングモールで販売される商品のタイトル、説明文、又はこれらの組み合わせである。第1データは、ユーザが入力した文字を含む。なお、訓練データは、オンラインショッピングモールで実際に販売される商品に基づいて作成されるのではなく、オンラインショッピングモールの管理者が手作業で作成してもよい。
【0064】
第2クエリは、第2商品の属性値を問うための質問である。例えば、第2クエリは、第2属性と、当該第2属性に関連付けられた第3属性値と、を含むことができる。第2属性は、第2商品に関連付けられた属性である。例えば、第2属性は、店舗の担当者が指定した属性を示す文字を含む。第2属性は、オンラインショッピングモールの管理者により指定されてもよいし、第2属性を抽出するためのツールが利用されてもよい。本実施形態では、第2クエリに含まれる第3属性値は、ナレッジドロップアウト手法により決定されるので、訓練データベースDB1には、第2クエリに含めるべき第2属性のみが示されている。第2クエリに含める第3属性値は、後述の属性データベースDB2から取得される。
【0065】
第4属性値は、第2商品の正解となる属性値である。第4属性値は、第2属性に関連付けられた複数の第3属性値のうちの何れかであってもよいし、当該複数の第3属性値の中には存在しない属性値であってもよい。例えば、第4属性値は、店舗の担当者が指定した属性値を示す文字を含む。なお、第4属性値は、店舗の担当者により指定されるのではなく、オンラインショッピングモールの管理者により指定されてもよいし、過去に作成した属性値抽出モデルM3により抽出されてもよい。ただし、過去に作成した属性値抽出モデルM3から抽出された第4属性値には、誤った第4属性値が含まれる可能性があるので、人手で作成した訓練データに基づいて学習された属性値抽出モデルM3よりも精度が悪くなる可能性がある。
【0066】
図8は、属性データベースDB2の一例を示す図である。属性データベースDB2は、複数の属性の各々に対して予め用意された属性値が格納されたデータベースである。属性データベースDB2は、属性と属性値の辞書ということもできる。例えば、属性データベースDB2には、属性及び属性値のペアが多数格納される。属性データベースDB2に格納された属性は、第1属性にもなりうるし、第2属性にもなりうる。属性データベースDB2に格納された属性値は、第1属性値にもなりうるし、第3属性値にもなりうる。属性データベースDB2には、後述の頻度が格納されてもよい。
【0067】
本実施形態では、属性データベースDB2は、訓練データベースDB1に基づいて作成されるものとする。例えば、学習端末20は、訓練データの入力部分に含まれる第2属性と、当該入力部分に対応する出力部分である第4属性値と、の組み合わせを集計する。学習端末20は、当該集計結果に基づいて、第2属性及び第4属性値のペアを、属性データベースDB2に格納する。学習端末20は、ある第2属性に対して閾値以上の頻度を有する第4属性値だけを属性データベースDB2に格納してもよい。
【0068】
なお、属性データベースDB2は、任意の方法によって作成可能であり、訓練データベースDB1に基づいて作成されなくてもよい。例えば、学習端末20は、オンラインショッピングモールで販売される商品に関する商品データベースに基づいて、属性データベースDB2を作成してもよい。例えば、オンラインショッピングモールの管理者が、属性データベースDB2を手作業で作成してもよい。例えば、オンラインショッピングモールで販売される商品に対して付与可能な属性及び属性値のリストが属性データベースDB2として利用されてもよい。
【0069】
[第3属性値取得部]
第3属性値取得部は、第2クエリに含まれる少なくとも1つの第3属性値を取得する。例えば、第3属性値取得部201は、複数の第3属性値が格納された属性データベースDB2の中から、第3属性に関連付けられた複数の第3属性値を取得する。属性データベースDB2は、第2データベースの一例である。このため、属性データベースDB2と記載した箇所は、第2データベースと読み替えることができる。第2データベースは、種々の第3属性値が格納されたデータベースであればよく、他の名前で呼ばれてもよい。
【0070】
本実施形態では、第3属性値取得部201は、複数の第3属性値が格納された属性データベースDB2に格納された全ての第3属性値を取得する。例えば、第3属性値取得部201は、属性データベースDB2を参照し、ある第2商品の第2属性に関連付けられた全ての第3属性値を取得する。第2商品として
図5のバッテリーを例に挙げると、第2属性「公称容量」には、「1ah」~「100ah」といった100個の第3属性値が属性データベースDB2に格納されているので、第3属性値取得部201は、これら100個の第3属性値を全て取得する。第3属性値取得部201は、他の第2属性も同様に、全ての第3属性値を属性データベースDB2から取得する。
【0071】
なお、第3属性値取得部201は、属性データベースDB2に格納された第3属性値のうちの一部のみを取得してもよい。例えば、第3属性値取得部201は、全ての第3属性値の中から、所定数の第3属性値をランダムに取得してもよい。例えば、第3属性値取得部201は、全ての第3属性値の中から、訓練データベースDB1における頻度が高い順に所定数の第3属性値を取得してもよい。例えば、第3属性値取得部201は、全ての第3属性値の中から、訓練データベースDB1における頻度が閾値以上の第3属性値を取得してもよい。
【0072】
例えば、第3属性値取得部201は、属性データベースDB2から第3属性値を取得するのではなく、訓練データベースDB1又は他のデータベースから第3属性値を取得してもよい。第3属性値は、オンラインショッピングモールの管理者により指定されてもよい。例えば、属性値抽出モデルM3の学習時に、管理者が第3属性値を逐一指定する場合には、第3属性値取得部201は、当該逐一指定された第3属性値を取得してもよい。利用可能な第3属性値が1つだけの場合には、第3属性値取得部201は、1つの第3属性値だけを取得してもよい。
【0073】
[確率決定部]
確率決定部202は、第3属性値が除外される確率を決定する。この確率は、ナレッジドロップアウト手法において、仮の第2クエリには含められた第3属性値が、最終的な第2クエリには含まれなくなる確率である。この確率は、全ての第3属性値で共通の確率であってもよいしランダムに決定されてもよいが、本実施形態では、第3属性値の頻度に応じた確率であるものとする。
【0074】
頻度は、第3属性値が実際の商品に利用されている頻度である。本実施形態では、ある第3属性値の頻度は、訓練データベースDB1で当該第3属性値が出現する頻度である。頻度は、訓練データベースDB1における出現数ということもできる。
図8では省略しているが、属性データベースDB2には、第3属性値の頻度も格納されているものとする。例えば、学習端末20は、訓練データベースDB1で第3属性値が出現した頻度を集計し、属性データベースDB2に格納する。
【0075】
例えば、確率決定部202は、第3属性値ごとに、複数の第2データが格納された訓練データベースDB1における当該第3属性値の頻度に基づいて、当該第3属性値の確率を決定する。訓練データベースDB1は、第1データベースの一例である。このため、訓練データベースDB1と記載した箇所は、第1データベースと読み替えることができる。第1データベースは、種々の第2商品の第3属性値が格納されたデータベースであればよく、他の名前で呼ばれてもよい。例えば、オンラインショッピングモールの商品データベースが第1データベースに相当してもよい。即ち、他のデータベースにおける頻度が利用されてもよい。
【0076】
例えば、確率決定部202は、第3属性値の頻度が高いほど、第3属性値の確率が低くなるように、第3属性値の確率を決定する。逆にいえば、確率決定部202は、第3属性値の頻度が低いほど、第3属性値の確率が高くなるように、第3属性値の確率を決定する。このようにすれば、よく利用されている第3属性値が除外されにくくなるので、よく利用されている第3属性値を属性値抽出モデルM3に学習させやすくなる。
【0077】
頻度と確率の関係を示すデータは、予めモデル記憶部200に記憶されているものとする。このデータは、任意の形式であってよく、例えば、数式形式又はテーブル形式であってもよい。このデータは、機械学習を利用したモデル、又は、プログラムの一部であってもよい。確率決定部202は、第3属性値の頻度に関連付けられた確率となるように、第3属性値の確率を決定する。
【0078】
例えば、確率決定部202は、第3属性値ごとに、予め定められた除外レートと、当該第3属性値の頻度と、に基づいて、当該第3属性値の確率を決定してもよい。除外レートは、デフォルトの確率である。除外レートは、第3属性値に応じて異なってもよいが、本実施形態では、全ての第3属性値で除外レートが共通であるものとする。除外レートは、オンラインショッピングモールの管理者が指定してもよいし、外部のデータベースに基づいて動的に決定されてもよい。
【0079】
例えば、除外レートをrとし、ある第3属性値の頻度をnvとすると、確率決定部202は、この第3属性値の確率を、rnvとなるように決定する。なお、確率の計算方法は、他の計算方法であってもよく、本実施形態の例に限られない。例えば、確率決定部202は、除外レートrと、ある第3属性値の頻度nvと、を除算した値を、この第3属性値の確率としてもよい。例えば、確率決定部202は、除外レートrから、ある第3属性値の頻度nvと、を減算した値に応じた値を、この第3属性値の確率としてもよい。例えば、確率決定部202は、除外レートrを利用せずに確率を決定してもよい。
【0080】
[第2クエリ取得部]
第2クエリ取得部203は、第2クエリを取得する。本実施形態では、知識の不完全さを表現するために、本当は学習で利用可能な第3属性値が意図的に除外されるので、第2クエリ取得部203は、学習用の第2商品に関する第2属性に関連付けられた複数の第3属性値のうちの少なくとも一部が除外された第2クエリを取得する。
【0081】
第3属性値を除外するとは、第3属性値を第2クエリに含めないことである。即ち、本当は学習で利用可能な第3属性値を、第2クエリに意図的に含めないことが、第3属性値を除外することに相当する。属性データベースDB2に存在する第3属性値ではあるが、第2クエリに含めないことは、第3属性値を除外することに相当する。第3属性値の除外は、第3属性値の無効化又は削除ということもできる。
【0082】
本実施形態では、第2クエリは、第2属性を含み、複数の第3属性値のうちの少なくとも一部が除外される場合を例に挙げる。即ち、第2クエリが、第2属性と、第3属性値と、の両方を含む場合を例に挙げる。なお、第2クエリは、第2属性を含まずに、複数の第3属性値のうちの除外されなかった第3属性値を含んでもよい。ある程度の数の第3属性値が利用可能であり、かつ、第3属性値だけでも第2クエリの意味をある程度認識できる場合には、第2クエリは、第2属性を含まなくてもよい。
【0083】
図5のクエリQ40が第2クエリに相当したとすると、ナレッジトークン、第2属性に相当する属性トークン、第3属性値に相当する属性値トークン、及びSEPトークンを含む。SEPトークンは、区切りを示す特別なトークンである。例えば、第2データと第2属性の区切りを示すSEPトークン(
図5では、タイトルトークンとナレッジトークンの間のSEPトークン)、第2属性と第3属性値の区切りを示すSEPトークン(
図5では、属性トークンと属性値トークンの間のSEPトークン)、及び第3属性値同士の区切りを示すSEPトークン(
図5では、属性値トークン同士の間のSEPトークン)がある。なお、
図5のCLSトークンは、冒頭に配置される特別なトークンである。隠れ状態は、属性値抽出モデルM3の内部の計算を保持するためのメモリに相当する。隠れ状態には、埋め込み表現等の情報が保持されてもよい。
【0084】
ナレッジドロップアウト手法では、第2クエリ取得部203は、複数の第3属性値のうちの一部のみを除外する。第2クエリ取得部203は、複数の第3属性値のうち、除外されなかった残りの第3属性値を含む第2クエリを取得する。例えば、ある第2属性に関連付けられた第3属性値がk個(kは2以上の整数)だったとすると、k個の第3属性値のうち、1個以上k個未満の第3属性値を除外することは、複数の第3属性値のうちの一部のみを除外することに相当する。除外される第3属性値の個数又は割合は、予め定められていてもよいし、動的に変わってもよい。
【0085】
本実施形態では、第2クエリ取得部203は、第3属性値ごとに、当該第3属性値に関連付けられた確率に基づいて、当該第3属性値を除外するか否かを決定する。第2クエリ取得部203は、複数の第3属性値のうち、上記確率に基づいて除外すると決定した一部のみを除外する。例えば、第2クエリ取得部203は、第3属性値ごとに、当該第3属性値に関連付けられた、当該第3属性値の頻度に応じた確率に基づいて、当該第3属性値を除外するか否かを決定する。
【0086】
先述した確率決定部202の例であれば、第3属性値の確率は、rnvになる。第2クエリ取得部203は、第3属性値ごとに、当該第3属性値の確率rnvに基づいて、当該第3属性値を除外するか否かを判定する。この判定は、種々の抽せんアルゴリズムを利用可能である。第2クエリ取得部203は、除外すると判定した第3属性値が第2クエリに含まれないように、当該第3属性値が第2クエリから除外する。第2クエリ取得部203は、除外すると判定されない第3属性値が第2クエリに含まれるように、当該第3属性値を第2クエリから除外しない。
【0087】
本実施形態では、ひとまず全ての第3属性値が取得されるので、第2クエリ取得部203は、全ての第3属性値のうちの一部のみを除外する。第2クエリ取得部203は、全ての第3属性値のうち、除外されなかった残りの第3属性値を含む第2クエリを取得する。例えば、第2クエリ取得部203は、ひとまず全ての第3属性値を含む仮の第2クエリを取得する。第2クエリ取得部203は、仮の第2クエリの中から、除外すると判定した第3属性値を除外し、最終的な第2クエリを取得する。
【0088】
例えば、第2クエリ取得部203は、複数の第3属性値を含む第2クエリを取得する。この第2クエリは、仮の第2クエリである。第2クエリ取得部203は、第2クエリに含まれる複数の第3属性値のうちの一部を他の値に置き換えることによって、当該一部の第3属性値を除外してもよい。他の値は、予め定められた値であればよく、例えば、所定の文字列である。他の値は、パディングと呼ばれることもある。他の値は、特に何の意味もない文字列であってもよい。ここでは、他の値は、[PAD]といった文字列であるものとする。
【0089】
例えば、除外される第3属性値が他の値に置き換えられた後の第2クエリは、最終的な第2クエリである。
図5の入力I41の例では、「1ah」、「4ah」、「5ah」といった第3属性値が除外されている。
図5の例では、除外された第3属性値が他の値に置き換えられずに、仮の第3クエリから削除される場合が示されているが、例えば、入力I41の「2ah」の前に、除外された「1ah」を置き換えるための他の値が挿入されてもよい。同様に、「3ah」と「6ah」の間に、除外された「4ah」と「5ah」を置き換えるための他の値が挿入されてもよい。
【0090】
以上説明した第2クエリは、ナレッジドロップアウト手法で利用される第2クエリである。ナレッジトークン手法では、第2クエリ取得部203は、第3属性値が利用可能なことを示す[Seen]のナレッジトークンと、複数の第3属性値のうちの少なくとも一部と、を含む第1タイプの第2クエリを取得する。[Seen]のナレッジトークンは、第1識別情報の一例である。このため、[Seen]のナレッジトークンについて説明している箇所は、第1識別情報と読み替えることができる。
【0091】
第1識別情報は、第3属性値が利用可能であることを示せばよく、[Seen]のナレッジトークン以外にも任意の情報を利用可能である。例えば、[Seen]以外の他の文字列であってもよいし、数値又はその他の記号であってもよい。ただし、第1識別情報として利用されるトークンは、タイトル、属性名、及び属性値に含まれないものとする。学習済みの属性値抽出モデルM3による推測時には、どのようなタイトル、属性名、及び属性値が入力されるか分からないので、第1識別情報は、[]で囲う等することによって、第1識別情報であることが分かるようになっている。第1識別情報であることを示す識別子は、[]に限られず、他の記号であってもよい。第1タイプの第2クエリは、第1識別情報を含む第2クエリである。第1タイプの第2クエリは、第3属性値を含む第2クエリである。
図5の例では、入力I41のうちの[Seen]以降の部分が第1タイプの第2クエリに相当する。
【0092】
また、ナレッジトークン手法では、第2クエリ取得部203は、第3属性値が利用可能ではないことを示す第2識別情報を含み、複数の第3属性値の全てが除外された第2タイプの第2クエリを取得する。[Unseen]のナレッジトークンは、第2識別情報の一例である。このため、[Unseen]のナレッジトークンについて説明している箇所は、第2識別情報と読み替えることができる。
【0093】
第2識別情報は、第3属性値が利用可能ではないことを示せばよく、[Unseen]のナレッジトークン以外にも任意の情報を利用可能である。例えば、[Unseen]以外の他の文字列であってもよいし、数値又はその他の記号であってもよい。第2識別情報も、第1識別情報と同様に、[]で囲う等することによって、第2識別情報であることが分かるようになっているものとする。第2タイプの第2クエリは、第2識別情報を含む第2クエリである。
図5の例では、入力I42のうちの[Unseen]以降の部分が第2タイプの第2クエリに相当する。
図5の例では、第2タイプの第2クエリは、ナレッジトークンと第2属性だけを含む。
【0094】
なお、[Seen]のナレッジトークンと、[Unseen]のナレッジトークンと、は任意の位置に挿入されるようにすればよく、これらのナレッジトークンが挿入される位置は、
図5の例に限られない。例えば、これらのナレッジトークンは、第2属性の後に挿入されてもよいし、第3属性値の後に挿入されてもよい。ナレッジトークンは、予め定められた位置に挿入されるようにすればよい。
【0095】
[学習部]
学習部204は、第2商品に関する第4属性値を含む第2データと、第2クエリと、に基づいて、属性値抽出モデルM3に関する学習を行う。第2商品は、第2アイテムの一例である。このため、第2商品と記載した箇所は、第2アイテムと読み替えることができる。第2アイテムは、第1アイテムの箇所で説明したアイテムの説明のうち、属性値抽出モデルM3の学習で利用されるアイテムである。第2アイテムは、正解となる第4属性値が特定されているアイテムである。第2アイテムは、属性値抽出モデルM3の訓練データとして用いられるアイテムである。
【0096】
第2データは、第2アイテムに関する何らかの内容を含むデータである。第2データは、第2アイテムの詳細に関するデータである。第2データは、第2アイテムの種類に応じたデータであればよく、第2商品のタイトルに限られない。例えば、第2アイテムが宿泊施設であれば、宿泊施設又は部屋のタイトル又は紹介文が第2データに相当してもよい。例えば、アイテムが電子書籍であれば、電子書籍の実データ部分が第2データに相当してもよい。本実施形態では、第2データは、第2商品の説明に関する第2文字列を含む。
【0097】
例えば、学習部204は、訓練データの入力部分が入力された場合に、訓練データの出力部分が出力されるように、属性値抽出モデルM3の学習を行う。学習は、属性値抽出モデルM3のパラメータを調整することである。学習自体は、属性値抽出モデルM3に応じた種々のアルゴリズムを利用可能であり、例えば、BERT等の事前学習済みのTransformerベースのモデルで行われるファインチューニングの態様をとってよく、他のモデルの最適なパラメータを求める際は誤差逆伝播法又は勾配降下法といったアルゴリズムを利用してもよい。
【0098】
本実施形態では、学習部204は、第2データ及び第2クエリが属性値抽出モデルM3に入力された場合に、第2データにおける第4属性値の部分を識別可能な始点Pbと終点Peを属性値抽出モデルM3が出力するように、学習を行う。始点Pbと終点Peは、部分識別情報の一例である。このため、始点Pbと終点Peについて説明している箇所は、部分識別情報と読み替えることができる。
図5の例では、入力I41,I42のうち、第4属性値の部分は「100Ah」の部分である。例えば、文字をトークンの単位とした場合には、「1」の部分が始点Pbとなり、「h」の部分が終点Peとなるように、学習が行われる。例えば、単語をトークンの単位として、「100Ah」が「100」と「Ah」に分かれた場合には、「100」の部分が始点Pbになり、「Ah」の部分が終点Peになる。例えば、サブワードをトークンの単位として、「100Ah」が「100」、「##A」、「##h」に分かれた場合には、「100」の部分が始点Pbになり、「##h」の部分が終点Peになる。このときサブワードに付く「##」は、元の文字列において、当該サブワードがひとつ前のサブワードと連結していたことを意味する。
図5のように、「AH」、「ah」、「Ah」といった多少の表記ゆれを吸収できるように、学習が行われる。
【0099】
部分識別情報は、第2データにおいて第4属性値が含まれている部分を特定可能な情報であればよい。例えば、第4属性値の1つ前の文字が何文字目であるかを示す情報と、第4属性値の1つ後の文字が何文字目であるかを示す情報と、のペアが部分識別情報に相当してもよい。他にも例えば、部分識別情報は、第4属性値の始点Pbと終点Peだけではなく、その中間の文字も識別可能な情報を含んでもよい。なお、属性値抽出モデルM3は、始点Pbと終点Peではなく、第4属性値そのものを出力してもよい。この場合、学習部204は、第2データ及び第2クエリが入力された場合に、第2データに含まれる第4属性値が出力されるように、属性値抽出モデルM3の学習を行う。
【0100】
ナレッジトークン手法では、学習部204は、第2データと、第1タイプの第2クエリと、に基づいて、属性値抽出モデルM3に関する第1学習を行う。本実施形態では、第1学習は、ナレッジドロップアウト手法と同様の学習であるものとする。学習部204は、第2データと、第2タイプの第2クエリと、に基づいて、属性値抽出モデルM3に関する第2学習を行う。学習部204は、ある1つの第2商品に対し、第1タイプの第2クエリを利用した第1学習と、第2タイプの第2クエリを利用した第2学習と、の2つの学習を行う。
【0101】
本実施形態では、学習部204は、第3属性値の利用可能性をドメインとみなしたマルチドメイン学習を利用して、第1学習及び第2学習を行う。本実施形態のマルチドメイン学習では、属性値知識の有無をドメインとみなし、各ドメインのデータとして、[Seen]又は[Unseen]を含む入力が人工的に用意され、2つのドメインに対する属性値抽出モデルM3の学習が行われる。例えば、学習部204は、「Denny Britz, Quoc Le, and Reid Pryzant. 2017. Effective domain mixing for neural machine translation. In Proceedings of the Second Conference on Machine Translation, pages 118-126, Copenhagen, Denmark. Association for Computational Linguistics.」のマルチドメイン学習の手法からインスパイアされた上記のマルチドメイン学習を実行する。
【0102】
第1学習により、第1タイプと同タイプのクエリが入力された場合には、第1タイプに対応する第1ドメインが推定で利用される。第2学習により、第2タイプと同タイプのクエリが入力された場合には、第2タイプに対応する第2ドメインが推定で利用される。第1ドメインは、第2ドメインよりもクエリ内の属性値に着目した推定が行われる。第2ドメインは、第1ドメインよりもクエリ内の属性に着目した推定が行われる。第1ドメインの方が第2ドメインよりも知識を重視した推定が行われることになる。なお、学習部204は、マルチドメイン学習以外の手法を利用して、第1タイプの第2クエリと、第2タイプの第2クエリと、を利用した学習を行ってもよい。
【0103】
学習部204は、モデル記憶部200に記憶された学習前の属性値抽出モデルM3の学習が完了すると、学習済みの属性値抽出モデルM3をモデル記憶部200に記録する。学習部204は、サーバ10に対し、学習済みの属性値抽出モデルM3を送信する。サーバ10は、学習済みの属性値抽出モデルM3を受信すると、学習済みの属性値抽出モデルM3をモデル記憶部100に記録する。
【0104】
[3-3.推定端末で実現される機能]
モデル記憶部300は、記憶部32により実現される。利用可能性判定部301、第1クエリ取得部302、及び第2属性値抽出部303は、制御部31を主として実現される。これらの機能は、推定機能の一例である。
【0105】
[モデル記憶部]
モデル記憶部300は、学習済みの属性値抽出モデルM3を記憶する。例えば、推定端末30は、サーバ10から学習済みの属性値抽出モデルM3をダウンロードすると、学習済みの属性値抽出モデルM3をモデル記憶部300に記録する。モデル記憶部300は、属性データベースDB2も記憶する。この属性データベースDB2も、サーバ10からダウンロードされたものであってもよい。
【0106】
[利用可能性判定部]
利用可能性判定部301は、推定用の第1商品に関する第1属性に関連付けられた少なくとも1つの第1属性値の利用可能性を判定する。本実施形態では、第1属性によっては、第1属性値を利用可能ではないことがある。例えば、未知の第1属性が第1クエリとして入力された場合には、第1属性値を利用可能ではない。このため、学習用の第2属性は、原則として属性データベースDB2に格納されているが、推定用の第1属性は、属性データベースDB2に格納されているとは限らない。また、第1属性が属性データベースDB2に格納されていたとしても、第1属性値が存在しなければ、必ずしも、第1属性に第1属性値が関連付けられているとは限らない。
【0107】
例えば、利用可能性判定部301は、属性データベースDB2を参照し、第1属性が存在するか否かを判定する。利用可能性判定部301は、属性データベースDB2に第1属性が存在しないと判定した場合には、第1属性値の利用可能性がないと判定する。利用可能性判定部301は、属性データベースDB2に第1属性が存在すると判定した場合には、第1属性に関連付けられた第1属性値が属性データベースDB2に存在するか否かを判定する。
【0108】
利用可能性判定部301は、第1属性に関連付けられた第1属性値が属性データベースDB2に存在しないと判定した場合には、第1属性値の利用可能性がないと判定する。利用可能性判定部301は、第1属性に関連付けられた第1属性値が属性データベースDB2に存在すると判定した場合には、第1属性値の利用可能性があると判定する。なお、利用可能性の判定方法は、本実施形態の例に限られない。例えば、利用可能性判定部301は、第1属性に関連付けられた第1属性値が存在したとしても、その第1属性値の個数が閾値未満だったり、その第1属性値の頻度が閾値未満だったりした場合には、第1属性値が利用可能ではないと判定してもよい。
【0109】
なお、本実施形態では、店舗の担当者が第1属性を指定する場合を例に挙げるが、第1属性は、何らかの形で取得されるようにすればよく、他の方法によって取得されてもよい。例えば、オンラインショッピングモールの管理者が第1属性を指定してもよい。例えば、商品データと属性の関係が学習された機械学習モデルに基づいて、第1データから第1属性が推定されることによって、第1属性が取得されてもよい。他にも例えば、店舗の担当者が第1商品に対して指定した属性と関連性のある他の属性が、第1属性として取得されてもよい。第1データも同様であり、店舗の担当者が指定するだけではなく、任意の方法によって取得可能である。例えば、推定端末30又は他のコンピュータに第1データ及び第1属性が記憶されており、当該記憶された第1データ及び第1属性が取得されてもよい。
【0110】
[第1クエリ取得部]
第1クエリ取得部302は、推定用の第1商品に関する第1属性に関連付けられた少なくとも1つの第1属性値を含む第1クエリを取得する。本実施形態では、第1クエリは、原則として、第1属性と、少なくとも1つの第1属性値と、を含む。ただし、第1属性値が利用可能とは限らないので、この場合には、第1クエリは、第1属性を含むが第1属性値は含まないこともある。第1属性値が利用可能な場合には、第1クエリには、第1属性が1つだけ含まれてもよい。
【0111】
ナレッジトークン手法では、第1クエリ取得部302は、第1属性値が利用可能であると判定された場合には、第1属性値が利用可能なことを示す第3識別情報と、少なくとも1つの第1属性値と、を含む第3タイプの第1クエリを取得する。第3識別情報は、第1属性値の利用可能性を示すという点で第1識別情報とは異なるが、他の点は、第1識別情報と同様である。このため、本実施形態では、第3識別情報は、[Seen]の文字列である。第3タイプは、推定用の第1クエリのタイプという点で第1タイプとは異なるが、データとしての形式自体は、第1タイプと同様である。第3識別情報及び第3タイプの詳細は、第1識別情報及び第1タイプの詳細と同様である。
【0112】
第1クエリ取得部302は、第1属性値が利用可能であると判定されない場合には、第1属性値が利用可能ではないことを示す第4識別情報を含む第4タイプの第1クエリを取得する。第4識別情報は、第1属性値の利用可能性を示すという点で第2識別情報とは異なるが、他の点は、第2識別情報と同様である。このため、本実施形態では、第4識別情報は、[Unseen]の文字列である。第4タイプは、推定用の第1クエリのタイプという点で第2タイプとは異なるが、データとしての形式自体は、第4タイプと同様である。第4識別情報及び第4タイプの詳細は、第2識別情報及び第2タイプの詳細と同様である。
【0113】
なお、本実施形態では、ナレッジドロップアウト手法は、学習時を想定したものであり、推定時を想定したものではないものとする。このため、第1クエリ取得部302は、第1属性値が利用可能であると判定された場合には、利用可能な第1属性値の全てが第1クエリに含まれるように、第1クエリを取得する。第1クエリは、利用可能な第1属性値の一部だけを含んでもよい。この場合、第1クエリ取得部302は、最も頻度が高い第1属性値だけを含む第1クエリを取得してもよい。他にも例えば、第1クエリ取得部302は、ランダムに選択した第1属性値を含む第1クエリ、頻度が閾値以上の全ての第1属性値を含む第1クエリ、又は頻度が高い順に所定数の第1属性値を含む第1クエリを取得してもよい。他にも例えば、第1属性値が埋め込み表現化された状態で第1クエリに含まれるようにしてもよい。
【0114】
[第2属性値抽出部]
第2属性値抽出部303は、第1商品に関する第2属性値を含む第1データ、第1クエリ、及び学習済みの属性値抽出モデルM3に基づいて、第1データから第2属性値を抽出する。例えば、第2属性値抽出部303は、第1データ及び第1クエリを、学習済みの属性値抽出モデルM3に入力する。学習済みの属性値抽出モデルM3は、第1データ及び第1クエリの埋め込みベクトル(埋め込み表現)を計算し、当該計算された埋め込みベクトルに基づいて、第2属性値の始点Pbと終点Peを出力する。第2属性値抽出部303は、第1データのうち、始点Pbから終点Peまでの部分を、第2属性値として抽出する。
【0115】
ナレッジトークン手法では、第2属性値抽出部303は、第1属性値が利用可能であると判定された場合には、第1商品に関する第2属性値を含む第1データ、第3タイプの第1クエリ、及び学習済みの属性値抽出モデルM3に基づいて、第1データから第2属性値を抽出する。第2属性値抽出部303は、第1データと、第3タイプの第1クエリと、を学習済みの属性値抽出モデルM3に入力する。学習済みの属性値抽出モデルM3は、これらの埋め込みベクトルに応じた第2属性値の始点Pbと終点Peを出力する。
【0116】
第2属性値抽出部303は、第1属性値が利用可能であると判定されない場合には、第1データ、第4タイプの第1クエリ、及び学習済みの属性値抽出モデルM3に基づいて、第1データから第2属性値を抽出する。第2属性値抽出部303は、第1データと、第4タイプの第1クエリと、を学習済みの属性値抽出モデルM3に入力する。学習済みの属性値抽出モデルM3は、これらの埋め込みベクトルに応じた第2属性値の始点Pbと終点Peを出力する。なお、属性値抽出モデルM3が、始点Pbと終点Peを出力するのではなく、第2属性値そのものを出力する場合には、第2属性値抽出部303は、属性値抽出モデルM3から出力された第2属性値を取得すればよい。
【0117】
[4.学習システムで実行される処理]
図9及び
図10は、学習システム1で実行される処理の一例を示すフロー図である。
図9及び
図10の処理は、制御部11,21,31がそれぞれ記憶部12,22,32に記憶されたプログラムに従って動作することによって実行される。
図9及び
図10の処理が実行されるにあたり、訓練データベースDB1及び属性データベースDB2は、予め作成されているものとする。
【0118】
図9のように、学習端末20は、訓練データベースDB1に第2データが格納された第2商品のうち、学習対象の第2商品を決定する(S1)。学習対象の第2商品は、S2以降の処理の対象となる第2商品である。例えば、訓練データベースDB1に第2データが格納された第2商品の中から、まだ属性値抽出モデルM3に学習させていない第2商品が学習対象として決定される。
【0119】
学習端末20は、訓練データベースDB1を参照し、学習対象の第2商品の第2データ及び第2属性を取得する(S2)。学習端末20は、属性データベースDB2を参照し、S2で取得された第2属性に関連付けられた全ての第3属性値を取得する(S3)。学習端末20は、S2で取得された第2属性と、S3で取得された全ての第3属性値と、を含む仮の第2クエリを取得する(S4)。S4の時点でナレッジトークンが挿入されてもよいが、ここでは、まだナレッジトークンは挿入されないものとする。第2属性と第3属性値の間と、第3属性値同士の間と、には、SEPトークンが挿入される。
【0120】
学習端末20は、第3属性値ごとに、除外レートと、当該第3属性値の頻度と、に基づいて、当該第3属性値が除外される確率を決定する(S5)。先述したように、除外レートは、予め指定されている。頻度は、属性データベースDB2に格納されているものとする。学習端末20は、第3属性値ごとに、当該第3属性値の確率に基づいて、当該第3属性値を除外するか否かを判定する(S6)。S6の判定により、全ての第3属性値のうちの一部が除外されると判定される。なお、極めて低い確率で、全ての第3属性値が除外されると判定されることもあるが、本実施形態では、この点は考えないものとする。
【0121】
学習端末20は、S4で取得した仮の第2クエリのうち、S6で除外すると判定した第3属性値を他の値(例えば、パディング用のトークン)に置き換えることによって、第1タイプの第2クエリを取得する(S7)。S7では、[Seen]のナレッジトークンも第2クエリに挿入される。学習端末20は、S4で取得した仮の第2クエリのうち、第3属性値が全て除外された第2タイプの第2クエリを取得する(S8)。S8では、[Unseen]のナレッジトークンも第2クエリに挿入される。
【0122】
学習端末20は、S2で取得した第2データ、第1タイプの第2クエリ、及び第2タイプの第2クエリに基づいて、マルチドメイン学習を利用して、属性値抽出モデルM3の学習を行う(S9)。S9では、学習端末20は、学習対象の第2商品の第2データ及び第1タイプの第2クエリが入力された場合に、当該第2データにおける第4属性値の始点Pbと終点Peが出力されるように、属性値抽出モデルM3の学習を行う。学習端末20は、学習対象の第2商品の第2データ及び第2タイプの第2クエリが入力された場合に、当該第2データにおける第4属性値の始点Pbと終点Peが出力されるように、属性値抽出モデルM3の学習を行う。
【0123】
学習端末20は、属性値抽出モデルM3の学習を完了するか否かを判定する(S10)。S10の判定は、予め定められた条件に基づいて実行されるようにすればよい。例えば、訓練データベースDB1に格納された全ての第2データが学習で利用された場合に、属性値抽出モデルM3の学習が完了してもよいし、一定数の第2データが学習で利用された場合に、属性値抽出モデルM3の学習が完了してもよい。
【0124】
S10において、属性値抽出モデルM3の学習を完了すると判定されない場合(S10:N)、S1の処理に戻る。この場合、次の学習対象の第2商品が決定されて属性値抽出モデルM3の学習が継続される。属性値抽出モデルM3の学習を完了すると判定された場合(S10:Y)、学習端末20は、属性値抽出モデルM3の学習を完了し、サーバ10に対し、学習済みの属性値抽出モデルM3を送信する(S11)。サーバ10は、学習済みの属性値抽出モデルM3を受信すると(S12)、学習済みの属性値抽出モデルM3を記憶部12に記録する(S13)。以降、推定端末30から学習済みの属性値抽出モデルM3が利用可能になる。
【0125】
図10に移り、推定端末30は、サーバ10から、学習済みの属性値抽出モデルM3をダウンロードして記憶部22に記録する(S14)。推定端末30は、記憶部32に予め記憶された第1商品の第1データと、店舗の担当者により指定された第1属性と、を取得する(S15)。推定端末30は、属性データベースDB2を参照し、第1属性値の利用可能性を判定する(S16)。
【0126】
第1属性値を利用可能であると判定された場合(S16:可)、推定端末30は、第1属性に関連付けられた全ての第1属性値を取得する(S17)。推定端末30は、S15で取得した第1属性と、全ての第1属性値と、を含む第3タイプの第1クエリを取得する(S18)。推定端末30は、第1データ、第3タイプの第1クエリ、及び学習済みの属性値抽出モデルM3に基づいて、第1データから第2属性値を抽出し(S19)、本処理は終了する。S19では、属性値抽出モデルM3の第1ドメインを利用した推定が実行される。
【0127】
S16において、第1属性値を利用可能であると判定されない場合(S16:不可)、推定端末30は、第1属性値を含まずに、第1属性を含む第4タイプの第1クエリを取得する(S20)。推定端末30は、第1データ、第4タイプの第1クエリ、及び学習済みの属性値抽出モデルM3に基づいて、第1データから第2属性値を抽出し(S21)、本処理は終了する。S21では、属性値抽出モデルM3の第2ドメインを利用した推定が実行される。
【0128】
本実施形態の学習システム1によれば、第4属性値を含む第2データと、第2商品に関する第2属性に関連付けられた複数の第3属性値のうちの少なくとも一部が除外された第2クエリと、に基づいて、属性値抽出モデルM3に関する学習を行う。これにより、本当は学習で利用可能な第3属性値を除外することによって、知識の不完全さを属性値抽出モデルM3に学習させることができるので、属性値抽出モデルM3の精度が高まる。例えば、実運用では、完全には網羅しきれていない属性データベースDB2といった不完全な知識を利用する必要がある。この不完全さを属性値抽出モデルM3に学習させることによって、未知の第1属性が入力されたり、属性データベースDB2にほとんど第1属性値が存在しない第1属性が入力されたりしたとしても、属性値抽出モデルM3は、第1データから第2属性値を抽出可能になる。更に、従来の属性値抽出モデルM2に比べるとクエリ拡張を実現できるので、この点でも、属性値抽出モデルM3の精度が高まる。
【0129】
また、学習システム1は、第1クエリは、第1属性と、少なくとも1つの第1属性値と、を含む。第2クエリは、第2属性を含み、複数の第3属性値のうちの少なくとも一部が除外される。これにより、第1属性値だけではなく第1属性も第1クエリに含めることができ、かつ、第2属性を第2クエリに含めることができるので、より効果的にクエリ拡張を実現できる。その結果、属性値抽出モデルM3の精度が高まる。
【0130】
また、学習システム1は、複数の第3属性値のうちの一部のみを除外し、複数の第3属性値のうち、除外されなかった残りの第3属性値を含む第2クエリを取得する。これにより、第2クエリにある程度の第3属性値を含めることができるので、クエリ拡張を実現しつつ、知識の不完全さを属性値抽出モデルM3に学習させることができる。
【0131】
また、学習システム1は、第3属性値ごとに、当該第3属性値に関連付けられた確率に基づいて、当該第3属性値を除外するか否かを決定し、複数の第3属性値のうち、確率に基づいて除外すると決定した一部のみを除外する。これにより、どの程度の第3属性値を除外せずに残すかを管理しやすくなるので、管理者が想定した通りに第3属性値を除外できる。例えば、管理者が想定しないほど多くの第3属性値が除外されてしまったり、管理者が想定したよりも少ない第3属性値しか除外されなかったりすることを防止できる。その結果、管理者が狙ったように、知識の不自然さを属性値抽出モデルM3に学習させることができる。
【0132】
また、学習システム1は、第3属性値ごとに、当該第3属性値に関連付けられた、当該第3属性値の頻度に応じた確率に基づいて、当該第3属性値を除外するか否かを決定する。これにより、例えば、第3属性値の頻度が高いほど、当該第3属性値が除外されにくくするといったことが可能になるので、頻出の第3属性値を属性値抽出モデルM3に学習させやすくなる。
【0133】
また、学習システム1は、第3属性値ごとに、予め定められた除外レートと、当該第3属性値の頻度と、に基づいて、当該第3属性値の確率を決定する。除外レートにより、どの程度の第3属性値を残すかを管理しやすくなるので、管理者が想定した通りに第3属性値を除外できる。
【0134】
また、学習システム1は、全ての第3属性値のうちの一部のみを除外し、全ての第3属性値のうち、除外されなかった残りの第3属性値を含む第2クエリを取得する。これにより、ある程度の第3属性値を属性値抽出モデルM3に学習させることができる。
【0135】
また、学習システム1は、複数の第3属性値を含む第2クエリを取得し、第2クエリに含まれる複数の第3属性値のうちの一部を他の値に置き換えることによって、当該一部の第3属性値を除外する。これにより、他の値を第2クエリに含めることによって、知識の不完全さを属性値抽出モデルM3に学習させることができる。
【0136】
また、学習システム1は、第2データと、第1タイプの第2クエリと、に基づいて、属性値抽出モデルM3に関する第1学習を行い、第2データと、第2タイプの第2クエリと、に基づいて、属性値抽出モデルM3に関する第2学習を行う。これにより、第3属性値を属性値抽出モデルM3に学習させつつ、より効率的に、知識の不完全さを属性値抽出モデルM3に学習させることができる。更に、第1属性値が利用可能な場合の属性値抽出モデルM3と、第1属性値が利用可能ではない場合の属性値抽出モデルM3と、を別々に作成する場合に比べて、1つの属性値抽出モデルM3にまとめることができるので、属性値抽出モデルM3の管理負担が軽減する。
【0137】
また、学習システム1は、第3属性値の利用可能性をドメインとみなしたマルチドメイン学習を利用して、第1学習及び第2学習を行う。これにより、1つの属性値抽出モデルM3の中で、実際の推定時における第1属性値の利用可能性に応じて推定処理のスイッチが切り替わるようにすることができる。このため、第1属性値が利用可能な場合と利用可能ではない場合との両方に対応できるハイブリッドな属性値抽出モデルM3とすることができる。
【0138】
また、学習システム1は、第2データ及び第2クエリが属性値抽出モデルM3に入力された場合に、第2データにおける第4属性値の部分を識別可能な部分識別情報を属性値抽出モデルM3が出力するように、学習を行う。これにより、実際の推定時には、第1データの中のどの部分が第2属性値なのかを識別できるので、第1データから第2属性値を抽出しやすくなる。
【0139】
また、学習システム1は、第1アイテムは、推定用の第1商品であり、第2アイテムは、学習用の第2商品である。これにより、オンラインショッピングモールで取引される商品の属性値抽出を精度よく行うことができる。
【0140】
また、学習システム1は、第1商品に関する第2属性値を含む第1データ、第1属性値を含む第1クエリ、及び学習済みの属性値抽出モデルM3に基づいて、第1データから第2属性値を抽出する。これにより、クエリ拡張を実現できるので、第2属性値を精度よく抽出できる。
【0141】
また、学習システム1は、第1属性値が利用可能であると判定された場合には、第1アイテムに関する第2属性値を含む第1データ、第3タイプの第1クエリ、及び学習済みの属性値抽出モデルM3に基づいて、第1データから第2属性値を抽出する。学習システム1は、第1属性値が利用可能であると判定されない場合には、第1データ、第4タイプの第1クエリ、及び学習済みの属性値抽出モデルM3に基づいて、第1データから第2属性値を抽出する。これにより、第1属性値が利用可能な場合と、第1属性値が利用可能ではない場合と、の何れの場合にも、第2属性値を精度よく抽出できる。
【0142】
[5.変形例]
本開示は、以上に説明した実施形態に限定されるものではない。本開示の趣旨を逸脱しない範囲で、適宜変更可能である。
【0143】
図11は、変形例における学習システム及び属性値抽出システムの一例である。
図11のように、学習システム1及び属性値抽出システム2が互いに別々のシステムであってもよい。属性値抽出システム2は、学習システム1により作成された学習済みの属性値抽出モデルを利用可能なシステムである。
図11の例では、学習システム1は、学習端末20を含む。属性値抽出システム2は、サーバ10及び推定端末30を含む。サーバ10、学習端末20、及び推定端末30の各々の機能は、実施形態で説明した通りである。属性値抽出システム2は、サーバ10を含まずに、推定端末30だけを含んでもよい。
【0144】
例えば、実施形態では、ナレッジドロップアウト手法及びナレッジトークン手法の両方が利用される場合を説明したが、学習端末20は、ナレッジトークン手法を利用せずに、ナレッジドロップアウト手法だけを利用して、属性値抽出モデルM3の学習を行ってもよい。この場合、第1クエリ及び第2クエリは、ナレッジトークンを含まない。例えば、学習端末20は、ナレッジドロップアウト手法を利用せずに、ナレッジトークン手法だけを利用して、属性値抽出モデルM3の学習を行ってもよい。この場合、第1クエリは、第3属性値が除外されずに、全ての第3属性値を含んでもよい。
【0145】
例えば、学習端末20で実現されるものとして説明した機能は、サーバ10、推定端末30、又は他のコンピュータで実現されてもよいし、複数のコンピュータで分担されてもよい。例えば、推定端末30で実現されるものとして説明した機能は、サーバ10、学習端末20、又は他のコンピュータで実現されてもよいし、複数のコンピュータで分担されてもよい。
【0146】
[6.付記]
例えば、学習システム及び属性値抽出システムは、下記のような構成も可能である。
【0147】
(1)
推定用の第1アイテムに関する第1属性に関連付けられた少なくとも1つの第1属性値を含む第1クエリを利用して、前記第1アイテムに関する第2属性値を含む第1データから前記第2属性値を抽出するための属性値抽出モデルを記憶するモデル記憶部と、
学習用の第2アイテムに関する第2属性に関連付けられた複数の第3属性値のうちの少なくとも一部が除外された第2クエリを取得する第2クエリ取得部と、
前記第2アイテムに関する第4属性値を含む第2データと、前記第2クエリと、に基づいて、前記属性値抽出モデルに関する学習を行う学習部と、
を含む学習システム。
(2)
前記第1クエリは、前記第1属性と、前記少なくとも1つの第1属性値と、を含み、
前記第2クエリは、前記第2属性を含み、前記複数の第3属性値のうちの少なくとも一部が除外される、
(1)に記載の学習システム。
(3)
前記第2クエリ取得部は、
前記複数の第3属性値のうちの一部のみを除外し、
前記複数の第3属性値のうち、除外されなかった残りの前記第3属性値を含む前記第2クエリを取得する、
(1)又は(2)に記載の学習システム。
(4)
前記第2クエリ取得部は、
前記第3属性値ごとに、当該第3属性値に関連付けられた確率に基づいて、当該第3属性値を除外するか否かを決定し、
前記複数の第3属性値のうち、前記確率に基づいて除外すると決定した一部のみを除外する、
(3)に記載の学習システム。
(5)
前記学習システムは、前記第3属性値ごとに、複数の前記第2データが格納された第1データベースにおける当該第3属性値の頻度に基づいて、当該第3属性値の前記確率を決定する確率決定部を更に含み、
前記第2クエリ取得部は、前記第3属性値ごとに、当該第3属性値に関連付けられた、当該第3属性値の前記頻度に応じた前記確率に基づいて、当該第3属性値を除外するか否かを決定する、
(4)に記載の学習システム。
(6)
前記確率決定部は、前記第3属性値ごとに、予め定められた除外レートと、当該第3属性値の前記頻度と、に基づいて、当該第3属性値の前記確率を決定する、
(5)に記載の学習システム。
(7)
前記学習システムは、前記複数の第3属性値が格納された第2データベースに格納された全ての前記第3属性値を取得する第3属性値取得部を更に含み、
前記第2クエリ取得部は、
前記全ての第3属性値のうちの一部のみを除外し、
前記全ての第3属性値のうち、除外されなかった残りの前記第3属性値を含む前記第2クエリを取得する、
(3)~(6)の何れかに記載の学習システム。
(8)
前記第2クエリ取得部は、
前記複数の第3属性値を含む前記第2クエリを取得し、
前記第2クエリに含まれる前記複数の第3属性値のうちの一部を他の値に置き換えることによって、当該一部の第3属性値を除外する、
(3)~(7)に記載の学習システム。
(9)
前記第1属性によっては、前記第1属性値を利用可能ではないことがあり、
前記第2クエリ取得部は、
前記第3属性値が利用可能なことを示す第1識別情報と、前記複数の第3属性値のうちの少なくとも一部と、を含む第1タイプの前記第2クエリを取得し、
前記第3属性値が利用可能ではないことを示す第2識別情報を含み、前記複数の第3属性値の全てが除外された第2タイプの前記第2クエリを取得し、
前記学習部は、
前記第2データと、前記第1タイプの前記第2クエリと、に基づいて、前記属性値抽出モデルに関する第1学習と、
前記第2データと、前記第2タイプの前記第2クエリと、に基づいて、前記属性値抽出モデルに関する第2学習と、を行う、
(1)~(8)の何れかに記載の学習システム。
(10)
前記学習部は、前記第3属性値の利用可能性をドメインとみなしたマルチドメイン学習を利用して、前記第1学習及び前記第2学習を行う、
(9)に記載の学習システム。
(11)
前記学習部は、前記第2データ及び前記第2クエリが前記属性値抽出モデルに入力された場合に、前記第2データにおける前記第4属性値の部分を識別可能な部分識別情報を前記属性値抽出モデルが出力するように、前記学習を行う、
(1)~(10)の何れかに記載の学習システム。
(12)
前記第1アイテムは、推定用の第1商品であり、
前記第2アイテムは、学習用の第2商品であり、
前記第1データは、前記第1商品の説明に関する第1文字列を含み、
前記第2データは、前記第2商品の説明に関する第2文字列を含み、
前記属性値抽出モデルは、前記第1文字列から前記第2属性値を抽出するための自然言語処理に関するモデルである、
(1)~(11)の何れかに記載の学習システム。
(13)
(3)~(8)の何れかに記載の学習システムにより作成された学習済みの属性値抽出モデルを利用可能な属性値抽出システムであって、
推定用の第1アイテムに関する第1属性に関連付けられた少なくとも1つの第1属性値を含む第1クエリを取得する第1クエリ取得部と、
前記第1アイテムに関する第2属性値を含む第1データ、前記第1クエリ、及び前記学習済みの属性値抽出モデルに基づいて、前記第1データから前記第2属性値を抽出する第2属性値抽出部と、
を含む属性値抽出システム。
(14)
(9)又は(10)に記載の学習システムにより作成された学習済みの属性値抽出モデルを利用可能な属性値抽出システムであって、
推定用の第1アイテムに関する第1属性に関連付けられた少なくとも1つの第1属性値の利用可能性を判定する利用可能性判定部と、
前記第1属性値が利用可能であると判定された場合には、前記第1属性値が利用可能なことを示す第3識別情報と、前記少なくとも1つの第1属性値と、を含む第3タイプの第1クエリを取得し、前記第1属性値が利用可能であると判定されない場合には、前記第1属性値が利用可能ではないことを示す第4識別情報を含む第4タイプの第1クエリを取得する第1クエリ取得部と、
前記第1属性値が利用可能であると判定された場合には、前記第1アイテムに関する第2属性値を含む第1データ、前記第3タイプの第1クエリ、及び前記学習済みの属性値抽出モデルに基づいて、前記第1データから前記第2属性値を抽出し、前記第1属性値が利用可能であると判定されない場合には、前記第1データ、前記第4タイプの第1クエリ、及び前記学習済みの属性値抽出モデルに基づいて、前記第1データから前記第2属性値を抽出する第2属性値抽出部と、
を含む属性値抽出システム。
【符号の説明】
【0148】
1 学習システム、2 属性値抽出システム、N ネットワーク、P 商品ページ、10 サーバ、11,21,31 制御部、12,22,32 記憶部、13,23,33 通信部、20 学習端末、24,34 操作部、25,35 表示部、30 推定端末、P 商品ページ、M1 質問応答モデル、M2,M3 属性値抽出モデル、Pb 始点、Pe 終点、100,200 モデル記憶部、201 第3属性値取得部、202 確率決定部、203 第2クエリ取得部、204 学習部、300 モデル記憶部、301 利用可能性判定部、302 第1クエリ取得部、303 第2属性値抽出部、N10 ニュース記事、R12 応答、D20,D30 商品データ、DB1 訓練データベース、DB2 属性データベース、I41,I42 入力、Q11,Q21,Q31,Q40 クエリ、V22,V32 属性値。