(57)【要約】【課題】時系列データの詳細な分析を効率良く行うこと。【解決手段】付与装置１０は、複数の時系列データのそれぞれを複数のセグメントに分割する。また、付与装置１０は、複数の時系列データの各セグメントの特徴を基に、複数の時系列データのそれぞれにラベルを付与する。また、付与装置１０は、時系列データの所定のセグメントに、当該セグメントが属する時系列データに付与されたラベルを付与する。そして、分析装置２０は、付与装置１０からセグメントごとのラベルが付与された時系列データを受け取り、当該ラベルを利用して受け取った時系列データの分析を行う。【選択図】図１
2020140499.tif 000002
【特許請求の範囲】
【請求項１】
複数の時系列データのそれぞれを複数のセグメントに分割し、
前記複数の時系列データの各セグメントの特徴を基に、前記複数の時系列データのそれぞれにラベルを付与し、
前記時系列データの所定のセグメントに、当該セグメントが属する時系列データに付与されたラベルを付与する
処理をコンピュータが実行することを特徴とする付与方法。
【請求項２】
前記複数の時系列データのそれぞれにラベルを付与する処理における、前記複数のセグメントのそれぞれの重要度を算出する処理をさらに実行し、
前記セグメントにラベルを付与する処理は、セグメントの重要度が高いほど、前記セグメントが属する時系列データと同じラベルが付与されやすく、セグメントの重要度が低いほど、前記セグメントが属する時系列データに付与されたラベルと異なるラベルが付与されやすくなるようにラベルを付与する
ことを特徴とする請求項１に記載の付与方法。
【請求項３】
前記複数の時系列データのそれぞれにラベルを付与する処理は、ＲＮＮ層及び前記ＲＮＮ層の出力をセグメント単位で加重する重みを出力するAttentionを有するニューラルネットワークを用いて前記ラベルを付与し、
前記セグメントにラベルを付与する処理は、前記Attentionの出力を重要度として用いてラベルを付与する
ことを特徴とする請求項２に記載の付与方法。
【請求項４】
前記複数のセグメントを、各セグメントにおける前記時系列データの特徴に基づいて複数のクラスタに分類する
処理をさらに実行し、
前記セグメントにラベルを付与する処理は、前記複数のセグメントごとのクラスタ及び重要度に基づいてラベルを付与する
ことを特徴とする請求項２又は３に記載の付与方法。
【請求項５】
前記複数のセグメントのそれぞれの重要度が、当該セグメントが属する時系列データのセグメントの中で最も高い場合、前記複数のクラスタのうち、当該セグメントが分類されたクラスタに対応する当該時系列データに付与されたラベルのカウントを加算する
処理をさらに実行し、
前記セグメントにラベルを付与する処理は、前記複数のセグメントのそれぞれに、前記複数のクラスタのうち、当該セグメントが分類されたクラスタに対応するカウントが最も多いラベルを付与する
ことを特徴とする請求項４に記載の付与方法。
【請求項６】
前記加算する処理は、前記複数のセグメントが、当該セグメントが属する時系列データのセグメントの中で重要度が最も高いクラスタに属するセグメントではない場合、当該セグメントが分類されたクラスタに対応する当該時系列データに付与されたラベル以外のラベルのカウントを加算する
ことを特徴とする請求項５に記載の付与方法。
【請求項７】
前記複数のセグメントのそれぞれについて、重要度が高い順に順次、当該セグメントが分類されたクラスタに対応するラベルが割り当てられていない場合、当該セグメントが属する時系列データに付与されたラベルを当該クラスタに割り当てていく
ことを特徴とする請求項５に記載の付与方法。
【請求項８】
複数の時系列データのそれぞれを複数のセグメントに分割し、
前記複数の時系列データの各セグメントの特徴を基に、前記複数の時系列データのそれぞれにラベルを付与し、
前記時系列データの所定のセグメントに、当該セグメントが属する時系列データに付与されたラベルを付与する
処理をコンピュータに実行させることを特徴とする付与プログラム。
【請求項９】
複数の時系列データのそれぞれを複数のセグメントに分割する分割部と、
前記複数の時系列データの各セグメントの特徴を基に、前記複数の時系列データのそれぞれにラベルを付与する第１の付与部と、
前記時系列データの所定のセグメントに、当該セグメントが属する時系列データに付与されたラベルを付与する第２の付与部と、
を有することを特徴とする付与装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、付与方法、付与プログラム及び付与装置に関する。
【背景技術】
【０００２】
従来、時系列データの特徴に基づき、当該時系列データにラベルを付与する技術が知られている。ラベルが付与された時系列データは、例えば教師あり機械学習における教師データとして用いられる。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】山室冴、松原靖子、川畑光希、井手優介、梅田裕平、古川忠延、大川佳寛、丸橋弘治、稲越宏弥、櫻井保志、「深層学習を用いた時系列データの要約と分類」、DEIM  Forum  2018  C3-3
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記の技術では、時系列データの詳細な分析を効率良く行うことが困難な場合があるという問題がある。
【０００５】
例えば、作業者が装着した加速度センサから１日の間に得られる時系列データを使って、作業の進捗管理等を目的とした分析を行うことを考える。このとき、上記の技術によれば、１日の間に得られた時系列データに、その日の代表的な作業に対応する１つのラベルを付与することができる。
【０００６】
ここで、時系列データの特徴は時間の経過によって変化する場合がある。例えば、作業者は１日のうちに複数の異なる作業を行うため、作業の変化にともない加速度センサから得られるデータの特徴が変化することが考えられる。その場合、上記の技術では、代表的な作業以外の作業内容を分析することは困難である。
【０００７】
また、時系列データを所定の時間区間で分割し、各時間区間ごとに人手でラベルを付与する方法が考えられるが、この方法では時間効率及びラベル付与の精度が非常に悪くなる場合がある。さらに、各時間区間のデータがどのラベルに対応しているかを特定することが困難な場合もある。
【０００８】
１つの側面では、時系列データの詳細な分析を効率良く行うことを目的とする。
【課題を解決するための手段】
【０００９】
１つの態様において、付与方法は、複数の時系列データのそれぞれを複数のセグメントに分割する処理をコンピュータが実行する。付与方法は、複数の時系列データの各セグメントの特徴を基に、複数の時系列データのそれぞれにラベルを付与する処理をコンピュータが実行する。付与方法は、時系列データの所定のセグメントに、当該セグメントが属する時系列データに付与されたラベルを付与する処理をコンピュータが実行する。
【発明の効果】
【００１０】
１つの側面では、時系列データの詳細な分析を効率良く行うことができる。
【図面の簡単な説明】
【００１１】
【図１】図１は、実施例に係る分析システムの機能構成の一例を示す図である。
【図２】図２は、実施例に係る付与装置の機能構成の一例を示す図である。
【図３】図３は、分類モデルについて説明するための図である。
【図４】図４は、セグメント情報テーブルの一例を示す図である。
【図５】図５は、重要度が高いセグメントへのラベルの付与方法を説明するための図である。
【図６】図６は、重要度が低いセグメントへのラベルの付与方法を説明するための図である。
【図７】図７は、カウント法におけるcountingを説明するための図である。
【図８】図８は、カウント法におけるtie-break  countingを説明するための図である。
【図９】図９は、ソート法におけるソートを説明するための図である。
【図１０】図１０は、ソート法におけるラベルの付与方法を説明するための図である。
【図１１】図１１は、付与処理の流れを示すフローチャートである。
【図１２】図１２は、カウント法による後処理の流れを示すフローチャートである。
【図１３】図１３は、countingの流れを示すフローチャートである。
【図１４】図１４は、labelingの流れを示すフローチャートである。
【図１５】図１５は、tie-break  countingの流れを示すフローチャートである。
【図１６】図１６は、tie-break  labelingの流れを示すフローチャートである。
【図１７】図１７は、ソート法による後処理の流れを示すフローチャートである。
【図１８】図１８は、ハードウェア構成例を説明する図である。
【発明を実施するための形態】
【００１２】
以下に、本発明の付与方法、付与プログラム及び付与装置の実施例を図面に基づいて詳細に説明する。なお、この実施例により本発明が限定されるものではない。また、各実施例は、矛盾のない範囲内で適宜組み合わせることができる。
【実施例１】
【００１３】
まず、実施例における時系列データについて説明する。例えば、時系列データは、加速度センサ等から得られるセンサデータや、Ｗｅｂサイトのアクセス履歴等である。ここで、例えば、非特許文献１に記載された分類モデルであるＤｅｅｐＰｌａｉｔによれば、時系列データにラベルを付与することができる。
【００１４】
ラベルは、時系列データの属性を表す情報である。例えば、時系列データが、フリースローを行う選手に装着した加速度センサから得られるセンサデータである場合、ラベルは、当該フリースローが成功するか失敗するかを表す情報であってよい。また、時系列データが、作業者に装着した加速度センサから１日の間に得られたセンサデータである場合、ラベルは、作業者がその日に行った代表的な作業を表す情報であってよい。
【００１５】
ここで、時系列データは、内部に複数のパターンを含む場合がある。例えば、ネットワーク通信のモニタリングシステムから発生する時系列データには、正常なパターンと異常なパターンが含まれる。また、作業者に装着した加速度センサから得られるセンサデータには、時間帯ごとの作業内容に応じた様々なパターンが含まれる。
【００１６】
従来の技術では、１つの時系列データに対し１つのラベルが付与される。一方で、時系列データに対して付与されたラベルは、当該時系列データに含まれるパターンの全てに対応しているとは限らない。つまり、従来技術では、当該時系列データを代表するたかだか１つのパターンに対応するラベルが付与されるに過ぎない。このため、例えば、従来技術では、複数の時系列データからパターンごとのデータを抽出し分析を行うことが困難である。
【００１７】
これに対し、実施例の分析システムは、時系列データに含まれるパターンごとにラベルを付与し、当該パターンごとにラベルが付与された時系列データを使って分析を行うことができる。
【００１８】
ここで、実施例における用語について説明する。まず、分類モデルによって時系列データに付与されるラベルをデータラベルと呼ぶ。また、時系列データに含まれるパターンをクラスタと呼ぶ。また、クラスタごとに区切られた時間区間に対応する時系列データの部分をセグメントと呼ぶ。そして、分析システムによってセグメントごとに付与されるラベルをセグメントラベルと呼ぶ。
【００１９】
図１を用いて、分析システムについて説明する。図１は、実施例に係る分析システムの機能構成の一例を示す図である。図１に示すように、分析システム１Ｓは、付与装置１０及び分析装置２０を有する。
【００２０】
付与装置１０は、時系列データを分割した各セグメントへのセグメントラベルの付与を行うための装置である。付与装置１０は、学習用データを用いて分類モデルの学習を行う。そして、付与装置１０は、学習済みの分類モデルによる分類結果に対し所定の後処理を行うことで、セグメントラベルの付与を行う。また、以降の説明では、付与装置１０がデータラベル又はセグメントラベルの付与を行うことを予測と呼ぶ。
【００２１】
分類モデルは、時系列データに対するデータラベルの付与、セグメントへの分割、クラスタへのセグメントの分類及び各セグメントに対するスコアの算出を行うことができるものであればよい。実施例では、分類モデルは非特許文献１に記載のＤｅｅｐＰｌａｉｔであるものとする。また、ＤｅｅｐＰｌａｉｔは、ＤＮＮ（Deep  Neural  Network）を用いたモデルである。
【００２２】
図１に示すように、付与装置１０には時系列データが入力される。分類モデルの学習の際には、事前に人手等によりデータラベルが付与された時系列データが付与装置１０に入力される。一方、予測の際に付与装置１０に入力される時系列データには、データラベルが付与されていてもよいし、データラベルが付与されていなくてもよい。
【００２３】
付与装置１０は、セグメントラベルを付与した時系列データを出力する。セグメントラベルの付与方法については、後に付与装置１０の構成とともに説明する。そして、付与装置１０によって出力されたセグメントラベルを付与済みの時系列データは、分析装置２０に入力される。
【００２４】
分析装置２０は、セグメントラベルを付与済みの時系列データの分析を行う。例えば、分析装置２０は、特定のセグメントラベルが付与されたセグメントのデータを抽出し、当該抽出したデータを分析してもよい。また、分析装置２０は、セグメントラベル及び対応するセグメントのデータの特徴を学習し、セグメントラベルを付与するためのモデルを生成してもよい。
【００２５】
［機能構成］
図２を用いて、実施例に係る付与装置の機能構成について説明する。図２は、実施例に係る付与装置の機能構成の一例を示す図である。図２に示すように、付与装置１０は、インタフェース部１１、記憶部１２及び制御部１３を有する。
【００２６】
インタフェース部１１は、入出力装置との間のデータの入出力、及び他の装置との間でのデータの通信を行うためのインタフェースである。例えば、インタフェース部１１は、キーボードやマウス等の入力装置、ディスプレイやスピーカ等の出力装置、ＵＳＢメモリ等の外部記憶装置との間でデータの入出力を行う。また、例えば、インタフェース部１１はＮＩＣ（Network  Interface  Card）であり、インターネットを介してデータの通信を行う。
【００２７】
記憶部１２は、データや制御部１３が実行するプログラム等を記憶する記憶装置の一例であり、例えばハードディスクやメモリ等である。記憶部１２は、分類モデル情報１２１及びセグメント情報テーブル１２２を記憶する。
【００２８】
分類モデル情報１２１は、分類モデルのパラメータである。例えば、分類モデル情報１２１は、ＤＮＮの重み及びバイアス等の学習可能なパラメータである。このため、分類モデル情報１２１は、分類モデルの学習の際に更新される。セグメント情報テーブル１２２は、セグメントラベルを付与する後処理において使用されるテーブルである。セグメント情報テーブル１２２のデータ構造については、後処理の手順とともに後に説明する。
【００２９】
制御部１３は、例えば、ＣＰＵ（Central  Processing  Unit）、ＭＰＵ（Micro  Processing  Unit）、ＧＰＵ（Graphics  Processing  Unit）等によって、内部の記憶装置に記憶されているプログラムがＲＡＭを作業領域として実行されることにより実現される。また、制御部１３は、例えば、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）等の集積回路により実現されるようにしてもよい。制御部１３は、分割部１３１、分類部１３２、算出部１３３、データラベル付与部１３４、更新部１３５及びセグメントラベル付与部１３６を有する。
【００３０】
分割部１３１、分類部１３２、算出部１３３及びデータラベル付与部１３４は、分類モデルを用いた処理を行う。分割部１３１、分類部１３２、算出部１３３及びデータラベル付与部１３４は、非特許文献１の第４節に記載された処理と同様の処理を行うことができる。
【００３１】
分割部１３１は、複数の時系列データのそれぞれを複数のセグメントに分割する。また、分類部１３２は、複数のセグメントを、各セグメントにおける時系列データの特徴に基づいて複数のクラスタに分類する。データラベル付与部１３４は、複数の時系列データの各セグメントの特徴を基に、複数の時系列データのそれぞれにラベルを付与する。また、算出部１３３は、データラベル付与部１３４による処理における、複数のセグメントのそれぞれの重要度を算出する。なお、データラベル付与部１３４は、第１の付与部の一例である。
【００３２】
例えば、データラベル付与部１３４は、ＲＮＮ（Recurrent  Neural  Network）層及びＲＮＮ層の出力をセグメント単位で加重する重みを出力するAttentionを有するニューラルネットワークを用いてラベルを付与することができる。このとき、算出部１３３は、Attentionの出力を重要度として算出することができる。
【００３３】
更新部１３５は、学習処理を行う。学習処理において、まず、データラベル付与部１３４は、正解のデータラベルが事前に付与された時系列データに対し、分類モデルを用いてデータラベルを付与する。そして、更新部１３５は、付与されたデータラベルと正解のデータラベルとの差分を基に分類モデルのパラメータ、すなわち分類モデル情報１２１を最適化する。なお、予測処理においては、データラベル付与部１３４は、正解のデータラベルが未知の時系列データに対し、学習済みの分類モデルを用いてデータラベルを付与する。
【００３４】
ここで、図３を用いて、分類モデルについて説明する。図３は、分類モデルについて説明するための図である。図３の例では、時系列データは、フリースローを行う選手に装着した加速度センサから得られるセンサデータである。また、データラベルは、当該フリースローが成功するか失敗するかを表す情報である。
【００３５】
学習処理において、付与装置１０は、データラベルとして「成功」又は「失敗」が事前に付与された時系列データを使って分類モデルの学習を行う。また、予測処理において、付与装置１０は、正解のデータラベルが未知の時系列データのデータラベルが「成功」であるか「失敗」であるかを予測する。
【００３６】
予測処理において、付与装置１０は、学習済みの分類モデルを用いて、データラベルが未知の時系列データをセグメントに分割し、各セグメントをクラスタに分類する。さらに、付与装置１０は、学習済みの分類モデルを用いて、各セグメントの重要度を算出し、データラベルを予測する。なお、説明を省略したが、学習処理においても、予測処理と同様にセグメントの分割、クラスタの分類及び重要度の算出が行われる。
【００３７】
図３の例では、各セグメントが色を分けた上で表示されている。ここでは、予測において重要であったセグメントほど濃い色で表示される。例えば、図３には、時刻８００から時刻１２００までのセグメントが、クラスタＩＤが１であるクラスタに分類され、重要度が最も高かったことが示されている。また、重要度は、予測における寄与度と言い換えることができる。
【００３８】
データラベル付与部１３４は、データラベルの付与結果をセグメント情報テーブル１２２に格納する。図４を用いて、セグメント情報テーブル１２２について説明する。図４は、セグメント情報テーブルの一例を示す図である。
【００３９】
図４に示すように、データラベル付与部１３４は、時系列データｄ１及び時系列データｄ２を含む複数の時系列データのデータラベルの付与結果をセグメント情報テーブル１２２に格納する。ここで、時系列データには、時刻及び時刻ごとの少なくとも１種類の値が含まれる。また、セグメント情報テーブル１２２の項目には、時系列データ名、セグメント開始時刻、セグメント終了時刻、クラスタＩＤ、重要度及び予測データラベルが含まれる。
【００４０】
例えば、図４のセグメント情報テーブル１２２の１行目のレコードは、時系列データｄ１の時刻０から時刻１００までのセグメントのクラスタＩＤが１であり、重要度が０．８であり、付与されたデータラベルが「ａ」であったことを示している。
【００４１】
セグメントラベル付与部１３６は、複数のセグメントごとのクラスタ及び重要度に基づいてラベルを付与する。例えば、セグメントラベル付与部１３６は、時系列データの所定のセグメントに、当該セグメントが属する時系列データに付与されたラベルを付与する。なお、セグメントラベル付与部１３６は、第２の付与部の一例である。
【００４２】
ここで、セグメントラベル付与部１３６は、セグメントの重要度が高いほど、セグメントが属する時系列データと同じラベルが付与されやすくなるようにラベルを付与することができる。
【００４３】
図５は、重要度が高いセグメントへのラベルの付与方法を説明するための図である。図５に示すように、まず、付与装置１０は、各時系列データに対して予測データラベルを付与する。
【００４４】
なお、図５等では、セグメントの情報を「クラスタＩＤ：重要度の高低：セグメントラベル」のように表記する。例えば、「１：高」は、セグメントのクラスタＩＤが１で、重要度が高いことを意味している。また、例えば、「３：高：ｂ」は、セグメントのクラスタＩＤが３で、重要度が高く、セグメントラベルが「ｂ」であることを意味している。また、セグメントの重要度が高いことは、当該セグメントの重要度が所定の閾値以上であることであってもよいし、当該セグメントの重要度の大きさの順位が一定の順位以上であることであってもよい。
【００４５】
以降の説明では、時系列データの中のセグメントを、左側から順に１番目のセグメント、２番目のセグメント、３番目のセグメント等と呼ぶ。図５の例では、時系列データｄ１の１番目のセグメントと３番目のセグメントの重要度が高かった。このため、セグメントラベル付与部１３６は、時系列データｄ１の１番目のセグメントと３番目のセグメントに、セグメントラベルとして、データラベルである「ｂ」を付与する。
【００４６】
また、時系列データｄ１の中に、セグメントラベルを付与したセグメントと同じクラスタに分類されたセグメントがある場合、セグメントラベル付与部１３６は、当該セグメントにも同じセグメントラベルを付与する。つまり、セグメントラベル付与部１３６は、クラスタ単位でセグメントを付与する。
【００４７】
一方、セグメントラベル付与部１３６は、セグメントの重要度が低いほど、セグメントが属する時系列データに付与されたラベルと異なる時系列データのラベルが付与されやすくなるようにラベルを付与することができる。
【００４８】
図６は、重要度が低いセグメントへのラベルの付与方法を説明するための図である。重要度が低いセグメントは、重要度が高いセグメント以外のセグメントである。図６に示すように、セグメントラベル付与部１３６は、重要度が低いセグメントには、当該セグメントが属する時系列データに付与されたラベルと異なる時系列データのセグメントであって、同一のクラスタに分類されたセグメントに付与されたセグメントラベルを付与する。
【００４９】
例えば、図６の例では、時系列データｄ１の２番目のセグメントは、重要度が低く、クラスタＩＤが２である。また、時系列データｄ２の３番目のセグメントは、重要度が高く、クラスタＩＤが２であり、セグメントラベル「ａ」が付与されている。このため、セグメントラベル付与部１３６は、時系列データｄ１の２番目のセグメントに、時系列データｄ２の３番目のセグメントと同じセグメントラベル「ａ」を付与する。
【００５０】
なお、分類モデルが、ＲＮＮ層及びＲＮＮ層の出力をセグメント単位で加重する重みを出力するAttentionを有するニューラルネットワークである場合、セグメントラベル付与部１３６は、Attentionの出力を重要度として用いてラベルを付与する。
【００５１】
また、セグメントラベルの付与方法は、図５及び図６を用いて説明したものに限られない。例えば、セグメントラベル付与部１３６は、カウント法又はソート法によりセグメントラベルを付与することができる。
【００５２】
（カウント法）
まず、カウント法について説明する。カウント法では、セグメントラベル付与部１３６は、クラスタとラベルとの組み合わせごとのスコア（以下、カウント）を計算する。このとき、セグメントラベル付与部１３６は、各時系列データの最も重要度が高いセグメントについて、countingと呼ばれる処理を行う。図７は、カウント法におけるcountingを説明するための図である。
【００５３】
countingについて説明する。セグメントラベル付与部１３６は、複数のセグメントのそれぞれの重要度が、当該セグメントが属する時系列データのセグメントの中で最も高い場合、当該セグメントが分類されたクラスタに対応する当該時系列データに付与されたラベルのカウントを加算する。そして、セグメントラベル付与部１３６は、複数のセグメントのそれぞれに、複数のクラスタのうち、当該セグメントが分類されたクラスタに対応するカウントが最も多いラベルを付与する。
【００５４】
図７の例では、時系列データｄ１のセグメントのうち、１番目のセグメントの重要度が最も高い。また、時系列データｄ１の１番目のセグメントはクラスタＩＤが１であるクラスタに分類されている。このため、セグメントラベル付与部１３６は、クラスタＩＤが１であるクラスタ（クラスタ１）と時系列データｄ１に付与されたデータラベル「ａ」との組み合わせのカウントに１を加算する。同様に、セグメントラベル付与部１３６は、クラスタ２とラベル「ｂ」との組み合わせのカウント、及びクラスタ３とラベル「ｂ」との組み合わせのカウントに１を加算する。
【００５５】
そして、セグメントラベル付与部１３６は、加算済みのカウントを参照し、全ての時系列データについて、クラスタ１に分類されたセグメントにセグメントラベル「ａ」を付与する。また、セグメントラベル付与部１３６は、クラスタ２に分類されたセグメントにセグメントラベル「ｂ」を付与する。また、セグメントラベル付与部１３６は、クラスタ３に分類されたセグメントにセグメントラベル「ｂ」を付与する。
【００５６】
この時点で、クラスタ１、クラスタ２及びクラスタ３のいずれかに分類されたセグメントへのセグメントラベルの付与が完了する。一方で、図７の例では、クラスタ４に分類されたセグメントにはセグメントラベルが付与されていない。このようなcountingでセグメントラベルが付与されなかったセグメントがある場合、セグメントラベル付与部１３６はtie-break  countingを行う。図８は、カウント法におけるtie-break  countingを説明するための図である。
【００５７】
tie-break  countingについて説明する。セグメントラベル付与部１３６は、複数のセグメントが、当該セグメントが属する時系列データのセグメントの中で重要度が最も高いクラスタに属するセグメントではない場合にtie-break  countingを行う。このとき、セグメントラベル付与部１３６は、当該セグメントが分類されたクラスタに対応する当該時系列データに付与されたラベル以外のラベルのカウントを加算する。
【００５８】
図８の例では、時系列データｄ１のセグメントのうち、２番目のセグメント及び３番目のセグメントは、時系列データｄ１の中で重要度が最も高いクラスタ２に属するセグメントではない。また、時系列データｄ１の２番目のセグメントはクラスタ２に分類されている。また、時系列データｄ１の３番目のセグメントはクラスタ３に分類されている。また、時系列データｄ１に付与されたデータラベル以外のデータラベルは「ｂ」及び「ｃ」である。このため、セグメントラベル付与部１３６は、クラスタ２とラベル「ｂ」との組み合わせ、クラスタ２とラベル「ｃ」との組み合わせ、クラスタ３とラベル「ｂ」との組み合わせ、クラスタ３とラベル「ｃ」との組み合わせ、のそれぞれのカウントに１を加算する。
【００５９】
同様に、セグメントラベル付与部１３６は、時系列データｄ３についてもtie-break  countingを行う。このとき、セグメントラベル付与部１３６は、クラスタ４とラベル「ａ」との組み合わせ、及びクラスタ４とラベル「ｃ」との組み合わせのそれぞれのカウントに１を加算する。
【００６０】
そして、セグメントラベル付与部１３６は、加算済みのカウントを参照し、全ての時系列データについて、クラスタ４に分類されたセグメントにセグメントラベル「ａ」又はセグメントラベルを「ｃ」を付与する。このとき、セグメントラベル「ａ」又はセグメントラベル「ｃ」のどちらを最終的に選択するかは、ランダムに決定されてもよいし、あらかじめ定められた優先度にしたがって決定されてもよい。
【００６１】
（ソート法）
次に、ソート法について説明する。ソート法では、セグメントラベル付与部１３６は、複数のセグメントのそれぞれについて、重要度が高い順に順次、ラベルを割り当てていく。このとき、セグメントラベル付与部１３６は、各セグメントが分類されたクラスタに対応するラベルが割り当てられていない場合、当該セグメントが属する時系列データに付与されたラベルを当該クラスタに割り当てていく。
【００６２】
具体的には、まず、図９に示すように、セグメントラベル付与部１３６は、セグメント情報テーブル１２２を重要度が高い順にソートする。図９は、ソート法におけるソートを説明するための図である。
【００６３】
そして、図１０に示すように、セグメントラベル付与部１３６は、セグメント情報テーブル１２２のレコードを上から順に参照していく。そして、セグメントラベル付与部１３６は、初出のクラスタ、すなわち分類されたセグメントにセグメントラベルが割り当てられていないクラスタに対し、予測データラベルをセグメントラベルとして割り当てる。さらに、セグメントラベル付与部１３６は、既出のクラスタ、すなわち分類されたセグメントにセグメントラベルが割り当てられたクラスタに対しては、セグメントラベルを割り当てない。
【００６４】
図１０の例では、まず、セグメントラベル付与部１３６は１行目のレコードを参照し、クラスタＩＤが３であるクラスタに分類された全てのセグメントに対応するレコードのセグメントラベルを「ｂ」に変更する。次に、セグメントラベル付与部１３６は２行目のレコードを参照し、クラスタＩＤが１であるクラスタに分類された全てのセグメントに対応するレコードのセグメントラベルを「ａ」に変更する。さらに、セグメントラベル付与部１３６は３行目のレコードを参照し、クラスタＩＤが２であるクラスタに分類された全てのセグメントに対応するレコードのセグメントラベルを「ｂ」に変更する。
【００６５】
４行目から９行目までのレコードは既出のクラスタに対応している。そして、セグメントラベル付与部１３６は１０行目のレコードを参照し、クラスタＩＤが４であるクラスタに分類された全てのセグメントに対応するレコードのセグメントラベルを「ｂ」に変更する。ただし、このときセグメントラベルが変更されるレコードは、図１０の例では１レコードのみである。
【００６６】
［処理の流れ］
フローチャートを用いて各処理の流れを説明する。ここでは、セグメント情報テーブルＴ、データセットＤ、クラスタｋ、ラベルｌ、時系列データｄ、カウントＮｋｌ、セグメントｓのように、各情報には説明のために適宜符号を付している。
【００６７】
図１１を用いて、付与装置１０によるセグメントラベルの付与処理の流れを説明する。図１１は、付与処理の流れを示すフローチャートである。図１１に示すように、まず、付与装置１０は、時系列データとデータラベルの組であるデータセットＤの入力を受け付ける（ステップＳ１）。次に、付与装置１０は、分類モデルによる予測を実行し、セグメント情報テーブルＴを得る（ステップＳ２）。
【００６８】
ここで、付与装置１０は、セグメントラベルを付与するために後処理を実行する（ステップＳ３）。そして、付与装置１０は、セグメントと付与したセグメントラベルとを対応付けたテーブルを出力する（ステップＳ４）。
【００６９】
（カウント法）
次に、後処理（図１１のステップＳ３）の流れを説明する。図１２を用いて、カウント法による後処理の流れを説明する。図１２は、カウント法による後処理の流れを示すフローチャートである。
【００７０】
図１２に示すように、付与装置１０は、各時系列データを基に作成されたセグメント情報テーブルＴの入力を受け付ける（ステップＳ３１ａ）。次に、付与装置１０は、countingを実行する（ステップＳ３２ａ）。そして、付与装置１０は、countingの結果に基づきlabelingを実行する（ステップＳ３３ａ）。
【００７１】
ここで、付与装置１０は、セグメント情報テーブルＴの中の全てのセグメントにラベルが付いているか否かを判定する（ステップＳ３４ａ）。セグメント情報テーブルＴの中の全てのセグメントにラベルが付いている場合（ステップＳ３４ａ、Ｙｅｓ）、付与装置１０は、Ｔ中の各セグメントに対するラベルを出力し（ステップＳ３７ａ）、カウント法による後処理を終了する。
【００７２】
一方、セグメント情報テーブルＴの中の全てのセグメントにラベルが付いていない場合（ステップＳ３４ａ、Ｎｏ）、付与装置１０は、tie-break  counting（ステップＳ３５ａ）及びtie-break  labeling（ステップＳ３６ａ）を実行する。その後、付与装置１０は、Ｔ中の各セグメントに対するラベルを出力し（ステップＳ３７ａ）、カウント法による後処理を終了する。
【００７３】
counting（図１２のステップＳ３２ａ）、labeling（図１２のステップＳ３３ａ）、tie-break  counting（図１２のステップＳ３５ａ）、tie-break  labeling（図１２のステップＳ３６ａ）の流れを説明する。
【００７４】
まず、図１３を用いて、countingの流れを説明する。図１３は、countingの流れを示すフローチャートである。図１３に示すように、まず、付与装置１０は、セグメント情報テーブルＴの入力を受け付ける（ステップＳ３２１ａ）。次に、付与装置１０は、全てのクラスタｋ、ラベルｌに対するカウントＮｋｌを０に初期化する（ステップＳ３２２ａ）。
【００７５】
ここで、付与装置１０は、Ｔから時系列データを１つずつ取得していく。付与装置１０は、未取得の時系列データから次の時系列データｄを取得する（ステップＳ３２３ａ）。そして、付与装置１０は、ｄ中で重要度が最も高いセグメントｓを特定する（ステップＳ３２４ａ）。ここで、付与装置１０は、ｓが属するクラスタｋに対するｄの予測データラベルのＮｋｌを増やす（ステップＳ３２５ａ）。
【００７６】
付与装置１０は、データセットの中の全ての時系列データについて処理が完了したか否かを判定する（ステップＳ３２６ａ）。全ての時系列データについて処理が完了している場合（ステップＳ３２６ａ、Ｙｅｓ）、付与装置１０は、全てのクラスタｋｌとラベルｌについてのＮｋｌをテーブルとして出力する（ステップＳ３２７ａ）。一方、全ての時系列データについて処理が完了していない場合（ステップＳ３２６ａ、Ｎｏ）、付与装置１０は、ステップＳ３２３ａに戻り、処理を繰り返す。
【００７７】
次に、図１４を用いて、labelingの流れを説明する。図１４は、labelingの流れを示すフローチャートである。図１４に示すように、まず、付与装置１０は、全てのクラスタｋとラベルｌに対するＮｋｌのテーブルの入力を受け付ける（ステップＳ３３１ａ）。このテーブルは、countingにおいて出力されるテーブルである。
【００７８】
ここで、付与装置１０は、テーブルからクラスタｋを１つずつ選択していく。付与装置１０は、まだ選んでいないクラスタｋを１つ選ぶ（ステップＳ３３２ａ）。そして、付与装置１０は、選んだクラスタｋに対するＮｋｌが最大になるラベルｌが１つのｌｍａｘに決まるか否かを判定する（ステップＳ３３３ａ）。
【００７９】
選んだクラスタｋに対するＮｋｌが最大になるｌｍａｘが１つに決まる場合（ステップＳ３３３ａ、Ｙｅｓ）、付与装置１０は、クラスタｋに含まれる全てのセグメントｓに、ｌｍａｘのラベルを付ける（ステップＳ３３４ａ）。一方、選んだクラスタｋに対するＮｋｌが最大になるｌｍａｘが１つに決まらない場合（ステップＳ３３３ａ、Ｎｏ）、付与装置１０は、ｌｍａｘのラベルを付けずに次の処理へ進む。
【００８０】
付与装置１０は、全てのクラスタｋを選んだか否かを判定する（ステップＳ３３５ａ）。全てのクラスタｋを選んでいる場合（ステップＳ３３５ａ、Ｙｅｓ）、付与装置１０は、各セグメントに付与されたラベルを出力する（ステップＳ３３６ａ）。このとき、付与装置１０は、ラベルが付与されていないセグメントについては、未付与として出力する。全てのクラスタｋを選んでいない場合（ステップＳ３３５ａ、Ｎｏ）、付与装置１０は、ステップＳ３３２ａに戻り処理を繰り返す。
【００８１】
図１５を用いて、tie-break  countingの流れを説明する。図１５は、tie-break  countingの流れを示すフローチャートである。図１５に示すように、まず、付与装置１０は、セグメント情報テーブルＴとラベル集合Ｌの入力を受け付ける（ステップＳ３５１ａ）。次に、付与装置１０は、全てのクラスタｋ、ラベルｌに対するカウントＭｋｌを０に初期化する（ステップＳ３５２ａ）。
【００８２】
ここで、付与装置１０は、Ｔから時系列データを１つずつ取得していく。付与装置１０は、未取得の時系列データから次の時系列データｄを取得する（ステップＳ３５３ａ）。そして、付与装置１０は、ｄ中で重要度が最も高いセグメントｓを特定する（ステップＳ３５４ａ）。
【００８３】
ここで、付与装置１０は、ｓが属するクラスタｋ以外の全てのクラスタｋ´と、ｄの予測データラベル以外のＬに含まれる全てのラベルｌ´についてのカウントＭｋ´ｌ´を増やす（ステップＳ３５５ａ）。
【００８４】
付与装置１０は、データセットの中の全ての時系列データについて処理が完了したか否かを判定する（ステップＳ３５６ａ）。全ての時系列データについて処理が完了している場合（ステップＳ３５６ａ、Ｙｅｓ）、付与装置１０は、全てのクラスタｋとラベルｌについてのＭｋｌをテーブルとして出力する（ステップＳ３５７ａ）。一方、全ての時系列データについて処理が完了していない場合（ステップＳ３５６ａ、Ｎｏ）、付与装置１０は、ステップＳ３５３ａに戻り、処理を繰り返す。
【００８５】
次に、図１６を用いて、tie-break  labelingの流れを説明する。図１６は、tie-break  labelingの流れを示すフローチャートである。図１６に示すように、まず、付与装置１０は、全てのクラスタｋとラベルｌに対するＭｋｌのテーブルの入力を受け付ける（ステップＳ３６１ａ）。このテーブルは、tie-break  countingにおいて出力されるテーブルである。
【００８６】
ここで、付与装置１０は、ラベルが付与されていないクラスタからクラスタｋを１つずつ選択していく。付与装置１０は、まだ選んでいないクラスタｋを１つ選ぶ（ステップＳ３６２ａ）。そして、付与装置１０は、選んだクラスタｋに対するＭｋｌが最大になるラベルｌから１つをｌｍａｘとして選ぶ（ステップＳ３６３ａ）。
【００８７】
付与装置１０は、クラスタｋに含まれる全てのセグメントｓにｌｍａｘのラベルを付ける（ステップＳ３６４ａ）。付与装置１０は、全てのクラスタｋを選んだか否かを判定する（ステップＳ３６５ａ）。全てのクラスタｋを選んでいる場合（ステップＳ３６５ａ、Ｙｅｓ）、付与装置１０は、各セグメントに付与されたラベルを出力する（ステップＳ３６６ａ）。このとき、付与装置１０は、ラベルが付与されていないセグメントについては、未付与として出力する。全てのクラスタｋを選んでいない場合（ステップＳ３６５ａ、Ｎｏ）、付与装置１０は、ステップＳ３６２ａに戻り処理を繰り返す。
【００８８】
（ソート法）
次に、図１７を用いて、ソート法による後処理の流れを説明する。図１７は、ソート法による後処理の流れを示すフローチャートである。図１７に示すように、まず、付与装置１０は、セグメント情報テーブルＴの入力を受け付ける（ステップＳ３１ｂ）。次に、付与装置１０は、Ｔのレコードを重要度順で降順にソートしＴ´とする（ステップＳ３２ｂ）。
【００８９】
付与装置１０は、Ｔ´のセグメントを順次参照していく。付与装置１０は、Ｔ´から次のセグメントｓとｓが属するクラスタｋを取得する（ステップＳ３３ｂ）。そして、付与装置１０は、ｋにすでにラベルが付与されているか否かを判定する（ステップＳ３４ｂ）。ｋにすでにラベルが付与されている場合（ステップＳ３４ｂ、Ｙｅｓ）、付与装置１０は、ｋにラベルを付与せずに次の処理に進む。一方、ｋにラベルが付与されていない場合（ステップＳ３４ｂ、Ｎｏ）、ｋにｓを含むデータの予測データラベルを付与する（ステップＳ３５ｂ）。そして、付与装置１０は、ｓにｋに付与されているラベルを付与する（ステップＳ３６ｂ）。
【００９０】
次に、付与装置１０は、Ｔ´の全てのセグメントｓについて処理が終了したか否かを判定する（ステップＳ３７ｂ）。Ｔ´の全てのセグメントｓについて処理が終了している場合（ステップＳ３７ｂ、Ｙｅｓ）、付与装置１０は、各セグメントｓに付与されたラベルを出力する（ステップＳ３８ｂ）。一方、Ｔ´の全てのセグメントｓについて処理が終了していない場合（ステップＳ３７ｂ、Ｎｏ）、付与装置１０は、ステップＳ３３ｂに戻り処理を繰り返す。
【００９１】
［効果］
これまで説明してきたように、付与装置１０は、複数の時系列データのそれぞれを複数のセグメントに分割する。付与装置１０は、複数の時系列データの各セグメントの特徴を基に、複数の時系列データのそれぞれにラベルを付与する。付与装置１０は、時系列データの所定のセグメントに、当該セグメントが属する時系列データに付与されたラベルを付与する。このように、付与装置１０は、時系列データに付与されたデータラベルを基にセグメントラベルの付与を行うことができる。つまり、付与装置１０は、従来技術（例えば、非特許文献１に記載のＤｅｅｐＰｌａｉｔ）の出力を利用して、自動的にセグメントラベルを付与することができる。このため、実施例によれば、時系列データの詳細な分析を効率良く行うことができる。
【００９２】
付与装置１０は、データラベルの付与における、複数のセグメントのそれぞれの重要度を算出する。付与装置１０は、セグメントの重要度が高いほど、セグメントが属する時系列データと同じラベルが付与されやすく、セグメントの重要度が低いほど、セグメントが属する時系列データに付与されたラベルと異なるラベルが付与されやすくなるようにラベルを付与する。このように、付与装置１０は、付与済みのデータラベルとデータラベルの付与の際に算出される重要度を用いてセグメントラベルを付与することができる。このため、実施例によれば、重要度を反映したセグメントラベルの付与を自動的に行うことが可能になる。
【００９３】
付与装置１０は、ＲＮＮ層及びＲＮＮ層の出力をセグメント単位で加重する重みを出力するAttentionを有するニューラルネットワークを用いてラベルを付与する。付与装置１０は、Attentionの出力を重要度として用いてラベルを付与する。このように、付与装置１０は、既存のモデルの途中計算で得られる値を利用してセグメントラベルを付与することができる。
【００９４】
付与装置１０は、複数のセグメントを、各セグメントにおける時系列データの特徴に基づいて複数のクラスタに分類する。付与装置１０は、複数のセグメントごとのクラスタ及び重要度に基づいてラベルを付与する。このように、付与装置１０は、セグメントをクラスタ単位で集約して扱うことができるため、効率的にセグメントラベルの付与を行うことができる。
【００９５】
付与装置１０は、複数のセグメントのそれぞれの重要度が、属する時系列データのセグメントの中で最も高い場合、複数のクラスタのうち、当該セグメントが分類されたクラスタに対応する当該時系列データに付与されたラベルのカウントを加算する。付与装置１０は、複数のセグメントのそれぞれに、複数のクラスタのうち、当該セグメントが分類されたクラスタに対応するカウントが最も多いラベルを付与する。これにより、付与装置１０は、最も重要度が高いセグメントについて、自動的にセグメントラベル付与のためのスコアを計算することができる。
【００９６】
付与装置１０は、複数のセグメントが、当該セグメントが属する時系列データのセグメントの中で重要度が最も高いクラスタに属するセグメントではない場合、当該セグメントが分類されたクラスタに対応する当該時系列データに付与されたラベル以外のラベルのカウントを加算する。これにより、付与装置１０は、最も重要度が高いセグメント以外のセグメントについても、自動的にセグメントラベル付与のためのスコアを計算することができる。
【００９７】
セグメントラベル付与部１３６は、各セグメントについて、重要度が高い順に順次、当該セグメントが分類されたクラスタに対応するラベルが割り当てられていない場合、当該セグメントが属する時系列データに付与されたラベルを当該クラスタに割り当てていく。これにより、付与装置１０は、クラスタ単位でセグメントラベルをまとめて付与していくことができる。
【００９８】
なお、上記の実施例では、セグメントラベルの付与の際に、クラスタとラベルのカウントをそのまま利用する方法について説明した。一方で、セグメントラベルの付与は、カウントにさらに重み付け等を行った上で行われてもよい。例えば、付与装置１０は、カウントにセグメントごとの時間の長さに応じた重みを掛けた上で各計算を行うようにしてもよい。
【００９９】
［システム］
上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。また、実施例で説明した具体例、分布、数値等は、あくまで一例であり、任意に変更することができる。
【０１００】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散や統合の具体的形態は図示のものに限られない。つまり、その全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。さらに、各装置にて行われる各処理機能は、その全部又は任意の一部が、ＣＰＵ及び当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【０１０１】
［ハードウェア］
図１８は、ハードウェア構成例を説明する図である。図１８に示すように、付与装置１０は、通信インタフェース１０ａ、ＨＤＤ（Hard  Disk  Drive）１０ｂ、メモリ１０ｃ、プロセッサ１０ｄを有する。また、図１８に示した各部は、バス等で相互に接続される。
【０１０２】
通信インタフェース１０ａは、ネットワークインタフェースカード等であり、他のサーバとの通信を行う。ＨＤＤ１０ｂは、図２に示した機能を動作させるプログラムやＤＢを記憶する。
【０１０３】
プロセッサ１０ｄは、図２に示した各処理部と同様の処理を実行するプログラムをＨＤＤ１０ｂ等から読み出してメモリ１０ｃに展開することで、図２等で説明した各機能を実行するプロセスを動作させる。すなわち、このプロセスは、付与装置１０が有する各処理部と同様の機能を実行する。具体的には、プロセッサ１０ｄは、分割部１３１、分類部１３２、算出部１３３、データラベル付与部１３４、更新部１３５及びセグメントラベル付与部１３６と同様の機能を有するプログラムをＨＤＤ１０ｂ等から読み出す。そして、プロセッサ１０ｄは、分割部１３１、分類部１３２、算出部１３３、データラベル付与部１３４、更新部１３５及びセグメントラベル付与部１３６等と同様の処理を実行するプロセスを実行する。プロセッサ１０ｄは、例えば、ＣＰＵ、ＭＰＵ、ＡＳＩＣ等のハードウェア回路である。
【０１０４】
このように付与装置１０は、プログラムを読み出して実行することで分類方法を実行する情報処理装置として動作する。また、付与装置１０は、媒体読取装置によって記録媒体から上記プログラムを読み出し、読み出された上記プログラムを実行することで上記した実施例と同様の機能を実現することもできる。なお、この他の実施例でいうプログラムは、付与装置１０によって実行されることに限定されるものではない。例えば、他のコンピュータ又はサーバがプログラムを実行する場合や、これらが協働してプログラムを実行するような場合にも、本発明を同様に適用することができる。
【０１０５】
このプログラムは、インターネット等のネットワークを介して配布することができる。また、このプログラムは、ハードディスク、フレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＭＯ（Magneto−Optical  disk）、ＤＶＤ（Digital  Versatile  Disc）等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行することができる。
【符号の説明】
【０１０６】
１Ｓ  分析システム
１０  付与装置
１１  インタフェース部
１２  記憶部
１３  制御部
２０  分析装置
１２１  分類モデル情報
１２２  セグメント情報テーブル
１３１  分割部
１３２  分類部
１３３  算出部
１３４  データラベル付与部
１３５  更新部
１３６  セグメントラベル付与部
【図１】
2020140499.tif 000003
【図２】
2020140499.tif 000004
【図３】
2020140499.tif 000005
【図４】
2020140499.tif 000006
【図５】
2020140499.tif 000007
【図６】
2020140499.tif 000008
【図７】
2020140499.tif 000009
【図８】
2020140499.tif 000010
【図９】
2020140499.tif 000011
【図１０】
2020140499.tif 000012
【図１１】
2020140499.tif 000013
【図１２】
2020140499.tif 000014
【図１３】
2020140499.tif 000015
【図１４】
2020140499.tif 000016
【図１５】
2020140499.tif 000017
【図１６】
2020140499.tif 000018
【図１７】
2020140499.tif 000019
【図１８】
2020140499.tif 000020