(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-02-21
(54)【発明の名称】ラベルデータの検証のためのシステムおよびコンピュータにより実施される方法
(51)【国際特許分類】
G06F 18/40 20230101AFI20240214BHJP
G06F 18/30 20230101ALI20240214BHJP
G06F 18/24 20230101ALI20240214BHJP
【FI】
G06F18/40
G06F18/30
G06F18/24
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2021577327
(86)(22)【出願日】2021-10-28
(85)【翻訳文提出日】2022-03-31
(86)【国際出願番号】 US2021056945
(87)【国際公開番号】W WO2022164491
(87)【国際公開日】2022-08-04
(32)【優先日】2021-03-10
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】202111003686
(32)【優先日】2021-01-27
(33)【優先権主張国・地域又は機関】IN
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
(71)【出願人】
【識別番号】520262319
【氏名又は名称】ユーアイパス,インコーポレイテッド
【氏名又は名称原語表記】UiPath,Inc.
【住所又は居所原語表記】1 Vanderbilt Avenue, 60th Floor, New York, NY 10017, United States of America
(74)【代理人】
【識別番号】100180781
【氏名又は名称】安達 友和
(74)【代理人】
【識別番号】100182903
【氏名又は名称】福田 武慶
(72)【発明者】
【氏名】カーティク アイヤー
(72)【発明者】
【氏名】マーク ベニョフスキー
(72)【発明者】
【氏名】エシュワー ガネーシャン
(57)【要約】
ラベルデータを検証するためのシステムおよびコンピュータにより実施される方法は、ラベルデータを受信するステップと、第1の機械学習モデルを使用してラベルデータを1つまたは複数の部分にセグメント化するステップと、を含む。さらに、セグメント化されたラベルデータから、テキストおよび画像を含む第1の複数の属性が抽出される。本方法は、ラベルデータと関連するグラウンドトゥルースデータを受信するステップと、グラウンドトゥルースデータから第2の複数の属性を抽出するステップと、をさらに含む。次いで、第1および第2の複数の属性が、第2の機械学習モデルを使用して比較され、比較の結果が3ペインのユーザーインターフェースに表示される。さらに、表示された結果に基づいてラベルデータが検証される。
【特許請求の範囲】
【請求項1】
ラベルデータを検証するためのコンピュータにより実施される方法であって、
第1の機械学習モデルを使用して、セグメント化されたラベルデータを提供するために、受信したラベルデータを1つまたは複数の部分にセグメント化するステップと、
前記セグメント化されたラベルデータから第1の複数の属性を抽出するステップと、
前記ラベルデータと関連するグラウンドトゥルースデータを受信するステップと、
前記受信したグラウンドトゥルースデータから第2の複数の属性を抽出するステップと、
第2の機械学習モデルを使用して、前記セグメント化されたラベルデータに関連する前記第1の複数の属性を、前記グラウンドトゥルースデータに関連する前記第2の複数の属性と比較するステップと、
少なくとも3つの表示ペインを含むユーザーインターフェース(UI)上に、前記比較の結果を表示するステップと、
前記表示された比較の結果に基づいて前記ラベルデータを検証するステップと、を含む、コンピュータにより実施される方法。
【請求項2】
前記ラベルデータは、少なくとも1つのアートワークラベルに関連する画像データを含む、請求項1に記載のコンピュータにより実施される方法。
【請求項3】
前記少なくとも3つの表示ペインは、
前記比較の結果で識別された前記ラベルデータの1つまたは複数の誤りを表示する第1の表示ペインと、
前記ラベルデータを表示する第2の表示ペインと、
前記グラウンドトゥルースデータを表示する第3の表示ペインと、を含む、請求項1に記載のコンピュータにより実施される方法。
【請求項4】
前記第1の表示ペイン内で、前記ラベルデータ内の前記1つまたは複数の誤りに対する修正アクティビティを実行するためのユーザー入力を受信するステップと、
前記第1の表示ペイン内で、前記受信したユーザー入力に基づいて前記ラベルデータを更新するステップと、
前記更新に基づいて修正されたラベルデータを前記第2の表示ペインに表示するステップと、
前記修正されたラベルデータを検証するステップと、をさらに含み、
前記修正されたラベルデータを検証する前記ステップは、受け入れ確認応答を提供することによって前記修正されたラベルデータを受け入れるステップ、または拒否確認応答を提供することによって前記修正されたラベルを拒否するステップを含む、
請求項3に記載のコンピュータにより実施される方法。
【請求項5】
前記第1の機械学習モデルを使用して、前記受信したラベルデータを1つまたは複数の部分にセグメント化する前記ステップは、
前記第1の機械学習モデルを使用して、前記受信したラベルデータを分類するステップであって、前記第1の機械学習モデルは、訓練されたコンピュータビジョン(CV)ベースの機械学習モデルである、ステップと、
前記分類されたラベルデータを前記1つまたは複数の部分にセグメント化するステップと、をさらに含む、請求項1に記載の方法。
【請求項6】
前記分類に基づいて、前記セグメント化されたラベルデータの前記1つまたは複数の部分の各々について1つまたは複数のバウンディングボックスを生成するステップと、
前記1つまたは複数のバウンディングボックスを前記第1の複数の属性と関連付けるステップであって、前記第1の複数の属性は、テキスト属性、画像属性、またはそれらの組み合わせを含む、ステップと、
前記生成された1つまたは複数のバウンディングボックスを第2の表示ペインに表示するステップと、
をさらに含む、請求項5に記載のコンピュータにより実施される方法。
【請求項7】
前記1つまたは複数の生成されたバウンディングボックスの境界を調整するステップをさらに含む、請求項6に記載のコンピュータにより実施される方法。
【請求項8】
前記グラウンドトゥルースデータのための1つまたは複数の追加のバウンディングボックスを生成するステップと、
前記1つまたは複数の追加のバウンディングボックスを前記第2の複数の属性と関連付けるステップであって、前記第2の複数の属性は、テキスト属性、画像属性、またはそれらの組み合わせを含む、ステップと、
前記生成された1つまたは複数の追加のバウンディングボックスを第3の表示ペインに表示するステップであって、前記第3の表示ペイン内の前記1つまたは複数の追加のバウンディングボックスならびに前記第2の表示ペイン内の前記1つまたは複数のバウンディングボックスは、同じ表示色または同じ表示パターンのうちの1つまたは複数で表示される、ステップと、
をさらに含む、請求項6に記載のコンピュータにより実施される方法。
【請求項9】
前記セグメント化されたラベルデータの前記1つまたは複数のバウンディングボックスから前記第1の複数の属性を抽出するステップと、
前記グラウンドトゥルースデータの前記1つまたは複数の追加のバウンディングボックスから前記第2の複数の属性を抽出するステップと、
前記第2の機械学習モデルを使用して、前記セグメント化されたラベルデータからの前記第1の複数の属性を前記グラウンドトゥルースデータからの前記第2の複数の属性と比較するステップであって、前記第2の機械学習モデルは訓練された名称付きエンティティ認識(NER)モデルを含む、ステップと、
をさらに含む、請求項8に記載のコンピュータにより実施される方法。
【請求項10】
ラベルデータを検証するためのシステムであって、
1つまたは複数のコンピュータ実行可能命令を格納するように構成されたメモリと、
1つまたは複数のプロセッサと、を含み、前記1つまたは複数のプロセッサは、前記1つまたは複数の命令を遂行して、
第1の機械学習モデルを使用して、受信したラベルデータを1つまたは複数の部分にセグメント化して、セグメント化されたラベルデータを提供し、
前記セグメント化されたラベルデータから第1の複数の属性を抽出し、
前記ラベルデータと関連するグラウンドトゥルースデータを受信し、
前記受信したグラウンドトゥルースデータから第2の複数の属性を抽出し、
第2の機械学習モデルを使用して、前記セグメント化されたラベルデータに関連する前記第1の複数の属性を、前記グラウンドトゥルースデータに関連する前記第2の複数の属性と比較し、
少なくとも3つの表示ペインを含むユーザーインターフェース(UI)上に、前記比較の結果を表示し、
前記表示された比較の結果に基づいて前記ラベルデータを検証する、ように構成される、システム。
【請求項11】
前記ラベルデータは、少なくとも1つのアートワークラベルに関連する画像データを含む、請求項10に記載のシステム。
【請求項12】
前記UIの前記少なくとも3つの表示ペインは、
前記比較の結果で識別された前記ラベルデータの1つまたは複数の誤りを表示する第1の表示ペインと、
前記ラベルデータを表示する第2の表示ペインと、
前記グラウンドトゥルースデータを表示する第3の表示ペインと、を含む、請求項10に記載のシステム。
【請求項13】
前記1つまたは複数のプロセッサは、前記1つまたは複数の命令を遂行して、
前記ラベルデータ内の前記1つまたは複数の誤りに対する修正アクティビティを実行するためのユーザー入力を受信し、
前記受信したユーザー入力に基づいて前記ラベルデータを更新し、
前記更新に基づいて修正されたラベルデータを前記第2の表示ペインに表示し、
前記修正されたラベルデータを検証し、検証することは、受け入れ確認応答を提供することによって前記修正されたラベルデータを受け入れること、または拒否確認応答を提供することによって前記修正されたラベルを拒否することのうちの少なくとも一方を含む、ようにさらに構成される、請求項12に記載のシステム。
【請求項14】
前記第1の機械学習モデルを使用して、前記受信したラベルデータを1つまたは複数の部分にセグメント化するために、前記1つまたは複数のプロセッサは、前記1つまたは複数の命令を遂行して、
前記第1の機械学習モデルを使用して、前記受信したラベルデータを分類し、前記第1の機械学習モデルは、訓練されたコンピュータビジョン(CV)ベースの機械学習モデルであり、
前記分類されたラベルデータを前記1つまたは複数の部分にセグメント化する、ようにさらに構成される、請求項10に記載のシステム。
【請求項15】
前記1つまたは複数のプロセッサは、前記1つまたは複数の命令を遂行して、
前記分類に基づいて、前記セグメント化されたラベルデータの前記1つまたは複数の部分の各々について1つまたは複数のバウンディングボックスを生成し、
前記1つまたは複数のバウンディングボックスを前記第1の複数の属性と関連付け、前記第1の複数の属性は、テキスト属性、画像属性、またはそれらの組み合わせを含み、
前記生成された1つまたは複数のバウンディングボックスを第2の表示ペインに表示する、ようにさらに構成される、請求項14に記載のシステム。
【請求項16】
前記1つまたは複数のプロセッサは、前記1つまたは複数の生成されたバウンディングボックスの境界を調整するようにさらに構成される、請求項15に記載のシステム。
【請求項17】
前記1つまたは複数のプロセッサは、前記1つまたは複数の命令を遂行して、
前記グラウンドトゥルースデータのための1つまたは複数の追加のバウンディングボックスを生成し、
前記1つまたは複数の追加のバウンディングボックスを前記第2の複数の属性と関連付け、前記第2の複数の属性は、テキスト属性、画像属性、またはそれらの組み合わせを含み、
前記生成された1つまたは複数の追加のバウンディングボックスを第3の表示ペインに表示し、前記第3の表示ペイン内の前記1つまたは複数の追加のバウンディングボックスならびに前記第2の表示ペイン内の前記1つまたは複数のバウンディングボックスは、同じ表示色または同じ表示パターンのうちの1つまたは複数で表示される、ようにさらに構成される、請求項15に記載のシステム。
【請求項18】
前記1つまたは複数のプロセッサは、前記1つまたは複数の命令を遂行して、
前記セグメント化されたラベルデータの前記1つまたは複数のバウンディングボックスから前記第1の複数の属性を抽出し、
前記グラウンドトゥルースデータの前記1つまたは複数の追加のバウンディングボックスから前記第2の複数の属性を抽出し、
前記第2の機械学習モデルを使用して、前記セグメント化されたラベルデータからの前記第1の複数の属性を前記グラウンドトゥルースデータからの前記第2の複数の属性と比較し、前記第2の機械学習モデルは訓練された名称付きエンティティ認識(NER)モデルを含む、ようにさらに構成される、請求項17に記載のシステム。
【請求項19】
非一時的コンピュータ可読媒体に格納されるコンピュータプログラムであって、前記コンピュータプログラムは、1つまたは複数のプロセッサに、
第1の機械学習モデルを使用して、受信したラベルデータを1つまたは複数の部分にセグメント化させて、セグメント化されたラベルデータを提供させ、
前記セグメント化されたラベルデータから第1の複数の属性を抽出させ、
前記ラベルデータと関連するグラウンドトゥルースデータを受信させ、
前記受信したグラウンドトゥルースデータから第2の複数の属性を抽出させ、
第2の機械学習モデルを使用して、前記セグメント化されたラベルデータに関連する前記第1の複数の属性を、前記グラウンドトゥルースデータに関連する前記第2の複数の属性と比較させ、
少なくとも3つの表示ペインを含むユーザーインターフェース(UI)上に、前記比較の結果を表示させ、
前記表示された比較の結果に基づいて前記ラベルデータを検証させる、ように構成される、コンピュータプログラム。
【請求項20】
前記少なくとも3つの表示ペインは、
前記比較の結果で識別された前記ラベルデータの1つまたは複数の誤りを表示する第1の表示ペインと、
前記ラベルデータを表示する第2の表示ペインと、
前記グラウンドトゥルースデータを表示する第3の表示ペインと、を含む、請求項19に記載のコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
(関連出願の相互参照)
本出願は、2021年3月10日に出願された米国非仮特許出願第17/197,527号の利益を主張し、上記出願は、2021年1月27日に出願されたインド特許出願第202111003686号の利益および優先権を主張する。これらの先願の主題は、その全体が参照により本明細書に組み込まれる。
【0002】
本発明は、一般に、ロボティックプロセスオートメーション(RPA)に関し、より具体的には、RPAを使用したアートワークラベルの検証に関する。
【背景技術】
【0003】
RPAは、企業内に多数存在する比較的単純で反復可能なタスクを遂行するため、ソフトウェア自動化の普及を促進するために使用されてきた。RPAは、一般に、以前はコンピューティングシステムへの手動ユーザー入力を使用して行われていた単純なタスクの自動化を可能にし、現在はRPAツールを使用してソフトウェアロボットによってますます実行されている。現在、ソフトウェア開発者が企業の単純なタスクおよび反復タスクを設計、遂行、展開、およびテストするのを助けることができるRPAツールが利用可能である。例えば、これらのタスクは、デザイナツールを使用して設計され、デプロイメントツールを使用して展開され得る。タスクの一部は、特定の製品ベースのアプリケーション領域に関連してもよい。そのようなアプリケーション領域の1つは、ラベルの設計および検証である。ラベルは、製品ラベルなどのアートワークラベル、絵画のような芸術品のラベル、マーケティングパンフレットおよびパンフレットなどを含んでもよい。一般に、これらのアートワークラベルは、テキストと画像の組み合わせを含む。製品ラベルの場合など、大量印刷のためにアートワークラベルが使用されることがある。これらの場合、印刷前にラベルを正確かつ効率的に検証することが重要である。ラベルの検証のわずかな誤りであっても、誤ったラベルが大量生産されると、リソースの大幅な損失および製造コストの増加につながる可能性がある。
【0004】
アートワークラベルの検証のエラーのいくつかは、人間の品質管理担当者が人間の検証時に微小なエラーを識別できない場合など、ヒューマンエラーに起因する。その目的のために、ラベルの効率的かつ正確な検証のために、アートワークラベルの設計および検証のための自動ツールが必要とされている。
【発明の概要】
【0005】
本発明の特定の実施形態は、現在のRPA技術によってまだ完全に識別、認識、または解決されていない当技術分野の問題およびニーズに対するより良好で容易なソリューションを提供する。例えば、本発明のいくつかの実施形態は、アートワークラベルの検証のための効率的、正確かつ経済的な手順を提供するための、アートワークラベルなどのラベルデータの機械学習(ML)ベースの検証に関する。いくつかの実施形態は、ラベルデータの検証を実行するための少なくとも3つの表示ペインを含む直感的で容易にナビゲートするユーザーインターフェースを提供する。少なくとも3つの表示ペイン(または3つのペイン)は、ラベルデータ内の1つまたは複数の誤りを表示するように構成された少なくとも第1の表示ペインと、ラベルデータを表示するように構成された第2の表示ペインと、ラベルデータに関連するグラウンドトゥルースデータを表示するように構成された第3の表示ペインと、を含む。
【0006】
一実施形態では、コンピュータにより実施される方法が提供される。コンピュータにより実施される方法は、一連の操作を遂行するための少なくとも1つのハードウェアプロセッサを使用し、一連の操作はラベルデータの検証に使用される。一連の操作は、ラベルデータを受信することと、第1のMLモデルを使用して、受信したラベルデータを1つまたは複数の部分にセグメント化することと、を含む。したがって、出力はセグメント化されたラベルデータである。一連の操作は、セグメント化されたラベルデータから第1の複数の属性を抽出することをさらに含む。一連の操作はさらに、ラベルデータに関連するグラウンドトゥルースデータを受信することと、グラウンドトゥルースデータから第2の複数の属性を抽出することと、を含む。一連の操作は、第2のMLモデルを使用して、セグメント化されたラベルデータからの第1の複数の属性をグラウンドトゥルースデータからの第2の複数の属性と比較することと、少なくとも3つの表示ペインを含むユーザーインターフェース上に比較の結果を表示することと、をさらに含む。一連の操作は、表示された比較の結果に基づいてラベルデータを検証することをさらに含む。
【0007】
さらに別の実施形態では、システムが提供される。システムは、コンピュータ実行可能命令を格納するように構成されたメモリと、命令を遂行するように構成された1つまたは複数のプロセッサと、を含む。コンピュータ実行可能命令は、1つまたは複数のプロセッサにラベルデータを検証させるように構成される。コンピュータ実行可能命令は、1つまたは複数のプロセッサに、ラベルデータを受信させ、受信したラベルデータを第1の学習モデルを使用して1つまたは複数の部分にセグメント化させ、したがってセグメント化されたラベルデータを提供するようにさらに構成される。コンピュータ実行可能命令は、1つまたは複数のプロセッサに、セグメント化されたラベルデータから第1の複数の属性を抽出させるようにさらに構成される。コンピュータ実行可能命令は、1つまたは複数のプロセッサに、グラウンドトゥルースデータを受信させ、受信したグラウンドトゥルースデータから第2の複数の属性を抽出させるようにさらに構成される。コンピュータ実行可能命令は、1つまたは複数のプロセッサに、第2のMLモデルを使用して、セグメント化されたラベルデータからの第1の複数の属性をグラウンドトゥルースデータからの第2の複数の属性と比較させるようにさらに構成される。コンピュータ実行可能命令は、1つまたは複数のプロセッサに、少なくとも3つの表示ペインを含むユーザーインターフェース上に比較の結果を表示させるようにさらに構成される。さらに、コンピュータ実行可能命令は、1つまたは複数のプロセッサに、表示された比較の結果に基づいてラベルデータを検証させるように構成される。
【図面の簡単な説明】
【0008】
本発明の特定の実施形態の利点が容易に理解されるように、上記で簡単に説明した本発明のより具体的な説明は、添付の図面に示されている特定の実施形態を参照することによって提供される。これらの図面は、本発明の典型的な実施形態のみを示しており、したがってその範囲を限定するものと見なされるべきではないことを理解されたいが、本発明は、添付の図面を使用することによって追加の具体性および詳細を伴って説明および説明される。
【0009】
【
図1】本発明の一実施形態による、RPAシステムを示すアーキテクチャ図である。
【0010】
【
図2】本発明の一実施形態による、展開されたRPAシステムを示すアーキテクチャ図である。
【0011】
【
図3】本発明の一実施形態による、デザイナ、アクティビティ、およびドライバの間の関係を示すアーキテクチャ図である。
【0012】
【
図4】本発明の一実施形態による、別のRPAシステムを示すアーキテクチャ図である。
【0013】
【
図5】本発明の一実施形態による、ラベルの検証のために構成されたコンピューティングシステムを示すアーキテクチャ図である。
【0014】
【
図6A】本発明の一実施形態による、ラベルを検証するためのユーザーインターフェースを示すGUIである。
【
図6B】本発明の一実施形態による、ラベルを検証するためのユーザーインターフェースを示すGUIである。
【
図6C】本発明の一実施形態による、ラベルを検証するためのユーザーインターフェースを示すGUIである。
【0015】
【
図7】本発明の一実施形態による、ラベルデータを検証するための方法を示すフローチャートである。
【発明を実施するための形態】
【0016】
いくつかの実施形態は、アートワークラベル、製品ラベルなどのラベルを表示、比較、および検証する機能を提供するように構成されたシステム(以下、「コンピューティングシステム」と呼ばれる)に関する。ラベルを検証するために、新しく設計されたラベルなどのラベルに含まれるデータまたは情報は、そのようなラベルに関連するグラウンドトゥルースデータと比較(または検証)される。グラウンドトゥルースデータは、製品製造会社またはマーケティング会社によって製品設計会社に提供される以前のラベル、ラベルテンプレート、ラベル設計文書の形態などの、ラベルに関する以前に利用可能な情報を含む。グラウンドトゥルースデータは、本明細書に開示したシステムを使用してラベルデータを検証するための基礎として使用され得る。例えば、システムは、少なくとも3つの表示ペインを含むユーザーインターフェース(UI)を提供するように構成されているので、新しく設計されたラベルなどのラベルデータを以前に設計されたラベルなどのグラウンドトゥルースデータと比較することが容易であり、直感的であり、効率的であり、時間を節約する。
【0017】
ラベルデータをグラウンドトゥルースデータと比較する問題に対するいくつかの従来のソリューションでは、ユーザーは、表示タブの形態などで複数の表示アプリケーションを連続的に手動で切り替え、ラベルデータとグラウンドトゥルースデータとの間で各態様を手動で比較する必要があり、これは時間のかかるタスクである。これはまた、集中力の欠如、細部への注意の欠如、および単調に手動であることに起因してヒューマンエラーを起こしやすい反復プロセスである。ラベルをグラウンドトゥルース文書と比較する負担を軽減するために、いくつかの実施形態は、単一のUI表示領域内に3つの表示ペインを有するUIを提供する。これにより、ユーザーは、ラベルデータとグラウンドトゥルースデータとの変化に容易に気づくことができ、ラベルデータに誤りが発生した領域をハイライトすることができる。
【0018】
さらに、いくつかの実施形態は、MLおよびロボティックプロセスオートメーション(RPA)のような計算効率の高い技術の使用を組み込んで、遂行時間の改善およびストレージ要件の低減を提供すると同時に、ユーザデバイスレベルでの複雑度を低減することによって、高度な計算効率を提供する。これは、「システム」が、本発明の範囲から逸脱することなく、サーバー、組込みコンピューティングシステム、パーソナルコンピュータ、コンソール、パーソナルデジタルアシスタント(PDA)、携帯電話、タブレットコンピューティングデバイス、量子コンピューティングシステム、または任意の他の適切なコンピューティングデバイス、またはデバイスの組み合わせとして具現化され得るからである。上記の機能を「システム」によって実行されるものとして提示することは、実施形態の範囲を決して限定することを意図するものではなく、多くの実施形態の一例を提供することを意図している。実際、いくつかの実施形態は、クラウドコンピューティングシステムを含むコンピューティング技術と一致する局所化された形態および分散された形態で実装されてもよい。これらおよび他のアーキテクチャ構成は、本発明の実施形態の範囲を限定することなく、以下の説明で論じられる。
【0019】
図1は、本発明の一実施形態による、RPAシステム100を示すアーキテクチャ図である。RPAシステム100は、開発者またはユーザーがワークフローを設計および実装することを可能にするデザイナ110を含む。デザイナ110は、アプリケーション統合、ならびに第三者アプリケーション、管理情報技術(IT)タスク、およびビジネスITプロセスを自動化するためのソリューションを提供する。デザイナ110は、ビジネスプロセスのグラフィカル表現である自動化プロジェクトの開発をさらに容易にする。簡単に言えば、デザイナ110は、ワークフローおよびロボットの開発およびデプロイメントを容易にする。いくつかのワークフローは、ラベルデータと呼ばれる、アートワークラベル画像の検証などのためのラベルデータ検証パイプラインの自動化プロジェクトに関連する。自動化は、コンピュータビジョン(CV)および光学文字認識(OCR)技術の組み合わせを使用すること、ラベルデータおよびグラウンドトゥルースデータからの複数のテキストおよび画像ベースの属性の抽出、MLアルゴリズムを使用したラベルデータおよびグラウンドトゥルースデータに対するバウンディングボックスの実行、MLを使用したラベルデータおよびグラウンドトゥルースデータにおけるバウンディングボックス内の類似の属性の比較、ラベルデータの相違、誤りおよび編集オプションの同時表示のための3つの表示ペインを含むUI上の比較結果の表示、表示された比較結果に基づくラベルデータに対する適切な修正アクティビティの実行、ならびに修正アクティビティの確認および/またはラベルデータとグラウンドトゥルースデータとの間の任意のエラーおよび不一致の排除によるラベルの検証などによる、ラベルデータおよびグラウンドトゥルースデータ(文書で提供された以前のアートワークラベル画像またはテンプレートラベル画像など)の識別を含む。RPAの一部として、多次元の正方形、長方形、円、多角形、自由形状などの形状は、ラベルデータ検証のための自動化プロジェクトによるコンピュータビジョン(CV)動作またはMLモデルに関連してUIロボット開発および実行時に利用することができる。
【0020】
自動化プロジェクトは、本明細書で「アクティビティ」と定義される、ワークフローで開発されたステップのカスタムセット間の遂行順序および関係の制御を開発者に与えることによって、ルールベースのプロセスの自動化を可能にする。デザイナ110の一実施形態の一商用例は、UiPath Studio(商標)である。各アクティビティは、ボタンのクリック、ファイルの読み取り、ログパネルへの書き込みなどのアクションを含む。いくつかの実施形態では、ワークフローはネストまたは埋め込みされ得る。
【0021】
いくつかのタイプのワークフローは、シーケンス、フローチャート、有限状態機械(FSM)、および/またはグローバル例外ハンドラを含むが、これらに限定されない。シーケンスは、ワークフローを乱すことなく1つのアクティビティから別のアクティビティへの流れを可能にする線形プロセスに特に適している。フローチャートは、より複雑なビジネスロジックに特に適しており、複数の分岐論理演算子を介してより多様な方法で決定の統合およびアクティビティの接続を可能にする。FSMは、大規模なワークフローに特に適している。FSMは、条件(すなわち、遷移)またはアクティビティによってトリガされ得る有限数の状態をそれらの遂行において使用することができる。グローバル例外ハンドラは、遂行エラーに遭遇したときのワークフローの挙動を判定し、プロセスをデバッグするのに特に適している。
【0022】
ワークフローがデザイナ110で開発されると、ビジネスプロセスの遂行は、デザイナ110で開発されたワークフローを遂行する1つまたは複数のロボット130を編成するコンダクタ120によって編成される。コンダクタ120の実施形態の一商用例は、UiPathオーケストレータ(商標)である。コンダクタ120は、環境内のリソースの作成、監視、およびデプロイメントの管理を容易にする。コンダクタ120は、第三者のソリューションおよびアプリケーションとの統合ポイントとして機能する。一実施形態では、コンダクタ120はウェブベースのユーザーインターフェースと統合される。
【0023】
コンダクタ120は、すべてのロボット130を管理して、集中ポイントからロボット130を接続し遂行する。管理されるロボット130のタイプは、これらに限定されないが、アテンディッドロボット132、アンアテンディッドロボット134、開発ロボット(アンアテンディッドロボット134と同様であるが、開発および試験の目的で使用される)、および非生産ロボット(アテンディッドロボット132と同様であるが、開発および試験の目的で使用される)を含む。アテンディッドロボット132は、ユーザーイベントによってトリガされ、同じコンピューティングシステム上で人間と一緒に動作する。アテンディッドロボット132は、集中プロセスデプロイメントおよび記録媒体のためのコンダクタ120と共に使用される。アテンディッドロボット132は、人間のユーザーが様々なタスクを達成するのを助け、ユーザーイベントによってトリガされる。いくつかの実施形態では、プロセスは、このタイプのロボットのコンダクタ120から開始されず、および/またはロックされた画面の下で実行されない。特定の実施形態では、アテンディッドロボット132は、ロボットトレイまたはコマンドプロンプトから起動される。いくつかの実施形態では、アテンディッドロボット132は人間の監督下で動作する。例えば、いくつかのアテンディッドロボット132は、画像の訓練データセットに基づいて画像を分類するように構成された第1のMLモデルの訓練データ生成のための人間の介入を必要とする教師付きML方法論に使用することができる。訓練データセットは、画像に関連するカテゴリまたはクラスを識別する目的で、ラベルまたはタグを画像に割り当てることによって生成することができる。例えば、画像は、ソフトドリンクの製品ラベルに関連していてもよく、画像が属するカテゴリは「飲料」であってもよく、したがって、訓練データセットにおいて、画像は、対応する「飲料」タグに関連付けられてもよい。このように、何千もの画像をタグ付けして、対応する第1のMLモデルの訓練データセットを形成することができる。アテンディッドロボット132は、訓練データ画像の教師付き分類を提供することによって訓練データセットの生成を容易にする。
【0024】
いくつかの実施形態では、アテンディッドロボット132は、ラベルデータが「飲料」産業に関連する場合、栄養成分表示表、成分、サムネイルなどのラベルデータ内の複数のセグメントを分類するように構成される。分類されたセグメントには、ラベルデータの識別されたセグメントのそれぞれについて、座標データ:(x1y1、x2y2、x3y3、x4y4)の形式で定義された1つまたは複数のバウンディングボックスがさらに設けられる。
【0025】
いくつかの実施形態では、アテンディッドロボット132はまた、MLモデル(以前に開示したMLモデルと同じであってもよい)を使用して、訓練データセット内の画像、例えば、チップパケットまたはスナック、飲料、水筒などの複数のスーパーカテゴリのうちの1つを最初に生成するように構成される。次に、MLモデルは、最初に、第1の分類器アルゴリズムを使用して、アートワークラベルをスーパーカテゴリ(飲料、スナックなど)に正しく分類し、次に、第2のレベルの分類を使用して、前述のようにラベルデータ内の1つまたは複数のセグメントを識別する。
【0026】
アンアテンディッドロボット134は、仮想環境で無人で動作し、多くのプロセスを自動化する。アンアテンディッドロボット134は、リモート遂行、監視、スケジューリング、および作業待ち行列のサポートの提供を担当する。いくつかの実施形態では、すべてのロボットタイプのデバッグを、デザイナ110で実行される。アテンディッドロボット132およびアンアテンディッドロボット134の両方は、メインフレーム、ウェブアプリケーション、仮想マシン(VM)、エンタープライズアプリケーション(例えば、SAP(登録商標)、SalesForce(登録商標)、Oracle(登録商標)などによって製造されたもの)、およびコンピューティングシステムアプリケーション(例えば、デスクトップおよびラップトップアプリケーション、モバイルデバイスアプリケーション、ウェアラブルコンピュータアプリケーション、画像分類アプリケーションなど)を含むがこれらに限定されない様々なシステムおよびアプリケーションを自動化することができる。例えば、監督されたロボットまたはアテンディッドロボット132を使用して訓練データセットが生成されると、コンピューティングアプリケーションの結果に基づいて、(画像分類用の第1のMLモデルのような)MLモデルの再訓練にアンアテンディッドロボット134を使用することができる。本明細書に開示するコンピューティングシステムを使用してラベルが検証される場合には、アンアテンディッドロボット134を使用して、ラベルが有効であるか無効であるか、および不一致が何であるかという検証の出力結果を取得し、これらの結果を自己学習のために第1の機械モデル(または本明細書に開示する他の同様のモデル)にフィードバックする。ロボット130は、アテンディッドロボット132であろうとアンアテンディッドロボット134であろうと、コンダクタ120によって準備され維持される。
【0027】
コンダクタ120は、プロビジョニング、デプロイメント、構成、キューイング、監視、ロギング、および/または相互接続性の提供を含むがこれらに限定されない様々な機能を有する。プロビジョニングは、ロボット130とコンダクタ120(例えば、ウェブアプリケーション)との間の接続の作成および保守を含む。デプロイメントは、遂行のために割り当てられたロボット130へのパッケージバージョンの正しい配信を保証することを含む。構成は、ロボット環境およびプロセス構成の維持および配信を含む。キューイングは、キューおよびキュー項目の管理を提供することを含む。監視は、ロボット識別データを追跡し、ユーザー権限を維持することを含む。ロギングは、データベース(例えば、SQLデータベース)および/または別のストレージ機構(例えば、大規模なデータセットを格納し、迅速にクエリする能力を提供するElasticSearch(登録商標))へのログの格納およびインデックス付けを含む。コンダクタ120は、第三者のソリューションおよび/またはアプリケーションのための通信の集中ポイントとして作用することによって相互接続性を提供する。
【0028】
ロボット130は、デザイナ110に構築されたワークフローを実行する遂行エージェントであり得る。ロボット130のいくつかの実施形態の一商用例は、UiPath Robots(商標)である。いくつかの実施形態では、ロボット130は、デフォルトでMicrosoft Windows(登録商標)Service Control Manager(SCM)管理サービスをインストールする。結果として、ロボット130は、ローカルシステムアカウントの下でインタラクティブなWindows(登録商標)セッションを開き、Windows(登録商標)サービスの権利を有することができる。
【0029】
いくつかの実施形態では、ロボット130は、ユーザーモードで設置される。このようなロボット130の場合、これは、所与のロボット130が設置されているユーザーと同じ権利を有することを意味する。この特徴は、その最大の可能性で各機械の完全な利用を保証する高密度(HD)ロボットにも利用可能である。いくつかの実施形態では、任意のタイプのロボット130をHD環境で構成することができる。
【0030】
いくつかの実施形態におけるロボット130は、各々が特定の自動化タスク専用であるいくつかのコンポーネントに分割される。いくつかの実施形態におけるロボットコンポーネントは、SCM管理ロボットサービス、ユーザーモードロボットサービス、エグゼキュータ、エージェント、およびコマンドラインを含むが、これらに限定されない。SCM管理ロボットサービスは、Windows(登録商標)セッションを管理および監視し、コンダクタ120と遂行ホスト(すなわち、ロボット130が遂行されるコンピューティングシステム)との間のプロキシとして機能する。これらのサービスは、ロボット130の資格情報で信頼され、管理する。コンソールアプリケーションは、ローカルシステムの下でSCMによって起動される。
【0031】
いくつかの実施形態におけるユーザーモードロボットサービスは、Windows(登録商標)セッションを管理および監視し、コンダクタ120と遂行ホストとの間のプロキシとして機能する。ユーザーモードロボットサービスは、ロボット130のための資格情報を信頼し管理することができる。SCM管理ロボットサービスがインストールされていない場合には、Windows(登録商標)アプリケーションが自動的に起動される。
【0032】
エグゼキュータは、Windows(登録商標)セッション下で所与のジョブを遂行する(すなわち、エグゼキュータはワークフローを遂行することができる)。エグゼキュータは、モニターごとのドット/インチ(DPI)設定を認識する。エージェントは、システムトレイウィンドウに利用可能なジョブを表示するWindows(登録商標)Presentation Foundation(WPF)アプリケーションであってもよい。エージェントは、サービスのクライアントであってもよい。エージェントは、ジョブの開始または停止および設定の変更を要求する。コマンドラインは、サービスのクライアントである。コマンドラインは、ジョブの開始を要求し、その出力を待つコンソールアプリケーションである。
【0033】
上記で説明したようにロボット130のコンポーネントを分割することは、開発者、サポートユーザー、およびコンピューティングシステムが各コンポーネントが実行しているものをより容易に実行、識別、および追跡するのに役立つ。このようにして、エグゼキュータおよびサービスに対して異なるファイアウォールルールを設定するなど、特別な挙動をコンポーネントごとに構成することができる。エグゼキュータは、いくつかの実施形態では、モニターごとにDPI設定を常に認識する。結果として、ワークフローは、それらが作成されたコンピューティングシステムの構成にかかわらず、任意のDPIで遂行され得る。いくつかの実施形態では、デザイナ110からのプロジェクトは、ブラウザのズームレベルとは無関係であってもよい。DPIを認識していない、または意図的に認識していないとマークされたアプリケーションの場合、いくつかの実施形態ではDPIが無効にされる。
【0034】
図2は、本発明の一実施形態による、展開されたRPAシステム200を示すアーキテクチャ図である。いくつかの実施形態では、RPAシステム200は、
図1のRPAシステム100であってもよいし、その一部でなくてもよい。クライアント側、サーバー側、またはその両方は、本発明の範囲から逸脱することなく、任意の所望の数のコンピューティングシステムを含むことができることに留意されたい。クライアント側では、ロボットアプリケーション210は、エグゼキュータ212と、エージェント214と、デザイナ216(例えば、デザイナ110)と、を含む。しかしながら、いくつかの実施形態では、デザイナ216はロボットアプリケーション210上で実行されていない。エグゼキュータ212は、実行中のプロセスである。
図2に示すように、いくつかのビジネスプロジェクト(すなわち、エグゼキュータ212)が同時に実行される。エージェント214(例えば、Windows(登録商標)サービス)は、この実施形態ではすべてのエグゼキュータ212に対する単一の接続ポイントである。この実施形態におけるすべてのメッセージは、データベースサーバー240、インデクササーバー250、またはその両方を介してそれらをさらに処理するコンダクタ230にログされる。
図1に関して上述したように、エグゼキュータ212はロボット構成要素である。
【0035】
いくつかの実施形態では、ロボットは、機械名とユーザー名との間の関連付けを表す。ロボットは、複数のエグゼキュータを同時に管理する。同時に実行される複数のインタラクティブなセッション(例えば、Windows(登録商標)Server 2012)をサポートするコンピューティングシステムでは、複数のロボットが同時に実行され、それぞれが一意のユーザー名を使用して別々のWindows(登録商標)セッションで実行される。これは、上記ではHDロボットと呼ばれる。
【0036】
エージェント214はまた、ロボットのステータス(例えば、ロボットがまだ機能していることを示す「ハートビート」メッセージを定期的に送信する)を送信し、遂行されるパッケージの必要なバージョンをダウンロードする役割も担う。エージェント214とコンダクタ230との間の通信は、いくつかの実施形態では常にエージェント214によって開始される。通知シナリオでは、エージェント214は、ロボットにコマンド(例えば、始動、停止など)を送信するためにコンダクタ230によって後で使用されるWebSocketチャネルを開く。
【0037】
サーバー側には、プレゼンテーション層(ウェブアプリケーション232、オープンデータプロトコル(OData)代表状態転送(REST)アプリケーション・プログラミング・インターフェース(API)エンドポイント234、ならびに通知監視API236)、サービス層(API実装/ビジネスロジック238)、永続層(データベースサーバー240、インデクササーバー250)が含まれる。コンダクタ230は、ウェブアプリケーション232、OData REST APIエンドポイント234、通知監視API236、ならびにAPI実装/ビジネスロジック238を含む。いくつかの実施形態では、ユーザーがコンダクタ230のインターフェース内で(例えば、ブラウザ220を介して)実行するほとんどのアクションは、様々なAPIを呼び出すことによって実行される。そのようなアクションは、本発明の範囲から逸脱することなく、ロボット上のジョブの開始、キュー内のデータの追加/削除、無人で実行するためのジョブのスケジューリングなどを含むが、これらに限定されない。ウェブアプリケーション232は、サーバープラットフォームのビジュアル層である。この実施形態では、ウェブアプリケーション232は、ハイパーテキストマークアップ言語(HTML)およびJavaScript(JS)を使用する。しかしながら、本発明の範囲から逸脱することなく、任意の所望のマークアップ言語、スクリプト言語、または任意の他のフォーマットを使用することができる。ユーザーは、コンダクタ230を制御するための様々なアクションを実行するために、この実施形態ではブラウザ220を介してウェブアプリケーション232からのウェブページとインタラクトする。例えば、ユーザーは、ロボットグループを作成し、ロボットにパッケージを割り当て、ロボットごとおよび/またはプロセスごとにログを解析し、ロボットを起動および停止などする。
【0038】
ウェブアプリケーション232に加えて、コンダクタ230はまた、OData REST APIエンドポイント234を公開するサービス層を含む。しかしながら、本発明の範囲から逸脱することなく、他のエンドポイントが含まれてもよい。REST APIは、ウェブアプリケーション232とエージェント214の両方によって消費される。エージェント214は、この実施形態ではクライアントコンピュータ上の1つまたは複数のロボットの管理者である。
【0039】
この実施形態におけるREST APIは、構成、ロギング、監視、およびキューイング機能をカバーする。構成エンドポイントは、いくつかの実施形態では、アプリケーションユーザー、権限、ロボット、アセット、リリース、および環境を定義および構成するために使用される。ロギングRESTエンドポイントは、例えば、エラー、ロボットによって送信された明示的なメッセージ、および他の環境固有の情報などの様々な情報をログに記録するために使用される。デプロイメントRESTエンドポイントは、開始ジョブコマンドがコンダクタ230内で使用される場合に遂行されるべきパッケージバージョンをクエリするためにロボットによって使用される。キューイングRESTエンドポイントは、キューにデータを追加すること、キューからトランザクションを取得すること、トランザクションの状態を設定することなど、キューおよびキュー項目管理を担当する。
【0040】
監視RESTエンドポイントは、ウェブアプリケーション232およびエージェント214を監視する。通知監視API236は、エージェント214の登録、エージェント214への構成設定の配信、ならびにサーバーおよびエージェント214からの通知の送信/受信に使用されるRESTエンドポイントであってもよい。通知監視API236はまた、いくつかの実施形態では、WebSocket通信を使用する。
【0041】
永続層は、この実施形態におけるサーバーのペア、すなわちデータベースサーバー240(例えば、SQLサーバー)およびインデクササーバー250を含む。この実施形態におけるデータベースサーバー240は、ロボット、ロボットグループ、関連するプロセス、ユーザー、役割、スケジュールなどの構成を格納する。この情報は、いくつかの実施形態ではウェブアプリケーション232を介して管理される。データベースサーバー240は、キューおよびキュー項目を管理する。いくつかの実施形態では、データベースサーバー240は、(インデクササーバー250に加えて、またはその代わりに)ロボットによって記録されたメッセージを格納する。
【0042】
インデクササーバー250は、いくつかの実施形態ではオプションであり、ロボットによって記録された情報を格納し、インデックス付けする。特定の実施形態では、インデクササーバー250は、構成設定を通じて無効にすることができる。いくつかの実施形態では、インデクササーバー250は、オープンソースプロジェクトのフルテキスト探索エンジンであるElasticSearch(登録商標)を使用する。ロボット(例えば、ログメッセージまたは行書き込みのようなアクティビティを使用する)によってログされたメッセージは、ロギングRESTエンドポイントを介してインデクササーバー250に送信され、そこでそれらは将来の利用のためにインデックス付けされる。
【0043】
図3は、本発明の一実施形態による、ユーザーインターフェース310、ユーザー定義のアクティビティ320、ユーザーインターフェース(UI)自動化アクティビティ330、およびドライバ340の間の関係300を示すアーキテクチャ図である。上記により、ユーザーインターフェース310は、少なくとも3つの表示ペイン、すなわち、ラベルのグラウンドトゥルースデータと比較される受信されたラベルデータ内の1つまたは複数の誤りを表示するように構成された第1の表示ペイン、ラベルデータ自体を表示するように構成された第2の表示ペイン、およびグラウンドトゥルースデータを表示するように構成された第3の表示ペインを含む。このようにして具現化されたユーザーインターフェースが
図6Aに示されており、
図6Aの説明と共に詳細に説明される。
【0044】
いくつかの代替実施形態では、ユーザーインターフェース310は、統合開発環境(IDE)の設計モジュールの一部であり、これにより、ユーザーまたはアートワークラベルのデザイナは、ラベルデータ検証のワークフローに関連する1つまたは複数の機能を実行することができる。機能には、ワークフローについて、ラベルデータをグラウンドトゥルースデータと比較すること、ラベルに注釈を付けること、変更を受け入れること、編集、保存、修正などが含まれる。さらに、いくつかの実施形態では、ユーザーインターフェース310は、ラベルデータ内の1つまたは複数の誤りに対する修正アクティビティを実行するためのユーザー入力を受信し、受信したユーザー入力に基づいてラベルデータを更新し、その更新に基づいて修正されたラベルデータを表示し、修正されたラベルについて第1の表示ペインに受け入れ確認応答を提供することによって修正されたラベルデータを受け入れ、第1の表示ペインに拒否確認応答を提供することによって修正されたラベルを拒否するなどのためのオプションをユーザーに提供するように構成される。
【0045】
いくつかの実施形態では、ワークフローは、ユーザー定義のアクティビティ320およびUI自動化アクティビティ330を含む。いくつかの実施形態は、コンピュータビジョン(CV)アクティビティを使用して、アートワークラベルの画像であるラベルデータなどのワークフローに関連する画像内の非テキスト視覚コンポーネントを識別することができる。そのようなコンポーネントに関係するいくつかのCVアクティビティは、光学文字認識(OCR)を使用したセグメント化されたラベルデータからのテキストの抽出、ファジーテキストマッチング、MLを使用したセグメント化されたラベルデータのクロッピング、ラベルデータ内の抽出されたテキストとグラウンドトゥルースデータとの比較などを含むことができるが、これらに限定されない。いくつかの実施形態では、ユーザー定義のアクティビティ320のコンポーネントに実装され得る数百または数千のアクティビティが存在し得る。しかしながら、本発明の範囲から逸脱することなく、任意の数および/またはタイプのアクティビティが利用可能であり得る。
【0046】
UI自動化アクティビティ330は、下位レベルコード(例えば、CVアクティビティ)に書き込まれ、画面とのインタラクションを容易にする特別な低レベルのアクティビティのサブセットである。いくつかの実施形態では、UI自動化アクティビティ330は、ラベル識別、ラベル検証、グラウンドトゥルースデータ収集、グラウンドトゥルースデータ分類、ラベルデータ分類、ラベルデータセグメント化、ラベルデータおよびグラウンドトゥルースデータからの複数の属性に関連するデータ抽出、バウンディングボックス生成、グラウンドトゥルースデータとのラベルデータ比較、ラベルデータのハイライト、注釈付け、着色などに関連するアクティビティを含む。UI自動化アクティビティ330は、ロボットが所望のソフトウェアとインタラクトすることを可能にするドライバ340を介したこれらのインタラクションを容易にする。例えば、ドライバ340は、オペレーティングシステム(OS)ドライバ342、ブラウザドライバ344、VMドライバ346、エンタープライズアプリケーションドライバ348などを含む。
【0047】
ドライバ340は、フックを探し、キーを監視するなど、低レベルでOSドライバ342とインタラクトするように構成される。それらは、Chrome(登録商標)、IE(登録商標)、Citrix(登録商標)、SAP(登録商標)などとの統合を容易にすることができる。例えば、「クリック」アクティビティは、ドライバ340を介してこれらの異なるアプリケーションで同じ役割を実行する。ドライバ340は、RPAシステムにおいてRPAアプリケーションの遂行を可能にすることができる。ブラウザドライバ344は、ユーザーまたは開発者がインタラクトするためのウェブベースのユーザーインターフェースを含む。
【0048】
図4は、本発明の一実施形態による、RPAシステム400を示すアーキテクチャ図である。いくつかの実施形態では、RPAシステム400は、
図1および/または
図2のRPAシステム100および/または200であり得るか、それらを含み得る。RPAシステム400は、複数のクライアントコンピューティングシステム410(例えば、走行ロボット)を含む。いくつかの実施形態では、複数のクライアントコンピューティングシステム410は、複数のRPAパッケージおよびRPAワークフローを比較するように構成される。複数のクライアントコンピューティングシステム410は、その上で実行されるウェブアプリケーションを介してコンダクタコンピューティングシステム420と通信するようにさらに構成される。次に、コンダクタコンピューティングシステム420は、データベースサーバー430(例えば、データベースサーバー240は、)および任意選択のインデクササーバー440(例えば、オプションのインデクササーバー250)と通信するように構成される。
【0049】
図1および
図3に関して、これらの実施形態ではウェブアプリケーションが使用されているが、本発明の範囲から逸脱することなく、任意の適切なクライアント/サーバーソフトウェアを使用できることに留意されたい。例えば、コンダクタは、クライアントコンピューティングシステム上の非ウェブベースのクライアントソフトウェアアプリケーションと通信するサーバー側アプリケーションを実行することができる。サーバーは、クラウドコンピューティングシステムを含むコンピューティング技術と一致する局所化された形態および分散された形態で実装されてもよい。
【0050】
図5は、本発明の一実施形態による、ラベルデータを検証するように構成されたコンピューティングシステム500を示すアーキテクチャ図である。いくつかの実施形態では、コンピューティングシステム500は、本明細書に図示および/または記載されたコンピューティングシステムのうちの1つまたは複数であってもよい。コンピューティングシステム500は、情報を通信するためのバス510または他の通信機構と、情報を処理するためにバス510に結合されたプロセッサ520と、を含む。プロセッサ520は、中央プロセッシングユニット(CPU)、特定用途集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、グラフィックスプロセッシングユニット(GPU)、それらの複数のインスタンス、および/またはそれらの任意の組み合わせを含む、任意のタイプの汎用または専用プロセッサであってもよい。プロセッサ520はまた、複数の処理コアを有してもよく、コアの少なくともいくつかは、特定の機能を実行するように構成されてもよい。いくつかの実施形態では、複数並列処理が使用される。特定の実施形態では、プロセッサ520の少なくとも一方は、生体ニューロンを模倣する処理要素を含むニューロモーフィック回路であってもよい。いくつかの実施形態では、ニューロモーフィック回路は、フォン・ノイマン・コンピューティングアーキテクチャの典型的なコンポーネントを必要としない。
【0051】
コンピューティングシステム500は、プロセッサ520によって遂行される情報および命令を格納するためのメモリ530をさらに含む。メモリ530は、ランダムアクセスメモリ(RAM)、読み出し専用メモリ(ROM)、フラッシュメモリ、キャッシュ、磁気もしくは光ディスクなどの静的ストレージ、または任意の他のタイプの非一時的コンピュータ可読媒体、またはそれらの組み合わせの任意の組み合わせで構成することができる。非一時的コンピュータ可読媒体は、プロセッサ520によってアクセス可能な任意の利用可能な媒体であってもよく、揮発性媒体、不揮発性媒体、またはその両方を含んでもよい。媒体はまた、取り外し可能、取り外し不能、またはその両方であってもよい。
【0052】
さらに、コンピューティングシステム500は、無線接続および/または有線接続を介して通信ネットワークへのアクセスを提供するためのトランシーバなどの通信デバイス540を含む。いくつかの実施形態では、通信デバイス540は、周波数分割多元接続(FDMA)、シングルキャリアFDMA(SC-FDMA)、時分割多元接続(TDMA)、符号分割多元接続(CDMA)、直交周波数分割多重方式(OFDM)、直交周波数分割多元接続(OFDMA)、移動体用グローバルシステム(GSM)通信、汎用パケット無線サービス(GPRS)、ユニバーサル移動体通信システム(UMTS)、cdma2000、広帯域CDMA(W-CDMA)、高速ダウンリンクパケットアクセス(HSDPA)、高速アップリンクパケットアクセス(HSUPA)、高速パケットアクセス(HSPA)、ロングタームエボリューション(LTE)、LTEアドバンスト(LTE-A)、802.11x、Wi-Fi、Zigbee、超広帯域無線(UWB)、802.16x、802.15、ホームノードB(HnB)、Bluetooth、無線周波数識別(RFID)、赤外線データ協会(IrDA)、近距離通信(NFC)、第5世代(5G)、新無線(NR)、それらの任意の組み合わせ、ならびに/あるいは本発明の範囲から逸脱することなく、任意の他の現在存在する、または将来実施される通信規格および/またはプロトコルを使用するように構成されてもよい。いくつかの実施形態では、通信デバイス540は、本発明の範囲から逸脱することなく、単一、アレイ、位相、切り替え、ビームフォーミング、ビームステア、それらの組み合わせ、および/または任意の他のアンテナ構成である1つまたは複数のアンテナを含む。
【0053】
プロセッサ520はさらに、バス510を介して、プラズマディスプレイ、液晶ディスプレイ(LCD)、発光ダイオード(LED)ディスプレイ、電界放出ディスプレイ(FED)、有機発光ダイオード(OLED)ディスプレイ、フレキシブルOLEDディスプレイ、フレキシブル基板ディスプレイ、プロジェクションディスプレイ、4Kディスプレイ、高精細ディスプレイ、Retina(登録商標)ディスプレイ、インプレーンスイッチング(IPS)ディスプレイ、またはユーザーに情報を表示するための任意の他の適切なディスプレイなどのディスプレイ550にさらに結合される。ディスプレイ550は、抵抗性、容量性、表面弾性波(SAW)容量性、赤外線、光学イメージング、分散信号技術、音響パルス認識、フラストレート全内部反射などを使用して、タッチ(触覚)ディスプレイ、3次元(3D)タッチディスプレイ、マルチ入力タッチディスプレイ、マルチタッチディスプレイなどとして構成される。本発明の範囲から逸脱することなく、任意の適切なディスプレイデバイスおよび触覚I/Oが使用され得る。
【0054】
キーボード560およびコンピュータマウス、タッチパッドなどのカーソル制御デバイス570は、ユーザーがコンピューティングシステムとインターフェースすることを可能にするためにバス510にさらに結合される。しかしながら、特定の実施形態では、物理的なキーボードおよびマウスが存在せず、ユーザーは、ディスプレイ550および/またはタッチパッド(図示せず)のみを介してデバイスとインタラクトする。入力デバイスの任意のタイプおよび組み合わせを、設計上の選択事項として使用することができる。特定の実施形態では、物理的入力デバイスおよび/またはディスプレイは存在しない。例えば、ユーザーは、それと通信する別のコンピューティングシステムを介してコンピューティングシステム500と遠隔でインタラクトするか、またはコンピューティングシステム500が自律的に動作する。
【0055】
メモリ530は、プロセッサ520によって遂行されると機能を提供するソフトウェアモジュールを格納する。モジュールは、コンピューティングシステム500のためのオペレーティングシステム532を含む。モジュールは、ラベルデータの検証を提供し、少なくとも3つの表示ペインを含むユーザーインターフェース310などのユーザーインターフェース上で検証の結果を提供するために、本明細書に記載のプロセスまたはその派生物の全部または一部を実行するように構成された検証モジュール534をさらに含む。さらに、検証モジュール534は、遂行されると、ラベルデータを検証するための関連する機能を実行するように検証モジュールを構成する他の構成要素を含む。これらのモジュールは、第1のMLモデルおよび第2のMLモデルを格納するように構成されたMLモジュールを含んでもよい。これらのモジュールはまた、ラベルデータを1つまたは複数の部分にセグメント化し、グラウンドトゥルースデータをセグメント化するように構成されたセグメント化モジュールを含んでもよい。いくつかのさらなる実施形態では、これらのモジュールは、ラベルデータおよびグラウンドトゥルースデータに対してバウンディングボックスを実行するように構成されたバウンディングボックス生成モジュールと、ラベルデータおよびグラウンドトゥルースデータの各々から複数の属性を抽出するように構成された抽出モジュールと、ラベルデータおよびグラウンドトゥルースデータから複数の対応する属性(第1の複数の属性および第2の複数の属性など)を比較するように構成された比較モジュールと、検証されたラベルデータの1つまたは複数の修正アクティビティを提供するように構成された修正モジュールと、を含む。これらのモジュールは
図5に明示的に示されていないが、これらのモジュールは、本発明の範囲から逸脱することなく、検証モジュール534内で、または別個に、1つまたは複数のモジュールの任意の組み合わせとして実装されてもよい。
【0056】
当業者は、コンピューティングシステム500などの「システム」が、本発明の範囲から逸脱することなく、サーバー、組込みコンピューティングシステム、パーソナルコンピュータ、コンソール、パーソナルデジタルアシスタント(PDA)、携帯電話、タブレットコンピューティングデバイス、量子コンピューティングシステム、もしくは任意の他の適切なコンピューティングデバイス、またはデバイスの組み合わせとして具現化され得ることを理解するであろう。上記の機能を「システム」によって実行されるものとして提示することは、本発明の範囲を決して限定することを意図するものではなく、本発明の多くの実施形態の一例を提供することを意図している。実際、本明細書に開示する方法、システム、および装置は、クラウドコンピューティングシステムを含むコンピューティング技術と一致する局所化された形態および分散された形態で実装されてもよい。
【0057】
本明細書に記載されたシステム特徴のいくつかは、それらの実装の独立性をより具体的に強調するために、モジュールとして提示されていることに留意されたい。例えば、モジュールは、カスタムの超大規模集積(VLSI)回路またはゲートアレイ、ロジックチップ、トランジスタ、または他のディスクリートコンポーネントなどの既製の半導体を含むハードウェア回路として実装されてもよい。モジュールはまた、フィールドプログラマブルゲートアレイ、プログラマブルアレイロジック、プログラマブルロジックデバイス、グラフィックスプロセッシングユニットなどのプログラマブルハードウェアデバイスに実装されてもよい。
【0058】
モジュールはまた、様々なタイプのプロセッサによって遂行するためのソフトウェアに少なくとも部分的に実装されてもよい。遂行可能コードの識別されたユニットは、例えば、オブジェクト、プロシージャ、または関数として編成されたコンピュータ命令の1つまたは複数の物理ブロックまたは論理ブロックを含む。それにもかかわらず、識別されたモジュールの遂行可能ファイルは、物理的に共に配置される必要はないが、論理的に共に結合されたときにモジュールを含み、モジュールの記載された目的を達成する異なる場所に格納された異なる命令を含むことができる。さらに、モジュールは、コンピュータ可読媒体に格納されてもよく、それは、例えば、ハードディスクドライブ、フラッシュデバイス、RAM、テープ、および/または本発明の範囲から逸脱することなくデータを格納するために使用される任意の他のそのような非一時的コンピュータ可読媒体であってもよい。
【0059】
実際、遂行可能コードのモジュールは、単一の命令、または多くの命令であってもよく、いくつかの異なるコードセグメント、異なるプログラム、およびいくつかのメモリデバイスに分散されてもよい。同様に、操作データは、本明細書ではモジュール内で識別および図示されてもよく、任意の適切な形態で具現化され、任意の適切なタイプのデータ構造内に編成されてもよい。操作データは、単一のデータセットとして収集されてもよく、または異なるストレージデバイスを含む異なる場所に分散されてもよく、少なくとも部分的に、システムまたはネットワーク上の電子信号としてのみ存在してもよい。
図6A~
図6Cは、本発明の様々な実施形態による、アクションのラベルデータ検証パイプラインのためのユーザーインターフェースの例示的な機能を示す。
【0060】
図6Aは、本発明の例示的な実施形態による、ラベルデータ検証のためのスクリーンショットを示すGUI600aである。いくつかの実施形態では、GUI600aは、3つの表示ペインを含む3つのペインラベル検証UI、すなわち、(1)第1の表示ペイン610a、(2)第2の表示ペイン620a、および(3)第3の表示ペイン630aを示す。
【0061】
第1の表示ペイン610aには、ラベルデータに関連する1つまたは複数の誤り、エラー、不一致、品質パラメータなどが表示される。誤りまたはエラーは、ラベルデータをグラウンドトゥルースデータと比較した後に識別される。第1の表示ペイン610aはまた、ラベルデータをグラウンドトゥルースデータと比較することによって識別された様々なパラメータの視覚化を提供する。これらのパラメータには、1つまたは複数の誤り、ラベルまたはアートワークデザイナの一般的な助言情報、ラベルまたはアートワークデザイナのOCR助言情報などが含まれる。さらに、第1の表示ペイン610aは、ラベルデータとグラウンドトゥルースデータとの類似情報を表形式で並べて比較する。グラウンドトゥルースデータとラベルデータとの間の同様の情報フィールドの比較を示す、成分表と栄養表の2つの表があり、コメント用の追加の列がある。これらの表およびそれらの関連情報の両方の詳細は、
図6Cの説明と併せて説明される。
【0062】
第2の表示ペイン620aは、ラベルデータを表示する。ラベルデータは、デザイナ110または任意の他の画像デザインアプリケーションを使用するなど、デザイナまたは開発者によってデザインされたアートワークまたは製品ラベルに対応する。第2の表示ペイン620aはまた、デザイナ110または他の画像設計アプリケーションなどからラベルデータを受信し、受信したラベルデータをユーザーに表示する。ラベルデータは、1つまたは複数のバウンディングボックスで表示され、これは、ラベルデータの画像セグメント化を実行し、セグメント化されたラベルデータから第1の複数の属性を抽出してバウンディングボックスを実行する第1のMLモデルを使用して生成され得る。
【0063】
第3の表示ペイン630aは、グラウンドトゥルースデータを表示する。グラウンドトゥルースデータは、ラベル情報文書(LID)の形態であってもよく、これは、ユーザーに表示するための第3の表示ペイン630aによって、クライアント企業からのラベルのテンプレートとして受信されてもよく、クライアント企業のタイプに基づいて修正されたアートワークラベルの設計テンプレート文書、スキャンされた製品ラベル画像、格納された以前に設計されたラベル画像から選択されたアートワークラベルの画像、製品ラベルの写真(.jpegまたは.jpgファイルなど)などであってもよい。グラウンドトゥルースデータはまた、ラベルデータについて上述し、以下の説明でさらに説明するステップと同様の方法で、第1のMLモデルを使用して生成される1つまたは複数のバウンディングボックスと共に表示される。
【0064】
第1のMLモデルは、訓練されたCVベースのMLモデルである。MLモデルは、既に設計された製品ラベル、ラベルテンプレート文書、ラベル写真などの何千もの画像を収容する画像の訓練データセットで訓練される。第1のMLモデルは、第1の表示ペイン610aから受信したラベルデータを、以前に行われた訓練データセットのラベリングに基づいて識別され得る1つまたは複数の所定のカテゴリに分類し得る。さらに、第1のMLモデルは、分類されたラベルデータを1つまたは複数の部分にセグメント化してもよい。1つまたは複数の部分は、アートワーク画像の異なる部分など、ラベルデータ内の異なる領域であってもよく、第1のMLモデルおよびその関連アルゴリズムを使用してバウンディングボックスを提供することによってさらに定義される。バウンディングボックスによって識別される異なる部分は、ラベルデータの第1の複数の属性にさらに関連付けられる。これらの第1の複数の属性は、テキスト属性、画像属性、またはテキスト属性と画像属性との任意の適切な組み合わせを含む。例えば、第2の表示ペイン620aでは、テキストMtn Dew Voltageおよびその背景色およびシェーディング効果によって定義された部分が画像属性を形成することができる。同じラベルデータにおいて、栄養成分表示によって定義される部分およびその表は、テキスト属性を形成する。これらの部分の各々は、異なるバウンディングボックスによって画定される。ラベルデータおよびグラウンドトゥルースデータ内の同じ属性を表すバウンディングボックスは、識別および比較を容易にするために同じ色で提供されてもよい。例えば、第3の表示ペイン630aは、グラウンドトゥルースデータの第2の複数の属性のために設けられた1つまたは複数の追加のバウンディングボックスを表示する。第2の複数の属性も、ラベルデータと同様に、テキスト属性と画像属性との組み合わせである。第2の表示ペイン620aのバウンディングボックスおよび第3の表示ペイン630aの追加バウンディングボックスは、第1の機械モデルを使用して生成され、その結果、セグメント化されたラベルデータおよびセグメント化されたグラウンドトゥルースデータが、それぞれ第2の表示ペイン620aおよび第3の表示ペイン630aに表示される。
【0065】
いくつかの実施形態では、第2の表示ペイン620aのバウンディングボックスおよび第3の表示ペイン630aの対応する追加のバウンディングボックスは、同じ色またはパターンで表示される。
【0066】
いくつかの実施形態では、ラベルデータおよびグラウンドトゥルースデータの各々の異なる部分の周りに定義された境界は調整可能であり、ユーザーの好みに基づいて変更または設定することができる。さらに、境界は、調整に基づいて第1のMLモデルによって自己学習され得、その結果、第1のMLモデルは、新しいまたは調整された境界情報で自己訓練され得る。これにより、コンピューティングシステム500などのシステム全体がより効率的になり、エンドユーザーにとって実装が容易になり、ラベルデータ検証の各反復にも最新になる。
【0067】
ラベルデータおよびグラウンドトゥルースデータのためのバウンディングボックスが生成されると、第1の複数の属性および第2の複数の属性は、第2の表示ペイン620a内の1つまたは複数のバウンディングボックスおよび第3の表示ペイン630aからの1つまたは複数の追加のバウンディングボックスから抽出される。第1の複数の属性および第2の複数の属性の抽出は、これらの属性に関連する情報の抽出と同義であり得る。
【0068】
抽出後に、システム500は、第2のMLモデルを使用して、第1の複数の属性を第2の複数の属性と比較するための1つまたは複数の動作を実行し得る。第2のMLモデルは、訓練された名称付きエンティティ認識(NER)モデルを含み得る。いくつかの実施形態では、第2のMLモデルは、ラベルデータおよびグラウンドトゥルースデータ内の成分または栄養成分表示表などから、所与のテキスト片から1つまたは複数の指定されたエンティティを抽出する。このために、第2のMLモデルは、深層学習またはニューラルネットワーク人工知能技術を使用することができる。
【0069】
いくつかの実施形態では、第2のMLモデルは、画像またはPDF形式でアートワークラベルテンプレート文書などの文書を処理することによって、OCRエンジンから取得されたデータなどの非構造化文書からのデータ抽出を実行する。例えば、対応するバウンディングボックスによって境界付けられた第1の複数の属性および第2の複数の属性は、第2のMLモデルを使用したデータ抽出に使用される。
【0070】
いくつかの実施形態では、第1のMLモデルおよび第2のMLモデルは、コンピューティングシステム500と統合されるか、またはクラウドコンポーネントとして遠隔で実装されるAIファブリック処理コンポーネントを使用して実装される。
【0071】
したがって、第1のMLモデルおよび第2のMLモデルのML能力を使用して、システム500は、アートワークラベルおよびグラウンドトゥルースラベル内のデータの比較を提供し、比較の結果をUI600aの第1の表示ペイン610aに提供する。さらに、表示された比較結果に基づいて、アートワークラベルのラベルデータが検証される。
【0072】
図6Bは、本発明の例示的な実施形態による、第2の表示ペイン610bおよび第3の表示ペイン620bを含むスクリーンショットを示すGUI600bである。第2の表示ペイン610bおよび第3の表示ペイン620bは、それぞれ、
図6Aに関連して示される第2の表示ペイン620aおよび第3の表示ペイン630aと表示および機能が類似している。
【0073】
第2の表示ペイン610bは、異なるバウンディングボックスによって境界付けられた第1の複数の属性を含むセグメント化されたラベルデータを示す。例えば、第2の表示ペイン610bのラベルデータは、「栄養成分表示」表を含む。第3の表示ペイン620b内のグラウンドトゥルースデータはまた、「栄養成分表示」表を含み、これもまた、第2の表示ペイン610b内の同じ表と同じ色/パターンのバウンディングボックスによって表示される。バウンディングボックスは、第1の学習モデルに基づいて両方の表示ペインに生成される。
【0074】
しかし、第2の表示ペイン610bに表示されている作成済みのアートワークラベルに存在するデータと、第3の表示ペイン620bに表示されているグラウンドトゥルースデータとが不一致となる可能性がある。例えば、
図6Bでは、作成されたアートワークラベルは、第1の複数の属性にカロリー属性を含み、その表示値は170であり、グラウンドトゥルースデータでは、第2の複数の属性からのカロリー属性は70の表示値を有する。これは不一致であり、表示された2つの属性値を比較すると、第2のMLモデルを使用して識別される。いくつかの実施形態では、各属性は、各属性に対して一意であるID情報によって識別される。このようなおよび他のそのような小さなおよび大きな変化は、システム500によって識別され、開示されたMLモデルを使用してユーザーインターフェース600a上にユーザーに表示される。
【0075】
さらに、いくつかの実施形態では、属性の周りに作成されたバウンディングボックスは、ユーザーがラベルの下のグラウンドトゥルースデータから対応する情報を見ることができるように、ラベル内で異なる色でハイライトされる。例えば、ユーザーインターフェース600aの部分600bにおいて、第2のペイン610b内のラベルデータ内の「栄養成分表示」表は、第3のペイン620b内のグラウンドトゥルースデータから「栄養成分表示」表を使用して作成される。したがって、青色などのバウンディングボックスがラベルデータ内の「栄養成分表示」表に対して作成され得、グラウンドトゥルースデータ内の対応する「栄養成分表示」表もまた、第1のMLモデルを使用して同じ色(すなわち、青色)のバウンディングボックスでハイライトされる。
【0076】
また、いくつかの実施形態では、ユーザーは、第1のMLモデルによって抽出された情報がラベルデータに必要でない場合、バウンディングボックスを調整し、第1のMLモデルを再訓練する。したがって、システムは、将来のラベルにおける情報の抽出を停止する。
【0077】
さらに、第2のMLモデルを使用して、バウンディングボックスからのデータがラベルデータとグラウンドトゥルースデータの両方で抽出され、さらなるラベルデータ検証のために比較される。
【0078】
図6Cは、本発明の例示的な実施形態による、第1の表示ペイン600cを含むスクリーンショットを示すGUIである。
【0079】
図6Cの第1の表示ペイン600cは、
図6Aの第1の表示ペイン610aに類似している。第1の表示ペイン600cには、第2のMLモデルによるラベルデータとグラウンドトゥルースデータとの比較結果の概要が表示される。比較の結果は、ラベルデータ内の1つまたは複数のエラー/誤りのリスト/表、一般的な助言命令のリスト/表、OCR助言命令のリスト/表などを含む。さらに、第1の表示ペイン600cはまた、表示された比較結果を保存/応答し、ラベルデータの検証のための1つまたは複数のアクションを取るオプションを含む。1つまたは複数のアクションは、ラベルデータの誤りを訂正するための修正アクティビティを実行すること、一般的なまたはOCR助言アクションに基づいてラベルデータを修正/編集すること、第1の表示ペイン600cに受け入れ確認応答を提供することによって修正されたラベルデータを受け入れること、または第1の表示ペイン600cに拒否確認応答を提供することによって修正されたラベルを拒否することのうちの少なくとも1つを含んでもよい。例えば、第1の表示ペイン600cには、ラベルデータとグラウンドトゥルースデータとの比較結果の要約リスト610cが表示される。要約リスト610cは、ラベルデータとグラウンドトゥルースデータとの比較(第2の表示ペイン610b内のアートワークラベルと第3の表示ペイン620b内のグラウンドトゥルースデータとの比較など)に基づいて決定される5つの誤り、2つの一般的な助言および1つのOCR助言があることを示している。さらに、第1の表示ペイン600cには、第1の列のグラウンドトゥルースデータ(LID)と第2の列のラベルデータ(アートワーク)との比較の要約を示す成分表620cと、コメントの追加の列と、が含まれている。比較では、誤り、一般的な助言およびOCR助言はすべて異なる色で示され、参照を容易にするために表の各行に「×」ボタンが先行している場合がある。成分表620cには、誤りを示す4つの行があり、各誤りの前に「×」ボタンが示されている。例えば、1行目は、グラウンドトゥルースデータ内のテキストコンテンツが「高フルクトースシロップ」であるが、ラベルデータ内では不一致でエラーである「高フルクトースコーンSYP ATURA FAO CICACID」であるという誤りを示している。この誤りは、赤色などの特定の色でハイライトされてもよい。
【0080】
成分表620cはまた、一般的な助言を含み、例えば、ラベルデータで成分名「シトラガム・ナトリウム・パシフィック」を使用する代わりに、グラウンドトゥルースデータで観察されるように「クエン酸ナトリウム」という用語を使用することができる。ラベルデータ内の成分表(
図6Aの第2の表示ペイン620aに示すような)およびグラウンドトゥルースデータ内の成分表(
図6Aの第3の表示ペイン630aに示すような)は、例示目的のみのためのものであり、1つのアプリケーション産業に基づいていることが当業者によって理解されよう。これらと同様に、保険、小売などの任意の他の産業からの製品ラベルまたはアートワークラベルに関する特定の情報も、本発明の範囲から逸脱することなく解析することができる。
【0081】
図6Cはまた、解析することができ、ラベルデータおよびグラウンドトゥルースデータ内の情報を比較することができる「栄養表」630cを含み、比較の要約は、上述の成分表620cについて行われたのと同様の方法で第1の表示ペイン600aに表示される。
【0082】
例えば、栄養表630cは、170の代わりに70などのデータエラーを含むラベルデータの誤りを含み、一般的な助言は1リットルを1Lに置き換えることを含み、OCR助言はゼロを文字「O」と混同することを含む。これらのエラーはすべて、赤色の誤り、橙色の一般的な助言、および青色のOCR助言など、対応する色でハイライトすることができる。
【0083】
また、前述したように、テキストの抽出およびグラウンドトゥルースデータとラベルデータとの間のテキストの比較は、この場合にはNERモデルである第2のMLモデルを使用して行われる。比較は、ラベルデータから第1の複数の属性を抽出し、グラウンドトゥルースデータから第2の複数の属性と比較することによって実行される。第1の複数の属性および第2の複数の属性の両方は、テキスト属性と画像属性との組み合わせである。
【0084】
最後に、ユーザーは、ラベルデータを検証するために、誤りを精査し、各行のエラーの左側に表示されたχ´ボタンをクリックすることによって、表示されたエラーを閉じることができる。ユーザーはまた、ラベルデータを検証する前にラベルデータに対して修正アクティビティを実行することを選択してもよい。
【0085】
図6A~
図6Cに示すGUIの1つまたは複数は、本明細書に記載の実施形態を説明するためだけに、特定のタイプの製品ラベルおよび製品産業、ここでは飲料産業に関連することが当業者によって理解され得る。これらの実施形態のシステムおよび方法はまた、本発明の範囲から逸脱することなく、保険産業、銀行産業、小売産業、製造産業、健康およびウェルネス産業、電子製品およびモバイルデバイス製造ユニット、学術および教育サービスなどの複数の他の産業で使用されてもよい。
【0086】
図7は、本発明の一実施形態による、ラベルデータ検証のための方法700を示すフローチャートである。いくつかの実施形態では、方法700は、ラベルデータを受信するステップ710で開始する。ラベルデータは、グラウンドトゥルースデータであるLIDに基づいてターゲット製品用に設計された1つまたは複数のアートワークラベルの形態であってもよい。ラベルデータは、
図6A~
図6Cに示すように、3ペインのユーザーインターフェースであり得るシステム300(または同様にシステム500)のユーザーインターフェース310によって受信され得る。ラベルデータは、ユーザーインターフェース600aの第2の表示ペイン620aによって受信されてもよい。
【0087】
受信されると、ステップ720において、受信されたラベルデータは、第1のMLモデルを使用して1つまたは複数の部分にセグメント化され得る。前述したように、第1のMLモデルは、訓練されたCVベースのMLモデルであり得る。第1のMLモデルは、コンピューティングシステム500の検証モジュール534によって実装され得る。第1のMLモデルは、複数のラベルデータ画像を含む訓練データセットで訓練することができる。第1のMLモデルは、訓練データセットに基づいて、アートワークラベル(画像)などの受信されたラベルデータを分類し、次いで、分類されたラベルデータを1つまたは複数の部分にセグメント化することができる。さらに、ラベルデータのセグメント化された1つまたは複数の部分は、第1のMLモデルによって(第2の表示ペイン620aに示すように)1つまたは複数のバウンディングボックスに関連付けられてもよい。バウンディングボックスのサイズおよび/または境界は、ユーザー入力および好みに基づいて調整可能および再訓練可能であってもよい。
【0088】
ラベルデータがセグメント化され、1つまたは複数の部品の周りにバウンディングボックスが設けられると、ステップ730において、第1の複数の属性がセグメント化されたラベルデータから抽出される。第1の複数の属性は、テキスト属性と画像属性との組み合わせを含むことができ、各バウンディングボックスは、第1の複数の属性の少なくとも1つのタイプに関連付けられ得る。例えば、
図6Aでは、第2の表示ペイン620aにおいて、第1の複数の属性は、その背景効果と共に、バウンディングボックスによって囲まれたラベル「MtnDew VOLTAGE」のピクチャの画像情報を含む。同様に、別のバウンディングボックスによって境界付けられた栄養成分表示表は、テキスト属性であるカロリーに関する情報を含む。
【0089】
ラベルデータと同様に、方法700はまた、ステップ740において、グラウンドトゥルースデータを受信することを含む。グラウンドトゥルースデータは、
図6Aに示す第3の表示ペイン630aで受信され得る。さらに、グラウンドトゥルースデータは、LID、以前に設計されたラベルの写真、テンプレートラベル文書などから取得されてもよい。グラウンドトゥルースデータはまた、ラベルデータについて上述したのと同様の方法で、第1のMLモデルによってグラウンドトゥルースデータ用の1つまたは複数の追加のバウンディングボックスのセグメント化および生成を受けることができる。
【0090】
ステップ750において、第2の複数の属性がグラウンドトゥルースデータ(これもまたテキスト属性と画像属性との組み合わせである)から抽出される。第2の複数の属性は、グラウンドトゥルースデータの1つまたは複数の追加のバウンディングボックスに基づいて抽出される。例えば、1つまたは複数の追加のバウンディングボックスは、第3の表示ペイン630aに示され、第3の表示ペイン630aの栄養成分表示表および成分表などの表に関連付けられる。さらに、既に前述したように、ラベルデータおよびグラウンドトゥルースデータ内の同じタイプの属性またはデータのバウンディングボックスは、同じ色で示されている。
【0091】
方法700はまた、ステップ760において、第2のMLモデルを使用してラベルデータとグラウンドトゥルースデータとを比較することを含む。比較は、ラベルデータおよびグラウンドトゥルースデータのそれぞれにおける第1の複数の属性と第2の複数の属性との比較に基づく。さらに、既に説明したように、第2のMLモデルは訓練されたNERモデルである。
【0092】
さらに、ステップ770において、比較の結果を3ペインUI600a(またはUI310)に表示する。GUI600aは、ラベルデータとグラウンドトゥルースデータとの比較結果を示す第1の表示ペイン610aを含む。前述のように、比較の結果は、誤り、エラー、一般的な助言およびOCR助言のうちの1つまたは複数を含む。
【0093】
ステップ780において、ラベルデータが検証される。
図6A~
図6Cに関連して先に開示したように、第1の表示ペイン610aは、ラベルデータ内の1つまたは複数の誤りに対する修正アクティビティを実行するためのユーザー入力を提供するためにユーザーによって使用され得る「×」ボタンを表示する。ユーザーは、「χ」ボタンを押し、ラベルデータを更新することを選択することによって、表示された誤りまたは問題を閉じることができる。さらに、ユーザーは、修正の結果、自身が更新した修正後のラベルデータを第2の表示ペイン620aに表示してもよい。次いで、ユーザーは、修正されたラベルデータに記載されたすべてのステップを実行することによってラベルデータを検証することを再び選択することができる。最後に、ユーザーは、修正されたラベルデータを保存すること、またはラベルデータファイルを閉じてさらなる編集を停止することなどによって、受け入れ確認応答を提供することによって、修正されたラベルを受け入れることを選択することができる。あるいは、ユーザーは、修正されたラベルデータの変更を元に戻す、または反復プロセスで修正されたラベルデータを編集し続けるなど、拒否確認応答を提供することによって、修正されたラベルを拒否することを選択することができる。
【0094】
一実施形態では、
図7の方法700は、一連の操作を遂行するように構成されたハードウェアプロセッサに関連するコンピュータプログラムを構成するステップを含み、一連の操作は、方法700に関連して説明したステップのすべてまたは一部を実行するために使用される。ハードウェアプロセッサは、例えば、ハードウェア実装論理機能を実行すること、格納された命令を遂行すること、または動作の各々を実行するためのアルゴリズムを実行することによって、方法700に関連する一連の操作を遂行するように構成され得る。あるいは、装置は、上述した操作の各々を実行するための手段を含む。これに関して、一実施形態によれば、方法700に関連する一連の操作を遂行するための例示的な手段は、システム500および/または上述したように情報を処理するための命令を遂行するかもしくはアルゴリズムを実行するためのデバイスもしくは回路に実装されるプロセッサ520を含む。
【0095】
コンピュータプログラムは、ハードウェア、ソフトウェア、またはハイブリッド実装で実施することができる。コンピュータプログラムは、互いに動作可能に通信し、表示するために情報または命令を渡すように設計されたモジュールから構成することができる。コンピュータプログラムは、汎用コンピュータ、ASIC、または任意の他の適切なデバイス上で動作するように構成することができる。
【0096】
本明細書に開示する方法およびシステムは、既存のソリューションに勝る多数の技術的利点を提供するように構成される。これらの技術的利点のいくつかは、ラベルデータをアートワークラベルなどのラベルデータの検証のためのグラウンドトゥルースデータと比較するための簡単で直感的なユーザーインターフェースを提供することなどを含む。さらに、ラベルデータとグラウンドトゥルースデータとの間のナビゲーションにおけるアクセスを容易にすることによって、これらの両方を単一の3ペインのユーザーインターフェース上に比較結果と共に表示することによって達成され、ユーザーの多くの時間が節約される。さらに、ML、深層学習、ニューラルネットワークなどを含むがこれらに限定されない高度な処理および解析技術の使用、方法およびシステムは、ユーザーのラベル設計および検証の必要性のための正確かつ自動化されたソリューションを提供することができる。例えば、MLモデルの訓練、MLモデルの再訓練、MLを使用した比較の実行など、本明細書で説明されるプロセスのいくつかは、
図2に開示したRPAアーキテクチャの自動化プロセスを使用して実施することができ、これは、バックグラウンド、システムトレイなどで実行されているアテンディッドロボット132に対して開始することができる。バックグラウンドで動作しているアテンディッドロボット132は、ロボットを起動またはトリガするために、Ctrl+Shift+Rなどのキー押下を待つことができる。自動化プロセスは、RPA設計モジュール110のワークフローまたはワークフローアクティビティに関連する任意のプロセスであってもよい。さらに、検証アプリケーションまたはステーションは、アテンディッドロボット132のユーザーに、文書の作成、読み取り、更新、または削除(CRUD)などのリアルタイム動作を実行する能力を提供することができる。機能は、自動化プロセスに関連するラベルデータ分類、ラベルデータ抽出、人間データ検証などのためのものであってもよい。
【0097】
例えば、第1のMLモデルが誤ったスーパークラスを予測した場合、検証アプリケーションは、ユーザーがラベルデータの予測スーパークラス(例えば、飲料、医薬品、スナック、水など)を更新することを可能にする。
【0098】
いくつかの実施形態では、検証アプリケーションは、第1のMLモデルからのバウンディングボックスの予測および提供がわずかに逸脱または誤っている場合に、ユーザーがボックスを修正および調整する能力を提供する。あるいは、ユーザーは、MLモデルが1つまたは複数のセグメントのバウンディングボックスを認識できない場合に、新しいバウンディングボックスを描画することができる。さらに、ユーザーが(LIDなどの)グラウンドトゥルースデータが現在のアートワークラベルに対して正しくないと感じた場合には、ユーザーは、検証アプリケーションを介してグラウンドトゥルースデータを正しいもので更新し、「再処理」などのボタンをクリックして、修正されたグラウンドトゥルースデータで再度検証プロセスを実行することができる。これらの機能のすべてはまた、ユーザーの好みに応じてこれらのタスクの各々または一部についてアテンディッドロボット132を開始することによって提供されてもよい。
【0099】
開始後に、アテンディッドロボット132は、ラベルデータ検証のために、深層学習、深層学習ニューラルネットワーク、TensorFlow(登録商標)深層学習、TensorFlow(登録商標)フレームワークモデルなどの段階を訓練または遂行することができる。TensorFlowは、プログラミング言語のライブラリを介して構成または利用することができる。例えば、TensorFlow(登録商標)は、Pythonプログラミング言語に見られるライブラリであってもよい。訓練段階または遂行段階は、ラベルデータ検証を実行することによって付加的なまたは追加のセキュリティ層を提供することができる。本発明の様々な実施形態のコンポーネントは、本明細書の図に一般的に記載および図示するように、多種多様な異なる構成で配置および設計されてもよいことが容易に理解されよう。したがって、添付の図面に表される本発明の実施形態の詳細な説明は、特許請求される本発明の範囲を限定することを意図するものではなく、本発明の選択された実施形態を単に代表するものである。
【0100】
本明細書を通して説明される本発明の特徴、構造、または特性は、1つまたは複数の実施形態において任意の適切な方法で組み合わせることができる。例えば、本明細書全体を通して「特定の実施形態」、「いくつかの実施形態」、または同様の文言への言及は、実施形態に関連して説明される特定の特徴、構造、または特性が本発明の少なくとも1つの実施形態に含まれることを意味する。したがって、本明細書全体を通して、「特定の実施形態では」、「いくつかの実施形態では」、「他の実施形態では」、または同様の文言の出現は、必ずしもすべてが同じ実施形態のグループを指すわけではなく、記載された特徴、構造、または特性は、1つまたは複数の実施形態において任意の適切な方法で組み合わせることができる。
【0101】
本明細書を通して特徴、利点、または同様の文言を参照することは、本発明で実現され得る特徴および利点のすべてが本発明の任意の単一の実施形態であるべきであること、または本発明の任意の単一の実施形態であることを意味するものではないことに留意されたい。むしろ、特徴および利点に言及する文言は、一実施形態に関連して説明される特定の特徴、利点、または特性が本発明の少なくとも1つの実施形態に含まれることを意味すると理解される。したがって、本明細書を通して、特徴および利点、ならびに同様の文言の説明は、必ずしもそうとは限らないが、同じ実施形態を参照することができる。
【0102】
さらに、本発明の記載された特徴、利点、および特性は、1つまたは複数の実施形態において任意の適切な方法で組み合わせることができる。当業者は、特定の実施形態の特定の特徴または利点の1つまたは複数なしで本発明を実施できることを認識するであろう。他の例では、本発明のすべての実施形態には存在しない可能性がある特定の実施形態において、追加の特徴および利点が認識され得る。
【0103】
当業者は、上述の本発明が、異なる順序のステップ、および/または開示されているものとは異なる構成のハードウェア要素を用いて実施され得ることを容易に理解するであろう。したがって、本発明をこれらの好ましい実施形態に基づいて説明してきたが、本発明の趣旨および範囲内に留まりながら、特定の修正、変形、および代替構築が明らかであることは、当業者には明らかであろう。したがって、本発明の範囲を決定するために、添付の特許請求の範囲を参照すべきである。
【国際調査報告】