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

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

▶ 株式会社オービックの特許一覧

特許7366814情報処理装置、情報処理方法、及び情報処理プログラム
<>
  • 特許-情報処理装置、情報処理方法、及び情報処理プログラム 図1
  • 特許-情報処理装置、情報処理方法、及び情報処理プログラム 図2
  • 特許-情報処理装置、情報処理方法、及び情報処理プログラム 図3
  • 特許-情報処理装置、情報処理方法、及び情報処理プログラム 図4
  • 特許-情報処理装置、情報処理方法、及び情報処理プログラム 図5
  • 特許-情報処理装置、情報処理方法、及び情報処理プログラム 図6
  • 特許-情報処理装置、情報処理方法、及び情報処理プログラム 図7
  • 特許-情報処理装置、情報処理方法、及び情報処理プログラム 図8
  • 特許-情報処理装置、情報処理方法、及び情報処理プログラム 図9
  • 特許-情報処理装置、情報処理方法、及び情報処理プログラム 図10
  • 特許-情報処理装置、情報処理方法、及び情報処理プログラム 図11
  • 特許-情報処理装置、情報処理方法、及び情報処理プログラム 図12
  • 特許-情報処理装置、情報処理方法、及び情報処理プログラム 図13
  • 特許-情報処理装置、情報処理方法、及び情報処理プログラム 図14
  • 特許-情報処理装置、情報処理方法、及び情報処理プログラム 図15
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-10-13
(45)【発行日】2023-10-23
(54)【発明の名称】情報処理装置、情報処理方法、及び情報処理プログラム
(51)【国際特許分類】
   G06Q 10/10 20230101AFI20231016BHJP
