(57)【要約】【課題】データの分類精度を向上させることを課題とする。【解決手段】学習装置は、単一のラベルが付与され、当該単一のラベルが付与された期間で動きが変動するデータを取得する。そして、学習装置は、記データを複数の区間に分割した要素ごとにアトラクタを生成する。続いて、学習装置は、生成したアトラクタから要素ごとにベッチ系列を算出する。その後、学習装置は、算出した要素ごとのベッチ系列の集合としての特徴を学習する。【選択図】図１
2020091756.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータが、
単一のラベルが付与され、当該単一のラベルが付与された期間で動きが変動するデータを取得し、
前記データを複数の区間に分割した要素ごとにアトラクタを生成し、
生成したアトラクタから要素ごとにベッチ系列を算出し、
算出した要素ごとのベッチ系列の集合としての特徴を学習する
処理を実行することを特徴とする学習方法。
【請求項２】
前記学習する処理は、前記要素ごとのベッチ系列をクラスタリングし、クラスタリングされた各クラスタに属する前記要素の数を用いた特徴ベクトルを生成し、前記要素ごとの特徴ベクトルを入力として機械学習を実行することを特徴とする請求項１に記載の学習方法。
【請求項３】
前記学習する処理は、前記要素ごとのベッチ系列の統計量として、平均、分散、尖度または歪度のいずれか一つまたは複数を算出し、算出された前記要素ごとの統計量を入力として機械学習を実行することを特徴とする請求項１に記載の学習方法。
【請求項４】
前記取得する処理は、作業員が装着するウェアラブルセンサから単位時間分の時系列データを取得し、
前記生成する処理は、前記単位時間分の時系列データを複数の区間に分割した要素ごとにアトラクタを生成し、
前記算出する処理は、前記アトラクタから要素ごとにベッチ系列を算出し、
前記学習する処理は、前記要素ごとのベッチ系列から特徴量を算出し、前記特徴量を用いて、前記作業員の作業内容を分類する分類モデルを学習することを特徴とする請求項１に記載の学習方法。
【請求項５】
前記作業員の前記ウェアラブルセンサから取得された複数の前記時系列データそれぞれから前記特徴量を算出し、
算出された各特徴量を、学習済みの前記分類モデルに入力して、各分類結果を取得し、
前記各分類結果に基づいて、前記作業員の作業日報を生成する処理を、前記コンピュータが実行することを特徴とする請求項４に記載の学習方法。
【請求項６】
コンピュータに、
単一のラベルが付与され、当該単一のラベルが付与された期間で動きが変動するデータを取得し、
前記データを複数の区間に分割した要素ごとにアトラクタを生成し、
生成したアトラクタから要素ごとにベッチ系列を算出し、
算出した要素ごとのベッチ系列の集合としての特徴を学習する
処理を実行させることを特徴とする学習プログラム。
【請求項７】
単一のラベルが付与され、当該単一のラベルが付与された期間で動きが変動するデータを取得する通信部と、
前記データを複数の区間に分割した要素ごとにアトラクタを生成し、生成したアトラクタから要素ごとにベッチ系列を算出する系列生成部と、
算出した要素ごとのベッチ系列の集合としての特徴を生成する生成部と、
生成した前記特徴を学習する学習部と
を有することを特徴とする学習装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、学習方法、学習プログラムおよび学習装置に関する。
【背景技術】
【０００２】
時系列データを解析してデータの異常に対応した変化を検知する技術として、ＴＤＡ（Topological  Data  Analysis）を用いた解析手法が知られている。例えば、時系列データを入力とし、小区分に区切ったデータから有限個のアトラクタである疑似アトラクタにパーシステントホモロジ変換（ＰＨ変換）を実行してベッチ数を算出する。そして、ベッチ数を用いたベッチ系列を特徴ベクトルとして機械学習を実行して学習モデルを生成する。その後、学習済みの学習モデルを用いて、時系列データから異常を検出する。この手法は、データの細かい動きの特徴を抽出することに適しており、例えば歩く、走るなどであれば１歩から数歩分の時間単位でアトラクタを生成することで、特徴を適切に抽出する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】国際公開第２００６／１３７１４２号
【特許文献２】特開平１１−１４２４２５号公報
【特許文献３】特開２０１８−９２３４９号公報
【特許文献４】特開２０１７−９７６４３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、同一ラベル内でも様々な特徴をもつ時間波形が存在する場合がある。例えば人の作業内容の分類などを対象とした場合、同じ作業を示すラベル内で複数の動作が存在する場合がある。例えば、梱包作業というラベルの中には、箱の組み立て、製品や緩衝材詰め、ラッピングなどの作業詳細が含まれていることがある。このように同一ラベル内に複数の特徴をもつ時間波形が混在する場合、ラベルの単位時間でアトラクタを生成すると各特徴が他の特徴に埋もれてしまい、効果的なベッチ系列を抽出することができず、学習精度が低下する。
【０００５】
図２０は、同一ラベル内に複数の作業が混在する例を説明する図である。図２０には、１つのラベル「検品作業」に複数の作業詳細「製品Ａを引き取る、製品Ａの長さを図るなど」が含まれている場合を示す。これらの場合、複数の作業に１つのラベル付けがされているので、同一ラベル内で動きが変動するような状況が存在することになる。したがって、ラベルの単位時間で１アトラクタ、１ベッチ系列に変換するとそれぞれの特徴同士が埋もれてしまい、有益な特徴が得られにくい。
【０００６】
また、異なる複数の形状のアトラクタが重なり合うことで特徴を抽出しにくくなるので、ラベル内の特定箇所のデータの特徴を当該ラベルの特徴とする手法も考えられる。図２１は、同一ラベル内の特定箇所から特徴を抽出する例を説明する図である。図２１に示すように、ラベル内の最初の数分のデータの特徴を当該ラベルの特徴とすることも考えられる。しかし、特定箇所のデータのみ抽出しても、当該特定がラベル内の代表的な特徴ではない可能性があり、有効とはいえない。また、同じ作業でも作業の区切りとラベルの単位時間とが完全に一致しているとは限らず、特定箇所のデータのみでは分類できない。
【０００７】
なお、作業詳細ごとにラベル付けを行うことも考えられるが、膨大な作業詳細の１つ１つを正確に分類してラベル付けを行うことは、専門家であっても時間がかかり過ぎるので、現実的ではない。
【０００８】
一つの側面では、データの分類精度を向上させることができる学習方法、学習プログラムおよび学習装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
第１の案では、学習方法は、コンピュータが、単一のラベルが付与され、当該単一のラベルが付与された期間で動きが変動するデータを取得する処理を実行する。学習方法は、コンピュータが、前記データを複数の区間に分割した要素ごとにアトラクタを生成する処理を実行する。学習方法は、コンピュータが、生成したアトラクタから要素ごとにベッチ系列を算出する処理を実行する。学習方法は、コンピュータが、算出した要素ごとのベッチ系列の集合としての特徴を学習する処理を実行する。
【発明の効果】
【００１０】
一つの側面では、データの学習精度を向上させることができる。
【図面の簡単な説明】
【００１１】
【図１】図１は、実施例１にかかる学習装置を説明する図である。
【図２】図２は、実施例１にかかる学習装置の機能構成を示す機能ブロック図である。
【図３】図３は、入力データの一例を示す図である。
【図４】図４は、時系列データの一例を示す図である。
【図５】図５は、小区間データの一例を示す図である。
【図６】図６は、小区間ごとのベッチ系列の一例を示す図である。
【図７】図７は、各入力データの特徴量の一例を示す図である。
【図８】図８は、学習対象とする時系列データの一例を示す図である。
【図９】図９は、パーシステントホモロジについて説明するための図である。
【図１０】図１０は、バーコードデータと生成される連続データとの関係について説明するための図である。
【図１１】図１１は、区間分割と疑似アトラクタの生成を説明する図である。
【図１２】図１２は、特徴量の抽出を説明する図である。
【図１３】図１３は、学習例を説明する図である。
【図１４】図１４は、学習後の分類例を説明する図である。
【図１５】図１５は、学習処理の流れを示すフローチャートである。
【図１６】図１６は、特徴量抽出の別例を説明する図である。
【図１７】図１７は、システム適用例（学習フェーズ）を説明する図である。
【図１８】図１８は、システム適用例（実践フェーズ）を説明する図である。
【図１９】図１９は、ハードウェア構成例を説明する図である。
【図２０】図２０は、同一ラベル内に複数の作業が混在する例を説明する図である。
【図２１】図２１は、同一ラベル内の特定箇所から特徴を抽出する例を説明する図である。
【発明を実施するための形態】
【００１２】
以下に、本願の開示する学習方法、学習プログラムおよび学習装置の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。また、各実施例は、矛盾のない範囲内で適宜組み合わせることができる。
【実施例１】
【００１３】
［全体構成］
図１は、実施例１にかかる学習装置１０を説明する図である。図１に示す学習装置１０は、トポロジカルデータ解析を用いてデータを分析する機械学習を実行するコンピュータ装置の一例である。この学習装置１０は、時系列データをアトラクタと呼ばれる図形に変換し、ＴＤＡ処理を用いてその図形の特徴を抽出することで、機械学習等に入力するための特徴量を生成する。
【００１４】
その後、学習装置１０は、特徴量を用いて、機械学習や深層学習（ディープラーニング（ＤＬ）・Deep  Learning）などの学習処理を実行して、学習データを事象ごとに正しく判別（分類）できるように、ニューラルネットワーク（ＮＮ：Neural  Network）などを学習する。
【００１５】
ここで、同一ラベル内でも様々な特徴をもつ入力データの場合、一般的なＴＤＡ処理では、入力データの特徴が正確に抽出できない場合がある。そこで、実施例１にかかる学習装置１０は、ラベル付けされた単位時間の入力データを複数の小区間に分割し、小区間ごとにアトラクタを生成し、生成したアトラクタからＴＤＡ処理を実行してベッチ系列を算出する。続いて、学習装置１０は、算出された複数のベッチ系列にクラスタリングを実行することで、単位時間ごとに複数生成されたベッチ系列の集合としての特徴を特徴ベクトルとして抽出する。このとき、学習装置１０は、特徴ベクトルを抽出するクラスタリングのモデルを記憶しておく。そして、学習装置１０は、抽出された特徴ベクトルを機械学習へ入力して、学習モデルを構築する。
【００１６】
その後、学習が終了すると、学習装置１０は、分類対象データに対して、学習時と同様の処理を実行して特徴ベクトルを抽出する。具体的には、学習装置１０は、分類対象データを複数の小区間に分割し、小区間ごとにアトラクタを生成し、生成したアトラクタからＴＤＡ処理を実行してベッチ系列を算出する。そして、学習装置１０は、学習時に記憶しておいたクラスリングのモデルを用いて、ベッチ系列から特徴ベクトルを抽出する。その後、学習装置１０は、分類対象データの特徴ベクトルを、学習済みの学習モデルに入力し、出力結果に基づいて、分類対象データを分類する。
【００１７】
このように、学習装置１０は、ラベル付けされた単位時間内に複数の異なる特徴が存在するような分類問題について、単位時間内に存在する特徴の分布を特徴量として抽出することができるので、データの学習精度を向上させることができる。なお、図１では、実施例１では、学習装置１０が学習処理と分類処理とを実行する例で説明するが、これに限定されるものではなく、別々の装置で実行することもできる。
【００１８】
［機能構成］
図２は、実施例１にかかる学習装置１０の機能構成を示す機能ブロック図である。図２に示すように、学習装置１０は、通信部１１、記憶部１２、制御部２０を有する。
【００１９】
通信部１１は、他の装置との間の通信を制御する処理部であり、例えば通信インタフェースなどである。例えば、通信部１１は、学習データや分類対象データなどを管理装置から受信し、学習結果や分類結果などを管理装置に送信する。
【００２０】
記憶部１２は、データや制御部２０が実行するプログラムなどを記憶する記憶装置の一例であり、例えばメモリやハードディスクなどである。この記憶部１２は、設定値ＤＢ１３、入力データＤＢ１４、小区間データＤＢ１５、ベッチ系列ＤＢ１６、特徴量ＤＢ１７、学習結果ＤＢ１８、モデルＤＢ１９を記憶する。
【００２１】
設定値ＤＢ１３は、入力データを分割する際の分割数などを記憶するデータベースである。ここで記憶される情報は、任意に設定変更することができる。
【００２２】
入力データＤＢ１４は、単一のラベルが付与された入力データ、すなわち単一のラベルが付与された期間で動きが変動する学習データを記憶するデータベースである。図３は、入力データの一例を示す図である。図３に示すように、入力データＤＢ１４は、「時刻、ラベル、データ」を対応付けた入力データに関する情報を記憶する。ここで記憶される「時刻」は、データが取得された時刻を示す。「ラベル」は、データに付与される、データの分類先を示す情報である。「データ」は、学習対象のデータである。図３の場合、時刻「１０：００から１０：１０」に取得された、学習データである単位時間分の時系列データにはラベル「ラベルＡ」が付与されていることを示す。
【００２３】
本実施例においては、学習データの一例として、心拍数の変化を示す時系列データなどの周期的な性質を有する時系列データを用いて説明する。図４は、時系列データの一例を示す図である。図４は心拍数の変化を示す時系列データであり、縦軸が心拍数（beats  per  minute）を表し、横軸は時間を表す。
【００２４】
なお、ここでは連続データとして心拍数の時系列データを例示したが、このような時系列データに限られるわけではない。例えば、心拍数以外の生体データ（脳波、脈拍或いは体温などの時系列データ）、ウェアラブルセンサのデータ（ジャイロセンサ、加速度センサ或いは地磁気センサなどの時系列データ）等であってもよい。また、金融データ（金利、物価、国際収支或いは株価などの時系列データ）、自然環境のデータ（気温、湿度或いは二酸化炭素濃度などの時系列データ）、又は社会データ（労働統計或いは人口統計などのデータ）等であってもよい。
【００２５】
小区間データＤＢ１５は、後述する学習処理部３０等によって生成されるデータであって、入力データを小区間に分割した要素ごとのデータである小区間データを記憶するデータベースである。図５は、小区間データの一例を示す図である。図５に示すように、小区間データＤＢ１５は、「時刻、ラベル、小区間番号、データ」を対応付けた小区間データに関する情報を記憶する。
【００２６】
ここで記憶される「時刻」は、分割元の入力データが取得された時刻を示す。「ラベル」は、分割元の入力データに付与されるラベルを示す。「小区間番号」は、分割された小区間を識別する識別子である。「データ」は、生成された小区間データを示す。図５の場合、時刻「１０：００から１０：１０」に取得された入力データが複数の小区間分の時系列データに分割されたことを示す。
【００２７】
ベッチ系列ＤＢ１６は、制御部２０によって生成された、各小区間データに対応する各ベッチ系列を記憶するデータベースである。図６は、小区間ごとのベッチ系列の一例を示す図である。図６に示すように、ベッチ系列ＤＢ１６は、「時刻、ラベル、小区間番号、データ」を対応付けたベッチ系列に関する情報を記憶する。
【００２８】
ここで記憶される「時刻」は、ベッチ系列の生成元である入力データが取得された時刻を示す。「ラベル」は、ベッチ系列の生成元の入力データに付与されるラベルを示す。「小区間番号」は、分割された小区間を識別する識別子である。「データ」は、生成されたベッチ系列を示す。図６の場合、時刻「１０：００から１０：１０」に該当する複数の小区間分の時系列データそれぞれに対して、ベッチ系列が生成されたことを示す。
【００２９】
特徴量ＤＢ１７は、機械学習へ入力される特徴量を記憶するデータベースである。図７は、各入力データの特徴量の一例を示す図である。図７に示すように、特徴量ＤＢ１７は、「時刻、ラベル、データ」を対応付けた特徴量に関するデータを記憶する。
【００３０】
ここで記憶される「時刻」は、特徴量の生成元である入力データが取得された時刻を示す。「ラベル」は、特徴量の生成元である入力データに付与されるラベルを示す。「データ」は、生成された特徴量を示す。図７の場合、時刻「１０：００から１０：１０」に取得された「ラベルＡ」の入力データに対して、１つの特徴量「特徴ベクトル」が生成されたことを示す。
【００３１】
学習結果ＤＢ１８は、学習結果を記憶するデータベースである。例えば、学習結果ＤＢ１８は、制御部２０による学習データの判別結果（分類結果）、機械学習やディープラーニングによって学習された各種パラメータを記憶する。
【００３２】
モデルＤＢ１９は、ベッチ系列から特徴量を抽出するクラスタリングのモデル（以下では、クラスタモデルと記載する場合がある）を記憶するデータベースである。例えば、モデルＤＢ１９は、後述する学習処理部３０によって生成されたクラスモデルのパラメータなどを記憶する。
【００３３】
制御部２０は、学習装置１０全体の処理を司る処理部であり、例えばプロセッサなどである。この制御部２０は、学習処理部３０と分類処理部４０を有する。なお、学習処理部３０と分類処理部４０は、プロセッサなどが有する電子回路やプロセッサなどが実行するプロセスの一例である。
【００３４】
学習処理部３０は、分割部３１、系列生成部３２、生成部３３、学習部３４を有し、時系列データを分類する学習モデル（分類モデル）を構築する学習処理を実行する処理部である。
【００３５】
分割部３１は、入力データを分割する処理部である。具体的には、分割部３１は、入力データＤＢ１４から各単位時間分の時系列データを、設定値ＤＢ１３に記憶される分割数の小区間に分割して、小区間データを生成する。そして、分割部３１は、分割して得られたデータを小区間データＤＢ１５に格納する。
【００３６】
例えば、分割部３１は、入力データＤＢ１４から、時刻「１０：００から１０：１０」に取得された「単位時間分の時系列データ」を読み出す。そして、分割部３１は、「単位時間分の時系列データ」を分割数「Ｎ」で分割して、Ｎ個の小区間データを生成する。その後、分割部３１は、Ｎ個の小区間データそれぞれに、小区間番号「１、２、・・・、Ｎ」を付与して、小区間データＤＢ１５に格納する。
【００３７】
系列生成部３２は、小区間データそれぞれに対して、ＴＤＡ処理を実行してベッチ系列を生成する処理部である。例えば、系列生成部３２は、小区間データＤＢ１５から時刻「１０：００から１０：１０」に対応する各小区間データを取得する。そして、系列生成部３２は、取得した各小区間データからベッチ系列を生成し、時刻「１０：００から１０：１０」および小区間番号に対応付けて、各ベッチ系列をベッチ系列ＤＢ１６に格納する。
【００３８】
ここで、系列生成部３２は、対象となる各小区間データについて、当該小区間データから複数の擬似アトラクタを生成し、複数の疑似アトラクタそれぞれをパーシステントホモロジ変換して得られたベッチ数による複数のベッチ系列を生成する。例えば、系列生成部３２は、一般的な手法を用いてベッチ系列を生成することができる。一例を挙げると、系列生成部３２は、ベッチ数を計算する半径の区間［ｒｍｉｎ，ｒｍａｘ］をｍ−１等分し、各半径ｒｉ（ｉ＝１，・・・，ｍ）におけるベッチ数Ｂ（ｒｉ）を計算し、ベッチ数を並べた［Ｂ（ｒ１），Ｂ（ｒ２），Ｂ（ｒ３），・・・，Ｂ（ｒｍ）］のベッチ系列を生成する。
【００３９】
図８は、学習対象とする時系列データの一例を示す図である。図９は、パーシステントホモロジについて説明するための図である。図１０は、バーコードデータと生成される連続データとの関係について説明するための図である。
【００４０】
図８を用いて、疑似アトラクタの生成について説明する。例えば図８に示すような、関数ｆ（ｔ）（ｔは時間を表す）で表される連続データを考える。そして、実際の値としてｆ（１），ｆ（２），ｆ（３），・・・，ｆ（Ｔ）が与えられているとする。本実施の形態における疑似アトラクタは、連続データから遅延時間τ（τ≧１）毎に取り出されたＮ点の値を成分とする、Ｎ次元空間上の点の集合である。ここで、Ｎは埋め込み次元を表し、一般的にはＮ＝３又は４である。例えばＮ＝３且つτ＝１である場合、（Ｔ−２）個の点を含む以下の疑似アトラクタが生成される。
【００４１】
疑似アトラクタ＝｛（ｆ（１），ｆ（２），ｆ（３））、（ｆ（２），ｆ（３），ｆ（４））、（ｆ（３），ｆ（４），ｆ（５））、・・・、（ｆ（Ｔ−２），ｆ（Ｔ−１），ｆ（Ｔ））｝
【００４２】
続いて、系列生成部３２は、疑似アトラクタを生成し、パーシステントホモロジ変換を用いてベッチ系列へ変換する。なお、ここで生成されるアトラクタは、有限個の点集合であることから「疑似アトラクタ」と呼ぶこととする。
【００４３】
ここで、「ホモロジ」とは、対象の特徴をｍ（ｍ≧０）次元の穴の数によって表現する手法である。ここで言う「穴」とはホモロジ群の元のことであり、０次元の穴は連結成分であり、１次元の穴は穴（トンネル）であり、２次元の穴は空洞である。各次元の穴の数はベッチ数と呼ばれる。そして、「パーシステントホモロジ」とは、対象（ここでは、点の集合（Point  Cloud））におけるｍ次元の穴の遷移を特徴付けるための手法であり、パーシステントホモロジによって点の配置に関する特徴を調べることができる。この手法においては、対象における各点が球状に徐々に膨らまされ、その過程において各穴が発生した時刻（発生時の球の半径で表される）と消滅した時刻（消滅時の球の半径で表される）とが特定される。
【００４４】
図９を用いて、パーシステントホモロジをより具体的に説明する。ルールとして、１つの球が接した場合には２つの球の中心が線分で結ばれ、３つの球が接した場合には３つの球の中心が線分で結ばれる。ここでは、連結成分及び穴だけを考える。図９（ａ）のケース（半径ｒ＝０）においては、連結成分のみが発生し、穴は発生していない。図９（ｂ）のケース（半径ｒ＝ｒ1）においては、穴が発生しており、連結成分の一部が消滅している。図９（ｃ）のケース（半径ｒ＝ｒ２）においては、さらに多くの穴が発生しており、連結成分は１つだけ持続している。図９（ｄ）のケース（半径ｒ＝ｒ３）においては、連結成分の数は１のままであり、穴が１つ消滅している。
【００４５】
パーシステントホモロジの計算過程において、ホモロジ群の元（すなわち穴）の発生半径と消滅半径とが計算される。穴の発生半径と消滅半径とを使用することで、バーコードデータを生成することができる。バーコードデータは穴次元毎に生成されるので、複数の穴次元のバーコードデータを統合することで１塊のバーコードデータが生成できる。連続データは、パーシステントホモロジにおける球の半径（すなわち時間）とベッチ数との関係を示すデータである。
【００４６】
図１０を用いて、バーコードデータと生成される連続データとの関係について説明する。上段のグラフはバーコードデータから生成されるグラフであり、横軸が半径を表す。下段のグラフは連続データ（ベッチ系列と記載する場合がある）から生成されるグラフであり、縦軸はベッチ数を表し、横軸は時間を表す。上で述べたように、ベッチ数は穴の数を表しており、例えば上段のグラフにおいて破線に対応する半径の時には存在している穴の数が１０であるので、下段のグラフにおいては破線に対応するベッチ数も１０である。ベッチ数は、ブロック毎に計数される。なお、下段のグラフは疑似的な時系列データのグラフであるので、横軸の値自体が意味を持つわけではない。
【００４７】
図２に戻り、生成部３３は、各単位時間分の時系列データに対応する各小区間データから生成されたベッチ系列を用いて、各単位時間分の時系列データの特徴を示す特徴量を生成する処理部である。例えば、生成部３３は、ベッチ系列ＤＢ１６から、時刻「１０：００から１０：１０」に対応する各ベッチ系列を取得する。そして、生成部３３は、時系列データにおいて支配的な動きを特定するために、取得した各ベッチ系列を用いて特徴量を生成する。言い換えると、生成部３３は、時系列データにおいて作業内容の割合を特定する情報を生成する。その後、生成部３３は、時刻「１０：００から１０：１０」およびラベルに対応付けて、生成した特徴量を特徴量ＤＢ１７に格納する。
【００４８】
例えば、生成部３３は、ラベル毎に小区間数分のベッチ系列ができるので、ベッチ系列の集合としての特徴を抽出し、特徴ベクトルとする。例を挙げると、生成部３３は、ラベル毎に、ベッチ系列をクラスタリングしてクラスタ毎の数を計数し、クラスタ毎の数を並べた特徴ベクトルを生成する。
【００４９】
ここで、生成部３３は、特徴量を分類するクラスタモデルを生成して、クラスタモデルに関する各種パラメータ等をモデルＤＢ１９に格納する。そのクラスタモデルは、分類時に使用される。例えば、生成部３３は、各時系列データの各小区間データから生成された各ベッチ系列を用いた教師無学習によって、各ベッチ系列を各クラスタに分類するクラスタモデルを学習する。そして、生成部３３は、学習されたクラスタモデルを用いて、各時系列データに対して、対応する各ベッチ系列から特徴ベクトルを生成する。すなわち、生成部３３は、どのようなベッチ系列がどのクラスタに分類されるのかを特定できるクラスタモデルを生成する。なお、クラスタモデルの生成手法は、一例であり、一般的なクラスタリング技術を採用することができる。
【００５０】
学習部３４は、特徴量を用いて学習処理を実行し、学習モデルを構築する処理部である。例えば、学習部３４は、各入力データの特徴量である特徴ベクトルを特徴量ＤＢ１７から取得して、取得した各特徴ベクトルを機械学習に入力して学習処理を実行する。
【００５１】
例えば、学習部３４は、特徴ベクトルに基づき、時系列データの異常候補を抽出することで、時系列データの事象が判別できるように学習する。つまり、学習部３４は、ある時系列データを事象Ａ、別の時系列データを事象Ｂなどのように分類したり、時系列データの中から他とは異なるイベントの発生箇所を検出したりする。そして、学習部３４は、時系列データの特徴量から事象が分類できるようにＤＬ等によって学習し、学習結果を学習結果ＤＢ１８に格納する。学習の結果は、分類結果（すなわちＤＬ学習の出力）を含み、入力から出力を計算する際のニューラルネットワークの各種パラメータが含まれていてもよい。
【００５２】
また、学習手法は、教師無学習、教師有学習、半教師学習など各種の手法を採用することができる。教師無学習の場合、ＳＶＭ（Support  Vector  Machine）などを用いることができる。教師有学習の場合、入力データに設定されるラベルと特徴ベクトルとを入力データとして、教師有学習を実行することもできる。
【００５３】
分類処理部４０は、分割部４１、系列生成部４２、生成部４３、分類部４４を有し、学習済みの学習モデルを用いて、分類対象データの分類を実行する処理部である。なお、分割部４１、系列生成部４２、生成部４３は、分類対象データに対して、分割部３１、系列生成部３２、生成部３３それぞれと同様の処理を実行するので、詳細な説明は省略する。なお、生成部４３は、モデルＤＢ１９に記憶される各種パラメータを読み出してクラスタモデルを構築し、系列生成部４２から生成されたベッチ系列をクラスタモデルに入力して、クラスタモデルが出力する結果を特徴ベクトルとして抽出する。
【００５４】
分類部４４は、分類対象データに対応する特徴量（特徴ベクトル）を、学習済みの学習モデルに入力して、分類対象データの分類を実行する処理部である。例えば、分類部４４は、学習結果ＤＢ１８から学習結果のパラメータ等を読み込んで、学習済みの学習モデルを構築する。そして、分類部４４は、分割部４１、系列生成部４２、生成部４３等によって生成された分類対象データの特徴ベクトルを、学習済みの学習モデルに入力する。
【００５５】
その後、分類部４４は、学習済みの学習モデルの出力結果に基づいて、分類対象データを判別する。例えば、分類部４４は、出力結果が事象Ａと事象Ｂのうち事象Ａに属する場合は、事象Ａに分類し、出力結果として得られる事象Ａの確率と事象Ｂの確率のうち事象Ａの確率の方が高い場合は、事象Ａに分類する。なお、分類部４４は、分類結果をディスプレイなどの表示部に表示したり、管理装置に送信したりする。
【００５６】
［具体例］
次に、図１１から図１４を用いて具体例を説明する。図１１は、区間分割と疑似アトラクタの生成を説明する図である。図１２は、特徴量の抽出を説明する図である。図１３は、学習例を説明する図である。図１４は、学習後の分類例を説明する図である。なお、ここでは、１次のベッチ系列を算出する例で説明する。
【００５７】
具体例で用いる単位時間分の時系列データは、ラベル「検品作業」が付与されており、作業詳細として「製品Ａを引き取る」、「製品Ａの長さを測る」、「製品Ａの重さを量る」、「製品Ａを移動する」、「製品Ｂを引き取る」、「製品Ｂの長さを測る」、「製品Ｂの重さを量る」、「製品Ｂを移動する」が含まれるデータである。
【００５８】
まず、図１１に示すように、学習処理部３０は、ラベル「検品作業」が付与された単位時間分の時系列データを、予め定められた分割数に分割して、小区間データを生成する。続いて、学習処理部３０は、各小区間データから疑似アトラクタを生成し、各小区間データの１次ベッチ系列を生成する。
【００５９】
次に、図１２に示すように、学習処理部３０は、公知のクラスタリング手法を用いて、学習データの小区間のベッチをまとめてクラスタリングする。例えば、学習処理部３０は、クラスタ（１）からクラスタ（Ｎ）のＮ個に分類するクラスタリングを行い、各クラスタに属するベッチ系列の数を計数する。図１２の例では、学習処理部３０は、クラスタ（１）に属するベッチ系列の数を「９」、クラスタ（２）に属するベッチ系列の数を「６」、クラスタ（３）に属するベッチ系列の数を「４」、クラスタ（４）に属するベッチ系列の数を「０」などと計数する。
【００６０】
その後、学習処理部３０は、各クラスタの計数結果を特徴ベクトルとして、機械学習に入力して学習処理を実行する。図１２の例では、学習処理部３０は、クラスタ（１）に属するベッチ系列の数を「９」、クラスタ（２）に属するベッチ系列の数を「６」、クラスタ（３）に属するベッチ系列の数を「４」、クラスタ（４）に属するベッチ系列の数を「０」などを用いて、特徴ベクトル「９,６,４,０,０,・・」を生成する。そして、学習処理部３０は、図１１に示したラベル「検品作業」の時系列データの特徴量として特徴ベクトル「９,６,４,０,０,・・」を用いて、機械学習を実行する。
【００６１】
このように、学習処理部３０は、分割、ベッチ系列の生成、クラスタリングなどを実行して、各単位時間分の時系列データに対して特徴ベクトルを生成する。図１３に示すように、学習処理部３０は、ラベル「検品作業」が付与された単位時間分の時系列データに対しては、特徴ベクトル「９,６,４,０,０,・・」を生成し、これを入力として機械学習を実行する。また、学習処理部３０は、ラベル「梱包作業」が付与された単位時間分の時系列データに対しては、特徴ベクトル「６,０,０,４,９,・・」を生成し、これを入力として機械学習を実行する。
【００６２】
学習完了後、分類処理部４０は、学習済みの学習モデルを用いて分類処理を実行する。例えば、図１４に示すように、分類処理部４０は、分類対象データに対して、学習処理部３０と同様の分割、ベッチ系列の生成、クラスタリングなどを実行して、分類対象データに対応する特徴ベクトル「９,６,４,０,０,・・・」を生成する。そして、分類処理部４０は、生成した特徴ベクトル「９,６,４,０,０,・・・」を学習済みの学習モデルに入力して出力結果を得る。その後、分類処理部４０は、出力結果に基づいて、分類対象データを「検品作業」などと分類する。
【００６３】
［処理の流れ］
図１５は、学習処理の流れを示すフローチャートである。なお、学習後の分類処理も学習処理と同様の流れで実行できるので、詳細な説明は省略する。
【００６４】
図１５に示すように、学習処理部３０は、処理開始時が指示されると（Ｓ１０１：Ｙｅｓ）、入力データＤＢ１４から入力データを読み込む（Ｓ１０２）。
【００６５】
続いて、学習処理部３０は、読み込んだ単位時間分の入力データを小区間に分割し（Ｓ１０３）、各小区間データのベッチ系列を生成する（Ｓ１０４）。そして、学習処理部３０は、未処理の入力データが存在するか否かを判定する（Ｓ１０５）。
【００６６】
ここで、学習処理部３０は、未処理の入力データが存在する場合（Ｓ１０５：Ｙｅｓ）、Ｓ１０２以降を繰り返す。一方、学習処理部３０は、未処理の入力データが存在しない場合（Ｓ１０５：Ｎｏ）、各小区間データのベッチ系列から入力データの特徴量を生成する（Ｓ１０６）。
【００６７】
その後、学習処理部３０は、ベッチ系列から特徴量を生成する特徴量生成モデルであるクラスタモデルを生成して、クラスタモデルに関する情報をモデルＤＢ１９に保存する（Ｓ１０７）。そして、学習処理部３０は、各入力データの特徴量を用いて学習処理を実行する（Ｓ１０８）。
【００６８】
［効果］
上述したように、学習装置１０は、ラベル付けされた単位時間内に複数の異なる特徴が存在するような分類問題について、単位時間内に存在する特徴の分布を特徴量とすることができる。この結果、学習装置１０は、データそのままでは抽出できなかった特徴を抽出することができ、ＴＤＡを用いたデータ分析の適用範囲を広げることができる。また、学習装置１０は、専門家による細かなラベル付けを抑制することができ、データの分類速度の向上と分類精度の向上を両立させることができる。
【実施例２】
【００６９】
さて、これまで本発明の実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。
【００７０】
［特徴量の算出］
例えば、実施例１では、小区間データのベッチ系列をクラスタリングして特徴量を抽出する例を説明したが、これに限定されるものではない。例えば、学習装置１０は、小区間毎の特徴量の統計量を特徴量とすることもできる。このようにすることで、単位時間内の特徴の変動度合いやランダムな変動を除いた大まかな特徴の傾向を数値化できる。
【００７１】
図１６は、特徴量抽出の別例を説明する図である。図１６に示すように、学習装置１０は、ラベル「検品作業」が付与された単位時間分の時系列データを、予め定められた分割数に分割して、小区間データを生成する。続いて、学習処理部３０は、各小区間データから疑似アトラクタを生成し、各小区間データの１次ベッチ系列を生成する。
【００７２】
その後、学習装置１０は、各小区間データのベッチ系列の統計量を計算し、ラベル「検品作業」が付与された単位時間分の時系列データの特徴量とすることもできる。特徴量としては、平均、分散、尖度、歪度などを用いることができる。
【００７３】
［適用例］
次に、図１７と図１８を用いて、実施例１で説明した学習装置１０を適用したシステム例を説明する。図１７は、システム適用例（学習フェーズ）を説明する図である。図１８は、システム適用例（実践フェーズ）を説明する図である。このシステムは、倉庫内作業の作業日報の自動生成を行うシステムである。ここでは、学習処理部３０を有する学習装置１０と分類処理部４０を有する分類装置５０とを用いるシステム例で説明する。
【００７４】
図１７に示すように、学習装置１０は、各作業員（作業員Ａ〜Ｃ）が装着するジャイロセンサなどのウェアラブルセンサから無線通信で学習データを収集する。そして、管理者等は、学習データに１０分刻みで作業内容を特定するラベル（作業内容ラベル）を設定する。
【００７５】
続いて、学習装置１０は、収集したデータを５秒ごとの小区間に分割し、全小区間に対し疑似アトラクタを描画し、ベッチ系列を算出する。そして、学習装置１０は、全ベッチ系列でクラスタリングを行い、クラスタリングのモデルＣを生成する。その後、学習装置１０は、１０分ごと（ラベル単位）に１２０個のベッチ系列ができるので、各クラスタの数を特徴ベクトルとする。そして、学習装置１０は、上記特徴ベクトルを全データに対して算出し、ＳＶＭで学習して、作業内容を分類する分類モデル（モデルＳ）を生成する。
【００７６】
学習が完了すると、図１８に示すように、分類装置５０は、作業員Ａが装着するウェアラブルセンサから無線通信でデータを収集する。そして、分類装置５０は、収集したデータの１０分ごとのデータを５秒ごとに分割する。続いて、分類装置５０は、分割された全小区間に対し疑似アトラクタを描画し、ベッチ系列を算出する。
【００７７】
その後、分類装置５０は、モデルＣを用いて、収集データの１０分ごとの各クラスタ数を算出し、特徴ベクトルを作成する。そして、分類装置５０は、特徴ベクトルをモデルＳに入力して作業内容を分類する。例えば、分類装置５０は、作業員Ａに対して、９：００から１２：００は検品作業、１３：００から１７：００は梱包作業を行っていたことを特定することができる。
【００７８】
このようにして、分類装置５０は、作業員の指定日の１０分刻みの作業内容を自動で分類し、分類した結果を表示する作業日報を自動で作成することができる。したがって、作業員が１日の作業を思い出しながら作業日報を記述する手間を省略することができ、正確な作業日報を短時間で生成することができる。
【００７９】
［数値等］
また、上記実施例で用いた数値、ラベルの設定内容、各種設定値、疑似アトラクタの次元数等は、あくまで一例であり、任意に変更することができる。また、入力データや学習方法などもあくまで一例であり、任意に変更することができる。なお、特徴ベクトルは、特徴量の一例であり、ベッチ系列の特徴を示す情報であれば、他の情報を用いることもできる。
【００８０】
［システム］
上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【００８１】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散や統合の具体的形態は図示のものに限られない。つまり、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、学習処理と分類処理とを別々の装置で実現することもできる。
【００８２】
さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、ＣＰＵおよび当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【００８３】
［ハードウェア］
図１９は、ハードウェア構成例を説明する図である。図１９に示すように、学習装置１０は、通信装置１０ａ、ＨＤＤ（Hard  Disk  Drive）１０ｂ、メモリ１０ｃ、プロセッサ１０ｄを有する。また、図１９に示した各部は、バス等で相互に接続される。
【００８４】
通信装置１０ａは、ネットワークインタフェースカードなどであり、他のサーバとの通信を行う。ＨＤＤ１０ｂは、図２に示した機能を動作させるプログラムやＤＢを記憶する。
【００８５】
プロセッサ１０ｄは、図２に示した各処理部と同様の処理を実行するプログラムをＨＤＤ１０ｂ等から読み出してメモリ１０ｃに展開することで、図２等で説明した各機能を実行するプロセスを動作させる。すなわち、このプロセスは、学習装置１０が有する各処理部と同様の機能を実行する。具体的には、プロセッサ１０ｄは、学習処理部３０と分類処理部４０等と同様の機能を有するプログラムをＨＤＤ１０ｂ等から読み出す。そして、プロセッサ１０ｄは、学習処理部３０と分類処理部４０等と同様の処理を実行するプロセスを実行する。
【００８６】
このように学習装置１０は、プログラムを読み出して実行することで学習方法を実行する情報処理装置として動作する。また、学習装置１０は、媒体読取装置によって記録媒体から上記プログラムを読み出し、読み出された上記プログラムを実行することで上記した実施例と同様の機能を実現することもできる。なお、この他の実施例でいうプログラムは、学習装置１０によって実行されることに限定されるものではない。例えば、他のコンピュータまたはサーバがプログラムを実行する場合や、これらが協働してプログラムを実行するような場合にも、本発明を同様に適用することができる。
【符号の説明】
【００８７】
１０  学習装置
１１  通信部
１２  記憶部
１３  設定値ＤＢ
１４  入力データＤＢ
１５  小区間データＤＢ
１６  ベッチ系列ＤＢ
１７  特徴量ＤＢ
１８  学習結果ＤＢ
１９  モデルＤＢ
２０  制御部
３０  学習処理部
３１  分割部
３２  系列生成部
３３  生成部
３４  学習部
４０  分類処理部
４１  分割部
４２  系列生成部
４３  生成部
４４  分類部
【図１】
2020091756.tif 000003
【図２】
2020091756.tif 000004
【図３】
2020091756.tif 000005
【図４】
2020091756.tif 000006
【図５】
2020091756.tif 000007
【図６】
2020091756.tif 000008
【図７】
2020091756.tif 000009
【図８】
2020091756.tif 000010
【図９】
2020091756.tif 000011
【図１０】
2020091756.tif 000012
【図１１】
2020091756.tif 000013
【図１２】
2020091756.tif 000014
【図１３】
2020091756.tif 000015
【図１４】
2020091756.tif 000016
【図１５】
2020091756.tif 000017
【図１６】
2020091756.tif 000018
【図１７】
2020091756.tif 000019
【図１８】
2020091756.tif 000020
【図１９】
2020091756.tif 000021
【図２０】
2020091756.tif 000022
【図２１】
2020091756.tif 000023