JP5413198B2 - ユーザインタフェース認識装置、ユーザインタフェース認識方法およびプログラム - Google Patents

ユーザインタフェース認識装置、ユーザインタフェース認識方法およびプログラム Download PDF

Info

Publication number
JP5413198B2
JP5413198B2 JP2009542601A JP2009542601A JP5413198B2 JP 5413198 B2 JP5413198 B2 JP 5413198B2 JP 2009542601 A JP2009542601 A JP 2009542601A JP 2009542601 A JP2009542601 A JP 2009542601A JP 5413198 B2 JP5413198 B2 JP 5413198B2
Authority
JP
Japan
Prior art keywords
information
user interface
search
unit
component
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.)
Expired - Fee Related
Application number
JP2009542601A
Other languages
English (en)
Other versions
JPWO2009066762A1 (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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP2009542601A priority Critical patent/JP5413198B2/ja
Publication of JPWO2009066762A1 publication Critical patent/JPWO2009066762A1/ja
Application granted granted Critical
Publication of JP5413198B2 publication Critical patent/JP5413198B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)

Description

本発明は、主にアプリケーションが出力するユーザインタフェースの構造を認識するユーザインタフェース認識システムに関し、特にユーザインタフェースの表示が変化した場合にも構造を認識できるユーザインタフェース認識装置及びユーザインタフェース認識方法に関する。
従来、ワールドワイドウェブ(World Wide Web、以下WWW)やデスクトップで動作するプログラムなどのアプリケーション(Application:以下APという)は、当初からそのAPのプログラムに作りこまれたグラフィカルユーザインタフェース(Graphical User Interface:以下GUIという)によって、ユーザに直接的に操作されてきた。
しかしながらこのようなAPの開発者によって作りこまれたGUIは、必ずしも利用者(ユーザ)に適した形にはなっていない。例えば利用者によるAPの操作を記録しユーザの行動を分析したいような場合でも、APのGUIは必ずしも利用者のGUIの操作記録をログとして出力する機能を備えるとは限らない。また、利用者の趣味、嗜好や利用環境の違いなどにより、利用者がGUIの画面のレイアウトを変更したり、APの操作の自動化を望む場合でも、APが必ずしもこのような変更や自動化の機能を備えるとは限らない。これはAP開発者がこのような全ての要求を考慮し、全ての機能を作りこむことは非常に大きな開発コストを必要とするため、現実的ではない事による。
このような問題に対処するために、AP自身のプログラムには修正を加えずに、APが出力したGUIに対して、外部プログラムがGUIの内容を認識し制御を加えることで、前記のような機能を追加する事がしばしば行われている。APが出力したGUIは多くの場合、ボタンやテキストといった基本的なGUI部品と、それらのレイアウト情報しか持っていないため、例えばどのボタンが押されたかといったログの記録や、APの操作の自動化のためにユーザに代わり特定のボタンを押すというイベントを発行するためには、前記のような外部プログラムは、レイアウト情報から各GUI部品を一意に識別するような処理を行う。例えば、WWWアプリからの情報の抽出やWWWアプリの自動操作などをユーザが行おうとした場合、ユーザは、要素部品とそのレイアウト情報のみを持つHTMLのみを用いてユーザインタフェース(User Interface:以下UIという)を認識し、文字列や入力フォームなどの要素部品の意味を推定する。なお、本明細書においては、このような処理をUIの認識と呼ぶ。
APが出力したUIを認識する技術としては以下のものがある。
例えば、文献1(特開2004−240759号)では、UIの操作ログ取得のために、文字認識や画像認識、部品の階層構造の取得によってUIの認識を実現する手法を開示している。
また、文献2(特開2001−306358号)では、GUIのテストのために、GUIの論理構造を記録し、保存した論理構造間の比較結果を用いてテスト結果の判定やテスト実行可否判断などを実現する手法を開示している。
また、生成されたUIの認識ではないが、文献3(特表2007−511814号)では、紙などに書かれたUIのイメージ画を認識してUIプログラムを生成する手法を開示している。
しかしながら、上述したUIを認識する技術では、構造が不明確でかつ変化するUIを、正しく部品を特定できるように認識することは困難であるという問題がある。
一般にUIのレイアウトは様々な要因で変化する。例えば、UIの内容は同じでも、オペレーティングシステムの種類、WWWであればWWWブラウザの種類、コンピュータの表示装置の画面サイズ、ウィンドウシステムで使用される場合はそのアプリケーションのウィンドウサイズなど、アプリケーションを使用する環境が変化するとレイアウトも変わってしまう場合がある。また、例えば、何らかの検索を行った結果を表示するWWWページなど、動的に変化するコンテンツを表示するUIの場合、例えば検索結果のヒット数など、コンテンツによってレイアウトが変わってしまう場合がある。また、APのプログラム自身のバージョンアップなど、APの変化によってもレイアウトが変わってしまう場合がある。
このうち、同じ内容の表示レイアウトが環境によって変化するものは、文献1や文献2で開示されているように、部品の親子関係などGUI部品間の論理的な構造を抽出し、この情報に基づいてUIを認識することで対応することが出来る。特にWWWでは元々UIはハイパーテキストマークアップランゲージ(Hyper Text Markup Language:以下HTMLという)という構造化文書によって出力されているため、このHTMLを分析すれば、HTMLを解釈し、表示を行う環境に依存せずにUIを認識することが出来る。
しかしながら、UIに含まれるコンテンツや元のAP自身が変化した場合、前記の論理的な構造自身が変化してしまうため、単なる論理構造の抽出のみでは、UIを正しく認識することは出来ない。
また、文献4(特開2004−318460号)では、変化するUIの触感制御を実現する手法を開示しているが、これはAPがUIの構造情報を提供する前提であり、そのような情報を出力しないAPには適用できない。
本発明は、上記事情に鑑みてなされたものであり、コンテンツやAPによるUIの変化があっても、正しくUIを認識することが出来るユーザインタフェース認識装置及びユーザインタフェース認識方法を提供することを目的とする。
このような目的を達成するために、本発明のユーザインタフェース認識装置は、ユーザインタフェースを構成する部品群及び部品群の位置関係を示すユーザインタフェース情報と、部品群の中で検索対象とする部品を示す検索対象部品情報と、ユーザインタフェースの構造を定義する構造定義情報とに基づいて、検索対象とする部品を検索するための検索ルールを生成する検索ルール生成部と、新たなユーザインタフェース情報が入力されたときに、検索ルール生成部により生成された検索ルールを用いて、新たなユーザインタフェース情報に示される部品群の中から検索対象とする部品を検索する部品検索部と、部品検索部による検索結果を出力する出力部とを備える。
また、本発明のユーザインタフェース認識方法は、ユーザインタフェースを構成する部品群及び部品群の位置関係を示すユーザインタフェース情報と、部品群の中で検索対象とする部品を示す検索対象部品情報と、ユーザインタフェースの構造を定義する構造定義情報とに基づいて、検索対象とする部品を検索するための検索ルールを生成するステップと、新たなユーザインタフェース情報が入力されたときに、検索ルールを用いて、新たなユーザインタフェース情報に示される部品群の中から検索対象とする部品を検索するステップと、検索結果を出力するステップとを備える。
本発明によれば、APのコンテンツ変化に伴うUIの変化に対応したUI部品の特定が可能となる。その理由は、本発明では、コンテンツ変化に伴うUIの変化を構造定義情報として認識し、これを用いて部品の検索ルールを作成することで、コンテンツ変化に伴う構造の変化を考慮した検索を行えるからである。
図1は、本発明の第一の実施形態の構成を示すブロック図である。 図2は、本発明の第一の実施形態の動作を示す流れ図である。 図3は、本発明の第二の実施形態の構成を示すブロック図である。 図4は、本発明の第二の実施形態の動作を示す流れ図である。 図5は、本発明の第二の実施形態の動作における、改変後検索ルール生成の動作を示す流れ図である。 図6は、本発明の第三の実施形態の構成を示すブロック図である。 図7は、本発明の第三の実施形態の動作を示す流れ図である。 図8は、本発明の第四の実施形態の構成を示すブロック図である。 図9は、本発明の第四の実施形態の動作を示す流れ図である。 図10は、本発明の第四の実施形態の動作における、木構造情報変換の動作を示す流れ図である。 図11は、本発明の具体例1の構成を示すプロック図である。 図12は、本発明の具体例1の出力UIのイメージ図である。 図13は、本発明の具体例1の出力UIの木構造情報のイメージ図である。 図14は、本発明の具体例1の入力サンプルのイメージ図である。 図15は、本発明の具体例1の構造定義情報のイメージ図である。 図16は、本発明の具体例1の出力UIとその構造定義情報のイメージ図である。 図17は、本発明の具体例1の出力UIのイメージ図である。 図18は、本発明の具体例1の出力UIのイメージ図である。 図19は、本発明の具体例1の新構造定義情報のイメージ図である。 図20は、本発明の具体例1の構造定義情報の対応関係のイメージ図である。 図21は、本発明の具体例2の構成を示すプロック図である。 図22は、本発明の具体例2の出力UIのイメージ図である。 図23は、本発明の具体例2の木構造情報のイメージ図である。 図24は、本発明の具体例2の木構造情報のイメージ図である。 図25は、本発明の他の実施形態の構成を示すブロック図である。
以下、本発明を実施するための最良の形態について添付図面を参照して詳細に説明する。
〔第一の実施の形態〕
まず、本発明のUI認識装置の第一の実施の形態について、要点を説明する。
本発明のUI認識装置の第一の実施の形態では、まずUIからGUI部品と部品間の関係(レイアウト)を抽出し、包含関係や位置関係を反映した木構造情報として表現する。情報の表現方法の好適な例は、エクステンシブルマークアップランゲージ(eXtensible Markup Language:以下XMLという)のデータモデルである。UIが元々APからHTMLやXMLの形式で出力される場合には、この文書をそのまま使用する事ができる。
その上で、UI認識を行う事前準備段階として、UI認識装置に対して、幾つかのUIの表示サンプルと、表示サンプルの中で特定したい部品とを入力する。これを分析することで、木構造情報で変化する可能性のある部分を、その変化の仕方の範囲と共に推測する。逆にGUI部品の中での例えばテキストの表示を行う部分など本来内容が変化する能力がありながら、実際には一切変化しない固定的な部分も推測する。この推測結果を用いて、木構造情報の構造定義情報を作成する。また同時に表示サンプル中で特定したい部品を検索するための検索ルールを、この構造定義情報を用いて、UIの変化があっても矛盾が生じないよう作成する。こうして得られたUIの構造定義情報と部品の検索ルールを保存しておく。
実際にUIの認識を行う場合、まずUIを木構造情報で表現し、これに対して検索ルールを適用することで、特定したい部品を見つけ、これを出力する。
次に、本発明のUI認識装置の第一の実施の形態の構成について、図1を参照して詳細に説明する。図1は、本発明のUI認識装置の第一の実施の形態の構成を示すブロック図である。
図1を参照すると、本発明のUI認識装置の第一の実施の形態は、APが出力するUIに関する情報(UI情報)を取得し、取得したUI情報に基づいて、木構造情報を生成するUI情報収集部101と、木構造情報と検索対象部品リストを記録するUI情報保存部103と、UI情報保存部103に保存された木構造情報及び検索対象部品リストに基づいて、構造定義情報と検索ルールリストを生成するUI構造推定部102と、生成された構造定義情報と検索ルールリストを保存するUI構造定義情報保存部104と、木構造情報に検索ルールを適用して該当部品を得る部品検索部105と、検索名と検索ルール適用結果を合わせて出力する部品出力部106とからなる。
上記各部について以下に説明する。
UI情報収集部101は、APが出力するUIに関する情報(UI情報)を取得する。UI情報とは、UIを構成する部品群を示す情報と、それら部品群の位置関係(レイアウト)を示す情報とを含む。そして、UI情報収集部101は、取得したUI情報に基づいて、UIを木構造で表現した木構造情報を生成する。また、UI情報収集部101は、事前準備段階である場合、UIを構成する部品群の中で検索対象となる部品(特定対象となる部品)を示す情報(検索対象部品情報)と、その部品の検索名(識別子)を示す情報とを合わせて、検索対象部品リストとして取得する。UI情報収集部101は、事前準備段階である場合、生成した木構造情報と、検索対象部品リストとをUI構造推定部102に出力する。一方、UI認識段階である場合、UI情報収集部101は、生成した木構造情報を部品検索部105に出力する。
UI構造推定部102は、UI情報収集部101から渡された、木構造情報と、検索対象部品リストとをUI情報保存部103に保存する。そして、UI構造推定部102は、構造定義推定が指示されると、UI情報保存部103に保存した木構造情報に基づいて、ユーザインタフェースの構造を定義する構造定義情報を生成する。また、UI構造推定部102は、生成した構造定義情報と、UI情報保存部103に保存した木構造情報及び検索対象部品リストとに基づいて、検索ルールリストを生成する。検索ルールリストは、検索名と検索ルールの組からなる。検索ルールリストは、構造定義情報に基づくことにより、UIに変化があっても矛盾が生じないように作成される。UI構造推定部102は、生成した構造定義情報及び検索ルールリストを、UI構造定義情報保存部104に出力する。
UI構造定義情報保存部104は、UI構造推定部102から渡された構造定義情報及び検索ルールリストを保存し、部品検索部105に渡す。
部品検索部105は、UI構造情報保存部104から取得した検索ルールを、UI情報収集部101から取得した木構造情報に適用し、適用結果の部品を検索ルールの検索名と合わせて部品出力部106に出力する。
部品出力部106は、検索名と検索結果のセットを、UI認識を利用したいAPの拡張装置に出力する。
次に、本発明のUI認識装置の第一の実施の形態の動作について、図2を参照して詳細に説明する。図2は、本発明のUI認識装置の第一の実施の形態の動作を表すフローチャートである。
UI認識装置は、まずS201で、APが出力するUIの表示サンプル(UI情報)、UIを構成する部品群の中で検索対象となる部品(検索対象部品)及びその部品の検索名を示す情報の入力を待つ。それらの情報が入力されると、S211で、UI情報収集部101は、表示サンプルに基づいて木構造情報を生成する。また、UI情報収集部101は、検索対象部品と、その検索名とを関連付け、検索対象部品リストとして取得する。そして、UI情報収集部101は、生成した木構造情報と、取得した検索対象部品リストとをUI構造推定部102へ出力する。S212で、UI構造推定部102は、木構造情報及び検索対象部品リストをUI情報保存部103に保存する。
次にS210で、表示サンプルの入力が終了したら、S220で、UI構造推定部102は、UI情報保存部103に保存されている木構造情報を用いて構造定義情報を生成する。そして、S221で、UI構造推定部102は、生成した構造定義情報と、木構造情報と、検索対象部品リストとに基づいて、検索ルールリストを生成する。S222で、UI構造推定部102は、検索ルールリストをUI構造定義情報保存部104に保存する。
次にS230で、認識を行うUI情報を待つ。UI情報が入力されると、S240で、UI情報収集部101は、UI情報に基づいて木構造情報を生成して部品検索部105に出力する。部品検索部105は、S250で、検索ルールリストに検索ルールがあれば取り出し、S251で、木構造情報に適用して部品を検索する。そして、部品検索部105は、検索した部品とその検索名をセットにして部品出力部106に出力して、次の検索ルールを取り出す。
S252で、全ての検索ルールの適用が終了したら、S260で、部品出力部106は、検索名と検索結果部品のリストを拡張装置に出力し、S230で、UI情報待ちに戻る。
以上説明したように、本発明のUI認識装置の第一の実施の形態によれば、APのコンテンツ変化に伴うUIの変化に対応したUI部品の特定が可能となる。その理由は、UI認識装置がコンテンツ変化に伴うUIの変化を構造定義情報として認識し、これを用いて部品の検索ルールを作成することで、コンテンツ変化に伴う構造の変化を考慮した検索を行えるからである。
〔第二の実施の形態〕
まず、本発明のUI認識装置の第二の実施の形態について、要点を説明する。
本発明のUI認識装置の第二の実施の形態では、第一の実施の形態に加え、アプリケーションが改変されてUIの構造が変化した時に、事前準備として、改変後のUIの表示サンプルから構造定義情報を生成することに加え、改変前後の構造情報の差分の計算を行って改変前の部品が改変後にどこに移動したかを検出する。そして、この検出結果と改変前の検索ルールを用いて、改変後のUIに対する検索ルールを生成し、改変後の構造情報と検索ルールを保存する事を行う。
実際にUIの認識を行う場合、この改変後の検索ルールを用いて特定したい部品を見つける。
次に、本発明のUI認識装置の第二の実施の形態の構成について、図3を参照して詳細に説明する。図3は、本発明のUI認識装置の第二の実施の形態の構成を示すブロック図である。なお、以下の説明において、第一の実施の形態と共通する項目は同じ符号を用いるとともに、その説明は省略する。
第二の実施の形態では、図3に示すように、第一の実施の形態の構成に加え、二つの構造定義情報の差分を計算する構造差分計算部301を持つ。また、UI構造定義情報保存部302は、新たに新構造定義情報と新検索ルールリストを持つ。
次に、本発明のUI認識装置の第二の実施の形態の動作について、図4、5を参照して詳細に説明する。図4、5は、本発明のUI認識装置の第二の実施の形態の動作を表すフローチャートである。なお、以下の説明において、第一の実施の形態と共通する項目は同じ符号を用いるとともに、その説明は省略する。
第二の実施の形態では、図4に示すように、UI入力を待つ前にS401でAP改変が行われたかを確認し、改変が行われた場合、S402で、改変後の検索ルール生成を行う。
図5は、図4のS402の改変後検索ルール生成の動作の詳細を表すフローチャートである。S201,S210,S211,S212,S220で改変後のUIの表示サンプルから構造定義情報を生成するところまでは、上記第一の実施の形態で説明した、改変前の処理と同じである。ここで、生成された、UI改変後の構造定義情報は、S501で一旦新構造定義情報としてUI構造定義情報保存部302に保存される。
次に、構造差分計算部は、S510で、構造定義情報(UI改変前の構造定義情報)と新構造定義情報(UI改変後の構造定義情報)とを比較して、改変前の部品が改変後のどの部品に対応するかを調べ、S511でこの対応関係と検索ルールリストから、改変後のUIから部品を取り出すための新検索ルールリストを生成し、S512で新検索ルールリストとしてUI構造定義情報保存部302に保存し、最後にS520で新たに生成された新構造定義情報と新検索ルールリストをそれぞれ構造定義情報と検索ルールリストにコピーする。
これにより、AP改変が行われてUI構造が大きく変化した場合でも、新UIに対応した部品の検索ルールを生成し、引き続きUIの認識を行う事が出来る。
以上説明したように、本発明のUI認識装置の第二の実施の形態によれば、AP自身が改変されUIの構造が大きく変化した場合にも、表示サンプルの入力のみで改変前と同様なUI部品の特定が可能となる。その理由は、AP改変前後のUIの構造定義間の差分計算を行い部品の対応関係を検出することで、AP改変前に指定されていた部品を、AP改変後で検索するルールを構築できるからである。
〔第三の実施の形態〕
まず、本発明のUI認識装置の第三の実施の形態について、要点を説明する。
本発明のUI認識装置の第三の実施の形態では、第一の実施の形態に加えて、実際にUIの認識を行う時に、UIの木構造情報と、予め作成しておいた構造定義情報とが矛盾していないかを検証する。矛盾が無ければ通常通り部品検索を行うが、検証に失敗した場合、認識は行わずに認識失敗を出力する。
次に、本発明のUI認識装置の第三の実施の形態の構成について、図6を参照して詳細に説明する。図6は、本発明のUI認識装置の第三の実施の形態の構成を示すブロック図である。なお、以下の説明において、第一の実施の形態と共通する項目は同じ符号を用いるとともに、その説明は省略する。
第三の実施の形態では、図6に示すように、第一の実施の形態の構成に加え、UI認識時に入力されたUIが、UI構造定義情報保存部に保存されている構造定義情報と矛盾していないかを検証するUI構造検証部601を持つ。
次に、本発明のUI認識装置の第三の実施の形態の動作について、図7を参照して詳細に説明する。図7は、本発明のUI認識装置の第三の実施の形態の動作を表すフローチャートである。なお、以下の説明において、第一の実施の形態と共通する項目は同じ符号を用いるとともに、その説明は省略する。
第三の実施の形態では、図7に示すように、S240で木構造情報を生成した後、S701で木構造情報が構造定義情報と矛盾していないかを検証し、S702で検証に成功した場合のみS250からの検索ルールの適用を行い、検証に失敗した場合、S703で認識失敗という結果を出力し、S230で次のUI入力待ちとなる。
これにより、UIの表示サンプルからは構造定義を完全に推定できなかった場合に、誤った構造定義の推定に基づいた検索ルールを適用し部品を誤認識する事を回避することが出来る。
以上説明したように、本発明のUI認識装置の第三の実施の形態によれば、UIの表示サンプルからは構造定義を完全に推定できなかった場合に、誤った構造定義の推定に基づいた検索ルールを適用し部品を誤認識する事を回避することが出来る。その理由は、UIの木構造情報が事前に作成した構造定義情報に合致するかを検証することで、構造定義情報及びそれから作られる検索ルールが、認識しようとしているUIでも有効であるかを識別できるからである。
〔第四の実施の形態〕
まず、本発明のUI認識装置の第四の実施の形態について、要点を説明する。
本発明のUI認識装置の第四の実施の形態では、第一の実施の形態に加えて、UIの木構造情報を詳細化あるいは簡略化する構造変更ルールを持ち、UIの木構造情報を別の木構造情報に変換して、変換された木構造情報を構造の推定や部品の検索に用いる。
次に、本発明のUI認識装置の第四の実施の形態の構成について、図8を参照して詳細に説明する。図8は、本発明のUI認識装置の第四の実施の形態の構成を示すブロック図である。なお、以下の説明において、第一の実施の形態と共通する項目は同じ符号を用いるとともに、その説明は省略する。
第四の実施の形態では、図8に示すように、第一の実施の形態の構成に加え、UI情報収集部101が出力する木構造情報を別の木構造情報に変換するためのUI構造変換部801と、構造変換ルールを保存する構造変換ルール保存部802を持つ。
次に、本発明のUI認識装置の第四の実施の形態の動作について、図9、10を参照して詳細に説明する。図9、10は、本発明のUI認識装置の第四の実施の形態の動作を表すフローチャートである。なお、以下の説明において、第一の実施の形態と共通する項目は同じ符号を用いるとともに、その説明は省略する。
第四の実施の形態では、図9に示すように、S211とS240でそれぞれ木構造情報を生成した後、S901とS902で木構造情報変換処理を行い、変換された結果を構造定義の推定や検索に用いる。
図10は、図9に示すS901とS902の木構造情報変換処理の動作の詳細を表すフローチャートである。UI構造変換部801は、S1001で構造変換ルール保存部802に保存された構造変換ルールを調べ、未適用のものがあればS1002でルールを順次適用し変換を行う。2つ目以降に適用されるルールは、その前の変換ルール適用結果に対してルールを適用する。全ての構造変換ルールが適用されたらS1003で結果を出力する。
これにより、HTMLなどタグなど構造情報がコンテンツの意味を適切に表現していなかったり、オペレーティングシステム(Operating System:以下OSという)のGUI部品を直接用いるAPから取得したUI情報などで構造情報が欠落してフラットな構造しか見えないような場合、典型的なUIの生成ルールを判別するヒューリスティックなルールを用意し、これを適用することで、より構造定義の推定や部品の検索を容易に実現可能になる。
以上説明したように、本発明のUI認識装置の第四の実施の形態によれば、HTMLなどタグなど構造情報がコンテンツの意味を適切に表現していなかったり、OSのGUI部品を直接用いたAPから取得したUI情報などで構造情報が欠落してフラットな構造しか見えないような場合、典型的なUIの生成ルールを判別するヒューリスティックなルールを用意し、これを適用することで、より構造定義の推定や部品の検索を容易に実現可能になる。その理由は、UIの木構造情報を変換するルールを保存し適用することが可能であるからである。
以上、本発明の第一〜第四の実施の形態についてそれぞれ説明したが、各実施の形態を任意に組み合わせるようにしてもよい。
次に、本発明のUI認識装置を用いた具体例について説明する。具体例として、本発明のUI認識装置を情報抽出装置に用いた場合について以下に説明する。
〔具体例1〕
図11は、本発明のUI認識装置を用いた情報抽出装置の構成図である。
情報抽出装置1101は、本発明のUI認識装置1102と、自動制御部1103と、抽出情報保存部1104、管理部1105を持ち、UI情報収集部101とAP自動制御部1103はWebブラウザ1110に接続されている。Webブラウザは複数の個人住所情報を保存するWWWアプリケーションである住所録AP1111に接続されている。
住所録AP1111はUIとしてHTMLを出力する。
UIの部品とレイアウト情報はブラウザによってドキュメントオブジェクトモデル(Document Object Model:以下DOMという)として解析済みのHTMLの形でUI情報収集部に入力され、木構造情報の形式はこのDOM形式をそのまま用いる。
部品を検索するための検索ルールは、エックスエムエルパスランゲージ(以下Xpathという)で表現する。
構造定義情報は、HTML中に出現する要素や属性などのノードについて、固定的に常に出現するノードと、毎回値が変化するノードと、出現回数が変化するノードに分類する形で表現する。
図12は、住所録AP1111がブラウザに出力するUIであるHTMLのイメージ図である。なお本図は説明のために簡略化しており必ずしも正しいHTMLではないが、この事は本発明に影響を与えるもので無い事は容易に理解できるだろう。
住所録AP1111はこのようなUIで住所情報を表示し、”Next”のリンクをクリックすると次の人の情報を表示する。住所情報は、住所、氏名、電話番号、会社名で構成され、電話番号は任意の数持つことが出来る。
図13は、図12のHTMLのDOM形式表現のイメージ図である。
情報抽出装置1101は、AP自動制御部1103を用いて自動的に”Next”のリンクをクリックして次々と保存されている住所情報を表示する共に、氏名と会社名の情報を抽出して抽出情報保存部1104に保存する。
これを実現するために、自動制御装置は、”Next”に相当するリンク(<A>タグ)と、氏名と会社名の値の記載されている要素値のノード(図13の四角で囲ったノード)をUI部品として特定しなければならない。
〈動作例1〉
次に、本発明のUI認識装置を用いた情報抽出装置の動作の一例について説明する。
まず事前準備として、管理部1105はWebブラウザでUIのサンプルを表示し、そのサンプル画面と、その画面上で特定したい部品と、その検索名をUI情報収集部101に入力する。
図14は、入力する3つの表示サンプルとそれぞれで特定したい3つの部品とその検索名である。
ここで検索名は、氏名は”名前”、会社名は”社名”、Nextのリンクは”次”という検索名を用いる。
まずUI構造推定部102は、入力されたHTMLのDOM表現を木構造情報に変換するが、この場合DOM表現が既に木構造情報であるためそのまま出力する。
次にUI構造推定部102は、表示サンプルの木構造情報1,2,3とそれぞれの検索対象部品リスト1,2,3の情報をUI情報保存部103に保存する。
3つのサンプルが全て入力し終わると、管理部1105はUI構造推定部102にサンプル入力の終了を通知する。
通知を受けたUI構造推定部102は、まずUI情報保存部103に保存されている木構造情報1,2,3を分析し、固定的に常に出現するノードと、毎回値が変化するノードと、出現回数が変化するノードを推測する。
図15は、分析結果で得られる構造定義情報のイメージ図である。HTMLに出現するタグ名や要素値などがそのまま表記されている部分は固定的に出現するノードを、’*’と表記されている部分は毎回値が変化するノードを、’^N’と表記されている部分は出現回数が変化する部分を示している。
次にUI構造推定部102は、検索対象部品リストを用いて、構造定義情報の中で検索しなければならない対象を調べる。この場合、図15の四角で囲ったノードがそれぞれ検索対象となるノードとその検索名であることが分かるため、次にこれらの検索対象ノードを特定するためのXPath式を生成する。
一般に、ある木構造情報の中で、特定のノードを指定するXPath検索式は複数導出しうる。
本発明ではXPath式の導出方法は特に規定しないが、本具体例1としては、以下の3つのルールを用いて導出する。
[ルール1]
木構造情報の根から該当ノードにいたるパスを兄弟ノード間の位置とともに指定する。
例えば、図15で”次”に該当する’A’タグのノードを指定するXPath式は、”/HTML/A[1]”と記載できる。これは、HTMLタグの中にあるAタグの中で2番目に出現するタグ、という意味である。
[ルール2]
該当ノードの子ノードの中で、該当ノードを一意に特定可能なノードの存在を条件として指定する。
例えば、図15で”次”に該当する’A’タグのノードを指定するXPath式は、”//A[./text()=Next]”と記載できる。これは、任意の場所に現れる 'A’タグの中で、特に要素値が’Next’であるもの、という意味である。
[ルール3]
該当ノードの共通の先祖を持つノードの中で、該当ノードを一意に特定可能なノードの存在を条件として指定する。
例えば、図15で”名前”に該当する要素値のノードを指定するXPath式は、”//text()[../../TD[1]/text()=氏名]”と記載できる。これは、任意の場所に現れる要素値の中で、特に2つ親のノード(TRタグ)の中の1番目に出現するTDタグの要素値が’氏名’であるもの、という意味である。
これらのルールは全てが必ずしも導出できるとは限らない。例えば”社名”に該当するノードは、(1)を用いて”/HTML/Table/TR[4]/TD/text()”と表現することはできない。これはTRタグの兄弟間での位置が、電話番号の数によって変わってしまうため、必ずしも4番目にはならないからである。
このためUI構造推定部102は、これらのルールによってXPathの導出を試み、その中で正しく対象ノードを一意に特定できるXPathの一つを検索式として採用する。この結果、’名前’、’社名’、’次’のそれぞれの検索式は "/HTML/Table/TR[2]/TD[2]/text()”、”//text()[../../TD[1]/text()=会社名]”、”/HTML/A[1]”となる。
UI構造推定部102は、前記構造情報と検索名とXPath式のリストをUI構造定義情報保存部302の構造定義情報と検索ルールリストにそれぞれに保存する。
次に実際のUI認識を行う。
住所録AP1111が図16のHTMLを出力した場合、UI情報収集部101はWebブラウザ1110からそのDOM表現を取得し、これをUI構造検証部601に渡す。
UI構造検証部601は、与えられたHTMLのDOM表現とUI構造定義情報保存部302に保存されている構造定義情報を比較し、矛盾が無いかをチェックし、問題ないためHTMLのDOM表現を部品検索部105に渡す。
部品検索部105は、UI構造定義情報保存部302に保存されている検索ルールリストを取り出し、検索ルールである3つのXPath式を適用して’名前’、’社名’、’次’のそれぞれに該当するノードを特定し、部品出力部106を通してAP自動制御部1103に検索名と該当ノードを通知する。
AP自動制御部1103は、’名前’と’社名’に該当する要素値を抽出情報保存部1104に保存し、次にWebブラウザに対して’次’に該当するリンクをクリックしたイベントを送り、次ページを保存する。
〈動作例2〉
次に、図17のサンプルには無かった二つの住所を持ったHTMLが出力された場合の動作を説明する。
この場合、UI情報収集部の動作までは図16の例と同じだが、UI構造検証部601での比較で住所を二つ持つと言う矛盾が発見されるため、検証に失敗する。
この結果認識に失敗した旨がAP自動制御部1103に通知され、その結果情報抽出処理は中断される。
もし検証を行わずに検索式を適用した場合、名前に該当する部分に本来住所である’茨城’の文字列が該当してしまうため、誤った結果が抽出されることになる。
このような中断が発生した場合、情報抽出装置の利用者は、図17も含むサンプルを与えなおすことで、正しい検索ルールを作り直すことが出来る。
〈動作例3〉 次に、住所録AP 1111が改変され、出力されるUIが図18のように変わった場合の動作を説明する。
この改変では、管理される住所情報自体に変化は無いが、タイトル、Nextボタンの位置、項目名の太文字などが変更されている。
ここでは、まず新しいUIのサンプルのDOM構造のみを幾つか入力し、新UIの構造定義情報を新構造定義情報としてUI構造定義情報保存部302に保存する。サンプル及び新構造定義情報の生成方法は、先に述べた方法と類似であるため説明を省略する。検索対象のリストは入力しない。
図19は生成された新構造定義情報のイメージ図である。
次に元の構造定義情報(図15)と新構造定義情報(図19)を比較し、差分計算としてノードの対応関係を計算する。
差分計算の手法としては、XMLの差分計算手法で、特にそれぞれに含まれるノードの類似度を計算し、元の構造定義情報のノードに最も類似する新構造定義情報のノードを対応すると見なす方式が使用できる。
本具体例1では、新旧の全てのノードの組み合わせに対して、ノード自身が同じ(タグ名、要素値などが一致)か、ノードの子孫ノードが類似しているか、ノードの祖先ノードが類似しているか、とった基準で類似度を計算するものとする。
この結果、特に元構造定義情報で検索対象だったノードに対する新構造定義情報の対応ノードは図20のように計算できる。
これにより各検索名に対して検索しなければならない新構造定義情報におけるノードが特定できるため、次に各対象ノードを特定するためのXPath式を生成する。この生成方法は前述と同様である。
この結果、’名前’、’社名’、’次’のそれぞれの改変後のUIに対する検索式は "/HTML/Table[2]/TR[2]/TD[2]/text()”、”//text()[../../TD[1]/B/text()=会社名]”、”/HTML/Table[1]/TR/TD[2]/A[1]”となり、これが新検索ルールリストとなってUI構造定義情報保存部302に保存される。
最後に導出された新構造定義情報と新検索式ルールリストの内容が構造定義情報と検索ルールリストに設定され、以後の認識ではこの新しい検索式が用いられることになる。
〔具体例2〕
具体例2は、上記具体例1と同様に、本発明のUI認識装置を情報抽出装置に用いた場合であるが、さらにUI構造変換部801と構造変換ルール802を持つ。
また、本具体例2では、住所録AP 2111はHTMLではなく、OSのGUI部品を用いたUIを生成し、UI情報収集部はOS2110に接続されてOS経由でGUI部品への参照のリストとその画面上でのレイアウト情報を得る。
構造変換ルール保存部には以下の2つの構造変換ルールが保存されている。
[ルール1]
画面上で同じ高さで左右に並ぶ部品があった場合、それらの部品群を包含する行コンテナ部品があると仮定し、親ノードとして行コンテナノードを追加する。
[ルール2]
画面上で同じ幅で上下に並ぶ部品があった場合、それらの部品群を包含する列コンテナ部品があると仮定し、親ノードとして列コンテナノードを追加する。
図22は、住所録AP 2111が出力するUIのイメージ図である。
一つのウィンドウの上に、Nextや終了のボタン部品と、住所、氏名、電話、会社、東京都、佐藤、03-..、日本電気といったテキスト部品が配置されている。
部品の間に包含関係や親子関係などは存在しない。
図23は、UI情報収集部が出力する木構造情報のイメージ図である。本具体例2では、より左側にある部品を部品の兄弟関係の先頭に持っていくように並べている。
この木構造情報のままでは、部品間の関係が単純な前後関係しか存在しないため、構造情報の推定や検索対象部品を一意に特定できるようなXPath式を導出することが困難である。
図23の木構造情報がUI構造変換部801に渡されると、UI構造変換部801は構造変換ルール保存部 802 に保存されている2つの構造変換ルールを適用し、その結果、図24の木構造情報が出力される。この木構造情報は、上記具体例1の説明で使用したHTMLに近い構造であり、検索対象部品を一意に特定できるようなXPath式を導出することが可能である。よってUI構造変換部801から出力された木構造情報を、UI構造収集部が出力した木構造情報の代わりに構造定義情報の計算や検索式の適用に使用することで、単純な部品間の関係しか持たないUIであっても、対象となる部品を正しく検索することが可能となる。
多くのUIでは、部品はバラバラに配置されるのではなく、人間が理解しやすいよう、典型的な配置パターンを組み合わせる形で構成されているため、このような典型的な部品の配置パターンを発見し、パターンを表現するコンテナノードを、パターンを構成する部品群の親ノードとして追加するような構造変換ルールを用意する事で、本具体例2で述べたような効果を得る事が可能となる。
以上、本発明の実施の形態及びその具体例について説明したが、上記説明に限定されるものではなく、その要旨を逸脱しない範囲において種々の変形が可能である。
例えば、上述した制御動作は、ハードウェア、または、ソフトウェア、あるいは、両者の複合構成によって実行することも可能である。
なお、ソフトウェアによる処理を実行する場合には、処理シーケンスを記録したプログラムを、専用のハードウェアに組み込まれているコンピュータ内のメモリにインストールして実行させるか、あるいは、各種処理が実行可能な汎用コンピュータにプログラムをインストールして実行させることが可能である。
例えば、プログラムは、記録媒体としてのハードディスクやROM(Read Only Memory)に予め記録しておくことが可能である。あるいは、プログラムは、CD−ROM(Compact DiSc Read Only Memory),MO(Magneto optical)ディスク,DVD(Digital VerSatile DiSc)、磁気ディスク、半導体メモリなどのリムーバブル記録媒体に、一時的、あるいは、永続的に格納(記録)しておくことが可能である。
このようなリムーバブル記録媒体は、いわゆるパッケージソフトウエアとして提供することが可能である。
なお、プログラムは、上述したようなリムーバブル記録媒体からコンピュータにインストールする他、ダウンロードサイトから、コンピュータに無線転送したり、LAN(Local Area Network)、インターネットといったネットワークを介して、コンピュータに有線で転送したりし、コンピュータでは、転送されてきたプログラムを受信し、内蔵するハードディスク等の記録媒体にインストールすることが可能である。
また、上述した制御動作に従って時系列的に実行されるのみならず、処理を実行する装置の処理能力、あるいは、必要に応じて並列的にあるいは個別に実行するように構築することも可能である。
なお、図25に示すように、本発明の実施形態であるUI認識装置2501は、少なくとも、検索ルール生成部2502と、部品検索部2503と、出力部2504とを備えていればよい。
検索ルール生成部2502は、UIを構成する部品群及び部品群の位置関係を示すUI情報と、部品群の中で検索対象とする部品を示す検索対象部品情報と、UIの構造を定義する構造定義情報とに基づいて、検索対象とする部品を検索するための検索ルールを生成する機能を有する。この検索ルール生成部2502は、図1におけるUI情報収集部101、UI構造推定部102、UI情報保存部103と、UI構造定義情報保存部104の各機能を有していてもよい。
部品検索部2503は、新たなUI情報が入力されたときに、検索ルール生成部2501により生成された検索ルールを用いて、新たなUI情報に示される部品群の中から検索対象とする部品を検索する。この部品検索部2503は、図1における部品検索部105の機能を有していてもよい。
出力部2504は、部品検索部2503による検索結果を出力する。この出力部2504は、図1における部品出力部106の機能を有していてもよい。
本発明は、APが出力するUIを認識し、UIを通したAPの自動制御や情報の抽出、ユーザのUI操作、UIの自動テストの実現といった用途に適用できる。
この出願は、2007年11月21日に出願された日本出願特願2007−302209号を基礎とする優先権を主張し、その開示のすべてをここに取り込む。

