(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-10-04
(45)【発行日】2024-10-15
(54)【発明の名称】商品分類のためのマルチ出力ヘッド付きアンサンブル
(51)【国際特許分類】
G06N 20/20 20190101AFI20241007BHJP
G06N 3/045 20230101ALI20241007BHJP
G06N 3/084 20230101ALI20241007BHJP
G06N 3/0985 20230101ALI20241007BHJP
G06N 3/0464 20230101ALI20241007BHJP
【FI】
G06N20/20
G06N3/045
G06N3/084
G06N3/0985
G06N3/0464
【外国語出願】
(21)【出願番号】P 2023106399
(22)【出願日】2023-06-28
【審査請求日】2023-09-14
(32)【優先日】2022-07-25
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】399037405
【氏名又は名称】楽天グループ株式会社
(74)【代理人】
【識別番号】110000154
【氏名又は名称】弁理士法人はるか国際特許事務所
(72)【発明者】
【氏名】塩川 穂高
(72)【発明者】
【氏名】ダス プラディプト
【審査官】真木 健彦
(56)【参考文献】
【文献】特開2019-164402(JP,A)
【文献】特開平05-101028(JP,A)
【文献】特開2021-103480(JP,A)
【文献】特開2020-191076(JP,A)
【文献】突廻 恵太,深層学習を用いた手書き文字のフォーマルとカジュアルの書き分け支援システムの構築,一般社団法人 人工知能学会 第35回全国大会(2021) [online],日本,一般社団法人 人工知能学会,2021年,3D1-OS-12a-04,P.1-4
(58)【調査した分野】(Int.Cl.,DB名)
G06N 20/20
G06N 3/00
G06F 18/24
G06F 16/35
G06F 16/906
(57)【特許請求の範囲】
【請求項1】
マルチ出力ヘッド付きアンサンブルを使用するアイテム分類方法であって、該方法は、少なくとも1つのプロセッサによって実行され、
1つ以上のテキスト入力シーケンスを、該1つ以上のテキスト入力シーケンスに対応する1つ以上の第1の推定器スレッドにおいて受け取ることと、
前記1つ以上の第1の推定器スレッド内において前記1つ以上のテキスト入力シーケンスを1つ以上の第1のトークンにトークン化することと、
1つ以上の第2のトークンに対応する1つ以上の第2の推定器スレッド内において前記1つ以上のテキスト入力シーケンスを前記1つ以上の第2のトークンにトークン化することと、
前記1つ以上の第2の推定器スレッドの出力をアグリゲーターに向けて送ることと、
前記1つ以上の第1の推定器スレッドの出力に基づいて1つ以上のアイテム分類を出力することと、
を含む、方法。
【請求項2】
前記1つ以上の第1の推定器スレッドにおいて、バックプロパゲーションアルゴリズムを適用して、1つ以上のニューラル層を接続する1つ以上のネットワーク重みを更新することと、
前記1つ以上の第1の推定器スレッドに関して交差検証を使用してネットワークパラメーターの最適な設定を定義することと、
前記1つ以上の第1の推定器スレッド内において前記1つ以上の第1のトークンを埋め込み空間にマッピングすることと、
を更に含む、請求項1に記載の方法。
【請求項3】
前記1つ以上の第1の推定器スレッドに関して効率的なハイパーパラメーター探索技法を使用して1つ以上のハイパーパラメーターを定義すること、
を更に含む、請求項1に記載の方法。
【請求項4】
前記1つ以上の第2の推定器スレッドの埋め込み空間内における前記1つ以上の第2のトークンの1つ以上の座標を求めること、
を更に含む、請求項
1に記載の方法。
【請求項5】
ドロップアウト層を有する1つ以上の畳み込みニューラルネットワーク(CNN)重みを使用して前記1つ以上の第2のトークンについて前記求められた1つ以上の座標をエンコードし、それによって、前記1つ以上の第2の推定器スレッドに関して1つ以上のベクトルを得ること、
を更に含む、請求項
4に記載の方法。
【請求項6】
前記1つ以上の第2の推定器スレッド内において、層正規化器を前記1つ以上のベクトルに適用して前記1つ以上のベクトルを正規化することと、
前記正規化された1つ以上のベクトルを前記1つ以上の第2の推定器スレッドからアグリゲーターに送ることと、
を更に含む、請求項
5に記載の方法。
【請求項7】
前記1つ以上の第2の推定器スレッドに対応する1つ以上の出力ヘッドの1つ以上の事後クラス確率を計算すること、
を更に含む、請求項
6に記載の方法。
【請求項8】
前記1つ以上の第2の推定器スレッドの前記出力ヘッドにおける前記1つ以上の事後クラス確率に基づいて前記1つ以上のアイテム分類を取得すること、
を更に含む、請求項
7に記載の方法。
【請求項9】
前記出力ヘッドにおける前記1つ以上の事後クラス確率は、前記アグリゲーターの出力を更に含む、請求項
8に記載の方法。
【請求項10】
マルチ出力ヘッド付きアンサンブルを使用してアイテムを分類する装置であって、該装置は、
コンピュータープログラムコードを記憶するメモリストレージと、
前記メモリストレージに通信結合される少なくとも1つのプロセッサと、
を備え、
前記プロセッサは、前記コンピュータープログラムコードを実行するように構成され、
1つ以上のテキスト入力シーケンスを、該1つ以上のテキスト入力シーケンスに対応する1つ以上の第1の推定器スレッドにおいて受け取ることと、
前記1つ以上の第1の推定器スレッド内において前記1つ以上のテキスト入力シーケンスを1つ以上の第1のトークンにトークン化することと、
1つ以上の第2のトークンに対応する1つ以上の第2の推定器スレッド内において前記1つ以上のテキスト入力シーケンスを前記1つ以上の第2のトークンにトークン化することと、
前記1つ以上の第2の推定器スレッドの出力をアグリゲーターに向けて送ることと、
前記1つ以上の第1の推定器スレッドの出力に基づいて1つ以上のアイテム分類を出力することと、
を含む、装置。
【請求項11】
前記コンピュータープログラムコードは、前記プロセッサによって実行されると、
前記1つ以上の第1の推定器スレッドにおいて、バックプロパゲーションアルゴリズムを適用して、1つ以上のニューラル層を接続する1つ以上のネットワーク重みを更新することと、
前記1つ以上の第1の推定器スレッドに関して交差検証を使用してネットワークパラメーターの最適な設定を定義することと、
前記1つ以上の第1の推定器スレッド内において前記1つ以上の第1のトークンを埋め込み空間にマッピングすることと、
を前記装置に更に行わせる、請求項
10に記載の装置。
【請求項12】
前記コンピュータープログラムコードは、前記プロセッサによって実行されると、
前記1つ以上の第1の推定器スレッドに関して効率的なハイパーパラメーター探索技法を使用して1つ以上のハイパーパラメーターを定義すること、
を前記装置に更に行わせる、請求項
10に記載の装置。
【請求項13】
前記コンピュータープログラムコードは、前記プロセッサによって実行されると、
前記1つ以上の第2の推定器スレッドの埋め込み空間内における前記1つ以上の第2のトークンの1つ以上の座標を求めること、
を前記装置に更に行わせる、請求項
10に記載の装置。
【請求項14】
前記コンピュータープログラムコードは、前記プロセッサによって実行されると、
ドロップアウト層を有する1つ以上の畳み込みニューラルネットワーク(CNN)重みを使用して前記1つ以上の第2のトークンについて前記求められた1つ以上の座標をエンコードし、それによって、前記1つ以上の第2の推定器スレッドに関して1つ以上のベクトルを得ること、
を前記装置に更に行わせる、請求項
13に記載の装置。
【請求項15】
前記コンピュータープログラムコードは、前記プロセッサによって実行されると、
前記1つ以上の第2の推定器スレッド内において、層正規化器を前記1つ以上のベクトルに適用して前記1つ以上のベクトルを正規化することと、
前記正規化された1つ以上のベクトルを前記1つ以上の第2の推定器スレッドからアグリゲーターに送信することと、
を前記装置に更に行わせる、請求項
14に記載の装置。
【請求項16】
前記コンピュータープログラムコードは、前記プロセッサによって実行されると、
前記1つ以上の第2の推定器スレッドに対応する1つ以上の出力ヘッドの1つ以上の事後クラス確率を計算すること、
を前記装置に更に行わせる、請求項
15に記載の装置。
【請求項17】
前記コンピュータープログラムコードは、前記プロセッサによって実行されると、
前記1つ以上の第2の推定器スレッドの前記出力ヘッドにおける前記1つ以上の事後クラス確率に基づいて前記1つ以上のアイテム分類を取得すること、
を前記装置に更に行わせる、請求項
16に記載の装置。
【請求項18】
装置によってマルチ出力ヘッド付きアンサンブルを使用してアイテムを分類するコンピュータープログラムコードを含む非一時的コンピューター可読媒体であって、前記コンピュータープログラムコードは、前記装置の少なくとも1つのプロセッサによって実行されると、
1つ以上のテキスト入力シーケンスを、該1つ以上のテキスト入力シーケンスに対応する1つ以上の第1の推定器スレッドにおいて受け取ることと、
前記1つ以上の第1の推定器スレッド内において前記1つ以上のテキスト入力シーケンスを1つ以上の第1のトークンにトークン化することと、
1つ以上の第2のトークンに対応する1つ以上の第2の推定器スレッド内において前記1つ以上のテキスト入力シーケンスを前記1つ以上の第2のトークンにトークン化することと、
前記1つ以上の第2の推定器スレッドの出力をアグリゲーターに向けて送ることと、
前記1つ以上の第1の推定器スレッドの出力に基づいて1つ以上のアイテム分類を出力することと、
を前記装置に行わせる、非一時的コンピューター可読媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本明細書に記載の本開示は、電子商取引カタログの商品アイテム分類に関する。
【背景技術】
【0002】
本セクションは、本明細書に記載の本開示の様々な態様に関係し得る技術の態様を読者に案内することを目的としている。これらの態様は、以下で説明され及び/又は特許請求の範囲に記載されている。この説明は、本明細書に記載の本開示の様々な態様のより良い理解を容易にする背景情報を読者に提供するのに役立つものと考えられる。したがって、これらの記載は、上記の観点から読まれるべきものであり、従来技術を認めるものではないと理解されるべきである。
【0003】
一般に、電子商取引カタログの分類法は、売買業者によって継続的にアップロードされる割り当てアイテムを有する数千のジャンルからなる。売買業者によるジャンル割り当ては、多くの場合に、誤っているか又は正しくない可能性があるが、自動生成されるトレーニングセットにおいてグラウンドトゥルースラベルとして扱われ、したがって、時間とともにモデル品質を低下させる可能性があるフィードバックループを生み出す。分類学的分類における上記問題は、かなり大きくかつ精選されたトレーニングセットが利用可能でないことに起因して非常に顕著になっている。そのようなシナリオの下では、複数の分類器を組み合わせて、単一の分類器からの不十分な一般化性能に対抗することが一般的である。
【0004】
加えて、大規模な電子商取引カタログにおける商品分類学的分類の難しさに寄与する他の要因には、1)連続的な大規模手動アノテーションが実行不可能であり、データ拡張、半教師あり学習及び少ショット学習が保証を何ら提供しないこと、2)データ拡張及び半教師あり学習方法の有効性が、産業環境では約15%の範囲となりうるラベルノイズが存在する場合に厳しく制限され、ラベル内の破損の性質を更に特定することは簡単でなく、内部評価では、売買業者によるジャンル割り当てエラーレートが、商品分類において13Kよりも多くのリーフノードを有する大規模なカタログの場合に約20%であると示されること、並びに、3)多くの場合に、売買業者にインセンティブを提供するストラテジーを含む品質保証(QA:Quality Assurance)チームが好むアイテムのサンプリング手法からなる最終的な評価データセットに未知の共変量シフトが存在すること、が含まれる。
【発明の概要】
【発明が解決しようとする課題】
【0005】
したがって、大規模な電子商取引カタログ等のカタログ内で商品をより効率的でより高速且つより正確に分類する方法が必要とされている。より詳細には、アンサンブルの推定器分散の削減といくつかの分類器の融合との利点を得られる最小限主義的なニューラルネットワークアーキテクチャが必要とされている。
【課題を解決するための手段】
【0006】
本明細書に記載の本開示の1つの態様において、商品アイテム及び分類学的分類(taxonomy classification)方法及びシステム、すなわち、マルチ出力ヘッド付きアンサンブル(MoHE)フレームワークが開示され、それは効率的、効果的、高速、正確であり、最小のコンピューティングリソースを更に利用する。特に、本明細書に記載の本開示の商品アイテム分類方法及びシステムは、とりわけアンサンブルにおける推定器分散の低減と、いくつかの分類器の融合の利点とを利用することができる軽量の最小限主義的なニューラルネットワークアーキテクチャを提供する。加えて、本明細書に記載の本開示のMoHEフレームワークシステム及び方法は、構造化メタデータを含むように適応可能である。これは、BERT等の従来の重い言語モデルでは困難である可能性がある。加えて、本明細書に記載の本開示は、商品カタログとのユーザーインターラクションを使用して、トレーニングセットと評価セットとの間のラベル不一致を測定する方法を提供する。
【0007】
加えて、分類器の独立したアンサンブルは、多くの場合に、テストセット内のサンプルアイテムの中から分類を行っている間、より予測可能な分散を示す。これは、一般に、独立した分類器が、同じ目的で最適化を行っている際に、互いの勾配情報を交換する方法を有しないからである。ここで、本明細書に記載の本開示のMoHE-1フレームワークシステム及び方法は、個々の各分類器の出力層を融合するとともに融合モジュール又はアグリゲーターモジュールを含む各分類器の個々の予測を平均することによってこの問題を解決する。加えて、本明細書に記載の本開示のMoHE-2フレームワークシステム及び方法は、個々の各分類器内においてミニ融合モジュールを更に追加する。
【0008】
本明細書に記載の本開示の別の態様において、本明細書において推定器スレッドと呼ばれる様々な「エキスパート」分類器を追加するために非常に柔軟でスケーラブルで調節可能なフレームワークが開示される。ここで、個々の推定器スレッドは、様々なメタデータフィールド用に追加することもできる。ほとんどのニューラルネットワークは、メタデータに反映されるような、データに関する追加のドメイン固有のインサイトなしで入力表現学習の実行を試みるが、本明細書に記載の本開示のMoHEフレームワークシステム及び方法は、良好な予測精度を得るために、そのような労力がニューラルモデル内に含まれることを再度可能にする。
【0009】
本明細書に記載の本開示の別の態様において、MoHEフレームワークシステム及び方法は、個々の各分類器の出力がヘッドとみなされる疎結合されたアンサンブルフレームワークとすることができる。ここで、各ヘッドは、モデル化されるタスクが分類タスクであるときに事後クラス確率を計算する。ただし、このフレームワークでは、ヘッドは、一般に出力層において定義される。統計的推定器としての本明細書に記載の本開示のMoHEモデルは、単なる分類器の独立したアンサンブルよりも低い分散を有する。特に、
図4A及び
図4B等を参照すると、トークン化されたテキストは、最初に、埋め込み(EMB:embedding)モジュールを介して埋め込みベクトルに変換することができ、次に、ドロップアウト層を有する畳み込みニューラルネットワーク(CNN:Convolutional Neural Network)を使用するエンコーダー(ENC:encoder)モジュールを介してエンコードされる。
図4A及び
図4Bを引き続き参照すると、次に、層正規化器(LayerNorm)を、エンコーダーモジュールからの結果のベクトルに適用することができる。アグリゲーター(AGG:aggregator)ネットワークモジュールは、全てのそのような層正規化されたベクトルの連結を受け取り、それ自体はフィードフォワードニューラルネットワークである。
図4A及び
図4Bにおける各分類器(CLF:classifier)モジュールも、フィードフォワードニューラルネットワーク分類器である。CLFモジュールは、
図4A及び
図4BにおけるAGGモジュールとともに、本明細書に記載の本開示のMoHEモデル及びフレームワークシステム及び方法のヘッドを構成する。
図4A及び
図4Bを引き続き参照すると、AGGモジュールは、MoHEフレームワーク内の小さな融合ネットワークとして動作することができる。加えて、埋め込み、エンコーダー、層正規化器及び分類器の各スタックは、本明細書において推定器スレッドと呼ぶことができる。ここで、本明細書に記載の本開示のMoHEフレームワークシステム及び方法は、アグリゲーターニューラルネットワーク(又はアグリゲーターモジュール/機能)を使用して個々の分類器からの決定を相関させ、予測分散を、分類器アンサンブルのみを使用することによって得られるものよりも更に削減することができる。その上、MoHEフレームワークは、アプリケーション及びビジネスのニーズに応じて任意に複雑なエンコーダー及び分類器ヘッドを組み込むことができるように十分柔軟である。MoHEフレームワークは、MoEモデル(
図3B)の場合に該当する、全ての推定器スレッドについて1つの共有入力しかないという問題も解決し、これは、特に1つの利点である。
【0010】
本明細書に記載の本開示の別の態様において、マルチ出力ヘッド付きアンサンブルを使用するアイテム分類方法が開示される。本方法は、1つ以上のテキスト入力シーケンスを、当該1つ以上のテキスト入力シーケンスのそれぞれに対応する1つ以上の第1の推定器スレッドにおいて受け取ることと、1つ以上の第1の推定器スレッドのそれぞれ内において1つ以上のテキスト入力シーケンスのそれぞれを1つ以上の第1のトークンにトークン化することと、1つ以上の第1の推定器スレッドの出力に基づいて1つ以上のアイテム分類を出力することとを含むことができる。本方法はまた、1つ以上の第1の推定器スレッドのそれぞれにおいて、バックプロパゲーションアルゴリズムを適用して、1つ以上のニューラル層を接続する1つ以上のネットワーク重みを更新することと、1つ以上の第1の推定器スレッドのそれぞれに関して交差検証を使用してネットワークパラメーターの最適な設定を定義することと、1つ以上の第1の推定器スレッドのそれぞれ内において1つ以上の第1のトークンのそれぞれを埋め込み空間にマッピングすることとを含むことができる。加えて、本方法は、1つ以上の第1の推定器スレッドのそれぞれに関して効率的なハイパーパラメーター探索技法を使用して1つ以上のハイパーパラメーターを定義することを含むことができる。本方法はまた、1つ以上の第2のトークンのそれぞれに対応する1つ以上の第2の推定器スレッド内において1つ以上のテキスト入力シーケンスのそれぞれを1つ以上の第2のトークンにトークン化することを含むことができる。さらに、本方法は、1つ以上の第2の推定器スレッドのそれぞれの埋め込み空間内における1つ以上の第2のトークンのそれぞれの1つ以上の座標を求めることを含むことができる。本方法はまた、ドロップアウト層を有する1つ以上の畳み込みニューラルネットワーク(CNN)重みを使用して1つ以上の第2のトークンのそれぞれの求められた1つ以上の座標をエンコードし、それによって、1つ以上の第2の推定器スレッドのそれぞれに関して1つ以上のベクトルを得ることを含むことができる。
【0011】
加えて、本方法は、1つ以上の第2の推定器スレッドのそれぞれ内において、層正規化器を1つ以上のベクトルに適用して1つ以上のベクトルのそれぞれを正規化することと、正規化された1つ以上のベクトルを1つ以上の第2の推定器スレッドのそれぞれからアグリゲーターに送ることとを含むことができる。さらに、本方法は、1つ以上の第2の推定器スレッドのそれぞれに対応する1つ以上の出力ヘッドの1つ以上の事後クラス確率を計算することを含むことができる。本方法はまた、1つ以上の第2の推定器スレッドのそれぞれの各出力ヘッドにおける1つ以上の事後クラス確率に基づいて1つ以上のアイテム分類を取得することを含むことができる。ここで、各出力ヘッドにおける平均又は合計された1つ以上の事後クラス確率は、アグリゲーターの出力を更に含むことができる。
【0012】
本明細書に記載の本開示の別の態様において、マルチ出力ヘッド付きアンサンブルを使用してアイテムを分類する装置が開示される。この装置は、コンピュータープログラムコードを記憶するメモリストレージと、メモリストレージに通信結合されたプロセッサとを含むことができる。このプロセッサは、コンピュータープログラムコードを実行し、1つ以上のテキスト入力シーケンスを、当該1つ以上のテキスト入力シーケンスのそれぞれに対応する1つ以上の第1の推定器スレッドにおいて受信することと、1つ以上の第1の推定器スレッドのそれぞれ内において1つ以上のテキスト入力シーケンスのそれぞれを1つ以上の第1のトークンにトークン化することと、1つ以上の第1の推定器スレッドの出力に基づいて1つ以上のアイテム分類を出力することとを装置に行わせるように構成される。加えて、コンピュータープログラムコードは、プロセッサによって実行されると、1つ以上の第1の推定器スレッドのそれぞれにおいて、バックプロパゲーションアルゴリズムを適用して、1つ以上のニューラル層を接続する1つ以上のネットワーク重みを更新することと、1つ以上の第1の推定器スレッドのそれぞれに関して交差検証を使用してネットワークパラメーターの最適な設定を定義することと、1つ以上の第1の推定器スレッドのそれぞれ内において1つ以上の第1のトークンのそれぞれを埋め込み空間にマッピングすることとを装置に更に行わせる。さらに、コンピュータープログラムコードは、プロセッサによって実行されると、1つ以上の第1の推定器スレッドのそれぞれに関して効率的なハイパーパラメーター探索技法を使用して1つ以上のハイパーパラメーターを定義することを装置に更に行わせる。また、コンピュータープログラムコードは、プロセッサによって実行されると、1つ以上の第2のトークンのそれぞれに対応する1つ以上の第2の推定器スレッド内において1つ以上のテキスト入力シーケンスのそれぞれを1つ以上の第2のトークンにトークン化することを装置に更に行わせる。加えて、コンピュータープログラムコードは、プロセッサによって実行されると、1つ以上の第2の推定器スレッドのそれぞれの埋め込み空間内における1つ以上の第2のトークンのそれぞれの1つ以上の座標を求めることを装置に更に行わせる。
【0013】
コンピュータープログラムコードは、プロセッサによって実行されると、さらに、ドロップアウト層を有する1つ以上の畳み込みニューラルネットワーク(CNN)重みを使用して1つ以上の第2のトークンのそれぞれの求められた1つ以上の座標をエンコードし、それによって、1つ以上の第2の推定器スレッドのそれぞれに関して1つ以上のベクトルを得ることを装置に更に行わせることができる。加えて、コンピュータープログラムコードは、プロセッサによって実行されると、1つ以上の第2の推定器スレッドのそれぞれ内において、層正規化器を1つ以上のベクトルに適用して当該1つ以上のベクトルのそれぞれを正規化することと、正規化された1つ以上のベクトルを1つ以上の第2の推定器スレッドのそれぞれからアグリゲーターに送信することとを装置に更に行わせる。また、コンピュータープログラムコードは、プロセッサによって実行されると、1つ以上の第2の推定器スレッドのそれぞれに対応する1つ以上の出力ヘッドの1つ以上の事後クラス確率を計算することを装置に更に行わせる。また、コンピュータープログラムコードは、プロセッサによって実行されると、1つ以上の第2の推定器スレッドのそれぞれの各出力ヘッドにおける1つ以上の事後クラス確率に基づいて1つ以上のアイテム分類を取得することを装置に更に行わせる。
【0014】
本明細書に記載の本開示の別の態様において、装置によってマルチ出力ヘッド付きアンサンブルを使用してアイテムを分類するコンピュータープログラムコードを含む非一時的コンピューター可読媒体であって、コンピュータープログラムコードは、装置の少なくとも1つのプロセッサによって実行されると、1つ以上のテキスト入力シーケンスを、当該1つ以上のテキスト入力シーケンスのそれぞれに対応する1つ以上の第1の推定器スレッドにおいて受信することと、1つ以上の第1の推定器スレッドのそれぞれ内において1つ以上のテキスト入力シーケンスのそれぞれを1つ以上の第1のトークンにトークン化することと、1つ以上の第1の推定器スレッドの出力に基づいて1つ以上のアイテム分類を出力することとを装置に更に行わせる、非一時的コンピューター可読媒体が開示される。
【0015】
上記概要は、開示される全ての実施形態を説明することを意図するものでもなければ、本開示のあらゆる実装を説明することを意図するものでもない。以下の説明では、様々な説明のための実施形態がより詳細に例示される。
【0016】
以下の説明は図面を参照して読まれるべきである。異なる図面における同様の要素には、同様の参照符号が付けられている。図面は、必ずしも一律の縮尺ではないが、選択された実施形態を描写しており、本開示の範囲を限定することを意図するものではない。本開示は、様々な実施形態の以下の詳細な説明を添付図面とともに考慮すると、より完全に理解することができる。
【図面の簡単な説明】
【0017】
【
図1A】本明細書に記載の本開示の全体的な単純化したネットワークアーキテクチャの1つの非限定の例示的な実施形態の図である。
【
図1B】本明細書に記載の本開示のプロセスフローの1つの非限定の例示的な実施形態のブロック図である。
【
図2】アグリゲーターモデルの1つの非限定の例示的な実施形態のブロック図である。
【
図3A】アンサンブルモデルの1つの非限定の例示的な実施形態のブロック図である。
【
図3B】混合エキスパート(MoE:mixture of experts)モデルの1つの非限定の例示的な実施形態のブロック図である。
【
図4A】本明細書に記載の本開示のマルチ出力ヘッドアンサンブルの1つの非限定の例示的な実施形態(MoHE-1)のブロック図である。
【
図4B】本明細書に記載の本開示のマルチ出力ヘッドアンサンブルの別の非限定の例示的な実施形態(MoHE-2)のブロック図である。
【
図5A】メタデータ推定器スレッドを有する本明細書に記載の本開示のマルチ出力ヘッドアンサンブルの別の非限定の例示的な実施形態(MoHE-1、method-1)のブロック図である。
【
図5B】メタデータ推定器スレッドを有する本明細書に記載の本開示のマルチ出力ヘッドアンサンブルの別の非限定の例示的な実施形態(MoHE-2、method-1)のブロック図である。
【
図5C】メタデータ推定器スレッドを有する本明細書に記載の本開示のマルチ出力ヘッドアンサンブルの別の非限定の例示的な実施形態(MoHE-2、method-2)のブロック図である。
【
図6A】本明細書に記載の本開示の実験的テストデータに関する様々な表である。
【
図6B】本明細書に記載の本開示の実験的テストデータに関する様々な表である。
【
図7】本明細書に記載の本開示の実験的テストデータに関する様々な表である。
【
図8】本明細書に記載の本開示の実験的テストデータに関する様々なチャートである。
【
図9】本明細書に記載の本開示の実験的テストデータに関する様々なチャートである。
【
図10】本明細書に記載の本開示の実験的テストデータに関する様々なチャートである。
【
図11A】本明細書に記載の本開示の実験的テストデータに関する様々な表である。
【
図11B】本明細書に記載の本開示の実験的テストデータに関する様々な表である。
【
図11C】本明細書に記載の本開示の実験的テストデータに関する様々な表である。
【発明を実施するための形態】
【0018】
例示の実施形態の以下の詳細な説明は、添付の図面を参照したものである。異なる図面における同じ参照番号が、同一又は類似の要素を特定する場合がある。
【0019】
前述の開示は、例示及び説明を提供するものであり、網羅的であること又は開示の正確な形態に実施態様を限定することを意図するものではない。上記の開示に照らして修正及び変形が可能である、又は修正及び変形を実施態様の実践から獲得することもできる。さらに、1つの実施形態の1つ以上の特徴又はコンポーネントを、別の実施形態(又は別の実施形態の1つ以上の特徴)へと組み込むこと又はそれと組み合わせてよい。さらに、以下で提供する動作の流れ図と説明では、1つ以上の動作を省略すること、1つ以上の動作を追加すること、1つ以上の動作を(少なくとも部分的に)同時に実行すること、及び1つ以上の動作の順序を入れ替えてよいことが理解される。
【0020】
本明細書に記載のシステム及び/又は方法は、異なる形態のハードウェア、ファームウェア、又はハードウェアとソフトウェアとの組合せで実装可能であることが明らかとなるであろう。これらのシステム及び/又は方法を実装するために使用される実際の専用制御ハードウェア又はソフトウェアコードは、実施態様を限定するものではない。したがって、本明細書では、特定のソフトウェアコードを参照せずに、システム及び/又は方法の動作及び挙動について説明する。理解すべき点として、本明細書の記載に基づくシステム及び/又は方法を実装するために、ソフトウェア及びハードウェアを設計されてよい。
【0021】
特徴の特定の組合せが、特許請求の範囲に記載されている、及び/又は本明細書に開示されているが、これらの組合せは、想定される実装形態の開示を限定することを意図したものではない。実際、特許請求の範囲に具体的に記載されていない方法及び/又は本明細書に開示されていない方法で、これらの特徴の多くを組み合わせてよい。以下で列挙する各従属請求項は、1つの請求項のみにしか直接従属できないが、想定される実装形態の開示は、請求項の集合における他の全ての請求項と組み合わせた各従属請求項を含むものである。
【0022】
本明細書で使用される要素、行為、又は命令は、いずれも重要又は不可欠であると明示的に記載されていない限り、そのように解釈されるべきではない。また、本明細書において使用する場合、冠詞「a」及び「an」は、1つ以上のアイテムを含むことを意図しており、「1つ以上」と同じ意味で使用されてよい。1つのアイテムのみを意図している場合は、「1つ」又はそれに類する言葉を使用する。さらに、本明細書において使用する場合、「有する(has, have, having)」、「含む(include, including)」等の用語は、非限定的な用語であることを意図している。また、「基づく」という語句は、特に明示的に述べられていない限り、「少なくとも部分的に基づく」という意味であることを意図している。また、「[A]及び[B]の少なくとも一方」又は「[A]又は[B]の少なくとも一方」といった表現は、Aのみ、Bのみ、又はA及びBの双方を含むものと理解される。
【0023】
本明細書の全体を通した「1つの実施形態」、「一実施形態」、「非限定の例示的な実施形態」又は同様に言い回しは、指示された実施形態に関して説明される特定の特徴、構造、又は特性が本解決策の少なくとも1つの実施形態に含まれることを意味する。したがって、本明細書の全体を通した「1つの実施形態において」、「一実施形態において」、「1つの非限定の例示的な実施形態において」又は同様の言い回しのフレーズは、必ずしも全てが同じ実施形態を指すものではない。
【0024】
さらに、説明される本開示の特徴、利点、及び特性は、1つ以上の実施形態において任意の適した方法で組み合わされてもよい。当業者であれば、特定の実施形態の具体的な特徴又は利点のうちの1つ以上がなくても、本明細書の記載に鑑み本開示を実施することができることを認識するであろう。それ以外の場合には、本開示の全ての実施形態に存在しない場合があるいくつかの実施形態における追加の特徴及び利点を認識することができる。
【0025】
本明細書に記載の本開示の1つの実施態様において、ディスプレイページが、コンピューティングデバイスのメモリに存在する情報を含んでよい。この情報は、コンピューティングデバイスからネットワークを介して中央データベースセンターへ、及び、その逆方向に送信されてよい。この情報は、コンピューティングデバイスのそれぞれにあるメモリ、ネットワークのエッジに存在するデータストレージ、又は中央データベースセンターにあるサーバーに記憶されてもよい。コンピューティングデバイス又はモバイルデバイスが、非一時的コンピューター可読媒体を収容してもよい。この非一時的コンピューター可読媒体は、モバイルデバイスの永続的メモリ若しくは一時的メモリに記憶されてもよいか、又は、モバイルデバイスによる動作に何らかの影響を与え得るか若しくはこの動作を開始し得る命令、ロジック、データ、又はコードを含んでもよい。同様に、1つ以上のサーバーが、1つ以上のモバイルデバイスとネットワークにわたって通信してもよく、メモリに存在するコンピューターファイルを送信してもよい。ネットワークは、例えば、インターネット、無線通信ネットワーク、又は1つ以上のモバイルデバイスを1つ以上のサーバーに接続する他の任意のネットワークを含むことができる。
【0026】
コンピューティングデバイス又はモバイルデバイスの任意の説明は、任意のタイプのネットワークデバイスに適用されてよい。これらのネットワークデバイスには、携帯電話機(例えば、iPhone(登録商標)、Android(登録商標)、Blackberry(登録商標)、又は任意の「スマートフォン」)等のモバイルデバイス及び電話機、パーソナルコンピューター、iPad(登録商標)、サーバーコンピューター、若しくはラップトップコンピューター;Android(登録商標)ベースのデバイス若しくはWindows(登録商標)デバイス等のパーソナルデジタルアシスタント(PDA:personal digital assistant);ネットワーク接続ローミングデバイス等のローミングデバイス;無線電子メールデバイス等の無線デバイス若しくはコンピューターネットワークと無線通信することが可能な他のデバイス;又はネットワークを介した通信及び電子トランザクションのハンドリングを行ってよい他の任意のタイプのネットワークデバイスが含まれるが、これらに限定されるものではない。上述した任意のモバイルデバイスの任意の説明は、とりわけBluetooth(登録商標)、近接場通信(NFC:near-field communication)、赤外線(IR:infrared)、及びWi-Fi機能を含むデバイス等の他のデバイスにも適用されてよい。
【0027】
「ソフトウェア」、「アプリケーション」、「アプリ」、及び「ファームウェア」と同様の語句及び用語は、プログラムを記憶する任意の非一時的コンピューター可読媒体を含んでよい。このプログラムは、コンピューターによって実行されると、このコンピューターに方法、機能、又は制御動作を実行させる。
【0028】
「ネットワーク」と同様の語句及び用語は、コンピューターシステム及び/又はモジュール間の電子データの移送を可能にする1つ以上のデータリンクを含んでよい。情報が、ネットワーク又は別の通信接続(配線接続、無線、又は配線接続と無線との組み合わせのいずれかによる)を介してコンピューターに転送又は提供されるとき、コンピューターは、その接続をコンピューター可読媒体として使用する。したがって、限定ではなく例として、コンピューター可読媒体は、所望のプログラムコード手段をコンピュータープログラムコード又はデータ構造体の形態で搬送又は記憶するために使用することができるとともに汎用コンピューター又は専用コンピューターがアクセスすることができる、ネットワーク又はデータリンクも含むことができる。
【0029】
「ポータル」又は「端末」と同様の語句及び用語は、イントラネットページ、インターネットページ、ローカルに存在するソフトウェア若しくはアプリケーション、モバイルデバイスグラフィカルユーザーインターフェース、又はユーザー向けのデジタルプレゼンテーションを含んでよい。ポータルは、本明細書に記載の本開示の様々なモジュール、コンポーネント、特徴、オプション、及び/又は属性にアクセスするための任意のグラフィカルユーザーインターフェースであってよい。例えば、ポータルは、ウェブブラウザー、モバイルデバイスアプリケーション、又はコンピューティングデバイスに存在する任意のアプリケーション若しくはソフトウェアを用いてアクセスされるウェブページとすることができる。
【0030】
図1Aは、本明細書に記載の本開示のネットワークサービス市場プラットフォームと、プロセスと、コンピューティングデバイスと、装置と、コンピューター可読媒体と、システムとの全体的なネットワークアーキテクチャの1つの非限定の例示的な実施形態を示している。特に、ユーザー端末A、B、及びCを含むユーザー110は、本明細書に記載の本開示のMoHEフレームワークシステム及び方法の中央サーバー又はアプリケーションサーバー100とセキュアネットワークを介して双方向通信することができる。ここで、サーバー100は、1つ以上の電子商取引ウェブサイト又はポータルを含むことができる。加えて、ユーザー110は、本明細書に記載の本開示のMoHEフレームワークシステム及び方法を介して互いに直接双方向通信も行ってよい。ここで、ユーザー110は、任意のタイプのエンドユーザーであってよい。ユーザー110のそれぞれは、それらのそれぞれの端末又はポータルを介してサーバー100と通信することができる。
【0031】
図1Aを引き続き参照すると、本明細書に記載の本開示のMoHEフレームワークシステム及び方法の中央サーバー100は、管理(admin)端末/ダッシュボード120と更に双方向通信することができる。ここで、管理端末/ダッシュボード120は、本明細書に記載の本開示の任意のバックエンドシステム若しくはバックオフィスシステム、サーバー、アプリケーション、プロセス、権限、及び様々なエンドユーザーを管理するか、又は、ユーザー110並びにサーバー100、130、及び140のうちの任意のものと通信する様々なツールをユーザーに提供することができる。中央サーバー100は、様々なタイプの商品アイテム、商品カタログ、及び商品分類データを含むことができる商品カタログサーバー130のものとも双方向通信してよい。さらに、本明細書に記載の本開示の中央サーバー100は、データベース/サードパーティーサーバー140と更に双方向通信することができる。ここで、サーバー140は、様々なタイプのデータストレージ(クラウドベースのストレージ等)、ウェブサービス、コンテンツ作成ツール、データストリーム、データフィードを提供することができ、及び/又は、様々なタイプのサードパーティーサポートサービスをMoHEフレームワークシステム及び方法の中央サーバー100に提供することができる。ただし、本明細書に記載の本開示の範囲内では、本明細書に記載の本開示のMoHEフレームワークシステム及び方法は任意のタイプの一般的なネットワークアーキテクチャを含むことができるものと考えられる。
【0032】
図1Aを引き続き参照すると、要素100~140のサーバー又は端末のうちの1つ以上は、パーソナルコンピューター(PC:personal computer)、コンピューティングデバイスを構成するプリント回路基板、ミニコンピューター、メインフレームコンピューター、マイクロコンピューター、電話コンピューティングデバイス、有線/無線コンピューティングデバイス(例えば、スマートフォン、パーソナルデジタルアシスタント(PDA))、ラップトップ、タブレット、スマートデバイス、ウェアラブルデバイス、又は他の任意の同様の機能デバイスを含むことができる。
【0033】
いくつかの実施形態において、
図1Aに示すように、1つ以上のサーバー、端末、及びユーザー100~140は、プロセッサ、メモリ、ストレージコンポーネント、入力コンポーネント、出力コンポーネント、通信インターフェース、及びJSON UIレンダリングコンポーネント等のコンポーネントのセットを含んでよい。デバイスのコンポーネントのセットは、バスを介して通信結合されてよい。
【0034】
バスは、要素100~140のサーバー又は端末のうちの1つ以上のコンポーネントのセットの間での通信を可能にする1つ以上のコンポーネントを備えてよい。例えば、バスは、通信バス、クロスオーバーバー、ネットワーク等であってよい。バスは、要素100~140のサーバー又は端末のうちの1つ以上のコンポーネントのセットの間の単一又は複数(2つ以上)の接続を使用して実装されてよい。本開示は、この点に関して限定されるものではない。
【0035】
要素100~140のサーバー又は端末のうちの1つ以上は、1つ以上のプロセッサを備えてよい。1つ以上のプロセッサは、ハードウェア、ファームウェア、及び/又はハードウェアとソフトウェアとの組み合わせで実装されてよい。例えば、1つ以上のプロセッサは、CPU(central processing unit)、GPU(graphics processing unit)、APU(accelerated processing unit)、マイクロプロセッサ、マイクロコントローラー、DSP(digital signal processor)、フィールドプログラマブルゲートアレイ(FPGA:field-programmable gate array)、特定用途向け集積回路(ASIC:application-specific integrated circuit)、汎用のシングルチッププロセッサ若しくはマルチチッププロセッサ、若しくは他のプログラマブルロジックデバイス、ディスクリートゲートロジック若しくはトランジスタロジック、ディスクリートハードウェアコンポーネント、又は本明細書に記載の機能を実行するように設計されたそれらの任意の組み合わせを含んでよい。汎用プロセッサは、マイクロプロセッサ、又は任意の従来のプロセッサ、コントローラー、マイクロコントローラー、若しくはステートマシンであってよい。1つ以上のプロセッサは、DSP及びマイクロプロセッサの組み合わせ、複数のマイクロプロセッサ、DSPコアと併用した1つ以上のマイクロプロセッサ、又は他の任意のそのような構成等のコンピューティングデバイスの組み合わせとして実施されてよい。いくつかの実施形態において、特定のプロセス及び方法は、所与の機能に固有の回路類によって実行されてよい。
【0036】
1つ以上のプロセッサは、要素100~140のサーバー又は端末のうちの1つ以上及び/又は要素100~140のサーバー又は端末のうちの1つ以上のコンポーネント(例えば、メモリ、ストレージコンポーネント、入力コンポーネント、出力コンポーネント、通信インターフェース、レンダリングコンポーネント)のセットの全体の動作を制御してよい。
【0037】
要素100~140のサーバー又は端末のうちの1つ以上は、メモリを更に備えてよい。いくつかの実施形態において、メモリは、ランダムアクセスメモリ(RAM:random access memory)、リードオンリーメモリ(ROM:read only memory)、電気的消去可能プログラマブルROM(EEPROM:electrically erasable programmable ROM)、フラッシュメモリ、磁気メモリ、光メモリ、及び/又は別のタイプのダイナミックストレージデバイス若しくはスタティックストレージデバイスを含んでよい。メモリは、プロセッサによって使用(例えば実行)される情報及び/又は命令を記憶してよい。
【0038】
要素100~140のサーバー又は端末のうちの1つ以上のストレージコンポーネントは、要素100~140のサーバー又は端末のうちの1つ以上の動作及び使用に関する、情報及び/又はコンピューター可読命令及び/又はコードを記憶してよい。例えば、ストレージコンポーネントは、ハードディスク(例えば、磁気ディスク、光ディスク、光磁気ディスク、及び/又はソリッドステートディスク)、コンパクトディスク(CD:compact disc)、デジタル多用途ディスク(DVD:digital versatile disc)、USB(universal serial bus)、フラッシュドライブ、PCMCIA(Personal Computer Memory Card International Association)カード、フロッピーディスク、カートリッジ、磁気テープ、及び/又は別のタイプの非一時的コンピューター可読媒体を対応するドライブとともに含んでよい。
【0039】
要素100~140のサーバー又は端末のうちの1つ以上は、入力コンポーネントを更に備えてよい。入力コンポーネントは、サーバー及び端末110~140のうちの1つ以上が、ユーザー入力(例えば、タッチスクリーン、キーボード、キーパッド、マウス、スタイラス、ボタン、スイッチ、マイクロフォン、カメラ等)等を介して情報を受け取ることを可能にする1つ以上のコンポーネントを含んでよい。代替又は追加として、入力コンポーネントは、情報を検知するセンサー(例えば、全地球測位システム(GPS:global positioning system)コンポーネント、加速度計、ジャイロスコープ、アクチュエータ等)を含んでもよい。
【0040】
要素100~140のサーバー又は端末のうちの任意の1つ以上の出力コンポーネントは、デバイス100からの出力情報を提供してよい1つ以上のコンポーネント(例えば、ディスプレイ、液晶ディスプレイ(LCD:liquid crystal display)、発光ダイオード(LED:light-emitting diode)、有機発光ダイオード(OLED:organic light emitting diode)、触覚フィードバックデバイス、スピーカー等)を含んでよい。
【0041】
要素100~140のサーバー又は端末のうちの1つ以上は、通信インターフェースを更に備えてよい。この通信インターフェースは、受信機コンポーネント、送信機コンポーネント、及び/又は送受信機コンポーネントを含んでよい。通信インターフェースは、要素100~140のサーバー又は端末のうちの1つ以上が他のデバイス(例えば、サーバー、別のデバイス)との接続を確立すること及び/又は上記他のデバイスとの通信を転送することを可能にしてよい。これらの通信は、有線接続、無線接続、又は有線接続と無線接続との組み合わせを介して行ってよい。通信インターフェースは、要素100~140のサーバー又は端末のうちの1つ以上が別のデバイスから情報を受信すること及び/又は別のデバイスに情報を提供することを可能にしてよい。いくつかの実施形態において、通信インターフェースは、ローカルエリアネットワーク(LAN:local area network)、ワイドエリアネットワーク(WAN:wide area network)、メトロポリタンエリアネットワーク(MAN:metropolitan area network)、プライベートネットワーク、アドホックネットワーク、イントラネット、インターネット、光ファイバーベースのネットワーク、セルラーネットワーク(例えば、第5世代(5G)ネットワーク、LTE(long-term evolution)ネットワーク、第3世代(3G)ネットワーク、符号分割多元接続(CDMA:code division multiple access)ネットワーク等)、公衆陸上モバイルネットワーク(PLMN:public land mobile network)、電話網(例えば、公衆交換電話網(PSTN:Public Switched Telephone Network))等、及び/又はこれらのネットワーク若しくは他のタイプのネットワークの組み合わせ等のネットワークを介した別のデバイスとの通信を提供してよい。代替又は追加として、通信インターフェースは、FlashLinQ、WiMedia、Bluetooth(登録商標)、ZigBee(登録商標)、Wi-Fi、LTE、5G等のデバイスツーデバイス(D2D:device-to-device)通信リンクを介した別のデバイスとの通信を提供してもよい。他の実施形態において、通信インターフェースは、Ethernet(イーサネット)インターフェース、光インターフェース、同軸インターフェース、赤外線インターフェース、無線周波数(RF:radio frequency)インターフェース等を含んでよい。
【0042】
図1Bは、トレーニングフェーズと、その後に続く分類フェーズとを含むことができる、本明細書に記載の本開示のMoHEフレームワークシステム及び方法のプロセスの1つの非限定の例示的な実施形態を示している。トレーニングフェーズに関して、このプロセスは、ステップ200から開始することができ、このステップにおいて、1つ以上の未処理の入力シーケンスがまず個々のトークンにトークン化される。ここで、MoHE-1モデル又はMoHE-2モデル(
図4A及び
図4B)の各推定器スレッドは、異なる種類のトークン化された入力を受け取ることができる。ここで、特定の入力における各トークンは、その入力用の埋め込み空間と呼ばれる高次元のベクトル空間にマッピングされる。プロセスは、次に、ステップ202に移動することができ、このステップにおいて、トレーニングが標準的なバックプロパゲーションアルゴリズムによって行われ、各推定器スレッドにおけるニューラル層を接続するネットワーク重みと、アグリゲーターニューラルネットワークに接続するネットワーク重みとが更新される。ここで、各出力において適用される分類損失関数は、交差エントロピー損失である。プロセスは、次に、ステップ204に移動することができ、このステップにおいて、ネットワークパラメーターの最良の設定が、交差検証を使用して行われ、ハイパーパラメーターが、効率的なハイパーパラメーター探索技法を使用して設定される。プロセスは、次に、分類フェーズ、すなわちステップ206に移動することができる。
【0043】
図1Bを引き続き参照すると、分類フェーズでは、ステップ206において、プロセスは、まず、トレーニング(すなわち、ステップ200)の間に使用されたものと同じメカニズムを使用して未処理の入力テキストシーケンスを個々のトークンにトークン化することができる。ここで、トークン化されたシーケンスは、その後、
図4A及び
図4Bに示すように、MoHE-1モデル又はMoHE-2モデルに入力として供給又は送信される。プロセスは、次に、ステップ208に進むことができる。ステップ208において、各推定器スレッドに入力されたシーケンス内の各トークンに対応して、埋め込み空間(EMB)、またはベクトル空間におけるその座標が調べられ、学習された畳み込みニューラルネットワーク(CNN)重みを使用して、他のトークンの他の座標と組み合わされる。各推定器スレッド及びアグリゲーターネットワークについて、入力埋め込みは、ネットワーク内の異なるニューラル層の異なる重みパラメーターを用いて操作され、各ヘッドの最終的な事後クラス確率が計算される。プロセスは、次に、ステップ210に進むことができ、このステップにおいて、最終的な分類が、分類器及びアグリゲーターのネットワークヘッドからの事後クラス確率を平均又は合計することによって取得される。
【0044】
ここで、CNNエンコーダーを有する本明細書に記載の本開示のMoHE-1モデルは、商品カタログにおけるアイテムの特定のリーフレベルジャンルを識別する分類タスクに関して混合エキスパート(MoE)モデルよりも性能が大幅に優れていることが確認された。大幅な改善は、カタログの全てのセグメント、すなわち、数量によるアイテムの上位70%、次位20%、及び最終位10%を構成するヘッド、トルソ及びテールについて達成された。加えて、MoHE-1モデルは、データが数量的により集中しているカタログのヘッドセグメントにおいて、アンサンブルフレームワーク(
図3A)よりも性能が大幅に優れていることが確認された。
【0045】
加えて、別の非限定の例示的な実施形態において、本明細書においてMoHE-2(
図4B)と呼ぶMoHE-1モデルの変更形態も、従来のモデルを上回る大幅な改善をもたらすことが示された。特に、MoHE-2モデルは、入力の表現力をMoHE-1よりも更に高める追加のニューラル層を有する。ここで、MoHE-2は、入力の埋め込み空間及び入力のエンコーディング空間の関数(最小フレームワークにおける平均)となりうる2つの空間における情報幾何(information geometries)のインターラクション、を可能にするミニアグリゲーターネットワークとして動作する追加の非線形性を各推定器スレッド内に組み込む。
【0046】
さらに、他の実施形態において、本明細書に記載の本開示のMoHE-1モデルフレームワーク及びMoHE-2モデルフレームワークのシステム及び方法の双方に、method-1を使用してメタデータを組み込むことができる。特に、各種のメタデータ入力について、追加の推定器スレッドをMoHEモデルフレームワークに追加することができる。各メタデータエンコーダースレッドからの出力は、全ての分類器及びアグリゲーターニューラル層に接続する。ここで、標準的なバックプロパゲーションアルゴリズムを使用して、ネットワーク全体をトレーニング例に対してトレーニングすることができる。MoHE-1モデルフレームワーク及びMoHE-2モデルフレームワークにメタデータを追加するこの方法は、本明細書においてmethod-1と呼ばれている。例えば、
図5Aは、MoHE-1モデルに適用されるmethod-1を示し、
図5Bは、MoHE-2モデルに適用されるmethod-1を示している。
【0047】
図5Cに示すMoHE-2に適用されるmethod-2の別の実施形態において、method-1における同じタイプの各メタデータ推定器スレッドからの出力を、MoHE-2モデルにおける1次入力用の推定器スレッドのそれぞれの全ての単一層パーセプトロン(SLP:Single Layer Perceptron)ニューラル層に供給することができる。これは、1次推定器スレッドのそれぞれにおいてメタデータエンコーディングをミニアグリゲーターネットワークに追加させるために行うことができる。また、売買業者ID、属性タグID、及びアイテム説明を追加することによって、メタデータを組み込む第2の方法(method-2)を有するMoHE-2モデルは、テストされる電子商取引商品カタログのヘッドセグメント及びトルソセグメントの双方に関してここで比較される全てのモデルよりも性能が大幅に優れている。
【0048】
一般に、独立した推定器のアンサンブルは、このアンサンブル推定器の分散がそれよりも劣る個々の推定器よりも良好である点で、個々の推定器よりも良好に一般化することができる。特に、独立した推定器Tは、g
t
D(x)によって事後クラス確率を推定する。ここでDはトレーニングデータセットであり、xは任意のサンプルである。或るi∈{1,...,T}について、Dへの依存とみなす上付き文字Dを除いた最悪の分散g
i(x)を有する推定器に関して、この分散をσ
2とすると、以下の式(式1)を表すことができる。
【数1】
【0049】
ニューラルネットワークの場合の混合エキスパート(「MoE」)モデルは、MoEモデルの
図3に示すような、「エキスパート(複数の場合もある)」と、所与のタスク及び入力についての最良のエキスパートからの予測を確率的に選択するマルチプレクサーとして動作するセレクターユニットを有するゲートネットワークと、のシステムである。ただし、一般化の観点から、MoE分類器は、i.i.d.推定器のアンサンブルよりもはるかに緩やかなバウンド(bound)を有する。例えば、E
in(g)がインサンプル(トレーニング)エラーを表し、E
out(g)がアウトオブサンプル(テスト)エラーを表す場合に、確率のユニオンバウンドを使用すると、MoEについて以下の式(式2)を表すことができる。
【数2】
そして、ホエフディング(Hoeffding)不等式を適用すると、以下の式(式3)を表すことができる。
【数3】
ここで、Nは、インサンプルデータポイントの数である。ここで、式3は、MoEの一般化エラーバウンドがTを因子として緩やかになることができることを示している。
【0050】
図2は、本明細書に記載の本開示の「融合」層としてAGGを有するアグリゲーターフレームワークの1つの非限定の例示的な実施形態を示している。図示するように、AGGは、入力を共有しないが、推定器スレッドのエンコーダー(ENC
1、ENC
2,...,ENC
T)からの出力を共有する。ここで、本明細書に記載の本開示のMoHEアーキテクチャは、個々の各分類器の出力をヘッドとみなすことができる結合されたアンサンブルフレームワークとすることができる。ここで、ヘッドは、出力層、または
図4Aに示すようなマルチ出力ヘッド(出力
1,出力
2,...,出力
T,出力
T+1)においてのみ定義することができる。加えて、
図4Aに示すように、「推定器スレッド」又は「スレッド」と呼ばれうる任意の数の独立した入力エンコーダー出力ユニットは、アグリゲーターと呼ばれうる追加の分類モジュールを通じて疎結合される。ここで、アグリゲーターは、
図2に示す融合モジュールの機能を実行することができる。ここで、各スレッドは、シングルタスク問題について、それ自身の固有の(及び変換された)入力、パラメーター、エンコーダー、及び出力層を有することが可能になる。本明細書に記載の本開示のMoHEフレームワークシステム及び方法は、マルチタスク問題を扱うように拡張することができる。
【0051】
図4A及び
図4Bを参照すると、ヘッドの数は、T+1とすることができる。ここで、Tは、設計によって選ばれたスレッド(推定器)の数であり、追加されるものは、推定器スレッドを疎結合するアグリゲーター用のものである。ここで、事後クラス確率推定値は、(
図2に示すような)アグリゲーターから出力を取り出すことによって又はアグリゲーターを含む推定器スレッドの出力ヘッドからの出力確率の全て(又は一部)を合計することによって、取得することができる。ここで、トレーニングの早期段階又は小さなトレーニングデータセットの場合を除いて、後者は、通常、前者よりも性能が優れていることが確認されている。加えて、本明細書に記載の本開示のMoHEフレームワークシステム及び方法の分散の解析は、分布サポートによってサポートすることができる。具体的には、各カテゴリーkについて、ヘッド及びアグリゲーターからの出力ベクトル
【数4】
は、多変量正規分布に従う。特定のヘッドtについて、gの共分散及び平均は、以下の、
図17A(式4)に示す式によって表すことができる。
【数5】
ここで、
【数6】
はT次元ベクトルであり、g
tは各クラスkのスカラーである。この前提の下で、
【数7】
の全てが確定している場合には、以下の表現(式5)を示すことができる。
【数8】
特に、
【数9】
は正定値(PD:positive definite)である。なぜならば、
【数10】
が正定値であるからである。これは、任意のPD行列A並びにその固有値Λ及び固有ベクトルVについて示すことができる。すなわち、λ
v∈Λ及びv∈Vについて、
【数11】
である。
【数12】
はPDであり、
【数13】
であるので、したがって、
【数14】
となる正定性の定義によって、g
t,t∈{1,...,T+1}の分散が削減され、上記式1が適用される。ここで、式5において、確定された
【数15】
について、
【数16】
であることに留意されたい。
【0052】
ここで、本明細書に記載の本開示のMoHEフレームワークシステム及び方法は、任意のパラメーター及び入力トークン化を有するエンコーダースレッドを含むことができる。ここで、本明細書においてMoHE-1とも呼ばれる場合がある基本的なMoHEフレームワークシステム及び方法について、
図4Aに示すように、本明細書においてCNNとも呼ばれる全てのエンコーダーからの出力は、グローバルに最大プールすることができ、連結することができ、アグリゲーターモジュールに与えることができる。ここで、Tは、
図3Aに示すように、例えば、基本的なアンサンブルフレームワークにおける独立した分類器とすることができる推定器スレッドの数と定義することができる。ここで、
【数17】
であるようなスレッドごとに異なって前処理することができるトークン化された入力テキストシーケンス
【数18】
は、単語埋め込みベクトル表現
【数19】
に変換される。この式において、L
t及びD
tは、それぞれ入力テキストシーケンス長及び埋め込み次元である。したがって、以下の式(式6)を定義することができる
【数20】
この式において、f
tにおける第2のインデックスは、推定器スレッドのアーキテクチャの深さを指す。したがって、サブシーケンスエンコーディングは、以下の式(式7)によって表すことができる。
【数21】
この式において、
【数22】
であり、P
tはCNN
tのフィルターの数である。したがって、推定器スレッドtの出力は、以下の式(式8)によって表すことができる。
【数23】
この式において、CLF
tは、密接続されたフィードフォワードニューラルネットワーク(FFNN:feed forward neural network)である。同様に、アグリゲーターモジュールの出力は、以下の式(式9)によって表すことができる。
【数24】
【0053】
上記式9に加えて、層正規化をu
tに適用して、収束速度の向上及び性能の改善を図ることができる。さらに、Dropoutを式6及び7のように記述することができる。加えて、単一のデータ点のトレーニング損失関数への寄与は、以下の式(式10)によって表すことができる。
【数25】
この式において、yは、ラベルのワンホット(one-hot)表現であり、
【数26】
は、チューニングパラメーターである。ここで、分類に使用されるクラス事後確率は、
【数27】
又は
【数28】
とすることができる。ここで、MoHEフレームワークシステム及び方法は、後者を使用することができ、実験データ(以下で説明)等にγ
T+1=γ
t ∀tを更に設定することができる。ここで、アダムオプティマイザー(fastTextを除く)をMoHEフレームワークシステム及び方法に使用することができ、このアダムオプティマイザーは、アーキテクチャの変化の効果に焦点を当てるために各モデル又は各フレームワークに固有のパラメーターチューニングを行うことができない。
【0054】
本明細書に記載の本開示の別の非限定の例示的な実施形態において、例えば
図4Bに示すようにMoHE-2モデル又はフレームワークシステム及び方法が使用されてもよい。ここで、MoHE-2フレームワークシステム及び方法は、入力の埋め込み空間及び入力のエンコーディング空間の関数(最小フレームワークにおける平均)となりうる、2つの空間における情報幾何(information geometries)のインターラクションを可能にするミニアグリゲーターモジュールとして動作することができる追加の非線形性を組み込むことができる。MoHE-2フレームワークについて、式8は、以下の式(式11)によって表すことができる。
【数29】
この式において、SLPは、tanh活性化を有する単一層パーセプトロンである。加えて、式9も、それに応じてMoHE-2フレームワーク用に変更することができる。特に、Dropoutは、(LayerNorm←f
t(・))スタック及び(LayerNorm←ENC
t)スタックの後に記述することができる。ここで、CNNは、本明細書に記載の本開示内でエンコーダーとして使用することができるが、本明細書に記載の本開示の範囲内では、とりわけRNN、LSTM、又はトランスフォーマー等の他のエンコーダーと置き換えることができると考えられる。加えて、実験データ(以下で説明)について、7つの推定器スレッド及び1つのアグリゲーターモジュールが例示用に使用される。ただし、本明細書に記載の本開示の範囲内では、任意の数の推定器スレッド及びアグリゲーターモジュールが使用されてもよいと考えられる。
【0055】
図5A~
図5Cは、本明細書においてメタ入力と呼ばれる任意の所望のメタデータを入力として取る「メタ推定器スレッド」となりうる推定器スレッドTの右にあるスレッドの非限定の例示的な実施形態を示している。ここで、本明細書に記載の本開示のMoHEフレームワークシステム及び方法の少なくとも1つの利点は、ドメイン知識を追加のメタデータとして受け取ることができることとできる。MoHEフレームワークシステム及び方法は、個々の又は複数のメタデータフィールドに対応する新たな推定器スレッドを追加することができ、それによって、データの構造を維持することができる。一方、豊富なメタデータが、fastTextの場合のように、メインテキストにアペンドされて、別のより長いテキストシーケンスを形成する場合には、これは、メタデータパラメーターの構造の損失及び強結合をもたらす可能性がある。したがって、本明細書に記載の本開示のMoHEフレームワークは、2つの異なる手段又は2つの異なる方法で補助情報あるいは商品のメタデータを受信することができる。MoHE-1に適用される、本明細書においてmethod-1と呼ばれる第1の方法を
図5Aに示す。method-1のMoHE-1モデルの場合に、メタデータ入力は埋め込まれ、エンコードされ、エンコードされたものは、アグリゲーターモジュール(AGG)を含む全ての分類器(CLF層)への入力と連結される。ここで、データタイプ及び/又はエンコーダータイプに応じて、複数のタイプのメタデータを単一のメタデータ推定器スレッド又は個別のメタデータ推定器スレッドに与えることができる。MoHE-2に適用される、本明細書においてmethod-2と呼ばれる第2の方法を
図5Cに示す。method-2のMoHE-2モデルの場合に、メタデータスレッドは、それらの出力が分類器に直接与えられるのではなくMoHE-2モデル内のSLPに与えられることを除いて、MoHE-1のものと同一のものとすることができる。ここで、アグリゲーターモジュールは、この場合、メタデータスレッドから入力を取らない。したがって、本明細書に記載の本開示のシステム及び方法は、1のカーネルサイズを有する基本的なテキスト(1次元)CNNをメタデータエンコーダーに用いることができる。
【0056】
MoHE-1及びMoHE-2等のMoHEフレームワークの上記モデルのうちの任意のものに関する実験データについて、使用されるメタデータ又は特徴量は、データセットのうちの1つ、すなわち、例示として大規模な日本商品カタログ(E-commerce 1)にのみ現れる。ここで、実験データには、商品に関する様々な識別番号、説明、価格、タグ、画像URL等の各アイテムに利用可能な複数のメタデータ値が存在する。例えば、多くの売買業者/小売店は、或る特定のカテゴリー内の商品のみを販売し、「shop_ID」は、ラベル相関の強い特徴とすることができる。同様のシグナルは、商品の属性タイプを指すことができる「tag_ID」とすることができる。本明細書に記載の本開示の実験的テスト内において、メーカー/ブランド及び小売店タグが特徴として使用され、説明が別のメタデータ特徴として使用される。
【0057】
本明細書にこれまで開示したように、メタ推定器スレッドは、それらのエンコーダーをキーワードファインダーとして機能させるために、それらのエンコーダーとして1のカーネルサイズを有するCNNを用いる。一方、「説明」については、名詞、形容詞、及び副詞、並びに省略される反復単語は維持される。説明は、したがって、品詞タグ付きトークンのシーケンスとすることができ、ウィンドウサイズは、同様に1に設定される。説明のこの「特徴量エンジニアリング」は、最大長≦120の範囲内の長い文に適合する。加えて、日本商品タイトル及び説明からトークン化および品詞の抽出をするためにトークナイザーが使用される。したがって、
図11Cの表6は、MoHE-1モデル及びMoHE-2モデルにメタデータを使用すると、検証セットに関する性能がmacro-F1スコアにおいて3%の絶対値だけ改善することを示している。
【0058】
図6Aの表1は、実験的テストの基本的なスレッドパラメーターを示している。ここで、スレッドインデックスは、
図4A~
図5Cに示すように左から右に並べられている。さらに、90%よりも多くのタイトルは、長さが60単語よりも短く且つ100文字よりも短いので、入力シーケンス長は、単語ベースのトークン化については60に設定され、文字ベースのトークン化については100に設定されている。
図6Aを引き続き参照すると、E-commerce 2データセットについては、英単語の平均長≒5文字であり、5の連続した倍数が使用されたので、文字トークン化のCNNカーネルサイズのデフォルト設定は、E-commerce 1のものよりも小さい。さらに、「bi-gram」はトークンを単位とする。
【0059】
加えて、実験的テストの全てについて、E-commerce 1データセットは、トレーニングセットと、開発セットと、検証セットとに分割され、これらの全ては同じデータ分布からサンプリングされる。このアイテム分布は、購買行動の観点からのサンプリングバイアスを有さず、購買されたアイテム及び購買されていないアイテムからのアイテムの大きなサンプルと、少ない割合の、ジャンルが手動で訂正された履歴精選アイテムとを含む。データは、内部評価に基づく20%の範囲までのノイズラベルを有する。さらに、ジャンルのサンプルは、この20%の数値を検証するために、ユーザーセッションからの購買アイテムに基づいて使用されたものである。加えて、E-commerce 1データセットの非重複評価セットが使用され、ここで、アノテーターが流通取引総額(GMS:Gross Merchandise Sale)値に基づいてアイテムをサンプリングし、以前のモデルから予測を誤ったジャンルを訂正した。一方、E-commerce 1データセットを用いた実験については、モデル比較用の検証セットが使用された。E-commerce 2データセットについて、200Kのアイテムにチャレンジセットが設定された。
【0060】
MoHEスレッドの構成に関して、各推定器スレッドtは、後の出力
【数30】
を有する埋め込みスタック、エンコーダースタック、及び分類器スタックである。この出力は、以下の式によって表すことができる。
【数31】
ここで、各スレッドは、
図6Aの表1に要約されているような異なるパラメーター及び入力トークン化タイプを有する。さらに、パラメーター値は、アンサンブルモデルの開発セットにわたって最小限の手動チューニングを使用して取得される。ここで、単語埋め込み次元は、min(C/2,100)に設定され、この式において、Cは、レベル1ジャンルごとのリーフノードの数である。この設定は、パラメーターの数を大幅に削減する。さらに、この埋め込み次元は、fastText NNI及びGCP AutoMLを除くあらゆるモデルフレームワークについて設定される。最後に、ドロップアウト値は0.1に設定される。さらに、7つの推定器スレッドを全てのモデルに徐々に追加することが実験され、その結果は
図8~
図10に示されている。ここで、基本的な構成は、E-commerce 1及びE-commerce 2の双方のデータセットに対するモデルを構築するために使用される。これらの実験について、推定器スレッドのパラメーター/プロパティはチューニングされなかった。ただし、本明細書に記載の本開示の範囲内でチューニングが実行されてもよいと考えられる。
【0061】
本明細書に記載の本開示のMoHEフレームワークの実験的テスト及び評価について、ジャンル性能の等しい重み付けを誘導し、したがって、他のタイプのスコアよりもはるかに厳しい規格であるMacro-F1スコアが使用される。加えて、AutoML及びfastText NNIを除く全てのモデルについて、報告されるスコアは、5つの実行の平均である。CNNベース(すなわち、結合を有しないMoHE)の本明細書に記載の本開示のアンサンブルが強い分類器であり、MoE(
図3B)及びアグリゲーターのベースラインよりも性能が大幅に優れていることに留意されたい。さらに、MoHE-2は、検証セットに関してアンサンブルよりも性能が大幅に優れていることが確認された。
【0062】
実験的テストについて、本明細書に記載の本開示のMoHE-2モデルと比較されるBERTモデルが、E-commerce 1データセットからのレベル1ジャンルのランダムに選択された10%及びE-commerce 2データセットからの全てのジャンルに関する予備的比較のために使用された。ここで、BERTモデルは、Jacob Devlin、Ming-Wei Chang、Kenton Lee、及びKristina Toutanova. 2019, BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding, NAACL-HLT, Association for Computational Linguistics, 4171-4186内に開示されているモデルとすることができる。
図6Bの表2は、E-commerce 1データセットからの4つのランダムに選択されたL1ジャンル及び全てのE-commerce 2データセットに関するBERT対MoHE-2の比較を示している。ここで、太字の値は、MoHE-2が、ブートストラップサンプリング並びにMacro-F1、計算時間、及びモデルサイズの全ての態様に沿ったほとんどのジャンルについて、95%の信頼区間においてBERTよりも性能が大幅に優れている場合を表している。ここで、BERTモデルの主な欠点の1つは、このモデルが、ファインチューニングが、適切に選ばれた文脈に基づく次単語予測の特定の目的に依存する、より一般化されたマルチタスクモデルであるということである。アイテムタイトルの分類の場合に、BERTの次文予測(NSP:Next Sentence Prediction)目的は、本明細書に記載の本開示がアイテムタイトルに関して事前トレーニングするものであっても無関係である。
【0063】
本明細書に記載の本開示のMoHEフレームワークシステム及び方法を使用する実験的テストは、連続する推定器スレッドを異なるモデルに追加することの重要度を解析することから開始することができ、
図8、
図9、及び
図10に示す3つのプロットにおけるグラフを比較することができる。特に、
図8、
図9、及び
図10は、E-commerce 1データセットのレベル1ジャンルパス分類器からのMoEモデル、アグリゲーターモデル、アンサンブルモデル、MoHE-1モデル、及びMoHE-2モデルのMacro-F1値のプロットを示している。ここで、分類のリーフノードは、ヘッドセグメント、トルソセグメント、及びテールセグメントに編成されるレベル1ジャンルに対応する。全体的に、38個のレベル1ジャンルがあり、したがって、レベル1分類器の38個のグループがある。ここで、38個のグループのそれぞれは、特定の分類フレームワークに対応する推定器スレッドのセットを表している。特に、
図8は、ヘッドジャンルについてスレッドの数に対してプロットされたMacro-F1値を示している。
図9は、トルソジャンルについてスレッドの数に対してプロットされたMacro-F1値を示している。
図10は、テールジャンルについてスレッドの数に対してプロットされたMacro-F1値を示している。
【0064】
前述したように、MoEモデルは、依然として単一の分類器であり、緩やかな一般化バウンドを有し、比較される全てのモデルの中で最低の動作をする。MoEモデルに更に基づくと、テストは、「エキスパート」及び「ゲート」と共有される1つのタイプの入力のみを使用し、
図6Aの表1における推定器スレッド1について示された構成を更に選ぶ。この制約のために、テストは、推定器スレッドが入力埋め込みの初期化においてのみ異なるので、性能上も多くの変化を示さない。ここで、MoEは、その不十分な性能の説明にもなり得る、入力選択の際のバイアスを欠点として有する。ヘッドセグメントのレベル1ジャンルパスのMaco-F1スコアに関する
図8~
図10に示す分類性能よりも、本明細書に記載の本開示のMoHE-2モデルが圧倒的に優位である。トルソセグメント及びテールセグメントに属するレベル1ジャンルパスについて、MoHE-2は、7つの推定器スレッドにおいてもアンサンブルよりも性能が優れている。さらに、MoHE-2に導入される追加のミニアグリゲーターは、改善を示している。加えて、本明細書に記載の本開示のMoHEフレームワークのアグリゲーターモジュールのみを使用する分類は、全ての「エキスパート」判定が融合されるMoEモデルを上回る改善であることが示された。
【0065】
図7の表3は、MoHE及びMoE、アグリゲーターフレームワーク(
図2)、GCP、AutoML、fastText、NNIを用いて自動チューニングされた(Autotuned)fastText、及びアンサンブルフレームワークの比較を示している。特に、
図7の表3は、検証セットからの代表的な9つのジャンルの基本的なモデル性能比較(Micro-F1/Macro-F1)を示している。ここで、GCP AutoMLは、トレーニングの間、稀なカテゴリーを無視する。その評価中のカテゴリーのサポートセットは、したがってより小さく、GCP AutoMLによってより高いMicro-F1スコアが報告される。さらに、MoHE-2列の太字の数字は、95%信頼区間を有するブートストラップサンプリングテスト下において、fastText Autotune NNI及びアンサンブルの双方に統計的に有意である。さらに、MoE、アグリゲーター、fastText、アンサンブル、MoHE-1、及びMoHE-2は、個々のジャンルにチューニングされないことに留意されたい。
図7の表3を引き続き参照すると、レベル1ジャンルは、まずアイテム頻度の降順にソートされ、それらをヘッドセグメント、トルソセグメント、及びテールセグメントにセグメント化する。次に、ヘッドセグメント、トルソセグメント、及びテールセグメントからそれぞれ最も大きな3つを有する9つのカテゴリーが選ばれる。次に、MicrosoftのNNIを用いてチューニングされたfastTextおよびGCP AutoMLが比較される。9つのカテゴリーは、GCP AutoMLを実行するために選ばれたものである。次に、GCP AutoMLは、9つのジャンルのそれぞれについて多くとも1日実行される。さらに、fastText Autotuneは、E-commerce 1データセットについて安定していないことが判明した。GCP AutoMLは、稀なカテゴリーをスキップし、それによって公正な比較を妨げることを含めて、データ取り込みの容量を制約することに留意されたい。GCP AutoMLは、バッチモードにおいてMicro-F1スコアも報告し、Macro-F1スコアを取得することは、追加のコストを招き、したがって、それらのスコアは、
図7の表3では報告されない。したがって、GCP AutoMLは、更なる比較からドロップされる。
【0066】
実験的テストの間、デフォルト設定(
図6Aの表1)を有する本明細書に記載の本開示のMoHEフレームワークは、特定のジャンル又はデータセットについてチューニングされてない軽量のCNNアーキテクチャからなることにもかかわらず、多くの場合に、他のベースラインよりも良好に動作することが確認された。利得(Gain)は、ヘッドジャンル及びトルソジャンルについてより多く取得され、カテゴリーの不均衡が特にモデル化されないので、テールカテゴリーに対する性能は、fastText Autotune NNI及びアンサンブルの双方に大幅に良好なものではないが、下線付きのものには大幅に良好である。MoHE-2モデルの性能は、はるかに少ないラベルノイズ及びより少ない数のクラスを有するE-commerce 2データセットについても良好である。
【0067】
MoEモデル、アグリゲーターモデル、FastText AutoTune NNIモデル、アンサンブルモデル、MoHE-1モデル、及びMoHE-2モデル等のモデルの定量的評価を要約することができる。MoHEフレームワーク又はモデルは、メタデータを保持しないE-commerce 2データセットと公平になるように、E-commerce 1データセットのメタデータを追加することなく比較することができる。
図11Aの表4は、ベースライン又は他のモデルに対するMoHEモデルの比較性能を示している。特に、
図11Aの表4は、E-commerce 1データセットからの検証セットに関して本明細書において説明された分類器からのMacro-F1スコアを示している。特に、MoHE-2モデルフレームワークが最も良好に動作した。
図11Bの表は、E-commerce 2データセットからのテストについて本明細書において説明されたモデル及びフレームワークからのMacro-F1スコアを示している。
図11Aの表5に示すようにE-commerce 2データセットから結果を取得するために、分類器はフラット分類器としてセットアップされた。この場合も同様に、本明細書に記載の本開示のMoHE-2モデルは、他の全てのモデル及びフレームワークよりも性能が優れていた。
図7の表3では、GCP AutoMLは、より小さなサポートセットに起因して、このデータセットについて最も高いMicro-F1を示していることに留意されたい。
【0068】
次に、本明細書に記載の本開示のMoHEフレームワークシステム及び方法は、メタデータ特徴量を使用して比較することができるとともに、使用することなく比較することもできる。特に、
図11Cの表6は、検証セット内のレベル1ジャンルのメタデータを有しない場合及び有する場合のMoHE-1分類器及びMoHE-2分類器のMacro-F1値を示している。さらに、追加されるメタデータ値の表記は、meta-1(shop_ID_,meta-2(shop_ID+tag_ID)、及びmeta-3(shop_ID+tag_ID+説明)である。前述したように、method-1及びmethod-2は、メタデータをMoHEフレームワークに追加する2つの異なる方法である。
図11Cの表6に示すアブレーションスタディに基づくと、「shop_ID」及び「tag_ID」の双方は、ラベルと強い相関を有することが分かる。有効性の説明は、ジャンルに大きく依存するが、選ばれた品詞を有する説明からのトークンを含めることによって、全体の性能が改善される。3つの全てのタイプのメタデータを利用することによって、最大のレベル1ジャンルは、フレームワークに応じて2%~3%のmacro-F1性能を獲得し、テールジャンルのうちのいくつかは10%よりも多くを獲得することが確認されている。さらに、例示として、「shop_ID」及び「tag_ID」の値は、同じメタデータスレッドに与えられた一方、説明は、別個のメタデータ推定器スレッドに与えられた。
図11Cの表6は、L1ジャンルの全てのヘッドセグメント、トルソセグメント、及びテールセグメントについて、MoHE-2、meta-3(method-2)が、テールセグメントについてのMoHE-1、meta-3(method-1)とは異なり統計的有意ではないが最も良好に動作することを示している。
【0069】
本明細書に開示されたプロセス/フローチャートにおけるブロックの特定の順序又は階層は、例示の手法を示したものであることがわかる。設計の選択に基づいて、プロセス/フローチャートにおけるブロックの特定の順序又は階層は再配置されてもよいことがわかる。さらに、いくつかのブロックは、組み合わされてもよいし、省略されてもよい。添付の方法の請求項は、様々なブロックの要素をサンプルの順序で示し、示した特定の順序又は階層に限定されることを意味するものではない。
【0070】
いくつかの実施形態は、任意の想定される技術的詳細レベルの統合における、システム、方法、及び/又はコンピューター可読媒体に関するものであり得る。さらに、上述したコンポーネントの1つ以上は、コンピューター可読媒体に格納されて少なくとも1つのプロセッサによって実行可能な命令として実装され得る(及び/又は、少なくとも1つのプロセッサを含み得る)。コンピューター可読媒体は、動作をプロセッサに実行させるコンピューター可読プログラム命令を有するコンピューター可読非一時的記憶媒体(又は複数の媒体)を含み得る。
【0071】
コンピューター可読記憶媒体は、命令実行デバイスによる使用のための命令を保持及び格納することができる有形デバイスであり得る。コンピューター可読記憶媒体は、例えば、電子ストレージデバイス、磁気ストレージデバイス、光ストレージデバイス、電磁ストレージデバイス、半導体ストレージデバイス、又は前述の任意の好適な組合せであり得るが、これらに限定されない。コンピューター可読記憶媒体のより具体的な例を非網羅的に列挙すると、ポータブルコンピューターディスケット、ハードディスク、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、消去可能プログラマブル読み取り専用メモリ(EPROM又はフラッシュメモリ)、スタティックランダムアクセスメモリ(SRAM)、ポータブルコンパクトディスク読み取り専用メモリ(CD-ROM)、デジタル多用途ディスク(DVD)、メモリスティック、フロッピーディスク、パンチカード又は溝内で隆起した構造物等の命令が記録された機械的に符号化されたデバイス、及び上記のものの好適な組合せが含まれる。本明細書において使用する場合、コンピューター可読記憶媒体は、非一時的な信号自体、例えば、電波若しくは他の自由に伝播する電磁波、導波管若しくは他の伝送媒体を伝播する電磁波(例えば、光ファイバケーブルを通過する光パルス)、又は電線を伝送する電気信号であると解釈されるべきでない。
【0072】
本明細書に記載のコンピューター可読プログラム命令は、ネットワーク、例えば、インターネット、ローカルエリアネットワーク、ワイドエリアネットワーク、及び/又は無線ネットワークを介して、コンピューター可読記憶媒体からそれぞれの計算/処理デバイスへと、又は外部コンピューター若しくは外部ストレージデバイスへとダウンロードすることができる。ネットワークは、銅製の伝送ケーブル、光伝送ファイバー、無線伝送、ルーター、ファイアウォール、スイッチ、ゲートウェイコンピューター、及び/又はエッジサーバーを含み得る。各コンピューティング/処理デバイスのネットワークアダプターカード又はネットワークインターフェースは、ネットワークからコンピューター可読プログラム命令を受信し、このコンピューター可読プログラム命令を転送して、それぞれのコンピューティング/処理デバイス内のコンピューター可読記憶媒体に記憶する。
【0073】
動作を実行するためのコンピューター可読プログラム命令は、アセンブラ命令、命令セットアーキテクチャ(ISA)命令、機械命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データ、集積回路の構成データ、又はSmalltalk、C++等のオブジェクト指向プログラミング言語、「C」プログラミング言語等の手続き型プログラミング言語、又は同様のプログラミング言語を含む、1つ以上のプログラミング言語の任意の組合せで記述されたソースコード又はオブジェクトコードのいずれかのようなものである。コンピューター可読プログラム命令は、全てがユーザーのコンピューターで実行されるか、一部がユーザーのコンピューターで実行されるか、スタンドアロンのソフトウェアパッケージとして実行されるか、一部がユーザーのコンピューターで、一部がリモートコンピューターで実行されるか、又は、全てがリモートコンピューター若しくはサーバーで実行可能である。後者のシナリオでは、リモートコンピューターは、ローカルエリアネットワーク(LAN)又はワイドエリアネットワーク(WAN)を含む任意の種類のネットワークを通じて、ユーザーのコンピューターに接続できるか、又は外部コンピューターに接続可能である(例えば、インターネットサービスプロバイダーを使用してインターネットを通じて)。いくつかの実施形態において、例えば、プログラマブルロジック回路、フィールドプログラマブルゲートアレイ(FPGA)、又はプログラマブルロジックアレイ(PLA)を含む、電子回路は、態様又は動作を実行するために、コンピューター可読プログラム命令の状態情報を使用して電子回路を個別化することによって、コンピューター可読プログラム命令を実行することができる。
【0074】
これらのコンピューター可読プログラム命令は、汎用コンピューター、専用コンピューター、又は他のプログラマブルデータ処理装置のプロセッサに提供されて、マシンを作製可能であり、これにより、コンピューター又は他のプログラマブルデータ処理装置のプロセッサを介して実行する命令は、流れ図及び/又はブロック図の単数又は複数のブロックで指定された機能/行為を実施するための手段を作成する。さらに、これらのコンピューター可読プログラム命令は、コンピューター、プログラマブルデータ処理装置、及び/又は他のデバイスに対して特定の方法で機能するように命令可能とするコンピューター可読記憶媒体に記憶可能であり、これにより、命令が記憶されているコンピューター可読記憶媒体は、流れ図及び/又はブロック図の単数又は複数のブロックで指定された機能/行為の態様を実装する命令を有する製造物品を含む。
【0075】
また、コンピューター可読プログラム命令は、コンピューター、他のプログラマブルデータ処理装置、又は他のデバイスにロードされて、コンピューター、他のプログラマブル装置、又は他のデバイス上で実行される一連の動作ステップに対して、コンピューター実装プロセスを生成させることができ、これにより、コンピューター、他のプログラマブル装置、又は他のデバイス上で実行する命令は、流れ図及び/又はブロック図の単数又は複数のブロックで指定された機能/行為を実装する。
【0076】
図中の流れ図及びブロック図は、種々の実施形態によるシステム、方法、及びコンピューター可読媒体について想定される実装態様のアーキテクチャ、機能、及び動作を示す。これに関して、流れ図又はブロック図の各ブロックは、指定された論理機能(複数の場合もある)を実装するための1つ以上の実行可能命令を含む、命令のモジュール、セグメント、又はその一部に相当し得る。方法、コンピューターシステム、及びコンピューター可読媒体は、図示されているものと比してブロックが多い、ブロックが少ない、ブロックが異なる、又はブロックの配置が異なるものを含み得る。いくつかの代替的な実施態様においては、ブロックに記載されている機能は、図に記載された順序から外れて行われ得る。例えば、連続して示される2つのブロックは、実際には、同時又は実質的に同時に実行されたり、場合によっては、ブロックは、関与する機能に応じて、逆の順序で実行されたりしてもよい。さらに、ブロック図及び/又は流れ図の図解の各ブロック、並びにブロック図及び/又は流れ図の図解におけるブロックの組合せは、特定の機能又は行為を実行するか、又は専用ハードウェアとコンピューター命令との組合せを実行する専用ハードウェアベースのシステムで実装することができることにも留意されたい。
【0077】
本明細書に記載のシステム及び/又は方法は、異なる形態のハードウェア、ファームウェア、又はハードウェアとソフトウェアとの組合せで実装可能であることが明らかとなるであろう。これらのシステム及び/又は方法を実装するために使用される実際の専用制御ハードウェア又はソフトウェアコードは、実装態様を限定するものではない。したがって、本明細書では、特定のソフトウェアコードを参照せずに、システム及び/又は方法の動作及び挙動について説明した。理解すべき点として、本明細書の記載に基づくシステム及び/又は方法を実装するために、ソフトウェア及びハードウェアを設計することができる。