JP7420268B2 - データ処理装置、データ処理方法及びデータ処理プログラム - Google Patents

データ処理装置、データ処理方法及びデータ処理プログラム Download PDF

Info

Publication number
JP7420268B2
JP7420268B2 JP2022547346A JP2022547346A JP7420268B2 JP 7420268 B2 JP7420268 B2 JP 7420268B2 JP 2022547346 A JP2022547346 A JP 2022547346A JP 2022547346 A JP2022547346 A JP 2022547346A JP 7420268 B2 JP7420268 B2 JP 7420268B2
Authority
JP
Japan
Prior art keywords
gui component
unit
graph structure
placement
data processing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2022547346A
Other languages
English (en)
Other versions
JPWO2022054262A1 (ja
Inventor
有記 卜部
公雄 土川
史拓 横瀬
佐也香 八木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Publication of JPWO2022054262A1 publication Critical patent/JPWO2022054262A1/ja
Application granted granted Critical
Publication of JP7420268B2 publication Critical patent/JP7420268B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/86Arrangements for image or video recognition or understanding using pattern recognition or machine learning using syntactic or structural representations of the image or video pattern, e.g. symbolic string recognition; using graph matching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/22Image preprocessing by selection of a specific region containing or referencing a pattern; Locating or processing of specific regions to guide the detection or recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/761Proximity, similarity or dissimilarity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/94Hardware or software architectures specially adapted for image or video understanding
    • G06V10/945User interactive design; Environments; Toolboxes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Software Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computing Systems (AREA)
  • Medical Informatics (AREA)
  • General Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Databases & Information Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • User Interface Of Digital Computer (AREA)
  • Debugging And Monitoring (AREA)

Description

本開示は、データ処理装置、データ処理方法及びデータ処理プログラムに関する。
今日、多くの企業が、様々なソフトウェアを使って業務を行っている。業務に使われるソフトウェアとしては、業務システム(例えば、顧客管理、会計管理)や、汎用的なアプリケーション(例えば、メーラ、ブラウザ)等が挙げられる。
業務担当者は、ソフトウェアのマニュアルを、業務担当者の間で共有する場合がある。例えば、企業によっては、商品やサービスは、業務システムでの端末操作を中心とした業務を通して、顧客に提供される。この場合、例えば、マニュアルは、商品やサービスを提供するための業務システムの操作手順を規定する。マニュアルでは、例えば、同一の商品やサービスを提供するための操作手順が、商品やサービスごとに決められている。
業務の実施に関しては、一般的には、業務担当者は、商品やサービスの提供に必要な処理を、マニュアルに沿って行うことが期待される。マニュアルに沿った業務では、同一の商品やサービスを処理する手順が、同一の操作手順になることが望ましい。
しかしながら、実際には、様々なイレギュラーな事象が、業務において発生する。イレギュラーな事象としては、顧客が注文後に注文内容を変更するという事象や、商品の欠品があるという事象や、操作ミスが端末操作において発生するという事象等が挙げられる。実際の業務には、マニュアルの作成時に想定されていない様々なイレギュラーな事象があるため、イレギュラーな事象に対して全ての操作手順を予め規定することは、現実的ではないことが多い。また、イレギュラーな事象のために多様な操作方法を覚えることは、業務担当者にとって困難である。
このように、全ての案件を予め規定された手順で処理することは、現実的ではないことが多く、実際には、同一の商品やサービスを処理する手順は、それぞれの案件によって一般的に異なる。
業務分析の観点からは、上述したようなイレギュラーな事象を把握することは、業務改善に役立つ。業務改善を目的とした検討においては、通常の操作の他にイレギュラーな事象を含む業務実態を、網羅的に把握することが望ましい。
例えば、通常業務に関しては、業務がマニュアルに規定された操作手順に則って実施されているかを確認することが望ましい。さらに、より効率的な手順や自動化可能な手順を検討するために、業務実態を把握することが望ましい。
一方、イレギュラーな事象に関しては、どのようなイレギュラーな事象が普段発生するか、どの程度イレギュラーな事象が発生するか、またはどのように業務担当者がイレギュラーな事象を処理しているか等の、業務実態を把握することが望ましい。
このような業務実態を把握することが可能であれば、企業は、業務実態を、業務担当者がスムーズに業務を実施することを可能にするための対応策の検討のために役立てることができる。
そこで、業務実態を把握するために、操作手順をフローチャート形式で表示することが提案されている(非特許文献1)。操作手順をフローチャート形式で表示する表示手法は、RPA(Robotic Process Automation)を導入する企業のために自動化の対象となる業務や作業を特定することを目的とした業務分析に有効である。
上述の表示手法では、複数の操作手順が、ノードとしてそれぞれ表示され、業務プロセスは、これらのノードを並べることによって可視化される。具体的には、はじめに、操作ログが、各種サービスへの申し込み等の案件に対して記録される。操作ログは、例えば、操作者の操作時刻、操作の種類(操作種別とも呼ばれる)、案件を特定するための識別情報(すなわち、案件ID)等を含む。次いで、操作ログが、ノードを生成するための入力として使用される。その後、案件ごとの操作の違いが、案件ごとにノードを並べ、かつ同一の操作の種類の操作手順を同じノードとして重ね合わせることによって把握される。
操作ログの取得に関しては、GUI(Graphical User Interface)の表示状態を効率的に取得するための技術が提案されている(特許文献1)。この技術は、操作者によるGUI部品への操作の粒度に基づいて操作ログを取得する仕組みを提供するものである。この技術では、GUI部品が、GUIアプリケーションの操作画面を構成する。イベントが発生した時に、GUI部品の属性値が、操作画面から取得される。そして、GUI部品の変更箇所が、イベントの発生前後で発見される。このようにして、属性値の変更を生じさせたイベント(すなわち、業務において意味を持つ操作イベント)が抽出されるとともに、操作箇所が特定される。
特開2015-153210号公報
小笠原志朗、土川公雄、兵藤守、丸山勉、"業務の実行履歴を活用した業務プロセス可視化・分析システムの開発"[online]、[2020年9月11日検索]、インターネット(https://www.ntt.co.jp/journal/0902/files/jn200902040.pdf)
しかしながら、上記の従来技術では、操作ログを容易に収集できるとはいえなかった。
例えば、実際の業務においては、業務は、一般的には、業務システムだけでなく、メーラ、ブラウザ、パッケージソフト(例えば、文書作成、表計算、プレゼンテーション)等の様々なアプリケーションを使用しながら進められる。業務担当者による業務実施の状況を把握するためには、これらの全てのアプリケーションの実行環境に応じてGUI部品の属性値を取得し、GUI部品の変更箇所を特定する仕組みを開発することが考えられる。しかしながら、GUI部品の状態を取得する仕組みは、アプリケーションの実行環境によって異なる場合がある。このため、企業がGUI部品を取得する仕組みをアプリケーションごとに開発する場合に、この仕組みは、いくらかの開発コストを必要とする。実際には、開発コストが高く、このような仕組みを開発することが、現実的ではない場合がある。
仮に、企業が、特定のアプリケーションについて上述したような仕組みを開発したものとする。しかしながら、この場合、アプリケーション仕様変更が対象のアプリケーションのバージョンアップに伴い発生すると、企業は、その仕様変更に合わせた仕組みの改造が必要になる場合がある。その結果、改造に関するコストが発生する場合がある。
また、シンクライアント環境が、コンピュータ資源の有効活用や、セキュリティ対策を目的に、近年企業で普及している。シンクライアント環境では、アプリケーションは、業務担当者が直接操作を行う端末であるクライアント端末に、インストールされていない。代わりに、アプリケーションは、クライアント端末に接続された別の端末にインストールされている。
シンクライアント環境では、アプリケーションによって提供される操作画面は、クライアント端末上で、画像として表示される。業務担当者は、表示された画像を通して、別の端末にインストールされたアプリケーションを操作する。この場合、操作画面は、業務担当者が実際に操作を行う端末上で、単に画像として表示される。このため、GUI部品およびGUI部品の変更箇所をクライアント端末から特定することは困難である。
このように、多様なアプリケーションを用いた業務や、シンクライアント環境においては、業務担当者のアプリケーション上で行われるGUI部品への操作を、操作ログとして収集することは、容易ではない。
本願は、上記に鑑みてなされたものであって、操作ログを容易に収集することを目的とする。
本開示の実施形態に係るデータ処理装置は、ウィンドウの複数の画像を取得する取得部と、前記取得部によって取得された複数の画像の各々から、GUI部品候補の画像部分を抽出し、取得された画像ごとに、抽出された画像部分が配置される配置場所に関する配置データを生成する生成部と、前記生成部によって生成された複数の配置データについて、配置場所が互いに対応する所定のGUI部品候補の画像部分同士を比較し、当該所定のGUI部品候補の画像部分が互いに異なる場合に、当該所定のGUI部品候補を、操作可能なGUI部品として認識する認識部とを備える。
実施形態の一態様によれば、操作ログを容易に収集することができる。
図1は、実施形態に係る操作ログ取得システムの一例を示す図である。 図2Aは、操作イベントを取得する取得処理の一例を示す説明図である。 図2Bは、操作イベントを取得する取得処理の一例を示す説明図である。 図3は、同一のウィンドウを分類する分類処理の一例を示す説明図である。 図4は、GUI部品のグラフ構造を生成する生成処理の一例を示す説明図である。 図5は、GUI部品のグラフ構造から操作のあるGUI部品のノードに固有のIDを付与する付与処理の一例を示す説明図である。 図6は、キャプチャ画像および操作イベントから操作箇所のGUI部品を特定するGUI部品特定処理の一例を示す説明図である。 図7は、操作箇所の固有のIDを特定する固有ID特定処理の一例を示す説明図である。 図8は、実施形態に係るデータ処理装置によって実行される、操作イベントを取得するための処理の一例を示すフローチャートである。 図9は、実施形態に係るデータ処理装置によって実行される、見本GUIグラフ構造を生成するための処理の一例を示すフローチャートである。 図10は、実施形態に係るデータ処理装置によって実行される、操作ログを生成するための処理の一例を示すフローチャートである。 図11は、ハードウェア構成の一例を示す図である。
以下、本開示の実施形態について、図面を参照しつつ詳細に説明する。なお、この実施形態により本発明が限定されるものではない。1つまたは複数の実施形態の詳細は、以下の説明および図面に記載される。また、複数の実施形態は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。また、以下の1つまたは複数の実施形態において同一の部位には同一の符号を付し、重複する説明は省略する。
〔1.概要〕
本節では、本明細書に記載されるいくつかの実装形態の概要について説明する。なお、この概要は、読者の便宜のために提供されるものであって、本発明や、以下の節で説明される実施形態を限定することを意図するものではない。
従来、PC(Personal Computer)等の端末を使った業務を改善するために、様々な業務分析が提案されている。業務分析の1つは、PC上の操作の操作ログから、RPAが適用可能な作業を発見することである。
RPAが適用可能な作業は、例えば、一連の操作手順を周期的に繰り返すこと等の、機械的な作業である。もし、RPAが適用可能な作業が操作ログから発見されれば、RPAの適用によって、機械的な作業を自動化することが可能になる。
ところで、RPAの適用は、細かな操作ログを必要とする場合がある。細かな操作ログは、例えば、粒度がGUI部品への操作のレベルの操作ログである。粒度という用語は、データの細かさや詳しさを意味する。例えば、GUI部品への操作のレベルの操作ログは、GUI部品の部品名(例えば、テキストボックス、ラジオボタン)、入力値(例えば、文字列、数値)等を含む。
上述の操作ログの取得に関しては、GUI部品のオブジェクトデータを使用した操作ログ取得技術が提案されている(特許文献1)。この操作ログ取得技術では、はじめに、ブラウザのHTML(Hyper Text Markup Language)情報が、ブラウザへの操作イベントのタイミングで取得される。次いで、取得されたHTML情報が解析され、GUI部品の状態(例えば、GUI部品の部品名、入力値)が取得される。言い換えると、GUI部品の状態が、操作画面に含まれるオブジェクトのオブジェクトデータとして取得される。その後、GUI部品の状態が、前の操作イベント時に取得されたGUI部品の状態と比較される。GUI部品の状態が変化した場合に、GUI部品の状態が、操作ログに記録される。
しかしながら、実際には、多様なアプリケーションが業務で使用される場合に、上述の操作ログ取得技術では、開発コストが問題となる場合がある。
具体的には、GUI部品の状態を取得する方法は、アプリケーションの実行環境ごとに異なる。操作ログを取得するソフトウェアが実行環境ごとに開発される場合に、ソフトウェアの開発は、かなりのコストがかかる場合がある。
そこで、実施形態に係るデータ処理装置は、多様なアプリケーションを使用した業務に対して、RPAの適用等の、GUI部品への操作のレベルの操作ログを必要とする業務分析を適用するために、以下に説明される操作ログ取得処理を実行する。データ処理装置は、3つの段階を経て、操作ログを取得する。
第1の段階は、操作イベントの取得である。第1の段階では、データ処理装置は、イベント種別(マウス、キーボード)、操作発生箇所、およびアプリケーションの操作画面のキャプチャ画像を、操作イベントのタイミングで取得する。
第2の段階は、見本GUI部品グラフ構造の生成である。第2の段階では、はじめに、データ処理装置は、操作画面のキャプチャ画像から、枠(例えば、矩形)または文字列の箇所を、GUI部品候補の画像部分として取得する。そして、データ処理装置は、取得された箇所の位置情報に基づいて、GUI部品グラフ構造を生成する。GUI部品グラフ構造は、GUI部品候補の画像部分がどのように操作画面内に配置されているかを示す。
データ処理装置は、操作イベントのタイミングごとに、上述のイベント種別、操作発生箇所、および操作画面のキャプチャ画像を取得する。そして、データ処理装置は、同一の操作画面(すなわち、同一のウィンドウ)の複数のキャプチャ画像から、複数のGUI部品グラフ構造を生成する。
次いで、データ処理装置は、データ処理装置は、複数のGUI部品グラフ構造を比較し、GUI部品候補の画像部分の変化が生じる箇所を、操作可能なGUI部品が配置される箇所として特定する。データ処理装置は、特定された箇所に固有のIDを割り当てることによって、操作可能なGUI部品の配置箇所の見本となるグラフ構造として、見本GUI部品グラフ構造を生成する。
第3の段階は、操作ログの生成である。第3の段階では、はじめに、データ処理装置は、時系列の操作イベントごとの操作画面のキャプチャ画像から、GUI部品グラフ構造を新たに生成する。そして、データ処理装置は、各操作イベントにおける操作の発生箇所に基づいて、新たに生成されたGUI部品グラフ構造のうちのどの箇所が操作されたかを特定する。
次いで、データ処理装置は、新たに生成されたGUI部品グラフ構造と、見本GUI部品グラフ構造とを比較する。データ処理装置は、見本GUI部品グラフ構造に含まれる固有のIDの中から、新たに生成されたGUI部品グラフ構造のうちの操作された箇所に対応する固有のIDを取得する。データ処理装置は、取得された固有のIDに基づいて、この箇所に配置されたGUI部品が何であるかを特定する。
その後、データ処理装置は、操作イベントと、前の操作イベントとを比較する。操作イベントに変化がある場合に、データ処理装置は、操作イベントを操作ログに記録する。このようにして、データ処理装置は、操作ログを取得することができる。
上述のように、データ処理装置は、アプリケーションの操作画面から、GUI部品への操作のレベルの操作ログを、汎用的に生成する。これにより、データ処理装置は、アプリケーションに依らず、GUI部品への操作の粒度で、操作ログを生成することができる。
〔2.操作ログ取得システムの構成〕
まず、図1を参照して、実施形態に係る操作ログ取得システムの構成について説明する。
図1は、実施形態に係る操作ログ取得システム1の一例を示す図である。図1に示されるように、操作ログ取得システム1は、データ処理装置100と、端末装置200とを含む。図1中では図示していないが、操作ログ取得システム1は、複数台のデータ処理装置100や、複数台の端末装置200を含んでもよい。
操作ログ取得システム1において、データ処理装置100および端末装置200は、それぞれネットワークNと有線又は無線により接続される。ネットワークNは、例えば、インターネット、WAN(Wide Area Network)、LAN(Local Area Network)等のネットワークである。操作ログ取得システム1の構成要素は、ネットワークNを介して互いに通信を行うことができる。
データ処理装置100は、ソフトウェアの操作のログを取得するための処理を実行する情報処理装置である。データ処理装置100は、サーバを含む、任意のタイプの情報処理装置であってもよい。
端末装置200は、ユーザによって利用される情報処理装置である。ユーザは、例えば、業務担当者である。業務担当者は、端末装置200上で、業務システムや、汎用的なアプリケーション等の、各種ソフトウェアを使用する。端末装置200は、スマートフォン、デスクトップ型PC、ノート型PC、タブレット型PC等のクライアント装置を含む、任意のタイプの情報処理装置であってもよい。
なお、図1の例では、データ処理装置100は、端末装置200の外部に配置されたデータ理装置として示されているが、これに限定されるものではない。データ処理装置100は、端末装置200の内部に配置されたデータ処理器として実装されてもよい。
次に、データ処理装置100の構成例について説明する。
図1に示されるように、データ処理装置100は、通信部110と、記憶部120と、制御部130とを有する。なお、データ処理装置100は、データ処理装置100を利用する管理者等から各種操作を受け付ける入力部(例えば、キーボード、マウス等)や、各種情報を表示するための表示部(有機EL(Electro Luminescence)、液晶ディスプレイ等)を有してもよい。
(通信部110)
通信部110は、例えば、NIC(Network Interface Card)等によって実現される。通信部110は、有線または無線によりネットワーク網と接続される。通信部110は、端末装置200に、ネットワークNを介して、通信可能に接続されてもよい。通信部110は、端末装置200との間で、ネットワーク網を介して、情報の送受信を行うことができる。
(記憶部120)
記憶部120は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。図1に示されるように、記憶部120は、操作データ記憶部121と、配置データ記憶部122と、見本配置データ記憶部123と、ログデータ記憶部124とを有する。
(操作データ記憶部121)
操作データ記憶部121は、ソフトウェアの操作に関する操作データを記憶する。操作データ記憶部121は、後述する取得部131によって取得された操作データを記憶する。例えば、操作データ記憶部121は、操作データとして、ユーザの操作イベント(例えば、マウスYキーボードの操作)の発生時間、操作イベントの発生位置、および操作画面(すなわち、ウィンドウ)のキャプチャ画像を記憶する。
(配置データ記憶部122)
配置データ記憶部122は、GUI部品の配置に関する配置データを記憶する。配置データ記憶部122は、後述する生成部132によって生成された配置データを記憶する。例えば、配置データ記憶部122は、配置データとして、GUI部品グラフ構造を記憶する。GUI部品グラフ構造は、図4を参照して以下で詳述される。
(見本配置データ記憶部123)
見本配置データ記憶部123は、操作可能なGUI部品として認識されたGUI部品の配置に関する見本配置データを記憶する。見本配置データ記憶部123は、後述する認識部133によって生成された見本配置データを記憶する。例えば、見本配置データ記憶部123は、見本配置データとして、見本GUI部品グラフ構造を記憶する。見本GUI部品グラフ構造は、図5を参照して以下で詳述される。
(ログデータ記憶部124)
ログデータ記憶部124は、ソフトウェアの操作のログに関するログデータを記憶する。ログデータ記憶部124は、後述する記録部136によって記録されたログデータを記憶する。例えば、ログデータ記憶部124は、ログデータとして、GUI部品に対する操作のログを記憶する。
(制御部130)
制御部130は、コントローラ(controller)であり、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)等のプロセッサによって、データ処理装置100内部の記憶装置に記憶されている各種プログラム(データ処理プログラムの一例に相当)がRAM等を作業領域として実行されることにより実現される。また、制御部130は、例えば、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)、GPGPU(General Purpose Graphic Processing Unit)等の集積回路により実現されてもよい。
制御部130は、図1に示されるように、取得部131と、生成部132と、認識部133と、特定部134と、判定部135と、記録部136とを有し、以下に説明する情報処理の機能や作用を実現又は実行する。データ処理装置100の1つまたは複数のプロセッサは、データ処理装置100の1つまたは複数のメモリに記憶された命令を実行することによって、制御部130内の各制御部の機能を実現することができる。なお、制御部130の内部構成は、図1に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。例えば、認識部133は、認識部133以外の部に関して後述する情報処理の全部または一部を行ってもよい。
(取得部131)
取得部131は、ソフトウェアの操作のログを取得するための処理を実行するのに使用される各種情報を取得する。例えば、取得部131は、ソフトウェアの操作に関する操作データを取得する。
取得部131は、操作データを、端末装置200から受信する。取得部131は、操作データ記憶部121に、受信された操作データを格納する。
取得部131は、操作データとして、操作イベントを取得する。また、取得部131は、操作イベントのタイミングで、操作の発生時間、操作の発生箇所および操作画面のキャプチャ画像を取得する。
図2Aおよび図2Bは、操作イベントを取得する取得処理の一例を示す説明図である。取得部131は、ユーザの操作イベント(例えば、マウスやキーボードの操作)の発生時間および発生位置を取得する。また、取得部131は、操作画面(すなわち、ウィンドウ)のキャプチャ画像を取得する。取得部131は、操作イベントのタイミングごとに、イベント種別(例えば、マウス、キーボード)、操作発生箇所、および操作画面のキャプチャ画像を取得する。
図2Aの例では、取得部131は、操作イベントとして、マウスクリックを取得する。取得部131は、操作イベント11と、キャプチャ画像12とを取得する。操作イベント11は、左マウスクリックである。操作イベント11の発生時間は、2020年6月30日の11時00分03秒である。操作イベント11の発生位置のX座標は、250pxである。また、操作イベント11の発生位置のY座標は、650pxである。キャプチャ画像12は、顧客情報登録画面のキャプチャ画像である。
図2Bの例では、取得部131は、操作イベントとして、キーボード入力を取得する。取得部131は、操作イベント21と、キャプチャ画像22とを取得する。操作イベント21は、「DE(で)のEの入力」である。操作イベント21の発生時間は、2020年6月30日の11時00分03秒である。操作イベント11の発生位置のX座標は、200pxである。また、操作イベント11の発生位置のY座標は、180pxである。DE(で)のEが入力されたテキストボックスの幅Wは、20pxである。また、このテキストボックスの高さHは、20pxである。キャプチャ画像22は、顧客情報登録画面のキャプチャ画像である。
取得部131は、ユーザの操作イベント(例えば、マウスやキーボードの操作)のタイミングで、端末装置200から、操作イベントに関する情報を取得する。
取得部131は、操作イベントに関する情報として、イベントの種別(クリック、キー)を取得する。
取得部131は、操作イベントに関する情報として、操作イベントの位置を取得する。取得部131が操作イベントの位置を取得できない場合に、取得部131は、前後の操作によって生じた操作画面の変化から、操作イベントの位置を特定してもよい。
アプリケーションが端末装置200で動作している場合に、取得部131は、アクティブウィンドウの識別情報を取得してもよい。アクティブウィンドウは、マウスやキーボードによる操作を受け付けているウィンドウである。アクティブウィンドウの識別情報は、例えば、ウィンドウハンドル、ウィンドウタイトル等のデータである。
取得部131は、操作イベントに関する情報として、ウィンドウのキャプチャ画像を取得する。アプリケーションが端末装置200で動作している場合に、アクティブウィンドウのキャプチャ画像を取得する。端末装置200がシンクライアント環境で使用されている場合に、操作画面全体のキャプチャ画像を取得する。
取得部131は、ユーザの操作イベントの直後ではなく、指定時間ごとに、操作画面のキャプチャ画像を取得してもよい。そして、取得部131は、ユーザの操作イベントの発生時間と、キャプチャ画像の取得時間とを、後から比較し、操作イベントの発生時間の直後にキャプチャされた画像に、操作イベントの発生時間を関連付けてもよい。
(生成部132)
図1に戻ると、生成部132は、ソフトウェアの操作のログを取得するための処理を実行するのに使用される各種情報を生成する。例えば、生成部132は、GUI部品の配置に関する配置データを生成する。生成部132は、配置データとして、後述するGUI部品グラフ構造を生成する。生成部132は、生成された配置データを、配置データ記憶部122に格納する。
生成部132は、操作データ記憶部121から、操作データを取得する。例えば、生成部132は、操作データ記憶部121に記憶されたキャプチャ画像から、同一の操作画面(すなわち、同一のウィンドウ)のキャプチャ画像を収集する。同一の操作画面を収集する方法として、次の2通りの方法が考えられる。1つ目の方法は、アプリケーション名とウィンドウタイトルが同一のウィンドウが同一の操作画面構成を有することを前提に、アプリケーション名とウィンドウタイトルが同一のウィンドウを収集する方法である。しかし、ウィンドウのアプリケーション名とウィンドウタイトルが同一であっても、ウィンドウが、異なる操作画面構成を有する場合がある。そのため、2つ目の方法として、見た目が類似するウィンドウを収集する方法がある。
図3は、同一のウィンドウを分類する分類処理の一例を示す説明図である。生成部132は、ウィンドウのキャプチャ画像を、同一のウィンドウごとに集約する。図3の例では、生成部132は、ウィンドウの複数のキャプチャ画像30を、同一のウィンドウの複数のキャプチャ画像31と、同一のウィンドウの複数のキャプチャ画像32とに分類する。分類後、同一のウィンドウの複数のキャプチャ画像31は、第1のクラスに属する。同一のウィンドウの複数のキャプチャ画像32は、第2のクラスに属する。
一例として、生成部132は、アクティブウィンドウの識別情報に基づいて、キャプチャ画像を、同一のウィンドウごとに収集する。別の例として、生成部132は、キャプチャ画像をクラスタリングしてもよい。すなわち、生成部132は、キャプチャ画像の見た目の類似度に基づいて、キャプチャ画像を分類してもよい。クラスタリングの方法に関しては、例えば、生成部132は、キャプチャ画像のピクセルを使用して、キャプチャ画像をベクトル化してもよい。そして、生成部132は、K-means法等のクラスタリングの手法を使用して、キャプチャ画像を、K個のクラスタに分類してもよい(Kは、任意の自然数)。
図1に戻ると、生成部132は、操作画面のキャプチャ画像から、GUI部品候補の部分画像を抽出する。そして、生成部132は、GUI部品候補の部分画像と、この部分画像の座標に基づいて、グラフ構造を生成する。
生成部132は、同一のウィンドウの複数のキャプチャ画像の各々から、GUI部品候補の部分画像を抽出する。そして、生成部132は、部分画像の座標に基づいて、GUI部品グラフ構造を生成する。このように、生成部132は、操作画面のキャプチャ画像から、GUI部品グラフ構造を生成する。
例えば、生成部132は、操作画面のキャプチャ画像から、枠(例えば、矩形)または文字列の箇所を取得する。生成部132は、例えば、キャプチャ画像のうちの矩形の箇所を、GUI部品候補の部分画像として抽出する。生成部132は、取得された箇所の位置情報に基づいて、GUI部品グラフ構造を生成する。生成部132は、例えば、矩形の箇所の位置に基づいて、GUI部品グラフ構造を生成する。
GUI部品のグラフ構造の生成の一例では、まず、生成部132は、操作画面のキャプチャ画像から枠または文字列の箇所の部分画像と、その部分画像の座標とを取得する。次に、生成部132は、キャプチャ画像を、キャプチャ画像の左上(例えば、座標が(x,y)=(0,0))からキャプチャ画像の右下へと走査し、最も左上に出現する部分画像を特定する。そして、生成部132は、部分画像のy座標および高さhに着目し、人手で設定された閾値tを用いて、(y-t)pxから(y+h+t)pxまでの範囲内に他の部分画像があるかを判定する。この範囲内に他の部分画像があれば、生成部132は、部分画像および他の部分画像をグラフにおいて同一の行にする。さらに、生成部132は、部分画像のx座標に着目し、x座標の小さい順に部分画像を並べ、部分画像をエッジでつなげる。
生成部132は、上記の処理を、全ての部分画像が処理されるまで続ける。最後に、生成部132は、各行のy座標に基づいて、行の順番を決定する。
アプリケーションがブラウザである場合に、生成部132は、HTML情報からGUI部品の状態を直接取得するのではなく、GUI部品候補の画像部分として、テキストラベルの箇所や、テキストボックスの箇所等を取得する。そして、生成部132は、このような箇所の位置情報に基づいて、GUI部品グラフ構造を生成する。アプリケーションがWindows(登録商標)アプリケーションである場合に、生成部132は、UIオートメーションを用いてGUI部品の状態を直接するのではなく、GUI部品候補の画像部分として、テキストラベルの箇所やチェックボックスの箇所、テキストボックスの箇所等を取得する。そして、生成部132は、このような箇所の位置情報に基づいて、GUI部品グラフ構造を生成する。
GUI部品グラフ構造は、GUI部品候補の画像部分がどのように操作画面内に配置されているかを示すグラフ構造である。GUI部品グラフ構造は、GUI部品候補の画像部分を、ノードで表現し、GUI部品候補の画像部分同士間の配置関係を、エッジで表現する。
図4は、GUI部品のグラフ構造を生成する生成処理の一例を示す説明図である。図4の例では、生成部132は、操作画面のキャプチャ画像41aから、GUI部品候補の部分画像51aを抽出する。例えば、生成部132は、操作画面のキャプチャ画像41a矩形または文字列の箇所を抽出する。
図4に示されるように、GUI部品候補の部分画像51aは、テキストラベル、テキストボックス、プルダウンメニュー、ラジオボタン、ボタン等の部分画像を含む。例えば、GUI部品「顧客情報登録画面」は、テキストラベルである。GUI部品「北海道」は、プルダウンメニューである。GUI部品「電電花子」は、テキストボックスである。GUI部品「白丸」は、ラジオボタンである。
図4に示されるように、GUI部品候補の部分画像は、座標に関連付けられている。座標(x,y,w,h)は、GUI部品候補の位置(すなわち、xy座標)、幅および高さを表す。例えば、GUI部品「顧客情報登録画面」の座標は、(200,50,150,15)である。
生成部132は、操作画面のキャプチャ画像から、GUI部品の外観に関する所定の条件を満たす部分画像を、GUI部品候補の部分画像として抽出する。例えば、GUI部品の外観に関する所定の条件は、オブジェクトの形状が枠形状であるという条件である。また、例えば、この所定の条件は、オブジェクトがテキストであるという条件である。例えば、生成部132は、キャプチャ画像から、GUI部品となり得る矩形または文字列を切り出す。さらに、生成部132は、切り出された矩形または文字列の座標(x,y,w,h)を特定する。生成部132は、OpenCV(Open Source Computer Vision Library)、Tesseract等のOCR(Optical Character Recognition)技術を使用することによって、矩形または文字列を切り出すことができる。
図4の例では、生成部132は、GUI部品候補の部分画像51aから、GUI部品グラフ構造61aを生成する。GUI部品グラフ構造61aは、GUI部品候補の部分画像がノードとして表現され、GUI部品候補の部分画像同士の位置関係がエッジとして表現されたデータ構造である。例えば、GUI部品「顧客情報登録画面」は、ノードである。また、GUI部品「案件ID:」およびGUI部品「111111」も、ノードである。GUI部品「案件ID:」をGUI部品「111111」に接続する線は、エッジである。
GUI部品グラフ構造の生成に関しては、はじめに、生成部132は、GUI部品候補の部分画像のy座標および高さhに着目する。複数のGUI部品候補の部分画像のy座標および高さhが予め設定された閾値に該当する場合に、生成部132は、これらの複数のGUI部品候補の部分画像が同じ行に配置されるように、GUI部品グラフ構造を生成する。例えば、閾値が5pxに設定されている場合に、生成部132は、第1のGUI部品候補の画像の行が、y座標が第1のGUI部品候補の画像のy座標から「-5px」から「h+5px」の範囲内の第2のGUI部品候補の画像の行と同一になるように、GUI部品グラフ構造を生成する。
次いで、生成部132は、これらの複数のGUI部品候補の部分画像のx座標に着目する。生成部132は、x座標の大きさに基づいて、同一の行内のGUI部品候補の画像の順番を決定する。
図4の例では、例えば、GUI部品「顧客情報登録画面」のy座標は、「50」である。座標yの値が低いほど、GUI部品は、上位に位置し、y座標の値が大きいほど、GUI部品は、下位に位置する。GUI部品「顧客情報登録画面」のy座標の値は、GUI部品候補の部分画像51aのy座標値の中で最も低い値である。したがって、生成部132は、GUI部品「顧客情報登録画面」、第1の行に配置する。
図4の例では、例えば、GUI部品「案件ID:」およびGUI部品「111111」のy座標は、「120」である。GUI部品「案件ID:」およびGUI部品「111111」のy座標の値は、GUI部品候補の部分画像51aでの2番目に大きいy座標の値である。したがって、生成部132は、GUI部品「案件ID:」およびGUI部品「111111」を、第2の行に配置する。GUI部品「案件ID:」およびGUI部品「111111」は、同一の行に配置されているため、生成部132は、GUI部品「案件ID:」と、GUI部品「111111」とをエッジによって接続する。
(認識部133)
図1に戻ると、認識部133は、生成部132の場合と同様に、ソフトウェアの操作のログを取得するための処理を実行するのに使用される各種情報を生成する。例えば、認識部133は、操作可能なGUI部品として認識されたGUI部品の配置に関する見本配置データを生成する。認識部133は、見本配置データとして、GUI部品をノードで表現し、GUI部品の配置関係をエッジで表現する見本グラフ構造を生成する。例えば、認識部133は、見本グラフ構造として、後述する見本GUI部品グラフ構造を生成する。認識部133は、生成された見本配置データを、見本配置データ記憶部123に格納する。
認識部133は、生成部132によって生成された配置データを取得する。例えば、認識部133は、配置データ記憶部122から、生成部132によって生成された配置データを取得する。
認識部133は、生成部132によって生成された配置データとして、GUI部品グラフ構造を取得する。より具体的には、認識部133は、生成部132によって複数のキャプチャ画像から生成された複数のGUI部品グラフ構造を取得する。そして、認識部133は、複数のGUI部品グラフ構造を比較する。認識部133は、比較結果に基づいて、GUI部品のグラフ構造から操作のあるGUI部品のノードに固有のIDを付与する。これより、認識部133は、見本GUI部品グラフ構造を生成する。見本GUI部品グラフ構造は、操作可能なGUI部品の配置箇所の見本となるグラフ構造である。
認識部133は、同一の操作画面(すなわち、ウィンドウ)を横並びで見ることによって、画像部分(例えば、矩形)が変化する箇所を、操作箇所として特定する。そして、認識部133は、特定された操作箇所に固有のIDを付与することによって、見本GUI部品グラフ構造を生成する。
例えば、認識部133は、GUI部品候補の画像部分の変化が生じる箇所を、操作可能なGUI部品が配置される箇所として特定する。そして、認識部133は、特定された箇所に固有のIDを割り当てることによって、操作画面(すなわち、ウィンドウ)ごとの見本GUI部品グラフ構造を生成する。
認識部133は、同一の操作画面(すなわち、同一のウィンドウ)のグラフ構造を横並びに見ることによって、画像部分の変化がある箇所を、操作可能なGUI部品の箇所として特定する。例えば、テキストラベルの箇所は、画像部分の変化がない箇所である。一方、テキストボックスの箇所は、画像部分の変化がある箇所である。この場合、認識部133は、テキストボックスの箇所に、固有のIDを割り当てる。認識部133は、テキストボックス、ラジオボタン、ボタン等の、画像部分の変化がある箇所に固有のIDを割り当てることによって、見本GUI部品グラフ構造を生成する。
図5は、GUI部品のグラフ構造から操作のあるGUI部品のノードに固有のIDを付与する付与処理の一例を示す説明図である。図5の例では、認識部133は、同一の操作画面(すなわち、同一のウィンドウ)に対応する複数の操作画面の複数のGUI部品グラフ構造を重ね合わせることによって、操作が行われるGUI部品を識別する。すなわち、認識部133は、複数のGUI部品グラフ構造を重ね合わせ、GUI部品が変化した配置箇所を特定する。
図5の例では、GUI部品グラフ構造61a、GUI部品グラフ構造62a、GUI部品グラフ構造63aおよびGUI部品グラフ構造64aは、操作画面のキャプチャ画像41a、操作画面のキャプチャ画像42a、操作画面のキャプチャ画像43aおよび操作画面のキャプチャ画像44aから、生成部132によってそれぞれ生成される。認識部133は、GUI部品グラフ構造61a、GUI部品グラフ構造62a、GUI部品グラフ構造63aおよびGUI部品グラフ構造64aを、横通して見ることによって、色や入力値が変化するGUI部品を、操作可能なGUI部品として認識する。
例えば、GUI部品グラフ構造61a、GUI部品グラフ構造62a、GUI部品グラフ構造63aおよびGUI部品グラフ構造64aでは、GUI部品は、GUI部品「顧客情報登録画面」が配置された箇所で変化しない。一方、GUI部品は、GUI部品「電電花子」またはGUI部品「山田太郎」が配置された箇所で変化する。認識部133は、このようなGUI部品の変化から、操作のあるGUI部品を特定する。
認識部133は、操作可能なGUI部品として認識されたGUI部品が配置された箇所に、固有のIDを付与する。図5の例では、認識部133は、GUI部品「635498」の配置箇所、GUI部品「山田太郎」の配置箇所、GUI部品「神奈川」の配置箇所、GUI部品「横須賀市滝川町・・・」の配置箇所、GUI部品「黒丸」の配置箇所、GUI部品「白丸」の配置箇所、GUI部品「保存」の配置箇所およびGUI部品「登録」の配置箇所に、ID「1」、ID「2」、ID「3」、ID「4」、ID「5」、ID「6」、ID「7」およびID「8」をそれぞれ付与する。
固有のIDの付与に関しては、例えば、認識部133は、複数のGUI部品グラフ構造から、代表のGUI部品グラフ構造を抽出する。認識部133は、代表のGUI部品グラフ構造と、残りのGUI部品グラフ構造とのマッチング問題を解くことによって、最も共通するグラフ構造を見つける。認識部133は、各種グラフマッチングアルゴリズムを使用して、最も共通するグラフ構造を見つけることができる。
認識部133が最も共通するグラフ構造を見つけた場合に、認識部133は、対応する箇所のGUI部品同士が一致するかを確認する。例えば、認識部133は、画像または文字列の一致を確認する。対応する箇所のGUI部品同士が一致しない場合に、認識部133は、この箇所に配置されたGUI部品が操作可能なGUI部品であると判定する。そして、認識部133は、この箇所に固有のIDを付与する。
認識部133は、GUI部品が変化した配置箇所に固有のIDを付与することによって、見本GUIグラフ構造を生成する。認識部133は、生成された見本GUIグラフ構造を、見本配置データ記憶部123に格納する。また、認識部133は、配置箇所に付与された固有のIDを、見本配置データ記憶部123に格納する。加えて、認識部133は、アクティブウィンドウの識別情報を、見本配置データ記憶部123に格納してもよい。このように、認識部133は、固有のIDが配置箇所に付与されたグラフ構造を、見本GUI部品グラフ構造として、データベース(例えば、見本配置データ記憶部123)に登録する。
(特定部134)
図1に戻ると、特定部134は、ソフトウェアの操作に関する各種情報を特定する。例えば、特定部134は、アプリケーションの操作画面(すなわち、ウィンドウ)に配置されたGUI部品に対する操作に関する情報を特定する。
特定部134は、ユーザの操作イベントを取得する。そして、特定部134は、取得された操作イベントごとに、操作画面に配置されたGUI部品のうちのどれが取得された操作イベントに対応するかを決定する。特定部134は、操作イベントを、端末装置200から取得する。特定部134は、操作データ記憶部121から、操作イベントを取得してもよい。
特定部134は、取得部131の場合と同様に、各種操作イベントに関する情報を取得する。例えば、特定部134は、操作イベントに関する情報として、イベントの種別(クリック、キー)、操作イベントの位置、アクティブウィンドウの識別情報およびウィンドウのキャプチャ画像等の情報を取得する。
特定部134は、操作イベントで取得された、操作画面のキャプチャ画像から、GUI部品グラフ構造を生成する。特定部134は、見本配置データ記憶部123に記憶された見本GUI部品グラフ構造のうち、生成されたGUI部品グラフ構造に最も類似する見本GUI部品グラフ構造を抽出する。そして、特定部134は、操作の発生位置に基づいて、見本グラフ構造から操作箇所(例えば、矩形の箇所)を特定する。特定部134は、見本GUI部品グラフ構造から、操作箇所に対応する固有のIDを取得する。このようにして、特定部134は、操作イベントの発生位置から、操作のあるGUI部品を特定する。
例えば、はじめに、特定部134は、操作イベントの取得処理で取得された操作イベント(例えば、取得部131によって取得された操作イベント)を、時系列に見ていく。特定部134は、時系列の操作イベントごとの操作画面のキャプチャ画像から、GUI部品が操作された操作箇所を特定する。特定部134は、操作画面のキャプチャ画像から、GUI部品グラフ構造を新たに生成する。そして、特定部134は、各操作イベントにおける操作の発生箇所に基づいて、新たに生成されたGUI部品グラフ構造から、GUI部品が操作された操作箇所を特定する。すなわち、特定部134は、新たに生成されたGUI部品グラフ構造のうちのどのGUI部品が操作されたかを特定する。
次いで、特定部134は、新たに生成されたGUI部品グラフ構造と、見本配置データ記憶部123に記憶された見本GUI部品グラフ構造とを比較することによって、操作箇所に配置されたGUI部品を特定する。特定部134は、見本GUI部品グラフ構造に含まれる固有のIDから、新たに生成されたGUI部品グラフ構造から特定された操作箇所に対応する固有IDを取得する。そして、特定部134は、取得された固有IDに基づいて、特定された操作箇所に配置されたGUI部品が何であるかを特定する。例えば、取得された固有ID「7」がボタンに割り当てられている場合に、特定部134は、操作されたGUI部品がボタンであることを特定する。
図6は、キャプチャ画像および操作イベントから操作箇所のGUI部品を特定するGUI部品特定処理の一例を示す説明図である。図6の例では、はじめに、特定部134は、操作イベント81と、操作画面のキャプチャ画像82とを取得する。図6に示されるように、操作イベント81の発生位置のX座標は、220pxである。また、操作イベント81の発生位置のY座標は、610pxである。キャプチャ画像82は、顧客情報登録画面のキャプチャ画像である。
次いで、特定部134は、操作画面のキャプチャ画像82から、枠(例えば、矩形)および文字列の箇所を抽出する。図6に示されるように、特定部134は、生成部132の場合と同様に、操作画面のキャプチャ画像82から、GUI部品候補の部分画像83を抽出する。そして、特定部134は、GUI部品候補の部分画像83のうちのどれが、操作イベントのGUI部品に対応するかを決定するために、GUI部品候補の部分画像83から、GUI部品グラフ構造84を生成する。特定部134は、操作イベントの座標に基づいて、GUI部品候補の配置箇所のうちのどれが操作箇所に対応するかを決定する。
図6の例では、特定部134は、GUI部品「保存」の配置箇所が操作Oに対応することを特定する。GUI部品「保存」の配置箇所は、操作イベントの発生位置を含む。特定部134は、操作イベントの発生位置から、操作イベントが発生したGUI部品の箇所を特定する。図6の例では、操作イベント81の発生位置の座標「X:220px,Y:610px」は、GUI部品「保存」の配置箇所内に存在する。このため、特定部134は、操作イベントが発生したGUI部品の箇所として、GUI部品「保存」の配置箇所を特定する。
図1に戻ると、特定部134は、データベース(例えば、見本配置データ記憶部123)に登録された見本GUI部品グラフ構造の中から、生成されたGUI部品グラフ構造に対応する見本GUI部品グラフ構造を特定する。そして、特定部134は、特定された見本GUI部品グラフ構造の中から、操作イベントが発生したGUI部品に対応する配置箇所を特定し、特定された配置箇所に付与された固有のIDを特定する。
見本GUI部品グラフ構造の特定に関しては、一例として、特定部134は、識別情報が対象とする(すなわち、ターゲットの)操作イベントのアクティブウィンドウの識別情報と一致する見本GUI部品グラフ構造を特定する。別の例として、特定部134は、対象とする操作イベントから生成されたGUI部品グラフ構造と、データベース(例えば、見本配置データ記憶部123)内の見本GUI部品グラフ構造とのグラフマッチング問題を解くことによって、最大共通部分グラフを抽出する。例えば、特定部134は、編集距離を使用したアルゴリズムに従って、編集距離が最も小さい見本GUI部品グラフ構造を特定する。あるいは、特定部134は、編集距離が設定された閾値以下の見本GUI部品グラフ構造を特定する。
固有のIDの特定に関しては、一例として、特定部134は、対象となる操作イベントのキャプチャ画像から生成されたGUI部品グラフ構造と、上述の特定された見本GUI部品グラフ構造とのグラフマッチング問題を解くことによって、最大共通部分グラフを抽出する。この場合、対象となる操作イベントのGUI部品グラフ構造および見本GUI部品グラフ構造に共通する箇所のGUI部品の対応関係を、処理結果として取得することが望ましい。そして、特定部134は、予め特定された操作箇所のGUI部品に対応する見本GUI部品グラフ構造に付与された固有のIDを、この操作箇所の固有のIDとして取得する。固有のIDが対応する見本GUI部品グラフ構造に付与されていない場合に、見本GUI部品グラフ構造内の配置箇所は、操作箇所ではない。この場合、特定部134は、操作ログを生成しない。
図7は、操作箇所の固有のIDを特定する固有ID特定処理の一例を示す説明図である。図7の例では、特定部134は、図6を参照して上述したGUI部品グラフ構造84と、見本配置データ記憶部123に記憶された見本GUI部品グラフ構造との一致度に基づいて、GUI部品グラフ構造84との共通性が高い見本GUI部品グラフ構造を特定する。
例えば、特定部134は、グラフマッチング問題の手法を使用して、GUI部品グラフ構造84との共通性が高い見本GUI部品グラフ構造を特定する。例えば、特定部134は、編集距離を使用したアルゴリズムを使用して、複数の見本GUI部品グラフ構造70に含まれる見本GUI部品グラフ構造70aおよび見本GUI部品グラフ構造70bの編集距離を算出する。そして、特定部134は、編集距離が最も小さい見本GUI部品グラフ構造を特定する。あるいは、特定部134は、編集距離が設定された閾値以下の見本GUI部品グラフ構造を特定する。
図7の例では、例えば、特定部134は、各ノードの記載内容を考慮せずに、グラフ構造に基づいて編集距離を算出する。例えば、GUI部品グラフ構造84および見本GUI部品グラフ構造70aを、上から順にみて、ノードの構造同士を比較する。GUI部品グラフ構造84の1行目から9行目までのノードの構造は、見本GUI部品グラフ構造70aの1行目から9行目までのノードの構造と一致する。したがって、見本GUI部品グラフ構造70aの編集距離は、「0」である。
一方、GUI部品グラフ構造84の1行目から5行目までのノードの構造は、見本GUI部品グラフ構造70bの1行目から5行目までのノードの構造と一致する。しかしながら、GUI部品グラフ構造84の6行目では、ノードの数は「3」であり、見本GUI部品グラフ構造70bの6行目では、ノードの数は「4」である。したがって、6行目における編集距離は、「1」である。GUI部品グラフ構造84の7行目では、ノードの数は「2」であり、見本GUI部品グラフ構造70bの7行目では、ノードの数は「3」である。したがって、7行目における編集距離は、「1」である。GUI部品グラフ構造84の8行目では、ノードの数は「2」であり、見本GUI部品グラフ構造70bの8行目では、ノードの数は「2」である。したがって、8行目における編集距離は、「0」である。GUI部品グラフ構造84の9行目では、ノードの数は「3」であるが、見本GUI部品グラフ構造70bの9行目には、ノードが存在しない。したがって、9行目における編集距離は、「3」である。特定部134は、これらの編集距離の和をとり、見本GUI部品グラフ構造70bの編集距離として、「5」を算出する。
なお、特定部134は、各ノードの記載内容を考慮して、編集距離を算出してもよい。特定部134は、ノードの構造と、ノードの記載内容とに基づいて、見本GUI部品グラフ構造の編集距離を算出してもよい。例えば、特定部134は、OCRを使用して、各ノードの記載内容を、テキストとして取得してもよい。そして、特定部134は、取得された文字列を比較してもよい。文字列同士が異なる場合に、特定部134は、編集距離をインクリメントしてもよい。テキストによる比較では、例えば、特定部134は、文字列の編集距離を算出してもよい。
また、特定部134は、ノードの画像部分を比較してもよい。これらの画像部分が互いに異なる場合に、特定部134は、編集距離をインクリメントしてもよい。例えば、特定部134は、画像部分をベクトルで表現する。そして、特定部134は、ベクトル間の類似度を算出する。算出された類似度が閾値以上である場合に、特定部134は、これらの画像部分が同一であると判定する。算出された類似度が閾値未満である場合に、これらの画像部分は互いに異なると判定する。
図7の例では、特定部134は、GUI部品グラフ構造84との共通性が高い見本GUI部品グラフ構造として、見本GUI部品グラフ構造70aを特定する。特定部134は、グラフマッチングの問題によって、GUI部品グラフ構造84の各GUI部品の配置箇所に対応する配置箇所を、見本GUI部品グラフ構造70aから特定する。図7の例では、ID「7」が、ID「1」、ID「2」、ID「3」、ID「4」、ID「5」、ID「6」、ID「7」およびID「8」の中から、操作Oに対応する配置箇所の固有のIDとして特定される。図5を参照して上述したように、ID「7」は、GUI部品「保存」の配置箇所に付与されている。言い換えると、取得された固有ID「7」がボタン「保存」に割り当てられている。このため、特定部134は、操作OがGUI部品「保存」に対する操作であることを特定することができる。また、特定部134は、操作されたGUI部品がボタン「保存」であることを特定することができる。
(判定部135)
図1に戻ると、判定部135は、ソフトウェアの操作に関する各種情報を記録するかを判定する。判定部135は、操作イベントに変化があるかを判定する。判定部135は、時系列順に操作イベントを見ていくことによって、前の操作イベントが操作対象のGUI部品と異なるかを判定する。例えば、判定部135は、特定部134によって取得された操作イベントを、イベントの発生時間の順に処理する。そして、判定部135は、対象とする操作イベントの操作箇所が前に発生した操作イベントの操作箇所と異なるかを判定する。
例えば、判定部135は、操作イベントと、この操作イベントの直前に発生した前の操作イベントとを比較し、比較結果に基づいて、操作箇所のGUI部品が互いに異なるかを判定する。より具体的には、判定部135は、操作に対応する配置箇所の固有のIDが前の操作に対応する配置箇所の固有のIDと一致するかを判定する。これにより、判定部135は、操作イベントに変化があるかを判定する。
(記録部136)
記録部136は、ソフトウェアの操作に関する各種情報を記録する。判定部135がソフトウェアの操作に関する各種情報を記録すると判定した場合に、記録部136は、各種情報を記録する。例えば、記録部136は、ソフトウェアの操作のログに関するログデータを、ログデータ記憶部124に記憶する。
判定部135が、対象とする操作イベントの操作箇所が前に発生した操作イベントの操作箇所と異なると判定した場合に、記録部136は、対象とする操作イベントを、操作ログ(例えば、ログデータ記憶部124)に記録する。例えば、操作箇所のGUI部品が互いに異なる場合に、記録部136は、操作イベントを、操作ログとして記録する。より具体的には、操作に対応する配置箇所の固有のIDが前の操作に対応する配置箇所の固有のIDと一致しない場合に、操作イベントを、操作ログとして記録する。このように、記録部136は、操作イベントに変化がある場合に、操作イベントを操作ログに記録する。
〔3.操作ログ取得処理のフロー〕
次に、図8、図9および図10を参照して、実施形態に係るデータ処理装置100による操作ログ取得処理の手順について説明する。
図8は、実施形態に係るデータ処理装置100によって実行される、操作イベントを取得するための処理の一例を示すフローチャートである。
図8に示されるように、はじめに、データ処理装置100の取得部131は、ユーザが処理を停止した、または端末装置200の電源を落としたかを判定する(ステップS101)。
ユーザが処理を停止しておらず、かつ端末装置200の電源を落としていないと判定された場合に(ステップS101:No)、取得部131は、操作イベントを取得する(ステップS102)。例えば、取得部131は、操作イベントとして、操作の発生時間、イベント種別、操作の発生箇所およびウィンドウのキャプチャ画像を取得する。そして、取得部131は、再度ステップS101を実行する。
ユーザが処理を停止した、または端末装置200の電源を落としたと判定された場合に(ステップS101:Yes)、操作イベントを取得するための処理は終了する。
図9は、実施形態に係るデータ処理装置100によって実行される、見本GUIグラフ構造を生成するための処理の一例を示すフローチャートである。
図9に示されるように、はじめに、データ処理装置100の生成部132は、取得部131によって取得された、同一のウィンドウのキャプチャ画像を収集し、GUI部品のグラフ構造を作成する(ステップS201)。例えば、生成部132は、GUI部品候補の画像部分の位置に基づいて、GUI部品のグラフ構造を生成する。
次いで、データ処理装置100の認識部133は、同一のウィンドウのキャプチャ画像を横通しで見ていき、生成部132によって生成されたGUI部品のグラフ構造から、操作のあるGUI部品を特定する(ステップS202)。例えば、認識部133は、グラフ構造から、操作のあるGUI部品の配置箇所を特定する。
次いで、認識部133は、操作のあるGUIに固有のIDを付与する(ステップS203)。例えば、認識部133は、操作のあるGUI部品の配置箇所に、固有のIDを付与する。一例として、認識部133は、同一のウィンドウのグラフ構造同士を比較することによって、操作可能なGUI部品の配置箇所の見本として、上述の見本GUI部品グラフ構造を生成する。
次いで、認識部133は、GUI部品のグラフ構造と、固有のIDとをデータベースに登録する(ステップS204)。例えば、認識部133は、複数のGUI部品のグラフ構造と、複数のGUI部品のグラフ構造から生成された見本GUI部品グラフ構造を、見本配置データ記憶部123に記憶する。
図10は、実施形態に係るデータ処理装置100によって実行される、操作ログを生成するための処理の一例を示すフローチャートである。
図10に示されるように、はじめに、データ処理装置100の特定部134は、全ての操作イベントがターゲットとされたかを判定する(ステップS301)。
全ての操作イベントがターゲットとされたと判定された場合に(ステップS301:Yes)、操作ログを生成するための処理は終了する。
全ての操作イベントがターゲットとされていないと判定された場合に(ステップS301:No)、特定部134は、ターゲットとする操作イベントを決定する(ステップS302)。
次いで、特定部134は、操作イベントの操作位置と、操作画面から抽出されたGUI部品のグラフ構造とから、操作箇所のGUI部品を特定する(ステップS303)。
次いで、特定部134は、データベースから、GUI部品のグラフ構造と共通性の高い見本GUI部品グラフ構造を特定し、操作箇所のGUI部品に対応するノードを特定する(ステップS304)。
例えば、特定部134は、見本配置データ記憶部123から、GUI部品のグラフ構造との共通性が最も高い見本GUI部品グラフ構造を特定する。あるいは、特定部134は、見本配置データ記憶部123から、グラフ構造の共通度が閾値を満たす見本GUI部品グラフ構造を特定する。一例として、特定部134は、見本配置データ記憶部123から、編集距離が閾値以下の見本GUI部品グラフ構造を特定する。
次いで、特定部134は、固有のIDが特定されたノードに付与されているかを判定する(ステップS305)。
固有のIDが特定されたノードに付与されていないと判定された場合に(ステップS305:No)、特定部134は、再度ステップS301を実行する。
固有のIDが特定されたノードに付与されていると判定された場合に(ステップS305:Yes)、データ処理装置100の判定部135は、GUI部品への操作が前の操作イベントと異なるかを判定する(ステップS306)。
GUI部品への操作が前の操作イベントと同じであると判定された場合に(ステップS306:No)、特定部134は、再度ステップS301を実行する。
GUI部品への操作が前の操作イベントと異なると判定された場合に(ステップS306:Yes)、データ処理装置100の記録部136は、GUI部品への操作を、操作ログとして出力する(ステップS307)。そして、特定部134は、再度ステップS301を実行する。
なお、図9を参照して上述した「見本GUIグラフ構造を生成するための処理」は、図10を参照して上述した「操作ログを生成するための処理」と同じプロセスにおいて実行されてもよい。この場合、ステップS202、ステップ203およびステップS204は、ステップS301の前に実行される。
〔4.その他〕
上記実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の一部を手動的に行うこともできる。あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部又は任意の一部が、CPU及び当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
例えば、図1に示した記憶部120の一部又は全部は、データ処理装置100によって保持されるのではなく、ストレージサーバ等に保持されてもよい。この場合、データ処理装置100は、ストレージサーバにアクセスすることで、操作データ等の各種情報を取得する。
〔5.ハードウェア構成〕
図11は、ハードウェア構成の一例を示す図である。上述してきた実施形態に係るデータ処理装置100は、例えば図11に示すような構成のコンピュータ1000によって実現される。
図11は、プログラムが実行されることにより、データ処理装置100が実現されるコンピュータの一例を示している。コンピュータ1000は、例えば、メモリ1010、CPU1020を有する。また、コンピュータ1000は、ハードディスクドライブインタフェース1030、ディスクドライブインタフェース1040、シリアルポートインタフェース1050、ビデオアダプタ1060、ネットワークインタフェース1070を有する。これらの各部は、バス1080によって接続される。
メモリ1010は、ROM(Read Only Memory)1011及びRAM1012を含む。ROM1011は、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース1030は、ハードディスクドライブ1090に接続される。ディスクドライブインタフェース1040は、ディスクドライブ1100に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ1100に挿入される。シリアルポートインタフェース1050は、例えばマウス1110、キーボード1120に接続される。ビデオアダプタ1060は、例えばディスプレイ1130に接続される。
ハードディスクドライブ1090は、例えば、OS(Operating System)1091、アプリケーションプログラム1092、プログラムモジュール1093、プログラムデータ1094を記憶する。すなわち、データ処理装置100の各処理を規定するプログラムは、コンピュータ1000により実行可能なコードが記述されたプログラムモジュール1093として実装される。プログラムモジュール1093は、例えばハードディスクドライブ1090に記憶される。例えば、データ処理装置100における機能構成と同様の処理を実行するためのプログラムモジュール1093が、ハードディスクドライブ1090に記憶される。なお、ハードディスクドライブ1090は、SSD(Solid State Drive)により代替されてもよい。
また、上述した実施の形態の処理で用いられる設定データは、プログラムデータ1094として、例えばメモリ1010やハードディスクドライブ1090に記憶される。そして、CPU1020が、メモリ1010やハードディスクドライブ1090に記憶されたプログラムモジュール1093やプログラムデータ1094を必要に応じてRAM1012に読み出して実行する。
なお、プログラムモジュール1093やプログラムデータ1094は、ハードディスクドライブ1090に記憶される場合に限らず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ1100等を介してCPU1020によって読み出されてもよい。あるいは、プログラムモジュール1093及びプログラムデータ1094は、ネットワーク(LAN、WAN等)を介して接続された他のコンピュータに記憶されてもよい。そして、プログラムモジュール1093及びプログラムデータ1094は、他のコンピュータから、ネットワークインタフェース1070を介してCPU1020によって読み出されてもよい。
〔6.効果〕
上述してきたように、実施形態に係るデータ処理装置100は、取得部131と、生成部132と、認識部133とを有する。
実施形態に係るデータ処理装置100において、取得部131は、ウィンドウの複数の画像を取得する。また、実施形態に係るデータ処理装置100において、生成部132は、取得部131によって取得された複数の画像の各々から、GUI部品候補の画像部分を抽出し、取得された画像ごとに、抽出された画像部分が配置される配置場所に関する配置データを生成する。また、実施形態に係るデータ処理装置100において、認識部133は、生成部132によって生成された複数の配置データについて、配置場所が互いに対応する所定のGUI部品候補の画像部分同士を比較し、当該所定のGUI部品候補の画像部分が互いに異なる場合に、この所定のGUI部品候補を、操作可能なGUI部品として認識する。
これにより、実施形態に係るデータ処理装置100は、操作ログを容易に収集することができる。
また、実施形態に係るデータ処理装置100において、生成部132は、取得部131によって取得された複数の画像から、同一のウィンドウの複数の画像を収集し、収集された各画像から、GUI部品候補の画像部分を抽出し、収集された画像ごとに、配置データを生成する。
これにより、実施形態に係るデータ処理装置100は、ウィンドウにおいて操作可能なGUI部品をウィンドウの画像から特定することができるので、アプリケーションに依らずに、操作ログを容易に収集することができる。
また、実施形態に係るデータ処理装置100において、認識部133は、複数の配置データに基づいて、操作可能なGUI部品として認識された所定のGUI部品候補が配置される配置場所に関する見本配置データを生成する。
これにより、実施形態に係るデータ処理装置100は、GUI部品の画像部分の拡縮に対して頑健な操作認識を行うことができる。
また、実施形態に係るデータ処理装置100は、操作イベントが発生した所定のウィンドウの画像から生成された配置データと、生成部132によって生成された見本配置データとを比較し、見本配置データから、この操作イベントが発生した位置に対応する配置場所を特定し、特定された配置場所に配置されたGUI部品が操作されたことを特定する特定部134を有する。
これにより、実施形態に係るデータ処理装置100は、ウィンドウから操作ログを自動的に収集することができる。
また、実施形態に係るデータ処理装置100において、生成部132は、配置データとして、GUI部品候補の画像部分をノードで表現し、GUI部品候補の画像部分の配置関係をエッジで表現するグラフ構造を生成する。また、実施形態に係るデータ処理装置100において、認識部133は、生成部132によって生成された複数のグラフ構造を比較し、比較結果に基づいて、見本配置データとして、GUI部品をノードで表現し、GUI部品の配置関係をエッジで表現する見本グラフ構造を生成する。また、実施形態に係るデータ処理装置100において、特定部134は、操作イベントが発生した所定のウィンドウの画像から生成されたグラフ構造と、見本グラフ構造との類似度を算出し、算出された類似度が閾値を満たす場合に、見本グラフ構造から、操作イベントが発生した位置に対応する配置場所を特定する。
これにより、実施形態に係るデータ処理装置100は、操作ログを収集する仕組みをアプリケーションごとに開発することなく、共通的に操作ログを収集することができる。
以上、本願の実施形態のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、本発明を特定の例に限定するものではない。本明細書に記載された特徴は、発明を実施するための形態の欄に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で実施されることが可能である。
また、上述したデータ処理装置100は、複数のサーバコンピュータで実現してもよく、また、機能によっては外部のプラットフォーム等をAPI(Application Programming Interface)やネットワークコンピューティングなどで呼び出して実現するなど、構成は柔軟に変更できる。
また、上述してきた「部(section、module、unit)」は、「手段」や「回路」などに読み替えることができる。例えば、認識部は、認識手段や認識回路に読み替えることができる。
1 操作ログ取得システム
100 データ処理装置
110 通信部
120 記憶部
121 操作データ記憶部
122 配置データ記憶部
123 見本配置データ記憶部
124 ログデータ記憶部
130 制御部
131 取得部
132 生成部
133 認識部
134 特定部
135 判定部
136 記録部
200 端末装置