Claims (14)

  1. ユーザインタフェースを構成する部品群及び前記部品群の位置関係を示すユーザインタフェース情報と、前記部品群の中で検索対象とする部品を示す検索対象部品情報と、前記ユーザインタフェースの構造を定義する構造定義情報とに基づいて、前記検索対象とする部品を検索するための検索ルールを生成する検索ルール生成部と、
    新たなユーザインタフェース情報が入力されたときに、前記検索ルール生成部により予め生成された前記検索ルールを用いて、前記新たなユーザインタフェース情報に示される部品群の中から前記検索対象とする部品を検索する部品検索部と、
    前記部品検索部による検索結果を出力する出力部と
    を備え
    前記検索ルール生成部は、
    前記ユーザインタフェース情報を取得し、前記ユーザインタフェース情報に基づいて木構造情報を生成する機能と、前記検索対象部品情報を取得する機能とを備える情報収集部と、
    前記情報収集部により生成された前記木構造情報に基づいて前記構造定義情報を生成する機能と、前記木構造情報、前記構造定義情報及び前記検索対象部品情報に基づいて前記検索ルールを生成する機能とを備えた構造推定部と、
    前記構造推定部により生成された前記構造定義情報及び前記検索ルールを保存する構造定義情報保存部と
    を備え、
    前記情報収集部は、
    前記新たなユーザインタフェース情報を取得したとき、前記新たなユーザインタフェース情報に基づいて、木構造情報で変化する可能性のある部分と固定的な部分を推測した結果の新たな木構造情報を生成し、
    前記部品検索部は、
    前記構造定義情報保存部に保存されている前記検索ルールを用いて、前記新たな木構造情報から前記検索対象とする部品を検索する
    ことを特徴とするユーザインタフェース認識装置。
  2. 前記情報収集部により生成された前記新たな木構造情報と、前記構造定義情報保存部に保存されている前記構造定義情報とを比較し、双方の情報が示す構造に矛盾が無いかを検証する構造検証部をさらに備え、
    前記構造検証部は、前記部品検索部による検索が行われる前に検証を行う
    請求項記載のユーザインタフェース認識装置。
  3. ユーザインタフェースを構成する部品群及び前記部品群の位置関係を示すユーザインタフェース情報と、前記部品群の中で検索対象とする部品を示す検索対象部品情報と、前記ユーザインタフェースの構造を定義する構造定義情報とに基づいて、前記検索対象とする部品を検索するための検索ルールを生成する検索ルール生成部と、
    新たなユーザインタフェース情報が入力されたときに、前記検索ルール生成部により予め生成された前記検索ルールを用いて、前記新たなユーザインタフェース情報に示される部品群の中から前記検索対象とする部品を検索する部品検索部と、
    前記部品検索部による検索結果を出力する出力部と、
    二つの構造定義情報間の対応関係を計算する構造差分計算部
    を備え
    前記検索ルール生成部は、
    前記ユーザインタフェース情報を取得し、前記ユーザインタフェース情報に基づいて木構造情報を生成する機能と、前記検索対象部品情報を取得する機能とを備える情報収集部と、
    前記情報収集部により生成された前記木構造情報に基づいて前記構造定義情報を生成する機能と、前記木構造情報、前記構造定義情報及び前記検索対象部品情報に基づいて前記検索ルールを生成する機能とを備えた構造推定部と、
    前記構造推定部により生成された前記構造定義情報及び前記検索ルールを保存する構造定義情報保存部と
    を備え、
    前記構造推定部は、
    前記ユーザインタフェースの構造が改変されたとき、
    改変後のユーザインタフェースの構造定義情報を生成し、
    前記構造差分計算部は、前記構造定義情報保存部に保存されている前記構造定義情報と、前記構造推定部により新たに生成された前記改変後のユーザインタフェースの構造定義情報との対応関係を計算して、前記改変後のユーザインタフェースから前記検索対象とする部品を検索するための新たな検索ルールを生成する
    ことを特徴とするユーザインタフェース認識装置。
  4. ユーザインタフェースを構成する部品群及び前記部品群の位置関係を示すユーザインタフェース情報と、前記部品群の中で検索対象とする部品を示す検索対象部品情報と、前記ユーザインタフェースの構造を定義する構造定義情報とに基づいて、前記検索対象とする部品を検索するための検索ルールを生成する検索ルール生成部と、
    新たなユーザインタフェース情報が入力されたときに、前記検索ルール生成部により予め生成された前記検索ルールを用いて、前記新たなユーザインタフェース情報に示される部品群の中から前記検索対象とする部品を検索する部品検索部と、
    前記部品検索部による検索結果を出力する出力部と、
    前記情報収集部から出力された前記木構造情報を、変換ルールにしたがって、別の木構造情報に変換する構造変換部と、
    前記構造変換部により使用される変換ルールを保存する構造変換ルール保存部と
    を備え、
    前記検索ルール生成部は、
    前記ユーザインタフェース情報を取得し、前記ユーザインタフェース情報に基づいて木構造情報を生成する機能と、前記検索対象部品情報を取得する機能とを備える情報収集部と、
    前記情報収集部により生成された前記木構造情報に基づいて前記構造定義情報を生成する機能と、前記木構造情報、前記構造定義情報及び前記検索対象部品情報に基づいて前記検索ルールを生成する機能とを備えた構造推定部と、
    前記構造推定部により生成された前記構造定義情報及び前記検索ルールを保存する構造定義情報保存部と
    を備え、
    前記構造推定部及び前記部品検索部の少なくとも1つは、前記構造変換部により変換された前記別の木構造情報を使用する
    ことを特徴とするユーザインタフェース認識装置。
  5. 検索ルール生成部が、ユーザインタフェースを構成する部品群及び前記部品群の位置関係を示すユーザインタフェース情報と、前記部品群の中で検索対象とする部品を示す検索対象部品情報と、前記ユーザインタフェースの構造を定義する構造定義情報とに基づいて、前記検索対象とする部品を検索するための検索ルールを生成するステップと、
    部品検索部が、新たなユーザインタフェース情報が入力されたときに、予め生成された前記検索ルールを用いて、前記新たなユーザインタフェース情報に示される部品群の中から前記検索対象とする部品を検索するステップと、
    出力部が、検索結果を出力するステップと
    を備え
    前記検索ルールを生成するステップは、
    情報収集部が、前記ユーザインタフェース情報を取得し、前記ユーザインタフェース情報に基づいて木構造情報を生成するステップと、
    前記情報収集部が、前記検索対象部品情報を取得するステップと、
    構造推定部が、前記木構造情報に基づいて前記構造定義情報を生成するステップと、
    前記構造推定部が、前記木構造情報、前記構造定義情報及び前記検索対象部品情報に基づいて前記検索ルールを作成するステップと、
    構造定義情報保存部が、前記構造定義情報及び前記検索ルールを保存するステップと
    を備え、
    前記木構造情報を生成するステップは、
    前記情報収集部が、前記新たなユーザインタフェース情報を取得し、前記新たなユーザインタフェース情報に基づいて、木構造情報で変化する可能性のある部分と固定的な部分を推測した結果の新たな木構造情報を生成するステップをさらに備え、
    前記検索するステップは、
    前記部品検索部が、保存されている前記検索ルールを、前記新たな木構造情報に適用するステップを備える
    ことを特徴とするユーザインタフェース認識方法。
  6. 検索するステップの前に、構造検証部が、前記新たな木構造情報と、保存されている前記構造定義情報とを比較し、双方の情報が示す構造に矛盾が無いかを検証するステップ
    をさらに備える請求項記載のユーザインタフェース認識方法。
  7. 検索ルール生成部が、ユーザインタフェースを構成する部品群及び前記部品群の位置関係を示すユーザインタフェース情報と、前記部品群の中で検索対象とする部品を示す検索対象部品情報と、前記ユーザインタフェースの構造を定義する構造定義情報とに基づいて、前記検索対象とする部品を検索するための検索ルールを生成するステップと、
    部品検索部が、新たなユーザインタフェース情報が入力されたときに、予め生成された前記検索ルールを用いて、前記新たなユーザインタフェース情報に示される部品群の中から前記検索対象とする部品を検索するステップと、
    出力部が、検索結果を出力するステップと
    を備え
    前記検索ルールを生成するステップは、
    情報収集部が、前記ユーザインタフェース情報を取得し、前記ユーザインタフェース情報に基づいて木構造情報を生成するステップと、
    前記情報収集部が、前記検索対象部品情報を取得するステップと、
    構造推定部が、前記木構造情報に基づいて前記構造定義情報を生成するステップと、
    前記構造推定部が、前記木構造情報、前記構造定義情報及び前記検索対象部品情報に基づいて前記検索ルールを作成するステップと、
    構造定義情報保存部が、前記構造定義情報及び前記検索ルールを保存するステップと
    を備え、
    さらに、
    前記ユーザインタフェースの構造が改変されたとき、前記構造推定部が、改変後のユーザインタフェースの構造定義情報を生成するステップと、
    構造差分計算部が、保存されている前記構造定義情報と、前記改変後のユーザインタフェースの構造定義情報との対応関係を計算するステップと、
    前記構造差分計算部が、対応関係の計算結果を用いて、前記改変後のユーザインタフェースから前記検索対象とする部品を検索するための新たな検索ルールを生成するステップと
    をさらに備える
    ことを特徴とするユーザインタフェース認識方法。
  8. 検索ルール生成部が、ユーザインタフェースを構成する部品群及び前記部品群の位置関係を示すユーザインタフェース情報と、前記部品群の中で検索対象とする部品を示す検索対象部品情報と、前記ユーザインタフェースの構造を定義する構造定義情報とに基づいて、前記検索対象とする部品を検索するための検索ルールを生成するステップと、
    部品検索部が、新たなユーザインタフェース情報が入力されたときに、予め生成された前記検索ルールを用いて、前記新たなユーザインタフェース情報に示される部品群の中から前記検索対象とする部品を検索するステップと、
    出力部が、検索結果を出力するステップと
    を備え
    前記検索ルールを生成するステップは、
    情報収集部が、前記ユーザインタフェース情報を取得し、前記ユーザインタフェース情報に基づいて木構造情報を生成するステップと、
    前記情報収集部が、前記検索対象部品情報を取得するステップと、
    構造推定部が、前記木構造情報に基づいて前記構造定義情報を生成するステップと、
    前記構造推定部が、前記木構造情報、前記構造定義情報及び前記検索対象部品情報に基づいて前記検索ルールを作成するステップと、
    構造定義情報保存部が、前記構造定義情報及び前記検索ルールを保存するステップと
    を備え、
    構造変換部が、前記木構造情報を、変換ルールを用いて、別の木構造情報に変換するステップをさらに備え、
    前記構造定義情報を生成するステップ、前記検索ルールを作成するステップ及び検索するステップのうち少なくとも1は、前記別の木構造情報を使用するステップを備える
    ことを特徴とするユーザインタフェース認識方法。
  9. ユーザインタフェースを構成する部品群及び前記部品群の位置関係を示すユーザインタフェース情報と、前記部品群の中で検索対象とする部品を示す検索対象部品情報と、前記ユーザインタフェースの構造を定義する構造定義情報とに基づいて、前記検索対象とする部品を検索するための検索ルールを生成する処理と、
    新たなユーザインタフェース情報が入力されたときに、予め生成された前記検索ルールを用いて、前記新たなユーザインタフェース情報に示される部品群の中から前記検索対象とする部品を検索する処理と、
    検索結果を出力する処理と
    をコンピュータに実行させるプログラムであって、
    前記検索ルールを生成する処理は、
    前記ユーザインタフェース情報を取得する処理と、
    前記ユーザインタフェース情報に基づいて木構造情報を生成する処理と、
    前記検索対象部品情報を取得する処理と、
    前記木構造情報に基づいて前記構造定義情報を生成する処理と、
    前記木構造情報、前記構造定義情報及び前記検索対象部品情報に基づいて前記検索ルールを作成する処理と、
    前記構造定義情報及び前記検索ルールを保存する処理と
    を含み、
    前記木構造情報を生成する処理は、
    前記新たなユーザインタフェース情報を取得し、前記新たなユーザインタフェース情報に基づいて、木構造情報で変化する可能性のある部分と固定的な部分を推測した結果の新たな木構造情報を生成する処理を含み、
    前記検索する処理は、
    保存されている前記検索ルールを、前記新たな木構造情報に適用する処理を含む
    ことを特徴とするプログラム。
  10. 前記検索する処理の前に、前記新たな木構造情報と、保存されている前記構造定義情報とを比較し、双方の情報が示す構造に矛盾が無いかを検証する処理
    をさらにコンピュータに実行させる請求項記載のプログラム。
  11. ユーザインタフェースを構成する部品群及び前記部品群の位置関係を示すユーザインタフェース情報と、前記部品群の中で検索対象とする部品を示す検索対象部品情報と、前記ユーザインタフェースの構造を定義する構造定義情報とに基づいて、前記検索対象とする部品を検索するための検索ルールを生成する処理と、
    新たなユーザインタフェース情報が入力されたときに、予め生成された前記検索ルールを用いて、前記新たなユーザインタフェース情報に示される部品群の中から前記検索対象とする部品を検索する処理と、
    検索結果を出力する処理と
    をコンピュータに実行させるプログラムであって、
    前記検索ルールを生成する処理は、
    前記ユーザインタフェース情報を取得する処理と、
    前記ユーザインタフェース情報に基づいて木構造情報を生成する処理と、
    前記検索対象部品情報を取得する処理と、
    前記木構造情報に基づいて前記構造定義情報を生成する処理と、
    前記木構造情報、前記構造定義情報及び前記検索対象部品情報に基づいて前記検索ルールを作成する処理と、
    前記構造定義情報及び前記検索ルールを保存する処理と
    を含み、
    さらに、
    前記ユーザインタフェースの構造が改変されたとき、改変後のユーザインタフェースの構造定義情報を生成する処理と、
    保存されている前記構造定義情報と、前記改変後のユーザインタフェースの構造定義情報との対応関係を計算する処理と、
    対応関係の計算結果を用いて、前記改変後のユーザインタフェースから前記検索対象とする部品を検索するための新たな検索ルールを生成する処理と
    をコンピュータに実行させる
    ことを特徴とするプログラム。
  12. ユーザインタフェースを構成する部品群及び前記部品群の位置関係を示すユーザインタフェース情報と、前記部品群の中で検索対象とする部品を示す検索対象部品情報と、前記ユーザインタフェースの構造を定義する構造定義情報とに基づいて、前記検索対象とする部品を検索するための検索ルールを生成する処理と、
    新たなユーザインタフェース情報が入力されたときに、予め生成された前記検索ルールを用いて、前記新たなユーザインタフェース情報に示される部品群の中から前記検索対象とする部品を検索する処理と、
    検索結果を出力する処理と
    をコンピュータに実行させるプログラムであって、
    前記検索ルールを生成する処理は、
    前記ユーザインタフェース情報を取得する処理と、
    前記ユーザインタフェース情報に基づいて木構造情報を生成する処理と、
    前記検索対象部品情報を取得する処理と、
    前記木構造情報に基づいて前記構造定義情報を生成する処理と、
    前記木構造情報、前記構造定義情報及び前記検索対象部品情報に基づいて前記検索ルールを作成する処理と、
    前記構造定義情報及び前記検索ルールを保存する処理と
    を含み、
    前記木構造情報を、変換ルールを用いて、別の木構造情報に変換する処理と、
    前記構造定義情報を生成する処理、前記検索ルールを作成する処理及び検索する処理のうち少なくとも1の処理の中で、前記別の木構造情報を使用する処理と
    をコンピュータに実行させる
    ことを特徴とするプログラム。
  13. ユーザインタフェースを構成する部品群及び前記部品群の位置関係を示すユーザインタフェース情報と、前記部品群の中で検索対象とする部品を示す検索対象部品情報と、前記ユーザインタフェースの構造を定義する構造定義情報とに基づいて、前記検索対象とする部品を検索するための検索ルールを生成する検索ルール生成部を備え、
    前記検索ルール生成部は、
    前記ユーザインタフェース情報を取得し、前記ユーザインタフェース情報に基づいて木構造情報を生成する機能と、前記検索対象部品情報を取得する機能とを備える情報収集部と、
    前記情報収集部により生成された前記木構造情報に基づいて前記構造定義情報を生成する機能と、前記木構造情報、前記構造定義情報及び前記検索対象部品情報に基づいて前記検索ルールを生成する機能とを備えた構造推定部と、
    前記構造推定部により生成された前記構造定義情報及び前記検索ルールを保存する構造定義情報保存部と
    を備え
    前記情報収集部は、
    前記新たなユーザインタフェース情報を取得したとき、前記新たなユーザインタフェース情報に基づいて、木構造情報で変化する可能性のある部分と固定的な部分を推測した結果の新たな木構造情報を生成し、
    前記部品検索部は、
    前記構造定義情報保存部に保存されている前記検索ルールを用いて、前記新たな木構造情報から前記検索対象とする部品を検索する
    ことを特徴とするユーザインタフェース認識装置。
  14. ユーザインタフェースを構成する部品群及び前記部品群の位置関係を示すユーザインタフェース情報と、前記部品群の中で検索対象とする部品を示す検索対象部品情報と、前記ユーザインタフェースの構造を定義する構造定義情報とに基づいて、前記検索対象とする部品を検索するための検索ルールを生成する検索ルール生成部を備え、
    前記検索ルール生成部は、
    前記ユーザインタフェース情報を取得し、前記ユーザインタフェース情報に基づいて木構造情報を生成する機能と、前記検索対象部品情報を取得する機能とを備える情報収集部と、
    前記情報収集部により生成された前記木構造情報に基づいて前記構造定義情報を生成する機能と、前記木構造情報、前記構造定義情報及び前記検索対象部品情報に基づいて前記検索ルールを生成する機能とを備えた構造推定部と、
    前記構造推定部により生成された前記構造定義情報及び前記検索ルールを保存する構造定義情報保存部と、
    二つの構造定義情報間の対応関係を計算する構造差分計算部とを備え、
    前記ユーザインタフェースの構造が改変されたとき、
    前記構造推定部は、改変後のユーザインタフェースの構造定義情報を生成し、
    前記構造差分計算部は、前記構造定義情報保存部に保存されている前記構造定義情報と、前記構造推定部により新たに生成された前記改変後のユーザインタフェースの構造定義情報との対応関係を計算して、前記改変後のユーザインタフェースから前記検索対象とする部品を検索するための新たな検索ルールを生成する
    ことを特徴とするユーザインタフェース認識装置。
