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

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

▶ ユーアイパス,インコーポレイテッドの特許一覧

特開2024-89666タスクマイニングのために画面画像から特徴を抽出すること
<>
  • 特開-タスクマイニングのために画面画像から特徴を抽出すること 図1
  • 特開-タスクマイニングのために画面画像から特徴を抽出すること 図2A
  • 特開-タスクマイニングのために画面画像から特徴を抽出すること 図2B
  • 特開-タスクマイニングのために画面画像から特徴を抽出すること 図3
  • 特開-タスクマイニングのために画面画像から特徴を抽出すること 図4
  • 特開-タスクマイニングのために画面画像から特徴を抽出すること 図5
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024089666
(43)【公開日】2024-07-03
(54)【発明の名称】タスクマイニングのために画面画像から特徴を抽出すること
(51)【国際特許分類】
   G06V 10/82 20220101AFI20240626BHJP
   G06V 10/96 20220101ALI20240626BHJP
   G06N 3/045 20230101ALI20240626BHJP
   G06T 7/00 20170101ALN20240626BHJP
【FI】
G06V10/82
G06V10/96
G06N3/045
G06T7/00 350C
【審査請求】未請求
【請求項の数】20
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2023215348
(22)【出願日】2023-12-21
(31)【優先権主張番号】18/069,330
(32)【優先日】2022-12-21
(33)【優先権主張国・地域又は機関】US
(71)【出願人】
【識別番号】520262319
【氏名又は名称】ユーアイパス,インコーポレイテッド
【氏名又は名称原語表記】UiPath,Inc.
【住所又は居所原語表記】1 Vanderbilt Avenue, 60th Floor, New York, NY 10017, United States of America
(74)【代理人】
【識別番号】110003487
【氏名又は名称】弁理士法人東海特許事務所
(72)【発明者】
【氏名】グレゴリー アレン バレロ
【テーマコード(参考)】
5L096
【Fターム(参考)】
5L096EA12
5L096EA13
5L096HA11
5L096JA03
5L096KA04
5L096KA15
5L096MA07
(57)【要約】      (修正有)
【課題】タスクマイニングタスクを実行するために画面画像から特徴を抽出するシステム及び方法を提供する。
【解決手段】方法は、コンピューティングシステムのユーザーインターフェースを描写する画面画像を受信し、画面画像を前処理し、前処理した画面画像と処理結果を生成し、第1の機械学習ベースのネットワークを使用して、前処理された画面画像から画像特徴を抽出し、第2の機械学習ベースのネットワークを使用して、処理結果からテキスト特徴とコントロール要素特徴を抽出し、テキスト特徴とコントロール要素を、第3の機械学習ベースのネットワークを使用してエンコードし、画面画像の表現特徴を生成し、画像特徴、テキスト特徴、コントロール要素特徴又は表現特徴のうちの1又は複数に基づいて、画面画像上でタスクを実行し、タスクの結果を出力する。
【選択図】図4
【特許請求の範囲】
【請求項1】
コンピューティングシステムのユーザーインターフェースを描写する画面画像を受信することと、
前記画面画像を前処理して、前処理された画面画像と処理結果を生成することと、
第1の機械学習ベースのネットワークを使用して、前記前処理された画面画像から画像特徴を抽出することと、
第2の機械学習ベースのネットワークを使用して、前記処理結果からテキスト特徴とコントロール要素特徴を抽出することと、
第3の機械学習ベースのネットワークを使用して、前記テキスト特徴と前記コントロール要素特徴をエンコードし、前記画面画像の表現特徴を生成することと、
前記画像特徴、前記テキスト特徴、前記コントロール要素特徴、または前記表現特徴のうちの1または複数に基づいて、前記画面画像上でタスクを実行することと、を含む、コンピュータ実装方法。
【請求項2】
前記テキスト特徴は、前記画面画像内で検出されたそれぞれのテキストボックスをそれぞれが表す特徴のセットを含む、請求項1に記載のコンピュータ実装方法。
【請求項3】
前記コントロール要素特徴は、前記画面画像内で検出されたそれぞれのコントロール要素をそれぞれが表す特徴のセットを含む、請求項1に記載のコンピュータ実装方法。
【請求項4】
前記表現特徴は、前記画面画像内で検出されたすべてのテキストボックスおよびコントロール要素を表す、請求項1に記載のコンピュータ実装方法。
【請求項5】
前記タスクは、前記画面画像と1もしくは複数の他の画面画像との類似性を決定すること、前記画面画像を1もしくは複数の他の画面画像とクラスタリングすること、または、前記画面画像を1もしくは複数の他の画面画像とグループ化し、グループ化された前記画面画像を、前記画面画像に描写される前記ユーザーインターフェースのタイプまたはカテゴリによって分類することのうちの少なくとも1つを含む、請求項1に記載のコンピュータ実装方法。
【請求項6】
前記第2の機械学習ベースのネットワークは、マスクされた言語モデリング損失を使用して訓練される、請求項1に記載のコンピュータ実装方法。
【請求項7】
前記第1の機械学習ベースのネットワークと前記第3の機械学習は、表現損失の対照学習を使用して訓練される、請求項1に記載のコンピュータ実装方法。
【請求項8】
前記画面画像を前処理して前処理された画面画像と処理結果を生成することは、
前記画面画像を所定のサイズにサイズ変更し、前記画面画像内のピクセル値を正規化して、前記前処理された画面画像を生成する、請求項1に記載のコンピュータ実装方法。
【請求項9】
前記画像特徴、前記テキスト特徴、前記コントロール要素特徴、または前記表現特徴のうちの1または複数に基づいて、前記画面画像上でタスクを実行することは、自動化可能なアクティビティを特定するためのタスクマイニングタスクを実行することを含み、前記方法はさらに、
1または複数のRPA(ロボティックプロセスオートメーション)ロボットを使用して、前記自動化可能なアクティビティを含むRPAワークフローを遂行することを含む、請求項1に記載のコンピュータ実装方法。
【請求項10】
コンピュータ命令を格納するメモリと、
前記コンピュータ命令を遂行するように構成された少なくとも1つのプロセッサと、を含み、前記コンピュータ命令は、前記少なくとも1つのプロセッサが、以下の動作を実行するように構成される、システム。
コンピューティングシステムのユーザーインターフェースを描写する画面画像を受信することと、
前記画面画像を前処理して、前処理された画面画像と処理結果を生成することと、
第1の機械学習ベースのネットワークを使用して、前記前処理された画面画像から画像特徴を抽出することと、
第2の機械学習ベースのネットワークを使用して、前記処理結果からテキスト特徴とコントロール要素特徴を抽出することと、
第3の機械学習ベースのネットワークを使用して、前記テキスト特徴と前記コントロール要素特徴をエンコードし、前記画面画像の表現特徴を生成することと、
前記画像特徴、前記テキスト特徴、前記コントロール要素特徴、または前記表現特徴のうちの1または複数に基づいて、前記画面画像上でタスクを実行すること。
【請求項11】
前記テキスト特徴は、前記画面画像内で検出されたそれぞれのテキストボックスをそれぞれが表す特徴のセットを含む、請求項10に記載のシステム。
【請求項12】
前記コントロール要素特徴は、前記画面画像内で検出されたそれぞれのコントロール要素をそれぞれが表す特徴のセットを含む、請求項10に記載のシステム。
【請求項13】
前記表現特徴は、前記画面画像内で検出されたすべてのテキストボックスおよびコントロール要素を表す、請求項10に記載のシステム。
【請求項14】
前記タスクは、前記画面画像と1もしくは複数の他の画面画像との類似性を決定すること、前記画面画像を1もしくは複数の他の画面画像とクラスタリングすること、または、前記画面画像を1もしくは複数の他の画面画像とグループ化し、グループ化された前記画面画像を、前記画面画像に描写される前記ユーザーインターフェースのタイプまたはカテゴリによって分類することのうちの少なくとも1つを含む、請求項10に記載のシステム。
【請求項15】
コンピュータプログラム命令を格納する非一時的なコンピュータ読み取り可能な媒体であって、前記コンピュータプログラム命令は、少なくとも1つのプロセッサ上で遂行されると、前記少なくとも1つのプロセッサが以下を含む動作を実行する、非一時的なコンピュータ読み取り可能な媒体。
コンピューティングシステムのユーザーインターフェースを描写する画面画像を受信することと、
前記画面画像を前処理して、前処理された画面画像と処理結果を生成することと、
第1の機械学習ベースのネットワークを使用して、前記前処理された画面画像から画像特徴を抽出することと、
第2の機械学習ベースのネットワークを使用して、前記処理結果からテキスト特徴とコントロール要素特徴を抽出することと、
第3の機械学習ベースのネットワークを使用して、前記テキスト特徴と前記コントロール要素特徴をエンコードし、前記画面画像の表現特徴を生成することと、
前記画像特徴、前記テキスト特徴、前記コントロール要素特徴、または前記表現特徴のうちの1または複数に基づいて、前記画面画像上でタスクを実行すること。
【請求項16】
前記テキスト特徴は、前記画面画像内で検出されたそれぞれのテキストボックスをそれぞれが表す特徴のセットを含む、請求項15に記載の非一時的なコンピュータ読み取り可能な媒体。
【請求項17】
前記第2の機械学習ベースのネットワークは、マスクされた言語モデリング損失を使用して訓練される、請求項15に記載の非一時的なコンピュータ読み取り可能な媒体。
【請求項18】
前記第1の機械学習ベースのネットワークと前記第3の機械学習は、表現損失の対照学習を使用して訓練される、請求項15に記載の非一時的なコンピュータ読み取り可能な媒体。
【請求項19】
前記画面画像を前処理して前処理された画面画像と処理結果を生成することは、
前記画面画像を所定のサイズにサイズ変更し、前記画面画像内のピクセル値を正規化して、前記前処理された画面画像を生成する、請求項15に記載の非一時的なコンピュータ読み取り可能な媒体。
【請求項20】
前記画像特徴、前記テキスト特徴、前記コントロール要素特徴、または前記表現特徴のうちの1または複数に基づいて、前記画面画像上でタスクを実行することは、自動化可能なアクティビティを特定するためのタスクマイニングタスクを実行することを含み、前記動作はさらに、
1または複数のRPA(ロボティックプロセスオートメーション)ロボットを使用して、前記自動化可能なアクティビティを含むRPAワークフローを遂行することを含む、請求項15に記載の非一時的なコンピュータ読み取り可能な媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は概して、タスクマイニングに関し、より具体的には、タスクマイニングタスクを実行するために画面画像から特徴を抽出することに関する。
【背景技術】
【0002】
タスクマイニングを実行して、反復的なタスクを特定し、そのようなタスクの自動化を促進し、潜在的な時間および/またはコストの節約を計算することができる。従来、タスクマイニングは、コンピューティングシステムのユーザーインターフェースを描写する画面画像をピクセルごとに比較して、画面画像間の類似性を判断することによって実行されている。しかしながら、そのような従来の画面画像の比較は、画面画像に描かれているユーザーインターフェースが視覚的にほぼ同一であるか、または画面画像が事前定義されたカテゴリに割り当てられている場合に、画面画像間の類似性だけを判断できる。
【0003】
したがって、タスクマイニングのための改善されたおよび/または代替のアプローチが有益であり得る。
【発明の概要】
【0004】
本発明の特定の実施形態は、現在のタスクマイニング技術によってまだ十分に特定されていない、評価されていない、または解決されていない本分野における問題およびニーズの代替案またはソリューションを提供し得る。例えば、本発明のいくつかの実施形態は、例えばタスクマイニングタスクなどのタスクを実行するために画面画像から特徴を抽出することに関する。
【0005】
一実施形態では、タスクを実行するために画面画像から特徴を抽出するシステムおよび方法が提供される。コンピューティングシステムのユーザーインターフェースを描写する画面画像が受信される。画面画像は、前処理されて、前処理された画面画像と処理結果を生成する。画像特徴は、第1の機械学習ベースのネットワークを使用して、前処理された画面画像から抽出される。テキスト特徴とコントロール要素特徴は、第2の機械学習ベースのネットワークを使用して、処理結果からを抽出される。テキスト特徴とコントロール要素は、第3の機械学習ベースのネットワークを使用して、エンコードされて、画面画像の表現特徴を生成する。タスクは、画像特徴、テキスト特徴、コントロール要素特徴、または表現特徴のうちの1または複数に基づいて、画面画像上で実行される。タスクの結果が出力される。
【0006】
一実施形態では、テキスト特徴は、画面画像内で検出されたそれぞれのテキストボックスをそれぞれが表す特徴のセットを含み、コントロール要素特徴は、画面画像内で検出されたそれぞれのコントロール要素をそれぞれ表す特徴のセットを含み、表現特徴は、画面画像内で検出されたすべてのテキストボックスおよびコントロール要素を表す。
【0007】
一実施形態では、タスクは、画面画像と1もしくは複数の他の画面画像との類似性を決定すること、画面画像を1もしくは複数の他の画面画像とクラスタリングすること、または、画面画像を1もしくは複数の他の画面画像とグループ化し、グループ化された画面画像を、画面画像に描写されるユーザーインターフェースのタイプまたはカテゴリによって分類することのうちの少なくとも1つを含む。
【0008】
一実施形態では、第2の機械学習ベースのネットワークはマスクされた言語モデリング損失で訓練され、第1の機械学習ベースのネットワークおよび第3の機械学習は表現損失の対照学習で訓練される。
【0009】
一実施形態では、画面画像を所定のサイズにサイズ変更し、画面画像内のピクセル値を正規化して、前処理された画面画像を生成する。
【0010】
一実施形態では、タスクは、自動化可能なアクティビティを特定するために実行されるタスクマイニングタスクである。1または複数のRPA(ロボティックプロセスオートメーション)ロボットを使用して、自動化可能なアクティビティを含むRPAワークフローが遂行される。
【図面の簡単な説明】
【0011】
本発明の特定の実施形態の利点が容易に理解されるように、上記で簡単に説明した本発明のより特定の説明は、添付の図面に図示されている特定の実施形態を参照して描写される。これらの図面は、本発明の典型的な実施形態のみを描いており、したがって、その範囲を限定するものとは考えられないことが理解されるべきであるが、本発明は、以下の添付の図面を使用することにより、さらなる特定および詳細をもって描写され、説明されるであろう。
【0012】
図1】本発明の実施形態による、タスクマイニングタスクを実行するために画面画像から特徴を抽出するように構成されたコンピューティングシステムを示すアーキテクチャ図である。
【0013】
図2A】本発明の実施形態による、画像内のグラフィカル要素を認識するように訓練されたニューラルネットワークの例を示す。
【0014】
図2B】本発明の実施形態によるニューロンの例を示す。
【0015】
図3】本発明の実施形態による、AI/ML(人工知能/機械学習)モデル(複数可)を訓練するためのプロセスを示すフローチャートである。
【0016】
図4】本発明の実施形態による、タスクを実行するための画面画像から特徴を抽出する方法を示す。
【0017】
図5】本発明の実施形態による、タスクを実行するために画面画像から特徴を抽出するワークフローを示す。
【発明を実施するための形態】
【0018】
別段の記載がない限り、類似の参照文字は、添付の図面全体で一貫して対応する特徴を示す。
【0019】
(実施形態の詳細な説明)
いくつかの実施形態は、タスクマイニングのために画面画像から特徴を抽出することに関係する。
【0020】
図1は、本発明の実施形態による、画面画像から特徴を抽出するように構成されたコンピューティングシステム100を示すアーキテクチャ図である。いくつかの実施形態では、コンピューティングシステム100は、本明細書に描かれたおよび/または記載された1または複数のコンピューティングシステムであってもよい。コンピューティングシステム100は、情報を通信するためのバス105または他の通信機構と、情報を処理するためのバス105に結合されたプロセッサ(複数可)110とを含む。プロセッサ(複数可)110は、中央処理ユニット(CPU)、特定用途集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、グラフィックスプロセッシングユニット(GPU)、それらの複数のインスタンス、および/またはそれらのいずれかの組み合わせを含む、いずれかのタイプの一般的または特定用途向けプロセッサであり得る。プロセッサ(複数可)110はまた、複数の処理コアを有してもよく、コアの少なくとも一部は、特定の機能を実行するように構成され得る。いくつかの実施形態では、複数並列処理が使用されてもよい。特定の実施形態では、少なくとも1つのプロセッサ(複数可)110は、生物学的ニューロンを模倣する処理要素を含むニューロモーフィック回路であり得る。いくつかの実施形態では、ニューロモーフィック回路は、フォンノイマンコンピューティングアーキテクチャの典型的なコンポーネントを必要としない場合がある。
【0021】
コンピューティングシステム100は、プロセッサ(複数可)110によって遂行される情報および命令を格納するためのメモリ115をさらに含む。メモリ115は、ランダムアクセスメモリ(RAM)、読み出し専用メモリ(ROM)、フラッシュメモリ、キャッシュ、磁気ディスクもしくは光ディスクなどの静的記憶装置、または他のタイプの非一時的なコンピュータ読み取り可能な媒体、あるいはそれらのいずれかの組み合わせで構成され得る。非一時的なコンピュータ読み取り可能な媒体は、プロセッサ(複数可)110によりアクセス可能ないずれかの利用可能な媒体であってもよく、揮発性媒体、不揮発性媒体または両方などを含み得る。また、媒体は、取り外し可能なもの、取り外し不可能なもの、または両方であってもよい。コンピューティングシステム100は、無線および/または有線接続を介して通信ネットワークへのアクセスを提供するために、トランシーバなどの通信デバイス120を含む。いくつかの実施形態では、通信デバイス120は、本発明の範囲から逸脱することなく、単数のアンテナ、アレイ状のアンテナ、フェーズドアンテナ、スイッチドアンテナ、ビームフォーミングアンテナ、ビームステアリングアンテナ、それらの組み合わせ、および/またはいずれかの他のアンテナ構成である1または複数のアンテナを含み得る。
【0022】
プロセッサ(複数可)110は、バス105を介してディスプレイ125にさらに結合される。本発明の範囲から逸脱することなく、任意の適切なディスプレイデバイスおよび触覚I/Oが使用され得る。
【0023】
コンピュータマウス、タッチパッドなどのようなキーボード130およびカーソル制御デバイス135は、ユーザーがコンピューティングシステム100とインターフェースすることを可能にするために、バス105にさらに結合されている。しかしながら、特定の実施形態では、物理的なキーボードおよびマウスが存在しない場合があり、ユーザーは、ディスプレイ125および/またはタッチパッド(図示せず)のみを介してデバイスとインタラクションすることができる。任意の入力デバイスの種類および組み合わせは、設計の選択の問題として使用され得る。特定の実施形態では、物理的な入力デバイスおよび/またはディスプレイは存在しない。例えば、ユーザーは、コンピューティングシステム100と通信している別のコンピューティングシステムを介してリモートでそれとインタラクションしてもよいし、コンピューティングシステム100は自律的に動作してもよい。
【0024】
メモリ115は、プロセッサ(複数可)110により遂行されたときに機能を提供するソフトウェアモジュールを格納する。モジュールは、コンピューティングシステム100のためのオペレーティングシステム140を含む。モジュールはさらに、本明細書に記載されたプロセスの全部もしくは一部またはその派生物を実行するように構成された特徴抽出モジュール145を含む。例えば、特徴抽出モジュール145は、図4の方法400のステップを実行するように構成され得る。コンピューティングシステム100は、付加的な機能を含む1または複数の付加的な機能モジュール150を含み得る。
【0025】
当業者であれば、「コンピューティングシステム」は、本発明の範囲から逸脱することなく、サーバー、組み込みコンピューティングシステム、パーソナルコンピュータ、コンソール、パーソナルデジタルアシスタント(PDA)、携帯電話、タブレットコンピューティングデバイス、量子コンピューティングシステム、または他のいずれかの適切なコンピューティングデバイス、またはデバイスの組み合わせとして具現化され得ることを理解するであろう。上述した機能を「システム」により実行されるものとして提示することは、何ら本発明の範囲を限定することを意図するものではなく、本発明の多くの実施形態の一例を提供することを意図するものである。実際、本明細書に開示された方法、システム、および装置は、クラウドコンピューティングシステムを含むコンピューティング技法と整合性のあるローカライズされた形態および分配された形態で実装されてもよい。コンピューティングシステムは、ローカルエリアネットワーク(LAN)、モバイル通信ネットワーク、衛星通信ネットワーク、インターネット、パブリッククラウドまたはプライベートクラウド、ハイブリッドクラウド、サーバーファーム、それらのいずれかの組み合わせなどの一部またはその他の方法でアクセス可能であり得る。本発明の範囲から逸脱することなく、任意の局所または分散アーキテクチャが使用され得る。
【0026】
本明細書で説明するシステム特色のいくつかは、実装の独立性をより強調するために、モジュールとして提示されていることに留意すべきである。例えば、モジュールは、カスタムの非常に大規模な集積(VLSI)回路またはゲートアレイ、ロジックチップ、トランジスタ、または他の個別部品のような既製の半導体を含むハードウェア回路として実装され得る。また、モジュールは、フィールドプログラマブルゲートアレイ、プログラマブルアレイロジック、プログラマブルロジックデバイス、グラフィックス処理ユニットなどのプログラマブルハードウェアデバイスに実装され得る。
【0027】
モジュールはまた、様々なタイプのプロセッサにより遂行されるためのソフトウェアに少なくとも部分的に実装され得る。例えば、遂行可能コードの特定された単位は、例えば、オブジェクト、プロシージャ、または関数として編成されていてもよいコンピュータ命令の1または複数の物理的または論理的なブロックを含み得る。それにもかかわらず、遂行可能な特定されたモジュールは、物理的に一緒に配置されている必要はなく、論理的に結合されたときにモジュールを含み、モジュールのために述べられた目的を達成するために、異なる場所に格納された別々の命令を含んでいてもよい。さらに、モジュールは、例えば、ハードディスクドライブ、フラッシュデバイス、RAM、テープのような非一時的なコンピュータ読み取り可能な媒体、および/または本発明の範囲から逸脱することなくデータを格納するために使用される他のいずれかの非一時的なコンピュータ読み取り可能な媒体に格納されていてもよい。
【0028】
実際、遂行可能コードのモジュールは、単一の命令であってもよいし、多数の命令であってもよいし、さらには、複数の異なるコードセグメント、異なるプログラム間、および複数のメモリデバイス間に分散されていてもよい。同様に、動作データは、モジュール内で特定され、ここで示されてもよく、いずれかの適切な形態で具現化され、いずれかの適切なタイプのデータ構造体内で組織化され得る。動作データは、単一のデータセットとして収集されてもよいし、または異なる記憶デバイスにわたり異なる場所に分散されていてもよく、少なくとも部分的には、単にシステムまたはネットワーク上の電子信号として存在していてもよい。
【0029】
本発明の範囲から逸脱することなく、さまざまなタイプの機械学習ベースのネットワーク(AI/MLモデルとも呼ばれる)が訓練され、展開され得る。例えば、図2Aは、本発明の実施形態による、画像内のグラフィカル要素を認識するように訓練されたニューラルネットワーク200の例を示す。ここで、ニューラルネットワーク200は、入力層の入力「ニューロン」1~Iに関する入力として、1920×1080の画面のスクリーンショット画像のピクセルを受信する。この場合、Iは、スクリーンショット画像のピクセルの総数である2,073,600である。
【0030】
ニューラルネットワーク200はまた、多数の隠れ層を含む。DLNNと浅い学習ニューラルネットワーク(SLNN)はどちらも通常複数の層を有するが、SLNNは場合によっては1または2つの層しか持たず、通常はDLNNよりも少ない場合がある。典型的に、ニューラルネットワークのアーキテクチャは、ニューラルネットワーク200の場合のように、入力層、複数の中間層、および出力層を含む。
【0031】
多くの場合、DLNNは多くの層(10、50、200など)を有し、後続の層は通常、前の層からの機能を再利用して、より複雑で一般的な関数を計算する。一方、SLNNは少数のレイヤーしか有さず、生データサンプルからエキスパート機能が事前に作成されるため、比較的迅速に訓練する傾向がある。ただし、特徴抽出は面倒である。一方、DLNNは通常、エキスパート機能を必要としないが、訓練に時間がかかり、より多くの層を有する傾向がある。
【0032】
どちらのアプローチでも、層は訓練セットで同時に訓練され、通常は分離された交差検証セットでオーバーフィッティングをチェックする。両方の技法でも優れた結果が得られ、両方のアプローチにかなりの熱意がある。個々の層の最適なサイズ、形状、および数は、それぞれのニューラルネットワークによって対処される問題に依存する。
【0033】
図2Aに戻ると、入力層として提供されるピクセルは、隠れ層1のJ個のニューロンへの入力として供給される。この例では、すべてのピクセルが各ニューロンに供給されるが、限定されないが、フィードフォワードネットワーク、ラジアルベーシスネットワーク、ディープフィードフォワードネットワーク、ディープコンボリューションインバースグラフィックスネットワーク、コンボリューションニューラルネットワーク、リカレントニューラルネットワーク、人工ニューラルネットワーク、長期/短期記憶ネットワーク、ゲーテッドリカレントユニットネットワーク、生成的敵対ネットワーク、リキッドステートマシン、オートエンコーダ、変分オートエンコーダ、ノイズ除去オートエンコーダ、スパースオートエンコーダ、エクストリームラーニングマシン、エコー状態ネットワーク、マルコフ連鎖、ホップフィールドネットワーク、ボルツマンマシン、制限付きボルツマンマシン、深層残差ネットワーク、コホーネンネットワーク、ディープビリーフネットワーク、ディープコンボリューションネットワーク、サポートベクターマシン、ニューラルチューリングマシン、または本発明の範囲から逸脱しない任意の他の適切なタイプまたは組み合わせのニューラルネットワークを含む、個々にまたは組み合わせて使用され得るさまざまなアーキテクチャが可能である。
【0034】
隠れ層2は隠れ層1から入力を受信し、隠れ層3は隠れ層2から入力を受信し、最後の隠れ層がその出力を出力層の入力として提供するまで、全ての隠れ層について同じように行われる。ニューロンI、J、K、およびLの数は必ずしも等しくなく、したがって、本発明の範囲から逸脱することなく、ニューラルネットワーク200の所定の層に対して任意の所望の数の層を使用することができることに留意されたい。実際、特定の実施形態では、所与の層におけるニューロンのタイプは、すべて同じでなくてもよい。
【0035】
ニューラルネットワーク200は、画像内で発見されたと考えられるグラフィカル要素に信頼スコアを割り当てるように訓練される。許容できないほど低い尤度を有するマッチングを減らすために、いくつかの実施形態では、信頼しきい値を満たすかまたはそれを超える信頼スコアを有するそれらの結果のみが提供され得る。例えば、信頼しきい値が80%である場合、この量を超える信頼スコアを有する出力が使用され、残りは無視されてもよい。この場合、出力層は、2つのテキストフィールド、テキストラベル、およびサブミットボタンが見つけられたことを示す。ニューラルネットワーク200は、本発明の範囲から逸脱することなく、これらの要素の位置、寸法、画像、および/または信頼スコアを提供してもよく、これは、この出力を所定の目的のために使用するRPAロボットまたは別のプロセスによってその後使用され得る。
【0036】
ニューラルネットワークは、典型的には信頼スコアを有する確率的構築物であることに留意されたい。これは、AI/MLモデルが、訓練中に類似の入力が正しく特定された頻度に基づいて学習したスコアであり得る。例えば、テキストフィールドは、しばしば長方形の形状と白い背景を有する。ニューラルネットワークは、これらの特徴を有するグラフィカル要素を高い信頼度で特定することを学習し得る。信頼スコアの一般的なタイプは、0と1の間の10進数(信頼度のパーセンテージとして解釈可能)、負の∞と正の∞の間の数、または表現のセット(例えば、「低」、「中」、および「高」)を含む。また、より正確な信頼スコアを得る試みとして、温度スケーリング、バッチ正規化、重み減衰、負対数尤度(NLL)など、さまざまな後処理較正技法が採用され得る。
【0037】
ニューラルネットワークの「ニューロン」は、通常、生体ニューロンの機能に基づく数学的関数である。ニューロンは、重み付けされた入力を受信し、それらが出力を次の層に渡すかどうかを統治する和および活性化関数を有する。この活性化関数は、値がしきい値を下回っている場合は何も起こらない非線形のしきい値付きアクティビティ関数であり得、関数がしきい値を超えると線形に応答する(つまり、正規化線形単位(ReLU)非線形性)。実際のニューロンはほぼ同様のアクティビティ関数を有し得るため、深層学習では合計関数およびReLU関数が使用される。線形変換を介して、情報が差し引かれたり、追加されたりするなどされ得る。本質的に、ニューロンは、それらの基礎となる数学的関数によって統治される次の層に出力を渡すゲーティング関数として機能する。いくつかの実施形態では、少なくともいくつかのニューロンに対して異なる関数が使用され得る。
【0038】
【0039】
【0040】
【0041】
この場合、ニューロン210は単層パーセプトロンである。しかしながら、本発明の範囲から逸脱することなく、任意の適切なニューロンタイプまたはニューロンタイプの組み合わせが使用され得る。活性化関数の重みおよび/または出力値(複数可)の値の範囲は、本発明の範囲から逸脱することなく、いくつかの実施形態では異なり得ることにも留意されたい。
【0042】
例えば、画像内のグラフィカル要素の特定が成功するこの場合について、目標、または「報酬関数」がよく使用される。報酬関数は、状態空間の検索を導き、目標(例えば、グラフィカル要素の成功した特定、RPAワークフローのアクティビティの次のシーケンスの成功した特定、など)の達成を試みるために、短期および長期の両方の報酬を使用して中間遷移およびステップを探索する。
【0043】
訓練中、さまざまなラベル付きデータ(この場合は画像)がニューラルネットワーク200を介して供給される。特定に成功すると、ニューロンへの入力の重みが強化されるが、特定に失敗すると、それらの重みが弱まる。平均二乗誤差(MSE)または勾配降下などのコスト関数を使用して、わずかに間違っている予測を、大きく間違っている予測よりもはるかに少ない罰で済むようにし得る。AI/MLモデルの性能が一定回数の訓練反復後に改善されない場合、データサイエンティストは報酬関数を変更し、特定されていないグラフィカル要素がどこにあるかを示し、誤特定されたグラフィカル要素の修正を提供するなどし得る。
【0044】
バックプロパゲーションは、フィードフォワードニューラルネットワークでシナプスの重みを最適化するための手法である。バックプロパゲーションは、ニューラルネットワークの隠れ層を「ポップアップ」して、各ノードがどれだけの損失を負担しているかを確認し、その後、誤差率の高いノードに低い重みを与え、逆もまた同様、損失を最小化するように重みを更新するために使用され得る。つまり、バックプロパゲーションは、データサイエンティストが実際の出力と所望の出力との差を最小にするように、重みを繰り返し調整することを可能にする。
【0045】
バックプロパゲーションのアルゴリズムは、数学的に最適化理論に基づいている。教師あり学習では、出力が既知の訓練データをニューラルネットワークに通し、既知の目標出力からコスト関数を用いて誤差を計算し、これがバックプロパゲーションの誤差を与える。誤差は出力で計算され、この誤差は、誤差を最小化するネットワークの重みの修正に変換される。
【0046】
【0047】
【0048】
【0049】
【0050】
【0051】
AI/MLモデルは、それが良好な精度のレベル(例えば、検出のためのF2またはF4しきい値を使用して97%以上、約2000エポック)に達するまで、複数のエポックにわたって訓練され得る。この精度レベルは、いくつかの実施形態では、F1スコア、F2スコア、F4スコア、または本発明の範囲から逸脱しない任意の他の適切な技法を使用して決定され得る。訓練データで一旦訓練されると、AI/MLモデルは、AI/MLモデルが以前に遭遇したことのない評価データのセットでテストされ得る。これは、AI/MLモデルが、訓練データ中のグラフィカル要素をよく特定するが、他の画像にうまく一般化しないような「過剰適合」をしないことを保証するのに役立つ。
【0052】
いくつかの実施形態では、AI/MLモデルがどのような精度レベルを達成することが可能であるかは、知られていない場合がある。したがって、評価データを分析する際にAI/MLモデルの精度が下がり始めている場合(すなわち、モデルは訓練データでは良好に実行しているが、評価データでは性能が低下し始めている)、AI/MLモデルは、訓練データ(および/または新しい訓練データ)におけるさらなる訓練のエポックを経ることができる。いくつかの実施形態では、AI/MLモデルは、精度が特定のレベルに達した場合、または訓練されたAI/MLモデルの精度が既存の展開されたAI/MLモデルより優れている場合にのみ展開される。
【0053】
特定の実施形態では、訓練されたAI/MLモデルの収集は、対象グラフィカル要素のタイプごとにAI/MLモデルを採用する、AI/MLモデルを採用してOCRを実行する、さらに別のAI/MLモデルを展開してグラフィカル要素間の近接関係を認識する、さらに別のAI/MLモデルを採用して他のAI/MLモデルからの出力に基づいてRPAワークフローを生成するなど、タスクを実現するために使用され得る。例えば、これにより、AI/MLモデルが集合的にセマンティックオートメーションを可能にし得る。
【0054】
いくつかの実施形態では、最先端の文、テキスト、および画像埋め込み用のPython(商標)フレームワークであるSentenceTransformers(商標)などのトランスフォーマーネットワークを使用することができる。このようなトランスフォーマーネットワークは、高いスコアと低いスコアの両方を持つ単語およびフレーズの関連付けを学習する。これは、AI/MLモデルを訓練して、何が入力に近く、何がそうでないかをそれぞれ決定する。単語/フレーズの対だけを使用するのではなく、トランスフォーマーネットワークは、フィールド長およびフィールドタイプも使用してもよい。
【0055】
図3は、本発明の実施形態による、AI/MLモデル(複数可)を訓練するためのプロセス300を示すフローチャートである。プロセスは、例えば、図3に示すような(例えば、特定されたグラフィカル要素およびテキストを伴う)ラベル付けされた画面、単語およびフレーズ、所定の単語またはフレーズに対する類似の単語およびフレーズが特定され得るような単語およびフレーズ間の意味的関連性の「シソーラス」などの訓練データを310で提供することから開始する。提供される訓練データの性質は、AI/MLモデルが達成しようとする目的に依存する。AI/MLモデルは、次に、320で複数のエポックにわたって訓練され、結果は、330においてレビューされる。
【0056】
AI/MLモデルが340で所望の信頼しきい値を満たさない場合、350でAI/MLモデルがその目的をよりよく達成するのを助けるために、訓練データが補充され、および/または報酬関数が修正され、プロセスはステップ320に戻る。AI/MLモデルが340で信頼しきい値を満たす場合、AI/MLモデルは、360で評価データに対してテストされ、AI/MLモデルがよく一般化し、AI/MLモデルが訓練データに関して過剰に適合しないことを確認する。評価データは、AI/MLモデルが以前に処理したことのない画面、ソースデータなどを含んでもよい。評価データについて370で信頼しきい値が満たされる場合、AI/MLモデルは380で展開される。そうでない場合、プロセスはステップ350に戻り、AI/MLモデルはさらに訓練される。
【0057】
本明細書で説明される実施形態は、タスクを実行するために画面画像から特徴を抽出することを提供する。特に、本明細書に記載される実施形態は、機械学習ベースのネットワークのアンサンブルを含む画面モデルをコンピューティングシステムのユーザーインターフェースを描写する画面画像に適用して、特徴のセットを抽出する。画面モデルは、入力として画面画像を受信し、出力として、例えば画面画像の異なる態様を表す特徴の4セットを生成する。画面モデルの機械学習ベースのネットワークは、教師なし学習および/または自己教師あり学習で訓練されて、圧縮かつ表現力豊かな方法で画面画像を表す特徴を抽出するように機械学習ベースのネットワークを訓練することができる。抽出された特徴は、例えば、類似の画面画像を特定すること、画面画像に描写されたアクションのアクションカテゴリを特定すること、または画面画像を種類ごとにクラスタリングすることなどのタスクマイニングタスクを実行するために利用され得る。
【0058】
図4は、1または複数の実施形態による、タスク(例えば、タスクマイニングタスク)を実行するための画面画像から特徴を抽出する方法400を示す。図4の方法400のステップは、例えば図1のコンピューティングシステム100などの1または複数のコンピューティングシステムによって実行され得る。図5は、1または複数の実施形態による、タスク(例えば、タスクマイニングタスク)を実行するための画面画像から特徴を抽出するワークフロー500を示す。図4および図5を併せて説明する。
【0059】
図4のステップ402で、コンピューティングシステムのユーザーインターフェースを描写する画面画像が受信される。一例では、図5のワークフロー500に示すように、画面画像は生の画像データ502として表される。コンピューティングシステムは、例えば、パーソナルコンピュータ、ラップトップ、モバイルデバイス(例えば、電話)、タブレット、または任意の他の適切なコンピューティングシステムであってもよい。画面画像は、任意の適切な画像形式にすることができる。
【0060】
画面画像は、任意の適切な方法で取得することができる。例えば、画面画像は、コンピューティングシステムのユーザーインターフェースのスクリーンショットを撮ることによって取得され得る。画面画像は、画面画像を取得したコンピューティングシステムから直接受信することも、コンピューティングシステムのストレージまたはメモリから以前に取得した画面画像をロードすることによって受信することもでき、あるいはリモートコンピューティングシステムから受信することもできる。
【0061】
図4のステップ404で、画面画像は、前処理されて、前処理された画面画像と処理結果を生成する。一例では、図5のワークフロー500に示すように、前処理画面画像および処理結果は、それぞれ、生画像データ502から生成された前処理画面画像504および処理結果506である。
【0062】
画面画像は、OCR(光学文字認識)とコントロール検出モデルを適用して前処理され、処理結果が生成される。一実施形態では、OCRおよびコントロール検出モデルは、少なくとも部分的に機械学習を使用して実装される。OCRおよびコントロール検出モデルは、画面画像を入力として受信し、処理結果として画面画像内で検出されたテキストボックスとコントロール領域を出力として生成する。テキストボックスは、画面画像内のテキストのボックスである。コントロール領域は、画面画像内のインタラクティブユーザーインターフェース要素(ボタン、チェックボックス、テキストフィールドなど)の領域である。一実施形態では、検出されたテキストボックスおよびコントロール領域は、2D位置エンコーディングによるさまざまな埋め込み手法を使用してエンコードされる。
【0063】
検出されたテキストボックスおよびコントロール領域は、任意の適切な方法で表され得る。一実施形態では、それぞれの検出されたテキストボックスまたはコントロール領域は、以下の集合によって表すことができる:1)それぞれのテキストボックスまたはコントロール領域の領域を表す一連の浮動小数点数(例えば、長方形(または任意の他の多角形)を、長方形の垂直方向および水平方向の位置、ならびに高さおよび幅によって表す4つの数値;2)それぞれのテキストボックスの内容、またはそれぞれのコントロール領域内のコントロールのタイプ(例えば、ボタン、ラジオボタン、インアウトボックスなど)を表すテキストの文字列;3)任意の追加の関連フラグ(ラジオボタン/チェックボックスが選択されているかどうかなど)。これら3つのプロパティは、機械学習ベースのネットワークによる取り込み用のデジタル表現に変換される。
【0064】
画面画像は、画面画像を所定のサイズ(例えば、224×224ピクセル)にサイズ変更すること、および/または画面画像内のピクセル値を正規化して、前処理された画面画像を生成することによってさらに前処理される。サイズ変更および正規化は、第1の機械学習ベースのネットワーク(図4のステップ406で利用される)に入力される画像に使用される標準化された値に従って実行され得る。
【0065】
図4のステップ406で、画像特徴は、第1の機械学習ベースのネットワークを使用して、前処理された画面画像から抽出される。画像特徴は、前処理された画面画像の最も識別可能な画像特徴を表す潜在的な特徴である。一実施形態では、画像特徴は、前処理された画面画像の表現ベクトルを含む。
【0066】
第1の機械学習ベースのネットワークは、例えばResNet(残差ニューラルネットワーク)-32などの画像エンコーダネットワークであってもよい。しかしながら、第1の機械学習ベースのネットワークは、画像を浮動小数点数の固定長ベクトルにエンコードできる他の任意の適切な機械学習ベースのネットワークであってもよい。一例では、図5のワークフロー500に示すように、第1の機械学習ベースのネットワークはResNet508であり、前処理された画面画像504を入力として受信し、出力画像表現特徴510として生成する。
【0067】
図4のステップ408で、テキスト特徴とコントロール要素特徴は、第2の機械学習ベースのネットワークを使用して、処理結果からを抽出される。テキスト特徴は、画面画像内で最も識別可能なテキスト特徴を表す潜在的な特徴である。テキスト特徴は浮動小数点配列のセットまたはリストとして表すことができ、各配列は画面画像内で検出されたそれぞれのテキストボックスを表す。コントロール要素特徴は、画面画像内で最も識別可能なコントロール要素特徴を表す潜在的な特徴である。コントロール要素特徴は浮動小数点配列のセットまたはリストとして表すことができ、各配列は画面画像内で検出されたそれぞれのコントロール要素を表す。
【0068】
第2の機械学習ベースのネットワークは、例えばトランスフォーマニューラルネットワークなどのテキストエンコーダであってもよい。しかしながら、第2の機械学習ベースのネットワークは、可変数のトークン(例えば、それぞれが画面画像内の単語またはコントロール要素に対応する)を各トークンの固定長ベクトルにエンコードできる任意の他の適切な機械学習ベースのネットワークであり得る。一例では、図5のワークフロー500に示すように、第2の機械学習ベースのネットワークは、入力として処理結果506を受信し、出力としてボックス(例えば、テキストボックスまたはコントロール要素ボックス)ごとの表現特徴514を生成するトランスフォーマー512である。
【0069】
図4のステップ410で、テキスト特徴とコントロール要素は、第3の機械学習ベースのネットワークを使用して、エンコードされて、画面画像の表現特徴を生成する。表現特徴は、画面画像内のすべてのテキストボックスおよびコントロール要素を表す最も識別力の高い全体的な特徴を表す潜在的な特徴である。表現特徴は、画面画像内のすべてのテキストボックスおよびコントロール要素を表す浮動小数点配列として表され得る。
【0070】
第3の機械学習ベースのネットワークは、知覚ニューラルネットワーク(perceiver neural network)であってもよい。しかしながら、第3の機械学習ベースのネットワークは、可変数の入力を受信し、固定長の出力を生成できる任意の他の適切な機械学習ベースのネットワークであってもよい。一例では、図5のワークフロー500に示すように、第3の機械学習ベースのネットワークは、入力としてボックスごとの表現特徴514を受信し、出力として固定サイズのページ表現特徴518を生成する知覚装置(perceiver)516である。
【0071】
図4のステップ412で、タスクは、画像特徴、テキスト特徴、コントロール要素特徴、または表現特徴のうちの1または複数に基づいて、画面画像上で実行される。タスクは、画面画像上で実行される任意の適切なタスクであり得る。一実施形態では、タスクはタスクマイニングタスクである。
【0072】
一実施形態では、タスクマイニングタスクは、支援タスクマイニング用の画面画像をグループ化するために、1または複数の他の画面画像との画面画像の類似性を判断することを含む。例えば、この実施形態では、画面画像および他の画面画像は、異なるユーザーが異なるコンピューティングシステムを介してインタラクションしている同じまたは類似のユーザーインターフェースを描写し得る。画面の類似性は、画像特徴、テキスト特徴、コントロール要素特徴、または画面画像および1もしくは複数の他の画面画像から抽出された表現特徴のうちの1もしくは複数に類似性メトリック(similarity metric)を適用することによって決定され得る。類似性メトリックは、例えば、ユークリッド距離、コサイン類似度、またはベクトル表現に適用可能な任意の他の適切な距離メトリックであってもよい。
【0073】
一実施形態では、タスクマイニングタスクは、タイプごとに画面画像および1または複数の他の画面画像をクラスタリングすることを含む。クラスタリングは、画像特徴、テキスト特徴、コントロール要素特徴、または画面画像および1もしくは複数の他の画面画像から抽出された表現特徴のうちの1もしくは複数にクラスタリング方法を適用することによって実行され得る。クラスタリング方法は、例えば、K平均クラスタリング、DBSCAN(ノイズのあるアプリケーションの密度ベースの空間クラスタリング)、または任意の他の適切なクラスタリング方法などの教師なしクラスタリング方法であってもよい。
【0074】
一実施形態では、タスクマイニングタスクは、画面画像を1または複数の他の画面画像とグループ化し、グループ化された画面画像を画面画像に描写されているユーザーインターフェースのタイプまたはカテゴリ別に分類すること(例えば、データテーブル、レポート、アクションを実行するユーザーなど)を含む。一例では、分類モデルを使用してグループ化および分類を実行することができる。分類モデルは、画像特徴、テキスト特徴、コントロール要素特徴、または画面画像および1もしくは複数の他の画面画像から抽出された表現特徴のうちの1または複数を入力として受信し、出力としてグループおよび分類された画面画像を生成する。分類モデルは、例えば、ロジスティック回帰モデル、決定木、または任意の他の適切な分類モデルであってもよい。
【0075】
タスクマイニングタスクは、タスクマイニングを実行するための任意の他の適切なタスクであってもよい。例えば、一実施形態では、画像特徴、テキスト特徴、コントロール要素特徴、または表現特徴のうちの1または複数を、画面画像を時系列の画面画像として提示することを学習するシステムに入力することができる。時系列の画面画像の生成は、単一の画面画像では十分に表現されないアクティビティ(例えば、コールセンターでの「リードジェネレーション」または「顧客の電話を受ける」などのエンドツーエンドのプロセス)を学習するために時系列の画面画像を利用し得るので、タスクマイニングにおいて重要である。画像特徴、テキスト特徴、コントロール要素特徴、または表現特徴のうちの1または複数を利用して時系列の画面画像を生成することにより、さまざまなアプリケーション(例えば、上で説明した比較、クラスタリング、分類など)を時系列の画面画像上で実行して、人間とコンピュータの一連のインタラクションを表すことができる。
【0076】
一実施形態では、タスクマイニングタスクは自動化可能なアクティビティを特定するために実行され、特定されたアクティビティは自動化され得る。一例では、RPA(ロボティックプロセスオートメーション)ワークフローは、特定されたアクティビティを含むように定義され得、RPAワークフローは、1または複数のRPAロボットによって自動的に遂行され得る。RPAロボットは、1または複数のコンピューティングシステムによって遂行されるソフトウェアに実装される。
【0077】
図4のステップ414で、タスクの結果が出力される。タスクの結果は、例えば、タスクの結果をコンピュータシステムの表示デバイスに表示すること、タスクの結果をコンピュータシステムのメモリもしくはストレージに格納することによって、またはタスクの結果をリモートコンピュータシステムに送信することによって、出力され得る。
【0078】
一実施形態では、(第1の機械学習ベースのネットワーク、第2の機械学習ベースのネットワーク、および第3の機械学習ベースのネットワークを含む)画面モデルは、セレクタデータをエンコードするように構成され得る。画面モデルは、タスクマイニングデータを使用して微調整され得る。
【0079】
一実施形態では、画面モデルは、画面画像とテキストとの間の関連性を学習するために、例えばビデオ、ユーザー提供のテキストプロンプトなどの画面画像以外のソースからのテキストをエンコードするように構成される。この実施形態では、画像特徴、テキスト特徴、コントロール要素特徴、または表現特徴の1または複数に基づいて実行されるタスクは、自然言語クエリを使用した、画面画像の集団または時系列の画面画像の並べ替え、フィルタリング、または検索を含み得る。例えば、ユーザーは、画像特徴、テキスト特徴、コントロール要素特徴、または表現特徴を使用して、画面画像のデータセットから、「注文書の検索」というプロンプトまたは任意のその他の自然言語プロンプトに一致するユーザーインターフェースを検索し得る。
【0080】
一実施形態では、画像特徴、テキスト特徴、コントロール要素特徴、または表現特徴のうちの1または複数は、追加の特徴を抽出するための追加の機械学習ベースのネットワークへの入力として使用され得る。追加の機械学習ベースのネットワークは、例えば、他のタスクを実行するための画面画像または時系列の画面画像を理解するための強化学習モデルであってもよい。
【0081】
図4の方法400で利用される機械学習ベースのネットワーク(例えば、第1の機械学習ベースのネットワーク、第2の機械学習ベースのネットワーク、および第3の機械学習ベースのネットワーク)および図5のワークフロー500で利用される機械学習ベースのネットワーク(例えば、ResNet508、トランスフォーマー512、および知覚装置(perceiver)516)は、事前のオフラインまたは訓練段階で、画面画像から特徴を抽出するように訓練される。例えば、図5のワークフロー500に示すように、トランスフォーマー512は、MLM(マスクされた言語モデリング)損失522で訓練され、ResNet508および知覚装置(perceiver)516はCLR(表現の対比学習)損失520で訓練される。訓練されると、訓練された機械学習ベースのネットワークは、タスクマイニングタスクを実行するために画面画像から特徴を抽出するために、オンライン段階または推論段階中に(例えば、図4の方法400および図5のワークフロー500において)適用される。
【0082】
機械学習ベースのネットワークを訓練するために、まず大規模で対象を絞った教師なし訓練データセットが生成される。コンピューティングシステムとインタラクションするユーザーの記録の多様な収集から開始して、例えば、記録内の前のキーフレーム(例えば、ピクセル差または任意のその他の適切な画面類似性尺度)と十分に異なるフレームを繰り返しサンプリングすることによって、そこからキーフレームが抽出される。
【0083】
訓練は、ミニバッチにわたる損失関数に従って一連の勾配降下ステップを決定することにより、抽出されたキーフレームに基づいて教師なし学習および/または自己教師あり学習で実行される。損失関数は、マスクされた単語予測コンポーネントを提供するMLM損失と、異なる訓練画面画像から抽出された画像およびテキストエンコーディングを同じ訓練画面画像と比較して、比較する対照的な損失を提供するCLR損失とを含む。MLM損失は、入力内のいくつかの単語をMASKトークンに置き換えることによって計算される。一実施形態では、コントロール要素をトークンでマスクすることもできる。真の元の単語の予測は、そのトークンの最終単語表現(OCR)を使用して最適化される。CLR損失は、最初に訓練画面画像のミニバッチ(例えば、ミニバッチあたり900個の画面画像)の画像特徴と表現特徴を生成し、次に画像特徴と表現特徴の間のコントラスト損失を適用することによって計算される。より詳細には、訓練画面画像のミニバッチでは、各データポイントの2つの「ビュー」が表され、各ミニバッチ内のデータポイントの2つのビュー間にコントラスト損失が適用される。2つのビューは、例えば、同じ画像の2つの異なるクロップ、または2つの異なる方法で色が変更された同じ画像、またはデータポイントの外観を変更するが意味論的な意味(semantic meaning)は変更しない入力データの任意のその他の変更であり得る。
【0084】
一実施形態では、訓練画面画像を拡張することができ、CLR損失を計算するために利用される画像特徴および表現特徴は、拡張された画面画像から生成され得る。拡張は、例えば、色のジッター、ランダムなクロッピング、(例えば、すべてのトークンを「不明な」トークンUNKに置き換えることによる)テキストまたはコントロール要素の特定のドロップアウト、(例えば、すべてのボックス座標をページ全体の座標に置き換えることによる)テキストまたはコントロール要素の位置のドロップアウト、ランダムな滑らかな変形などを適用することによって実行され得る。
【0085】
図3および図4で実行されるステップは、本発明の実施形態に従って、図3および図4で説明したプロセス(複数可)の少なくとも一部を実行するようにプロセッサ(複数可)への命令をエンコードするコンピュータプログラムによって実行されてもよい。コンピュータプログラムは、非一時的なコンピュータ読み取り可能な媒体に格納されていてもよい。コンピュータ読み取り可能な媒体は、ハードディスクドライブ、フラッシュデバイス、RAM、テープ、および/またはデータを格納するために使用される他のそのような媒体または媒体の組み合わせであってもよいが、これらに限定されるものではない。コンピュータプログラムは、図3および図4に記載されたプロセスステップの全部または一部を実装するために、コンピューティングシステム(例えば、図1のコンピューティングシステム100のプロセッサ(複数可)110)のプロセッサ(複数可)を制御するためのコード化された命令を含んでもよく、これはまた、コンピュータ読み取り可能な媒体に格納されてもよい。
【0086】
コンピュータプログラムは、ハードウェア、ソフトウェア、またはハイブリッド実装で実装され得る。コンピュータプログラムは、互いに動作可能な通信を行うモジュールで構成され得、情報または指示をディスプレイに送るように設計されている。コンピュータプログラムは、汎用コンピュータ、ASIC、またはいずれかの他の好適なデバイスで動作するように構成され得る。
【0087】
本発明の様々な実施形態のコンポーネントは、本明細書に一般的に記載され、図示されているように、様々な異なる構成で配置され、設計されてもよいことが、容易に理解されるであろう。したがって、添付の図に表されるような本発明の実施形態の詳細な説明は、特許請求されるような本発明の範囲を限定することを意図するものではなく、本発明の選択された実施形態を代表するものにすぎない。
【0088】
本明細書を通して記載された本発明の特色、構造、または特徴は、1または複数の実施形態では、いずれかの好適な方法で組み合わせられ得る。例えば、本明細書全体を通して「特定の実施形態」、「いくつかの実施形態」、または類似の言語を参照することは、実施形態に関連して記載された特定の特色、構造、または特徴が、本発明の少なくとも1つの実施形態に含まれていることを意味する。したがって、本明細書全体を通して「特定の実施形態では」、「いくつかの実施形態では」、「他の実施形態では」、または類似の言語の出現は、必ずしも全ての実施形態の同じグループを指すものではなく、記載された特色、構造、または特徴は、1または複数の実施形態ではいずれかの好適な方法で組み合わせられ得る。
【0089】
本明細書全体を通して特色、利点、または類似の言語への参照は、本発明で実現され得る特色および利点の全てが、本発明のいずれかの単一の実施形態にあるべきであること、または本発明のいずれかの実施形態であることを意味するものではないことに留意すべきである。むしろ、特色および利点に言及する言語は、実施形態に関連して記載された特定の特色、利点、または特徴が、本発明の少なくとも1つの実施形態に含まれることを意味すると理解される。したがって、本明細書全体での特色および利点の議論、ならびに類似の言語は、同じ実施形態を参照することができるが、必ずしもその必要性はない。
【0090】
さらに、本発明の記載された特色、利点、および特徴は、1または複数の実施形態では、いずれかの好適な方法で組み合わせることができる。関連する技術の当業者は、本発明が、1または複数の特定の実施形態の特定の特徴または利点なしに実施され得ることを認識するであろう。他の例では、追加の特徴および利点は、本発明の全ての実施形態には存在しないかもしれないが特定の実施形態では認識され得る。
【0091】
本分野における通常の技術を有する者は、上述したような本発明を、異なる順序でのステップを用いて、および/または開示されているものとは異なる構成のハードウェア要素を用いて実施することができることを容易に理解するであろう。したがって、本発明は、これらの好ましい実施形態に基づいて説明されてきたが、本発明の精神および範囲内にとどまりながら、特定の変更、変形、および代替的な構成が明らかになることは、当業者には明らかであろう。したがって、本発明の範囲を決定するためには、添付の特許請求の範囲を参照すべきである。

図1
図2A
図2B
図3
図4
図5
【外国語明細書】