Claims (7)

  1. ウィンドウの複数の画像を取得する取得部と、
    前記取得部によって取得された複数の画像の各々から、GUI部品候補の画像部分を抽出し、取得された画像ごとに、抽出された画像部分が配置される配置場所に関する配置データを生成する生成部と、
    前記生成部によって生成された複数の配置データについて、配置場所が互いに対応する所定のGUI部品候補の画像部分同士を比較し、当該所定のGUI部品候補の画像部分が互いに異なる場合に、当該所定のGUI部品候補を、操作可能なGUI部品として認識する認識部と
    を備えることを特徴とするデータ処理装置。
  2. 前記生成部は、前記取得部によって取得された複数の画像から、同一のウィンドウの複数の画像を収集し、収集された各画像から、前記GUI部品候補の画像部分を抽出し、収集された画像ごとに、前記配置データを生成する
    ことを特徴とする請求項1に記載のデータ処理装置。
  3. 前記認識部は、前記複数の配置データに基づいて、操作可能なGUI部品として認識された前記所定のGUI部品候補が配置される配置場所に関する見本配置データを生成する
    ことを特徴とする請求項1又は2に記載のデータ処理装置。
  4. 操作イベントが発生した所定のウィンドウの画像から生成された前記配置データと、前記生成部によって生成された見本配置データとを比較し、前記見本配置データから、当該操作イベントが発生した位置に対応する配置場所を特定し、特定された配置場所に配置されたGUI部品が操作されたことを特定する特定部をさらに備える
    ことを特徴とする請求項3に記載のデータ処理装置。
  5. 前記生成部は、前記配置データとして、GUI部品候補の画像部分をノードで表現し、GUI部品候補の画像部分の配置関係をエッジで表現するグラフ構造を生成し、
    前記認識部は、前記生成部によって生成された複数のグラフ構造を比較し、比較結果に基づいて、前記見本配置データとして、GUI部品をノードで表現し、GUI部品の配置関係をエッジで表現する見本グラフ構造を生成し、
    前記特定部は、前記操作イベントが発生した前記所定のウィンドウの画像から生成された前記グラフ構造と、前記見本グラフ構造との類似度を算出し、算出された類似度が閾値を満たす場合に、前記見本グラフ構造から、前記操作イベントが発生した位置に対応する配置場所を特定する
    ことを特徴とする請求項4に記載のデータ処理装置。
  6. コンピュータが実行するデータ処理方法であって、
    ウィンドウの複数の画像を取得する取得工程と、
    前記取得工程によって取得された複数の画像の各々から、GUI部品候補の画像部分を抽出し、取得された画像ごとに、抽出された画像部分が配置される配置場所に関する配置データを生成する生成工程と、
    前記生成工程によって生成された複数の配置データについて、配置場所が互いに対応する所定のGUI部品候補の画像部分同士を比較し、当該所定のGUI部品候補の画像部分が互いに異なる場合に、当該所定のGUI部品候補を、操作可能なGUI部品として認識する認識部と
    を含むことを特徴とするデータ処理方法。
  7. ウィンドウの複数の画像を取得する取得手順と、
    前記取得手順によって取得された複数の画像の各々から、GUI部品候補の画像部分を抽出し、取得された画像ごとに、抽出された画像部分が配置される配置場所に関する配置データを生成する生成手順と、
    前記生成手順によって生成された複数の配置データについて、配置場所が互いに対応する所定のGUI部品候補の画像部分同士を比較し、当該所定のGUI部品候補の画像部分が互いに異なる場合に、当該所定のGUI部品候補を、操作可能なGUI部品として認識する認識手順と
    をコンピュータに実行させることを特徴とするデータ処理プログラム。
