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

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

▶ 日本電信電話株式会社の特許一覧

特許7605310判定装置、判定方法および判定プログラム
<>
  • 特許-判定装置、判定方法および判定プログラム 図1
  • 特許-判定装置、判定方法および判定プログラム 図2
  • 特許-判定装置、判定方法および判定プログラム 図3
  • 特許-判定装置、判定方法および判定プログラム 図4
  • 特許-判定装置、判定方法および判定プログラム 図5
  • 特許-判定装置、判定方法および判定プログラム 図6
  • 特許-判定装置、判定方法および判定プログラム 図7
  • 特許-判定装置、判定方法および判定プログラム 図8
  • 特許-判定装置、判定方法および判定プログラム 図9
  • 特許-判定装置、判定方法および判定プログラム 図10
  • 特許-判定装置、判定方法および判定プログラム 図11
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-12-16
(45)【発行日】2024-12-24
(54)【発明の名称】判定装置、判定方法および判定プログラム
(51)【国際特許分類】
   G06F 8/20 20180101AFI20241217BHJP
【FI】
G06F8/20
【請求項の数】 7
(21)【出願番号】P 2023526836
(86)(22)【出願日】2021-06-11
(86)【国際出願番号】 JP2021022417
(87)【国際公開番号】W WO2022259558
(87)【国際公開日】2022-12-15
【審査請求日】2023-11-08
(73)【特許権者】
【識別番号】000004226
【氏名又は名称】日本電信電話株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】横瀬 史拓
(72)【発明者】
【氏名】土川 公雄
(72)【発明者】
【氏名】八木 佐也香
(72)【発明者】
【氏名】卜部 有記
(72)【発明者】
【氏名】若杉 泰輔
(72)【発明者】
【氏名】大石 晴夫
【審査官】千葉 久博
(56)【参考文献】
【文献】特開2018-128854(JP,A)
【文献】国際公開第2020/235085(WO,A1)
【文献】中国特許出願公開第111597550(CN,A)
【文献】八木 佐也香 Sayaka YAGI 外4名,操作ログのタイムライン可視化における対話的なグルーピング方法の検討 An Interactive Grouping Method f,電子情報通信学会技術研究報告 Vol.119 No.111 IEICE Technical Report,日本,一般社団法人電子情報通信学会 The Institute of Ele,2019年08月15日,ISSN 0913-2432-6380
(58)【調査した分野】(Int.Cl.,DB名)
G06F 8/20
(57)【特許請求の範囲】
【請求項1】
ログイベントを受け付ける受付部と、
前記ログイベントに含まれるログの属性値に基づいて、前記ログイベントの同一性を判定するための判定基準を推定する推定部と、
前記判定基準に基づいて、処理対象のログイベントに対して同一性を判定する判定部と、
を備えることを特徴とする判定装置。
【請求項2】
前記受付部は、前記ログイベントとして、複数の操作イベントの画像のうち、ユーザによって同一の操作と関連付けされた操作イベントの画像を受け付け、
前記推定部は、前記ログとして操作ログの共通する前記属性値を抽出することによって、前記判定基準を推定し、
前記判定部は、抽出された前記属性値を用いて、前記処理対象の操作イベントに対して同一性を判定する、
ことを特徴とする請求項1に記載の判定装置。
【請求項3】
前記受付部は、時系列順に表示された複数の操作イベントのキャプチャ画像のうち、前記ユーザによって同一の操作として関連付けされた前記キャプチャ画像の組み合わせを受け付け、
前記推定部は、属性の要素ごとに設定された条件にしたがって前記属性の要素に共通して含まれる文字列または数値範囲を抽出することによって、同一の操作として関連付けされた前記操作イベントの集合内の第1の判定基準を推定し、
前記判定部は、前記第1の判定基準を用いて、前記文字列を含む操作イベント、または前記数値範囲を満たす操作イベントをマッチングすることによって、前記処理対象の操作イベントに対して同一性を判定する、
ことを特徴とする請求項2に記載の判定装置。
【請求項4】
前記推定部は、前記第1の判定基準を比較することによって、同一の操作として関連付けされた前記操作イベントの集合間の第2の判定基準をさらに推定し、
前記判定部は、前記第2の判定基準を用いて、前記属性の要素ごとに設定された前記条件の採用結果をマッチングすることによって、前記処理対象の操作イベントに対して同一性を判定する、
ことを特徴とする請求項3に記載の判定装置。
【請求項5】
前記判定部は、同一性を判定した判定結果を前記ユーザに提示し、前記ユーザによって承認された前記判定結果を出力することによって、前記処理対象の前記操作イベントに対して同一性を判定する、
ことを特徴とする請求項4に記載の判定装置。
【請求項6】
判定装置によって実行される判定方法であって、
ログイベントを受け付ける工程と、
前記ログイベントに含まれるログの属性値に基づいて、前記ログイベントの同一性を判定するための判定基準を推定する工程と、
前記判定基準に基づいて、処理対象のログイベントに対して同一性を判定する工程と、
を含むことを特徴とする判定方法。
【請求項7】
ログイベントを受け付けるステップと、
前記ログイベントに含まれるログの属性値に基づいて、前記ログイベントの同一性を判定するための判定基準を推定するステップと、
前記判定基準に基づいて、処理対象のログイベントに対して同一性を判定するステップと、
をコンピュータに実行させることを特徴とする判定プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、判定装置、判定方法および判定プログラムに関する。
【背景技術】
【0002】
従来、業務の改善点等を見つけるため、業務で行われる作業の流れを分析して可視化するプロセスマイニングの手法が知られている。このようなプロセスマイニングの手法において分析や可視化に使われる情報は、分析対象のイベントが記録されたログである。例えば、分析対象となるイベントは、業務の種類や分析したい粒度にもよって様々なものがあるが、例えば「ボタンのクリック」や「テキストボックスへの入力」などのGUI(Graphical User Interface)操作を対象とすることがある。
【0003】
プロセスマイニングに使われるログは、例えば、「分析対象の情報のみに絞られている」「案件ごとに分割されている」「イベントが識別できる状態になっている」の要件を満たしている必要がある。例えば、PC(Personal Computer)上の操作を記録した操作ログでは、プロセスマイニングに使われるログの要件を満たしていない場合が多い。そのため、プロセスマイニングを行う際には、例えば、3つの事前処理「不要操作イベントの除去」「同一操作イベントの判定」「案件単位の分割」によってこの要件を満たすよう操作ログを加工する必要がある。
【0004】
ここで、「同一操作の判定」処理とは、操作ログの中で同一の意味を持つ操作を判定し、作業のイベントとして識別できる状態にする処理である。つまり、操作ログは、記録時のGUIの情報がそのまま記録されているだけであるため、初期状態では全ての操作が別々のイベントになってしまう。そのため、作業における操作の意味を考慮して同一のイベントを識別する処理が必要になる。従来では、業務の改善点を見つけるためのPC上の操作の分析・可視化においては、人間が目視で操作ログを確認し同一とみなされる複数のイベントに対して固有の操作種別IDを付加するなどして、同一の操作イベントを結び付ける処理を手作業で行っている。
【先行技術文献】
【非特許文献】
【0005】
【文献】横瀬、卜部、八木、他:DX推進に貢献する業務可視化技術、 2020年、NTT技術ジャーナル、2020 vol.32 No.2, p.72-75、[online]、[2021年4月23日検索]、インターネット<https://journal.ntt.co.jp/article/880>
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、上述した従来技術では、プロセスマイニングの事前処理において、同一の操作イベントを容易に結び付けすることができない。なぜならば、上述した従来技術には、以下のような課題があるためである。
【0007】
まず、操作ログ上では同一の操作が判定できないため、同一の操作イベントを結び付ける必要がある。また、手作業で1つずつ結び付けることもできるが、ログの量が多い場合は全てを手作業で結び付けるのは困難である。
【0008】
一方、プロセスマイニングの分析対象のシステムは内部的な作りが違うため、固定的なルール・アルゴリズムでは自動的に結び付けを判定することができない。また、上記システムの内部的な作りや作業に合わせてルール・アルゴリズムを手動でカスタマイズすることにより対応することもできるが、それには上記システムの内部的な作りや操作ログに含まれる属性値の意味を理解しなくてはいけないため、一般的なユーザには困難である。
【課題を解決するための手段】
【0009】
上述した課題を解決し、目的を達成するために、本発明に係る判定装置は、ログイベントを受け付ける受付部と、前記ログイベントに含まれるログの属性値に基づいて、前記ログイベントの同一性を判定するための判定基準を推定する推定部と、前記判定基準に基づいて、処理対象のログイベントに対して同一性を判定する判定部と、を備えることを特徴とする。
【0010】
また、本発明に係る判定方法は、判定装置によって実行される判定方法であって、ログイベントを受け付ける工程と、前記ログイベントに含まれるログの属性値に基づいて、前記ログイベントの同一性を判定するための判定基準を推定する工程と、前記判定基準に基づいて、処理対象のログイベントに対して同一性を判定する工程と、を含むことを特徴とする。
【0011】
また、本発明に係る判定プログラムは、ログイベントを受け付けるステップと、前記ログイベントに含まれるログの属性値に基づいて、前記ログイベントの同一性を判定するための判定基準を推定するステップと、前記判定基準に基づいて、処理対象のログイベントに対して同一性を判定するステップと、をコンピュータに実行させることを特徴とする。
【発明の効果】
【0012】
本発明では、プロセスマイニングの事前処理において、同一の操作イベントを容易に結び付けすることができる。
【図面の簡単な説明】
【0013】
図1図1は、第1の実施形態に係る判定装置の構成例を示すブロック図である。
図2図2は、第1の実施形態に係る記憶部に記憶されたログを示す図である。
図3図3は、第1の実施形態に係る操作イベントの結び付けによる例示の受付処理の一例を示す図である。
図4図4は、第1の実施形態に係る属性要素ごとのルール種別の一例を示す図である。
図5図5は、第1の実施形態に係る判定基準の推定処理の一例を示す図である。
図6図6は、第1の実施形態に係る操作イベント判定処理の一例を示す図である。
図7図7は、第1の実施形態に係る処理全体の流れの一例を示すフローチャートである。
図8図8は、プロセスマイニングについて説明する図である。
図9図9は、プロセスマイニングの事前処理について説明する図である。
図10図10は、従来の課題について説明する図である。
図11図11は、プログラムを実行するコンピュータを示す図である。
【発明を実施するための形態】
【0014】
以下に、本発明に係る判定装置、判定方法および判定プログラムの実施形態を図面に基づいて詳細に説明する。なお、本発明は、以下に説明する実施形態により限定されるものではない。
【0015】
〔第1の実施形態〕
以下に、第1の実施形態(適宜、本実施形態)に係る判定システムの処理、判定装置10の構成、各処理の詳細、各処理の流れを順に説明し、最後に本実施形態の効果を説明する。
【0016】
[判定システムの処理]
以下に、本実施形態に係る判定システム(適宜、本システム)の処理を説明する。本システムは、PC上の操作を記録した操作ログの処理に関して利用され、特に、ユーザの例示による同一操作イベントの自動判定処理を実行する。以下では、本システムの処理を従来の技術と比較しながら説明する。
【0017】
上述した、業務分析のためのプロセスマイニングの手法は市中で広く使われている。また、PC上の操作をログ(操作ログ)として記録する仕組みも存在する。このとき、操作ログをプロセスマイニングするには事前処理が必要になる場合がある。すなわち、操作ログ上では同一の操作が判定できないため、同一の操作イベントを結び付ける必要がある。また、手作業で1つずつ結び付けることもできるが、ログの量が多い場合は全てを手作業で結び付けるのは困難である。
【0018】
一方、プロセスマイニングの分析対象のシステムは内部的な作りが違うため、固定的なルール・アルゴリズムでは自動的に結び付けを判定することができない。また、上記システムの内部的な作りや作業に合わせてルール・アルゴリズムを手動でカスタマイズすることにより対応することもできるが、それには上記システムの内部的な作りや操作ログに含まれる属性値の意味を理解しなくてはいけない。
【0019】
そこで、本システムでは、以下のような処理を実行する。第1に、ユーザに共通する、すなわち同一性を判断する操作イベントを複数個例示させる。第2に、例示された操作イベント間の属性値の関係性から、結び付けを判定するためのルールを推定する。第3に、推定されたルールを使って同一操作イベントを自動的に判定する。以上の処理により、分析対象のシステム内部の作りや操作ログの属性値の深い理解がなくても、ユーザの例示により、同一の操作イベントの結び付けを自動的にできるようになる。
【0020】
[判定装置10の構成]
図1を用いて、本実施形態に係る判定装置10の構成を詳細に説明する。図1は、本実施形態に係る判定装置の構成例を示すブロック図である。判定装置10は、入力部11、出力部12、通信部13、記憶部14および制御部15を有する。
【0021】
入力部11は、当該判定装置10への各種情報の入力を司る。例えば、入力部11は、マウスやキーボード等で実現され、当該判定装置10への設定情報等の入力を受け付ける。また、出力部12は、当該判定装置10からの各種情報の出力を司る。例えば、出力部12は、ディスプレイ等で実現され、当該判定装置10に記憶された設定情報等を出力する。
【0022】
通信部13は、他の装置との間でのデータ通信を司る。例えば、通信部13は、各通信装置との間でデータ通信を行う。また、通信部13は、図示しないオペレータの端末との間でデータ通信を行うことができる。
【0023】
記憶部14は、制御部15が動作する際に参照する各種情報や、制御部15が動作した際に取得した各種情報を記憶する。ここで、記憶部14は、例えば、RAM(Random Access Memory)、フラッシュメモリ等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置等で実現され得る。なお、図1の例では、記憶部14は、判定装置10の内部に設置されているが、判定装置10の外部に設置されてもよいし、複数の記憶部が設置されていてもよい。
【0024】
記憶部14は、処理対象の操作ログを記憶する。例えば、記憶部14は、操作ログとして、操作の「発生時刻」「操作されたGUI部品の固有情報」等を記憶する。また、操作ログは、1つの操作イベントの情報は複数の属性値(列、項目)の集まりとして表現される。
【0025】
ここで図2を用いて、記憶部14に記憶された操作ログについて説明する。図2は、記憶部14に記憶されたログを示す図である。図2の例では、例を簡潔にするためブラウザ上の操作のみを記録した操作ログを想定している。そのため、ログの属性値にはブラウザに関連するもののみを示している。
【0026】
なお、操作ログには、PC上のGUI操作に加えて、何らかの入力装置による入力を記録したり、CUI(Character-based User Interface)上のコマンド入力を記録したりしてもよい。それらの別種の操作を記録する場合は、必要に応じてログの項目を増やす必要がある。
【0027】
図2に例示するように、記憶部14は、「日時」、「操作種別」、「URL」、「タイトル」、「tagName」、「type」、「id」、「value」、「name」、「className」、「left」、「top」、「width」、「height」を記憶する。なお、記憶部14は、記憶する操作ログとして上述したものに限定されるものではなく、例えば、操作時の画像キャプチャ等も記憶してもよい。
【0028】
図2の例では、記憶部14は、その項目が設定されていない場合や取得できない場合は、その値が設定されていないことを示す「null」値が記憶される。なお、操作ログに含まれる属性要素は直接取得した情報そのものである必要はなく、加工されていたり、複数の情報を組み合わせていたり、最終的に操作ログに含まれない情報を利用して加工されていたりしてもよい。また、記憶部14は、作業の中で発生したイベントの順番が分かるように、イベントの時系列順に操作ログを記憶する。
【0029】
制御部15は、当該判定装置10全体の制御を司る。制御部15は、受付部15a、推定部15bおよび判定部15cを有する。ここで、制御部15は、例えば、CPU(Central Processing Unit)やMPU(Micro Processing Unit)等の電子回路やASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路である。
【0030】
(受付部15a)
受付部15aは、ログイベントとして、操作イベントを受け付ける。例えば、受付部15aは、複数の操作イベントの画像のうち、ユーザによって同一の操作と関連付けされた操作イベントの画像を受け付ける。すなわち、受付部15aは、時系列順に表示された複数の操作イベントのキャプチャ画像のうち、ユーザによって同一の操作として関連付けされたキャプチャ画像の組み合わせを受け付ける。ここで、ログイベントとは、操作イベントの他、同様の構造を持つログを含むイベント(例えば、電話の受信発信履歴等)である。
【0031】
具体例を用いて説明すると、受付部15aは、ユーザの端末の画面に時系列でビジュアル表示されたキャプチャ画像をユーザのクリック操作によって、複数の操作イベントが選択された場合、選択されたキャプチャ画像と紐づけされた操作イベントの操作ログを「同一の操作ログ」として受け付ける。さらに、受付部15aは、別の複数の操作イベントが選択された場合、選択されたキャプチャ画像と紐づけされた操作イベントの操作ログを別の「同一の操作ログ」として受け付ける。なお、上記の受付処理については、後述する[各処理の詳細](1.操作イベントの結び付けによる例示の受付処理)においても詳細に説明する。
【0032】
また、受付部15aは、記憶部14に記憶された操作ログを参照し、選択された操作ログを取得する。一方、受付部15aは、選択された操作ログの集合を推定部15bに出力する。なお、受付部15aは、選択された操作ログの集合を記憶部14に格納してもよい。
【0033】
(推定部15b)
推定部15bは、ログイベントとして、操作イベントに含まれる操作ログの属性値に基づいて、操作イベントの同一性を判定するための判定基準(ルール)を推定する。例えば、推定部15bは、操作ログの共通する前記属性値を抽出することによって、操作イベントの同一性を判定するための判定基準を推定する。すなわち、推定部15bは、属性の要素ごとに設定された条件にしたがって属性の要素に共通して含まれる文字列または数値範囲を抽出することによって、同一の操作として関連付けされた操作イベントの集合内の第1の判定基準を推定する。さらに、推定部15bは、第1の判定基準を比較することによって、同一の操作として関連付けされた操作イベントの集合間の第2の判定基準を推定する。
【0034】
具体例を用いて説明すると、推定部15bは、受付部15aによって同一の操作イベントとして受け付けられた複数の操作ログにおいて、属性要素「操作種別」(ルール種別A:完全一致で文字列を判定する)の属性値として、全てに共通する文字列「input」が含まれている場合、属性要素「操作種別」が完全一致する操作イベントを、同一操作集合内の判定基準(第1の判定基準)として推定する。また、推定部15bは、受付部15aによって同一の操作イベントとして受け付けられた複数の操作ログの集合間において、属性要素「操作種別」が完全一致する場合、属性要素「操作種別」が完全一致する操作イベントを、同一操作集合間の判定基準(第2の判定基準)、すなわち最終的な判断基準として推測する。なお、上記の推定処理については、後述する[各処理の詳細](4.各属性値のルールの推定処理)においても詳細に説明する。
【0035】
また、推定部15bは、受付部15aによって出力された操作ログの集合と、記憶部14に記憶された属性値のルール種別とを取得し、共通して含まれる文字列または数値範囲を判定基準として抽出する。さらに、推定部15bは、複数の操作ログの集合が属性値のルール種別を満たすパターンを判定基準として抽出してもよい。一方、推定部15bは、抽出した判定基準を判定部15cに出力する。なお、推定部15bは、抽出した判定基準を記憶部14に格納してもよい。
【0036】
(判定部15c)
判定部15cは、判定基準に基づいて、処理対象のログイベントとして、処理対象の操作イベントに対して同一性を判定する。例えば、判定部15cは、抽出された属性値を用いて、処理対象の操作イベントに対して同一性を判定する。すなわち、判定部15cは、第1の判定基準を用いて、文字列を含む操作イベント、または数値範囲を満たす操作イベントをマッチングすることによって、処理対象の操作イベントに対して同一性を判定する。さらに、判定部15cは、第2の判定基準を用いて、属性の要素ごとに設定された条件の採用結果をマッチングすることによって、処理対象の操作イベントに対して同一性を判定する。
【0037】
具体例を用いて説明すると、判定部15cは、属性要素「操作種別」が完全一致することが同一操作集合内の判定基準(第1の判定基準)として推測された場合、「操作種別」が完全一致することを、操作イベントの同一性を判定するための条件であると推定する。さらに、判定部15cは、属性要素「操作種別」が完全一致する操作イベントを、同一操作集合間の判定基準(第2の判定基準)として最終的な判断基準が推測された場合、ユーザによって結び付けされなかった操作イベントから属性要素「操作種別」に完全一致するものを検索し、検索された操作イベントを判定結果として出力する。なお、上記の判定処理については、後述する[各処理の詳細](5.操作イベントの判定処理)においても詳細に説明する。
【0038】
また、判定部15cは、出力した判定結果を出力部12に送信する。なお、判定部15cは、出力した判定結果を記憶部14に格納してもよい。
【0039】
加えて、判定部15cは、同一性を判定した判定結果をユーザに提示し、ユーザによって承認された判定結果を出力することによって、処理対象の操作イベントに対して同一性を判定する。
【0040】
具体例を用いて説明すると、判定部15cは、属性要素「操作種別」が完全一致するものを同一操作イベントとして複数のビジュアル画像で出力した場合、ユーザのクリック操作によってビジュアル画像を選択された操作イベントを、確定した判定結果として再度出力する。なお、上記の推定処理については、後述する[各処理の詳細](6.ユーザとの対話による判定処理)においても詳細に説明する。
【0041】
[各処理の詳細]
図3図6や数式等を用いて、本実施形態に係る各処理の詳細を説明する。以下では、操作イベントの結び付けによる例示の受付処理、各属性値のルール種別、ルールの詳細およびルールの推定処理、操作イベントの判定処理について詳細に説明する。
【0042】
(1.操作イベントの結び付けによる例示の受付処理)
図3を用いて、操作イベントの結び付けによる例示を受け付ける処理について説明する。図3は、第1の実施形態に係る操作イベントの結び付けによる例示の受付処理の一例を示す図である。
【0043】
まず、ユーザに、同一の操作の組み合わせを1組以上例示させる。例えば、図3のように操作イベントを時系列でビジュアルに表示し、ユーザに同一の操作を関連付けさせるとよい。図3では、1つの操作イベントが1つのノードとして表示されていて、そのノードには操作イベントの記録と同時に記録したキャプチャ画像を表示し、その画像上に操作位置を太枠で表示している。このように表示することで、ユーザは操作ログに記録された内容を理解しなくても、各操作イベントが具体的にどの操作かを認識することができる。
【0044】
そして、判定装置10は、ユーザが結び付けた操作イベントを、ユーザの例示として受け付ける。なお、図3では、どの結び付けも2つの操作イベントの組み合わせとなっている(図3(1)(2)参照)が、3つ以上の操作イベントの組み合わせであってもよい。
【0045】
(2.各属性値のルール種別)
図4を用いて、各属性値のルール種別について説明する。図4は、第1の実施形態に係る各属性値のルール種別の一例を示す図である。
【0046】
判定装置10は、操作イベントの各属性値の性質に合わせて、図4にも示す下記の4種のルールを適用する。第1のルールは、「完全一致で文字列を判定する」(ルール種別A)であり、第2のルールは、「部分一致で文字列を判定する」(ルール種別B)であり、第3のルールは、「数値の範囲で判定する」(ルール種別C)であり、第4のルールは、「判定に利用しない」(ルール種別D)である。
【0047】
ユーザは、図4のように、属性要素と利用するルール種別を事前に結び付けておく。例えば、図4では、「操作種別」、「tagName」、「type」、「id」、「name」の属性要素にはルール種別Aを適用し、「URL」、「タイトル」の属性要素にはルール種別Bを適用し、「width」、「height」の属性要素にはルール種別Cを適用し、「日時」、「value」、「className」、「left」、「top」の属性要素にはルール種別Dを適用している。なお、ユーザは、上記の4種のルールの一部を使わなかったり、他の種類のルールを追加したりしてもよい。
【0048】
(3.各属性値のルールの詳細)
ルールの推定処理に先立って、上記の各属性値のルールの詳細を説明する。以下では、完全一致で判定する文字列(ルールの詳細1)、部分一致で判定する文字列(ルールの詳細2)、数値の範囲で判定する項目(ルールの詳細3)の順に説明する。
【0049】
(ルールの詳細1:完全一致で判定する文字列)
第1に、完全一致で文字列を判定するルール(ルール種別A)の詳細について説明する。以下では、ルール種別Aを適用したルールの推定処理1(第1段階)、ルール種別Aを適用したルールの推定処理2(第2段階)、ルールのマッチング処理の順について説明する。
【0050】
(ルールの推定処理1:同一操作集合内での推定処理)
判定装置10は、例示された同一操作集合において、全ての属性値が完全一致する場合は、該当の属性要素について本ルールを採用する。一方、判定装置10は、例示された同一操作集合において、属性値が完全一致しない場合は、該当の属性要素について本ルールを不採用とする。なお、例示された同一操作集合において、全ての属性値が「null」である場合も、該当の属性要素について本ルールを採用する。
【0051】
(ルールの推定処理2:同一操作集合間での推定処理)
判定装置10は、複数の同一操作集合の間の関係で、不採用の同一操作集合があれば、全体として不採用とする。
【0052】
(ルールのマッチング処理)
判定装置10は、比較対象の操作イベント間で、該当の属性値が完全一致する場合は、本ルールがマッチ(一致した)とする。また、判定装置10は、大文字/小文字を区別しなくてよい場合は、該当の属性値を大文字または小文字に変換した値で比較を行う。
【0053】
(ルールの詳細2:部分一致で判定する文字列)
第2に、部分一致で文字列を判定するルール(ルール種別B)の詳細について説明する。以下では、ルール種別Bを適用したルールの推定処理1(第1段階)、ルール種別Bを適用したルールの推定処理2(第2段階)、ルールのマッチング処理の順について説明する。
【0054】
(ルールの推定処理1:同一操作集合内での推定処理)
判定装置10は、例示された同一操作集合において、該当の属性値に「null」が含まれている場合は、該当の属性要素について本ルールを不採用とする。一方、判定装置10は、例示された同一操作集合において、最長の共通する部分文字列を見つける。このとき、例示された同一操作集合の中で、最長文字数の属性値の長さに対する共通する部分文字列の長さの割合を、最低一致割合(一致率)として求め、この最低一致割合を本ルールのパラメータとする。そして、判定装置10は、最低一致割合が閾値以下の場合は、本ルールを不採用とする。
【0055】
なお、上記の閾値は任意に設定できるが、例えば5割以下では不採用とするようにすればよい。また、より高度にするには、「前方一致」「後方一致」「部分一致」「完全一致」の真偽についての情報も考慮したり、共通部分を複数考慮するようにしたり、文字列長を考慮するようにしてもよい。
【0056】
(ルールの推定処理2:同一操作集合間での推定処理)
判定装置10は、比較対象の複数の操作イベント集合間で、不採用の同一操作集合があれば、全体として不採用とする。また、判定装置10は、比較対象の複数の操作イベント集合間で、最小の最低一致割合を全体のパラメータとする。
【0057】
(ルールのマッチング処理)
判定装置10は、比較対象の操作イベント間で、該当の属性値の最長の共通する部分文字列の割合が最低一致割合を超える場合は、本ルールがマッチ(一致した)とする。また、判定装置10は、大文字/小文字を区別しなくてよい場合は、該当の属性値を大文字または小文字に変換した値で比較を行う。
【0058】
(ルールの詳細3:数値の範囲で判定する項目)
第3に、数値の範囲で判定するルール(ルール種別C)の詳細について説明する。以下では、ルール種別Cを適用したルールの推定処理1(第1段階)、ルール種別Cを適用したルールの推定処理2(第2段階)、ルールのマッチング処理の順について説明する。
【0059】
(ルールの推定処理1:同一操作集合内での推定処理)
判定装置10は、例示された同一操作集合において、「該当の属性値にnullが含まれている場合」「該当の属性値に数値として取り扱えない値が含まれている場合」「該当の属性値にその他の異常な値が含まれている場合(例:横幅(width)がマイナスの値)」は、該当の属性要素について本ルールを不採用とする。
【0060】
また、判定装置10は、例示された同一操作集合において、標準偏差σを算出し、これを本ルールのパラメータとする。このとき、判定装置10は、標準偏差σが一定の閾値以上の場合や、十分な数が例示されない場合(1つだけしか例示されない)は、本ルールを不採用としてよい。例えば、閾値を30として、30以上の場合はばらつきが大きく共通性がほとんどないとみなして不採用とする。
【0061】
(ルールの推定処理2:同一操作集合間での推定処理)
判定装置10は、比較対象の複数の操作イベント集合間で、不採用の同一操作集合があれば、全体として不採用とする。また、判定装置10は、比較対象の複数の操作イベント集合間で、最大の標準偏差σを全体のパラメータとする。
【0062】
(ルールのマッチング処理)
判定装置10は、比較対象の操作イベント間で、該当の属性値が、(2つの属性要素の値の差の絶対値)≦2kσの範囲にある場合は、本ルールがマッチ(一致した)とする。ここで、kは定数であり、任意に決定する。また、値のばらつきが正規分布に従うと仮定する場合は、一般的にk=3(99.7%の範囲)とするとよい。
【0063】
(4.各属性値のルールの推定処理)
図5を用いて、各属性値のルールを推定する処理の詳細について説明する。図5は、第1の実施形態に係る判定基準の推定処理の一例を示す図である。判定装置10は、以下のように、まず、第1段階として、同一操作と例示された操作イベント群ごとに、ルールを推定する。次に、第2段階として、さらに複数の同一操作集合の間の関係で、ルールを推定する。図5では、例示された2つの操作イベントを含む同一操作集合が2つ示されている(図5上段、下段参照)。
【0064】
(第1段階)
第1段階の推定処理として、例示された同一操作集合内のルール推定について説明する。まず、判定装置10は、属性要素ごとに事前に設定されたルール種別にしたがい、各属性要素に対して「採用」または「不採用」を決定する。次に、判定装置10は、属性要素ごとに事前に設定されたルール種別にしたがい、「採用」と決定された属性要素の属性値からパラメータを抽出する。そして、判定装置10は、各属性要素に対して「採用」または「不採用」の別、または抽出したパラメータを当該属性要素に対応するルール(第1の判定基準)として推定する。
【0065】
図5の上段の例では、判定装置10は、属性要素「操作種別」(ルール種別A:完全一致で文字列を判定する)の属性値として、文字列「input」が完全一致するので、当該属性要素を「採用」と決定する。また、図5の下段の例では、判定装置10は、属性要素「操作種別」(ルール種別A:完全一致で文字列を判定する)の属性値として、文字列「click」が完全一致するので、当該属性要素を「採用」と決定する。
【0066】
また、図5の上段および下段の例では、判定装置10は、属性要素「URL」(ルール種別B:部分一致で文字列を判定する)の属性値として、41文字中の最後の1文字だけが異なるので、一致率として97%(40/41=0.976)と算出し、当該属性要素を「採用」と決定する。
【0067】
(第2段階)
第2段階の推定処理として、例示された複数の同一操作集合間での整合性を確認する処理について説明する。まず、判定装置10は、複数の同一操作集合において、各属性要素の「採用」「不採用」の別を比較する。このとき、判定装置10は、比較対象の複数の同一操作集合間で、不採用の同一操作集合があれば、全体として不採用とする。そして、判定装置10は、一致した各属性要素の「採用」「不採用」のパターンをルール(第2の判定基準)として推定する。すなわち、第2段階の推定処理は、同一操作集合に含まれる操作において、どの属性値が共通しているかのルールを見つける処理といえる。
【0068】
図5の例では、判定装置10は、上段の同一操作集合の属性要素「操作種別」が「採用」と決定され、下段の同一操作集合の属性要素「操作種別」も「採用」と決定されているため、「操作種別」が完全一致することを、操作イベントの同一性を判定するための条件であると推定する。同様にして、判定装置10は、他の属性要素についても「採用」「不採用」の別を比較する。図5では、判定装置10は、上段と下段の同一操作集合の全ての「採用」「不採用」のパターンが一致しているので、当該パターンを最終的な判定基準として推定する。
【0069】
(5.操作イベントの判定処理)
図6を用いて、推定されたルールから同一操作イベントを判定する処理の詳細について説明する。図6は、第1の実施形態に係る操作イベント判定処理の一例を示す図である。判定装置10は、以下のように、推定されたルールを用いて、例示された操作イベント以外の操作イベントに対して、ルールのチェックを行い、同一性の判定を行う。
【0070】
図6の例では、判定装置10は、例示された複数の操作イベント集合(図6(1)(2)参照)から推測された操作イベント集合間のルール(例:各属性要素の「採用」「不採用」のパターン)を用いて、例示されていない操作イベントに対して同一性の判定を行い、同一操作イベントの組み合わせを出力する(図6(3)(4)(5)参照)。
【0071】
また、判定装置10は、例示された操作イベント集合から推測された操作イベント集合内のルール(例:各属性要素のパラメータ)を用いて、例示されていない操作イベントに対して同一性の判定を行い、例示されていない同一操作イベントを出力してもよい。
【0072】
(6.ユーザとの対話による判定処理)
以下では、ユーザとの対話による操作イベントを判定する処理の詳細について説明する。判定装置10は、上述した例示された操作イベントの数が少なかったり、例示された操作イベントの多様性が不十分であったりする場合等、操作イベントの同一性を正しく判定できない場合がある。そのため、判定装置10は、判定結果を即座に確定するのではなく、判定された操作イベントをユーザに仮で示し、ユーザに確認を取ってから判定結果を確定させることもできる。すなわち、判定装置10は、提示した判定結果がユーザによって不適切と判断された場合は、いったん仮の判定結果を取り消し、例示を増やすようにユーザに促すこともできる。
【0073】
このような対話的なやり取りによって、徐々に例示数を増やすようにすることで、より効率的にユーザに例示させることができる。さらに、設定されている各種閾値や、推定により採用されたルールのON/OFFを許すようなUI(User Interface)を提供することで、より高度なユーザの要求に応えることもできる。
【0074】
[各処理の流れ]
図7を用いて、本実施形態に係る各処理の流れを詳細に説明する。図7は、第1の実施形態に係る処理全体の流れの一例を示すフローチャートである。以下では、判定処理全体の流れを示すとともに、各処理の概要を説明する。
【0075】
(処理全体の流れ)
まず、判定装置10の受付部15aは、操作イベント選択受付処理を実行する(ステップS101)。次に、判定装置10の推定部15bは、判定ルール推定処理を実行する(ステップS102)。そして、推定装置10の判定部15cは、操作イベント判定処理を実行し(ステップS103)、処理を終了する。なお、下記のステップS101~S103は、異なる順序で実行することもできる。また、下記のステップS101~S103のうち、省略される処理があってもよい。
【0076】
(各処理の流れ)
第1に、受付部15aによる操作イベント選択受付処理について説明する。この処理では、ユーザに、同一の操作イベントの組み合わせを1組以上例示させ、例示された同一操作イベントの操作ログを受け付ける。このとき、操作イベントを時系列でビジュアルに表示し、ユーザに結び付きを選択させることにより、ユーザは操作ログに記録された属性値の内容を理解しなくても、各操作イベントが具体的にどの操作かを認識することができる。
【0077】
第2に、推定部15bによる判定ルール推定処理について説明する。この処理では、選択を受け付けた操作イベントの属性要素ごとに事前に設定されたルール種別にしたがい、各属性要素に対して「採用」または「不採用」を決定し、「採用」と決定された属性要素の属性値からパラメータを抽出し、抽出したパラメータを当該属性要素に対応するルールとして推定する。このとき、属性要素と利用するルール種別を事前に結び付けておくことで、選択した操作イベントの判定ルールを効果的に推定することができる。また、この処理では、各属性要素の「採用」または「不採用」のパターンから、ユーザが同一と判断するルールも推定し、例示された操作イベント以外にも、同一操作イベントを推定することができる。
【0078】
第3に、判定部15cによる判定ルール推定処理について説明する。この処理では、推定された判定ルールを用いて、例示された操作イベント以外の操作イベントに対して、ルールのチェックを行い、同一操作イベントを判定する。このとき、判定結果を即座に確定するのではなく、判定された操作イベントをユーザに仮で示し、ユーザに確認を取ってから同一操作イベントの判定結果を確定させるようにすることで、対話的なやり取りによって徐々に例示数を増やすようにユーザに促すことができ、容易かつ効果的に同一操作イベントを判定することができる。
【0079】
[第1の実施形態の効果]
第1に、上述した本実施形態に係る判定処理では、操作イベントを受け付け、操作イベントに含まれる操作ログの属性値に基づいて、操作イベントの同一性を判定するための判定基準を推定し、推定した判定基準に基づいて、処理対象の操作イベントに対して同一性を判定する判定部と、このため、本処理では、プロセスマイニングの事前処理において、同一の操作イベントを容易に結び付けすることができる。
【0080】
ここで、プロセスマイニングについて説明する。プロセスマイニングでは、図8に例示するように、イベントの順番や関係性を可視化することで、業務で行われる作業の流れを分析することができる。図8は、プロセスマイニングについて説明する図である。
【0081】
このようなプロセスマイニングでは、図9に示すように、プロセスマイニングを行う際には、例えば、事前処理として、「不要操作イベントの除去」「同一操作イベントの判定」「案件単位の分割」を必要がある。図9は、プロセスマイニングの事前処理について説明する図である。
【0082】
従来では、このような事前処理を手動で行う。例えば、このような事前処理を手動で行う際に、図10に示すように、現場のユーザは画面キャプチャから直感的に例示可能だが、操作ログを処理するのは容易ではない場合がある。図10は、従来の課題について説明する図である。例えば、操作ログで記録されている属性値は、解釈に専門的な知識が必要である。例えば、ブラウザ上の操作を記録した操作ログの意味を解釈するには、HTML(Hyper Text Markup Language)やDOMの知識が必要となる。また、URLなどは、同一のページであっても完全に同一にならない場合がある。また、例えば、セッションIDを含む場合には、ログインするたびにURLの一部が変化してしまうため、URLの同一性を判断するにはURLの生成ルールを推測する必要がある。
【0083】
このように、画面内の見た目と内部的な作り(IDの付与方法など)に関連性はないため、一般的なユーザでも判断できるような見た目が類似性からでは内部の作りを推測することはできない。画面内の内部的な作りは様々であるため、一定のアルゴリズムでは常に最良の判断を行うことはできない。専門的な知識を持つユーザが操作ログの傾向からルールを推定して、アルゴリズムを組むことで様々な画面の作りに対応可能であるが、一般的なユーザには困難である。
【0084】
このため、操作ログの案件単位の分割を手作業で行う場合、作業者にシステム内部の作りや操作ログの属性値の意味の理解を要し、さらに大量のログを扱うには大きな稼働を要し、また、固定的なルール・アルゴリズムでは、システムは内部的な作りが違うため、案件単位になるように自動的に操作ログを分割することは難しいという課題があった。これに対して、本実施形態に係る判定処理では、プロセスマイニングの事前処理において、同一の操作イベントを容易に結び付けすることができる。また、以下では、さらに、本実施形態に係る判定処理で実現可能な効果について説明する。
【0085】
上述した本実施形態に係る判定処理では、複数の操作イベントの画像のうち、ユーザによって同一の操作と関連付けされた操作イベントの画像を受け付け、操作ログの共通する属性値を抽出することによって、判定基準を推定し、抽出した属性値を用いて、処理対象の操作イベントに対して同一性を判定する。このため、本処理では、プロセスマイニングの事前処理において、画像の操作をもとに操作ログの共通する属性値を利用することによって、同一の操作イベントを容易に結び付けすることができる。
【0086】
上述した本実施形態に係る判定処理では、時系列順に表示された複数の操作イベントのキャプチャ画像のうち、ユーザによって同一の操作として関連付けされた前記キャプチャ画像の組み合わせを受け付け、属性の要素ごとに設定された条件にしたがって属性の要素に共通して含まれる文字列または数値範囲を抽出することによって、同一の操作として関連付けされた操作イベントの集合内の第1の判定基準を推定し、第1の判定基準を用いて、当該文字列を含む操作イベント、または当該数値範囲を満たす操作イベントをマッチングすることによって、処理対象の操作イベントに対して同一性を判定する。このため、本処理では、プロセスマイニングの事前処理において、属性の要素ごとに設定された条件にしたがい、画像の操作をもとに操作ログの共通する属性値を利用することによって、同一の操作イベントを容易に結び付けすることができる。
【0087】
上述した本実施形態に係る判定処理では、第1の判定基準を比較することによって、同一の操作として関連付けされた操作イベントの集合間の第2の判定基準をさらに推定し、推定した第2の判定基準を用いて、属性の要素ごとに設定された前記条件の採用結果をマッチングすることによって、処理対象の操作イベントに対して同一性を判定する。このため、本処理では、プロセスマイニングの事前処理において、属性の要素ごとに設定された条件にしたがい、画像の操作をもとに操作ログの共通する属性値を利用することによって、複数の同一の操作イベント集合を容易に結び付けすることができる。
【0088】
上述した本実施形態に係る判定処理では、同一性を判定した判定結果をユーザに提示し、ユーザによって承認された判定結果を出力することによって、処理対象の操作イベントに対して同一性を判定する。このため、本処理では、プロセスマイニングの事前処理において、同一の操作イベントを容易に、より効果的に結び付けすることができる。
【0089】
〔システム構成等〕
上記実施形態に係る図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示のごとく構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【0090】
また、上記実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【0091】
〔プログラム〕
また、上記実施形態において説明した判定装置10が実行する処理をコンピュータが実行可能な言語で記述したプログラムを作成することもできる。この場合、コンピュータがプログラムを実行することにより、上記実施形態と同様の効果を得ることができる。さらに、かかるプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータに読み込ませて実行することにより上記実施形態と同様の処理を実現してもよい。
【0092】
図11は、プログラムを実行するコンピュータを示す図である。図11に例示するように、コンピュータ1000は、例えば、メモリ1010と、CPU1020と、ハードディスクドライブインタフェース1030と、ディスクドライブインタフェース1040と、シリアルポートインタフェース1050と、ビデオアダプタ1060と、ネットワークインタフェース1070とを有し、これらの各部はバス1080によって接続される。
【0093】
メモリ1010は、図11に例示するように、ROM(Read Only Memory)1011及びRAM1012を含む。ROM1011は、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース1030は、図11に例示するように、ハードディスクドライブ1090に接続される。ディスクドライブインタフェース1040は、図11に例示するように、ディスクドライブ1100に接続される。例えば、磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ1100に挿入される。シリアルポートインタフェース1050は、図11に例示するように、例えば、マウス1110、キーボード1120に接続される。ビデオアダプタ1060は、図11に例示するように、例えばディスプレイ1130に接続される。
【0094】
ここで、図11に例示するように、ハードディスクドライブ1090は、例えば、OS1091、アプリケーションプログラム1092、プログラムモジュール1093、プログラムデータ1094を記憶する。すなわち、上記のプログラムは、コンピュータ1000によって実行される指令が記述されたプログラムモジュールとして、例えば、ハードディスクドライブ1090に記憶される。
【0095】
また、上記実施形態で説明した各種データは、プログラムデータとして、例えば、メモリ1010やハードディスクドライブ1090に記憶される。そして、CPU1020が、メモリ1010やハードディスクドライブ1090に記憶されたプログラムモジュール1093やプログラムデータ1094を必要に応じてRAM1012に読み出し、各種処理手順を実行する。
【0096】
なお、プログラムに係るプログラムモジュール1093やプログラムデータ1094は、ハードディスクドライブ1090に記憶される場合に限られず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ等を介してCPU1020によって読み出されてもよい。あるいは、プログラムに係るプログラムモジュール1093やプログラムデータ1094は、ネットワーク(LAN(Local Area Network)、WAN(Wide Area Network)等)を介して接続された他のコンピュータに記憶され、ネットワークインタフェース1070を介してCPU1020によって読み出されてもよい。
【0097】
上記の実施形態やその変形は、本願が開示する技術に含まれると同様に、請求の範囲に記載された発明とその均等の範囲に含まれるものである。
【符号の説明】
【0098】
10 判定装置
11 入力部
12 出力部
13 通信部
14 記憶部
15 制御部
15a 受付部
15b 推定部
15c 判定部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11