(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024030527
(43)【公開日】2024-03-07
(54)【発明の名称】プログラム、情報処理方法および情報処理システム
(51)【国際特許分類】
G06Q 10/0633 20230101AFI20240229BHJP
【FI】
G06Q10/06 324
【審査請求】未請求
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2022133473
(22)【出願日】2022-08-24
(71)【出願人】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】110002918
【氏名又は名称】弁理士法人扶桑国際特許事務所
(72)【発明者】
【氏名】角田 忠信
(72)【発明者】
【氏名】山口 純平
(72)【発明者】
【氏名】坂巻 慶行
(72)【発明者】
【氏名】山本 里奈
(72)【発明者】
【氏名】兒島 尚
【テーマコード(参考)】
5L049
【Fターム(参考)】
5L049AA07
(57)【要約】
【課題】データの誤りを適切に検出すること。
【解決手段】記憶部は、第1ワークフローにおける第1ユーザの作業データの正誤の実績を示す正誤情報を記憶する。処理部は、正誤情報に基づいて第1ユーザの信頼度を算出する。処理部は、第1ユーザの信頼度に応じて、第1ユーザの作業データを第1ワークフローの正解データとするか否かを判定する。処理部は、新たに開始された第1ワークフローにより回送される第1データと第1ワークフローの正解データとの比較により第1データの正誤を判定する。
【選択図】
図13
【特許請求の範囲】
【請求項1】
コンピュータに、
第1ワークフローにおける第1ユーザの作業データの正誤の実績を示す正誤情報を取得し、
取得した前記正誤情報に基づいて前記第1ユーザの信頼度を算出し、
前記第1ユーザの信頼度に応じて、前記第1ユーザの前記作業データを前記第1ワークフローの正解データとするか否かを判定し、
新たに開始された前記第1ワークフローにより回送される第1データと前記第1ワークフローの前記正解データとの比較により前記第1データの正誤を判定する、
処理を実行させるプログラム。
【請求項2】
前記作業データを前記正解データとするか否かの判定では、前記第1ユーザの信頼度と前記第1ワークフローの回送先に含まれる第2ユーザの信頼度とに基づいて、前記作業データを前記正解データとするか否かを判定する、
処理を前記コンピュータに実行させる請求項1記載のプログラム。
【請求項3】
前記第1ユーザの信頼度と前記第2ユーザの信頼度とに基づいて、前記作業データを回送する前記第1ワークフローのワークフロー信頼度を計算し、前記ワークフロー信頼度が閾値よりも高いか否かを判定し、前記ワークフロー信頼度が前記閾値よりも高い場合、前記作業データを前記正解データとする、
処理を前記コンピュータに実行させる請求項2記載のプログラム。
【請求項4】
前記ワークフロー信頼度の計算では、前記第1ユーザの信頼度および前記第2ユーザの信頼度のうち、高い方の信頼度による前記ワークフロー信頼度への影響を、低い方の信頼度による前記ワークフロー信頼度への影響よりも大きくする融合演算を用いて、前記ワークフロー信頼度を計算する、
処理を前記コンピュータに実行させる請求項3記載のプログラム。
【請求項5】
前記第1ワークフローの前記正解データとする前記作業データが複数ある場合、複数の前記作業データに基づいて、前記正解データとする値の範囲を決定する、
処理を前記コンピュータに実行させる請求項1記載のプログラム。
【請求項6】
前記正誤情報の取得では、前記第1ワークフローの実行終了後に、前記第1ワークフローにおいて前記作業データが否決されたか否かに応じて、前記第1ユーザの前記作業データの正誤を決定する、
処理を前記コンピュータに実行させる請求項1記載のプログラム。
【請求項7】
前記正誤情報は、前記第1ワークフローに含まれる複数の作業のうち、前記第1ユーザが行った作業に対応する前記作業データの正誤の実績を示す、
請求項1記載のプログラム。
【請求項8】
前記第1データの正誤の判定により、前記第1データが誤っている場合、前記正解データと前記第1データとの差分を示す差分情報を、前記第1データに対する作業を行ったユーザが利用する端末装置に送信する、
処理を前記コンピュータに実行させる請求項1記載のプログラム。
【請求項9】
コンピュータが、
第1ワークフローにおける第1ユーザの作業データの正誤の実績を示す正誤情報を取得し、
取得した前記正誤情報に基づいて前記第1ユーザの信頼度を算出し、
前記第1ユーザの信頼度に応じて、前記第1ユーザの前記作業データを前記第1ワークフローの正解データとするか否かを判定し、
新たに開始された前記第1ワークフローにより回送される第1データと前記第1ワークフローの前記正解データとの比較により前記第1データの正誤を判定する、
情報処理方法。
【請求項10】
第1ワークフローにおける第1ユーザの作業データの正誤の実績を示す正誤情報を記憶する記憶部と、
前記正誤情報に基づいて前記第1ユーザの信頼度を算出し、前記第1ユーザの信頼度に応じて、前記第1ユーザの前記作業データを前記第1ワークフローの正解データとするか否かを判定し、新たに開始された前記第1ワークフローにより回送される第1データと前記第1ワークフローの前記正解データとの比較により前記第1データの正誤を判定する処理部と、
を有する情報処理システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明はプログラム、情報処理方法および情報処理システムに関する。
【背景技術】
【0002】
複数のユーザによる手続の支援にワークフローシステムが用いられることがある。ワークフローシステムは、複数のユーザによる一連の作業を示すワークフローを管理する。ワークフローシステムは、例えば申請書などのデータに対し、予め定めた承認ルートに従ってユーザに承認を依頼し、ユーザの承認を受け付けることで、ユーザによる申請や承認の作業を支援する。
【0003】
例えば、企業が保有する設備の少なくとも一部を変更する予定作業に対して評価される予定リスク指標に基づいて、予定作業の実施を承認するための承認ワークフローにおける承認者を決定するリスク指標算出装置の提案がある。
【0004】
また、ワークフローにおける何れかのタスクで失敗が発生した場合に、失敗したタスクを、当該タスクの作業者の成功率よりも高い成功率で処理する別の作業者に再処理させるワークフロー管理装置の提案がある。
【0005】
また、作業指示の割り当ておよびプロセスの追跡を行うワークフローを自動化するためのシステムの提案がある。提案のシステムは、建設作業指示書やエンジニアリング作業指示書などの作業指示書を自動的にキャプチャし、ビジネスルールに基づいて作業指示書をユーザに割り当てる。
【0006】
なお、クラウドコンピューティングサービスで実行されるアプリケーションのコードブロックまたは関数の結合を可能にするパイプラインまたはワークフローを、インフラストラクチャまたは処理環境のコンテキストの変化に応じて最適化する装置の提案がある。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開2020-194394号公報
【特許文献2】特開2019-212084号公報
【特許文献3】米国特許出願公開第2014/0012615号明細書
【特許文献4】米国特許出願公開第2019/0317805号明細書
【発明の概要】
【発明が解決しようとする課題】
【0008】
ワークフローは、ユーザの作業の対象となるデータを含む。データの内容はユーザにより入力される。このため、例えばユーザの記入誤りなどの作業ミスによりデータに誤りが生じ得る。データの誤りはワークフローにおける手戻りや遅延の要因となる。
【0009】
1つの側面では、本発明は、データの誤りを適切に検出可能にすることを目的とする。
【課題を解決するための手段】
【0010】
1つの態様では、プログラムが提供される。このプログラムは、コンピュータに、第1ワークフローにおける第1ユーザの作業データの正誤の実績を示す正誤情報を取得し、取得した正誤情報に基づいて第1ユーザの信頼度を算出し、第1ユーザの信頼度に応じて、第1ユーザの作業データを第1ワークフローの正解データとするか否かを判定し、新たに開始された第1ワークフローにより回送される第1データと第1ワークフローの正解データとの比較により第1データの正誤を判定する、処理を実行させる。
【0011】
また、1つの態様では、情報処理方法が提供される。また、1つの態様では、記憶部と処理部とを有する情報処理システムが提供される。
【発明の効果】
【0012】
1つの側面では、データの誤りを適切に検出できる。
【図面の簡単な説明】
【0013】
【
図1】第1の実施の形態の情報処理システムを説明する図である。
【
図2】第2の実施の形態の情報処理システムの例を示す図である。
【
図6】個人作業信頼度テーブルの例を示す図である。
【
図11】サーバの処理例を示すフローチャートである。
【
図12】WF完了時サブプロセスの例を示すフローチャートである。
【発明を実施するための形態】
【0014】
以下、本実施の形態について図面を参照して説明する。
[第1の実施の形態]
第1の実施の形態を説明する。
【0015】
図1は、第1の実施の形態の情報処理システムを説明する図である。
情報処理システム10は、ワークフローの実行を管理する。ワークフローは、複数の作業と複数の作業の実行順序と作業を割り当てられたユーザとを示す情報、および、作業対象のデータに基づいて実行される。情報処理システム10は、複数のユーザにより使用されるPC(Personal Computer)などの複数の端末装置を含んでもよい。
図1では、複数の端末装置の図示は省略されている。各ユーザは、自身が利用する端末装置を使用して、情報処理システム10に対する情報の入力を行える。
【0016】
例えば、情報処理システム10は、ワークフローが開始されると最初の回送先のユーザが使用する端末装置に作業依頼の通知を行う。情報処理システム10は、当該ユーザによる作業完了の通知を端末装置から受信すると、ワークフローの次の回送先のユーザが使用する端末装置に、作業依頼の通知を行う。こうして、最後の回送先のユーザによる作業が完了すると、情報処理システム10は、ワークフローを終了する。ただし、ワークフローは、例えば承認ワークフローが途中のユーザにより非承認とされる場合など、最後の回送先のユーザまで至らずに終了されることもある。
【0017】
情報処理システム10は、こうしたワークフローの管理において、ユーザによる作業対象のデータの誤りを検出することで、ワークフローを円滑に行えるように支援する機能を提供する。情報処理システム10は、記憶部11および処理部12を有する。
【0018】
記憶部11は、RAM(Random Access Memory)などの揮発性記憶装置でもよいし、HDD(Hard Disk Drive)やフラッシュメモリなどの不揮発性記憶装置でもよい。処理部12は、CPU(Central Processing Unit)、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)などを含み得る。処理部12はプログラムを実行するプロセッサでもよい。「プロセッサ」には、複数のプロセッサの集合(マルチプロセッサ)が含まれ得る。
【0019】
例えば、記憶部11および処理部12は、情報処理システム10に含まれる情報処理装置が有するものでもよい。例えば、情報処理装置は、ネットワークを介して、各ユーザが利用する端末装置と通信する。
【0020】
記憶部11は、ワークフローテンプレート20を記憶する。ワークフローテンプレート20は、ワークフローにおける作業の種類に応じた、ワークフローの雛形である。作業の種類には、例えば会社などの組織における予算申請や旅費申請などが挙げられる。例えば、ワークフローテンプレート20は種類Xに対応する。なお、記憶部11は、種類X以外の種類に対応するワークフローテンプレートを記憶してもよい。
【0021】
ワークフローテンプレート20は、作業順序テンプレート21および作業データテンプレート22を含む。作業順序テンプレート21は、種類Xに対応する一連の作業X1,X2,X3の実行順序を示す情報である。例えば、作業順序テンプレート21は、作業X1,X2,X3をこの順序で実行することを示す。作業X1は、例えば作業データテンプレート22を基に基づく作業データの作成である。作業X2,X3は、当該作業データの承認である。
【0022】
作業データテンプレート22は、ワークフローによる作業対象のデータの雛形である。なお、作業データテンプレート22は、ワークフローテンプレート20に含まれなくてもよく、ワークフローテンプレート20と関連付けられる情報として記憶部11に記憶されてもよい。
【0023】
処理部12は、ワークフローテンプレート20に基づいて、種類Xの一連の作業に対応するワークフロー20aの情報を生成し、記憶部11に格納する。ワークフロー20aの情報は、作業順序情報21aおよび作業データ22aを有する。作業順序情報21aは、一連の作業X1,X2,X3を依頼するユーザA,B,C、すなわち、ワークフローの回送先のユーザA,B,Cを示す情報である。作業データ22aは、ワークフロー20aによる作業対象のデータである。
【0024】
例えば、処理部12は、種類Xに係る新たなワークフローの情報のユーザAによる入力を受け付ける。ユーザAは、作業X1に対し、作業順序テンプレート21を基に、作業データ22aの起案者である自身を選択する。また、ユーザAは、作業順序テンプレート21を基に、例えば組織における自身の上司のユーザB,Cを作業X2,X3の依頼先に選択する。こうして、処理部12は、作業順序テンプレート21に基づくユーザAによる回送先のユーザB,Cの選択を受け付けることで、作業順序情報21aを生成してもよい。
【0025】
また、例えば、ユーザAは、作業データテンプレート22の所定の欄に、申請する予算額や旅費などの値を入力することで作業データ22aを作成し、情報処理システム10に入力する。ここで、作業データ22aの識別情報を「d1」とする。
【0026】
処理部12は、作業順序情報21aに基づいてワークフロー20aを開始する。例えば、処理部12は、ユーザAによる作業データ22aの情報処理システム10への登録により、作業データ22aの作成(作業X1)を完了済とし、次の回送先のユーザBに作業依頼を行う。こうして、ワークフロー20aが各ユーザに順次回送され、ユーザBで非承認となった場合や、ユーザCで承認または非承認となった場合に、ワークフロー20aが終了する。なお、ワークフロー20aがユーザBまたはユーザCで非承認となった場合に、作業がユーザAに差し戻されてワークフロー20aが新たに開始されてもよい。
【0027】
こうしたワークフローの実行管理において、処理部12は次の処理を実行する。
処理部12は、第1ワークフローにおけるユーザの作業データの正誤の実績を示す正誤情報11aを取得する。種類Xのワークフロー20aは、第1ワークフローの一例である。正誤情報11aは、記憶部11に記憶される。正誤情報11aは、例えば、ワークフローの種類Xに対して、ユーザA,Bを含む各ユーザの作業データが正しかった回数および誤っていた回数を示す。ここで、あるユーザの作業データが正しかった回数は、当該ユーザが当該作業を完了した後、それ以降のユーザにより作業データが非承認とされずに、ワークフローが最後まで完了した回数である。なお、作業データが正しかった回数は、作業データに対するユーザの作業が成功した回数、すなわち、成功回数と言われてもよい。また、作業データが誤っていた回数は、作業データに対するユーザの作業が失敗した回数、すなわち、失敗回数と言われてもよい。
【0028】
例えば、ワークフロー20aにおいて、ユーザAにより起案された作業データ22aがユーザB,Cの両方で承認され、ワークフロー20aが完了した場合、種類Xに対するユーザAの作業データは正しいことになり、ユーザAの作業データが正しかった回数k1が1加算される。一方、ユーザAにより起案された作業データ22aが、ユーザB,Cの何れかで非承認とされた場合、ユーザAの作業データは誤りとなり、ユーザAの作業データが誤っていた回数m1が1加算される。
【0029】
また、ワークフロー20aの例において、ユーザBにより承認された作業データ22aが、ユーザCで承認され、ワークフロー20aが完了した場合、種類Xに対するユーザBの作業データは正しいことになり、ユーザBの作業データが正しかった回数k2が1加算される。一方、ユーザBにより承認された作業データ22aが、ユーザCで非承認とされた場合、ユーザBの作業データは誤りとなり、ユーザBの作業データが誤っていた回数m2が1加算される。
【0030】
こうして、処理部12は、種類Xのワークフローに対する各ユーザの作業データの正誤の実績を、正誤情報11aに蓄積する。なお、後述されるように、処理部12は、正誤情報11aにおいて、ワークフローにおける作業単位(例えば、作業X1,X2,X3ごと)に、各ユーザについて作業データの正誤の実績を記録してもよい。
【0031】
処理部12は、取得した正誤情報11aに基づいて第1ユーザの信頼度を算出する。例えば、処理部12は、ユーザAについて、種類Xのワークフローに対応する作業データが正しかった回数が多いほど、種類Xのワークフローに対するユーザAの信頼度t1を高くする。また、処理部12は、ユーザAについて、種類Xのワークフローに対応する作業データが誤っていた回数が多いほど、種類Xのワークフローに対するユーザAの信頼度t1を低くする。信頼度は数値で表される。信頼度が大きいほど、信頼される度合いが高いことを示す。ユーザの信頼度の評価には、例えばベイズ統計学をベースとするBeta Reputationシステムが利用されてもよい。Beta Reputationシステムについては、次の文献1を参考にすることができる。
【0032】
文献1:Ismail, Roslan and Josang, Audun, “The Beta Reputation System,”[online], BLED 2002 Proceedings. 41., June 2002. [検索日 2022.07.15], インターネット<URL:http://aisel.aisnet.org/bled2002/41/>
文献1では、ベイズ統計学におけるベータ分布と二項分布の性質を電子商取引の信用評価に取り入れる方法が提案されている。処理部12は、文献1の方法を、各ユーザのワークフローにおける作業の信頼度の算出に用いることができる。
【0033】
信頼度情報11bは、ユーザA,Bを含む複数のユーザそれぞれに対して算出された信頼度が記録される情報である。処理部12は、該当のユーザを回送先とする種類Xのワークフローが実行されるたびに、正誤情報11aおよび信頼度情報11bを更新する。
【0034】
処理部12は、ユーザの信頼度に応じて、当該ユーザの作業データを第1ワークフローの正解データとするか否かを判定する。例えば、処理部12は、ワークフロー20aの実行に応じて信頼度情報11bを更新すると、信頼度情報11bに基づいて作業データ22aを正解データとするか否かを判定する。
【0035】
第1の例では、処理部12は、作業データ22aを起案したユーザAの信頼度t1が、予め定められる閾値より大きいか否かにより、作業データ22aを正解データとするか否かを判定してもよい。例えば、処理部12は、ユーザAの信頼度t1が閾値よりも大きい場合、作業データ22aを種類Xのワークフローに対する正解データとし、正解データ情報11cに記録する。正解データ情報11cは、ワークフローの種類ごとの正解データを保持する情報である。正解データ情報11cは、記憶部11に記憶される。一方、処理部12は、ユーザAの信頼度t1が閾値以下の場合、作業データ22aを種類Xのワークフローに対する正解データとしない。
【0036】
第2の例では、処理部12は、作業データ22aに対する作業を行ったユーザA,Bそれぞれの信頼度t1,t2に基づいてワークフロー20aの信頼度を算出してもよい。ワークフロー20aの信頼度は、ユーザA,Bそれぞれの信頼度t1,t2の平均として算出されてもよい。ワークフロー20aの信頼度は、ユーザA,Bそれぞれの信頼度t1,t2に基づく、Averaging Fusionと呼ばれる計算方法により計算されてもよい。Averaging Fusionは文献1のAudan Josangが提案するSubjective Logicにおける融合演算である。
【0037】
そして、処理部12は、ワークフロー20aの信頼度が、予め定められる閾値より大きいか否かにより、作業データ22aを正解データとするか否かを判定してもよい。例えば、処理部12は、ワークフロー20aの信頼度が閾値よりも大きい場合、作業データ22aを種類Xのワークフローに対する正解データとし、正解データ情報11cに記録する。一方、処理部12は、ワークフロー20aの信頼度が閾値以下の場合、作業データ22aを種類Xのワークフローに対する正解データとしない。
【0038】
なお、前述のように、処理部12は、正誤情報11aにおいて、ワークフローにおける作業単位(例えば、作業X1,X2,X3ごと)に、各ユーザの作業データの正誤の実績を記録することも考えられる。この場合、処理部12は、例えば、ワークフロー20aの信頼度を、ユーザAの作業X1に対する信頼度およびユーザBの作業X2に対する信頼度に基づいて評価してもよい。これにより、ワークフロー20aの信頼度の評価精度が向上する。
【0039】
上記第1の例および第2の例のように、処理部12は、信頼度の高いユーザにより作業された作業データを正解データとして採用することで、正解データに対する信頼性を高められる。なお、例えば、ユーザの信頼度の算出にBeta Reputationシステムを用いる場合、種類Xのワークフローについての各ユーザの実績があまり蓄積されていない段階では、種類Xに対して正解データを得られないこともある。種類Xのワークフローに対して正解データを未取得の段階では、種類Xのワークフローのデータに対し、正解データに基づく下記の正誤判定はスキップされる。
【0040】
本例では、処理部12は、作業データ22aを種類Xのワークフローの正解データにすると仮定する。この場合、処理部12は、正解データ情報11cに、種類Xに対応付けて作業データ22aを登録する。
図1の正解データ情報11cにおける正解データ「d1」の記述は、種類Xに対して、作業データ22aが登録されていることを示す。
【0041】
処理部12は、上記の処理により、種類Xのワークフローに対して、複数の作業データを正解データとすることもある。その場合、処理部12は、各作業データに含まれる申請対象の値を抽出し、抽出した値の最小値から最大値までの数値範囲を、種類Xに対応する正解データとしてもよい。
【0042】
その後、処理部12は、新たに開始された第1ワークフローにより回送される第1データと第1ワークフローの正解データとの比較により、第1データの正誤を判定する。例えば、処理部12は、種類Xのワークフロー20bを新たに開始する。種類Xのワークフロー20bは、第1ワークフローの一例である。ワークフロー20bは、作業順序情報21bおよび作業データ22bを有する。作業順序情報21bは、作業順序テンプレート21に基づく作業X1,X2,X3それぞれの依頼先のユーザD,E,Fを示す。作業データ22bは、作業データテンプレート22に基づいてユーザDにより起案され、申請する予算や旅費などの値が記述されたデータである。作業データ22bの識別情報を「d2」とする。作業データ22bは、第1データの一例である。
【0043】
処理部12は、ワークフロー20bの種類Xに対して、正解データ情報11cに正解データ「d1」、すなわち、作業データ22aが登録されている。このため、処理部12は、作業データ22bと、正解データ「d1」との比較により、作業データ22bの正誤を判定する。例えば、処理部12は、作業データ22bにおける申請対象の予算額や旅費などの値が、正解データ「d1」の値に一致するか否かにより、作業データ22bの正誤を判定してもよい。この場合、処理部12は、作業データ22bの値が正解データの値に一致する場合に作業データ22bは正しいと判定する。一方、処理部12は、作業データ22bの値が正解データの値に一致しない場合に作業データ22bは誤りであると判定する。
【0044】
あるいは、処理部12は、例えば作業データ22bにおける申請対象の予算額や旅費などの値が、正解データ「d1」の値を中心値とする所定の数値範囲に属するか否かにより、作業データ22bの正誤を判定してもよい。また、例えば、正解データとして数値範囲が得られている場合、処理部12は、作業データ22bにおける申請対象の値が、当該数値範囲に属するか否かにより、作業データ22bの正誤を判定してもよい。処理部12は、作業データ22bの値が正解データの数値範囲に属する場合に、作業データ22bは正しいと判定する。一方、処理部12は、作業データ22bの値が正解データの数値範囲に属しない場合に、作業データ22bは誤りであると判定する。
【0045】
処理部12は、作業データ22bが誤りであると判定すると、作業データ22bを起案したユーザDに、作業データ22bが誤っていることを通知し、作業データ22bの修正を促す。ユーザDは、当該通知に応じて、作業データ22bに記述した値を修正し、情報処理システム10によりワークフロー20bを再度開始させる。処理部12は、作業データ22bが誤っている場合、作業データ22bと正解データとの差分を示す差分情報を、ユーザDが使用する端末装置に送信することで、ユーザDによる修正を支援してもよい。
【0046】
以上説明したように、情報処理システム10によれば、第1ワークフローにおける第1ユーザの作業データの正誤の実績を示す正誤情報11aが取得される。正誤情報11aに基づいて第1ユーザの信頼度が算出される。第1ユーザの信頼度に応じて、第1ユーザの作業データを第1ワークフローの正解データとする否かが判定される。新たに開始された第1ワークフローにより回送される第1データと第1ワークフローの正解データとの比較により第1データの正誤が判定される。これにより、情報処理システム10は、データの誤りを適切に検出できる。
【0047】
ここで、ワークフローでは、ユーザによる作業データに対する作業ミスが発生し得る。作業データの誤りは、作業の手戻りを生じさせ、ワークフローの遅延要因となる。
そこで、情報処理システム10は、ワークフローの過去の実行実績から、当該ワークフローの作業データに対する正解データを取得することで、新たに開始される同種のワークフローの作業データの正誤を、当該正解データを基に適切に判定可能になる。その結果、情報処理システム10は、例えば起案された作業データに対し、次のユーザにワークフローを回送する前に作業ミスを事前に発見し、余計な手戻りが発生することを抑制できる。また、情報処理システム10は、ワークフローの円滑な進行を支援でき、ワークフローの遅延を抑制できる。
【0048】
また、情報処理システム10は、正解データの取得のために、該当のワークフローに対するユーザの作業の正誤の実績に応じた信頼度を考慮することで、正解データの精度または信頼性を向上させることができる。情報処理システム10は、こうして取得された正解データを用いて、第1データの正誤を判定することで、第1データの正誤の判定精度を高めることができる。
【0049】
[第2の実施の形態]
次に、第2の実施の形態を説明する。
図2は、第2の実施の形態の情報処理システムの例を示す図である。
【0050】
情報処理システム50は、サーバ100およびクライアント200,300,400を含む。サーバ100およびクライアント200,300,400は、ネットワーク60に接続される。ネットワーク60は、例えばLAN(Local Area Network)である。ネットワーク60は、WAN(Wide Area Network)やインターネットでもよい。
【0051】
サーバ100は、ワークフロー(WF:WorkFlow)の実行を管理するサーバコンピュータである。サーバ100は、例えば、ある組織におけるプロジェクトの予算申請や旅費申請などにおける、ユーザの承認作業をWFにより支援する。
【0052】
クライアント200,300,400は、ユーザにより利用されるクライアントコンピュータである。クライアント200,300,400は、サーバ100により提供されるWFの操作画面を示すGUI(Graphical User Interface)を表示する。クライアント200,300,400は、GUIを用いてユーザにより入力された情報をサーバ100に送信する。例えば、サーバ100は、当該GUIを提供するWebサーバとして機能してもよい。また、クライアント200,300,400は、当該GUIを表示するWebブラウザとして機能してもよい。
【0053】
例えば、ユーザは、クライアント200,300,400により表示されるGUIを操作して、新たに開始するWFの種類を選択したり、WFの回送先のユーザを選択したり、申請内容を記述した回送データをWFに登録したりする。ここで、WFにおける申請内容を記述した回送データは、添付ファイルとしてWFに付加される。ただし、WFにおける申請内容を記入する欄がGUIに設けられている場合、ユーザは、添付ファイルを登録せずに、GUIに設けられた所定の欄に申請内容を入力することで、当該WFに申請内容を示す回送データを登録することができる。
【0054】
なお、情報処理システム50は、第1の実施の形態の情報処理システム10の一例である。サーバ100は、第1の実施の形態の情報処理システム10の一例である。サーバ100は、第1の実施の形態の情報処理システム10に含まれる情報処理装置の一例でもよい。クライアント200,300,400は、ユーザにより利用される端末装置の一例である。
【0055】
図3は、サーバのハードウェア例を示す図である。
サーバ100は、CPU101、RAM102、HDD103、GPU(Graphics Processing Unit)104、入力インタフェース105、媒体リーダ106およびNIC(Network Interface Card)107を有する。なお、CPU101は、第1の実施の形態の処理部12の一例である。RAM102またはHDD103は、第1の実施の形態の記憶部11の一例である。
【0056】
CPU101は、プログラムの命令を実行するプロセッサである。CPU101は、HDD103に記憶されたプログラムやデータの少なくとも一部をRAM102にロードし、プログラムを実行する。なお、CPU101は複数のプロセッサコアを含んでもよい。また、サーバ100は複数のプロセッサを有してもよい。以下で説明する処理は複数のプロセッサまたはプロセッサコアを用いて並列に実行されてもよい。また、複数のプロセッサの集合を「マルチプロセッサ」または単に「プロセッサ」と言うことがある。
【0057】
RAM102は、CPU101が実行するプログラムやCPU101が演算に用いるデータを一時的に記憶する揮発性の半導体メモリである。なお、サーバ100は、RAM以外の種類のメモリを備えてもよく、複数個のメモリを備えてもよい。
【0058】
HDD103は、OS(Operating System)やミドルウェアやアプリケーションソフトウェアなどのソフトウェアのプログラム、および、データを記憶する不揮発性の記憶装置である。なお、サーバ100は、フラッシュメモリやSSD(Solid State Drive)などの他の種類の記憶装置を備えてもよく、複数の不揮発性の記憶装置を備えてもよい。
【0059】
GPU104は、CPU101からの命令に従って、サーバ100に接続されたディスプレイ61に画像を出力する。ディスプレイ61としては、CRT(Cathode Ray Tube)ディスプレイ、液晶ディスプレイ(LCD:Liquid Crystal Display)、プラズマディスプレイ、有機EL(OEL:Organic Electro-Luminescence)ディスプレイなど、任意の種類のディスプレイを用いることができる。
【0060】
入力インタフェース105は、サーバ100に接続された入力デバイス62から入力信号を取得し、CPU101に出力する。入力デバイス62としては、マウス、タッチパネル、タッチパッド、トラックボールなどのポインティングデバイス、キーボード、リモートコントローラ、ボタンスイッチなどを用いることができる。また、サーバ100に、複数の種類の入力デバイスが接続されていてもよい。
【0061】
媒体リーダ106は、記録媒体63に記録されたプログラムやデータを読み取る読み取り装置である。記録媒体63として、例えば、磁気ディスク、光ディスク、光磁気ディスク(MO:Magneto-Optical disk)、半導体メモリなどを使用できる。磁気ディスクには、フレキシブルディスク(FD:Flexible Disk)やHDDが含まれる。光ディスクには、CD(Compact Disc)やDVD(Digital Versatile Disc)が含まれる。
【0062】
媒体リーダ106は、例えば、記録媒体63から読み取ったプログラムやデータを、RAM102やHDD103などの他の記録媒体にコピーする。読み取られたプログラムは、例えば、CPU101によって実行される。なお、記録媒体63は可搬型記録媒体であってもよく、プログラムやデータの配布に用いられることがある。また、記録媒体63やHDD103を、コンピュータ読み取り可能な記録媒体と言うことがある。
【0063】
NIC107は、ネットワーク60に接続され、ネットワーク60を介して他のコンピュータと通信を行うインタフェースである。NIC107は、例えば、スイッチやルータなどの通信装置とケーブルで接続される。NIC107は、無線通信インタフェースでもよい。
【0064】
なお、クライアント200,300,400もサーバ100と同様のハードウェアにより実現される。
図4は、情報処理システムの機能例を示す図である。
【0065】
サーバ100は、記憶部110および制御部120を有する。記憶部110には、RAM102やHDD103の記憶領域が用いられる。制御部120は、RAM102に記憶されたプログラムがCPU101によって実行されることで実現される。
【0066】
記憶部110は、WF設定テーブル111、個人作業信頼度テーブル112、WF実績テーブル113、回送データ113aおよび正解データテーブル114を記憶する。
WF設定テーブル111は、WFのテンプレート(雛形)を示す情報である。WF設定テーブル111は、WFの種類ごとに、当該WFに含まれる作業の内容、および、作業の実行順序の情報を含む。WFの種類は、WFタイプID(IDentifier)により識別される。WF設定テーブル111は、WFタイプIDに関連付けられる、WFの回送データのテンプレートの本体またはURI(Uniform Resource Identifier)などを含んでもよい。
【0067】
例えば、回送データのテンプレートは、申請内容に応じた定型的な書式と、申請内容を記入する欄とを有する。ユーザは、WFタイプIDに応じた回送データのテンプレートの所定の欄に申請内容を記入することで、回送データを簡便に作成することができる。
【0068】
個人作業信頼度テーブル112は、各WFタイプIDに対応する作業ごとのユーザの個人作業信頼度を保持する情報である。個人作業信頼度は、該当のユーザによる該当の作業の成否の実績または履歴に基づく信頼性の度合いを示す。個人作業信頼度が大きいほど、当該ユーザの当該作業に対する信頼性の度合いは高い。個人作業信頼度が小さいほど、当該ユーザの当該作業に対する信頼性の度合いは低い。
【0069】
WF実績テーブル113は、実行されたWFの実績を保持する情報である。WF実績テーブル113は、実行されたWFにおける回送経路、回送データおよびWF信頼度の情報を含む。回送経路は、WFが回送された各ユーザと各ユーザの回送順序とを示す情報である。WF信頼度は、回送経路に含まれる各ユーザの個人作業信頼度に応じたWFの信頼性の度合いを示す。WF信頼度は、当該WFにおける回送データの信頼性の度合いを示すとも言える。WF信頼度が大きいほど、当該WFの信頼性の度合いは高い。WF信頼度が小さい程、当該WFの信頼性の度合いは低い。
【0070】
回送データ113aは、WFに付与される、申請内容を示すデータである。回送データ113aは、第1の実施の形態の作業データ22a,22bの一例である。
正解データテーブル114は、WFタイプIDごとの正解データを保持する情報である。正解データは、回送データ113aの正誤の判定に用いられる。
【0071】
制御部120は、WFの実行を制御する。制御部120は、WF実行部121、個人作業信頼度管理部122、WF実績管理部123、WF信頼度計算部124および正解管理部125を有する。
【0072】
WF実行部121は、WF設定テーブル111に基づいて、新たなWFを開始する。WF実行部121は、WFの次の回送先のユーザが利用するクライアントに作業依頼を通知し、当該ユーザにより作業が完了されると、その次の回送先のユーザが利用するクライアントに作業依頼を通知する。こうして、WF実行部121は、WFが終了するまで、当該WFの実行を管理する。
【0073】
個人作業信頼度管理部122は、個人作業信頼度テーブル112に基づいて、個人作業信頼度を管理する。個人作業信頼度管理部122は、WFの実行が完了すると、当該WFの結果に基づいて、当該WFの回送経路に含まれるユーザの作業成否を特定し、個人作業信頼度テーブル112における個人作業信頼度を更新する。個人作業信頼度管理部122による個人作業信頼度の算出方法は後述される。
【0074】
WF実績管理部123は、WF実績テーブル113に基づいて、WFの実行実績を管理する。WF実績管理部123は、実行されたWFのWFタイプIDと、回送経路と、回送データ113aとを関連付けて、WF実績テーブル113に登録する。
【0075】
WF信頼度計算部124は、完了したWFの回送経路に含まれるユーザの個人作業信頼度に基づいて、WF信頼度を算出し、WF実績テーブル113に登録する。
正解管理部125は、WF実績テーブル113に記録されたWFのWF信頼度に基づいて、当該WFの回送データ113aを、当該WFのWFタイプIDに対応する正解データとするか否かを判定する。正解管理部125は、正解データとする場合、回送データ113aを当該WFタイプIDの正解データとして正解データテーブル114に登録する。
【0076】
また、正解管理部125は、実行中のWFのWFタイプIDに対する正解データが正解データテーブル114に登録されている場合、当該正解データに基づいて、実行中のWFの回送データ113aの正誤を判定する。
【0077】
WF実行部121は、正解管理部125において回送データ113aの正誤が判定された場合、当該正誤の判定結果に基づいてWFを制御する。WF実行部121は、回送データ113aが正しい場合、当該WFを継続する。一方、WF実行部121は、回送データ113aが誤っている場合、WFを進行させずに、回送データ113aが誤っている旨を、回送データ113aを起案したユーザのクライアントに通知し、回送データ113aの修正を促す。
【0078】
クライアント200は、作業実行部210を有する。作業実行部210は、クライアント200のRAMに記憶されたプログラムがクライアント200のCPUにより実行されることで実現される。
【0079】
作業実行部210は、WFに係る作業を実行する。例えば、作業実行部210は、ユーザにより入力されたWFの回送経路や回送データ113aをサーバ100に送信する。また、作業実行部210は、サーバ100からWFの作業依頼を受信し、当該作業依頼に係る作業を実行するためのGUIをユーザに提示する。作業実行部210は、ユーザによる承認や非承認などの作業の入力を受け付け、サーバ100に送信する。
【0080】
図示を省略しているが、クライアント300,400もクライアント200と同様に、作業実行部を有する。
図5は、WF設定テーブルの例を示す図である。
【0081】
WF設定テーブル111は、記憶部110に予め格納される。WF設定テーブル111は、WFタイプID、作業1、作業2、作業3および信頼度閾値の項目を含む。
WFタイプIDの項目には、WFタイプIDが登録される。作業1の項目には、当該WFタイプIDのWFにおける1番目の作業の作業IDが登録される。作業2の項目には、当該WFタイプIDのWFにおける2番目の作業の作業IDが登録される。作業3の項目には、当該WFタイプIDのWFにおける3番目の作業の作業IDが登録される。本例では、3番目の作業が各WFの最後の作業であるとする。ただし、WFに含まれる作業の数は、3個以外の複数でもよい。信頼度閾値の項目には、信頼度閾値が登録される。
【0082】
ここで、信頼度閾値は、WF信頼度に対する閾値である。あるWFタイプIDのWFのうち、WF信頼度が信頼度閾値よりも大きいWFの回送データが、当該WFタイプIDの正解データとして採用される。
【0083】
例えば、WF設定テーブル111は、WFタイプID「産学連携」、作業1「産学連携書類作成」、作業2「産学連携書類承認」、作業3「産学連携書類承認」、信頼度閾値「0.8」のレコードを有する。このレコードは、WFタイプID「産学連携」のWFのテンプレートを示す。当該WFの1番目の作業は「産学連携書類作成」であり、2番目の作業は「産学連携書類承認」であり、3番目の作業は「産学連携書類承認」である。なお、書類作成は、申請用の書類、すなわち、回送データの作成である。書類承認は、回送データの内容の承認である。書類承認では、回送データの編集は行われない。
【0084】
WF設定テーブル111には、WFタイプID「予算使用申請」などの他のWFタイプIDのレコードも同様に登録される。なお、前述のように、WF設定テーブル111は、WFタイプIDに関連付けられる回送データのテンプレートの本体またはURIなどを含んでもよい。
【0085】
図6は、個人作業信頼度テーブルの例を示す図である。
個人作業信頼度テーブル112は、記憶部110に格納される。個人作業信頼度テーブル112は、ユーザID、作業ID、成功回数(k)、失敗回数(m)および個人作業信頼度の項目を含む。
【0086】
ユーザIDの項目には、ユーザのユーザIDが登録される。作業IDの項目には、作業の作業IDが登録される。成功回数の項目には、当該ユーザによる当該作業の成功回数kが登録される。成功回数kは、当該ユーザによる当該作業の後に最後まで承認されたWFの回数を示す。失敗回数の項目には、当該ユーザによる当該作業の失敗回数mが登録される。失敗回数mは、当該ユーザによる当該作業の後に途中で否決されたWFの回数を示す。個人作業信頼度の項目には、当該ユーザの当該作業に対する個人作業信頼度が登録される。個人作業信頼度は、当該ユーザよる当該作業の成功回数kおよび失敗回数mに基づいて計算される。個人作業信頼度は、例えば前述のBeta Reputationシステムの計算方法を用いて計算される。
【0087】
例えば、個人作業信頼度テーブル112は、ユーザID「担当者A」、作業ID「産学連携書類作成」、成功回数(k)「23」、失敗回数(m)「1」、個人作業信頼度「0.98」のレコードを有する。このレコードは、担当者Aによる作業ID「産学連携書類作成」の作業の過去の成功回数kが23であり、失敗回数mが1であり、担当者Aの当該作業に対する個人作業信頼度が0.98であることを示す。
【0088】
個人作業信頼度テーブル112には、担当者Aによる他の作業に対する個人作業信頼度のレコードも登録される。また、個人作業信頼度テーブル112には、他の担当者による各作業に対する個人作業信頼度のレコードも登録される。
【0089】
図7は、WF実績テーブルの例を示す図である。
WF実績テーブル113は、記憶部110に格納される。WF実績テーブル113は、WF回送ID、WFタイプID、回送経路、回送データおよびWF信頼度の項目を含む。
【0090】
WF回送IDの項目には、WF回送IDが登録される。WF回送IDは、WFの識別情報である。WFタイプIDの項目には、WFタイプIDが登録される。回送経路の項目には、WFの回送経路が登録される。回送データの項目には、WFの回送データが登録される。1つのWFには1つの回送データが登録される。WF信頼度の項目には、WF信頼度が登録される。
【0091】
ここで、WF信頼度は、回送経路に属する各ユーザの個人作業信頼度から計算される。WF信頼度は、例えば前述のAveraging Fusionの計算方法を用いて、WFの回送経路に属する各ユーザの個人作業信頼度を融合することで計算される。
【0092】
例えば、WF実績テーブル113は、WF回送ID「WF0001」、WFタイプID「産学連携」、回送経路「(担当者A,担当者B,担当者C)」、回送データ「file1.xlsx」、WF信頼度「0.98」のレコードを有する。このレコードは、WF回送ID「WF0001」で識別されるWFのWFタイプIDが「産学連携」であり、回送経路が回送順に「(担当者A,担当者B,担当者C)」であり、当該WFの回送データが「file1.xlsx」であることを示す。また、当該レコードは、WF回送ID「WF0001」で識別されるWFのWF信頼度が「0.98」であることを示す。回送データ「file1.xlsx」は、WFに添付ファイルとして付加されたデータである。
【0093】
また、WF実績テーブル113は、WF回送ID「0003」のレコードを有する。当該レコードでは、回送データに「¥1,390」が登録されている。このように、回送データの項目には、添付ファイルとしてではなく、申請内容の値が直接登録されることもある。
【0094】
WF実績テーブル113には、他のWF回送IDのレコードも登録される。
図8は、正解データテーブルの例を示す図である。
正解データテーブル114は、記憶部110に格納される。正解データテーブル114は、WFタイプIDおよび正解データの項目を含む。WFタイプIDの項目には、WFタイプIDが登録される。正解データの項目には、正解データが登録される。
【0095】
例えば、正解データテーブル114は、WFタイプID「産学連携」、正解データ「file3.xlsx」のレコードを有する。このレコードは、WFタイプID「産学連携」のWFに対応する正解データが「file3.xlsx」であることを示す。「file3.xlsx」の正解データの所定欄には、正解とする値または正解とする値の範囲が記述されている。
【0096】
また、正解データテーブル114は、WFタイプID「近地出張申請」、正解データ「¥100~¥2,000」のレコードを有する。このように、正解データテーブル114には、WFタイプIDに対して、ファイルとしてではなく、正解とする値または値の範囲が直接登録されることもある。
【0097】
正解データテーブル114には、他のWFタイプIDに対応する正解データのレコードも登録される。次に、正解データテーブル114における正解データの値の範囲の決定例を説明する。
【0098】
図9は、正解データの範囲の決定例を示す図である。
回送データ113a,113b,113c,113dは、何れもWFタイプID「産学連携」のWFに添付ファイルとして付加された回送データである。回送データ113a~113dにおける申請内容「産学連携」は、WFタイプIDに相当する。また、回送データ113a~113dにおける金額が、正解データテーブル114における正解データの対象となる項目である。
【0099】
例えば、回送データ113aが回送されたWFのWF信頼度は「0.95」である。回送データ113bが回送されたWFのWF信頼度は「0.87」である。回送データ113cが回送されたWFのWF信頼度は「0.82」である。回送データ113dが回送されたWFのWF信頼度は「0.76」である。
【0100】
正解管理部125は、WF信頼度が信頼度閾値より高いWFの回送データに記述された申請値を、正解値とする。例えば、WF設定テーブル111によれば、WFタイプID「産学連携」の信頼度閾値は「0.80」である。この場合、正解管理部125は、回送データ113a,113b,113cの金額に設定された値を、WFタイプID「産学連携」の正解データとする。一方、正解管理部125は、回送データ113dの金額に設定された値を、WFタイプID「産学連携」の正解データとしない。
【0101】
正解管理部125は、複数の値を正解データとして特定した場合、複数の値のうちの最小値を下限とし、最大値を上限とする範囲を、該当のWFタイプIDの正解データとする。
図9の例では、正解管理部125は、回送データ113a,113b,113cそれぞれに含まれる3つの値「1000000円」、「900000円」、「1500000円」を正解データとして特定する。したがって、正解管理部125は、これらの値のうちの最小値「900000円」を下限とし、最大値「1500000円」を上限とする範囲を、WFタイプID「産学連携」の正解データとする。
【0102】
なお、信頼度閾値よりもWF信頼度が高いWFが多数存在する場合、正解データの範囲が広くなり過ぎて、正解データの信頼性が損なわれる可能性がある。このため、正解管理部125は、信頼度閾値よりもWF信頼度が高いWFのうち、WF信頼度が上位の所定数のWFを特定し、特定したWFの回送データに含まれる値を含む範囲を正解データとして採用してもよい。
【0103】
次に、個人作業信頼度およびWF信頼度の計算例を説明する。
図10は、ベイズ更新の例を示す図である。
個人作業信頼度管理部122は、各ユーザの作業IDごとの個人作業信頼度を、個人作業信頼度テーブル112の成功回数(k)および失敗回数(m)に基づいて計算する。個人作業信頼度の計算には、例えばベイズ統計学をベースとするBeta Reputationシステムの演算方法が利用される。Beta Reputationシステムには、前述の文献1が参考になる。
【0104】
具体的には、個人作業信頼度管理部122は、各ユーザの作業IDごとのk,mの初期値をそれぞれ0とし、k,mを個人作業信頼度テーブル112に保持する。個人作業信頼度管理部122は、WFタイプIDおよび作業IDごとに、WF成功時にはkの値をインクリメントし、WF失敗時(非承認により差し戻された場合)にはmの値をインクリメントする。
【0105】
個人作業信頼度管理部122は、各ユーザの作業IDごとの個人作業信頼度を、下記の方法で計算されたベータ分布のピークのx(横軸)の値とする。あるいは、個人作業信頼度管理部122は、当該ベータ分布のy(縦軸)の値(ピークの高さ)を経験値として個人作業信頼度に含めてもよい。例えば、ベータ分布のyの値が個人作業信頼度とされてもよい。
【0106】
ベータ分布Betaは、ある正の実数α,βが与えられたとき、変数pの確率密度関数Beta(p,α,β)を式(1)のように表現する。ただし、Γ(x)はガンマ関数を示す。
【0107】
【0108】
ベイズ統計学におけるベータ分布と二項分布とは次の関係をもつ。すなわち、母数が規定する確率分布(当該分布におけるある点の値が尤度)が二項分布であるとき、事前分布がベータ分布(もしくはα=1,β=1とした一様分布)であるならば、事後分布もベータ分布になるという性質がある。一例では、コイン投げで表が出る回数をk、裏が出る回数をmとした二項分布を尤度として、得られる事後分布は、α=k+1,β=m+1となるベータ分布である。
【0109】
そして、計算結果の事後分布を事前分布として計算を繰り返していくことで、分布がアップデートされる。この処理はベイズ更新と言われる。次に、ベイズ更新について説明する。
【0110】
AおよびXを確率変数とする。P(A)は事象Aが発生する確率であり、事前確率(prior probability)と言われる。P(A|X)は事象Xが発生した下で、事象Aが発生する条件付き確率であり、事後確率(posterior probability)と言われる。
【0111】
また、条件付き確率P(A∩X)は、事象Aと事象Xとが同時に起きる確率である。
このとき、P(A|X)は、式(2)で表される。
【0112】
【0113】
また、P(X|A)は、式(3)で表される。
【0114】
【0115】
式(2)、(3)より、P(A|X)は、式(4)で表される(ベイズの定理)。
【0116】
【0117】
A,Xをそれぞれ連続型のパラメータθ,xに置き換え、p(θ)を連続型のパラメータθのとる分布と考えると、式(4)は式(5)に置き換えられる。
【0118】
【0119】
式(5)のp(θ)は事前分布と言われる。また、p(θ|x)は事後分布と言われる。また、p(x|θ)は尤度と言われる。
式(5)の分母におけるθの定積分は、積分計算によりθが消え、θによらない変数とみなすことができるため、式(6)が成り立つ。
【0120】
【0121】
式(6)は、事後分布が尤度と事前分布との積に比例すること(事後分布∝尤度×事前分布)を示す。尤度p(x|θ)は観測されたデータから得られる。観測されたデータの尤度と事前分布とから事後分布を求めていく作業は、ベイズ更新と言われる。
【0122】
例えば、コイン投げで表が出る確率をθとし、コインをn回投げたうちk回表が出るという観測結果xが得られた場合、尤度p(x|θ)は確率θを前提として観測結果xが得られる条件付き確率となる。このとき、n=k+mとすると、式(7)が成り立つ。
【0123】
【0124】
事前分布に一様分布を仮定するとp(θ)=1である。このとき、ガンマ関数の定義よりα=k+1,β=m+1と置くと、式(8)のようにベータ分布の形の式が得られる。
【0125】
【0126】
ここで、グラフ70,71,72は、それぞれの横軸をxとし、縦軸をy=Beta(x,α,β)とした場合のベイズ更新の例を示す。グラフ70は、k=0,m=0、すなわち、α=1,β=1の場合である。グラフ70は、初期分布が一様分布であることを示す。グラフ71は、k=1,m=1、すなわち、α=2,β=2の場合である。グラフ72は、k=7,m=5、すなわち、α=8,β=6の場合である。このように、ベイズ更新を繰り返し行い、ベイズ更新の回数を重ねるとベータ分布のピークの尖度が大きくなる。個人作業信頼度管理部122は、こうして得られるグラフ70~72におけるベータ分布のピークのx座標の値またはピークのy座標の値を個人作業信頼度とし、個人作業信頼度テーブル112に登録する。
【0127】
そして、WF信頼度計算部124は、個人作業信頼度に基づいて、WF信頼度を計算する。WF信頼度計算部124は、WF信頼度の計算にAveraging Fusionを用いる。Averaging Fusionは、アベレージングフュージョンまたは平均化融合と記載されてもよい。ここで、k,mを用いて算出される変数b,d,uを式(9)のように定義する。なお、b+d+u=1である。
【0128】
【0129】
式(9)より、式(10)が成り立つ。
【0130】
【0131】
2組のb,d,uが存在する場合、Subjective Logicにおける演算方法の一つであるAveraging Fusionにより(bX
1_2,uX
1_2)が得られる。ここで、上付きの添え字「1_2」の記載における演算子「_」は、式(11)のダイヤモンド記号に下線を付した演算子(融合演算の演算子)を省略したものである。
【0132】
評価対象Xに対する2組の信頼情報があるとする。信頼情報の信用度(belief)を、bX
1,bX
2とし、不確実度(uncertainty)をuX
1,uX
2とする。Subjective LogicにおけるAveraging Fusionと呼ばれる融合演算では、これらを融合した値bX
1_2,uX
1_2は、式(11)により計算される。なお、前述のように、ダイヤモンド記号に下線を付した記号は、融合演算の演算子である。
【0133】
【0134】
WF信頼度は、該当のWFにおける回送経路の各ユーザの個人作業信頼度をAveraging Fusionにより融合した値である。ユーザの個人作業信頼度としては、該当のWFにおいて当該ユーザが担当した作業の作業IDに対応するものが用いられる。ユーザの作業IDに対する個人作業信頼度は、個人作業信頼度テーブル112から得られる。
【0135】
例えば、WF回送ID「X」のユーザ「1」の個人作業信頼度を「bX
1」、不確実度を「uX
1」とし、ユーザ「2」の個人作業信頼度を「bX
2」、不確実度を「uX
2」とする。uX
1やuX
2は、例えば式(9)のuの式と個人作業信頼度テーブル112における当該ユーザの当該作業のk,mから計算される。そして、WF信頼度計算部124は、回送経路がユーザ「1」とユーザ「2」から構成されるWFのWF信頼度を(bX
1_2,uX
1_2)とする。
【0136】
WFの回送経路に3名存在する場合もある。その場合、WF信頼度計算部124は、bX
1_2,uX
1_2とbX
3,uX
3とで式(11)のAveraging Fusionを行う。4名以上の場合も、WF信頼度計算部124は、同様の計算を繰り返す。そして、WF信頼度計算部124は、回送経路に含まれる全ユーザの個人作業信頼度を基に計算したWF信頼度bXを、WF回送ID「X」に対応付けて、WF実績テーブル113に登録する。
【0137】
なお、式(11)によれば、uncertaintyが0に近いもの同士のAveraging Fusionを行ってもbeliefの値は上がらない。また、beliefが高い値と低い値とを融合すると、高い値の方がより結果に反映される。これらの性質から、高信頼のユーザ、すなわち、個人作業信頼度の高いユーザの個人作業信頼度がより強くWF信頼度に反映される。すなわち、Averaging Fusionを用いることでWF信頼度を計る基準となるユーザとして、個人作業信頼度が高いユーザが自動的に割り当てられることになる。
【0138】
次に、サーバ100の処理手順を説明する。
図11は、サーバの処理例を示すフローチャートである。
(S10)WF実行部121は、新たに開始するWFの起票を受け付ける。例えば、ユーザは、クライアント200を操作し、サーバ100が提供するGUIからWF設定テーブル111に基づく新たなWFの情報をサーバ100に入力することで、WFの起票を行える。例えば、WFの起票では、ユーザは、新たに開始するWFのWFタイプIDや当該WFの回送経路をサーバ100に入力する。これにより、WFの各作業にユーザが割り当てられる。すると、WF実行部121は、新たなWFにWF回送IDを付与して、新たなWFを開始する。
【0139】
(S11)WF実行部121は、制御対象をWFの最初の担当者(ユーザ)とする。WFの回送経路のユーザが最初の作業担当者となる。
(S12)WF実行部121は、該当の作業担当者のクライアントに作業実行を指示する。作業実行の指示では、書類作成や書類承認などの依頼する作業の内容が指示される。
【0140】
(S13)WF実行部121は、クライアントから作業完了を受信する。例えば、書類作成の指示に対して、WF実行部121は、クライアントから回送データを受信し、書類作成の作業完了を受信する。また、書類承認の指示に対して、WF実行部121は、クライアントから承認または非承認の選択結果を受信し、書類承認の作業完了を受信する。
【0141】
なお、WF実行部121は、書類承認の作業に対して作業担当者が非承認とした場合は、ステップS14~S16をスキップしてステップS17に進んでよい。
(S14)正解管理部125は、正解データテーブル114に該当のWFタイプIDに対応する正解データが存在するか否かを判定する。該当のWFタイプIDに対応する正解データが存在する場合、ステップS15に処理が進む。該当のWFタイプIDに対応する正解データが存在しない場合、ステップS17に処理が進む。
【0142】
(S15)正解管理部125は、ステップS14で存在すると判定された正解データに基づいて、当該作業担当者が生成したデータまたは承認したデータが正解データの範囲内であるか否かを判定する。正解データの範囲内の場合、ステップS17に処理が進む。正解データの範囲内でない場合、ステップS16に処理が進む。なお、作業担当者が生成したデータおよび作業担当者が承認したデータは、該当のWFの回送データに含まれる申請対象の所定の項目の値に相当する。
【0143】
(S16)WF実行部121は、作業担当者のクライアントに警告を通知し、作業のやり直しを促す。そして、WF実行部121は、当該クライアントから作業のやり直し結果を受信する。そして、ステップS15に処理が進む。WF実行部121は、警告を通知する際に、正解データと回送データとの差分を示す差分情報を、当該警告に含める。例えば、WF実行部121は、特定された正解データの値の範囲を差分情報として通知し、作業担当者に提示してもよい。
【0144】
例えば、書類作成の作業のやり直しの場合、作業のやり直し結果は、修正後の回送データを含む。また、書類承認の作業のやり直しの場合、作業のやり直し結果は、やり直し前は承認であった作業結果が、やり直しにより非承認に変更されたことを含む。
【0145】
なお、書類承認の作業がやり直しになるケースとしては、あるWFタイプIDのWFの書類作成の作業が終了して当該WFが進行している最中に、同じWFタイプIDの別のWFの完了に応じて当該WFタイプIDの正解データが変更された場合が想定される。
【0146】
(S17)WF実行部121は、WF内の全ての作業を完了したか否かを判定する。WF内の全ての作業を完了した場合、ステップS19に処理が進む。WF内の全ての作業を完了していない場合、ステップS18に処理が進む。なお、該当のWFについて、途中で非承認とされた場合も、WF内の全ての作業が完了したとみなされる。
【0147】
(S18)WF実行部121は、WFの次の担当者に制御対象を変更する。WFの次の担当者が、作業担当者となる。そして、ステップS12に処理が進む。
(S19)制御部120は、WF完了時サブプロセスを実行する。WF完了時サブプロセスの詳細は後述される。そして、サーバ100の処理が終了する。
【0148】
図12は、WF完了時サブプロセスの例を示すフローチャートである。
WF完了時サブプロセスは、ステップS19に相当する。
(S20)WF実績管理部123は、WF実績テーブル113に回送したWFのデータを追加する。ただし、ステップS20の段階では該当のWFに関して、WF信頼度は未だ設定されない。
【0149】
(S21)個人作業信頼度管理部122は、今回完了したWFのWFタイプIDについて、個人作業信頼度テーブル112の、回送経路上の各担当者のkとmの値と個人作業信頼度の値を更新する。例えば、個人作業信頼度の計算には、前述のBeta Reputationシステムの演算方法が用いられる。例えば、ある作業を行った担当者について、当該作業後にWFが最後の担当者まで承認された場合、個人作業信頼度管理部122は、当該担当者の当該作業の作業IDに対応するkに1を加算する。また、ある作業を行った担当者について、当該作業後にWFが非承認とされた場合、個人作業信頼度管理部122は、当該担当者の当該作業の作業IDに対応するmに1を加算する。
【0150】
(S22)WF信頼度計算部124は、当該回送経路上の各担当者の個人作業信頼度からWF信頼度を計算し、WF実績テーブル113に格納する。例えば、WF信頼度の計算には、前述のAveraging Fusionの演算方法が用いられる。
【0151】
(S23)正解管理部125は、ステップS22で今回計算したWF信頼度が当該WFタイプIDの信頼度閾値より高いか否かを判定する。今回計算したWF信頼度が当該信頼度閾値より高い場合、ステップS24に処理が進む。今回計算したWF信頼度が当該信頼度閾値以下の場合、WF完了時サブプロセスが終了する。
【0152】
(S24)正解管理部125は、WF実績テーブル113内の同WFタイプIDのレコードのうち該当の信頼度閾値よりWF信頼度が高いレコードの回送データを用いて正解データを生成し、正解データテーブル114を更新する。そして、WF完了時サブプロセスが終了する。
【0153】
ここで、ステップS24では、正解管理部125は、信頼度閾値よりもWF信頼度が高い各レコードの回送データの値を比較し、そのうちの最小値を下限、最大値を上限とする範囲を正解データとする。前述のように、正解管理部125は、信頼度閾値よりもWF信頼度が高いレコードのうちの上位N個に基づいて正解データを生成してもよい。Nの値は予め定められる。
【0154】
図13は、サーバによるWF管理例を示す図である。
WF実行部121は、WF設定テーブル111に基づいて、ワークフロー(WF)80を実行する。個人作業信頼度管理部122は、個人作業信頼度テーブル112に基づいて、個人作業信頼度を管理する。WF実績管理部123は、WF実績テーブル113に基づいてWFの実績を管理する。WF信頼度計算部124は、WF実績テーブル113に基づいて、WF信頼度を計算し、WF実績テーブル113を更新する。正解管理部125は、WF実績テーブル113に含まれるWF信頼度に基づいて、WFタイプIDごとの正解データを生成し、正解データテーブル114に格納する。
【0155】
また、正解管理部125は、正解データテーブル114に含まれる正解データと、WF80の回送データとの比較により、回送データの正誤を判定する。例えば、WFタイプID「X」のWF80の作業X1において、担当者(ユーザ)Aにより回送データが作成され、サーバ100に登録される。すると、正解管理部125は、WFタイプID「X」の正解データと、当該回送データとを比較する。
【0156】
正解管理部125は、回送データの値が、正解データと一致する場合や、正解データの範囲に含まれる場合に、回送データを正しいと判定する。一方、正解管理部125は、回送データの値が、正解データと一致しない場合や、正解データの範囲に含まれない場合に、回送データを誤りと判定する。
【0157】
回送データが正しいと判定された場合、WF実行部121は、次の作業X2の担当者BにWF80を回送する。一方、回送データが誤りと判定された場合、WF実行部121は、担当者Aのクライアントに作業X1のやり直しを依頼し、担当者Aによるやり直し結果を受信する。すると、正解管理部125は、正解データとの比較による正誤判定を再度行う。正解管理部125は、WF80の作業X2や作業X2に後続する作業X3についても同様に正解データとの比較による正誤判定を行う。
【0158】
このようにして、サーバ100は、WFにおけるデータの誤りを適切に検出できる。
ここで、WFでは、ユーザによる作業データに対する作業ミスが発生し得る。作業データの誤りは、WFにおける手戻りや遅延の要因となる。
【0159】
特に、テレワーク化が進む中、企業などの組織において各担当者が正しく業務を行うかを確認することが難しく、WFにおいてはミスによる手戻りや遅延が発生しやすいため、ミスを事前に発見して防ぐ方法が問題となる。
【0160】
例えば、サーバなどの情報処理装置に、承認されたWFのデータを正解データとして記憶しておき、担当者が承認を行うときに、担当者がWFのデータを正解データと比較することにより、WFにおけるデータの正誤を判定することも考えられる。
【0161】
しかしながら、WFにおいて、担当者(承認者)が本当に正しいデータを確認してWFの回送データを承認するとは限らない。多くの承認すべきWFがあるがために担当者による確認不足が生じ得る。そのため、比較対象である正解データの信頼性が低くなる可能性もある。このため、正解データを用いる場合、WFのデータが正しいかどうかを判定するための比較対象である正解データの信頼性を向上させる方法も問題となる。
【0162】
そこで、サーバ100は、WFの過去の実行実績から、当該WFの回送データに対する正解データを取得することで、新たに開始される同種のWFの回送データの正誤を、当該正解データを基に適切に判定可能になる。その結果、サーバ100は、例えば作成された回送データに対し、次の担当者にWFを回送する前に作業ミスを事前に発見し、余計な手戻りが発生することを抑制できる。また、サーバ100は、WFの遅延を抑制できる。
【0163】
また、サーバ100は、正解データの取得のために、該当のWFに対するユーザの作業の正誤の実績に応じた信頼度を考慮することで、正解データの精度または信頼性を向上させることができる。サーバ100は、こうして取得された正解データを用いて、回送データの正誤を判定することで、回送データの正誤の判定精度を高めることができる。
【0164】
なお、正解データの信頼性を高める比較例の方法として、回送データへの正解のラベル付け(WFにおける承認)を各担当者により予め行わせることも考えられる。しかし、正解のラベル付けは、ラベル付けを行った各担当者の信頼度に依存する。このため、比較例の方法では正解データとして尤もらしいものが得られるとは限らない。
【0165】
一方、サーバ100によれば、各担当者の信頼度を考慮した正解データの生成が自動的に行われる。このため、人手によるラベル付けが行われる比較例の方法に比べて、サーバ100は、各担当者(各ユーザ)によるラベル付け作業を省ける。また、比較例の方法に比べて、サーバ100は、尤もらしい正解データを得ることができ、より正確にミス発見を行うことができる。
【0166】
以上説明したように、サーバ100は次の処理を実行する。
制御部120は、第1ワークフロー(第1WF)における第1ユーザの作業データの正誤の実績を示す正誤情報を取得する。制御部120は、取得した正誤情報に基づいて第1ユーザの信頼度を算出する。制御部120は、第1ユーザの信頼度に応じて、第1ユーザの作業データを第1ワークフローの正解データとするか否かを判定する。制御部120は、新たに開始された第1ワークフローにより回送される第1データと第1ワークフローの正解データとの比較により第1データの正誤を判定する。
【0167】
これにより、サーバ100は、データの誤りを適切に検出できる。あるWFタイプIDに対応するワークフローは、第1ワークフローの一例である。例えば、WFタイプID「産学連携」のWF回送ID「WF0001」のワークフローは、1つ目の第1ワークフローの一例である。また、例えばWFタイプID「産学連携」のWF回送ID「WF0004」のワークフローは、新たに開始された2つ目の第1ワークフローの一例である。2つ目の第1ワークフロー(新たに開始された第1ワークフロー)は、「第2ワークフロー」と記載されてもよいし、1つ目の「第1ワークフローとワークフローの種類が同じである第2ワークフロー」と記載されてもよい。
【0168】
更に、正解データの作成に用いられる回送データは、作業データの一例である。正解データと正誤判定のために比較される回送データは、第1データの一例である。個人作業信頼度は、第1ユーザの信頼度の一例である。個人作業信頼度テーブル112に含まれる、ユーザごとの成功回数や失敗回数の情報は、正誤情報の一例である。例えば、第1ユーザの信頼度の算出には、Beta Reputationシステムの演算方法が用いられてもよい。
【0169】
制御部120は、作業データを正解データとするか否かの判定では、第1ユーザの信頼度と第1ワークフローの回送先に含まれる第2ユーザの信頼度とに基づいて、作業データを正解データとするか否かを判定する。
【0170】
これにより、サーバ100は、正解データを適切に生成できる。例えば、サーバ100は、一人のユーザの信頼度だけを用いて正解データとするか否かを判定するよりも、複数のユーザの信頼度を用いることで、正解データの信頼性または精度を向上できる。個人作業信頼度は、第2ユーザの信頼度の一例である。
【0171】
制御部120は、第1ユーザの信頼度と第2ユーザの信頼度とに基づいて、作業データを回送する第1ワークフローのワークフロー信頼度(WF信頼度)を計算する。制御部120は、ワークフロー信頼度が閾値よりも高いか否かを判定する。制御部120は、ワークフロー信頼度が閾値よりも高い場合、作業データを正解データとする。
【0172】
これにより、サーバ100は、正解データを適切に生成できる。例えば、サーバ100は、正解データの信頼性または精度を向上できる。WF設定テーブル111に設定される信頼度閾値は、上記閾値の一例である。
【0173】
例えば、制御部120は、第1ユーザの信頼度および第2ユーザの信頼度のうち、高い方の信頼度によるワークフロー信頼度への影響を、低い方の信頼度によるワークフロー信頼度への影響よりも大きくする融合演算を用いて、ワークフロー信頼度を計算する。
【0174】
これにより、サーバ100は、正解データを適切に生成できる。例えば、サーバ100は、正解データの信頼性または精度を向上できる。例えば、融合演算は、Averaging Fusionでもよい。
【0175】
また、制御部120は、第1ワークフローの正解データとする作業データが複数ある場合、複数の作業データに基づいて、正解データとする値の範囲を決定する。これにより、サーバ100は、正解データを効率的に生成できる。例えば、正解データとする複数の作業データの下限の値と上限の値との間の範囲に属する値は、何れも正解データである蓋然性が高い。したがって、サーバ100は、当該範囲を正解データとすることで、当該範囲に属する個々の値の作業データを取得しなくても、効率的に正解データを生成できる。
【0176】
制御部120は、正誤情報の取得では、第1ワークフローの実行終了後に、第1ワークフローにおいて作業データが否決されたか否かに応じて、第1ユーザの作業データの正誤を決定する。これにより、サーバ100は、正誤情報を適切に取得できる。ここで、否決されることは、第1ユーザの後の回送先の他のユーザにより作業データが非承認とされることに相当する。他のユーザにより否決されて第1ワークフローが実行終了した場合、第1ユーザの作業データは誤り、すなわち、当該作業データに対する第1ユーザの作業は誤りとなる。他のユーザにより否決されずに第1ワークフローが実行終了した場合、第1ユーザの作業データは正しい、すなわち、当該作業データに対する第1ユーザの作業は正しいことになる。
【0177】
正誤情報は、第1ワークフローに含まれる複数の作業のうち、第1ユーザが行った作業に対応する作業データの正誤の実績を示す情報でもよい。すなわち、制御部120は、第1ワークフローに含まれる複数の作業のうち、第1ユーザが行った作業に対する正誤の実績を示す正誤情報を取得してもよい。このように、正誤情報には、ユーザと作業との組ごとに正誤の実績が保持されてもよい。
【0178】
これにより、サーバ100は、各ユーザについて第1ワークフローに含まれる作業の正誤の実績を正誤情報として詳細に取得できる。このため、例えば、サーバ100は、当該正誤情報を基に、当該作業に対する第1ユーザの信頼度を算出することで、第1ユーザが行った作業に着目した信頼度を得ることができる。なお、個人作業信頼度テーブル112は、正誤情報の一例である。また、サーバ100は、詳細な信頼度を基に、作業データを正解データとするか否かを判定することで、正解データの信頼性または精度の向上を図れる。
【0179】
制御部120は、第1データの正誤の判定により、第1データが誤っている場合、正解データと第1データとの差分を示す差分情報を、第1データに対する作業を行ったユーザが利用する端末装置に送信してもよい。これにより、サーバ100は、第1データに対する作業を行ったユーザに対して、第1データの修正を円滑に行えるように支援できる。また、サーバ100は、第1ワークフローの円滑な進行を支援できる。
【0180】
なお、第1の実施の形態の情報処理は、処理部12にプログラムを実行させることで実現できる。また、第2の実施の形態の情報処理は、CPU101にプログラムを実行させることで実現できる。プログラムは、コンピュータ読み取り可能な記録媒体63に記録できる。
【0181】
例えば、プログラムを記録した記録媒体63を配布することで、プログラムを流通させることができる。また、プログラムを他のコンピュータに格納しておき、ネットワーク経由でプログラムを配布してもよい。コンピュータは、例えば、記録媒体63に記録されたプログラムまたは他のコンピュータから受信したプログラムを、RAM102やHDD103などの記憶装置に格納し(インストールし)、当該記憶装置からプログラムを読み込んで実行してもよい。
【符号の説明】
【0182】
10 情報処理システム
11 記憶部
11a 正誤情報
11b 信頼度情報
11c 正解データ情報
12 処理部
20 ワークフローテンプレート
20a,20b ワークフロー
21 作業順序テンプレート
21a,21b 作業順序情報
22 作業データテンプレート
22a,22b 作業データ