(57)【要約】【課題】業務内容が変化する場合などにおいて、ユーザの負担を軽減する。【解決手段】作業管理装置１３０は、作業者の作業に関するワークログ２１０を取得し、ワークログ２１０に含まれる各作業を、作業者のタスク毎に予め選択した識別器を用いて評価することにより各作業に係る作業者のタスクを推定する。作業管理装置１３０は、複数の作業者のタスクと複数の識別器とを互いに対応付けて登録されるデータベース１３４に、作業者による新たなタスクを登録する際に、登録に係るタスクに対応する識別器を選択または生成して対応付けてデータベース１３４に登録する。【選択図】図１４
2020064358.tif 000002
【特許請求の範囲】
【請求項１】
作業者の作業に関するワークログを取得する取得手段と、
前記ワークログに含まれる各作業を、作業者のタスク毎に予め選択した識別器を用いて評価することにより、各作業に係る作業者のタスクを推定するタスク推定手段と、
複数の作業者のタスクと、複数の識別器とが、互いに対応付けて登録されるデータベースと、
作業者による新たなタスクを前記データベースに登録する際に、登録に係るタスクに対応する識別器を選択または生成して対応付けて前記データベースに登録する登録手段と、
を有する、作業管理装置。
【請求項２】
前記登録手段は、
作業者による新たなタスクが、前記データベースに既に登録されている既存のタスクと合致するか否かを判断するタスク判断手段と、
前記タスク判断手段により合致が判断される場合に、新たなタスクの分類に利用可能な、前記データベースに既に登録されている既存の識別器が存在するか否かを判断するモデル判断手段と、
前記モデル判断手段により存在すると判断される場合に、既存のタスクに対応する既存の識別器を、登録に係るタスクに対応する識別器として選択するように前記データベースを変更する変更手段と、
を有する、請求項１記載の作業管理装置。
【請求項３】
前記登録手段は、
前記既存の判断手段により合致が判断されない場合に、新たなタスクに類似する類似タスクが選択されているか否かを判断する類似判断手段と、
前記類似判断手段により類似タスクが選択されていると判断される場合に、類似タスクに対応する既存の識別器を、登録に係るタスクに対応する識別器として選択するように前記データベースを変更する変更手段と、
を有する、請求項１または２記載の作業管理装置。
【請求項４】
前記類似タスクは、前記データベースに登録されている前記既存のタスクの中から、ユーザにより手動選択されたタスクである、
請求項３記載の作業管理装置。
【請求項５】
前記登録手段は、
前記類似判断手段により類似タスクが選択されていると判断されない場合に、作業者による新たなタスクを、前記データベースから削除する削除手段と、
を有する、請求項１から４のいずれか一項記載の作業管理装置。
【請求項６】
前記登録手段は、
前記モデル判断手段により存在すると判断されない場合に、登録に係るタスクに対応する識別器を、学習モデルついての機械学習により新たに生成するモデル生成手段と、
前記モデル生成手段により生成された学習モデルを、登録に係るタスクに対応する識別器として選択するように前記データベースを追加する追加手段と、
を有する、請求項１から５のいずれか一項記載の作業管理装置。
【請求項７】
前記タスク推定手段によるタスクの推定に基づいて、複数の作業者のタスクについての累積的な作業時間または作業量を集計する集計手段、
を有する、請求項１から６のいずれか一項記載の作業管理装置。
【請求項８】
作業者の作業に関するワークログを取得する取得工程と、
前記ワークログに含まれる各作業を、作業者のタスク毎に予め選択した識別器を用いて評価することにより、各作業に係る作業者のタスクを推定するタスク推定工程と、
複数の作業者のタスクと複数の識別器とを互いに対応付けて登録されるデータベースに対して、作業者による新たなタスクを登録する際に、登録に係るタスクに対応する識別器を選択または生成して対応付けて前記データベースに登録する登録工程と、
を有する、作業管理装置の制御方法。
【請求項９】
作業管理装置の制御方法をコンピュータに実行させるプログラムであって、
前記作業管理装置の制御方法は、
作業者の作業に関するワークログを取得する取得工程と、
前記ワークログに含まれる各作業を、作業者のタスク毎に予め選択した識別器を用いて評価することにより、各作業に係る作業者のタスクを推定するタスク推定工程と、
複数の作業者のタスクと複数の識別器とを互いに対応付けて登録されるデータベースに対して、作業者による新たなタスクを登録する際に、登録に係るタスクに対応する識別器を選択または生成して対応付けて前記データベースに登録する登録工程と、
を有する、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、作業管理装置に関する。
【背景技術】
【０００２】
企業などにおいては、作業者の作業状況などを管理し、これにより生産性を向上させる試みがなされている。特許文献１は、ユーザが作業するタスクの情報をあらかじめデータベースに登録し、ユーザのパソコンの入力操作とデータベースの登録情報とを比較してタスクを推定し、推定したタスクと時間情報とを記録する技術を開示する。特許文献２は、あらかじめデータを学習させた識別器を用いて、ユーザの行動を分類する技術を開示する。これらのシステムにより、作業者の各作業を管理することが考えられる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第０５８２５９１５号公報
【特許文献２】特許第０５９５３６７３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、企業などにおいて作業者がする作業には、多種多様なものがある。特に、各作業を各業務のタスクに適切に分類するためには、各作業は、ユーザ単位またはタスク単位で分類する必要がある。その結果、作業者の各作業を管理するシステムでは、作成または再構築されるデータベースなどが複雑なものになる。また、企業などにおいて各作業者が作業する業務のタスクは、常に変化する。このため、データベースは、常時更新する必要がある。このため、あらかじめ作成したデータベースや識別器などを使用するシステムでは、複数の作業者の作業を良好に分類し続けることができるようにするためには、複雑なデータベースを常に更新しなければならない。データベースの更新作業の負担が過大になる。作業者またはその管理者であるユーザは、定常的にシステムのデータベースなどの再構築の作業に追われることになる。
【０００５】
このように、作業管理装置では、業務内容が変化する場合などにおいて、作業者またはその管理者などのユーザに過大な負担をかけないようにすることが求められている。
【課題を解決するための手段】
【０００６】
本発明に係る作業管理装置は、作業者の作業に関するワークログを取得する取得手段と、前記ワークログに含まれる各作業を、作業者のタスク毎に予め選択した識別器を用いて評価することにより、各作業に係る作業者のタスクを推定するタスク推定手段と、複数の作業者のタスクと、複数の識別器とが、互いに対応付けて登録されるデータベースと、作業者による新たなタスクを前記データベースに登録する際に、登録に係るタスクに対応する識別器を選択または生成して対応付けて前記データベースに登録する登録手段と、を有する。
【発明の効果】
【０００７】
本発明では、業務内容が変化する場合などにおいて、作業者またはその管理者などのユーザに過大な負担をかけないようにできる。
【図面の簡単な説明】
【０００８】
【図１】本実施形態に係る作業管理装置を有する作業管理システムの構成の一例の説明図である。
【図２】図１のサーバ装置に実現される機能の一例の説明図である。
【図３】図２のワークログなどの作業に関するデータベースの説明図である。
【図４】図２のユーザ登録タスク管理データベースの説明図である。
【図５】図２の学習モデルデータベースの説明図である。
【図６】図２のタスク推定結果の説明図である。
【図７】図２のタスク一覧データベースおよび学習データの説明図である。
【図８】ワークログに基づくタスク推定処理の流れを示すフローチャートである。
【図９】レポート表示処理の流れを示すフローチャートである。
【図１０】図９のレポート表示処理中に表示される設定画面の一例である。
【図１１】作業者の一日の作業内容と作業集計レポートの表示画面との対応関係を示す図である。
【図１２】作業者についての新たなタスクを登録するための処理の流れを示すフローチャートである。
【図１３】図１２の登録処理中に表示される設定画面の一例である。
【図１４】図１２のタスク登録処理に対応する学習モデルの変更生成処理の流れを示すフローチャートである。
【発明を実施するための形態】
【０００９】
以下、本発明の実施形態について図面を参照しながら詳細に説明する。しかしながら、以下の実施形態に記載されている構成はあくまで例示に過ぎず、本発明の範囲は実施形態に記載されている構成によって限定されることはない。
【００１０】
図１は、本実施形態に係る作業管理装置を有する作業管理システムの構成の一例の説明図である。図１の作業管理システムは、クライアント端末１１０、サーバ装置１３０、その他のシステム１４０、およびこれらの機器をデータ通信可能に接続するネットワーク１２０、を有する。作業管理システムは、複数のクライアント端末１１０、または複数のサーバ装置１３０、を有してよい。ネットワーク１２０は、ＬＡＮケーブルにより機器を接続するものでも、無線通信網により機器を接続するものでも、またはこれらを組み合わせたものでもよい。その他のシステム１４０は、ユーザの日々の予定を管理するスケジューラ１４１や、日々の業務管理を行うプロジェクト管理ツール１４２などが含まれる。その他のシステム１４０は、この他にもプロジェクト管理に必要な各種システムが追加されてよい。プロジェクト管理ツール１４２は、ユーザが日々の実績を入力するツールであり、クライアント端末１１０などとネットワークを介して通信し、ユーザの作業工数を記録する。スケジューラ１４１は、スケジュール情報をワークログとしてサーバ装置１３０へ送信する。
【００１１】
クライアント端末１１０は、業務管理対象であるユーザである作業者が、作業に使用する端末である。作業者は、クライアント端末１１０を操作して作業する。クライアント端末１１０は、たとえば一般的なパーソナルコンピュータ装置（ＰＣ）でよく、通信部１１１、ＣＰＵ１１２、記憶部１１３、操作部１１４、表示部１１５、を有する。通信部１１１は、ネットワーク１２０に接続されるネットワークインタフェースデバイスであり、サーバ装置１３０などとの間でデータを送受する。表示部１１５は、たとえばディスプレイデバイスであり、ユーザ操作に応じた作業画面を切り替えて表示する。作業画面には、たとえば、文書作成、表計算、プレゼンテーション作成、スケジュール管理、プロジェクト管理などの作業画面がある。操作部１１４は、たとえばキーボードデバイス、ポインティングデバイスであり、ユーザが作業の際に操作される。記憶部１１３は、たとえばＲＯＭ、ＲＡＭ、ＨＤＤで構成される。記憶部１１３は、クライアント端末１１０のＣＰＵ１１２により実行されるプログラムおよびデータを記録する。記憶部１１３に記録されるデータには、たとえば、ユーザが作業中にクライアント端末１１０した操作などを時系列順に記録したＰＣ操作ログ１１６がある。ＣＰＵ１１２は、記憶部１１３に記録されているプログラムを実行する。これにより、クライアント端末１１０には、クライアント端末１１０の動作を制御する制御部が実現される。ＣＰＵ１１２は、たとえば操作部１１４から作業中のユーザによる操作データを取得すると、それに応じてクライアント端末１１０を制御して、表示部１１５の作業画面を切り替える。また、ＣＰＵ１１２は、取得した操作データを、記憶部１１３のＰＣ操作ログ１１６に追加する。これにより、ユーザがクライアント端末１１０についてした操作のログが、記憶部１１３のＰＣ操作ログ１１６に蓄積して記録される。また、ＣＰＵ１１２は、自動的にまたはユーザ操作に応じて、記憶部１１３のＰＣ操作ログ１１６を読み込み、通信部１１１からサーバ装置１３０へ送信する。なお、ＣＰＵ１１２は、取得した操作データを、そのまま通信部１１１からサーバ装置１３０へ送信してもよい。このようにクライアント端末１１０は、クライアント端末１１０を用いた作業者の作業を、ＰＣ操作ログ１１６として収集してサーバ装置１３０へ送信する。
【００１２】
サーバ装置１３０は、作業者などのユーザが所属する企業、部署についての業務および作業を管理する装置である。サーバ装置１３０は、たとえば一般的なパーソナルコンピュータ装置（ＰＣ）でよく、通信部１３１、ＣＰＵ１３２、記憶部１３３、を有する。通信部１３１は、ネットワーク１２０に接続されるネットワークインタフェースデバイスであり、クライアント端末１１０などとの間でデータを送受する。記憶部１３３は、たとえばＲＯＭ、ＲＡＭ、ＨＤＤで構成される。記憶部１３３は、サーバ装置１３０のＣＰＵ１３２により実行されるプログラムおよびデータを記録する。記憶部１３３に記録されるデータには、たとえば、複数の作業者についての業務および作業を収集して管理するデータベース１３４がある。ＣＰＵ１３２は、記憶部１３３に記録されているプログラムを実行する。これにより、サーバ装置１３０には、サーバ装置１３０の動作を制御する制御部が実現される。ＣＰＵ１３２は、作業者の作業を時系列に並べたＰＣ操作ログ１１６を通信部１３１が受信すると、取得したＰＣ操作ログ１１６を、記憶部１３３のデータベース１３４に追加登録する。ＣＰＵ１３２は、記憶部１３３のデータベース１３４を用いて、複数の作業者についての作業を解析し、データベース１３４を更新する。たとえば、ＣＰＵ１３２は、クライアント端末１１０およびその他のシステム１４０から送信されてきた作業についてのワークログを分析し、各作業に係るユーザのタスクを推定し、作業実績としてデータベース１３４に記録する。ＣＰＵ１３２は、データベース１３４に含まれるデータを、必要に応じて加工して、通信部１３１からクライアント端末１１０などへ送信する。
【００１３】
図２は、図１のサーバ装置１３０に実現される機能の一例の説明図である。ＣＰＵ１３２は、記憶部１３３に記録されているプログラムを実行することにより、図２の各機能がサーバ装置１３０に実現される。図２の作業管理装置としてのサーバ装置１３０は、ワークログ２１０、入力部２２０、フィルタリング処理部２３０、タスク判断部２４０、出力部２５０、を有する。サーバ装置１３０は、タスク一覧データベース２６０、学習データ２７０、学習モデル生成部２８０、タスク登録部２９０、ユーザ登録タスク管理データベース２９１、を有する。タスク判断部２４０は、学習モデルデータベース２４１、学習モデル処理部２４２、出力タスク判断部２４３、タスク推定結果２４４、を有する。この場合、記憶部１３３に記録されるデータベース１３４は、ワークログ２１０、タスク一覧データベース２６０、学習データ２７０、ユーザ登録タスク管理データベース２９１、学習モデルデータベース２４１、タスク推定結果２４４、で構成される。これにより、データベース１３４には、複数の作業者のタスクと、タスク毎の識別器としての複数の学習モデルとが、互いに対応付けて登録されることになる。
【００１４】
ワークログ２１０は、クライアント端末１１０で収集されて送信されてきたＰＣ操作ログ１１６、その他のシステム１４０より取得できる作業データを、蓄積して記録するデータベースである。入力部２２０は、記憶部１３３に格納されたワークログ２１０を入力データとして取得する。フィルタリング処理部２３０は、タスク判断部２４０でタスクを推定する処理および、学習モデル生成部２８０で学習モデルを生成する処理で必要となる解析要素を、ワークログ２１０の中から抽出し、所定フォーマットに変換する。タスク判断部２４０は、フィルタリングされたワークログに含まれる各作業を、作業者のタスク毎に予め生成した学習モデルを用いて評価することにより、各作業に係る作業者のタスクを推定する。タスク判断部２４０において、学習モデルデータベース２４１は、学習モデル生成部２８０で生成された複数の作業者についての複数のタスクに対応する複数の学習モデルが登録される。学習モデル処理部２４２は、フィルタリングされたワークログの各作業について、学習モデルデータベース２４１でのユーザについてのすべての学習モデルを用いて、タスク一覧データベース２６０に登録されている各登録タスクの評価値を演算する。出力タスク判断部２４３は、学習モデル処理部２４２により演算された複数の登録タスクについての評価値から、最も評価値が高い登録タスクを選択し、推定したタスクとして判断する。出力タスク判断部２４３は、推定したタスクを、タスク推定結果２４４に作業の情報と対応付けて記録する。タスク推定結果２４４は、ワークログから抽出される作業に、タスクを対応付けて記録する。出力部２５０は、タスク判断部２４０で推定されたタスクに基づいて、タスクごとの累積した作業時間または作業量（以下、工数ともいう。）を集計し、通信部１３１からクライアント端末１１０へ送信する。出力部２５０は、タスク判断部２４０によるタスクの推定に基づいて、複数の作業者のタスクについての累積的な作業時間または作業量を、クライアント端末１１０での表示などのために集計する。
【００１５】
タスク登録部２９０は、ユーザが作業するタスクを変更する際にクライアント端末からそのデータを受信する。タスク登録部２９０は、新しいタスクが登録された場合はタスク一覧データベース２６０へ追加する。タスク一覧データベース２６０は、ユーザが作業する可能性がある全てのタスクが予め登録されたデータベースである。学習データ２７０は、タスク一覧データベース２６０に基づいて適宜生成され、新たに学習モデルを生成する際に使用する学習データ２７０である。学習モデル生成部２８０は、学習データ２７０をフィルタリング処理して得られたワークログから、所定のタスクを推定するための学習モデルを生成するための処理部である。学習モデル生成部２８０は、新たな作業者による新たなタスクをデータベース１３４に登録する際に、登録に係るタスクに対応する学習モデルを選択または機械学習により新たに生成して対応付けてデータベース１３４に登録する。学習モデル生成部２８０は、登録済みの作業者による新たなタスクをデータベース１３４についても、同様にデータベース１３４に登録する。タスク登録部２９０は、ユーザ登録タスク管理データベース２９１へ該当ユーザに対してタスクの登録状況を変更内容に基づき、更新する。ユーザ登録タスク管理データベース２９１は、ユーザごとの登録タスクを管理するデータベースである。
【００１６】
図３は、図２のワークログ２１０などの作業に関するデータベースの説明図である。図３（Ａ）は、クライアント端末１１０の操作部１１４の操作についてのＰＣ操作ログ１１６を収集したワークログ２１０の一例である。図３（Ａ）のワークログ２１０は、クライアント端末１１０に対する操作作業ごとの複数のレコードを有する。複数のレコードは、時系列順に並べられる。操作作業ごとのレコードは、レコードを識別するＩＤ３１１、操作の時刻３１２、操作に係るアプリケーション名３１３、操作対象の情報３１４、操作の内容３１５、を有する。また、操作作業ごとのレコードは、操作に係る入力キーの情報３１６、操作に係るカーソル位置３１７、操作対象のファイルのプロパティ３１８、有する。操作作業ごとのレコードに収集するフィールド情報は、これらに限られない。操作作業ごとのレコードは、たとえば、ドキュメント文書やＷｅｂページの全文、メールの本文や添付ファイル名、ポインティングデバイスの操作がなされたＧＵＩパーツ情報（メニュー項目名やボタン名など）などを、フィールド情報として有してよい。操作対象の情報３１４は、たとえば、ドキュメント文書であればファイルの保存されているパス名およびファイル名、Ｗｅｂ閲覧であればＵＲＬおよびＷｅｂページタイトル、メールソフトであれば送信相手および件名、が格納される。図３（Ｂ）のワークログ２１０は、スケジューラ１４１から収集されるものであり、予定作業ごとの複数のレコードを有する。複数のレコードは、時系列順に並べられる。操作作業ごとのレコードは、たとえば、レコードを識別するＩＤ３３１、作業の開始予定時刻３３２、作業の終了予定時刻３３３、作業の予定内容３３４、作業の場所３３５、を有する。作業ごとのレコードに収集するフィールド情報は、これらに限られない。予定作業ごとのレコードは、この他にもたとえば、予定する会議への参加者の情報、アジェンダなどの情報、を有してよい。
【００１７】
図４は、図２のユーザ登録タスク管理データベース２９１の説明図である。図４のユーザ登録タスク管理データベース２９１は、作業者の作業を管理するためのデータベースである。ユーザ登録タスク管理データベース２９１は、作業者としてのユーザごとおよび作業としてのタスクごとの複数のレコードを有する。複数のレコードは、ユーザ毎にまとめて登録される。ユーザおよびタスクごとのレコードは、たとえば、ユーザを識別するＩＤ３８１、ユーザ名３８２、ユーザが作業する登録タスクＩＤ３８３、タスク状態３８４、を有する。登録タスクＩＤ３８３は、他の登録タスクとは異なる識別情報とする。仮に同じ作業を複数のユーザにより実施する場合でも、ユーザが異なる場合には異なる識別情報とする。タスク状態３８４は、登録タスクが現在も作業中のタスクであるのか、過去に作業し終えたタスクであるのかを区別できる値が登録される。これにより、終了した作業についても、ユーザ登録タスク管理データベース２９１を参照して再利用することが可能になる。
【００１８】
図５は、図２の学習モデルデータベース２４１の説明図である。図５の学習モデルデータベース２４１は、機械学習済みの学習モデルを管理するためのデータベースである。学習モデルデータベース２４１は、機械学習済みの学習モデルごとの複数のレコードを有する。学習モデルごとのレコードは、機械学習済みの学習モデルを識別するＩＤ３９１、その学習モデルに対応する登録タスクＩＤ３９２、その学習モデルを使用するユーザＩＤ３９３、を有する。複数のユーザが１つの機械学習済みの学習モデルを使用する場合、学習モデルごとのレコードは、登録タスクＩＤ３９２およびユーザＩＤ３９３を、複数組で有する。学習モデル処理部２４２は、学習モデルデータベース２４１を参照することにより、ユーザごとに適切な学習モデルを選択可能となる。
【００１９】
図６は、図２のタスク推定結果２４４の説明図である。図６のタスク推定結果２４４は、ワークログ２１０に含まれる作業毎のタスク推定結果を記録するデータベースである。タスク推定結果２４４は、ワークログ２１０に含まれる作業ごとの複数のレコードを有する。作業ごとのレコードは、レコードを識別するＩＤ３７１、図３（Ａ）のＩＤ３１１に対応するワークログＩＤ３７２、図３（Ａ）の時刻３１２に対応する時刻３７３、推定タスク３７４、評価値３７５、を有する。レコードに収集するフィールド情報は、これらに限られない。作業ごとのレコードは、この他にもたとえば、判断結果の正誤情報、を有してよい。また、図６の各レコードは、１つのワークログＩＤに対して１つのタスクを推定する例である。この他にもたとえば、所定時間または所定量の複数の作業に対して同じ推定タスクを推定している場合には、図６の１つのレコードに、複数組のワークログＩＤ３７２、時刻３７３、推定タスク３７４、評価値３７５、を登録してよい。
【００２０】
図７は、図２のタスク一覧データベース２６０および学習データ２７０の説明図である。図７（Ａ）のタスク一覧データベース２６０は、管理対象の複数のユーザにより作業される複数のタスクが予め登録されるデータベースである。タスク一覧データベース２６０は、タスクごとの複数のレコードを有する。タスクごとのレコードは、タスクを識別するＩＤ３５１、タスクが属するテーマ名称３５２、タスク名３５３、類似タスクＩＤ３５４、を有する。類似タスクＩＤ３５４には、レコードのタスクと類似する他のタスクのＩＤ３５１が登録される。図７（Ｃ）には、テーマ名称とタスク名との組み合わせ例を示す。たとえば、製品開発であれば、「○○製品開発」というテーマ名称に対して、「調査」「仕様検討」「実装／デバッグ」「資料作成」「打合せ／レビュー」などのタスク名がある。質保証であれば、「□□機能評価」というテーマ名称に対して、「調査」「評価手法検討」「評価」「資料作成」「打合せ／レビュー」などのタスク名がある。売営業であれば、「△△販売営業」というテーマ名称に対して、「調査」「販売戦略検討」「資料作成」「打合せ／レビュー」「商談／電話対応」「クレーム対応／アフターフォロー」などのタスク名がある。これらのテーマ名称とタスク名との組み合わせが、タスク名ごとに、タスク一覧データベース２６０に登録される。
【００２１】
図７（Ｂ）の学習データ２７０は、学習モデルの機械学習に用いる学習データが登録されるデータベースである。学習データ２７０は、学習データごとの複数のレコードを有する。学習データごとのレコードは、学習データを識別するＩＤ３６１、図３（Ａ）のＩＤ３１１に対応するワークログＩＤ３６２、図３（Ａ）の時刻３１２に対応する時刻３６３、その作業に対応するタスクのＩＤ３５１に対応する正解タスクＩＤ３６４、を有する。なお、学習データ２７０は、上述した他のデータベースと異なりリアルタイムで更新する必要がない。ＣＰＵ１３２は、たとえばユーザによる手動操作や定期的なタイミングにおいて、ワークログ２１０とタスク一覧データベース２６０とに基づいて、学習データ２７０を更新する。ＣＰＵ１３２は、ワークログ２１０と、タスク一覧データベース２６０に登録されている中の１つの該当タスク（以下、正解タスクとよぶ）とを対にして、学習データ２７０に登録する。
【００２２】
図８は、ワークログに基づくタスク推定処理の流れを示すフローチャートである。サーバ装置１３０のＣＰＵ１３２は、クライアント端末１１０から新たなワークログ２１０を取得した場合などにおいて、新たなワークログに含まれる作業ごとに、図８のタスク推定処理を繰り返す。図８のワークログに基づくタスク推定処理では、図３のワークログ２１０、図４のユーザ登録タスク管理データベース２９１、図５の学習モデルデータベース２４１を用いて、ワークログに含まれる各作業に係るユーザのタスクを推定する。そして、推定したタスクは、図６のタスク推定結果２４４に登録される。
【００２３】
図８のステップＳ６１０において、サーバ装置１３０の入力部２２０は、図３（Ｂ）に示すワークログ２１０から、解析対象となる作業を取得する。ステップＳ６２０において、フィルタリング処理部２３０は、取得した作業についての情報をフィルタリングして、タスク推定処理に用いる解析要素を抽出する。たとえば、クライアント端末１１０から収集する図３（Ａ）のワークログ２１０の作業の場合、フィルタリング処理部２３０は、作業の実行時間を算出するための時刻情報３１２、を抽出できる。また、フィルタリング処理部２３０は、作業に使用するアプリケーション名３１３、作業操作対象情報３１４などの解析要素を抽出できる。作業操作対象情報３１４では、作業に関連するドキュメント文書、Ｗｅｂ閲覧、メール情報を特定することができる。この他にも、フィルタリング処理部２３０は、ファイル本文、メール本文、Ｗｅｂサイト本文の全文において頻出するキーワードを、解析要素として抽出してよい。フィルタリング処理部２３０は、作業に係るフォルダの作成者情報、ファイルサイズ、操作に係るボタンやメニューなどのＧＵＩ操作内容などを、解析要素として抽出してよい。フィルタリング処理部２３０は、図３（Ｂ）の行動予定のワークログ２１３からも同様に、作業に関わる情報を、解析要素として抽出してよい。そして、フィルタリング処理部２３０は、作業について抽出した解析要素を、学習モデル処理部２４２が利用する機械学習のアルゴリズムの入力データ形式に合ったフォーマットに変換する。ステップＳ６３０において、学習モデル処理部２４２は、対象ユーザが使用する複数の学習モデルを図５の学習モデルデータベース２４１から選択し、ステップＳ６２０でフィルタリングされた作業に係るタスクを推定する。学習モデル処理部２４２は、選択したそれぞれの学習モデルに、抽出した解析要素を入力し、作業の分類先となるタスクとの関係度合いを示す評価値を演算する。ステップＳ６４０において、出力タスク判断部２４３は、ステップＳ６３０でユーザの複数のタスクについて演算された関連性の評価値を基に、最大の関連性を示す評価値を得たタスクを推定タスクとして判断する。出力タスク判断部２４３は、判断した推定タスクを、作業の情報とともに、図６のタスク推定結果２４４に登録する。
【００２４】
図９は、クライアント端末１１０およびサーバ装置１３０による、レポート表示処理の流れを示すフローチャートである。図１０は、図９のレポート表示処理中に表示される設定画面の一例である。図９（Ａ）は、クライアント端末１１０およびサーバ装置１３０による、レポート表示処理の全体的な流れを示すフローチャートである。図９（Ａ）のステップＳ７１０において、クライアント端末１１０のＣＰＵ１１２は、図１０に示すような生成レポート設定画面７１１を、表示部１１５に表示する。ステップＳ７２０において、クライアント端末１１０のＣＰＵ１１２は、生成レポート設定画面７１１を表示している状態での操作部１１４に対するユーザ操作に基づいて、生成するレポートに関する設定する。ＣＰＵ１１２は、選択フィールド７１２に対するユーザ操作により、レポートの対象者を選択する。ＣＰＵ１１２は、フィールド７１３に対するユーザ操作により、レポート対象日を選択する。ＣＰＵ１１２は、Ｃａｎｃｅｌボタン７１５に対するユーザ操作により、レポート生成を中断して終了する。ＣＰＵ１１２は、ＯＫボタン７１４に対するユーザ操作により、その時点で選択している設定を保持する。ＣＰＵ１１２は、設定を完了する。ＯＫボタン７１６の操作を判断したＣＰＵ１１２は、ステップＳ７３０において、レポート生成要求を、通信部１１１からサーバ装置１３０へ送信する。サーバ装置１３０の通信部１３１がレポート生成要求を受信して取得すると、ＣＰＵ１３２は、ステップＳ７４０において、図９（Ｂ）のレポート生成処理を実行する。また、サーバ装置１３０のＣＰＵ１３２は、生成したレポートのデータを、通信部１３１からクライアント端末１１０へ送信する。クライアント端末１１０の通信部１１１がレポートのデータを受信して取得すると、ＣＰＵ１１２は、ステップＳ７５０において、図１１（Ｃ）に示すようなレポートの出力画面を表示部１１５に表示する。
【００２５】
図９（Ｂ）は、図９（Ａ）のステップＳ７４０において、出力部２５０としてのサーバ装置１３０のＣＰＵ１３２が実行するレポート生成処理の流れを示す。図１１は、作業者の一日の作業内容と作業集計レポートの表示画面との対応関係を示す図である。図９（Ｂ）のステップＳ７４１において、サーバ装置１３０のＣＰＵ１３２は、記憶部１３３に記録されている図６のタスク推定結果２４４から、指定されたユーザの集計期間（対象日）についてのタスク推定結果を取得する。なお、指定されたユーザの集計期間（対象日）についてのタスク推定結果がたとえば利用可能な学習モデルが無いために未生成であるような場合には、サーバ装置１３０のＣＰＵ１３２は、レポート生成処理を終了する。サーバ装置１３０のＣＰＵ１３２は、レポート生成ができない旨をクライアント端末１１０へ通知する。ステップＳ７４２において、サーバ装置１３０のＣＰＵ１３２は、工数を集計する際の集計精度を取得する。集計精度は、たとえば、集計対象とする作業についての継続実行時間として指定してよい。これにより、継続実行時間以下で断片的に行われた作業は、集計対象から外される。ＣＰＵ１３２は、集計精度を調整することができる。集計精度は、“１分以上”などシステムにあらかじめ固定の値として設定されてよい。集計精度は、図１０の設定画面７１１において手動により設定されてよい。ステップＳ７４３において、サーバ装置１３０のＣＰＵ１３２は、ステップＳ７４１で取得した作業の情報を、ステップＳ７４２で指定された集計精度により仕分け、集計精度を満たす作業を集計し、累積的な作業時間による工数を算出する。たとえば集計精度が５分以上である場合、サーバ装置１３０のＣＰＵ１３２は、図１１（Ａ）における指定されたユーザの集計期間における複数の作業について５分以上で継続する作業を抽出する。そして、サーバ装置１３０のＣＰＵ１３２は、抽出した作業をタスクごとに集計し、図１１（Ｂ）に示すようにタスクごとの工数を算出する。ステップＳ７４４において、サーバ装置１３０のＣＰＵ１３２は、集計された工数を表示するためのレポートのデータを生成する。これにより、クライアント端末１１０の表示部１１５には、図１１（Ｃ）に示すようなレポートの出力画面が表示される。レポートの出力画面には、指定されたユーザの集計期間（対象日）における作業が、ユーザのタスクごとに集計して表示される。また、図１１（Ｃ）では、ユーザの複数のタスクおよび工数は、テーマ名称ごとに分類して表示されている。なお、表示する工数は、実際に集計した工数の値のままでもよいが、サーバ装置１３０のＣＰＵ１３２は、たとえば３０分などの単位で、実際に集計した工数の値で丸めて区切ってもよい。また、出力するレポートのフォーマットは、図１１（Ｃ）のものに限られない。出力するレポートでは、累積的な合計の工数ではなく、工数の開始時刻と終了時刻が表示されてもよい。また、複数のタスクは、工数順などでソートして出力されてよい。
【００２６】
以上のように、本実施形態のサーバ装置１３０は、クライアント端末１１０などから作業のワークログ２１０を取得する。サーバ装置１３０は、ワークログ２１０に含まれる各ユーザの各作業について、ユーザのすべてのタスクに対応付けられた機械学習済みの学習モデルを用いて評価値を演算する。サーバ装置１３０は、最も高い評価値のタスクを、作業に係るタスクとして選択し、タスク推定結果２４４に登録する。そして、サーバ装置１３０は、レポート生成要求があると、要求にかかるユーザのタスク推定結果２４４を集計して、レポートのデータをクライアント端末１１０へ送信して表示させる。これにより、作業者やその管理者等のユーザは、作業者のたとえば図１１（Ｃ）に示すように一日の作業内容を確認したり、ユーザのタスク毎の進捗状況を把握したり、することができる。企業などにおいては、作業者の作業状況などを管理して、生産性を向上させることが可能になる。
【００２７】
ところで、本実施形態のようなユーザの作業を管理するシステムでは、管理するユーザ数が増えたり管理するタスクが増えたりするほどに、データベース１３４のデータ量およびサーバ装置１３０の処理負荷が増加する。また、企業などにおいて作業者がする作業には、多種多様なものがある。特に、各作業を、各業務のタスクに適切に分類するためには、各作業は、ユーザ単位またはタスク単位で分類する必要がある。その結果、本実施形態のようなユーザの作業を管理するシステムでは、作成または再構築されるデータベース１３４などが複雑なものになる。しかも、企業などにおいて各作業者が作業する業務のタスクは、常に変化する。このため、データベース１３４は、現状に合うように常に更新する必要がある。このため、あらかじめ作成したデータベース１３４を固定的に使用するシステムでは、複数の作業者の作業を良好に分類し続けることが難しい。複数の作業者の作業を良好に分類し続けることができるようにするためには、企業は、複雑なデータベース１３４を常に更新し続けることになる。データベース１３４の更新作業の負担は過大になる。作業者またはその管理者であるユーザは、本来の業務ではなく、システムのデータベース１３４を再構築する作業に日常的に追われてしまう。このように、本実施形態のようなユーザの作業を管理するシステムでは、作業者のタスクが変化した場合に、作業者またはその管理者などのユーザに過大な負担をかけないようにする必要がある。本実施形態のサーバ装置１３０は、タスク一覧データベース２６０、学習データ２７０、学習モデル生成部２８０、学習モデルデータベース２４１、を有する。
【００２８】
図１２は、クライアント端末１１０を用いた、作業者についての新たなタスクを登録するための処理の流れを示すフローチャートである。クライアント端末１１０のＣＰＵ１１２は、ユーザの操作に基づいて、図１２のタスク登録処理を実行する。図１２のタスク登録処理は、登録したタスクを削除する際にも実行される。図１３は、図１２の登録処理中に表示される設定画面の一例である。図１２のステップＳ４０１において、クライアント端末１１０のＣＰＵ１１２は、図１３（Ａ）に示すようなタスク管理画面を表示部１１５に表示する。ステップＳ４０２において、クライアント端末１１０のＣＰＵ１１２は、操作部１１４を用いたタスク管理画面４０１に対するユーザ操作に基づいて、新たに追加登録するタスク、または削除するタスクを設定する。タスク管理画面４０１のタスク登録ボタン４０３が操作された場合、クライアント端末１１０のＣＰＵ１１２は、タスク管理画面４０１に入力された新たなタスクを、登録するタスクとして選択する。タスク管理画面４０１のタスク削除ボタン４０４が操作された場合、クライアント端末１１０のＣＰＵ１１２は、タスク管理画面４０１で選択されているタスクを、削除するタスクとして選択する。タスク管理画面４０１の閉じるボタン４０５が操作された場合、クライアント端末１１０のＣＰＵ１１２は、タスクを選択しない。ステップＳ４０３にて、クライアント端末１１０のＣＰＵ１１２は、ステップＳ４０２にてユーザが選択したボタンを判断し、処理を分岐する。ユーザが選択したボタンが閉じるボタン４０５である場合、クライアント端末１１０のＣＰＵ１１２は、図１２のタスク管理処理を終了する。ユーザが選択したボタンがタスク削除ボタン４０４である場合、クライアント端末１１０のＣＰＵ１１２は、処理をステップＳ４１０へ進める。ユーザが選択したボタンがタスク登録ボタン４０３である場合、クライアント端末１１０のＣＰＵ１１２は、処理をステップＳ４２０へ進める。
【００２９】
ステップＳ４１０において、クライアント端末１１０のＣＰＵ１１２は、対象者の登録済みタスクを取得する。クライアント端末１１０のＣＰＵ１１２は、対象者の登録済みタスクの送信要求を、サーバ装置１３０へ送信する。サーバ装置１３０のＣＰＵ１３２は、記憶部１３３に記録されているユーザ登録タスク管理データベース２９１およびタスク一覧データベース２６０から、対象者の登録済みタスクを取得する。サーバ装置１３０のＣＰＵ１３２は、ユーザ登録タスク管理データベース２９１の内、タスク状態が「現在」となっている登録タスクＩＤに対して、タスク一覧データベース２６０からテーマ名称およびタスク名を取得する。サーバ装置１３０のＣＰＵ１３２は、取得したテーマ名称およびタスク名を、クライアント端末１１０へ送信する。これにより、クライアント端末１１０のＣＰＵ１１２は、対象者の登録済みタスクを取得する。
【００３０】
登録タスクを削除するためのステップＳ４１１において、クライアント端末１１０のＣＰＵ１１２は、取得した対象者の登録済みタスクを、図１３（Ｂ）に示すようなタスク削除画面４１１に表示する。タスク削除画面４１１は、対象者を確認するフィールド４１２、削除タスクを選択するフィールド４１３、ＯＫボタン４１４、を有する。削除タスク選択フィールド４１３には、ステップ４１０にて受信したデータをもとに、取得した登録タスクのテーマ名称およびタスク名が表示される。ステップＳ４１２において、クライアント端末１１０のＣＰＵ１１２は、タスク削除画面４１１に対する操作部１１４についてのユーザ操作に基づいて、削除するタスクを選択する。  クライアント端末１１０のＣＰＵ１１２は、ＯＫボタン４１４が操作された際に削除タスク選択フィールド４１３で選択されているタスクを、削除するタスクとして選択する。なお、削除タスク選択フィールド４１３にてタスクが選択されることなくＯＫボタン４１４が操作された場合、クライアント端末１１０のＣＰＵ１１２は、タスクの削除処理を中止する。ステップＳ４１３において、クライアント端末１１０のＣＰＵ１１２は、選択した削除タスクを、サーバ装置１３０から削除する。クライアント端末１１０のＣＰＵ１１２は、選択した削除タスクのデータを、サーバ装置１３０へ送信する。サーバ装置１３０のＣＰＵ１３２は、受信したタスクを、ユーザ登録タスク管理データベース２９１などから削除する。図１３（Ｂ）に示すようなタスク削除画面４１１のＯＫボタン４１４の操作を検出すると、クライアント端末１１０のＣＰＵ１１２、およびサーバ装置１３０のＣＰＵ１３２は、タスクの削除処理を終了する。
【００３１】
新たにタスクを登録するためのステップＳ４２０において、クライアント端末１１０のＣＰＵ１１２は、図１３（Ｃ）または図１３（Ｄ）に示すようなタスク登録画面４２１を表示する。図１３（Ｃ）のタスク登録画面４２１では、「新規」の選択ボタン４２３が選択されている。図１３（Ｄ）のタスク登録画面４２１では、「既存」の選択ボタン４２３が選択されている。ステップＳ４２１において、クライアント端末１１０のＣＰＵ１１２は、タスク登録画面４２１についての操作部１１４を用いたユーザ操作に基づいて、登録するタスクを設定する。タスク登録画面４２１のフィールド４２２により、クライアント端末１１０のＣＰＵ１１２は、登録するタスクの対象者を取得する。タスク登録画面４２１の選択ボタン４２３により、クライアント端末１１０のＣＰＵ１１２は、登録するタスクが、新規であるか、既存のものであるかを判断する。登録するタスクが新規のタスクである場合、クライアント端末１１０のＣＰＵ１１２は、タスク登録画面４２１のテーマ名称４２４およびタスク名４２５から、登録するタスクのテーマ名およびタスク名を取得する。登録するタスクが既存のタスクである場合、クライアント端末１１０のＣＰＵ１１２は、選択フィールド４２６から、該当タスクを選択する。クライアント端末１１０のＣＰＵ１１２は、ＯＫボタン４２７が操作されたタイミングで、登録タスクについての最後的な情報を取得する。Ｃａｎｃｅｌボタン４２８が操作された場合、クライアント端末１１０のＣＰＵ１１２は、タスクの登録処理を中止する。ステップＳ４２２において、クライアント端末１１０のＣＰＵ１１２は、登録タスクのデータを、通信部１１１からサーバ装置１３０へ送信する。
【００３２】
ステップＳ４２３において、クライアント端末１１０のＣＰＵ１１２は、登録タスクが「新規」であるかを確認する。登録タスクが「新規」でない場合、クライアント端末１１０のＣＰＵ１１２は、タスク登録処理を終了する。登録タスクが「新規」である場合、クライアント端末１１０のＣＰＵ１１２は、処理をステップＳ４２４へ進める。ステップ４２４において、クライアント端末１１０のＣＰＵ１１２は、サーバ装置１３０から類似タスクの候補を受信する。ステップＳ４２５において、クライアント端末１１０のＣＰＵ１１２は、図１３（Ｅ）に示すような類似タスクの設定画面４３１を表示する。類似タスク選択フィールド４３３には、類似タスクの候補のテーマ名称およびタスク名が表示される。ステップＳ４２６において、クライアント端末１１０のＣＰＵ１１２は、図１３（Ｅ）の類似タスクの設定画面４３１に対するユーザ操作に基づいて、新たに登録するタスクに類似するタスクを選択する。クライアント端末１１０のＣＰＵ１１２は、ＯＫボタン４３４が操作されたタイミングで、類似タスクについての最後的な情報を取得する。類似タスク選択フィールド４３３にて類似タスクが一つも選択されることなくＯＫボタン４３４が操作されると、クライアント端末１１０のＣＰＵ１１２は、類似するタスクがないとして、設定を完了する。ステップＳ４２７において、クライアント端末１１０のＣＰＵ１１２は、選択した類似タスクのデータを、通信部１１１からサーバ装置１３０へ送信する。サーバ装置１３０のＣＰＵ１３２は、受信したタスクをユーザ登録タスク管理データベース２９１に追加または変更して登録する。クライアント端末１１０のＣＰＵ１１２は、新たなタスクの登録処理を終了する。
【００３３】
図１４は、サーバ装置１３０による、図１２のタスク登録処理に対応する学習モデルの変更生成処理の流れを示すフローチャートである。サーバ装置１３０のＣＰＵ１３２は、図１２の処理に基づいてクライアント端末１１０からタスクを削除、登録または更新するデータを受信すると、図１４の学習モデルの変更生成処理を実行する。サーバ装置１３０のＣＰＵ１３２は、ユーザ登録タスク管理データベース２９１を受信したタスクにより更新するとともに、図１４の学習モデルの変更生成処理を実行する。学習モデルは、クライアント端末１１０およびスケジューラ１４１から取得するワークログ２１０の作業について、各作業に対応するタスクを推定するために用いられる。図１４のステップＳ５０１において、サーバ装置１３０のＣＰＵ１３２は、クライアント端末１１０から受信したタスクの変更内容に関するデータを取得する。ステップＳ５０２において、サーバ装置１３０のＣＰＵ１３２は、取得したタスクの変更内容に応じて、ユーザ登録タスク管理データベース２９１を更新する。
【００３４】
ステップＳ５０３において、モデル判断手段としてのサーバ装置１３０のＣＰＵ１３２は、ステップＳ５０１にて取得したデータが、ユーザ追加であるか否かを判断する。これにより、サーバ装置１３０のＣＰＵ１３２は、「新規タスクの登録」であるか否かを判断することができる。サーバ装置１３０のＣＰＵ１３２は、タスク一覧データベース２６０に基づいて、「新規タスクの登録」であるか否かを判断してよい。タスク一覧データベース２６０に同一タスク名および同一テーマ名のタスクがない場合、サーバ装置１３０のＣＰＵ１３２は、「新規タスクの登録」であると判断してよい。「新規タスクの登録」でないと判断した場合、サーバ装置１３０のＣＰＵ１３２は、処理をステップＳ５１０へ進める。「新規タスクの登録」と判断した場合、サーバ装置１３０のＣＰＵ１３２は、処理をステップＳ５０４へ進める。
【００３５】
ステップＳ５０４において、サーバ装置１３０のＣＰＵ１３２は、受信した新規のタスクを、タスク一覧データベース２６０に追加登録する。ステップＳ５０５において、サーバ装置１３０のＣＰＵ１３２は、受信した登録タスクに関する情報から類似タスク候補を推定する。サーバ装置１３０のＣＰＵ１３２は、たとえば、タスク登録の対象者についての過去に登録したことがあるタスクであって、テーマ名称およびタスク名に使用されている単語の一部を含むタスクを、類似タスクとして抽出してよい。この他にもたとえば、サーバ装置１３０のＣＰＵ１３２は、登録されているタスクをすべて類似タスク候補として抽出してよい。
【００３６】
ステップＳ５０６において、サーバ装置１３０のＣＰＵ１３２は、抽出した類似タスク候補のデータを、通信部１３１からクライアント端末１１０へ送信する。クライアント端末１１０のＣＰＵ１１２は、図１２のステップＳ４２４からステップＳ４２７の処理により類似タスクを選択し、サーバ装置１３０へ送信する。ステップＳ５０７において、サーバ装置１３０のＣＰＵ１３２は、クライアント端末１１０の応答において、類似タスクの選択があったかどうかを判断する。類似タスクの選択がない場合、ステップＳ５０８において、サーバ装置１３０のＣＰＵ１３２は、学習モデルデータベース２４１から、対象ユーザのユーザＩＤを削除し、図１４の学習モデル生成処理を終了する。類似タスクの選択がある場合、ステップＳ５０９において、サーバ装置１３０のＣＰＵ１３２は、ステップＳ５０４にてタスク一覧データベース２６０に追加したタスクの類似タスクＩＤ３５４のフィールドに、選択された類似タスクＩＤを設定する。その後、サーバ装置１３０のＣＰＵ１３２は、処理をステップＳ５１０へ進める。
【００３７】
ステップＳ５１０において、サーバ装置１３０のＣＰＵ１３２は、ユーザ登録タスク管理データベース２９１から、対象ユーザが現在進行しているタスクの一覧を取得する。サーバ装置１３０のＣＰＵ１３２は、ユーザ登録タスク管理データベース２９１のタスク状態３８４のフィールドが「現在」であるタスクを、現在進行しているタスクとして取得する。ステップＳ５１１において、サーバ装置１３０のＣＰＵ１３２は、ステップＳ５１０にて取得した対象ユーザの現在のタスクの中に、類似タスクとして設定されているタスクが含まれるか否かを確認する。サーバ装置１３０のＣＰＵ１３２は、タスク一覧データベース２６０を参照して、取得したタスクＩＤに対して類似タスクが設定されているか否かに応じて、類似タスクの設定の有無を確認する。そして、対象ユーザの現在のタスクに類似タスクが含まれる場合、サーバ装置１３０のＣＰＵ１３２は、対象ユーザの現在のタスクのＩＤを、類似タスクのＩＤに置換する。
【００３８】
ステップＳ５１２において、サーバ装置１３０のＣＰＵ１３２は、学習モデルデータベース２４１を検索する。ステップＳ５１３において、サーバ装置１３０のＣＰＵ１３２は、対象ユーザの現在のタスクに対応する学習モデルが既に存在するか否かを判断する。対象ユーザの現在のタスクに対応する学習モデルが存在する場合、サーバ装置１３０のＣＰＵ１３２は、処理をステップＳ５１４へ進める。ステップＳ５１４において、サーバ装置１３０のＣＰＵ１３２は、学習モデルデータベース２４１に存在している対象の学習モデルに対象ユーザを追加するように、学習モデルデータベース２４１を変更する。サーバ装置１３０のＣＰＵ１３２は、図１４の学習モデル生成処理を終了する。対象ユーザの現在のタスクに対応する学習モデルが存在しない場合、サーバ装置１３０のＣＰＵ１３２は、機械学習済みの学習モデルを生成する処理を実行するために、処理をステップＳ５１５へ進める。
【００３９】
ステップＳ５１５において、サーバ装置１３０のＣＰＵ１３２は、記憶部１３３から、対象ユーザの現在のタスクに対応する学習データ２７０を取得する。学習データ２７０は、図７（Ｂ）に示すようなデータ形式を有する。サーバ装置１３０のＣＰＵ１３２は、正解タスクＩＤ３６４のフィールドが対象ユーザの現在のタスクＩＤであるワークログＩＤを取得し、図３（Ａ）および図３（Ｂ）に示すワークログの中から、対象のワークログＩＤのデータを取得する。ステップＳ５１６において、サーバ装置１３０のＣＰＵ１３２は、フィルタリング処理部２３０として、取得した学習データ２７０のワークログに含まれる情報をフィルタリングする。これにより、サーバ装置１３０のＣＰＵ１３２は、タスク推定処理に必要な解析要素を抽出する。たとえばクライアント端末１１０において収集されたワークログ２１０は、タスクの実行時間を算出するための時刻情報３１２、タスクに関連するソフトを検出するためのアプリケーション名３１３、を有する。ワークログ２１０は、タスクに関連するドキュメント文書情報やＷｅｂ閲覧／メール情報を特定するための操作対象情報３１４（ファイルパス／ファイル名／メール送信先／メール件名／ＵＲＬ／Ｗｅｂサイトタイトル）、を有する。サーバ装置１３０のＣＰＵ１３２は、これらを解析要素として抽出する。サーバ装置１３０のＣＰＵ１３２は、この他にもたとえば、ファイル本文、メール本文、Ｗｅｂサイト本文の全文において頻出するキーワードを、解析要素として抽出してよい。サーバ装置１３０のＣＰＵ１３２は、作業に係るフォルダの作成者情報、ファイルサイズ、操作に係るボタンやメニューなどのＧＵＩ操作内容などを、解析要素として抽出してよい。サーバ装置１３０のＣＰＵ１３２は、図３（Ｂ）の行動予定のワークログ２１３からも同様に、作業に関わる情報を、解析要素として抽出してよい。そして、サーバ装置１３０のＣＰＵ１３２は、抽出した解析要素を、学習モデル処理部２４２が利用する機械学習のアルゴリズムの入力データ形式に合ったフォーマットに変換する。
【００４０】
ステップＳ５１７において、サーバ装置１３０のＣＰＵ１３２は、学習モデル生成部２８０として、ステップＳ５１６にてフィルタリングされたワークログと正解タスクに基づいて、機械学習により学習モデルを生成する。機械学習済みの学習モデルは、フィルタリングされた１つのワークログ（作業）、あるいは所定時間や所定量の複数のワークログ（作業）に対して、タスク一覧データベース２６０に登録されている各タスクとの評価値を推定するためのモデルとなる。ワークログと正解タスクを関連付けて学習させることで、機械学習済みの学習モデルは、未知の作業に対しても、タスクと関連性についての評価値を推定するために用いることができる。ステップＳ５１８において、サーバ装置１３０のＣＰＵ１３２は、学習モデル生成部２８０として、ステップＳ５１７で生成された学習モデルを用いた際の推定精度が十分かどうかを判断する。サーバ装置１３０のＣＰＵ１３２は、たとえば交差検証手法を用いて、推定精度を判断してよい。交差検証手法は、学習データ２７０を学習用と検証用のデータに分け、学習用として割り当てた学習データ２７０を基にして学習モデルを生成し、検証用として割り当てた学習データ２７０が正解タスクとして出力される割合を判断する。これにより、学習モデルの精度が算出される。推定精度が十分である場合、サーバ装置１３０のＣＰＵ１３２は、処理をステップＳ５２０へ進める。推定精度が十分でない場合、サーバ装置１３０のＣＰＵ１３２は、処理をステップＳ５２１へ進める。ステップＳ５２０において、サーバ装置１３０のＣＰＵ１３２は、学習モデル生成部２８０として、ステップＳ５１７で生成された学習モデルを、学習モデルデータベース２４１に追加する。ステップＳ５２１において、サーバ装置１３０のＣＰＵ１３２は、学習モデル生成部２８０として、学習モデルデータベース２４１から対象ユーザのユーザＩＤを削除する。その後、サーバ装置１３０のＣＰＵ１３２は、図１４の学習モデル生成処理を終了する。また、サーバ装置１３０のＣＰＵ１３２は、その後のユーザの作業についてタスクを推定する場合、図１４の処理により変更された後の学習モデルデータベース２４１を用いて、作業に対応するタスクを推定する。
【００４１】
たとえば、既存のタスクおよび学習モデルに対してユーザを追加する場合、サーバ装置１３０のＣＰＵ１３２は、ステップＳ５０３からステップＳ５１０へ処理を進める。サーバ装置１３０のＣＰＵ１３２は、ステップＳ５１０からステップＳ５１３の処理を経由して、ステップＳ５１４の処理を実行する。すなわち、サーバ装置１３０のＣＰＵ１３２は、ステップＳ５０３において、作業者による新たなタスクが、データベース１３４に既に登録されている既存のタスクと合致すると判断する。サーバ装置１３０のＣＰＵ１３２は、ステップＳ５１３において、新たなタスクの分類に利用可能な学習モデルが、データベース１３４に既に登録されていて利用可能であると判断する。サーバ装置１３０のＣＰＵ１３２は、ステップＳ５１４において、既存のタスクに対応する既存の学習モデルを、登録に係るタスクに対応する学習モデルとして選択するようにデータベース１３４を変更する。
【００４２】
この他にもたとえば、非既存のタスクを、類似するタスクに対応する既存の学習モデルへユーザを追加する場合、サーバ装置１３０のＣＰＵ１３２は、ステップＳ５０３からステップＳ５０４へ処理を進める。サーバ装置１３０のＣＰＵ１３２は、ステップＳ５０４からステップＳ５１３の処理を経由して、ステップＳ５１４の処理を実行する。すなわち、サーバ装置１３０のＣＰＵ１３２は、ステップＳ５０３において、作業者による新たなタスクが、データベース１３４に登録されていない非既存のタスクと判断する。サーバ装置１３０のＣＰＵ１３２は、ステップＳ５０４からステップＳ５０９の処理により、新たなタスクに類似するタスクを、ユーザにより手動設定させる。類似タスクは、データベースに登録されている既存のタスクの中から、ユーザにより手動選択されたタスクである。
【００４３】
類似判断手段としてのサーバ装置１３０のＣＰＵ１３２は、ステップＳ５１３において、新たなタスクに類似するタスクに対応する学習モデルが、利用可能な利用可能な学習モデルとしてデータベース１３４に既に登録されていると判断する。サーバ装置１３０のＣＰＵ１３２は、ステップＳ５１４において、類似のタスクに対応する既存の学習モデルを、登録に係るタスクに対応する学習モデルとして選択するようにデータベース１３４を変更する。
【００４４】
この他にもたとえば、既存のタスクのユーザを削除する場合、サーバ装置１３０のＣＰＵ１３２は、ステップＳ５０３からステップＳ５０４へ処理を進め、ステップＳ５０４からステップＳ５０７の処理を経由して、ステップＳ５０８の処理を実行する。すなわち、サーバ装置１３０のＣＰＵ１３２は、ステップＳ５０７において類似タスクが選択されていると判断されない場合に、ステップＳ５０８において、処理に係るタスクを、データベース１３４から削除する。
【００４５】
この他にもたとえば、新たな非既存のタスクに利用可能な学習モデルが存在しない場合、サーバ装置１３０のＣＰＵ１３２は、ステップＳ５１５からステップＳ５１９の処理を実行する。これにより、登録に係るタスクに対応する学習モデルは、学習モデルついての機械学習により新たに生成される。また、サーバ装置１３０のＣＰＵ１３２は、ステップＳ５２０において、新たに生成した機械学習済みの学習モデルを、登録に係るタスクに対応する学習モデルとして選択できるように、データベース１３４に追加登録する。
【００４６】
以上のように、本実施形態では、データベース１３４に、複数の作業者のタスクと、複数の識別器としての複数の学習モデルとが、互いに対応付けて登録される。そして、新たな作業者による新たなタスクを登録する際に、登録に係るタスクに対応する学習モデルを選択または生成して対応付けてデータベース１３４に登録する。登録済みの作業者による新たなタスクについても同様にデータベース１３４に登録する。よって、本実施形態では、作業者について各タスクに対応させてデータベース１３４に登録されている１乃至複数の学習モデルを用いて、作業者のワークログ２１０に含まれる各作業を、いずれのタスクに係るものであるかを評価して推定できる。作業者またはその管理者などのユーザは、作業者のワークログ２１０に含まれる各作業がどのタスクに係るものであるかを推定するために、新たなタスクについての作業をする場合であっても、自ら、作業をタスクに関連付ける必要がない。また、ユーザは、作業をタスクに関連付けるための新たな学習モデルを自ら選択または生成する必要がない。作業者またはその管理者であるユーザは、作業者の業務内容が変化したとしても、その業務内容に係る新たなタスクを登録することにより、作業者のワークログ２１０においてその新たなタスクに係る作業を推定することができる。データベース１３４は、作業者の業務内容が変化したとしても、その新たな業務内容に対応するように、適応的に更新され得る。ユーザは、業務内容が変化する際に、その変化に対応するようにデータベース１３４のタスクなどを一から再分類したり、再構築したりする必要がない。また、本実施形態では、タスクの推定に基づいて、複数の作業者のタスクについての累積的な作業時間または作業量を集計して表示する。よって、作業者またはその管理者などのユーザは、表示された各作業者の各タスクについての作業の状況を、容易に把握することができる。
【００４７】
本実施形態では、作業者による新たなタスクが、データベース１３４に既に登録されている既存のタスクと合致するか否かを判断する。そして、合致が判断される場合には、本実施形態では、新たなタスクの分類に利用可能な、データベース１３４に既に登録されている既存の学習モデルが存在するか否かを判断する。また、新たなタスクの分類に利用可能な既存の学習モデルが存在する場合、本実施形態では、既存のタスクに対応する既存の学習モデルを、登録に係るタスクに対応する学習モデルとして選択するようにデータベース１３４を変更する。よって、たとえば、作業者による新たなタスクが前任者から作業を引き継いだタスクであるような場合には、その前任者についての既存のタスクに対応する既存の学習モデルを用いて、作業者による新たなタスクの作業を判断できる。また、その判断の確度として、高い確度を期待することができる。
【００４８】
本実施形態では、新たなタスクについての既存のタスクとの合致が判断されない場合に、新たなタスクに類似する類似タスクが選択されているか否かを判断する。そして、類似タスクが選択されていると判断される場合には、本実施形態では、類似タスクに対応する学習モデルを、登録に係るタスクに対応する学習モデルとして選択するようにデータベース１３４を変更する。よって、たとえば、作業者による新たなタスクが、前任者の作業の一部を引き継いだタスクであるような場合には、その前任者の既存の類似タスクに対応する学習モデルを用いて、作業者による作業を判断することができる。また、その判断の確度として、高い確度を期待することができる。特に、類似タスクを、データベース１３４に登録されている既存のタスクの中から、ユーザにより手動選択させるので、ユーザ間での無形の関連性の認識に基づいて、流用して良い類似タスクおよび学習モデルを選択することができる。
【００４９】
本実施形態では、類似タスクが選択されていると判断されない場合には、作業者による新たなタスクを、データベース１３４から削除する。これにより、本実施形態では、類似タスクが選択されない作業者による新たなタスクを、データベース１３４に登録しないようにできる。本実施形態では、データベース１３４に新たなタスクを登録する際には、ユーザによる類似タスクの選択を義務付けることができる。また、本実施形態では、類似タスクを少なくとも参考できるので、新たに登録しようとするタスクに対して適する可能性がある学習モデルを対応付けて登録することができるようになる。
【００５０】
本実施形態では、既存の学習モデルが存在すると判断されない場合には、登録に係るタスクに対応する学習モデルを、機械学習により新たに生成する。そして、本実施形態では、生成した学習モデルを、登録に係るタスクに対応する学習モデルとして選択するようにデータベース１３４を追加する。よって、本実施形態では、新たに登録するタスクに適した既存の学習モデルが存在しない場合でも、新たに登録するタスクに適した学習モデルを機械学習により新たに生成して利用できる。
【００５１】
以上、本発明をその好適な実施形態に基づいて詳述してきたが、本発明はこれら特定の実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の様々な形態も本発明に含まれる。
【００５２】
本発明は、上述の実施の形態の１以上の機能を実現するプログラムを、ネットワークや記憶媒体を介してシステムや装置に供給し、そのシステム又は装置のコンピュータの１つ以上のプロセッサーがプログラムを読み出して実行する処理でも実現可能である。
【００５３】
また、本発明は、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００５４】
１００  作業管理システム
１１０  クライアント端末
１３０  サーバ装置
１３２  ＣＰＵ
１３３  記憶部
１３４  データベース
２１０  ワークログ
２３０  フィルタリング処理部
２４０  タスク判断部
２４１  学習モデルデータベース
２４２  学習モデル処理部
２４３  出力タスク判断部
２４４  タスク推定結果
２５０  出力部
２６０  タスク一覧データベース
２７０  学習データ
２８０  学習モデル生成部
２９０  タスク登録部
２９１  ユーザ登録タスク管理データベース
【図１】
2020064358.tif 000003
【図２】
2020064358.tif 000004
【図３】
2020064358.tif 000005
【図４】
2020064358.tif 000006
【図５】
2020064358.tif 000007
【図６】
2020064358.tif 000008
【図７】
2020064358.tif 000009
【図８】
2020064358.tif 000010
【図９】
2020064358.tif 000011
【図１０】
2020064358.tif 000012
【図１１】
2020064358.tif 000013
【図１２】
2020064358.tif 000014
【図１３】
2020064358.tif 000015
【図１４】
2020064358.tif 000016