JP2022547346A 2020-09-11 2020-09-11 データ処理装置、データ処理方法及びデータ処理プログラム Active JP7420268B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2020/034608 WO2022054262A1 (ja) 2020-09-11 2020-09-11 データ処理装置、データ処理方法及びデータ処理プログラム

Publications (2)

Publication Number Publication Date
JPWO2022054262A1 JPWO2022054262A1 (ja) 2022-03-17
JP7420268B2 true JP7420268B2 (ja) 2024-01-23

Family

ID=80631441

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022547346A Active JP7420268B2 (ja) 2020-09-11 2020-09-11 データ処理装置、データ処理方法及びデータ処理プログラム

Country Status (3)

Country Link
US (1) US20230343084A1 (ja)
JP (1) JP7420268B2 (ja)
WO (1) WO2022054262A1 (ja)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012221318A (ja) 2011-04-11 2012-11-12 Toshiba Corp シナリオ生成装置およびシナリオ生成プログラム

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012221318A (ja) 2011-04-11 2012-11-12 Toshiba Corp シナリオ生成装置およびシナリオ生成プログラム

Also Published As

Publication number Publication date
WO2022054262A1 (ja) 2022-03-17
JPWO2022054262A1 (ja) 2022-03-17
US20230343084A1 (en) 2023-10-26