JP2009542601A 2007-11-21 2008-11-21 ユーザインタフェース認識装置、ユーザインタフェース認識方法およびプログラム Expired - Fee Related JP5413198B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009542601A JP5413198B2 (ja) 2007-11-21 2008-11-21 ユーザインタフェース認識装置、ユーザインタフェース認識方法およびプログラム

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2007302209 2007-11-21
JP2007302209 2007-11-21
PCT/JP2008/071223 WO2009066762A1 (ja) 2007-11-21 2008-11-21 ユーザインタフェース認識装置及びユーザインタフェース認識方法
JP2009542601A JP5413198B2 (ja) 2007-11-21 2008-11-21 ユーザインタフェース認識装置、ユーザインタフェース認識方法およびプログラム

Publications (2)

Publication Number Publication Date
JPWO2009066762A1 JPWO2009066762A1 (ja) 2011-04-07
JP5413198B2 true JP5413198B2 (ja) 2014-02-12

Family

ID=40667584

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009542601A Expired - Fee Related JP5413198B2 (ja) 2007-11-21 2008-11-21 ユーザインタフェース認識装置、ユーザインタフェース認識方法およびプログラム

Country Status (3)

Country Link
US (1) US20100262598A1 (ja)
JP (1) JP5413198B2 (ja)
WO (1) WO2009066762A1 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5408623B2 (ja) * 2010-02-17 2014-02-05 株式会社日立製作所 検索式提供方法、プログラム、及び、検索式提供システム
CN102207857B (zh) * 2010-03-29 2014-08-27 日电(中国)有限公司 Gui元素识别方法、装置及系统
US8467987B1 (en) * 2012-05-30 2013-06-18 Google, Inc. Methods and systems for testing mobile device builds
JP6212373B2 (ja) * 2013-12-05 2017-10-11 日本電信電話株式会社 操作ログ管理装置及び方法
JP6355768B1 (ja) * 2017-01-17 2018-07-11 東日本電信電話株式会社 操作自動化装置
WO2020222219A1 (en) * 2019-04-30 2020-11-05 Walkme Ltd. Gui element acquisition using a plurality of alternative representations of the gui element
JP7328938B2 (ja) * 2020-06-19 2023-08-17 株式会社オービック 画面要素補完装置、画面要素補完方法および画面要素補完プログラム
JP7524690B2 (ja) 2020-09-14 2024-07-30 富士通株式会社 判定プログラム、判定方法および情報処理装置
US11816318B2 (en) * 2021-07-28 2023-11-14 Google Llc Application compatibility on a computing device
WO2024127583A1 (ja) * 2022-12-15 2024-06-20 日本電信電話株式会社 操作支援装置、操作支援方法及び操作支援プログラム
WO2024127582A1 (ja) * 2022-12-15 2024-06-20 日本電信電話株式会社 操作支援装置、操作支援方法及び操作支援プログラム

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001005745A (ja) * 1999-06-17 2001-01-12 Sony Corp 送信装置および受信装置
JP2004272871A (ja) * 2003-02-20 2004-09-30 Hitachi Software Eng Co Ltd Webコンテンツ内のデータ抽出配信方法およびシステム

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6724409B1 (en) * 2000-11-16 2004-04-20 Hewlett-Packard Development Company L.P. Tree-based graphical user interface for creating and editing machine control sequences
US20020163535A1 (en) * 2000-12-11 2002-11-07 Mitchell Kathryn L. System and method for generating a graphical user interface from a template
US7191119B2 (en) * 2002-05-07 2007-03-13 International Business Machines Corporation Integrated development tool for building a natural language understanding application
EP1460533A1 (en) * 2003-03-17 2004-09-22 Alcatel Extensible graphical user interface development framework
US7567964B2 (en) * 2003-05-08 2009-07-28 Oracle International Corporation Configurable search graphical user interface and engine
KR100558952B1 (ko) * 2005-05-12 2006-03-10 김길웅 인터페이스 화면 설계 중심의 소프트웨어 생산 공정 자동화방법 및 이 방법을 프로그램화하여 수록한 컴퓨터로 읽을수 있는 기록매체

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001005745A (ja) * 1999-06-17 2001-01-12 Sony Corp 送信装置および受信装置
JP2004272871A (ja) * 2003-02-20 2004-09-30 Hitachi Software Eng Co Ltd Webコンテンツ内のデータ抽出配信方法およびシステム

