(57)【要約】【課題】精度の高い分類器を生成するためには、機械学習アルゴリズムに適した学習データを集める必要があるが、入力データから良質な学習データを生成するために、データのクレンジング処理を行わなければいけないという課題がある。  特に、複数の機械学習アルゴリズムにより生成された分類器の分類結果に基づいて分類を行う手法においては、各機械学習アルゴリズムの特徴が異なるため、データの適切なクレンジング処理が困難である。【解決手段】本発明は、複数の異なる機械学習アルゴリズムを用いた学習モデルを生成する際に、各機械学習アルゴリズムの特徴に応じて、データの適切なクレンジング処理を行う。  これにより、機械学習に必要な学習データを、それぞれの機械学習アルゴリズムに応じて生成することができる。【選択図】図１
2020038514.tif 000002
【特許請求の範囲】
【請求項１】
入力データを取得する取得手段と、
学習データを生成するために入力データに対してクレンジング処理を行う処理手段と、
機械学習アルゴリズムを備え、前記機械学習アルゴリズムを用いて、学習データに基づいて学習モデルを生成する生成手段と、
を有する学習データ生成装置であって、
前記生成手段は、前記機械学習アルゴリズムとして、種類が異なる、複数の機械学習アルゴリズムを備え、
前記処理手段は、入力データに対して、複数の前記機械学習アルゴリズムのそれぞれに対応して、第１のクレンジング処理を行う
ことを特徴とする学習データ生成装置。
【請求項２】
前記処理手段は、複数の前記機械学習アルゴリズムのそれぞれの特徴に対応して、異なる第１のクレンジング処理を行う
ことを特徴とする請求項１に記載の学習データ生成装置。
【請求項３】
複数の前記機械学習アルゴリズムのうち、少なくとも１つは、前記特徴が、入力データに含まれる要素の出現頻度、出現パターン、出現順序のいずれか１つに注目するものを含む
ことを特徴とする請求項２に記載の学習データ生成装置。
【請求項４】
複数の前記機械学習アルゴリズムのうち、少なくとも１つは、前記特徴が、入力データに含まれる要素の出現頻度に注目するものを含む
ことを特徴とする請求項３に記載の学習データ生成装置。
【請求項５】
複数の前記機械学習アルゴリズムのうち、少なくとも１つは、前記特徴が、入力データに含まれる要素の出現パターンに注目するものを含む
ことを特徴とする請求項３又は４に記載の学習データ生成装置。
【請求項６】
複数の前記機械学習アルゴリズムのうち、少なくとも１つは、前記特徴が、入力データに含まれる要素の出現順序に注目するものを含む
ことを特徴とする請求項３乃至５のいずれか１項に記載の学習データ生成装置。
【請求項７】
前記要素が、単語である
ことを特徴とする請求項３乃至６のいずれか１項に記載の学習データ生成装置。
【請求項８】
前記処理手段は、前記第１のクレンジング処理に加えて、複数の前記機械学習アルゴリズムのすべてに共通する第２のクレンジング処理を行う
ことを特徴とする請求項３乃至７のいずれか１項に記載の学習データ生成装置。
【請求項９】
前記第２のクレンジング処理は、有効なフィールド情報が含まれない入力データを削除するものである
ことを特徴とする請求項８に記載の学習データ生成装置。
【請求項１０】
前記第２のクレンジング処理は、事前に指定された要素を含む入力データを削除するものである
ことを特徴とする請求項８又は９に記載の学習データ生成装置。
【請求項１１】
前記学習モデルに基づいて、入力データを複数のラベルの中の１つのラベルに分類するとともに、複数の前記ラベルのすべてに共通して現れる入力データを削除するものである
ことを特徴とする請求項８乃至１０のいずれか１項に記載の学習データ生成装置。
【請求項１２】
前記入力データは、作業者の行動に関する情報である
ことを特徴とする請求項１乃至１１のいずれか１項に記載の学習データ生成装置。
【請求項１３】
前記行動は、パソコン操作である
ことを特徴とする請求項１２項に記載の学習データ生成装置。
【請求項１４】
前記学習モデルに基づいて、各入力データを複数のラベルのうちの１つのラベルに分類する
ことを特徴とする請求項１乃至１３のいずれか１項に記載の学習データ生成装置。
【請求項１５】
各入力データとラベルとの関連度を表す評価値に基づいて、
前記各入力データを複数の前記ラベルのうちの１つの前記ラベルに分類する
ことを特徴とする請求項１４に記載の学習データ生成装置。
【請求項１６】
入力データを取得する取得ステップと、
学習データを生成するために入力データに対してクレンジング処理を行う処理ステップと、
機械学習アルゴリズムを備え、前記機械学習アルゴリズムを用いて、学習データに基づいて学習モデルを生成する生成ステップと、
を有する学習データ生成方法であって、
前記生成ステップにおいて、前記機械学習アルゴリズムとして、種類が異なる、複数の機械学習アルゴリズムが備えられ、
前記処理ステップにおいて、入力データに対して、複数の前記機械学習アルゴリズムのそれぞれに対応して、第１のクレンジング処理を行う
ことを特徴とする学習データ生成方法。
【請求項１７】
請求項１６の学習データ生成方法をコンピュータにより実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入力データから機械学習アルゴリズムに適した学習用データを生成するための学習データ生成装置、学習データ生成方法、及びプログラムに関するものである。
【背景技術】
【０００２】
機械学習アルゴリズムを用いた学習モデルに基づいて入力データの分類を行う分類器では、種類の異なる機械学習アルゴリズムを用いることで、それぞれ利点が異なる分類器を生成することができる。このため、種類の異なる複数の分類器を用いることで、複数の分類結果を得ることができ、それを手掛かりにして、分類精度の向上を図ることができる。複数の分類器による分類結果を統計的に処理することで分類精度をより向上させる手法としては、アンサンブル学習やスタッキングと呼ばれる手法が開発されている。
【０００３】
ところで、精度の高い分類器を作成するためには、分類器を構成する機械学習アルゴリズムに適した学習データが必要である。
そこで、機械学習アルゴリズムによる学習に適するように、入力データの前処理を行う必要がある。前処理とは、例えば、データの正規化／標準化や新たなデータの生成といった加工処理や、不適切なデータを取り除くデータフィルタリング処理（例えば、特許文献１を参照）などの処理（以下、総称して「クレンジング処理」という）である。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００５−１８１９２８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
このように、精度の高い分類器を生成するためには、機械学習アルゴリズムに適した学習データを集める必要があるが、入力データから良質な学習データを生成するために、入力データのクレンジング処理を行わなければいけない。
【０００６】
特に、複数の機械学習アルゴリズムにより生成された分類器の分類結果に基づいて分類を行う手法においては、各機械学習アルゴリズムの特徴が異なるため、データの適切なクレンジング処理が困難である。
【課題を解決するための手段】
【０００７】
本発明は、入力データを取得する取得手段と、学習データを生成するために入力データに対してクレンジング処理を行う処理手段と、機械学習アルゴリズムを備え、前記機械学習アルゴリズムを用いて、学習データに基づいて学習モデルを生成する生成手段と、を有する学習データ生成装置であって、前記生成手段は、前記機械学習アルゴリズムとして、種類が異なる、複数の機械学習アルゴリズムを備え、前記処理手段は、入力データに対して、複数の前記機械学習アルゴリズムのそれぞれに対応して、第１のクレンジング処理を行うことを特徴とする。
【発明の効果】
【０００８】
本発明によれば、複数の異なる機械学習アルゴリズムを用いた学習モデルを生成する際に必要な学習データを、それぞれの機械学習アルゴリズムに応じて生成することができる。これにより、機械学習の効率向上と、分類推定の精度向上を図ることができる。また、機械学習アルゴリズムによらず、共通の入力データを利用することが可能となり、ユーザの負荷が軽減するという効果も得られる。
【図面の簡単な説明】
【０００９】
【図１】学習データ生成用プログラムの機能構成を示す図である。
【図２】クレンジング処理部において行われるクレンジング処理を示すフローチャートと、アルゴリズムデータベースの一例である。
【図３】パソコン操作ログとタスク一覧の一例である。
【図４】学習モデルを生成する処理を示すフローチャートである。
【図５】入力データに対する分類推定処理を示すフローチャートである。
【図６】タスク毎の出現語句と、クレンジング後データの例である。
【発明を実施するための形態】
【００１０】
以下、本発明を実施するための形態について図面を用いて説明する。ただし、この実施形態に記載されている構成要素はあくまで例示であり、本発明の範囲を各実施形態に限定する趣旨ではない。
＜第１の実施形態＞
【００１１】
＜学習データ生成プログラムの機能構成＞
図１は、分類器１００において学習データを生成するための機能構成を示す図である。
図１（ａ）は、分類器１００の全体の機能を示す。
共通入力データ１１０は、分類処理を行う学習モデルの生成および分類推定処理を行う際に使用されるデータである。共通入力データ１１０は、後述する複数の分類推定部１４０に入力する学習データを生成するための共通のデータとして収集され、データベースとして保存されている。
入力部１２０は、共通入力データ１１０を入力データとして取得する処理部である。
【００１２】
図１（ｂ）は、クレンジング処理部１３０の機能を示す。
クレンジング処理部１３０は、後述する分類推定部１４０における学習および分類推定に最適な学習データ（クレンジング後データ１７０）を生成するための処理部である。図１（ｂ）に示されるように、クレンジング処理部１３０のクレンジング処理実行部１３２は、アルゴリズムデータベース１３１（図２（ｃ）で後述）に記録された機械学習アルゴリズムの特徴に対応して、入力データのクレンジング処理を行う。
【００１３】
分類推定部１４０は、機械学習アルゴリズムにより、学習データを分類判定する処理部である。分類推定部１４０は、機械学習アルゴリズムの種類の数に対応して、複数備えられる。
これは、前述したとおり、複数種類の機械学習アルゴリズムを用いることで、利点の異なる分類器が生成できるためである。また、複数の分類推定結果を手掛かりとすることで、分類精度の向上につながるためである。
【００１４】
図１（ｃ）は、各分類推定部１４０の機能構成を示す。
図１（ｃ）に示されるように、各分類推定部１４０は、学習モデル生成部１４１と学習モデル実行部１４３とから構成される。
学習モデル生成部１４１は、クレンジング処理部１３０で生成された学習データ（クレンジング後データ１７０）を用いて、機械学習アルゴリズムに基づいた学習を行い、学習モデル１４２を生成する。
学習モデル実行部１４３は、学習データと学習モデル１４２に基づいて分類処理を行い、分類対象の各ラベルに対する学習データの評価値を算出する。そして、最大の評価値を有するラベルを学習データの分類推定結果１４４として出力する。
【００１５】
出力判定部１５０は、複数の分類推定部１４０から出力された分類推定結果１４４を統合的に判断して、最終的な出力値を判定する。
例えば、各分類推定部１４０で推定された各分類推定結果１４４を集計し、最も多く推定された分類推定結果を出力としてもよい。あるいは、各分類推定結果１４４の確率を比較し、最も確率の高い分類推定結果を出力としてもよい。なお、判定方法はこれらに限るものではない。
出力部１６０は、出力判定部１５０において判定された出力値を所定の方法でユーザに提示する。
【００１６】
クレンジング後データ１７０は、クレンジング処理部１３０においてそれぞれの分類推定部１４０に対応した入力データのクレンジング処理を実行した後の学習データとなるデータであり、データベースに格納される。クレンジング後データ１７０の詳細については、図６において後述する。
【００１７】
＜クレンジング処理部１３０について＞
図２は、クレンジング処理部１３０において行われる入力データのクレンジング処理の一例を示すフローチャートである。
【００１８】
図２（ａ）のフローチャートのＳ２１０において、クレンジング処理部１３０は、入力部１２０を介して学習データを生成するために必要な入力データを共通入力データ１１０から取得する。
Ｓ２２０において、クレンジング処理部１３０は、複数の分類推定部１４０から処理対象とする分類推定部１４０を順番に選択する。
【００１９】
Ｓ２３０において、クレンジング処理部１３０は、機械学習アルゴリズムに応じた入力データのクレンジング処理を行い、クレンジング後データ１７０を学習データとして生成する。クレンジング処理とは、例えば、学習に不適切なデータの削除や、学習効率を上げるようなデータの加工（正規化／標準化など）など処理である。データのクレンジング処理の詳細については、図２（ｂ）のフローチャートにおいて後述する。
Ｓ２４０において、クレンジング処理部１３０は、すべての分類推定部１４０を選択したか否かを確認する。そして、未処理の分類推定部１４０がなくなるまで、Ｓ２２０〜Ｓ２４０の処理を繰り返す。
すべての分類推定部１４０に対する学習データを生成すると、図２（ａ）のクレンジング処理は終了する。
【００２０】
＜入力データのクレンジング処理を行うユースケースの一例＞
次に、上述した図２（ａ）のフローチャートのＳ２３０において行われる入力データのクレンジング処理についての詳細を示すために、入力データのクレンジング処理が必要となるユースケースの一例を示す。
以下では、作業者の行うパソコンの操作内容を入力データとして、各入力データを作業者の業務内容（以下、「タスク」という）に分類するユースケースを例にして説明を行う。ここでは、作業者のタスクを、会社内で行われるような、プロジェクトＡ（定例会議）、プロジェクトＢ（資料作成）、プロジェクトＣ（朝会）などの各プロジェクトに分類するものとする。なお、想定するユースケースや使用するデータは、これらに限られるものではないことは言うまでもない。
【００２１】
図３（ａ）は、入力データであるパソコン操作ログの一例である。
図３（ａ）に示されるように、パソコンの操作ログ３１０は、作業者が行ったパソコンの操作内容を時系列で記録したデータである。パソコンの操作ログ３１０には、ＩＤ３１１、時刻３１２、アプリケーション名３１３、操作対象情報３１４、操作内容３１５、入力キー情報３１６、カーソル位置３１７、ファイルプロパティ３１８、などのフィールド情報が含まれる。
操作対象情報３１４には、例えば、ドキュメント文書であれば、ファイルの保存されているパス名とファイル名などの情報が格納される。また、Ｗｅｂ閲覧であれば、ＵＲＬおよびＷｅｂページタイトルが、メールソフトであれば、送信相手および件名などの情報が、それぞれ、格納される。
【００２２】
なお、操作ログとして収集するフィールド情報はこれらに限られるものではない。例えば、ドキュメント文書やＷｅｂページの全文、メールの本文や添付ファイル名、マウス操作がなされたＧＵＩパーツ情報（メニュー項目名やボタン名など）などを収集し、新たなフィールド情報として追加することも可能である。
【００２３】
図３（ｂ）は、図３（ａ）に示されているパソコン操作ログ３１０を分類したタスクの一覧の一例である。
タスク一覧３２０は、作業者が行ったタスクの履歴を時系列で記録したデータである。タスク一覧３２０は、学習モデル１４２を生成していく際に使用される。
タスク一覧３２０には、ＩＤ３２１、開始時刻３２２、終了時刻３２３、タスク名３２４などのフィールド情報が含まれる。そして、図３（ａ）のパソコン操作ログ３１０と図３（ｂ）のタスク一覧３２０とを参照することで、各タスクの実行時間内（開始時刻３２２から終了時刻３２３まで）にあるパソコン操作ログ３１０のレコードが、正解ラベルであるタスクと紐づけられる。
【００２４】
このようにして得られた正解ラベルと対応するパソコン操作ログ３１０に基づいて、分類推定部１４０は入力データのタスク分類を行う。そして、タスク分類の推定を行う際には、推定を行う対象であるパソコン操作ログを入力すると、学習済みの分類器により、最も信頼度の高いタスクを推定することができる。なお、分類器を学習する際の機械学習として用いる分類手法はさまざま考えられるため、各々の分類手法に用いる機械学習アルゴリズムに応じた適切な学習データを生成する必要がある。
【００２５】
＜タスク分類に用いる機械学習アルゴリズムの一例＞
上述したパソコン操作ログ３１０からなる入力データをタスク分類する際の機械学習アルゴリズムには、入力データに含まれる要素の状態に注目する各種の公知の手法を適用することができる。
ここで、入力データに含まれる要素とは、具体的には、パソコン操作ログ３１０に含まれる単語（例えば、図６で後述する、「表計算ソフト」、「ＹＹＹ」）などである。また、要素の状態とは、例えば、「単語の出現頻度」、「単語の出現パターン」、「単語の出現順序（連続性）」、などである。そして、それぞれの機械学習アルゴリズムには、どのような要素の状態に注目するかという特徴がある。
【００２６】
単語の出現頻度に注目する機械学習アルゴリズムとしては、ＢｏＷ（Bags of Words）あるいはＳＶＭ（Support Vector Machine）というアルゴリズムを用いることができる。
ＢｏＷは、各正解ラベルに紐づけられたデータ中に出現する語句の出現回数をカウントし、それぞれのラベルに特徴的な語句を学習していく手法である。この場合には、共通して高い頻度で出現する語句を排除して、各正解ラベルでのみ高い頻度で出現するような語句が集まるように、入力データをクレンジング処理することが望ましい。
ＳＶＭは、操作ログに出現する単語の特徴ベクトルを算出し、正解ラベルと特徴ベクトルの関係に基づいて、２つのラベルを分類する境界を見つける分類器を生成する手法である。そして全正解ラベル数分の分類器を生成し、それぞれの分類器で出力される評価値が最も高いものを分類結果とするものである。この場合においても、入力データを各正解ラベルでのみ高い頻度で出現するような特徴ベクトルを持つ単語が集まるような学習データにクレンジング処理することが望ましい。
【００２７】
単語の特徴パターンに注目する機械学習アルゴリズムとしては、画像分類でよく用いられるようなＣＮＮ（Convolution Neural Network）というアルゴリズムを用いることができる。
ＣＮＮは、所定時間あるいは所定数のレコードを１枚の画像データのようにして扱い、正解ラベルに紐づいた特徴を抽出するように学習を行う手法である。この場合には、入力データを一連のレコードデータ中に特徴が集中して現れるような学習データにクレンジング処理することが望ましい。
【００２８】
入力データの連続性に注目する機械学習アルゴリズムとしては、自動翻訳や対話文生成などでよく用いられるような、時系列データを扱うアルゴリズムを用いることができる。例えば、ＲＮＮ（Recurrent Neural Network）やＬＳＴＭ（Long Short Term Memory）などの機械学習アルゴリズムがこれに該当する。
ＲＮＮやＬＳＴＭは、共に、作業したレコードの順番を学習し、それぞれのタスクで行われる作業手順の特徴を学習していく手法である。この場合には、入力データを大まかな作業手順が把握しやすいような学習データにクレンジング処理することが望ましい。
【００２９】
＜入力データのクレンジング処理の詳細＞
上述のような機械学習アルゴリズムを用いたタスク分類を行う際の、クレンジング処理部１３０が行う入力データのクレンジング処理の詳細について、図２（ｂ）を用いて説明する。
【００３０】
図２（ｂ）のフローチャートのＳ２３１において、クレンジング処理部１３０は、図２（ａ）のＳ２２０で選択された分類推定部１４０において使用される機械学習アルゴリズムの特徴を、図２（ｃ）に示されるアルゴリズムデータベース１３１から取得する。
【００３１】
Ｓ２３２において、クレンジング処理部１３０は、機械学習アルゴリズムがパソコン操作ログ３１０中に出現する単語の出現頻度に基づいて分類を行う手法であるか否かを判定する。
機械学習アルゴリズムがこれに該当する場合（例えば、ＢｏｗやＳＶＭである場合）、Ｓ２３３へ進む。該当しない場合、Ｓ２３４へ進む。
【００３２】
Ｓ２３３において、クレンジング処理部１３０は、単語の出現頻度に特徴を出すクレンジング処理を実行する。
上述したＢｏｗやＳＶＭの場合では、正解ラベルへの出現頻度に特徴を持たせるために、クレンジング処理として、複数の正解ラベルに共通したデータを削除するようなデータ加工処理をする。
【００３３】
例えば、図３（ａ）および（ｂ）に示した入力データを用いて、タスク毎に出現した語句の出現回数をカウントし、タスク毎の出現語句リストを生成する。
図６の（ａ）は、タスク毎に生成された出現語句リストの一例である。（ａ１）はプロジェクトＡ（定例会議）についての出現語句リストであり、（ａ２）はプロジェクトＢ（資料作成）についての出現語句リストである。出現語句リストは、出現語句３３２と出現回数３３３とが紐づけられて記録されている。
この情報から、プロジェクトＡとプロジェクトＢというタスクに対しては、「表計算ソフト」と「ｄａｔａ」という語句が共通して出現していることが分かる。そこで、プロジェクトＡのタスクから、ＩＤ３３１がｔａ０１（表計算ソフト）とｔａ０４（ｄａｔａ）の出現語句を削除する。また、プロジェクトＢのタスクからｔｂ０３（表計算ソフト）とｔｂ０４（ｄａｔａ）の出現語句を削除する。
【００３４】
これにより、図６の（ａ）に示されるような出現語句リストから、図６の（ｂ）に示されるように、各タスクに関連性の高い語句のみを抽出することができる。ここで、（ｂ１）はプロジェクトＡ（定例会議）について、クレンジング処理した後の出現語句リストであり、（ｂａ２）はプロジェクトＢ（資料作成）について、クレンジング処理した後の出現語句リストである。
【００３５】
Ｓ２３４において、クレンジング処理部１３０は、機械学習アルゴリズムが一定時間内での操作ログ内容の特徴パターンに基づいて分類を行う手法であるか否かを判定する。
機械学習アルゴリズムがこれに該当する場合（例えば、ＣＮＮである場合）、Ｓ２３５へ進む。該当しない場合は、Ｓ２３６へ進む。
【００３６】
Ｓ２３５において、クレンジング処理部１３０は、特徴パターンを検出しやすくするようなクレンジング処理を実行する。
上述したＣＣＮの場合では、特徴パターンを検出しやすくするために、クレンジング処理として、フィールド情報の並べ方や適切なレコードの選別などのデータ加工処理をする。
【００３７】
例えば、図３（ａ）のパソコン操作ログ３１０において、ＩＤ３１１がａ００７とａ００９〜ａ０１１のレコードでは、アプリケーションとしてデータ解析ソフトが使用されている。しかし、その途中で、ファイルビューアに対する操作（ＩＤがａ００８のレコード）が単発で短時間行われている。このような単発な短時間のレコードを削除することにより、特徴を集中させることができる。
あるいは、短時間で処理が終わるレコードと、長時間処理が継続しているレコードの重みが考慮されるように、作業時間に応じたデータ数の増減などのデータの正規化処理をすることもできる。例えば、図３（ａ）のパソコン操作ログ３１０において、５秒の作業時間であるａ００６のレコードと比較して、５分の作業時間であるａ００７のレコードに、作業時間に応じた重みづけをすることもできる。これにより、作業時間の異なるレコードについて、１レコードとして同等に扱うのではなく、作業時間の重みという特徴を付与することが可能となる。
これにより、クレンジング処理されたデータとして、図６の（ｃ）に示されるようなデータが生成される。
【００３８】
Ｓ２３６において、クレンジング処理部１３０は、機械学習アルゴリズムが操作ログの連続性（レコードの順番）に基づいて分類を行う手法であるか否かを判定する。
機械学習アルゴリズムがこれに該当する場合（例えば、ＲＮＮやＬＳＴＭである場合）、Ｓ２３７へ進む。該当しない場合、Ｓ２３８へ進む。
【００３９】
Ｓ２３７において、クレンジング処理部１３０は、連続性の傾向が見えやすくなるクレンジング処理を実行する。
上述したＲＮＮやＬＳＴＭの場合では、作業手順の特徴を大まかに抽出できるようにするために、クレンジング処理として、同一操作対象へのレコードの連続出現回数を制限するような間引き処理を行うなどのデータ加工処理をする。
【００４０】
例えば、図３（ａ）のパソコン操作ログ３１０において、ＩＤ３１１がａ００９〜ａ０１１のレコードでは、約９０秒の間に連続してデータ解析ソフトへの操作が行われている。これに対して、所定時間（例えば、１分）での操作が１回となるように間引きを行うと、ａ０１０のレコードが削除されるため、連続出現回数の調整を行うことができる。また、ａ００６のような処理時間が所定時間より短いレコードを削除した上で、間引き処理を行ってもよい。
これにより、クレンジング処理されたデータとして、図６の（ｄ）に示されるようなデータが生成される。
【００４１】
Ｓ２３８において、クレンジング処理部１３０は、Ｓ２３７までの処理によってクレンジング処理されたデータを、分類推定部１４０の機械学習アルゴリズムと紐づけて、クレンジング後データ１７０として保存する。
以上のようなクレンジング処理が終了すると、図２（ａ）のＳ２４０へ戻って、処理が再開される。
【００４２】
以上、入力データとしてパソコン操作ログ３１０を用いたタスク分類を例として説明した。但し、入力データとしては、これ以外にも、作業者の会話、通話履歴、行動履歴や行動スケジュールなどの作業者の行動に関する情報を、パソコン操作ログ、録画や録音などを含む各種形式で、記録したデータであってもよい。
また、入力データを分類するアルゴリズム、各々のアルゴリズムで学習させる観点、データのクレンジング方法などに関しても、上記に限られるものではなく、さまざまな状況に対応させることが可能である。
【００４３】
＜学習モデル生成部１４１について＞
図４は、分類推定部１４０の学習モデル生成部１４１において、学習モデル１４２を生成する処理を示すフローチャートである。
【００４４】
Ｓ４１０において、分類推定部１４０の学習モデル生成部１４１は、クレンジング処理部１３０で生成されたクレンジング後データ１７０を学習データとして取得する。
【００４５】
Ｓ４２０において、学習モデル生成部１４１は、学習データと各学習データに付与されたタスクに基づいて、機械学習アルゴリズムを用いて学習モデルを生成する。
学習モデルは、１つの学習データ、あるいは、所定時間内や所定量の複数の学習データに対して、分類対象である全タスクとの評価値を推定するためのモデルである。入力データとタスクとを関連付けて学習させることで、未知の入力データに対しても、各タスクとの評価値を推定できるようになる。
【００４６】
Ｓ４３０において、学習モデル生成部１４１は、Ｓ４２０で生成された学習モデルを用いた際の分類推定の精度が十分であるか否かを判定する。
分類推定精度が十分であると判定された場合には、Ｓ４４０へ進む。推定精度が不十分であると判定された場合には、処理を終了する。
なお、分類推定精度を求めるには、例えば、交差検証手法を用いることができる。交差検証手法では、学習データを学習用データと検証用のデータに分け、学習用データとして割り当てた学習データに基づいて学習モデルを生成する。そして、検証用データとして割り当てた学習データが正解タスクとして出力される割合を判定することにより、学習モデルの精度を算出する。
【００４７】
Ｓ４４０において、学習モデル生成部１４１は、Ｓ４３０で生成された学習モデルを、タスク分類用の学習モデル１４２として更新する。
これにより、図４のフローチャートは終了する。
【００４８】
＜学習モデル実行部１４３について＞
図５は、分類推定部１４０の学習モデル実行部１４３において、入力部１２０より取得した入力データに対する分類推定処理を示すフローチャートである。
【００４９】
Ｓ５１０において、学習モデル実行部１４３は、クレンジング処理部１３０で生成された解析対象となる学習データをクレンジング後データ１７０から取得する。
【００５０】
Ｓ５２０において、学習モデル実行部１４３は、取得した解析対象となる学習データについて、事前に生成済みの学習モデル１４２を用いて分類されるタスクを推定する。
分類されるタスクを推定する際には、解析対象となる学習データと、分類対象の各タスクとの関連度を表す評価値が合わせて出力される。なお、１つの入力データに対して１つのタスクを推定してもよく、また、所定時間内や所定量の複数の入力データに対して１つのタスクを推定してもよい。
【００５１】
Ｓ５３０において、学習モデル実行部１４３は、Ｓ５２０で推定された評価値に基づいて、最大の評価値であるタスクを、解析対象となる学習データに対するタスクの推定結果として決定し、分類推定結果１４４として出力する。
【００５２】
以上のように、本実施形態においては、複数の機械学習アルゴリズムを用いて分類判定を行う手段において、それぞれの機械学習アルゴリズムに応じた入力データのクレンジング処理を実行する。
これにより、機械学習アルゴリズムに適した学習データを生成することができる。また、複数の機械学習アルゴリズムに応じて入力データをそれぞれ集めたりする手間を削減することができるため、学習モデルの生成にかかる時間の削減や、精度の向上につなげることができる。
【００５３】
＜第２の実施形態＞
第１の実施形態では、各機械学習アルゴリズムに対して入力データを適切にクレンジング処理して学習データを生成するデータクレンジング処理を提供した。
これに対して、第２の実施形態では、さらに、すべての機械学習アルゴリズムにとって共通する不適切な入力データをクレンジング処理する、共通データクレンジング処理を提供する。
【００５４】
第２の実施形態においても、第１の実施形態において用いた図３（ａ）に示されるパソコン操作ログ３１０を用いたタスク分類を例に説明する。
図３（ａ）に示されるパソコン操作ログ３１０の中には、有効なフィールド情報が含まれないレコード（欠損レコード）や、すべてのタスクに共通して現れるようなレコード（重複レコード）が存在する。そこで、このような欠損レコードや重複レコードを削除する共通データクレンジング処理を行う。
【００５５】
例えば、図３（ａ）のＩＤ３１１がａ００５のレコードでは、メールソフトを使って新規作成を行っていることは分かるが、送信相手や件名などは不明である。そのため、このレコードは有効ではないとして、削除することとする。
また、事前に指定された所定の単語（キーワード）を含むレコード（指定レコード）を削除したり、指定レコードを特定のタスクに割り当てたりするなどのクレンジング処理を行ってもよい。
【００５６】
また、パソコン操作ログ３１０に対し正解ラベルであるタスクを付与する際は、例えば「９：００〜１０：００：プロジェクトＡ業務」というように一定時間内のレコードに対してタスクがまとめて付与されることがある。しかし、実際には、この間にも割り込みによって作業者が別の操作を行っているケースも多々ある。このような各タスクに対して明らかに関係ない業務に関するレコードについては、あらかじめ検出して削除するような、共通クレンジング処理をしてもよい。
【００５７】
なお、共通データクレンジング処理は、これらに限られず、例えば、所定時間より短い実行時間のレコードを削除するような処理など、さまざまな方法をとることができる。また、実施形態１と同様に、想定するユースケースや使用するデータも、これらに限られるものではない。
このように、実施形態２においては、入力データに対する共通クレンジング処理を行うことにより、すべての機械学習アルゴリズムに対して学習モデルを生成する精度を向上させることができる。
【００５８】
（その他の実施形態）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
また、本発明は、複数の機器から構成されるシステムに適用しても、１つの機器からなる装置に適用してもよい。
本発明は上述の実施形態に限定されるものではなく、本発明の趣旨に基づき種々の変形（各実施形態の有機的な組合せを含む）が可能であり、それらを本発明の範囲から除外するものではない。すなわち、上述の各実施形態及びその変形例を組み合わせた構成もすべて本発明に含まれるものである。
【符号の説明】
【００５９】
１１０      共通入力データ
１２０      入力部
１３０      クレンジング処理部
１３１      アルゴリズムデータベース
１３２      クレンジング処理実行部
１４０      分類推定部
１４１      学習モデル生成部
１４２      学習モデル
１４３      学習モデル実行部
１４４      分類推定結果
１５０      出力判定部
１６０      出力部
１７０      クレンジング後データ
【図１】
2020038514.tif 000003
【図２】
2020038514.tif 000004
【図３】
2020038514.tif 000005
【図４】
2020038514.tif 000006
【図５】
2020038514.tif 000007
【図６】
2020038514.tif 000008