(57)【要約】【課題】ユーザのタスクを管理するタスク管理システムにおいて、タスクを推定するためのルールを予め定める必要なく、機械学習を用いてワークログからタスクを推定する技術を提供する。【解決手段】サーバ装置１３０は、ユーザの作業情報をそれぞれ含む複数のワークログと、当該複数のワークログのそれぞれのワークログに対する正解タスクとを対応付けた学習データを取得する。サーバ装置１３０は、取得した学習データに基づいて、機械学習により学習モデルを生成する。サーバ装置１３０は、生成した学習モデルを用いた機械学習により当該入力ワークログを解析することで、当該入力ワークログに対してユーザのタスクを推定する。【選択図】図１
2019168844.tif 000002
【特許請求の範囲】
【請求項１】
サーバ装置を備え、ユーザのタスクを前記サーバ装置により管理するタスク管理システムであって、
前記サーバ装置は、
ユーザの作業情報をそれぞれ含む複数のワークログと、前記複数のワークログのそれぞれのワークログに対する正解タスクとを対応付けた学習データを取得する取得手段と、
前記取得手段によって取得された学習データに基づいて、機械学習により学習モデルを生成する生成手段と、
前記生成手段によって生成された学習モデルを用いた機械学習により入力ワークログを解析することで、当該入力ワークログに対してユーザのタスクを推定する推定手段と、
を備えることを特徴とするタスク管理システム。
【請求項２】
前記推定手段は、前記学習モデルを用いた前記機械学習により、予め登録された複数のタスクのそれぞれに対して、前記入力ワークログとタスクとの関連度を示す評価値を生成し、生成した評価値に基づいて、前記複数のタスクのうちで推定結果として出力する出力タスクを決定する
ことを特徴とする請求項１に記載のタスク管理システム。
【請求項３】
前記推定手段は、前記複数のタスクのうち、最大の評価値に対応するタスクを前記出力タスクとして決定する
ことを特徴とする請求項２に記載のタスク管理システム。
【請求項４】
前記サーバ装置と通信可能なクライアント端末を更に備え、
前記サーバ装置は、前記推定手段によるタスクの推定結果を含むレポートを、前記クライアント端末へ送信する送信手段を更に備え、
前記クライアント端末は、前記サーバ装置から受信した前記レポートに基づいて、前記タスクの推定結果を表示する表示手段を備える
ことを特徴とする請求項２又は３に記載のタスク管理システム。
【請求項５】
前記サーバ装置は、前記推定手段によるタスクの推定結果に基づいて、所定期間におけるタスクの総実行時間である工数をタスクごとに集計し、集計結果を示すレポートを生成する集計手段を更に備え、
前記送信手段は、前記集計手段によって生成された前記レポートを、前記クライアント端末へ送信する
ことを特徴とする請求項４に記載のタスク管理システム。
【請求項６】
前記クライアント端末は、
前記表示手段が表示した前記推定結果に対する修正をユーザから受け付ける受付手段と、
前記受付手段が受け付けた修正内容を、前記サーバ装置へ通知する通知手段と、を更に備え、
前記サーバ装置は、
前記クライアント端末から通知された前記修正内容に従って、前記推定手段によって推定されたタスクを修正する修正手段を更に備える
ことを特徴とする請求項４又は５に記載のタスク管理システム。
【請求項７】
前記修正手段は、修正後のタスクを正解タスクとして、修正前のタスクの推定に用いられたワークログと対応付けて前記学習データに追加し、
前記生成手段は、前記修正手段による追加が行われた前記学習データに基づいて、前記機械学習により前記学習モデルを更新する
ことを特徴とする請求項６に記載のタスク管理システム。
【請求項８】
前記送信手段は、前記出力タスクに対する前記評価値が閾値を下回る場合に、前記出力タスクの確認を求める指示を、前記クライアント端末へ送信し、
前記受付手段は、前記サーバ装置から受信した前記指示に従って、前記出力タスクの確認をユーザに促すメッセージを前記表示手段に表示させ、前記出力タスクに対する修正をユーザから受け付ける
ことを特徴とする請求項７に記載のタスク管理システム。
【請求項９】
前記修正手段は、前記出力タスクに対する前記評価値が閾値を下回る場合、
ユーザによる修正が行われたときは、前記修正後のタスクを正解タスクとして、前記入力ワークログと対応付けて前記学習データに追加し、
ユーザによる修正が行われなかったときは、前記出力タスクを正解タスクとして、前記入力ワークログと対応付けて前記学習データに追加する
ことを特徴とする請求項８に記載のタスク管理システム。
【請求項１０】
前記サーバ装置は、前記取得手段によって取得された前記学習データに含まれる前記ワークログに対して、前記生成手段による学習モデルの生成に必要な要素を抽出するためのフィルタリング処理を行うフィルタリング手段を更に備える
ことを特徴とする請求項１から９のいずれか１項に記載のタスク管理システム。
【請求項１１】
前記フィルタリング手段は、更に、前記入力ワークログに対して、前記推定手段によるタスクの推定に必要な要素を抽出するためのフィルタリング処理を行う
ことを特徴とする請求項１０に記載のタスク管理システム。
【請求項１２】
前記複数のワークログ及び前記入力ワークログは、それぞれ、ユーザによるパソコンの操作に関連するパソコン操作ログ、映像又は音声情報から得られる、ユーザの行動に関連する行動解析ログ、ユーザの行動予定、及びユーザの行動履歴のうちの少なくとも１つを含む
ことを特徴とする請求項１から１１のいずれか１項に記載のタスク管理システム。
【請求項１３】
ユーザのタスクを管理するタスク管理システムのサーバ装置であって、
ユーザの作業情報をそれぞれ含む複数のワークログと、前記複数のワークログのそれぞれのワークログに対する正解タスクとを対応付けた学習データを取得する取得手段と、
前記取得手段によって取得された学習データに基づいて、機械学習により学習モデルを生成する生成手段と、
前記生成手段によって生成された学習モデルを用いた機械学習により入力ワークログを解析することで、当該入力ワークログに対してユーザのタスクを推定する推定手段と、
を備えることを特徴とするサーバ装置。
【請求項１４】
ユーザのタスクを管理するタスク管理システムのサーバ装置の制御方法であって、
ユーザの作業情報をそれぞれ含む複数のワークログと、前記複数のワークログのそれぞれのワークログに対する正解タスクとを対応付けた学習データを取得する取得工程と、
前記取得工程において取得された学習データに基づいて、機械学習により学習モデルを生成する生成工程と、
前記生成工程において生成された学習モデルを用いた機械学習により入力ワークログを解析することで、当該入力ワークログに対してユーザのタスクを推定する推定工程と、
を含むことを特徴とするサーバ装置の制御方法。
【請求項１５】
請求項１４に記載のサーバ装置の制御方法の各工程を、コンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、タスク管理システム、サーバ装置及びその制御方法、並びにプログラムに関するものであり、主にオフィスにおけるユーザの作業状況及び行動を解析し、ユーザの作業項目を推定する技術に関するものである。
【背景技術】
【０００２】
従来、プロジェクトの管理業務を効率化することを目的とした業務管理システムが提案されている。業務管理システムにおいては、ユーザが担当しているプロジェクトの作業項目（以下、「タスク」と称する。）をプロジェクト管理ツールに手動で入力し、タスクの進捗状況をガントチャート等で見やすく可視化して提供することが可能である。しかしながら、ユーザにとっては日々のタスク遂行業務に加えて、自身が行ったタスクの実績や進捗状況等の登録を行わなければならず、これはユーザにとって負荷となる。また、各ユーザの登録内容が正しいかどうかを管理者が判断することができない。
【０００３】
そのため、特許文献１では、ユーザのタスクについての情報を予めデータベースに登録しておき、データベースに登録された情報と、パソコンに対するユーザの入力操作とを比較することでタスクを推定し、時間情報と共に記録する技術が提案されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第５８２５９１５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上述の従来技術では、タスクを推定するために、タスクに関わる全ての情報を事前にデータベースに登録する必要がある。このようなルールベースによるタスク推定では、多種多様な業務に対して、それぞれのタスクを推定するためのルールを予め定義しなければならず、非常に時間とコストがかかる。また、生成したルールが不十分である場合には、タスク推定精度が低下してしまう課題がある。
【０００６】
本発明は、上述の問題に鑑みてなされたものである。本発明は、ユーザのタスクを管理するタスク管理システムにおいて、タスクを推定するためのルールを予め定める必要なく、機械学習を用いてワークログからタスクを推定する技術を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の一態様に係るタスク管理システムは、サーバ装置を備え、ユーザのタスクを前記サーバ装置により管理するタスク管理システムであって、前記サーバ装置は、ユーザの作業情報をそれぞれ含む複数のワークログと、前記複数のワークログのそれぞれのワークログに対する正解タスクとを対応付けた学習データを取得する取得手段と、前記取得手段によって取得された学習データに基づいて、機械学習により学習モデルを生成する生成手段と、前記生成手段によって生成された学習モデルを用いた機械学習により入力ワークログを解析することで、当該入力ワークログに対してユーザのタスクを推定する推定手段と、を備えることを特徴とする。
【発明の効果】
【０００８】
本発明によれば、ユーザのタスクを管理するタスク管理システムにおいて、タスクを推定するためのルールを予め定める必要なく、機械学習を用いてワークログからタスクを推定することが可能になる。
【図面の簡単な説明】
【０００９】
【図１】業務管理システム１００の構成例を示すブロック図。
【図２】サーバ装置１３０の機能構成例を示す図と、ワークログ及びテーマごとのタスクの例を示す図。
【図３】記憶部１３３に格納される各種ワークログ２１０の例を示す図。
【図４】記憶部１３３に格納されるタスク一覧ＤＢ２６０、学習データ２７０、及びタスク推定結果２４４の例を示す図。
【図５】学習モデルの生成処理及びタスクの推定処理の手順を示すフローチャート。
【図６】第２及び第３実施形態に係る、サーバ装置１３０の機能構成例を示す図。
【図７】第２実施形態に係る、レポート生成処理の手順を示すフローチャート、及び生成レポートに関する設定画面の例を示す図。
【図８】第２実施形態に係る、タスクの工数の集計例、及び工数の集計結果の例を示す図。
【図９】第２実施形態に係る、サーバ装置１３０によって生成されたレポートの出力画面の例を示す図。
【図１０】第３実施形態に係る、レポート生成処理及びタスク修正処理の手順を示すフローチャートと、タスク修正用のＵＩ画面の例を示す図。
【図１１】第４実施形態に係る、タスク推定処理の手順を示すフローチャート。
【発明を実施するための形態】
【００１０】
以下、本発明を実施するための形態について図面を用いて説明する。なお、以下の実施形態は特許請求の範囲に係る発明を限定するものでなく、また実施形態で説明されている特徴の組み合わせの全てが発明の解決手段に必須のものとは限らない。
【００１１】
［第１実施形態］
図１乃至図５を参照して、第１実施形態について説明する。
【００１２】
＜業務管理システムの構成＞
図１は、本実施形態に係る業務管理システム１００の構成例を示すブロック図である。クライアント端末１１０、サーバ装置１３０、及びその他のシステム１４０で構成され、これらはネットワーク１２０を介して互いに接続される。なお、図１では、単一のクライアント端末１１０及び単一のサーバ装置１３０を示しているが、複数のクライアント端末及び複数のサーバ装置がネットワーク１２０に接続されてもよい。本実施形態では、業務管理システム１００は、サーバ装置１３０を備え、ユーザのタスクをサーバ装置１３０により管理するタスク管理システムの一例である。
【００１３】
クライアント端末１１０は、業務管理対象であるユーザの作業に伴う一連の操作入力をユーザが行うために用いられる。クライアント端末１１０は、ユーザの作業状況を示すデータ（以下、「ワークログ」と称する。）を収集してサーバ装置１３０へ送信する処理、及びユーザの要求に応じて作業状況を表示する処理といった処理を行う。
【００１４】
サーバ装置１３０は、クライアント端末１１０及びその他のシステム１４０から送信されてきたワークログを解析することで、ユーザのタスクを推定（特定）し、作業実績として記憶する処理を行う。
【００１５】
その他のシステム１４０には、ユーザの日々の予定を管理するスケジューラ１４１、内線／外線又はＷｅｂ会議ツールでの通信記録を管理する通信記録サーバ１４２、及び日々のタスクの進捗管理を行うプロジェクト管理ツール１４３等のシステムが含まれる。これらのシステムは、それぞれ単体でネットワーク１２０に接続され、サーバ装置１３０にワークログを送信する。なお、図１に示すシステム以外にも、プロジェクト管理に必要な各種システムが、その他のシステム１４０として追加されてもよい。
【００１６】
ネットワーク１２０は、ＬＡＮで構成され、クライアント端末１１０、サーバ装置１３０、及びその他のシステム１４０を通信可能に接続する。ネットワーク１２０は、ユーザのワークログ又は作業実績等のデータの送受信に用いられる。
【００１７】
＜クライアント端末１１０の構成＞
クライアント端末１１０は、一般的なパーソナルコンピュータ（ＰＣ）等で実現されうる。本実施形態では、クライアント端末１１０は、通信部１１１、制御部１１２、記憶部１１３、操作部１１４、表示部１１５、及び検出部１１６を備える。
【００１８】
通信部１１１は、ネットワーク１２０を介してサーバ装置１３０との間でデータを送受信するための通信インタフェース部である。通信部１１１は、操作部１１４で収集したパソコン操作ログ２１１及び検出部１１６で収集した行動解析ログ２１２を、後述するユーザのワークログ２１０（図２（Ａ））としてサーバ装置１３０へ送信するために用いられる。ワークログ２１０は、検出されたタイミングでリアルタイムに送信されてもよいし、所定時間又は所定量に基づいて送信されてもよい。
【００１９】
制御部１１２は、ＣＰＵ等で構成される。制御部１１２は、記憶部１１３に格納されたプログラムを実行することにより、クライアント端末１１０の内部で扱うデータを処理するための処理部として機能する。制御部１１２は、操作部１１４又は検出部１１６から得られるワークログ２１０を収集及び送信するための制御を行う機能を有する。
【００２０】
記憶部１１３は、ＲＯＭ、ＲＡＭ、ＨＤＤ等の記憶デバイスで構成される。記憶部１１３には、制御部１１２がクライアント端末１１０の内部で扱うデータ及びプログラムが格納される。記憶部１１３には、後述する操作部１１４で収集したパソコン操作ログ２１１、及び検出部１１６で収集した行動解析ログ２１２等が一時的に格納されてもよい。
【００２１】
操作部１１４は、キーボード、マウス等で構成される。操作部１１４は、ユーザからのキー押下又はマウスクリック操作等の操作入力を受け付けると、その際のユーザの作業に伴うパソコン操作ログ２１１を収集するための処理部として機能する。操作部１１４が収集するパソコン操作ログ２１１の詳細については後述する。
【００２２】
表示部１１５は、ディスプレイ等で構成される。制御部１１２は、ユーザの作業に伴って実行された、文書作成、表計算、プレゼンテーション作成、スケジュール管理、プロジェクト管理等のためのプログラムによる出力画面を表示部１１５に表示する。
【００２３】
検出部１１６は、カメラ、マイク等で構成される。検出部１１６は、ユーザの作業に伴って検出された、ユーザの離着席状態、他のユーザとの会話行動等の行動解析ログ２１２を収集するための処理部として機能する。検出部１１６が収集する行動解析ログ２１２の詳細については後述する。なお、図１では、検出部１１６はクライアント端末１１０と一体化した状態にあるが、検出部１１６自体が単体として機能してネットワーク１２０に接続される構成が用いられてもよい。
【００２４】
＜サーバ装置１３０の構成＞
サーバ装置１３０は、通信部１３１、制御部１３２、及び記憶部１３３を備える。
【００２５】
通信部１３１は、ネットワーク１２０を介してクライアント端末１１０との間でデータを送受信するための通信インタフェース部である。
【００２６】
制御部１３２は、ＣＰＵ等で構成される。制御部１３２は、記憶部１３３に格納されたプログラムを実行することにより、サーバ装置１３０の内部で扱うデータを処理するための処理部として機能する。制御部１３２は、通信部１３１を介して受信したワークログ２１０を解析する機能を有する。
【００２７】
記憶部１３３は、ＲＯＭ、ＲＡＭ、ＨＤＤ等の記憶デバイスで構成される。記憶部１３３には、制御部１３２がサーバ装置１３０の内部で扱うデータ及び制御プログラム２００（図２（Ａ））が格納される。記憶部１３３には、通信部１３１を介して受信したワークログ２１０、及び制御部１３２による解析結果等が一時的に格納されてもよい。
【００２８】
＜サーバ装置１３０の機能構成＞
図２（Ａ）は、サーバ装置１３０が実行する制御プログラム２００によって実現される、サーバ装置１３０の機能構成例を示すブロック図である。業務管理システム１００の制御プログラム２００は、前述のように、記憶部１３３に格納されている。制御部１３２のＣＰＵがサーバ装置１３０の起動時に制御プログラム２００を記憶部１３３から読み出して実行することによって、図２（Ａ）に示す機能構成がサーバ装置１３０において実現されうる。
【００２９】
ワークログ２１０は、クライアント端末１１０によって収集されて送信されてきたデータ、及びその他のシステム１４０よって取得可能なデータであり、ユーザの作業情報を含む。ワークログ２１０は、通信部１３１を介して受信され、記憶部１３３に格納されている。なお、ワークログ２１０の詳細については、図２（Ｂ）及び図３を用いて後述する。
【００３０】
入力部２２０は、記憶部１３３に格納されているワークログ２１０を入力データとして取得する。
【００３１】
フィルタリング処理部２３０は、ワークログ２１０に含まれる情報に対してフィルタリング処理を行う。フィルタリング処理部２３０は、タスク推定部２４０がタスクを推定する処理、及び学習モデル生成部２８０が学習モデル２４１を生成する処理において必要となる解析要素を、ワークログ２１０の中から抽出する。更に、フィルタリング処理部２３０は、抽出した解析要素を、所定フォーマットに変換する
【００３２】
タスク推定部２４０は、フィルタリングされたワークログを、機械学習を用いて解析することによって、タスクを推定する。タスク推定部２４０は、学習モデル２４１、学習モデル処理部２４２、出力タスク判定部２４３、及びタスク推定結果２４４で構成される。
【００３３】
学習モデル処理部２４２は、後述する学習モデル生成部２８０によって予め生成された学習モデル２４１を用いた機械学習により入力ワークログを解析することで、当該入力ワークログに対してユーザのタスクを推定する。本実施形態では、学習モデル処理部２４２は、フィルタリングされたワークログに対して、学習モデル生成部２８０によって予め生成された学習モデル２４１を用いて、タスク一覧ＤＢ２６０に予め登録されている所定のタスクに対する評価値の推定を行う。
【００３４】
出力タスク判定部２４３は、学習モデル処理部２４２によって評価された評価値に基づいて、タスク推定部２４０による推定結果として出力するタスクを判定し、タスク推定結果２４４への記録を行う。なお、タスク推定結果２４４の詳細については、図４（Ｃ）を用いて後述する。
【００３５】
出力部２５０は、タスク推定部２４０によって推定されたタスクを、通信部１３１を介してクライアント端末１１０へ送信する。
【００３６】
タスク一覧ＤＢ２６０は、ユーザが作業する可能性がある全てのタスクが登録されたデータベースであり、記憶部１３３に格納されている。なお、タスク一覧ＤＢ２６０の詳細については、図４（Ａ）を用いて後述する。
【００３７】
学習モデル生成部２８０は、入力部２２０によって取得された学習データに基づいて、機械学習により学習モデル２４１を生成する。本実施形態では、学習モデル生成部２８０は、学習データ２７０をフィルタリング処理して得られたワークログから学習モデル２４１を生成する。なお、学習データ２７０の詳細については、図４（Ｂ）を用いて後述する。
【００３８】
＜ワークログ２１０＞
次に図２（Ｂ）及び図３を参照して、記憶部１３３に格納されるワークログ２１０の例について説明する。
【００３９】
図２（Ｂ）は、ワークログ２１０の一例を示す図である。ワークログ２１０は、ユーザによるパソコンの操作に関連するパソコン操作ログ２１１、映像又は音声情報から得られる、ユーザの行動に関連する行動解析ログ２１２、ユーザの行動予定２１３、及びユーザの行動履歴２１４のうちの少なくとも１つを含む。パソコン操作ログ２１１は、クライアント端末１１０の操作部１１４で収集されうる。行動解析ログ２１２は、検出部１１６で音声／映像に基づいて収集されうる。行動予定２１３及び行動履歴２１４は、その他のシステム１４０から収集されうる。
【００４０】
図３（Ａ）は、パソコン操作ログ２１１の一例を示している。パソコン操作ログ２１１には、ＩＤ３１１、時刻３１２、アプリケーション名３１３、操作対象情報３１４、操作内容３１５、入力キー情報３１６、カーソル位置３１７、ファイルプロパティ３１８等のフィールド情報が含まれる。操作対象情報３１４には、例えば、ドキュメント文書の場合、ファイルが保存されているパス名とファイル名が、Ｗｅｂ閲覧の場合、ＵＲＬ及びＷｅｂページタイトルが、メールソフトの場合、送信相手及び件名等の情報が格納される。
【００４１】
なお、パソコン操作ログ２１１には、図３（Ａ）に示すフィールド情報以外のフィールド情報が含まれてもよい。例えば、ドキュメント文書、Ｗｅｂページの全文、メールの本文及び添付ファイル名、マウス操作がなされたＧＵＩパーツ情報（メニュー項目名又はボタン名等）等の情報を収集し、新たなフィールド情報として追加することも可能である。
【００４２】
図３（Ｂ）は、行動解析ログ２１２の一例を示している。行動解析ログ２１２には、ＩＤ３２１及び時刻３２２に加え、カメラからの映像情報及びマイクからの音声データ（音声情報）を解析することで得られるフィールド情報が含まれる。例えば、所定の映像解析技術により検出された人物情報３２３（人数、人物名等）や、各人物の作業状態３２４（離席中、着席中、移動中等）をフィールド情報に含めることができる。また、所定の音声解析技術及び話者特定技術によって発話状況及び発話内容を検出し、発話者を特定することも可能である。これらの発話状況（発話あり／なし）３２５、発話者／発話内容３２６を、フィールド情報に格納する。
【００４３】
なお、行動解析ログ２１２には、図３（Ｂ）に示すフィールド情報以外のフィールド情報が含まれてもよい。例えば、視線方向及び発話タイミング等から、対話状態であるか否かを検出し、検出した対話状態を発話状況３２５に追加することも可能である。
【００４４】
図３（Ｃ）は、スケジューラ１４１から収集される行動予定２１３の一例を示している。行動予定２１３には、ＩＤ３３１、開始予定時刻３３２、終了予定時刻３３３、予定３３４、場所３３５等のフィールド情報が含まれる。なお、行動予定２１３には、図３（Ｃ）に示すフィールド情報以外のフィールド情報が含まれてもよい。例えば、会議への参加者の情報及びアジェンダ等の情報を収集し、新たなフィールド情報として追加することも可能である。
【００４５】
図３（Ｄ）は、通信記録サーバ１４２又はプロジェクト管理ツール１４３から収集される行動履歴２１４の一例を示している。行動履歴２１４には、ＩＤ３４１、開始時間３４２、終了時間３４３、発着信情報３４４、通信相手３４５等のフィールド情報が含まれる。なお、行動履歴２１４には、図３（Ｄ）に示すフィールド情報以外のフィールド情報が含まれてもよい。
【００４６】
＜タスク一覧ＤＢ２６０＞
次に図２（Ｃ）及び図４（Ａ）を参照して、タスク一覧ＤＢ２６０の例について説明する。
【００４７】
図４（Ａ）は、タスク一覧ＤＢ２６０の一例を示している。タスク一覧ＤＢ２６０には、各ユーザが関わる全てのテーマ名称３５２及びタスク名３５３が、ＩＤ３５１と関連付けて、個々のタスクとして登録されている。
【００４８】
図２（Ｃ）は、テーマ名称及びタスク名の一例を示している。例えば、製品開発に携わるユーザについては、「○○製品開発」というテーマ名称に対して、「調査」、「仕様検討」、「実装／デバッグ」、「資料作成」、「打合せ／レビュー」、「相談」等のタスク名が挙げられる。品質保証に携わるユーザについては、「□□機能評価」というテーマ名称に対して、「調査」、「評価手法検討」、「評価」、「資料作成」、「打合せ／レビュー」等のタスク名が挙げられる。営業職のユーザについては、「△△販売営業」というテーマ名称に対して、「調査」、「販売戦略検討」、「資料作成」、「打合せ／レビュー」、「商談／電話対応」、「クレーム対応／アフターフォロー」等のタスク名が挙げられる。なお、上述の職種以外の職種のユーザについても、テーマ名称及びタスク名を登録することが可能であり、登録するテーマ名称及びタスク名の種類及び抽象度も自由に設定可能である。
【００４９】
＜学習データ２７０＞
次に図４（Ｂ）を参照して、学習データ２７０の例について説明する。
【００５０】
図４（Ｂ）は、学習データ２７０の一例を示している。学習データ２７０は、ワークログ２１０と、ワークログに対して対応付けられた、タスク一覧ＤＢ２６０に登録されているタスクのうちの１つの対応するタスク（以下、「正解タスク」と称する。）とを対として含むデータである。即ち、学習データ２７０は、複数のワークログと、当該複数の複数のワークログのそれぞれのワークログに対する正解タスクとを対応付けたデータである。学習データ２７０は、記憶部１３３に格納されている。例えば、図４（Ｂ）に示すように、学習データ２７０には、フィールド情報として、ＩＤ３６１、時刻３６２、ワークログＩＤ３６３、及び正解タスクＩＤ３６４が含まれる。
【００５１】
時刻３６２及びワークログＩＤ３６３には、図３（Ａ）〜（Ｄ）に示す各ワークログに含まれる時刻情報（時刻３１２，３２２，３３２，３４２）及びＩＤ（ＩＤ３１１，３２１，３３１，３４１）が格納される。図４（Ｂ）の例では、学習データ２７０に含まれる、各ＩＤ３６１に対応するデータは、時刻３６２に格納される時刻情報に基づいて時系列にソートされている。
【００５２】
正解タスクＩＤ３６４には、各ワークログに対する正解タスクのＩＤ３５１が格納される。なお、本例では、１つのワークログＩＤに対して１つの正解タスクＩＤを対応付けする場合の例を示したが、所定時間内の複数のワークログ又は所定量の複数のワークログに対して、１つの正解タスクＩＤを対応付けしてもよい。
【００５３】
＜タスク推定結果２４４＞
次に図４（Ｃ）を参照して、タスク推定結果２４４の例について説明する。
【００５４】
図４（Ｃ）は、タスク推定結果２４４の一例を示している。例えば、タスク推定結果２４４には、フィールド情報として、ＩＤ３７１、時刻３７２、ワークログＩＤ３７３、推定タスクＩＤ３７４、及び評価値３７５が含まれる。タスク推定結果２４４には、出力タスク判定部２４３によって判定された出力タスク（推定タスクＩＤ３７４）及び評価値（評価値３７５）が、ワークログ（ワークログＩＤ３７３）と対応付けて記録されている。この出力タスクは、タスク推定部２４０によって推定されたタスクに相当し、推定タスクＩＤ３７４は、推定されたタスクを示すＩＤ（識別子）である。
【００５５】
なお、タスク推定結果２４４には、図４（Ｃ）に示すフィールド情報以外のフィールド情報が含まれてもよい。例えば、判定結果の正誤情報等を記録するためのフィールド情報が追加されてもよい。また、本例では、１つのワークログＩＤに対して１つのタスクを推定する場合の例を示している。これに対し、所定時間内の複数のワークログ又は所定量の複数のワークログに対して１つのタスクを推定した場合には、複数のワークログＩＤと推定タスクＩＤとを対応付けしてもよい。
【００５６】
＜学習モデル生成処理＞
次に図５（Ａ）のフローチャートを参照して、サーバ装置１３０において、クライアント端末１１０から送られてくるワークログ２１０に対してタスクを推定するために用いられる学習モデル２４１を生成する生成処理の一例について説明する。図５（Ａ）の各ステップの処理は、制御部１３２のＣＰＵが制御プログラム２００を記憶部１３３から読み出して実行することによって、サーバ装置１３０において実現されうる。
【００５７】
Ｓ４１０で、サーバ装置１３０の入力部２２０は、図４（Ｂ）に示す学習データ２７０を、記憶部１３３から取得する。
【００５８】
次にＳ４２０で、フィルタリング処理部２３０は、学習データ２７０に含まれる情報（ワークログ）をフィルタリングすることで、後述する学習モデルの生成に必要な解析要素のみを抽出する。更に、フィルタリング処理部２３０は、フィルタリングされた情報（抽出された解析要素）を、学習モデル処理部２４２が利用する機械学習のアルゴリズムの入力データ形式に合ったフォーマットに変換する。
【００５９】
例えば、クライアント端末１１０において収集されたパソコン操作ログ２１１からは、時刻３１２、アプリケーション名３１３、操作対象情報３１４等の解析要素を抽出することができる。時刻３１２は、タスクの実行時間を算出するための時刻情報として使用可能である。アプリケーション名３１３は、タスクに関連するソフトを検出するために使用可能である。操作対象情報３１４は、ファイルパス／ファイル名／メール送信先／メール件名／ＵＲＬ／Ｗｅｂサイトタイトル等の情報であり、タスクに関連するドキュメント文書情報及びＷｅｂ閲覧／メール情報を特定するために使用可能である。他にも、ファイル本文／メール本文／Ｗｅｂサイト本文を取得することで、全文情報、又は全文中から頻出度の高いキーワードを抽出してもよい。また、フォルダの作成者情報、ファイルサイズ、ボタン及びメニュー選択等の特定のＵＩ操作内容といった、タスク解析に活用できる情報を抽出してもよい。更には、その他の行動解析ログ２１２、行動予定２１３、行動履歴２１４からも同様に、タスクに関わる情報を抽出することができる。
【００６０】
次にＳ４３０で、学習モデル生成部２８０は、フィルタリング処理部２３０によるフィルタリング後の学習データ２７０に含まれるワークログ及び正解タスクに基づいて、機械学習を用いて学習モデルを生成する。この学習モデルは、フィルタリングされた１つのワークログ又は（所定時間内の若しくは所定量の）複数のワークログについて、タスク一覧ＤＢ２６０に登録されたタスクとの関係度合い（関連度）を示す評価値を推定するためのモデルである。このように、ワークログと正解タスクとを関連付けて学習させることで、未知のワークログに対しても、推定したタスクに対する評価値を推定できるようになる。
【００６１】
次にＳ４４０で、学習モデル生成部２８０は、Ｓ４３０で生成された学習モデルを用いてタスクを推定した際の推定精度が十分かどうかを判定する。学習モデル生成部２８０は、推定精度が十分であると判定した場合にはＳ４５０へ処理を進め、推定精度が不十分であると判定した場合には処理を終了する。
【００６２】
なお、推定精度を求めるには、例えば交差検証手法を用いることができる。この方法では、学習データ２７０を学習用のデータと検証用のデータとに分け、学習用として割り当てた学習データに基づいて学習モデルを生成する。更に、当該学習モデルを用いた場合に、検証用として割り当てた学習データが正解タスクとして出力される割合を判定することで、学習モデルの精度を算出する。学習モデル生成部２８０は、算出した精度が所定の基準を満たす（例えば、所定の閾値を上回る）場合には、推定精度が十分であると判定し、基準を満たさない場合には、推定精度が不十分であると判定する。
【００６３】
Ｓ４５０で、学習モデル生成部２８０は、Ｓ４３０で生成された学習モデルを、タスク推定用の学習モデル２４１として更新して、処理を終了する。
【００６４】
＜タスク推定処理＞
次に図５（Ｂ）のフローチャートを参照して、サーバ装置１３０において、クライアント端末１１０から送られてきたワークログ２１０に対してタスクを推定する推定処理の一例について説明する。図５（Ｂ）の各ステップの処理は、制御部１３２のＣＰＵが制御プログラム２００を記憶部１３３から読み出して実行することによって、サーバ装置１３０において実現されうる。
【００６５】
Ｓ５１０で、サーバ装置１３０の入力部２２０は、解析対象となる、図３（Ａ）〜（Ｄ）に示すワークログ２１０を、記憶部１３３から取得する。
【００６６】
次にＳ５２０で、フィルタリング処理部２３０は、図５（Ａ）のＳ４２０と同様の処理を行い、ワークログ２１０に含まれる情報をフィルタリングすることで、後述のタスク判定処理に必要な解析要素のみを抽出する。更に、フィルタリング処理部２３０は、フィルタリングされた情報（抽出された解析要素）を、学習モデル処理部２４２が利用する機械学習のアルゴリズムの入力データ形式に合ったフォーマットに変換する。
【００６７】
次にＳ５３０で、学習モデル処理部２４２は、Ｓ５２０でフィルタリングされたワークログ２１０（入力ワークログ）と、事前に生成済みの学習モデル２４１とを用いて、機械学習により、当該ワークログに対してタスクを推定する。即ち、学習モデル処理部２４２は、学習モデル２４１を用いた機械学習により入力ワークログを解析することで、当該入力ワークログに対してユーザのタスクを推定する。
【００６８】
本実施形態では、学習モデル処理部２４２は、タスクの推定とともに、学習モデル２４１を用いた機械学習により、タスク一覧ＤＢ２６０に予め登録されている複数のタスクのそれぞれに対して評価値を生成する。この評価値は、入力ワークログと、タスク一覧ＤＢ２６０に登録されているそれぞれのタスクとの関係度合い（関連度）を示す値である。なお、学習モデル生成部２８０は、１つのワークログに対して１つのタスクを推定してもよいし、所定時間内の複数のワークログ又は所定量の複数のワークログに対して１つのタスクを推定してもよい。
【００６９】
Ｓ５４０で、出力タスク判定部２４３は、Ｓ５３０で生成された評価値に基づいて、タスク一覧ＤＢ２６０に予め登録されている複数のタスクのうちで推定結果として出力する出力タスクを決定する。本例では、出力タスク判定部２４３は、最大の評価値に対応するタスクを出力タスク（推定タスク）として決定する。出力タスク判定部２４３は、決定した推定タスクを、図４（Ｃ）に示すようなタスク推定結果２４４に格納し、処理を終了する。
【００７０】
以上説明したように、本実施形態のサーバ装置１３０は、ユーザの作業情報をそれぞれ含む複数のワークログと、当該複数のワークログのそれぞれのワークログに対する正解タスクとを対応付けた学習データ２７０を取得する。サーバ装置１３０は、取得した学習データ２７０に基づいて、機械学習により学習モデル２４１を生成する。サーバ装置１３０は、ワークログ２１０を入力ワークログとして、生成した学習モデル２４１を用いた機械学習により当該入力ワークログを解析することで、当該入力ワークログに対してユーザのタスクを推定する。
【００７１】
このように、本実施形態によれば、パソコン操作ログ２１１、行動解析ログ２１２、行動予定２１３、行動履歴２１４等のワークログ２１０を入力として、機械学習に基づくタスク推定処理を実行することで、タスク推定を自動的に行うことが可能になる。これにより、タスクを推定するためのルールを予め定める必要なく、機械学習を用いてワークログからタスクを推定することが可能になり、ルール作成に係る時間及びコストを削減しつつ、タスク推定精度を向上させることが可能になる。
【００７２】
［第２実施形態］
第１実施形態では、ユーザのワークログからタスクを推定する仕組みを提供している。第２実施形態では、一定期間におけるユーザのタスクの工数を集計し、適切なフォーマットに変換してレポートとして出力する仕組みを提供する。なお、以下では第１実施形態と異なる部分について説明する。
【００７３】
＜サーバ装置１３０の機能構成＞
図６（Ａ）は、本実施形態におけるサーバ装置１３０が実行する制御プログラム２００によって実現される、サーバ装置１３０の機能構成例を示すブロック図である。本実施形態では、サーバ装置１３０の機能構成としてタスク工数集計部６１０が追加されている。
【００７４】
タスク工数集計部６１０は、タスク推定部２４０によって推定された、所定期間における全てのタスクに基づいて、タスクごとの総実行時間（以下、「工数」と称する。）を集計し、工数（作業工数）の集計結果を可視化したレポートを生成する。
【００７５】
出力部２５０は、タスク推定部２４０によって推定されたタスクと、タスク工数集計部６１０によって算出されたタスクごとの工数及び生成されたレポートを、通信部１３１を介してクライアント端末１１０へ送信する。
【００７６】
＜レポート表示処理＞
次に図７（Ａ）のフローチャートを参照して、本実施形態の業務管理システム１００において、クライアント端末１１０の表示部１１５に、ユーザの業務を可視化したレポートを表示する処理の一例について説明する。図７（Ａ）の各ステップの処理は、制御部１１２のＣＰＵが制御プログラムを記憶部１１３から読み出して実行することによって、クライアント端末１１０において実現されうる。
【００７７】
Ｓ７１０で、制御部１１２は、図７（Ｂ）及び（Ｃ）に示すような、生成レポートに関する設定画面７１１を表示部１１５に表示する。更にＳ７２０で、制御部１１２は、サーバ装置１３０が生成するレポートに関する設定（生成レポート設定）を、操作部１１４を用いて行われる設定画面７１１の操作によりユーザから受け付ける。なお、生成レポート設定の詳細については後述する。操作部１１４は、ユーザによる設定が完了すると、設定完了通知を制御部１１２へ送る。
【００７８】
次にＳ７３０で、制御部１１２は、操作部１１４からの設定完了通知を受信すると、通信部１１１を介して、サーバ装置１３０に対してレポート生成要求を送信（通知）する。レポート生成要求には、設定画面７１１を介してユーザから受け付けた設定内容が含められる。サーバ装置１３０は、クライアント端末１１０から送信されたレポート生成要求を、通信部１３１を介して受信すると、受信したレポート生成要求に従ってレポート生成処理（図７（Ｄ））を実行し、生成したレポートをクライアント端末１１０へ送信する。なお、レポート生成処理の詳細については後述する。
【００７９】
最後にＳ７４０で、制御部１１２は、サーバ装置１３０から送信されたレポートを、通信部１１１を介して受信する。レポートを受信すると、Ｓ７５０で、制御部１１２は、受信したレポートを、図９（Ａ）及び（Ｂ）に示すような出力画面８１０として表示部１１５に表示し、処理を終了する。
【００８０】
＜生成レポートに関する設定＞
次に図７（Ｂ）及び（Ｃ）を参照して、Ｓ７２０においてユーザが設定画面７１１を用いて生成レポートに関する設定を行う方法について説明する。
【００８１】
ユーザは、選択ボタン７１２を用いて、生成するレポートの対象を選択する。個人を対象としたレポートを生成する場合には、図７（Ｂ）に示すように「個人」を、チームを対象としたレポートを生成する場合には、図７（Ｃ）に示すように「チーム」を選択する。
【００８２】
レポート対象リスト７１３，では、生成するレポートの対象者を選択する。個人を対象としたレポートであれば、レポート対象リスト７１３より対象者を一人選択し、メンバーを対象としたレポートであれば、レポート対象リスト７１８よりチーム及び複数人の対象者を選択する。なお、レポート生成可能なユーザ及びチームと、各チームに所属しているユーザを予め設定しておくことにより、レポート対象リスト７１３，７１８にリストとして表示することが可能となる。また、全てのユーザの中から任意のユーザを選択して、任意のチームとして設定することも可能である。
【００８３】
レポート形式設定７１４では、出力するレポート形式を設定する。出力レポート形式としては、１日分の業務内容をまとめた日報、１週間単位での業務内容をまとめた週報、及び１ヶ月単位での業務内容をまとめた月報のいずれかを選択する。なお、出力レポート形式については、図７（Ｂ）及び（Ｃ）に示す形式に限定されず、例えば、半日単位のレポート、又は数か月の開発プロセス単位のレポートが、出力レポート形式として選択可能であってもよい。
【００８４】
レポート開始日設定７１５では、出力するレポートの解析開始日を指定する。日報であれば、指定した開始日のレポートが生成され、週報又は月報であれば、開始日から１週間又は１ヶ月のレポートが生成される。
【００８５】
全ての設定を終えてユーザがＯＫボタン７１６を押下すると、操作部１１４は、制御部１１２に設定完了通知を送信する。なお、ユーザは、レポート生成を取りやめる場合にはＣａｎｃｅｌボタン７１７を押下する。設定完了通知には、設定画面７１１における上述の設定内容が含められる。
【００８６】
＜レポート生成処理＞
次に図７（Ｄ）のフローチャートを参照して、本実施形態のサーバ装置１３０が、Ｓ７３０でクライアント端末１１０から送信されたレポート生成要求を受信した際に、指定された形式のレポートを生成する処理の一例について説明する。図７（Ｄ）の各ステップの処理は、制御部１３２のＣＰＵが制御プログラム２００を記憶部１３３から読み出して実行することによって、サーバ装置１３０において実現されうる。また、図８は、タスクの工数の集計例を示す図である。
【００８７】
図７（Ｄ）のＳ７４１において、制御部１３２は、クライアント端末１１０からレポート生成要求で指定されたレポートを生成するために必要な情報（タスク情報）を、記憶部１３３に格納されているタスク推定結果２４４から取得する。制御部１３２は、ユーザごとの、集計対象期間のタスク情報をタスク推定結果２４４から取得する。なお、このタスク推定結果２４４には、第１実施形態で説明したタスク推定処理（図５（Ｂ））によって生成された、図４（Ｃ）に示すような情報が記録されている。
【００８８】
次にＳ７４２で、タスク工数集計部６１０は、タスク工数を集計する際の集計精度を設定する。集計精度は、例えば、工数を集計する際に対象とする、タスクの継続実行時間として指定されうる。集計精度として設定された継続実行時間を上回る時間にわたって実行されるタスクの工数が集計される。これにより、継続実行時間以内で断片的に行われるタスクを、工数の集計対象から外すことができ、集計精度の調整が可能となる。
【００８９】
Ｓ７４２で設定する集計精度には、固定の設定を使用してもよいし、出力するレポートに応じて変更した設定を使用してもよい。例えば、個人の日報を生成する場合には、日々の業務内容を詳細に知るために、継続実行時間を１分とする（集計精度を高く設定する）。一方、個人の週報又はチームレポートを生成する場合には、大まかな業務内容を知るために、継続実行時間を５分とする（集計精度を低く設定する）。あるいは、図７（Ａ）のＳ７２０において、クライアント端末１１０で生成レポート設定を受け付ける際に、集計精度の指定をユーザから受け付けてもよい。その場合、レポート生成要求に集計精度の指定が含められてクライアント端末１１０からサーバ装置１３０へ通知されればよい。
【００９０】
次にＳ７４３で、タスク工数集計部６１０は、Ｓ７４１で取得したタスク情報に基づいて、レポート生成要求で指定された各ユーザの日付ごとの工数を、Ｓ７４２で指定された集計精度に従って集計する。これにより、タスク工数集計部６１０は、指定された期間（週報であれば１週間分）における工数の集計値を取得する。例えば、継続実行時間（即ち、集計精度）が１分に設定された場合、図８（Ａ）及び（Ｂ）に示すように、推定されたタスクの工数を時系列に集計することで、図８（Ｄ）及び（Ｅ）に示すように、各タスクの工数の集計値を取得する。一方、継続実行時間が５分以上に設定された場合には、図８（Ｃ）に示すように、実行時間が５分以下のタスクを直前のタスクと同一であるとみなしてタスクの工数を集計することで、図８（Ｆ）に示すように、各タスクの工数の集計値を取得する。
【００９１】
最後にＳ７４４で、タスク工数集計部６１０は、レポート生成要求で指定されたレポート形式に合うように、集計された工数を可視化したレポートを生成する。生成されたレポートは、出力部２５０によって、通信部１３１を介してクライアント端末１１０へ送信され、レポート生成処理が終了する。
【００９２】
＜レポートの出力画面の表示例＞
図９は、Ｓ７４４においてサーバ装置１３０から送信されるレポートの出力画面の例を示す図であり、Ｓ７５０においてクライアント端末１１０の表示部１１５に表示される出力画面の表示例を示している。図９（Ａ）及び（Ｂ）は、ユーザＡに対する日報、図９（Ｃ）は、ユーザＡに対する週報、図９（Ｄ）及び（Ｅ）は、ユーザＡ〜ユーザＥが属するチームＸに対する週報の出力例を示している。
【００９３】
各種レポートには、レポート名、ユーザ名／チーム名、集計対象日が記載された表題、テーマ名称／タスク名、及び工数に関する情報が記載されている。なお、図８（Ｄ）〜（Ｆ）に示す、工数の集計結果（集計値）をそのまま出力してもよいが、ある程度まとまった時間単位（図９（Ａ）〜（Ｄ）では一例として３０分単位）の集計値を出力することが望ましい場合がある。また、出力するレポートのフォーマットは、図９（Ａ）〜（Ｄ）に示すフォーマット（合計の工数）に限定されない。例えば、タスクの開始時刻及び終了時刻を出力するフォーマットを用いてもよいし、工数が一定以上のタスクを工数順にソートして出力するフォーマットを用いてもよい。
【００９４】
また、図９（Ｅ）に示すように、出力する工数の集計単位をタスク名ごとではなく、テーマ名称単位でまとめて表示してもよいし、特定のテーマ名称及びタスク名に絞ってレポートを出力することも可能である。その場合、このような出力形式の指定を、図７（Ａ）のＳ７２０において、クライアント端末１１０で生成レポート設定を受け付ける際に、ユーザから受け付けてもよい。ユーザから受け付けた指定は、レポート生成要求に含められてクライアント端末１１０からサーバ装置１３０へ通知されればよい。
【００９５】
以上説明したように、本実施形態では、サーバ装置１３０は、タスク推定部２４０によるタスクの推定結果を含むレポートを、クライアント端末１１０へ送信する。クライアント端末１１０は、サーバ装置１３０から受信したレポートに基づいて、タスクの推定結果を表示部１１５に表示する。本実施形態によれば、日々の業務内容を可視化したレポートを自動で生成できるようになり、ユーザによって指定されるユーザ又はチームメンバーの作業状況の把握が容易になる。
【００９６】
［第３実施形態］
第１及び２実施形態では、機械学習を用いてユーザのワークログからタスクを推定し、推定結果をレポートとして出力する仕組みを提供している。第３実施形態では、ユーザによる、推定されたタスクの訂正を可能にする仕組みを更に提供する。なお、以下では第１及び第２実施形態と異なる部分について説明する。
【００９７】
＜サーバ装置１３０の機能構成＞
図６（Ｂ）は、本実施形態におけるサーバ装置１３０が実行する制御プログラム２００によって実現される、サーバ装置１３０の機能構成例を示すブロック図である。本実施形態では、第２実施形態における機能構成（図６（Ａ））に対して修正部６２０が更に追加されている。
【００９８】
修正部６２０は、タスク推定部２４０によって推定されたタスクを、ユーザの指示に従って修正する。修正部６２０は、ユーザによる修正後のタスクを、推定されたタスクに対応するワークログに対する正解タスクとして取得する。修正部６２０は更に、そのワークログと、ユーザによる修正後の正解タスクとを対にして（対応付けて）、学習データ２７０に追加する。
【００９９】
タスク工数集計部６１０は、修正部６２０において、ユーザによる修正後の正解タスクに基づいて、タスク工数の再集計、及びタスク修正後のレポートの再生成を行う。
【０１００】
＜タスク修正の受付処理＞
図１０（Ａ）のフローチャートを参照して、本実施形態の業務管理システムにおいて、タスク推定部２４０によって推定されたタスクの修正をユーザから受け付ける処理の一例について説明する。図１０（Ａ）の各ステップの処理は、制御部１１２のＣＰＵが制御プログラムを記憶部１１３から読み出して実行することによって、クライアント端末１１０において実現されうる。
【０１０１】
図１０（Ａ）のＳ７１０〜Ｓ７５０では、第２実施形態（図７（Ａ））と同様の処理が行われる。ただし、Ｓ７５０で、制御部１１２は、サーバ装置１３０から受信したレポートの出力画面８１０（図９）を表示部１１５に表示する際、当該画面に、ＯＫボタン８３０の他に修正ボタン（図示せず）を配置する。
【０１０２】
Ｓ１０１０で、制御部１１２は、出力画面８１０に表示したレポートに対する、ユーザによる修正の有無を判定する。制御部１１２は、操作部１１４からの通知に基づいて、出力画面８１０の修正ボタンがユーザによって押下されたか否かを判定し、修正ボタンが押下されずにＯＫボタン８３０が押下された場合には、修正なしと判定して処理を終了する。一方、制御部１１２は、修正ボタンが押下された場合には、Ｓ１０２０へ進め、タスクを修正するためのＵＩ画面を表示部１１５に表示する。
【０１０３】
図１０（Ｂ）は、ユーザＡの日報の出力画面８１０（例えば、図９（Ａ）及び（Ｂ））において修正ボタンが押下された場合に表示部１１５に表示される、タスクの修正用のＵＩ画面１０１１の一例を示している。ＵＩ画面１０１１には、ユーザＡの業務内容一覧１０１２と終了ボタン１０１５が配置される。
【０１０４】
ユーザは、ＵＩ画面１０１１において、業務内容一覧１０１２の中から修正対象のタスクを選択し、タスクリスト１０１３から正しいタスクを選択できる。あるいは、ユーザが修正対象のタスク１０１４を選択した場合に、制御部１１２は、図１０（Ｄ）に示すようなＵＩ画面１０１６を表示部１１５に表示し、当該ＵＩ画面内のタスクリスト１０１７から正しいタスクの選択をユーザから受け付けてもよい。タスクリスト１０１３，１０１７には、タスク一覧ＤＢ２６０に登録されているタスクが表示される。なお、クライアント端末１１０においてユーザによるタスクの修正を受け付ける方法は、上述の方法に限定されず、例えば、開始／終了時間及びタスクを手動で設定可能にする仕様が用いられてもよい。
【０１０５】
ユーザは、ＵＩ画面１０１１，１０１６において終了ボタン１０１５，１０１８を押下することによって、タスクの修正の終了を指示できる。終了ボタン１０１５，１０１８が押下されると、操作部１１４は、ＵＩ画面１０１１，１０１６においてユーザから受け付けた修正内容を含む修正完了通知を、制御部１１２へ送信する。
【０１０６】
Ｓ１０２０で、制御部１１２は、操作部１１４から修正完了通知を受信すると、サーバ装置１３０に対してタスク修正通知を送信し、処理をＳ７３０へ戻す。タスク修正通知には、ＵＩ画面１０１１，１０１６を介してユーザから受け付けた修正内容が含められる。サーバ装置１３０は、クライアント端末１１０から送信されたタスク修正通知を、通信部１３１を介して受信すると、受信したタスク修正通知に従って、後述するタスク修正処理（図１０（Ｄ））を実行する。
【０１０７】
Ｓ１０２０からＳ７３０へ処理を戻すと、制御部１１２は、サーバ装置１３０に対してレポート生成要求を再び送信する。これにより、制御部１１２は、レポートの再生成処理の実行をサーバ装置１３０に要求し（Ｓ７４０）、サーバ装置１３０から受信したレポートの出力を行い（Ｓ７５０）、上述の処理を繰り返す。
【０１０８】
＜タスク修正処理＞
図１０（Ｄ）のフローチャートを参照して、本実施形態のサーバ装置１３０が、Ｓ１０２でクライアント端末１１０から送信されたタスク修正通知を受信した際に実行するタスク修正処理の一例について説明する。図１０（Ｄ）の各ステップの処理は、制御部１３２のＣＰＵが制御プログラム２００を記憶部１３３から読み出して実行することによって、サーバ装置１３０において実現されうる。
【０１０９】
Ｓ１０３１で、修正部６２０は、受信したタスク修正通知に基づいて、修正の対象となっている、修正前のタスクに対応するワークログを、記憶部１３３から取得する。次にＳ１０３２で、修正部６２０は、Ｓ１０３１で取得した修正対象のワークログと、ユーザによる修正後の正解タスクとを対にしたデータを、図４（Ｂ）に示す学習データ２７０に追加する。
【０１１０】
その後、Ｓ１０３３で、学習モデル生成部２８０は、第１実施形態と同様に、図５（Ａ）に示す学習モデル生成処理を実行することにより、学習モデル２４１を更新し、処理を終了する。なお、学習モデル２４１の更新は、学習データへデータが追加されるごとに行われてもよいし、所定量のデータが学習データとして蓄積されるごとに行われてもよいし、又は予め定められた日時に行われてもよい。
【０１１１】
以上説明したように、本実施形態では、クライアント装置は、表示部１１５に表示したタスクの推定結果に対する修正をユーザから受け付け、受け付けた修正内容をサーバ装置１３０へ通知する。サーバ装置１３０は、クライアント端末１１０から通知された修正内容に従って、タスク推定部２４０によって推定されたタスクを修正する。これにより、タスク推定結果をユーザが確認し、正しいタスクに修正することが可能になる。
【０１１２】
また、本実施形態では、サーバ装置１３０は、修正後のタスクを正解タスクとして、修正前のタスクの推定に用いられたワークログと対応付けて学習データ２４１に追加する。更に、サーバ装置１３０は、追加が行われた学習データ２４１に基づいて、機械学習により学習モデル２４１を更新する。このように、修正後のタスクに基づいて学習モデル２４１を更新することで、タスク推定精度を向上させることが可能になる。
【０１１３】
［第４実施形態］
第１乃至３実施形態では、タスク推定部２４０（出力タスク判定部２４３）は、学習モデル処理部２４２により推定された評価値が最大となるタスクを、推定結果として出力している。しかし、タスクの推定に用いられるワークログの内容によっては、タスクの推定精度が低くなる場合がある。そこで、第４実施形態では、タスク推定結果の評価値に応じて、推定されたタスクの確認をユーザに促すメッセージを表示する仕組みを更に提供する。なお、以下では第１乃至第３実施形態と異なる部分について説明する。
【０１１４】
＜タスク推定処理＞
図１１を参照して、本実施形態のサーバ装置１３０において、クライアント端末１１０から送られてきたワークログ２１０に対してタスクを推定する推定処理の一例について説明する。図１１の各ステップの処理は、制御部１３２のＣＰＵが制御プログラム２００を記憶部１３３から読み出して実行することによって、サーバ装置１３０において実現されうる。
【０１１５】
図１１のＳ５１０〜Ｓ５４０では、第１実施形態（図５（Ｂ））と同様の処理が行われる。これにより、タスク推定部２４０（出力タスク判定部２４３）は、第１実施形態と同様に、取得したワークログに対して機械学習を用いて出力タスクを判定（タスクを推定）する。
【０１１６】
出力タスクの判定が完了すると、次にＳ１１１０で、出力タスク判定部２４３は、判定した出力タスクに対する評価値が所定値（閾値）以上であるか否かを判定する。ここで、出力タスクは、Ｓ５３０において推定された評価値が最大となるタスクである。Ｓ１１１０では、この最大の評価値が判定の対象となる。評価値が所定値未満である場合、タスク推定に失敗している可能性が高いと判定される。この場合、出力タスク判定部２４３は、処理をＳ１１２０へ進める。一方、評価値が所定値以上である場合、タスク推定に成功している可能性が高いと判定される。この場合、出力タスク判定部２４３は、処理をＳ１１３０へ進める。
【０１１７】
例えば、図４（Ｃ）に示すタスク推定結果２４４に対して、評価値の閾値（所定値）を０．４に設定した場合、ＩＤ００２に対応する推定タスクＢ０５については、評価値が０．９７であり、タスク推定に成功している可能性が高いと判断される。一方、ＩＤ００９に対応する推定タスクＢ０１については、評価値が０．２４であり、タスク推定に失敗している可能性が高いと判断される。
【０１１８】
Ｓ１１２０で、制御部１３２は、クライアント端末１１０に対して、タスクの推定結果についてユーザに確認を行うことを指示する指示メッセージを通知する。クライアント端末１１０は、指示メッセージを受信すると、第３実施形態におけるタスクの修正をユーザから受け付ける場合と同様に、ユーザにタスクの推定結果の確認を要求する。クライアント端末１１０は、例えば、図１０（Ｃ）に示すようなＵＩ画面１０１６を用いて、ユーザに対してタスクの推定結果の確認を行いうる。クライアント端末１１０は、例えば、上述の指示メッセージに対する応答として、ユーザによるタスク修正の有無及び修正内容を、サーバ装置１３０へ通知する。
【０１１９】
その後、Ｓ１１３０で、修正部６２０は、ユーザによるタスク修正の有無を判定し、修正がない場合にはＳ１１４０へ、修正がある場合はＳ１１５０へ処理を進める。Ｓ１１４０で、出力タスク判定部２４３は、ユーザによるタスクの修正が行われていない場合、Ｓ５４０で推定されたタスク（出力タスク）を最終的な推定結果として出力する。更にＳ１１６０で、出力タスク判定部２４３は、Ｓ１１１０と同様に、出力タスクに対する評価値が所定値以上であるか否かを判定し、評価値が所定値以上である場合には処理を終了し、評価値が所定値未満である場合にはＳ１１７０へ処理を進める。
【０１２０】
一方、Ｓ１１５０で、出力タスク判定部２４３は、クライアント端末１１０においてユーザによる修正の対象となったタスクについて、修正後のタスクを最終的な推定結果として出力し、Ｓ１１７０へ処理を進める。
【０１２１】
Ｓ１１７０で、修正部６２０は、ユーザによる修正が行われたタスク（即ち、推定に失敗したと判定されたタスク）の推定に用いられたワークログを、ユーザによる修正後のタスクである正解タスクと対にして学習データ２７０に追加する。また、修正部６２０は、ユーザによる修正は行われていないが評価値が低いタスク（即ち、推定には成功しているが、推定が失敗している可能性が高いと判定されたタスク）の推定に用いられたワークログを、正解タスクと対にして学習データ２７０に追加する。この場合の正解タスクは、Ｓ５４０で推定されたタスク（Ｓ１１４０で出力されたタスク）である。
【０１２２】
更にＳ１１８０で、学習モデル生成部２８０は、第１実施形態と同様に、図５（Ａ）に示す学習モデル生成処理を実行することにより、学習モデル２４１を更新し、処理を終了する。なお、学習モデル２４１の更新は、学習データへデータが追加されるごとに行われてもよいし、所定量のデータが学習データとして蓄積されるごとに行われてもよいし、又は予め定められた日時に行われてもよい。
【０１２３】
以上説明したように、本実施形態では、サーバ装置１３０は、出力タスクに対する評価値が閾値を下回る場合に、当該出力タスクの確認を求める指示を、クライアント端末１１０へ送信する。クライアント端末１１０は、サーバ装置１３０から受信した指示に従って、出力タスクの確認をユーザに促すメッセージを表示部１１５に表示し、当該出力タスクに対する修正をユーザから受け付け、受け付けた修正内容をサーバ装置１３０へ通知する。これにより、低い評価値に対応するタスク推定結果について、適切にユーザからのフィードバックを受けることにより、正しいタスクに修正することが可能になる。
【０１２４】
本実施形態では、サーバ装置１３０は、出力タスクに対する評価値が閾値を下回る場合に、ユーザによる修正が行われたときは、修正後のタスクを正解タスクとして、入力ワークログと対応付けて学習データ２４１に追加する。また、サーバ装置１３０は、ユーザによる修正が行われなかったときは、出力タスクを正解タスクとして、入力ワークログと対応付けて学習データ２４１に追加する。このようにして、低い評価値に対応するタスク推定結果について、ユーザからのフィードバック結果に基づいて学習モデル２４１を適切に更新することで、タスク推定精度を向上させることが可能になる。
【０１２５】
［その他の実施形態］
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【０１２６】
１１０：クライアント端末、１３０：サーバ装置、１４０：その他のシステム、２１０：ワークログ、２２０：入力部、２３０：フィルタリング処理部、２４０：タスク推定部、２４１：学習モデル、２４２：学習モデル処理部、２４３：出力タスク判定部、２４４：タスク推定結果、２５０：出力部、２６０：タスク一覧ＤＢ、２７０：学習データ、２８０：学習モデル生成部、６１０：タスク工数集計部、６２０：修正部
【図１】
2019168844.tif 000003
【図２】
2019168844.tif 000004
【図３】
2019168844.tif 000005
【図４】
2019168844.tif 000006
【図５】
2019168844.tif 000007
【図６】
2019168844.tif 000008
【図７】
2019168844.tif 000009
【図８】
2019168844.tif 000010
【図９】
2019168844.tif 000011
【図１０】
2019168844.tif 000012
【図１１】
2019168844.tif 000013