Similar Documents

Publication Publication Date Title
US9274742B2 (en) Visual-symbolic control of remote devices having display-based user interfaces
US8396964B2 (en) Computer application analysis
US10769427B1 (en) Detection and definition of virtual objects in remote screens
CN113748413B (zh) 文本检测、***符号追踪以及活动元素检测
US20220206923A1 (en) Operation logs visualization device, operation logs visualization method and operation logs visualization program
CN112835579A (zh) 确定界面代码的方法、装置、电子设备和存储介质
US11195004B2 (en) Method and system for extracting information from document images
CN114205216A (zh) 微服务故障的根因定位方法、装置、电子设备和介质
JP7380714B2 (ja) 操作ログ取得装置および操作ログ取得方法
CN112930538B (zh) 文本检测、***符号追踪以及活动元素检测
JP7235110B2 (ja) 操作ログ取得装置、操作ログ取得方法および操作ログ取得プログラム
JP7420268B2 (ja) データ処理装置、データ処理方法及びデータ処理プログラム
US11710313B2 (en) Generating event logs from video streams
CN115631374A (zh) 控件操作方法、控件检测模型的训练方法、装置和设备
US11704362B2 (en) Assigning case identifiers to video streams
EP3905131A1 (en) Text detection, caret tracking, and active element detection
WO2022168331A1 (ja) 操作ログ生成装置および操作ログ生成方法
WO2023105696A1 (ja) 情報付与装置、情報付与方法及び情報付与プログラム
JP7295291B2 (ja) 操作ログ解析装置、操作ログ解析方法及びプログラム
WO2023135772A1 (ja) 情報処理装置、情報処理方法および情報処理プログラム
US20230282013A1 (en) Automated key-value pair extraction
US20240153241A1 (en) Classification device, classification method, and classification program
US20210157952A1 (en) Systems and methods for privacy-preserving summarization of digital activity
CN113392014A (zh) 测试用例生成方法、装置、电子设备和介质
CN114253601A (zh) 一种原理图生成方法、装置、电子设备和存储介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230105

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20231212

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20231225

R150 Certificate of patent or registration of utility model

Ref document number: 7420268

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150