(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-02-28
(45)【発行日】2024-03-07
(54)【発明の名称】学習装置、機械学習モデル及び学習方法
(51)【国際特許分類】
G06N 20/00 20190101AFI20240229BHJP
【FI】
G06N20/00 130
(21)【出願番号】P 2022188192
(22)【出願日】2022-11-25
(62)【分割の表示】P 2020219436の分割
【原出願日】2020-12-28
【審査請求日】2022-11-25
(73)【特許権者】
【識別番号】399037405
【氏名又は名称】楽天グループ株式会社
(74)【代理人】
【識別番号】110000154
【氏名又は名称】弁理士法人はるか国際特許事務所
(72)【発明者】
【氏名】中澤 満
(72)【発明者】
【氏名】友岡 高志
【審査官】伊知地 和之
(56)【参考文献】
【文献】特開2020-035023(JP,A)
【文献】特開2019-160236(JP,A)
【文献】国際公開第2018/109806(WO,A1)
【文献】特開2006-309485(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06N 20/00
(57)【特許請求の範囲】
【請求項1】
商品に関する3以上の項目データからなる複数の商品情報が予め記憶された記憶部から、第1商品の第1商品情報と第2商品の第2商品情報を取得する商品情報取得部と、
前記第1商品情報における少なくとも1つの項目データを、前記第2商品情報の当該項目データに置き換えた第3商品情報を生成する商品情報生成部と、
前記商品情報が入力されると該商品情報が整合するか否か判定する機械学習モデルに、前記第1商品情報及び複数の前記第2商品の候補の商品情報を整合する商品情報とし、前記第3商品情報を不整合な商品情報として学習させる学習部と、
を含み、
前記商品情報生成部が置き換える前記項目データの数は、前記第1商品情報に含まれる項目データの数の半数未満である学習装置。
【請求項2】
前記商品情報取得部は、前記第1商品と複数の前記第2商品の候補との類似度に基づいて、複数の前記第2商品の候補から前記第2商品情報を取得する請求項1に記載の学習装置。
【請求項3】
前記商品情報取得部は、前記類似度が予め設定された範囲内にある前記第2商品情報を取得する請求項2に記載の学習装置。
【請求項4】
前記商品情報取得部は、前記類似度が予め設定された閾値以下である前記第2商品情報を取得する請求項2に記載の学習装置。
【請求項5】
前記各項目の特徴情報を生成する特徴情報生成部と、
前記各項目の特徴情報に基づいて、前記第1商品と、複数の前記第2商品の候補と、のそれぞれについて特徴ベクトルを取得する特徴ベクトル取得部と、
前記第1商品の特徴ベクトルと、前記第2商品の複数の候補の特徴ベクトルとのそれぞれの距離に基づいて、前記類似度を算出する類似度算出部と、をさらに含む、
請求項2から4のいずれかに記載の学習装置。
【請求項6】
前記機械学習モデルは、前記判定を前記項目ごとに行う請求項1から5のいずれかに記載の学習装置。
【請求項7】
前記商品情報生成部は、置き換える前記項目データを無作為に選択する請求項1から6のいずれかに記載の学習装置。
【請求項8】
商品に関する3以上の項目データからなる商品情報が入力されると該商品情報が整合するか否か判定する
処理をコンピュータが実行する機械学習モデルであって、
商品に関する3以上の項目データからなる複数の商品情報が予め記憶された記憶部から取得された第1商品の第1商品情報及び前記記憶部から取得された複数の第2商品の候補の商品情報を整合する商品情報とし、前記第1商品情報における少なくとも1つの項目データを前記記憶部から取得された第2商品の第2商品情報の当該項目データに置き換えて生成された第3商品情報を不整合な商品情報とした学習が実行済であり、
置き換えられる前記項目データの数は、前記第1商品情報に含まれる項目データの数の半数未満である機械学習モデル。
【請求項9】
商品に関する3以上の項目データからなる複数の商品情報が予め記憶された記憶部から、第1商品の第1商品情報と第2商品の第2商品情報を取得する商品情報取得ステップと、
前記第1商品情報における少なくとも1つの項目データを、前記第2商品情報の当該項目データに置き換えた第3商品情報を生成する生成ステップと、
前記商品情報が入力されると該商品情報が整合するか否か判定する機械学習モデルに、前記第1商品情報及び複数の前記第2商品の候補の商品情報を整合する商品情報とし、前記第3商品情報を不整合な商品情報として学習させる学習ステップと、
を含み、
前記生成ステップにおいて置き換えられる前記項目データの数は、前記第1商品情報に含まれる項目データの数の半数未満である学習方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、学習装置、機械学習モデル及び学習方法に関する。
【背景技術】
【0002】
近年、オンライン上でショッピングやオークション、フリーマーケット等のサービスが提供されている。これらのサービスが提供されるウェブページ(商品ページや出品ページと呼称される)には、商品画像、商品名、商品説明文、カテゴリ等の商品に関する商品情報が表示される。当該商品情報は、例えば出品者や販売者によって、サービスのプラットフォームへ提供される。
【0003】
また、商品ページの作成を支援する技術も存在する。例えば、下記特許文献1では出品者から受信した商品画像に基づいて、出品者によって過去に購入された商品の画像の中から類似する類似画像を検索し、検索された類似画像に対応する商品情報を含む商品ページを生成する出品支援装置が開示されている。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
ところで、購入者が商品情報に基づいて購入を検討するためには、商品画像、商品名、商品説明文、カテゴリ等の商品に関する商品情報が全体として整合していることが望ましい。しかし、出品者から提供される商品情報が整合していない場合があった。
【0006】
本開示の目的の1つは、出品者から提供される商品情報が整合しているか判定を行う学習装置、機械学習モデル及び学習方法を提供することである。
【課題を解決するための手段】
【0007】
本開示に係る学習装置は、商品に関する複数の項目データからなる複数の商品情報が予め記憶された記憶部から、第1商品の第1商品情報と第2商品の第2商品情報を取得する商品情報取得部と、前記第1商品情報における少なくとも1つの項目データを、前記第2商品情報の当該項目データに置き換えた第3商品情報を生成する商品情報生成部と、前記商品情報が入力されると該商品情報が整合するか否か判定する機械学習モデルに、前記第3商品情報を不整合な商品情報として学習させる学習部と、を含む。
【0008】
本開示の一態様では、前記商品情報取得部は、前記第1商品と複数の前記第2商品の候補との類似度に基づいて、前記複数の前記第2商品の候補から前記第2商品情報を取得する。
【0009】
本開示の一態様では、前記商品情報取得部は、前記類似度が予め設定された範囲内にある前記第2商品情報を取得する。
【0010】
本開示の一態様では、前記商品情報取得部は、前記類似度が予め設定された閾値以下である前記第2商品情報を取得する。
【0011】
本開示の一態様では、前記各項目の特徴情報を生成する特徴情報生成部と、前記各項目の特徴情報に基づいて、前記第1商品と、前記複数の第2商品の候補と、のそれぞれについて特徴ベクトルを取得する特徴ベクトル取得部と、前記第1商品の特徴ベクトルと、前記第2商品の複数の候補の特徴ベクトルとのそれぞれの距離に基づいて、前記類似度を算出する類似度算出部と、をさらに含む。
【0012】
本開示の一態様では、前記機械学習モデルは、前記判定を前記項目ごとに行う。
【0013】
本開示に係る機械学習モデルは、商品に関する複数の項目データからなる商品情報が入力されると該商品情報が整合するか否か判定する機械学習モデルであって、商品に関する複数の項目データからなる複数の商品情報が予め記憶された記憶部から取得された第1商品の第1商品情報における少なくとも1つの項目データを前記記憶部から取得された第2商品の第2商品情報の当該項目データに置き換えて生成された第3商品情報を、不整合な商品情報とした学習が実行済である。
【0014】
本開示に係る学習方法は、商品に関する複数の項目データからなる複数の商品情報が予め記憶された記憶部から、第1商品の第1商品情報と第2商品の第2商品情報を取得する商品情報取得ステップと、前記第1商品情報における少なくとも1つの項目データを、前記第2商品情報の当該項目データに置き換えた第3商品情報を生成する生成ステップと、前記商品情報が入力されると該商品情報が整合するか否か判定する機械学習モデルに、前記第3商品情報を不整合な商品情報として学習させる学習ステップと、を含む。
【発明の効果】
【0015】
本開示によれば、出品者から提供される商品情報が整合しているかの判定が容易になる。
【図面の簡単な説明】
【0016】
【
図2】学習装置及び判定装置で実現される機能の一例を示す機能ブロック図である。
【
図5】商品情報取得部の機能の一例を示す機能ブロック図である。
【
図6】第2商品を選択する処理の一例を示すフロー図である。
【
図7】学習装置が実行する学習処理の一例を示すフロー図である。
【
図8】商品情報取得部の機能の一例を示す機能ブロック図である。
【
図9】判定装置が実行する判定処理の一例を示すフロー図である。
【発明を実施するための形態】
【0017】
[1.判定システムの概要]
以下、本開示に係るユーザ装置102と学習装置104を含む判定システム100の実施形態の例を説明する。
図1は、判定システム100のハードウェア構成の概略を示す図である。
図1に示すように、判定システム100は、ユーザ装置102と学習装置104とを含み、これらは、インターネット又はLANなどのネットワーク118に接続される。なお、
図1ではユーザ装置102を1台示しているが、ユーザ装置102は複数台あってもよい。また、後述するように、学習装置104と判定装置212とが個別に構成される場合には、判定システム100は、ユーザ装置102と学習装置104判定装置212とを含む。
【0018】
ユーザ装置102は、出品者等のユーザが操作するコンピュータである。例えば、ユーザ装置102は、パーソナルコンピュータ、携帯情報端末(タブレット型コンピュータ及びウェアラブル端末を含む)、又は携帯電話機(スマートフォンを含む)等である。例えば、ユーザ装置102は、制御部106A、記憶部108A、通信部110A、操作部112A、表示部114A及び撮影部116を含む。
【0019】
制御部106Aは、少なくとも1つのプロセッサを含む。制御部106Aは、記憶部108Aに記憶されたプログラムやデータに従って処理を実行する。記憶部108Aは、主記憶部及び補助記憶部を含む。例えば、主記憶部はRAMなどの揮発性メモリであり、補助記憶部は、ROM、EEPROM、フラッシュメモリ、又はハードディスクなどの不揮発性メモリである。
【0020】
通信部110Aは、有線通信又は無線通信用の通信インタフェースであり、ネットワーク118を介してデータ通信を行う。操作部112Aは、申込者が操作を行うための入力デバイスであり、例えば、タッチパネルやマウス等のポインティングデバイス、キーボード、又はボタン等である。操作部112Aは、ユーザによる操作内容を制御部106Aに伝達する。表示部114Aは、例えば、液晶表示部又は有機EL表示部等である。表示部114Aは、制御部106Aの指示に従って画像を表示する。
【0021】
撮影部116は、少なくとも1つのカメラを含む。撮影部116は、商品を被写体として撮影を行う。なお、撮影部116は、静止画ではなく、動画を生成してもよい。
【0022】
学習装置104は、オンライン上でショッピングやオークション、フリーマーケット等のサービスを提供する管理者が操作するコンピュータである。例えば、学習装置104は、例えばサーバコンピュータである。学習装置104は、パーソナルコンピュータ、携帯情報端末(タブレット型コンピュータ及びウェアラブル端末を含む)、又は携帯電話機(スマートフォンを含む)等であってもよい。
【0023】
例えば、学習装置104は、制御部106B、記憶部108B、通信部110B、操作部112B、表示部114Bを含む。制御部106B、記憶部108B、通信部110B、操作部112B、及び表示部114Bの各々の物理的構成は、それぞれユーザ装置102に含まれる制御部106A、記憶部108A、通信部110A、操作部112A、及び表示部114Aと同様であってよい。
【0024】
なお、記憶部108A,108Bに記憶されるものとして説明するプログラム及びデータは、ネットワーク118を介して供給されるようにしてもよい。また、ユーザ装置102及び学習装置104の各々のハードウェア構成は、上記の例に限られず、種々のハードウェアを適用可能である。例えば、コンピュータ読み取り可能な情報記憶媒体を読み取る読取部(例えば、光ディスクドライブやメモリカードスロット)や外部機器とデータの入出力をするための入出力部(例えば、USBポート)が含まれていてもよい。例えば、情報記憶媒体に記憶されたプログラムやデータが読取部や入出力部を介して、各コンピュータに供給されるようにしてもよい。
【0025】
[2.学習装置で実現される機能]
図2は、学習装置104の機能的構成を示す概略を示す図である。
図2に示すように、学習装置104は、データ記憶部202と、商品情報取得部204と、商品情報生成部206と、学習部208と、機械学習モデル210と、を含む。
【0026】
機械学習モデル210に含まれるプログラムには、コンピュータが実行すべき処理内容
(命令又は計算式)が定義されており、例えば、畳み込みやプーリングなどの処理を行うためのコードを含む。パラメータは、学習によって調整される少なくとも1つの数値を含み、例えば、重み付け係数やバイアスなどの数値を含む。学習前の機械学習モデル210であれば、初期値のパラメータを含み、学習済みの機械学習モデル210であれば、学習によって調整されたパラメータを含む。
【0027】
判定システム100では、機械学習モデル210の学習が行われ、学習済みの機械学習モデル210を用いて判定が行われる。なお、本開示では、学習を行う学習装置104と学習済の機械学習モデル210を含む判定装置212とが一体である形態について説明するが、学習装置104と判定装置212とが個別に構成されてもよい。
【0028】
データ記憶部202は、商品に関する複数の項目データからなる複数の商品情報が予め記憶される。具体的には、例えば、データ記憶部202は、
図3に示すような第1商品から第n商品までの複数の商品の商品情報を含む第1データセットが予め記憶される。本実施形態では、各商品情報は、データ名、商品画像、価格、状態、商品名/商品紹介文及びカテゴリを表すデータをそれぞれ含む。
【0029】
データ名は、各商品の商品情報を識別するデータである。例えば、第1商品に関する商品情報を識別するデータ名は、第1商品情報である。同様に、第2商品から第n商品までの商品に関する商品情報を識別するデータ名は、それぞれ第2商品情報から第n商品情報である。
【0030】
商品画像は、商品を撮影した画像データである。具体的には、例えば、スマートフォンである第1商品を撮影したビットマップ形式の画像データ「aaa.bmp」である。また、例えば、テレビである第2商品を撮影したビットマップ形式の画像データ「bbb.bmp」である。なお、商品画像はビットマップ形式に限られず、商品情報取得部204が取得できる形式であれば他の形式の静止画や動画であってもよい。
【0031】
価格は、当該商品の販売価格を表す数値データである。例えば、スマートフォンである第1商品の価格は「50,000」である。また、テレビである第2商品の価格は「80,000」である。なお、価格の単位は円であるが、ここでは、価格は単位を含まない数値データである。
【0032】
状態は、当該商品の保存状態を表すデータである。具体的には、例えば、第1商品の状態は「良い」であり、第2商品の状態は「悪い」である。状態は、「良い」、「やや悪い」、「悪い」等の文字列データであってもよいし、例えば保存状態に応じて6段階に分類された数値データであってもよい。
【0033】
商品名/商品紹介文は、当該商品の製品名や仕様、製造年月日などの出品者が商品ページの閲覧者に対して行う説明に関する文字列データである。具体的には、例えば、第1商品の商品名はスマートフォンの製品名(型番など)であり、第2商品の商品名はテレビの製品名(型番など)である。また、第1商品の商品紹介文は、搭載されたOSなどのスマートフォンの仕様や、製造メーカー、製造年月日等のテキストデータである。第2商品の商品紹介文は、画面サイズなどのテレビの仕様や、製造メーカー、製造年月日等のテキストデータである。
【0034】
カテゴリは、当該商品が該当する商品分野の分類を表す情報である。具体的には、例えば、サービスのトップページ等には、ユーザが商品を検索しやすいようにカテゴリの一覧が表示される。カテゴリは、当該カテゴリの一覧のうちの一項目を表すデータであり、ユーザが商品を検索する際に用いる商品分野の分類である。カテゴリは、「スマートフォン」や「テレビ」などの特定の商品を表す文字列データであってもよいし、「レディース」、「メンズ」等のターゲットとなる顧客層の属性を表す文字列データであってもよい。また、カテゴリは、上記特定の商品や属性と対応して予め設定された数値データであってもよい。
【0035】
また、商品画像、商品名/商品紹介文及びカテゴリは、それぞれの実態を表すデータとともに正解データが関連付けられる。各項目の正解データは、各項目のデータが商品情報の中の他の項目のデータと整合しているか否かを表すフラグである。例えば、正解データは、当該項目のデータが他の項目のデータと整合している場合に「0.0」という値が設定され、整合していない場合に「1.0」という値が設定される。正解データは、管理者が商品情報を確認することによって設定されてもよいし、後述する学習済みの機械学習モデル210が出力した判定結果が設定されてもよい。
【0036】
ここで、整合するとの意味は、各項目がそれ以外の項目と社会通念上対応しているかを表す。具体的には、例えば、商品画像のデータ「aaa.bmp」がスマートフォンを撮影した画像データであり、商品名/商品紹介文のデータがスマートフォンに関する説明が記載された文字列データであるのに対して、カテゴリのデータが「車」や「バッグ」等の異なる商品のカテゴリを表すデータである場合、カテゴリのデータは商品画像及び商品名/商品紹介文のデータと社会通念上対応していない。従って、このような場合、カテゴリの正解データとして「1.0」が設定される。
【0037】
なお、商品情報に含まれる不整合な項目の数は、各商品情報(
図3に示す1行の商品情報)の正解データが存在する項目数の半数未満である。すなわち、各商品情報の正解データが存在する項目のうちの半数以上の項目の正解データは「0.0」である。例えば、
図3に示す例では、正解データが存在する商品画像、商品名/商品紹介文、カテゴリの3項目のうち、2項目以上の正解データは「0.0」である。整合しないと設定される項目は、少なくとも正解データが「0.0」である項目との関係で、整合していないと判定される。
【0038】
なお、各商品情報は、各項目のデータと関連付けられた正解データだけでなく、商品情報が全体として整合しているか否かを表す全体の正解データを含んでもよい(
図3の2列目)。全体の正解データは、各項目と関連付けられた正解データが全て「0.0」である場合に「0.0」であって、1つ以上項目が「1.0」である場合に「1.0」とされる。また、全体の正解データは、後述する学習済みの機械学習モデル210が出力した判定結果が設定されてもよい。
【0039】
予め複数のユーザが出品する商品の商品情報をユーザ装置102に入力することにより、学習装置104は、複数の商品情報を取得する。データ記憶部202は、商品に関する複数の項目データからなる複数の商品情報が予め記憶されている。以下、データ記憶部202は、
図3に示すような第1データセットを予め記憶しているものとして説明する。
【0040】
商品情報取得部204は、データ記憶部202から、第1商品の第1商品情報と第2商品の第2商品情報を取得する。具体的には、商品情報取得部204は、第1商品の第1商品情報を取得する。さらに、商品情報取得部204は、当該第1商品と複数の第2商品の候補との類似度に基づいて、複数の第2商品の候補から第2商品情報を取得する。
【0041】
例えば、まず、商品情報取得部204は、スマートフォンである第1商品の第1商品情報を取得する。商品情報取得部204は、第1データセットに含まれる商品情報から無作為に第1商品情報を取得してよいが、整合する商品情報(すなわちに含まれる各正解データが全て「0.0」である商品情報)を取得する。また、商品情報取得部204は、第1データセットから複数の第2商品の候補のそれぞれについて商品情報を取得する。そして、商品情報取得部204は、当該候補の中から第1商品と第2商品の類似度に基づいて、テレビである第2商品の第2商品情報を取得する。第2商品情報は、第1データセットに含まれる第1商品情報以外の商品情報が取得されるが、第2商品情報の選択方法については後述する。
【0042】
商品情報生成部206は、第1商品情報における1つの項目データを、第2商品情報の当該項目データに置き換えた第3商品情報を生成する。具体的には、例えば、商品情報生成部206は、第1商品情報におけるカテゴリのデータ「スマートフォン」を、第2商品情報のカテゴリのデータ「テレビ」に置き換えた第3商品情報を生成する。また、商品情報生成部206は、第1データセットに含まれる第1商品情報を第3商品情報に入れ替えた第2データセットを生成する(
図4参照)。なお、入れ替える項目は、無作為に選択される。入れ替える項目の数は、各商品情報の正解データが存在する項目数の半数未満であれば複数であってもよい。
【0043】
なお、第2データセットは、第1データセットに生成された第3商品情報が追加されたデータセットであってもよい。また、商品情報生成部206が生成する不整合な商品情報は複数であってもよく、この場合、第2データセットは、複数の不整合な商品情報が含まれる。
【0044】
学習部208は、商品情報が入力されると該商品情報が整合するか否か判定する機械学習モデル210に、第3商品情報を不整合な商品情報として学習させる。機械学習モデル210は、例えば、畳み込みニューラルネットワーク(CNN:Convolutional Neural Network)などの公知のニューラルネットワークである。機械学習モデル210は、商品の特徴ベクトル(後述)が入力されると、商品情報の特徴情報を計算し、該特徴情報に応じた判定結果を出力する。特徴情報は、入力されたデータの特徴を示す少なくとも1つの数値で表現される。特徴情報は、通常は多次元ベクトルで表現されるが、配列形式や単一の数値などの他の形式で表現されてもよい。学習部208が機械学習モデル210に対して行う学習については後述する。
【0045】
[3.第2商品情報の選択]
続いて、第1データセットに含まれる複数の商品情報から第2商品情報を選択する方法の一例について説明する。
図5は、商品情報取得部204の機能的構成を示す概略を示す図である。商品情報取得部204は、特徴情報生成部502と、特徴ベクトル取得部504と、類似度算出部506と、選択部508と、を含む。
【0046】
特徴情報生成部502は、各項目の特徴情報を生成する。特徴量は、任意の次元数で表現される。特徴情報生成部502による特徴量の計算方法自体は、公知の方法を利用可能であり、例えば、重み付け係数が設定されたフィルタによる畳み込みやプーリングなどが行われる。
【0047】
具体的には、例えば、特徴情報生成部502は、商品情報に含まれる項目ごとに、該項目のデータが入力されると特徴情報を生成する各部を含む。上記例では、特徴情報生成部502は、商品画像特徴情報生成部502Aと、価格特徴情報生成部502Bと、状態特徴情報生成部502Cと、商品説明特徴情報生成部502Dと、カテゴリ特徴情報生成部502Eと、を含む。
【0048】
商品画像特徴情報生成部502Aは、商品画像のデータが入力されると該商品画像の特徴情報を生成する。価格特徴情報生成部502Bは、価格のデータが入力されると該価格の特徴情報を生成する。状態特徴情報生成部502Cは、状態のデータが入力されると該状態の特徴情報を生成する。商品説明特徴情報生成部502Dは、商品名/商品紹介文のデータが入力されると該商品名/商品紹介文の特徴情報を生成する。カテゴリ特徴情報生成部502Eは、カテゴリのデータが入力されると該カテゴリの特徴情報を生成する。
【0049】
特徴情報生成部502に含まれる各部は、既存の技術を用いて、入力されたデータに応じた特徴情報を生成してよい。具体的には、例えば、商品画像特徴情報生成部502Aは、画像認識研究のために準備された画像の標準データセットを用いて学習された機械学習モデルを含み、該機械学習モデルが算出した特徴ベクトルを商品画像の特徴情報としてもよい。価格特徴情報生成部502Bは、当該商品の市場流通価格の平均値との比率や、第1データセットの同じカテゴリに属する商品情報に含まれる価格のデータの平均値との比率等を価格の特徴情報としてよい。状態特徴情報生成部502Cは、予め設定された保存状態に応じて6段階に分類されたテーブルを参照し、該状態と対応する値を状態の特徴情報としてよい。商品説明特徴情報生成部502Dは、ウェブ上のディクショナリや一般市場で入手可能なコーパスを用いて学習された任意の長さの文章を固定長のベクトルに変換する機械学習モデルを含み、該機械学習モデルが算出した特徴ベクトルを商品名/商品紹介文の特徴情報としてもよい。カテゴリ特徴情報生成部502Eは、カテゴリのツリー構造における位置に応じて予め設定された値をカテゴリの特徴情報としてもよい。
【0050】
なお、特徴情報生成部502に含まれる各部が生成する特徴情報は、それぞれスカラー量であってもよいし、ベクトル量であってもよい。また、特徴情報生成部502は、第1商品だけでなく、第1データセットから無作為に選択された複数の第2商品の候補の商品情報に基づいて、特徴情報を生成する。
【0051】
特徴ベクトル取得部504は、各項目の特徴情報に基づいて、第1商品と、複数の第2商品の候補と、のそれぞれについて特徴ベクトルを取得する。具体的には、例えば、特徴ベクトル取得部504は、特徴情報生成部502に含まれる各部が生成した各項目の特徴情報を連結し、1個の特徴ベクトルを生成する。特徴ベクトルを生成する方法は、商品画像からカテゴリまでの各特徴情報を単に連結して特徴ベクトルを生成してもよいし、他の公知の方法を用いて生成してもよい。特徴ベクトル取得部504は、第1商品の特徴ベクトルと、無作為に選択された複数の第2商品の候補の特徴ベクトルを取得する。
【0052】
類似度算出部506は、第1商品と、第2商品の複数の候補の類似度を算出する。具体的には、例えば、類似度算出部506は、第1商品の特徴ベクトルと、第2商品の複数の候補の特徴ベクトルと、のそれぞれのユークリッド空間における距離を算出する。そして、類似度算出部506は、算出した距離に基づいて、第1商品と第2商品の各候補との類似度を算出する。例えば、類似度算出部506は、距離が短いほど類似度が大きく、距離が長いほど類似度が小さくなるように、算出した距離の逆数に所定の定数を乗じた値を、第1商品と第2商品の各候補との類似度としてよい。すなわち、第1商品と第2商品の類似度が大きいほど、当該第1商品と第2商品は類似している。
【0053】
なお、類似度算出部506は、特徴ベクトルではなく、特徴情報生成部502が生成した各項目の特徴情報や各項目のデータに基づいて類似度を算出してもよい。例えば、類似度算出部506は、カテゴリのツリー構造において、第1商品と、第2商品各の各候補が属するノードを特定する。そして、類似度算出部506は、第1商品のカテゴリのノードと、第2商品各の各候補が属するノードと、の距離(例えば、最近共通祖先(LCA:Lowest Common Ancestor))を算出し、算出した距離に基づいて類似度を算出してもよい。
【0054】
選択部508は、第2商品を選択する。具体的には、例えば、第1商品と第2商品の類似度が大きすぎる場合、第3商品の商品情報が全体として整合することがある。そこで、第1商品との類似度が大きすぎる第2商品が選択されないように、選択部508は、第2商品の複数の候補の中から、類似度が予め設定された閾値以下である第2商品を取得する。類似度が予め設定された閾値以下である第2商品の候補が複数である場合、選択部508は、その中から無作為に第2商品を選択してもよいし、最も類似度が小さい第2商品を選択してもよいし、最も類似度が大きい第2商品を選択してもよい。類似度が予め設定された閾値以下である第2商品を取得することにより、全体として整合する第3商品の商品情報が生成されることを防止できる。
【0055】
また、選択部508は、類似度が予め設定された範囲内にある第2商品情報を取得してもよい。具体的には、例えば、選択部508は、第2商品の複数の候補の中から、類似度が予め設定された範囲内にある第2商品を取得する。類似度が予め設定された範囲内にある第2商品の候補が複数である場合、選択部508は、その中から無作為に第2商品を選択してもよいし、最も類似度が小さい第2商品を選択してもよいし、最も類似度が大きい第2商品を選択してもよい。
【0056】
さらに、管理者が想定している(検出したい)不整合な商品情報に応じて、類似度が所定範囲内にある商品の商品情報を取得するか、閾値以下にある商品の商品情報を取得するか、が決定されてもよい。類似度が所定範囲内にある商品の商品情報を取得する場合は、所定範囲を適切に設定することで、第1商品と適度に類似した商品を第2商品として取得することができる。一方、類似度が閾値以下の商品情報を取得する場合は、閾値を適切に設定することで、第1商品と類似していない商品を第2商品として取得することができる。
【0057】
図6は、第2商品の選択方法を示すフローチャートの一例である。まず、特徴情報生成部502は、第1商品と第2商品の複数の候補の商品情報を取得する(S602)。具体的には、特徴情報生成部502は、第1商品の商品情報と、第2商品の複数の候補の商品情報と、を第1データセットの中から無作為に取得する。
【0058】
次に、特徴情報生成部502は、S602で取得した全ての商品情報について、該商品情報に含まれる各項目のデータから特徴情報を生成する(S604)。そして、特徴ベクトル取得部504は、各項目の特徴情報に基づいて、第1商品と、複数の第2商品の候補と、のそれぞれについて特徴ベクトルを生成し取得する(S606)。
【0059】
次に、類似度算出部506は、S606で取得された第1商品の特徴ベクトルと、第2商品の複数の候補の特徴ベクトルと、のそれぞれの距離に基づいて類似度を算出する(S608)。さらに、選択部508は、第2商品の複数の候補の中から、類似度が予め設定された閾値以下である第2商品を取得する(S610)。商品情報生成部206は、第1商品の商品情報と、S610で選択された第2商品の商品情報と、に基づいて、第3商品情報を生成する。生成された第3商品情報は、第2データセットの一部としてデータ記憶部202に記憶される。なお、
図6に示した第2商品の選択方法は一例であって、これに限られない。例えば、第2商品は第1データセットの中から無作為に選択されてもよい。
【0060】
[4.学習装置が行う学習]
本実施形態の学習装置104は、上記のような機械学習モデル210の学習を行い、判定システム100は、学習済の機械学習モデル210を利用して商品情報が整合するか否かの判定を行う。学習に用いられる訓練データは、第2データセットに含まれる商品情報である。第2データセットはデータ記憶部202に記憶される。訓練データは、機械学習モデル210に学習させる個々のデータ単位である。訓練データは、教師データ又は学習データと呼ばれることもある。例えば、訓練データには、入力データと正解データとが対応付けられている。即ち、訓練データは、入力データと正解データのペアである。1つ1つのペアが訓練データであり、その集まりが第2データセットである。訓練データに含まれる入力データは、特徴ベクトル取得部504が取得した特徴ベクトルである。入力データは、学習済みの機械学習モデル210に入力される入力データと同じ形式(本実施形態では、特徴ベクトル)である。
【0061】
正解データは、正解となる出力を示すデータであって、各商品情報に含まれる。正解となる出力とは、入力データが入力された場合に機械学習モデル210が出力すべき内容(機械学習モデル210に出力してほしい内容)である。例えば、正解データは、真値又は真値ベクトルを示すデータということもできる。正解データは、正解情報と呼ばれることもある。
【0062】
例えば、
図4に示すように、正例である第2商品情報に含まれる「テレビ」というデータは、整合していることに相当する「0.0」(正例であることを示す真値)を示す正解データが対応付けられている。負例である第3商品情報に含まれる「テレビ」というデータには、整合していないことに相当する「1.0」(負例であることを示す真値)を示す正解データが対応付けられている。
【0063】
本実施形態では、第2データセットに含まれる正解データは、商品画像の正解データと、商品名/商品紹介文の正解データと、カテゴリの正解データと、である。例えば、第2データセットの第3商品情報の入力データは、[0.0,0.0,1.0]を示す正解データが対応付けられている。第2データセットの第2商品情報の入力データは、[0.0,0.0,0.0]を示す正解データが対応付けられている。
【0064】
学習部208は、各項目が整合するか否かの判定を行う機械学習モデル210に対し、複数の訓練データである商品情報から生成した特徴ベクトルを順次入力し、当該商品データに対応する正解データに基づいて、機械学習モデル210の学習を行う。本実施形態では、入力データの入力順が予め定められている場合を説明するが、入力データの入力順は、無作為に定まってもよい。
【0065】
図7は、学習の方法を示すフローの一例である。まず、学習に用いる商品情報の順番を表す変数iが1に設定される(S702)。そして、特徴ベクトル取得部504は、第2データセットに含まれるi番目の商品情報に基づいて、特徴ベクトルを取得する(S704)。例えば、1番目の商品情報は、商品画像のデータが「aaa.bmp」であり、価格のデータが「50000」であり、状態のデータが「良い」であり、商品名/商品紹介文のデータが「aaa.txt」であり、カテゴリのデータが「テレビ」である。iが1である場合、特徴ベクトル取得部504は、1番目の商品情報に基づいて特徴ベクトルを取得する。
【0066】
学習部208は、S704で取得された特徴ベクトルを、機械学習モデル210に入力する(S706)。本実施形態では、機械学習モデル210は、畳み込みニューラルネットワーク(CNN)により実装された機械学習モデル210であるとして説明する。機械学習モデル210は、特徴ベクトルが入力されると、商品情報全体と、商品画像と、商品名/商品紹介文と、カテゴリと、に関する判定結果を表す3次元のベクトルとして出力する。すなわち、機械学習モデル210は、判定を項目ごとに行う。なお、3次元のベクトルに含まれる各次元の値は、それぞれ整合するデータであるかを表す確率を「0.0」から「1.0」までの間の値である。各値は、各項目のデータが整合すると判定される場合に「0.0」であり、不整合であると判定される場合に「1.0」である。
【0067】
次に、学習部208は、損失を計算し、機械学習モデル210の内部パラメータを更新する(S708)。具体的には、学習部208は、特徴ベクトルが機械学習モデル210に入力された場合に出力された3次元ベクトルで表される判定結果と、当該入力データに対応する正解データと、に基づいて、損失を計算する。具体的には、例えば、第2データセットの第3商品情報の入力データは、[0.0,0.0,1.0]を示す正解データが対応付けられている。学習部208は、S706で出力される判定結果を表す3次元ベクトルと、当該正解データの3次元ベクトルと、を用いて損失を算出する。損失の計算方法自体は、2乗和誤差又はクロスエントロピーといった公知の計算方法を利用可能である。そして、学習部208は、算出された損失が小さくなるように、機械学習モデル210の内部パラメータを更新する。ここで、内部パラメータは、機械学習モデル210の内部定数であって、例えば、各ノードの重み付に用いられる値である。
【0068】
パラメータが更新されると、iがインクリメントされ(S712)、次の商品情報を用いたパラメータの更新が行われる。学習部208は、損失が十分小さくなるまで(例えば、損失が閾値未満になる)まで、機械学習モデル210の学習を繰り返す。学習部208は、学習途中で損失が十分小さくなった場合には、その時点で学習が終了してもよい。学習部208は、損失が十分小さくならなくても、所定回数の学習を繰り返した場合には学習が終了してもよい。また、変数iが第2データセットに含まれる商品情報と同じとなった場合に学習が終了してもよい。学習方法(パラメータの調整方法)自体は、公知の手法を利用可能であり、他の方法が利用されてもよい。
【0069】
なお、項目ごとの正解データを用いて学習を実行する場合について説明したが、商品情報が全体として整合しているか否かを表す正解データを用いて学習を行ってもよい。具体的には、
図4に示す第2データセットにおける、データ名と関連付けられた正解データを用いて学習を行ってもよい。データ名と関連付けられた正解データは、当該商品情報に含まれる各項目の正解データのうち、少なくとも1個が「1.0」であれば、「1.0」という値が設定される。すなわち、データ名と関連付けられた正解データは、当該商品情報に含まれる各項目の正解データが全て「0.0」である場合に「0.0」という値が設定される。このような学習を行うことにより、機械学習モデル210は、項目ごとに判定を行うのではなく、商品情報全体として整合しているか否かを判定することができる。
【0070】
学習時の学習装置104では、データ記憶部202は、記憶部108Bを主として実現され、商品情報取得部204、商品情報生成部206、学習部208及び機械学習モデル210の各々は、制御部106Bを主として実現される。
【0071】
[5.判定装置が行う判定]
学習済の学習装置104は、商品情報が整合しているか否かの判定を行う判定装置212として用いることができる。なお、判定装置212は、必ずしも
図2に示す学習装置104の各構成を全て含んでいなくてもよい。判定装置212は、
図2に示す学習装置104の各構成のうち、少なくともデータ記憶部202と、商品情報取得部204と、機械学習モデル210と、を含んでいればよい。また、
図8に示すように、判定装置212に含まれる商品情報取得部204は、少なくとも特徴情報生成部502と、特徴ベクトル取得部504とを含んでいればよい。機械学習モデル210は、
図7に示すフローに従って学習済みである。
図8及び
図9に示すフローチャートに従って、学習済の機械学習モデル210を含む判定装置212が行う判定について説明する。
【0072】
まず、商品情報取得部204は、商品情報を取得する(S902)。具体的には、商品を出品しようとしているユーザは、ユーザ装置102に出品する商品に関する商品情報を入力する。商品情報取得部204は、ネットワーク118を介して、ユーザが入力した商品情報を取得する。
【0073】
次に、特徴情報生成部502は、S902で取得した商品情報に基づいて、各項目の特徴情報を生成する(S904)。また、特徴ベクトル取得部504は、当該各項目の特徴情報に基づいて特徴ベクトルを生成する(S906)。ここでは、S904及びS906は、S604及びS606と同様の方法により各項目の特徴情報及び特徴ベクトルが生成されるものとする。
【0074】
次に、生成された特徴ベクトルは、学習済の機械学習モデル210に入力され(S908)、機械学習モデル210は、判定結果を出力する(S910)。上記例によれば、判定結果は3次元ベクトルで表される。例えば、判定結果が[0.0,0.0,1.0]である場合、当該判定結果は、商品画像と商品名/商品紹介文は整合しているが、カテゴリが整合していないことを表す。
【0075】
また、判定装置212は、判定結果が不整合であることを表す場合に、管理者に対してエラーメッセージや警告を発する構成としてもよい。さらに、判定装置212がネットワーク118を介して判定結果が不整合であることをユーザ装置102に通知してもよい。当該通知を受信したユーザ装置102は、表示部114Aにエラーメッセージ、警告、修正や確認を促すメッセージを表示してもよい。この際、機械学習モデル210が項目ごとに判定を行うことにより、ユーザ装置102及び判定装置212は、ユーザや管理者に不整合が起きている項目を通知し、当該項目に関する確認や修正を促すことができる。
【0076】
判定装置212では、データ記憶部202は、記憶部108Bを主として実現され、商品情報取得部204及び機械学習モデル210は、制御部106Bを主として実現される。
【0077】
以上のように本開示によれば、管理者は、数多くの出品者から提供される商品情報から、整合していない商品情報を容易に見分けることができる。また、多くの場合、ユーザが入力する商品情報は整合しているため、学習に用いる訓練データのために不整合な商品情報を収集することは困難である。訓練データにおいて、整合した商品情報に比べて不整合な商品情報が不足している場合、学習効率が低下したり、学習の結果得られる学習済み機械学習モデルの判定精度が低下したりする恐れがある。本開示によれば、不整合な商品情報を容易に作成することができ、それにより学習効率の向上や、学習済み機械学習モデルの判定精度の向上が期待できる。
【0078】
なお、本開示は、以上に説明した実施の形態に限定されるものではない。本開示の趣旨を逸脱しない範囲で、適宜変更可能である。
【0079】
例えば、第2商品情報が無作為に選択される構成とする場合には、商品情報取得部204は、選択部508や類似度算出部506を有しない構成であってもよい。
【0080】
また、機械学習モデル210を各項目のデータを受け付け可能なモデルとして構成する場合には、機械学習モデル210を特徴情報生成部502及び特徴ベクトル取得部504と一体として形成してもよい。
【0081】
また、商品情報がデータ名、商品画像、価格、状態、商品名/商品紹介文及びカテゴリを表す情報をそれぞれ含む場合について説明したが、商品情報はこれらの一部を含んでもよいし、他の項目の情報を含んでもよい。
【0082】
また、判定システム100にユーザ装置102と学習装置104が含まれる場合を説明したが、ユーザ装置102と学習装置104は、別々のシステムに存在してもよい。この場合、学習装置104は、上記のように、データ記憶部202と、商品情報取得部204と、商品情報生成部206と、学習部208と、機械学習モデル210と、を含み、当該各構成は、学習装置としての機能を実装されるコンピュータにより実現される。一方、判定装置212は、データ記憶部202と、商品情報取得部204と、学習が実行済である機械学習モデル210と、を含み、当該各構成は、学習装置としての機能を実装されるコンピュータとは異なるコンピュータにより実現される。さらに、データ記憶部202に記憶されるものとして説明したデータは、ユーザ装置102又は学習装置104とは異なる他のコンピュータ又は情報記憶媒体に記憶されていてもよい。
【符号の説明】
【0083】
100 判定システム、102 ユーザ装置、104 学習装置、106A,106B制御部、108A,108B 記憶部、110A,110B 通信部、112A,112B 操作部、114A,114B 表示部、116 撮影部、118 ネットワーク、202 データ記憶部、204 商品情報取得部、206 商品情報生成部、208 学習部、210 機械学習モデル、212 判定装置、502 特徴情報生成部、502A 商品画像特徴情報生成部、502B 価格特徴情報生成部、502C 状態特徴情報生成部、502D 商品説明特徴情報生成部、502E カテゴリ特徴情報生成部、504 特徴ベクトル取得部、506 類似度算出部、508 選択部。