【FI】
G06Q10/10
【請求項の数】 7
(21)【出願番号】P 2020050312
(22)【出願日】2020-03-19
(65)【公開番号】P2021149715
(43)【公開日】2021-09-27
【審査請求日】2022-07-19
(73)【特許権者】
【識別番号】398040527
【氏名又は名称】株式会社オービック
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】河合 優佑
(72)【発明者】
【氏名】早川 周吾
(72)【発明者】
【氏名】野里 郁文
(72)【発明者】
【氏名】上野 剛光
【審査官】宮地 匡人
(56)【参考文献】
【文献】米国特許出願公開第2018/0018534(US,A1)
【文献】@shun04,[UiPath]変則的な要素の出現に対処する方法,[online],2019年02月04日,https://qiita.com/shun04/items/3987db0340dc4ab78464,[検索日 2023.06.07]
【文献】[できるUiPath]ダイアログボックスやエラー発生時のポップアップ画面に対応しよう,[online],できるネット 株式会社インプレス,2019年02月12日,https://dekiru.net/article/17791/,[検索日 2023.06.07]
(58)【調査した分野】(Int.Cl.,DB名)
G06Q 10/00-99/00
(57)【特許請求の範囲】
【請求項1】
制御部を備えた情報処理装置であって、
前記制御部は、
メッセージの内容毎に回答を設定したマスタにアクセス可能に構成されており、
一連の操作を規定した定義に従って、アプリケーションの自動操作を実行する自動操作手段の自動操作中に、メッセージの出現を検知する検知手段と、
前記検知したメッセージの内容を判定する判定手段と、
前記判定したメッセージの内容に応じて回答を自動で行う自動回答手段と、
を備え
前記自動回答手段は、前記マスタの設定に基づいて回答を自動で行い、
前記マスタの回答の設定では、プロパティとして、タイトル、アイコン、及び背景色のうちの1又は複数の組み合わせと、完全一致又は部分一致の条件を指定可能であることを特徴とする情報処理装置。
【請求項2】
前記自動操作は、RPA(Robotic Process Automation)に基づく自動操作であることを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記判定手段でメッセージの内容が確認又は警告のメッセージと判定された場合は、前記自動回答手段は、自動回答して処理を続行することを特徴とする請求項1又は2に記載の情報処理装置。
【請求項4】
前記判定手段でメッセージの内容がエラーメッセージと判定された場合は、自動操作を終了することを特徴とする請求項1~3のいずれか1つに記載の情報処理装置。
【請求項5】
前記アプリケーションは、業務用アプリケーションであることを特徴とする請求項1~請求項のいずれか1つに記載の情報処理装置。
【請求項6】
制御部を備えた情報処理装置で実行される情報処理方法であって、
前記制御部は、
メッセージの内容毎に回答を設定したマスタにアクセス可能に構成されており、
前記制御部で実行される、
一連の操作を規定した定義に従って、アプリケーションに対する自動操作を実行する自動操作手段の自動操作中に、メッセージの出現を検知する検知ステップと、
前記検知したメッセージの内容を判定する判定ステップと、
前記判定したメッセージの内容に応じて回答を自動で行う自動回答ステップと、
を含み、
前記自動回答ステップでは、前記マスタの設定に基づいて回答を自動で行い、
前記マスタの回答の設定では、プロパティとして、タイトル、アイコン、及び背景色のうちの1又は複数の組み合わせと、完全一致又は部分一致の条件を指定可能であることを特徴とする情報処理方法。
【請求項7】
制御部を備えた情報処理装置に実行させるための情報処理プログラムであって、
前記制御部は、
メッセージの内容毎に回答を設定したマスタにアクセス可能に構成されており、
前記制御部において、
一連の操作を規定した定義に従って、アプリケーションに対する自動操作を実行する自動操作手段の自動操作中に、メッセージの出現を検知する検知ステップと、
前記検知したメッセージの内容を判定する判定ステップと、
前記判定したメッセージの内容に応じて回答を自動で行う自動回答ステップと、
を実行させるための情報処理プログラムであり、
前記自動回答ステップでは、前記マスタの設定に基づいて回答を自動で行い、
前記マスタの回答の設定では、プロパティとして、タイトル、アイコン、及び背景色のうちの1又は複数の組み合わせと、完全一致又は部分一致の条件を指定可能であることを特徴とする情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、情報処理方法、及び情報処理プログラムに関する。
【背景技術】
【0002】
近時、RPA(Robotic Process Automation)と呼ばれるアプリケーション自動操作の需要が高まっている。かかるRPAは、操作を自動化するための自動化ツールがある。具体的には、ユーザによる複数の操作を登録(定義)しておき、その登録した操作を実行することにより、定形化された2回目以降の操作を簡単に実行することができるようにしている。
【0003】
これは、働き方改革などの動きもあり、定型作業の自動化を促進することが望まれているという背景がある。アプリケーションの自動操作には、定義が必要となり、その定義作成のし易さ、自動操作の柔軟性が求められている。従来、RPAを使用したシステムとして、例えば、特許文献1がある。
【先行技術文献】
【特許文献】
【0004】
【文献】特開2020-9279号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、特許文献1では、自動操作中に、予期しない確認又は警告のメッセージの表示があっても操作を続行でき、また、不正なデータ入力の続行を防ぐことができ、さらに、低コストで自動操作の定義を作成・保守することに関して何等記載されていない。
【0006】
本発明は、上記に鑑みてなされたものであり、自動操作中に、予期しない確認又は警告のメッセージの表示があっても操作を続行でき、また、不正なデータ入力の続行を防ぐことができ、さらに、低コストで自動操作の定義を作成・保守することが可能な情報処理装置、情報処理方法、及び情報処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【0007】
上述した課題を解決し、目的を達成するために、本発明は、制御部を備えた情報処理装置であって、前記制御部は、一連の操作を規定した定義に従って、メッセージに対する自動操作を実行する自動操作手段の自動操作中に、メッセージの出現を検知する検知手段と、前記検知したメッセージの内容を判定する判定手段と、前記判定したメッセージの内容に応じて回答を自動で行う自動回答手段と、を備えたことを特徴とする。
【0008】
また、本発明の一態様によれば、前記自動操作は、RPA(Robotic Process Automation)に基づく自動操作であることにしてもよい。
【0009】
また、本発明の一態様によれば、前記判定手段でメッセージの内容が確認又は警告のメッセージと判定された場合は、前記自動回答手段は、自動回答して処理を続行することにしてもよい。
【0010】
また、本発明の一態様によれば、前記判定手段でメッセージの内容がエラーメッセージと判定された場合は、自動操作を終了することにしてもよい。
【0011】
また、本発明の一態様によれば、前記記憶部は、メッセージの内容毎に回答を設定したマスタを備え、前記自動回答手段は、前記マスタの設定に基づいて回答を自動で行うことにしてもよい。
【0012】
また、本発明の一態様によれば、前記マスタの回答の設定では、プロパティとして、タイトル、アイコン、及び背景色のうちの1又は複数の組み合わせと、完全一致又は部分一致の条件を指定可能であることにしてもよい。
【0013】
また、本発明の一態様によれば、前記アプリケーションは、業務用アプリケーションであることにしてもよい。
【0014】
また、上述した課題を解決し、目的を達成するために、本発明は、制御部を備えた情報処理装置で実行される情報処理方法であって、前記制御部で実行される、一連の操作を規定した定義に従って、アプリケーションに対する自動操作を実行する自動操作手段の自動操作中に、メッセージの出現を検知する検知ステップと、前記検知したメッセージの内容を判定する判定ステップと、前記判定したメッセージの内容に応じて回答を自動で行う自動回答ステップと、を含むことを特徴とする。
【0015】
また、上述した課題を解決し、目的を達成するために、本発明は、制御部を備えた情報処理装置に実行させるための情報処理プログラムであって、前記制御部において、一連の操作を規定した定義に従って、アプリケーションに対する自動操作を実行する自動操作手段の自動操作中に、メッセージの出現を検知する検知ステップと、前記検知したメッセージの内容を判定する判定ステップと、前記判定したメッセージの内容に応じて回答を自動で行う自動回答ステップと、を実行させるための情報処理プログラムであることを特徴とする。
【発明の効果】
【0016】
本発明によれば、自動操作中に、予期しない確認又は警告のメッセージの表示があっても操作を続行でき、また、不正なデータ入力の続行を防ぐことができ、さらに、低コストで自動操作の定義を作成・保守することが可能になるという効果を奏する。
【図面の簡単な説明】
【0017】
図1図1は、操作定義の例を示す図である。
図2図2は、メッセージボックスの例を示す図である。
図3図3は、ツールチップの例を示す図である。
図4図4は、メッセージエリアの例を示す図である。
図5図5は、各種メッセージを説明するための図である。
図6図6は、商品の出荷情報を登録する業務システムの例を示す図である。
図7図7は、メッセージの出現タイミングによって複数の定義が必要となる例(業務システムの例)を示す図である。
図8図8は、本実施の形態の処理イメージを示す図である。
図9図9は、本実施の形態に係る情報処理装置の構成の一例を示すブロック図である。
図10図10は、ボックスのA,B,Cの項目に値をセットする自動操作及びメッセージを検知・判定し、自動応答を行う例を説明するための図である。
図11図11は、自動回答処理の詳細な処理を示すフロー図である。
図12図12は、検索ダイアログを示す図である。
図13図13は、回答方法判定及びメッセージ管理方法を説明するための図である。
図14図14は、操作前検証を説明するための図である。
図15図15は、本発明の効果を説明するための図である。
【発明を実施するための形態】
【0018】
以下に、本発明に係る情報処理装置、情報処理方法、及び情報処理プログラムの実施の形態を、図面に基づいて詳細に説明する。なお、本実施形態によりこの発明が限定されるものではない。
【0019】
[1.概要]
近時、RPA(Robotic Process Automation)と呼ばれるアプリケーション自動操作の需要が高まっている。これは、働き方改革などの動きもあり、定型作業の自動化を促進することが望まれているという背景がある。
【0020】
かかるRPAは、操作を自動化するための自動化ツールがある。具体的には、ユーザによる複数の操作を登録(定義)しておき、その登録した操作を実行することにより、定形化された2回目以降の操作を簡単に実行することができるようにしている。
【0021】
かかるRPAでは、ユーザによる定義が必要となり、その定義作成のし易さ、自動操作の柔軟性が求められている。
【0022】
図1は、操作定義の例を示す図である。図1に操作定義の例では、業務システムに対して、(1)Aに値をセット、(2)Bに値をセット、(3)Cに値をセットという内容になっている。
【0023】
業務においては、メッセージは必要不可欠なものである。業務システムは、一般的に、利用者に向けて何等かのメッセージを表示するものである。人の手で扱うシステムからメッセージを省くことは現実的でない。自動操作の対象となるシステムは、基本的に元は人の手で扱うものであり、これに準ずるものである。
【0024】
業務システムの出すメッセージの媒体は様々である。業務システムの特性として、アプリケーションから使用者に向けてメッセージを出力する場合がある。メッセージの媒体としては、主に、メッセージボックス(ダイアログ)、メッセージエリア・ツールチップ、エラーページ等が挙げられるが、本発明はこれにかぎられるものではない。
【0025】
また、メッセージに対してシステム利用者に回答を求めるものと求めないものに分けることができる。本実施の形態では、それぞれのメッセージの媒体として以下の項目を例に用いて説明する。利用者の回答が必要なメッセージを出す項目をメッセージボックスとする。利用者に回答を求めないメッセージを出す項目をツールチップ又はメッセージエリアとする。図2は、メッセージボックスの例を示す図である。図3は、ツールチップの例を示す図である。図4は、メッセージエリアの例を示す図である。
【0026】
アプリケーションが出すメッセージは様々なパターン・タイミングがある。利用者に回答を求めるメッセージとそうでないメッセージの一例を説明する。また、回答を求めるメッセージは、そのメッセージの目的でさらに3つに分類できる。
【0027】
図5は、各種メッセージを説明するための図であり、利用者に回答を求めるメッセージの例(回答例も共に記載)と、利用者に回答を求めないメッセージの例を示している。
【0028】
図5(A)は、確認メッセージ(主にユーザに確認を取る目的のメッセージ)の例を示している。例えば、1行目は、システム名「受注入力」、項目名「登録ボタン」、メッセージ例「登録を行います。よろしいですか?」、回答例「はいorいいえ」となっている。
【0029】
図5(B)は、警告メッセージ(登録などに問題はないが、主に入力ミスを防ぐ目的で出るメッセージ)を示している。例えば、1行目は、システム名「受注入力」、項目名「受注数」、メッセージ例「在庫数を上回っています」、回答例「OK」となっている。
【0030】
図5(C)は、エラーメッセージ(システムが続行できなくなる問題を喚起するメッセージ)を示している。例えば、1行目は、システム名「受注入力」、項目名「登録ボタン」、メッセージ例「入力必須項目が空欄です」、回答例「OK」となっている。
【0031】
図5(D)は、利用者に回答を求めないメッセージの例として、エラーメッセージ(システムが続行できなくなる問題を喚起するメッセージ)の例を示している。例えば、1行目は、システム名「受注入力」、項目名「受注数」、メッセージ例「数字を入力して下さい」となっている。
【0032】
アプリケーションの自動操作では、入力値のチェック処理があり、メッセージが出る場合と出ない場合がある。アプリケ-ション自動操作の際に、入力値は一般にExcel等(Excelに限らず、csv、txt、XML等のデータファイルも対象)などから読み込みを行う。そのため、同じ定義でも入力値を変えられるが、アプリケーションによってその入力値に対してチェック処理を待ち、メッセージの有無が変化する。
【0033】
図6は、商品の出荷情報を登録する業務システムの例を示す図である。図6において、項目Aに商品の出荷数を入力する。例えば、Aの値に「10」をセットすると、画面は変化しない。他方、Aの値に「100」をセットすると、画面上に警告のメッセージボックスが出現する。
【0034】
上述した自動操作ツールでは、以下のような課題(1)~(3)がある。
【0035】
(1)予期せぬメッセージで自動操作が不正な動作をする。
自動操作ツールは、予期せぬメッセージによって操作不能となり、止まってしまうことがある。他方、エラーが出ていても操作画面を続行し、不正なデータを作成してしまうリスクがある。そのため、メッセージの検出・判別が課題となっている。
【0036】
(2)メッセージの回答パターンに応じて定義量が増えてしまう。
業務システムが出すメッセージは、いくつもあり、回答もそれに応じて変化する。自動操作ツールは、定義した操作しか実行しないため、入力値によっては1つのプログラムに対して回答パターン毎に定義を別々に作る必要がある。
【0037】
図7は、メッセージの出現タイミングによって複数の定義が必要となる例(業務システムの例)を示す図である。図7において、業務システムの例では、AとB項目は、一定以上の値を入力すると、警告メッセージを出す項目とする。この場合には、定義1:Aに値「10」をセット、Bに値「10」をセット、次の項目に値をセット、・・・、定義2:Aに値「100」をセット、メッセージにOKと回答、Bに値「10」をセット、次の項目に値をセット、・・・、定義3:Aに値「10」をセット、Bに値「100」をセット、メッセージにOKと回答、次の項目に値をセットと、・・・、定義4・・・を定義する必要があり、複数の定義が必要となる。
【0038】
(3)入力値に応じて、どの定義を用いるかを判断する必要がある。
定義量が増えることで、入力値とそれに対応する定義を管理する必要が生じる。これにより、利用の際のコスト増加や用いる定義の判断ミスの原因となる可能性がある。
【0039】
これらの(1)~(3)の課題を解決するために、本実施の形態では、自動操作中に、画面操作処理の前にメッセージを検知・判定し、自動応答を行う。より具体的には、(1)RPAによるアプリケーションの自動操作中、警告やエラー等のメッセージの出現を検知し、(2)検知したメッセージの内容を判断し、(3)予め設定した応答を自動で行う。図8は、本実施の形態の処理イメージの一例を示す図ある。図8において、メッセージボックスの出現を監視し、Aに値をセットする際に、メッセージボックスが出現しない場合には、次のBの値をセットする処理に進み、メッセージボックスが出現した場合には、自動応答してメッセージボックスが消えるように自動応答を行って、次の操作に移行できるようにしている。これにより、メッセージボックスの有無によって、定義を分岐する必要がなくなる。
【0040】
本実施の形態によれば、(1)自動操作中に、定義上予期しない警告が表示されても続行できる。(2)自動操作による不正な操作を回避できる。具体的には、エラーメッセージ等の検知によって、自動操作を停止することができ、不正なデータ入力の続行を防ぐことができる。(3)低コストで自動操作の定義を作成・保守できる。具体的には、自動操作の定義と分離して、応答パターンを管理・実装できる。これにより、定義の複雑化や管理コストを低減することができる。
【0041】
[2.構成]
本実施の形態に係る情報処理装置100の構成について、図9を参照して説明する。図9は、本実施の形態に係る情報処理装置100の構成の一例を示すブロック図である。
【0042】
情報処理装置100は、市販のデスクトップ型パーソナルコンピュータである。なお、情報処理装置100は、デスクトップ型パーソナルコンピュータのような据置型情報処理装置に限らず、市販されているノート型パーソナルコンピュータ、PDA(Personal Digital Assistants)、スマートフォン、タブレット型パーソナルコンピュータなどの携帯型情報処理装置であってもよい。
【0043】
情報処理装置100は、図9に示すように、制御部102と通信インターフェース部104と記憶部106と入出力インターフェース部108と、を備えている。情報処理装置100が備えている各部は、任意の通信路を介して通信可能に接続されている。
【0044】
通信インターフェース部104は、ルータ等の通信装置および専用線等の有線または無線の通信回線を介して、情報処理装置100をネットワーク300に通信可能に接続する。通信インターフェース部104は、他の装置と通信回線を介してデータを通信する機能を有する。ここで、ネットワーク300は、情報処理装置100とサーバ200とを相互に通信可能に接続する機能を有し、例えばインターネットやLAN(Local Area Network)等である。なお、後述する記憶部106に格納されるデータは、サーバに格納されてもよい。
【0045】
入出力インターフェース部108には、入力装置112および出力装置114が接続されている。出力装置114には、モニタ(家庭用テレビを含む)の他、スピーカやプリンタを用いることができる。入力装置112には、キーボード、マウス、およびマイクの他、マウスと協働してポインティングデバイス機能を実現するモニタを用いることができる。なお、以下では、出力装置114をモニタ114とし、入力装置112をキーボード112またはマウス112として記載する場合がある。また、ユーザが出力装置(モニタ)114の画面(GUI等)に対して入力装置112で操作することを、単に「ユーザ操作」と記載する場合がある。
【0046】
記憶部106には、各種のデータベース、テーブル、およびファイルなどが格納される。記憶部106には、OS(Operating System)と協働してCPU(Central Processing Unit)に命令を与えて各種処理を行うためのコンピュータプログラムが記録される。記憶部106として、例えば、RAM(Random Access Memory)・ROM(Read Only Memory)等のメモリ装置、ハードディスクのような固定ディスク装置、フレキシブルディスク、および光ディスク等を用いることができる。
【0047】
記憶部106は、定義ファイル106aと、マスタ106b等を備えている。定義ファイル106aは、自動操作部102aが、業務システム(業務用アプリケーション)102eを自動操作するための一連の操作を規定した定義を格納するためのものである。マスタ106bは、自動回答部102dが自動回答を行う際に参照するデータを格納するためのマスタである。
【0048】
制御部102は、情報処理装置100を統括的に制御するCPU等である。制御部102は、OS等の制御プログラム・各種の処理手順等を規定したプログラム・所要データなどを格納するための内部メモリを有し、格納されているこれらのプログラムに基づいて種々の情報処理を実行する。制御部102は、機能概念的に、自動操作部102aと、検知部102bと、判定部102cと、自動回答部102d、業務システム(業務用アプリケーション)102eを備えている。
【0049】
自動操作部102a、検知部102b、判定部102c、及び自動回答部102dは、前述したRPAに組み込んで、自動操作、メッセージの検知・判定・自動回答を行うためのものである。記憶部106に格納した業務用アプリケーションを実行する制御部102を、機能概念的に「業務システム102e」と表記している。また、RPAに組み込むことの他に、RDA(Robotic Desktop Automation)等の他の自動操作ツールに組み込んでもよい。
【0050】
自動操作部102aは、定義ファイル106aに登録されている、業務システム102eに対する一連の操作を規定した定義に従って、業務システム102eに対する自動操作を実行する。
【0051】
検知部102bは、自動操作部102aの自動操作実行中に出現するメッセージを検知する。
【0052】
判定部102cは、検知部102bが検知したメッセージの内容を判定する。
【0053】
自動回答部102dは、判定部102cで判定したメッセージの内容に応じて、例えば、マスタ106bに予め登録した内容の回答を自動で行う。
【0054】
業務システム102eは、各種の業務システムを使用することができ、例えば、商品の出荷情報を登録する業務システムである。
【0055】
[3.処理の具体例]
図9図15を参照して、本実施の形態における情報処理装置100の制御部102の処理の具体例を説明する。
【0056】
以下の説明では、ボックスのA,B,Cの項目に値をセットする自動操作を一例として説明する。図10は、ボックスのA,B,Cの項目に値をセットする自動操作及びメッセージを検知・判定し、自動応答を行う例を説明するための図である。
【0057】
図10(A)は、ボックスの一例を示している。図10(B)は、自動操作部102aで実行される自動操作の定義、図10(C)は、RPA処理全体のフロー図、図10(D)は、各セット処理の詳細な処理を示している。
【0058】
図10(C)において、RPA処理全体では、Aに値をセットする処理(ステップS1)、Bに値をセットする処理(ステップS2)、Cに値をセットする処理(ステップS3)を実行する。
【0059】
各値をセットする処理の詳細は、図10(D)に示すようになる。図10(D)では、Aに値をセットする処理の詳細な処理を示しているが、B、Cに値をセットする処理でも同様な処理が行われる。図10(D)において、自動回答処理(ステップS11)、Aにフォーカスする処理(ステップS12)、Aの操作前検証する処理(ステップS13)、Aに値を入力する処理(ステップS14)、次項目にフォーカス移動する処理(ステップS15)が行われる。
【0060】
図11は、図10の自動回答処理(ステップS11)の詳細な処理を示すフロー図である。自動回答処理では、操作前にメッセージを判定し、適した処理を行う。具体的には、各画面操作処理の前に、判定処理を実装する。これは、メッセージへの回答を定義内で記入することも可能であるため、自動回答が先に回答してしまい、定義内のメッセージが失敗することを避けるために、操作前に実装している。このため、定義内のメッセージ回答には、自動回答の実行はない。また、エラーメッセージが出ていた場合は自動操作処理を終了する。さらに、確認、警告メッセージが出ていた場合は自動回答し、処理を続行する。
【0061】
図11において、自動回答処理が開始されると、まず、検知部102bは、ツールチップの存在をチェックし(ステップS21)、ツールチップがある場合は(ステップS21の「あり」)、判定部102cは、メッセージの種別を判定する一方(ステップS24)、ツールチップがない場合は(ステップS21の「なし」)、ステップS22に移行する。
【0062】
ステップS24において、メッセージの種別がエラーメッセージの場合は、処理を終了し、エラー以外のメッセージの場合は、ステップS22に移行する。
【0063】
ステップS22では、検知部102bは、メッセージエリアの存在をチェックし、メッセージエリアが存在する場合には(ステップS22の「あり」)、判定部102cは、メッセージの種別を判定する一方(ステップS25)、メッセージエリアが存在しない場合には(ステップS22の「なし」)、ステップS23に移行する。
【0064】
ステップS25において、エラーメッセージの場合は、処理を終了し、エラー以外のメッセージの場合は、ステップS23に移行する。
【0065】
ステップS23では、検知部102bは、操作対象画面以外のダイアログの存在をチェックし、操作対象画面以外のダイアログが存在する場合には(ステップS23の「あり」)、判定部102cは、ダイアログの種別を判定する一方(ステップS26)、操作対象画面以外のダイアログが存在しない場合には(ステップS23の「なし」)、自動回答処理を終了する(ステップS31)。
【0066】
ここで、ダイアログの種類を判定しているのは、業務システム102eには、メッセージボックス以外にもダイアログが存在するからである。例えば、図12に示すような検索ダイアログなどがある。このため、ダイアログの種別を判定後、メッセージの種別判定を行っている。
【0067】
ステップS26では、ダイアログの種別がその他である場合には、処理を終了し(ステップS32)、後続のセット処理を行わず、RPAの実行そのものを中断する。他方、ダイアログの種別がメッセージボックスの場合は、判定部102cは、メッセージの種別を判定する(ステップS27)。
【0068】
ステップS27において、メッセージの種別がエラーメッセージの場合は、処理を終了する(ステップS32)一方、メッセージの種別がエラー以外のメッセージの場合は、自動回答部102dは、回答方法を判定する(ステップS28)。
【0069】
ステップS28において、処理中断の場合は、処理を終了する(ステップS32)一方、回答する場合は、自動回答部102dは、操作前検証を行う(ステップS29)。操作前検証では、押下するボタンが操作可能かどうかを検証する。例えば、OKボタンを押下する設定のときに、OKボタンが非表示の場合はエラーとする。
【0070】
ステップS29において、操作前検証がNGの場合は、処理を終了する(ステップS32)一方、操作前検証がOKの場合は、自動回答を行って(ステップS30)、連続でダイアログが出る場合があるので、ステップS23に戻って、ダイアログを再判定する。
【0071】
図13は、図11のステップS28の回答方法判定及びメッセージ管理方法を説明するための図である。図13において、回答方法判定では、例えば、マスタ106bに登録されているメッセージ別の個別設定(メッセージ管理データ)に従って、処理中断又は回答を判定してもよい。例えば、はい/OK/いいえ/キャンセルの場合は、設定されているボタンを押下する(回答)。Stopの場合は、エラーログを出して処理を中断する。
【0072】
図13(A)は、メッセージのマスタ管理の例を示す図である。マスタ106bに、図13(A)に示すようなメッセージ管理データを格納してもよい。メッセージ管理データは、メッセージ種別、指定した項目ID、プロパティID、プロパティの値、回答内容のデータを含んでいてもよい。例えば、1行目は、メッセージ種別「警告」、指定した項目ID「AAA_Mbox」、プロパティID「Text」、プロパティの値「〇〇〇ですが、続行しますか?」、回答内容「はい」となっている。
【0073】
上記に当てはまらないメッセージに関しては、既定の設定を持つことにしてもよい。既定の設定としては、例えば、はいorOK:「はい」又は「OK」のうち、表示されているボタンを押下する(回答)。いいえorキャンセル:「いいえ」又は「キャンセル」のうち、表示されているボタンを押下する(回答)。Stopの場合は、エラーログを出して処理を中断する。
【0074】
メッセージ種類の分類の例を説明する。マスタ管理の例では、メッセージの完全一致で判別することができる。メッセージの分類は、以下のような項目の状態によって判別することもできる。例えば、メッセージ内容(完全一致、部分一致)、項目のタイトル、項目のアイコン、項目の背景色等である。図13(B)は、メッセージ管理データの他の例を示す図である。
【0075】
図14は、図11のステップS29の操作前検証を説明するための図である。操作前検証では、画面操作前に、項目が操作可能な状態かを判定する判定処理を実行している。図14では、OKボタンの押下の例を説明する。判定処理では、まず、項目が存在するかを判定し(ステップS41)、項目が存在する場合は処理を終了する(NGと判定)。項目が存在しない場合は、非表示項目か否かを判定し(ステップS42)、非表示項目である場合は、処理を終了する(NGと判定)。非表示項目でない場合は、読取専用項目か否かを判定し(ステップS43)、専用読取項目である場合は、処理を終了する(NGと判定)。専用読取項目でない場合は、操作可能な状態であると判定して(OKと判定)、OKボタンを押下する自動回答(図11のS30)を行う。
【0076】
以上説明したように、本実施の形態によれば、一連の操作を規定した定義に従って、アプリケーションに対する自動操作を実行する自動操作部102aの自動操作中に、メッセージの出現を検知する検知部102bと、検知したメッセージの内容を判定する判定部102cと、判定したメッセージの内容に応じて応答を自動で行う自動回答部102dと、を備えているので、自動操作中に、予期しない確認や警告のメッセージの表示があっても操作を続行でき、また、不正なデータ入力の続行を防ぐことができ、さらに、低コストで自動操作の定義を作成・保守することが可能となる。
【0077】
より具体的には、以下の(1)~(3)の効果を奏する。
(1)メッセージを検出し、自動操作による不正な操作を回避できる。自動操作前のメッセージの検出によって、予期せぬメッセージによる停止を防ぐことができる。また、本来アプリケーションの操作を続けられないようなエラーをメッセージから判別できる。これにより、自動操作による不正な操作や不正なデータの作成を回避することができる。
【0078】
(2)様々なメッセージに対して応答できるロボットを低コストで作成することが可能となる。例えば、図15に示すように、メッセージ種別とメッセージへの回答を定義から分離して管理できる。そのため、メッセージの有無にとらわれない実装が可能になり、1つのプログラムに対して、定義を複数作成する必要がなくなる。
【0079】
(3)入力値に応じて、定義を使い分ける必要がなくなる。定義を使い分ける必要がなくなることにより、複数定義の管理コストや、利用時の作業コストやミスを軽減することができる。
【0080】
[4.他の実施形態]
本発明は、上述した実施の形態以外にも、特許請求の範囲に記載した技術的思想の範囲内において種々の異なる実施形態にて実施されてよいものである。
【0081】
例えば、実施の形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。
【0082】
また、本明細書中や図面中で示した処理手順、制御手順、具体的名称、各処理の登録データや検索条件等のパラメータを含む情報、画面例、データベース構成については、特記する場合を除いて任意に変更することができる。
【0083】
また、情報処理装置100に関して、図示の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。
【0084】
例えば、情報処理装置100が備える処理機能、特に制御部102にて行われる各処理機能については、その全部または任意の一部を、CPUおよび当該CPUにて解釈実行されるプログラムにて実現してもよく、また、ワイヤードロジックによるハードウェアとして実現してもよい。尚、プログラムは、本実施形態で説明した処理を情報処理装置に実行させるためのプログラム化された命令を含む一時的でないコンピュータ読み取り可能な記録媒体に記録されており、必要に応じて情報処理装置100に機械的に読み取られる。すなわち、ROMまたはHDD(Hard Disk Drive)などの記憶部などには、OSと協働してCPUに命令を与え、各種処理を行うためのコンピュータプログラムが記録されている。このコンピュータプログラムは、RAMにロードされることによって実行され、CPUと協働して制御部を構成する。
【0085】
また、このコンピュータプログラムは、情報処理装置100に対して任意のネットワークを介して接続されたアプリケーションプログラムサーバに記憶されていてもよく、必要に応じてその全部または一部をダウンロードすることも可能である。
【0086】
また、本実施形態で説明した処理を実行するためのプログラムを、一時的でないコンピュータ読み取り可能な記録媒体に格納してもよく、また、プログラム製品として構成することもできる。ここで、この「記録媒体」とは、メモリーカード、USB(Universal Serial Bus)メモリ、SD(Secure Digital)カード、フレキシブルディスク、光磁気ディスク、ROM、EPROM(Erasable Programmable Read Only Memory)、EEPROM(登録商標)(Electrically Erasable and Programmable Read Only Memory)、CD-ROM(Compact Disk Read Only Memory)、MO(Magneto-Optical disk)、DVD(Digital Versatile Disk)、および、Blu-ray(登録商標) Disc等の任意の「可搬用の物理媒体」を含むものとする。
【0087】
また、「プログラム」とは、任意の言語または記述方法にて記述されたデータ処理方法であり、ソースコードまたはバイナリコード等の形式を問わない。なお、「プログラム」は必ずしも単一的に構成されるものに限られず、複数のモジュールやライブラリとして分散構成されるものや、OSに代表される別個のプログラムと協働してその機能を達成するものをも含む。なお、実施形態に示した各装置において記録媒体を読み取るための具体的な構成および読み取り手順ならびに読み取り後のインストール手順等については、周知の構成や手順を用いることができる。
【0088】
記憶部106に格納される各種のデータベース等は、RAM、ROM等のメモリ装置、ハードディスク等の固定ディスク装置、フレキシブルディスク、および、光ディスク等のストレージ手段であり、各種処理やウェブサイト提供に用いる各種のプログラム、テーブル、データベース、および、ウェブページ用ファイル等を格納する。
【0089】
また、情報処理装置100は、既知のパーソナルコンピュータまたはワークステーション等の情報処理装置として構成してもよく、また、任意の周辺装置が接続された当該情報処理装置として構成してもよい。また、情報処理装置100は、当該装置に本実施形態で説明した処理を実現させるソフトウェア(プログラムまたはデータ等を含む)を実装することにより実現してもよい。
【0090】
更に、装置の分散・統合の具体的形態は図示するものに限られず、その全部または一部を、各種の付加等に応じてまたは機能負荷に応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。すなわち、上述した実施形態を任意に組み合わせて実施してもよく、実施形態を選択的に実施してもよい。
【符号の説明】
【0091】
100 情報処理装置
102 制御部
102a 自動操作部
102b 検知部
102c 判定部
102d 自動回答部
102e 業務システム(業務用アプリケーション)
104 通信インターフェース部
106 記憶部
106a 定義ファイル
106b マスタ
108 入出力インターフェース部
112 入力装置
114 出力装置
200 サーバ
300 ネットワーク
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15