Also Published As

Publication number Publication date
WO2009066762A1 (ja) 2009-05-28
JPWO2009066762A1 (ja) 2011-04-07
US20100262598A1 (en) 2010-10-14

Similar Documents

Publication Publication Date Title
JP5413198B2 (ja) ユーザインタフェース認識装置、ユーザインタフェース認識方法およびプログラム
CN103635897B (zh) 对运行页面进行动态更新的方法
JP4097263B2 (ja) ウェブアプリケーションモデル生成装置、ウェブアプリケーション生成支援方法及びプログラム
JP4997749B2 (ja) 文書処理方法、プログラム及びシステム
US20030088643A1 (en) Method and computer system for isolating and interrelating components of an application
TW201250492A (en) Method and system of extracting web page information
JP4860416B2 (ja) 文書検索装置、文書検索方法および文書検索プログラム
US20090313539A1 (en) Information processor, information processing method, and recording medium
US20110307488A1 (en) Information processing apparatus, information processing method, and program
JP2008242738A (ja) テスト仕様書作成プログラム、テスト仕様書作成装置、およびテスト仕様書作成方法
JP2010055483A (ja) 情報再取得手順生成プログラム及び情報再取得手順生成装置
JPWO2007105759A1 (ja) 数式記述構造化言語オブジェクト検索システムおよび検索方法
JP2004341671A (ja) 情報処理システム、制御方法、制御プログラム、及び記録媒体
JP2020098596A (ja) ウェブページから情報を抽出する方法、装置及び記憶媒体
JP2005266954A (ja) 操作情報記録・再生装置
WO2006046323A1 (ja) インターネット情報収集装置、プログラム及び方法
JP2006031722A (ja) テスト支援プログラム
WO2006046665A1 (ja) 文書処理装置及び文書処理方法
US9483578B2 (en) Computer-readable storage medium storing update program, update method, and update device
JP4417384B2 (ja) 文書処理装置および文書処理方法
JP5404721B2 (ja) シナリオテストのテスト項目生成装置及び方法及びプログラム
US7936356B2 (en) Information processing method for information registration, and information processing method for information retrieval
JP4496919B2 (ja) Web閲覧操作の記録・再生装置及びプログラム及びコンピュータ読み取り可能な記憶媒体
US12001324B2 (en) Operation pattern generation apparatus, operation pattern generation method and program
JP5476867B2 (ja) マッシュアッププログラム、マッシュアップ装置及びマッシュアップ方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110901

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130618

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130816

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20131015

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131028

LAPS Cancellation because of no payment of annual fees