(57)【要約】【課題】データ項目の選定と表示順番の指定を自動化する。【解決手段】複数のデータ項目を含む時系列のデータの処理方法であって、データが格納されるデータ項目の型とその型の識別方法を示す重複性パターンを用いて、データ項目の型を識別し、データ項目の型ごとに指定された演算を用いて、データ項目に格納されたデータに対して処理を行い、処理したデータを格納するデータ項目の型について新たなデータ項目を追加し、追加されたデータ項目を含め、表示画面に表示する情報量を定量化したスコアを計算し、スコアに基づいてデータ項目の並び替えをする。【選択図】  図６
2019016173.tif 000002
【特許請求の範囲】
【請求項１】
複数のデータ項目を含む時系列のデータの処理方法であって、
前記データが格納されるデータ項目の型とその型の識別方法を示す重複性パターンを用いて、前記データ項目の型を識別する手順と、
前記データ項目の型ごとに指定された演算を用いて、前記データ項目に格納された前記データに対して処理を行い、処理した前記データを格納する前記データ項目の型について新たなデータ項目を追加する手順と、
前記追加されたデータ項目を含め、表示画面に表示する情報量を定量化したスコアを計算し、前記スコアに基づいて前記データ項目の並び替えをする手順と、
を有することを特徴とするデータ処理方法。
【請求項２】
請求項１に記載のデータ処理方法であって、
前記追加されたデータ項目を含め、前記データ項目に格納されたデータの統計分布を作成し、作成した前記統計分布の分散を前記スコアとして計算し、計算した前記スコアに基づいて前記データ項目の並び変えをする手順と、
前記追加されたデータ項目を含め、前記データ項目に格納されたデータにフーリエ変換を用いたスペクトル解析を行い、スペクトルが一定値以上の周波数範囲の広さを前記スコアとして計算し、計算した前記スコアに基づいて前記データ項目の並び変えをする手順と、
のいずれかを有することを特徴とするデータ処理方法。
【請求項３】
請求項１に記載のデータ処理方法であって、
監視の開始時刻と終了時刻を含む時間帯情報を取得し、前記追加されたデータ項目を含め、前記時間帯情報で示される時間帯と前記時間帯以外の時間帯における前記表示画面に表示する前記スコアをそれぞれ計算し、前記時間帯のスコアと前記時間帯以外の時間帯のスコアとの差値に基づいて前記データ項目の並び替えをする手順と、
を有することを特徴とするデータ処理方法。
【請求項４】
請求項１に記載のデータ処理方法であって、
時刻情報を取得し、前記追加されたデータ項目を含め、前記時刻の前後の予めに決まった時間帯において、前記データ項目に格納されたデータの変化点を検知し、前記時間帯における変化点の数を用いて前記スコアを計算し、前記スコアに基づいて前記データ項目の並び替えをする手順と、
を有することを特徴とするデータ処理方法。
【請求項５】
請求項１に記載のデータ処理方法であって、
前記追加されたデータ項目と追加される前のデータ項目とに基づいて前記データ項目をグループ化する手順と、
前記追加されたデータ項目と追加される前の前記データ項目とを含め、前記表示画面に表示する前記スコアを計算し、前記グループ化されたグループに含まれるデータ項目の前記スコアの最大値に基づいて、前記グループの並び替えをする手順と、
を有することを特徴とするデータ処理方法。
【請求項６】
請求項１に記載のデータ処理方法であって、
前記複数のデータ項目の前記スコアの統計分布の分散を計算し、並び替えの有意度の指標として提供する手順と、
を有することを特徴とするデータ処理方法。
【請求項７】
請求項１に記載のデータ処理方法であって、
前記複数のデータ項目の前記スコアの平均値と、開始時刻と終了時刻を含む時間帯情報を取得し、前記時間帯情報で示される時間帯の前記平均値と前記時間帯以外の時間帯の前記平均値との差異と、のいずれかを計算し、データの有意度の指標として提供する手順と、
を有することを特徴とするデータ処理方法。
【請求項８】
請求項１に記載のデータ処理方法であって、
前記スコアと、前記並び替えの結果の順位との少なくとも一つの指標に対して閾値を設定し、前記指標の値が閾値を下回った前記データ項目に対し、今後のデータ処理から除外する手順と、
を有することを特徴とするデータ処理方法。
【請求項９】
請求項１に記載のデータ処理方法であって、
前記並び替えたデータ項目の出力において、データの使用者から、固定表示と、並び替えと、非表示との少なくとも一つの調整を受け付け、前記調整後の前記データ項目の係数として記憶する手順と、
前記表示画面に表示する情報量を定量化した前記スコアを計算し、前記スコアに調整後の前記係数を用いて補正し、前記補正したスコアに基づいて前記データ項目の並び替えをする手順と、
を有することを特徴とするデータ処理方法。
【請求項１０】
請求項９に記載のデータ処理方法であって、
前記新たなデータ項目に格納されたデータに対し、前記データの発生源と、前記新たなデータ項目の型と、前記データの統計分布と、前記データのスペクトル特徴との少なくとも一つの要素に用いて、前記新たなデータ項目と前記データ項目の関連性を計算し、前記関連性と前記データ項目の前記係数とを用いて、前記新たなデータ項目の初期係数を算出する手順と、
を有することを特徴とするデータ処理方法。
【請求項１１】
請求項９に記載のデータ処理方法であって、
新規の使用者に対して、すでに登録されている複数の前記使用者の前記係数に基づいて、初期係数を算出する手順と、
前記新規の使用者に対して、前記表示画面に表示する情報量を定量化したスコアを計算し、前記スコアに前記係数を用いて補正し、前記補正したスコアに基づいて前記データ項目の並び替えをする手順と、
を有することを特徴とするデータ処理方法。
【請求項１２】
複数のデータ項目を含む時系列のデータの処理装置であって、
前記データが格納されるデータ項目の型とその型の識別方法を示す重複性パターンを用いて、前記データ項目の型を識別し、
前記データ項目の型ごとに指定された演算を用いて、前記データ項目に格納された前記データに対して処理を行い、処理した前記データを格納する前記データ項目の型について新たなデータ項目を追加し、
前記追加されたデータ項目を含め、表示画面に表示する情報量を定量化したスコアを計算し、前記スコアに基づいて前記データ項目の並び替えをする、
ことを特徴とするデータ処理装置。
【請求項１３】
請求項１２に記載のデータ処理装置であって、
前記追加されたデータ項目を含め、前記データ項目に格納されたデータの統計分布を作成し、作成した前記統計分布の分散を前記スコアとして計算し、計算した前記スコアに基づいて前記データ項目の並び変えをする処理と、
前記追加されたデータ項目を含め、前記データ項目に格納されたデータにフーリエ変換を用いたスペクトル解析を行い、スペクトルが一定値以上の周波数範囲の広さを前記スコアとして計算し、計算した前記スコアに基づいて前記データ項目の並び変えをする処理と、
のいずれかを行うことを特徴とするデータ処理装置。
【請求項１４】
請求項１２に記載のデータ処理装置であって、
監視の開始時刻と終了時刻を含む時間帯情報を取得し、前記追加されたデータ項目を含め、前記時間帯情報で示される時間帯と前記時間帯以外の時間帯における前記表示画面に表示する前記スコアをそれぞれ計算し、前記時間帯のスコアと前記時間帯以外の時間帯のスコアとの差値に基づいて前記データ項目の並び替えをする、
ことを特徴とするデータ処理装置。
【請求項１５】
請求項１２に記載のデータ処理装置であって、
時刻情報を取得し、前記追加されたデータ項目を含め、前記時刻の前後の予めに決まった時間帯において、前記データ項目に格納されたデータの変化点を検知し、前記時間帯における変化点の数を用いて前記スコアを計算し、前記スコアに基づいて前記データ項目の並び替えをする、
ことを特徴とするデータ処理装置。
【請求項１６】
請求項１２に記載のデータ処理装置であって、
前記複数のデータ項目の前記スコアの統計分布の分散を計算し、並び替えの有意度の指標として提供する、
ことを特徴とするデータ処理装置。
【請求項１７】
請求項１２に記載のデータ処理装置であって、
前記複数のデータ項目の前記スコアの平均値と、開始時刻と終了時刻を含む時間帯情報を取得し、前記時間帯情報で示される時間帯の前記平均値と前記時間帯以外の時間帯の前記平均値との差異と、のいずれかを計算し、データの有意度の指標として提供する、
ことを特徴とするデータ処理装置。
【請求項１８】
コンピュータに、
複数のデータ項目を含む時系列のデータが格納されるデータ項目の型とその型の識別方法を示す重複性パターンを用いて、前記データ項目の型を識別する処理と、
前記データ項目の型ごとに指定された演算を用いて、前記データ項目に格納された前記データに対して処理を行い、処理した前記データを格納する前記データ項目の型について新たなデータ項目を追加する処理と、
前記追加されたデータ項目を含め、表示画面に表示する情報量を定量化したスコアを計算し、前記スコアに基づいて前記データ項目の並び替えをする処理と、
を実行させることを特徴とするデータ処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、時系列データの記録、分析、及び表示に関する。
【背景技術】
【０００２】
従来のデータ可視化システムにおける監視や分析などを行う際に、データ処理及び表示システムは、使用者の要求及びデータ分析者の知見とノウハウに基づき、複数のデータ項目からデータ項目の選定とその表示順番の指定を行う。しかし、インターネットを介してあらゆるモノの情報疎通を提供するIoT（Internet of Things）技術が広がるに従い、様々なモノもネットワークに接続されるようになっており、監視や分析対象となるデータの候補が多様かつ大量になる。この場合、データ項目の選定と表示順番の指定が非常に煩雑な作業となり、この作業をある程度自動化することが望ましい。
【０００３】
データ項目の選定と表示順番の指定を支援する技術として、ユーザの要求するデータを見つけやすい位置に表示させるデータ一覧表示装置が存在する。特許文献１には、複数のデータを保持するデータ格納部と、データ格納部のデータの一覧表を表示する一覧表示部を有するデータ一覧表示装置において、一覧表示部で一覧表示させる位置を指定するためのデータ項目をデータ格納部の各データに対して設定する表示属性設定部と、ユーザの指定するデータ格納部中のデータに対して一覧表示させる位置を表示属性設定部で設定されたデータ項目へ設定する表示順設定部とを備え、一覧表示部はデータ格納部中のデータを表示順設定部で設定されたユーザの所望する表示順で一覧表示する方法が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００２−２３００３６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１のような従来のデータ監視分析支援技術では、ユーザが予め所望する表示順及びそれを指定するためのデータ項目を指定する必要がある。そのため、上記従来技術では、データ項目の選定と表示順番の指定を自動化することができない。
【０００６】
本発明は、データ項目の選定と表示順番の指定を自動化することを目的とする。
【課題を解決するための手段】
【０００７】
上記課題を解決し、目的を達成するために、本発明にかかるデータ処理方法は、複数のデータ項目を含む時系列のデータの処理方法であって、前記データが格納されるデータ項目の型とその型の識別方法を示す重複性パターンを用いて、前記データ項目の型を識別する手順と、前記データ項目の型ごとに指定された演算を用いて、前記データ項目に格納された前記データに対して処理を行い、処理した前記データを格納する前記データ項目の型について新たなデータ項目を追加する手順と、前記追加されたデータ項目を含め、表示画面に表示する情報量を定量化したスコアを計算し、前記スコアに基づいて前記データ項目の並び替えをする手順と、を有することを特徴とするデータ処理方法として構成される。
【０００８】
また、本発明は上記データ処理方法を行うデータ処理装置としても把握される。
【発明の効果】
【０００９】
本発明によれば、データ項目の選定と表示順番の指定を自動化することが可能となる。
【図面の簡単な説明】
【００１０】
【図１】実施例１におけるシステム構成例である。
【図２】実施例１における処理装置の構成例である。
【図３】実施例１における処理装置の型識別情報テーブルの例である。
【図４】実施例１における処理装置の演算処理情報テーブルの例である。
【図５】実施例１における処理装置の入力データ情報テーブルの例である。
【図６】実施例１における処理装置のデータ処理情報テーブルの例である。
【図７】実施例１における処理装置のデータ処理プログラムの処理フローの例である。
【図８】実施例１における処理装置のスコア計算プログラムの処理フローの例である。
【図９】実施例１におけるデータ出力画面の例である。
【図１０】実施例２におけるシステム構成例である。
【図１１】実施例２における処理装置の構成例である。
【図１２】実施例２における処理装置のデータ項目情報テーブルの例である。
【図１３】実施例２における処理装置のデータ処理情報テーブルの例である。
【図１４】実施例２における処理装置のデータアクセスプログラムの処理フローの例である。
【図１５】実施例２における処理装置の分析計算プログラムの処理フローの例である。
【図１６】実施例２における分析結果出力画面の例である。
【発明を実施するための形態】
【００１１】
以下、本発明の実施の形態を、図面を用いて説明する。
【００１２】
なお、以下の実施の形態においては便宜上その必要があるときは、複数のセクションまたは実施の形態に分割して説明するが、特に明示した場合を除き、それらはお互いに無関係なものではなく、一方は他方の一部または全部の変形例、詳細、補足説明などの関係にある。
【００１３】
また、以下の実施の形態において、要素の数等（個数、数値、量、範囲等を含む）に言及する場合、特に明示した場合及び原理的に明らかに特定の数に限定される場合などを除き、その特定の数に限定されるものではなく、特定の数以上でも以下でも良いものとする。
【００１４】
さらに、以下の実施の形態において、その構成要素（要素ステップなどを含む）は、特に明示した場合及び原理的に明らかに必須であると考えられる場合などを除き、必ずしも必須のものではない。
【００１５】
さらに、以下に示した実施の形態は単独で適用してもよいし、複数もしくはすべての実施の形態を組み合わせて適用しても構わない。
【実施例１】
【００１６】
（工場のIoT生産監視システム）
本実施例では、設備センサと、IoTゲートウェイと、処理装置と、出力装置とを含む工場のIoT生産監視システムにおいて、処理装置が、前記IoTゲートウェイから取得した設備稼働データに対して、当該データが格納される設備稼働データ項目の型とその型の識別方法を示す重複性パターンを用いて、前記データのデータ項目の型を識別し、前記データ項目の型ごとに指定された演算を用いて、前記データ項目に格納された前記データに対して変換等の処理を行い、処理した前記データを格納する前記データ項目の型について新たなデータ項目を追加する。前記処理装置が、監視の開始時刻と終了時刻を含む表示時間帯情報を出力装置から取得し、前記追加されたデータ項目を含め、前記表示時間帯とそれ以外の時間帯におけるデータに対して、表示画面に表示する情報量を定量化したスコアをそれぞれ計算する。前記追加されたデータ項目と追加される前のデータ項目とに基づいて前記データ項目をグループ化し、グループ化されたグループに含まれるデータ項目の前記表示時間帯のスコアと前記それ以外の時間帯のスコアの差値に基づいて、前記グループの並び替えを行う。前記並び替えの上位グループに含まれるデータ項目を出力装置に提供することを特徴とする。
【００１７】
また、前記出力装置が、生産監視システムの使用者からの並び替えの調整を受け付け、処理装置に提示する。前記処理装置は、受け付けた使用者の操作による並び替えの調整をデータ項目の係数として記憶し、表示画面に表示する情報量を定量化したスコアを計算する時、前記係数を用いて補正し、補正したスコアの差値に基づいてデータ項目の並び替えをすることを特徴とする。
【００１８】
本実施例のシステム構成は、図１に示すように、処理装置101と、通信路102と、出力装置103と、IoTゲートウェイ（以下、ゲートウェイ104）と、設備センサ（以下、センサ105）と、から構成される。ゲートウェイ104は、センサ105から取得した設備稼働データを収集、整形し、通信路102に経由して処理装置101へ送信する。処理装置101は表示するデータ項目を選択し、処理後のデータを通信路102に経由して出力装置103へ送信する。出力装置103は処理装置101から受信したデータを可視化し、使用者のフィードバックを受け付ける。図１に示すように、処理装置101と出力装置103は独立した装置でもよいし、一つの装置でも構わない。通信路103は一つの有線或いは無線ネットワークでもよいし、複数の独立したネットワークでも構わない。
【００１９】
図２に本実施例の処理装置101の構成例を示す。本実施例における処理装置101の機能は、一般的なコンピュータの外部記憶装置205にプログラムソフトウェアの形で格納され、メモリ201上に展開されてCPU202により実行される。また、処理装置101は入出力インターフェース203、或いは通信インターフェース204、或いはその両方に介して出力装置103とゲートウェイ104と接続する。処理装置101のメモリ201は、ゲートウェイ104から設備稼働データを受信するデータ入力プログラム211と、受信したデータを予めに決まった手順で処理するデータ処理プログラム212と、表示画面に表示する情報量を定量化したスコアを計算するスコア計算プログラム213と、データの処理結果を出力装置103に送信するデータ出力プログラム214とを格納する。さらに、処理装置101のメモリ201は、データ項目の型を識別するための情報を格納する型識別情報テーブル221と、型毎に行うデータ演算に関する情報を格納する演算処理情報テーブル222と、処理するデータを格納する入力データ情報テーブル223と、データ処理時に参照する情報を格納するデータ処理情報テーブル224とを格納する。
【００２０】
なお、本実施例の処理装置101では上記プログラム及び上記情報を単一のコンピュータのメモリ上に格納する構成を示した。しかし、上記情報を外部記憶装置に格納し、上記プログラムの処理のつど上記情報を上記外部記憶装置から読み込み、それぞれの処理が完了するごとに外部記憶装置に格納する構成を取ることも可能である。
【００２１】
また、上記プログラム及び上記情報を複数のコンピュータに分散して格納することも可能である。例えば上記情報をそれぞれデータベースのテーブルとして実装して処理装置101とは異なるデータベースサーバに格納し、処理装置101上で実行された上記プログラムがデータベースサーバ上の上記情報を参照及び更新することも可能である。
【００２２】
また、上記プログラムは、ROM等に予め組み込まれて提供されたり、インストール可能な形式又は実行可能な形式のファイルでCD-ROM、CD-R、DVD（Digital Versatile Disk）等のコンピュータで読み取り可能な記録媒体に記録して提供したり、配布してもよい。さらには、上記プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供したり、配布してもよい。
【００２３】
図３は、処理装置101が保持する型識別情報テーブル221の例である。型識別情報テーブル221は、データが格納されるデータ項目の型とその型の識別方法を示す重複性パターンを記憶するテーブルである。
型識別情報は、型の識別子を示す型ID301と、型の呼び名を示す型名称302と、型に該当するかを識別する方法を示す識別方法303からなる。図３は、データの内容である文字列に対して、正規表現（Regular Expression）を用いて測定値と時刻の型に該当するかどうかを識別する方法の例を示す。その他、データの重複パターンやデータの内容の統計分散など予めに指定した関数の演算結果と閾値との関係、データ内容をパラメータとして外部のプログラムを動作させた結果、などの方法を使ってデータの型を判断することも可能である。
【００２４】
図４は、処理装置101が保持する演算処理情報テーブル222の例である。演算処理情報は処理方法の識別子を示す処理ID401と、処理対象の型を示す型402と、演算処理の具体的なステップを示す演算処理内容403からなる。型402は、型識別情報テーブル221の型名称302を使う他、型ID301を使ってもよい。演算処理内容403は、プログラム言語を使って対象データを処理する関数の内容の他、内部或いは外部のデータ処理機能を示す識別子（関数名、ライブラリ名、ファイル名、URL）を使うことも可能である。
【００２５】
図５は、処理装置101が保持する入力データ情報テーブル223の例である。入力データ情報は、データの識別子であるデータID501と、データの生成時刻を示す生成時刻502と、データの受信元を示すデータ源503と、複数のデータ項目の内容を示すデータ項目504からなる。データ源503は、任意の文字列からなる識別子の他、ゲートウェイ401のアドレスなどでもよい。図５は、非リレーショナルデータベース（NoSQL）を利用した実装において、同じテーブルの複数行がそれぞれ違うカラム数になってもよい特性を利用して、複数のデータ源503から受信したデータを一つのテーブルに格納した例を示す。そのほか、リレーショナルデータベース（RDB）を利用した実装において、同じテーブルのカラム構造が同一になるため、入力データ情報テーブル223が複数に存在し、入力データはデータ源503によって違うテーブルに格納することも可能である。また、図５のデータ項目504は、各ゲートウェイ401から、一定な順番に沿って複数のデータ項目を受信した場合、その順番で各データ項目の値を格納した例を示す。その他、各ゲートウェイ401から各データ項目の名前情報も受信した場合、データ項目504に（名前，値）のペアで格納することも可能である。
【００２６】
図６は、処理装置101が保持するデータ処理情報テーブル224の例である。データ処理情報は、データ項目の識別子を示す項目ID601と、データ項目の型の識別子を示す型602と、データ項目に対して実施する演算処理内容とその結果のデータ項目の識別子を示す演算結果603と、データ項目の内容を表示する時提供する情報量を示すスコア604と、ユーザによる表示画面に対する操作結果を示す係数605と、データ項目の表示順番を示す順番606からなる。項目ID601は、図６のようなデータ源503とデータ項目の順番の組合せからなるほか、データ項目を特定できる他の識別子でもよい。型602は、型識別情報テーブル221の型名称302を使う他、型ID301を使ってもよい。演算結果603は、データ項目に対して行う複数の演算処理の識別子を示す処理ID401とその結果の識別子項目601の組合せからなる。図５は、入力データ項目607と演算結果項目608が同じテーブルに格納する例をしめす。そのほか、入力データ項目607と演算結果項目608のデータ処理情報がそれぞれ別のテーブルを格納することも可能である。
【００２７】
処理装置101が実施するデータ入力プログラム211は、入出力インターフェース203、或いは通信インターフェース204、或いはその両方に介して、ゲートウェイ104と情報のやり取りを行い、センサ105の情報を取得する。機能の実現方法の一例として、ゲートウェイ104は、予めに決まった一定な時間間隔或いはセンサ105からの特定の信号などの他のトリガーで、格納しているセンサ105の最新の情報を整形し、データ送信メッセージを作成し、データ入力プログラム211へ送信する。データ入力プログラム211は、データ送信メッセージを取得すると、その中身を入力データ情報テーブル223に格納する。機能の他の実現方法として、データ入力プログラム211がデータ取得要求メッセージをゲートウェイ104へ送信し、ゲートウェイ104がそれを応答することも可能である。
【００２８】
図７に、処理装置101が実施するデータ処理プログラム212の具体的な処理フローの例を示す。ステップ701において、処理装置101は、入力データ情報テーブル223に新規データが格納されると、データ処理プログラム212を動作させる。ステップ702において、処理装置101のデータ処理プログラム212は、入力データ情報テーブル223から新規格納される入力データを取得する。次に、ステップ703において、処理装置101のデータ処理プログラム212は、入力データ情報テーブル223から入力データと同じデータ源のデータ件数を抽出し、取得したデータのデータ源が新規かどうかを判定する。処理装置101のデータ処理プログラム212は、データ源が新規でないと判定した場合(ステップ703；No)、ステップ704に進み、データ処理情報テーブル224に参照して、データ項目数の増減などから、データ項目に変更があるかどうかを判定する。
【００２９】
ステップ703において、データが新規と判定された場合(ステップ703；Yes)、またはステップ704において、データ項目に変更があると判定された場合(ステップ704；Yes)、処理装置101のデータ処理プログラム212は、ステップ705において、入力データの各データ項目に対して型の識別処理を行う。型の識別の具体手順の一例として、データ処理プログラム212は、まずデータ処理情報テーブル224から、同じデータ源に関するデータ情報を削除した上に、新たに入力データ607の行を用意する。そして、データ処理プログラム212は、入力データの各データ項目の内容に対して、型識別テーブル221の型を上からの順で、識別方法303が指定した方法を用いてテストする。テストが成功する場合（例えば、正規表現に該当する、テスト関数の計算結果が閾値を超える、外部プログラムのリターンコードが既定の値の場合）、該当データ項目が対応の型とし、データ処理情報テーブル224の該当する項目ID601の行の型602に記録する。その後、演算処理情報テーブル222から型402がデータ項目の型と一致する演算処理情報を抽出し、演算処理情報それぞれに対し、データ処理情報テーブル224に新たに追加データ608を追加し、入力データの演算結果603に追記する。また、テストが失敗する場合、型識別テーブル221の次の型でテストする。型識別テーブル221の全ての型でテスト失敗した場合、該当データ項目の型が「未知」とする。
【００３０】
ステップ705の完了後、或いはステップ704においてデータ項目に変更がないと判定された場合(ステップ704:No)、処理装置101のデータ処理プログラム212は、各データ項目に対して演算処理を行う。演算処理の具体手順の一例として、まずデータ処理情報テーブル224から、処理対象データに該当する入力データ607の行を抽出する。そして、各行に該当するデータ項目に対して、演算結果603にある演算処理を演算処理情報テーブル222から抽出し、演算処理内容403を実行し、その結果を入力データ情報テーブル223の演算結果603に対応するデータ項目504に記録する。
【００３１】
最後に、ステップ707において、処理装置101は、データ処理プログラム212を終了させる。
【００３２】
図８に、処理装置101が実施するスコア計算プログラム213の具体的な処理フロー例を示す。ステップ801において、処理装置101は、データ出力プログラム214がスコア計算プログラム213を動作させる。ステップ802において、処理装置101のスコア計算プログラム213は、データ処理情報テーブル224から、順番に入力データ項目607と追加データ項目608を含むスコア未更新のデータ項目を一つ選択する。
【００３３】
次に、ステップ803において、処理装置101のスコア計算プログラム213は、データ出力プログラム214が取得した、監視の開始時刻と終了時刻を含む表示時間帯情報に基づいて、選択したデータ項目の該当時間帯のデータを表示することで提供する情報量s1を計算する。次に、ステップ804において、処理装置101は、データ出力プログラム214が取得した上記表示時間帯情報に基づいて、選択したデータ項目の該当時間帯以外のデータを表示することで提供する情報量s2を計算する。次に、ステップ805において、処理装置101は、情報量の差値s1-s2の計算結果をスコア604として、データ処理情報テーブル224に格納する。
【００３４】
情報量の計算方法の一例として、データの統計分布を作成し、その統計分布の分散の対数を計算することができる。対数演算は、情報量の差値s1-s2に意味をもたらすためである。つまり、スコアを以下数１で表すことができる。
【００３５】
【数１】
2019016173.tif 000003
【００３６】
情報量の計算方法の別の例として、データにフーリエ変換を用いたスペクトル解析を行い、スペクトルが一定値以上の周波数範囲の広さを計算するとこができる。また、それ以外の指標を情報量として計算することも可能である。
【００３７】
次に、ステップ806において、処理装置101のスコア計算プログラム213は、全てのデータ項目に対してスコアの計算が完了したか否かを判定する。スコア計算プログラム213は、全てのデータ項目に対してスコアの計算が完了していないと判定した場合(ステップ806；No)、ステップ802に戻り、次のデータ項目を選択する。スコア計算プログラム213は、全てのデータ項目に対してスコアの計算が完了したと判定した場合(ステップ806；Yes)、ステップ807に進み、スコア604と係数605の乗積に基づいて、データ項目の表示順番を計算し、その結果を順番606に格納する。表示順番の計算方法として、入力データ607と追加データ608を含む全てのデータ項目に対してそれぞれのスコア604と係数605の乗積に基づいて表示順番を決定してもよいし、入力データ607がそれぞれ演算結果603に記載してある追加データ608をグループ化し、各グループ内のスコア604と係数605の乗積の最大値がそのグループの代表値として、グループ間で表示順番を決定し、各グループ内のスコア604と係数605の乗積を基づいて、グループ内での表示順番を決定することも可能である。図６では、「GW1-1」（乗積：76）「GW1-1-1」（乗積：114）「GW1-1-2」（乗積：56）の3つのデータ項目が一つのグループとして、乗積の最大値（114）を使ってグループ間の表示順番（1位）を決定し、それぞれの乗積を使ってグループ内の順番（2位、1位、3位）を決定した例を示す。
【００３８】
最後に、ステップ808において、処理装置101は、スコア計算プログラム213を終了させる。
【００３９】
処理装置101が実施するデータ出力プログラム214は、入出力インターフェース203、或いは通信インターフェース204、或いはその両方に介して、出力装置103と情報のやりとりを行い、データ出力要求の受入れと、処理済みデータの提供と、使用者操作のフィードバック等の機能を実現する。機能の実現方法の一例として、出力装置103が開始時刻と終了時刻からなる表示時間帯を含むデータ表示リクエストを処理装置101に送信し、データ出力プログラム214が受信したリクエストを処理し、スコア計算プログラム213を動作させ、表示順番に基づき入力データ情報テーブル223から表示時間帯内の対応したデータ項目を取得し、出力装置103へ送信する。または、出力装置103が使用者の操作挙動を処理装置101に送信し、データ出力プログラム214が受信した挙動記録を処理し、データ処理情報テーブル224の係数605を調整する。データ出力プログラム214と出力装置103の間の情報のやりとりは、Hyper Text Protocol（HTTP）など予めに決まったプロトコルを使ったメッセージなどの通信が可能である。
【００４０】
図９は、出力装置103が出力するIoT生産監視システムの画面の例である。IoT生産監視システム画面901は、表示期間902を含む基本情報と複数のデータ項目のグラフを含む。グラフ903と、グラフ904と、グラフ905とは、図６に示したデータ処理情報テーブル224にある「GW1-1-1」と、「GW1」と、「GW1-1-2」と対応する。グラフ903を例としてデータ項目グラフの内容を説明すると、データ源と処理方法を含むデータ項目タイトル906と、使用者がグラフの順位を調整できるボタン907と908と、表示時間帯内のデータの可視化結果909とを含む。例えば、ユーザがボタン907を操作するたび、画面上に対応するグラフの順位が一つ上に移動し、出力装置103が挙動記録を処理装置101に送信し、対応するデータ項目の係数605が既定の1以上の倍率（例えば、1.5）に掛けられて並び替えが実行される。また、例えば、ユーザがボタン908を操作するたび、画面上に対応するグラフの順位が一つ下に移動し、出力装置103が挙動記録を処理装置101に送信し、対応するデータ項目の係数605が既定の1以下の倍率（例えば、0.5）に掛けられて並び替えが実行される。上記の例では、グラフの順位を並べ替える場合について記載したが、ボタン907や908に対する操作を受け付けず、並べ替え後のグラフを固定して表示する固定表示や、非表示としてもよい。前記固定表示の場合は前記倍率が1として設定され、前記非表示の場合は前記倍率が0として設定される。前記並べ替え、前記固定表示、前記非表示において設定された前記倍率が掛けられた後の係数605が、新たな前記データ項目の係数として記憶される。
【００４１】
このように、本実施例によれば、複数の項目を含む時系列データに対して、データ項目の選択と、データの処理と、表示方法の指定との一連の流れを自動化し、価値のあるデータを迅速に監視、分析を可能とする。具体的には、本実施例では、設備センサと、IoTゲートウェイと、処理装置と、出力装置とを含む工場のIoT生産監視システムにおいて、処理装置が、前記IoTゲートウェイから取得した設備稼働データに対して、前記データのデータ項目の型を識別し、前記データ項目に格納された前記データに対して変換等の処理を行い、処理した前記データを格納する前記データ項目の型について新たなデータ項目を追加する。前記処理装置が、監視の開始時刻と終了時刻を含む表示時間帯情報を出力装置から取得し、前記追加されたデータ項目を含め、前記表示時間帯とそれ以外の時間帯におけるデータに対して、表示画面に表示する情報量を定量化したスコアをそれぞれ計算する。前記追加されたデータ項目と追加される前のデータ項目とに基づいて前記データ項目をグループ化し、グループ化されたグループに含まれるデータ項目の前記表示時間帯のスコアと前記それ以外の時間帯のスコアの差値に基づいて、前記グループの並び替えを行う。前記並び替えの上位グループに含まれるデータ項目を出力装置に提供することを特徴とする。これにより、複数の項目を含む時系列データに対して、データ項目の選択と、データの処理と、表示方法の指定との一連の流れを自動化することが可能となる。
【００４２】
また、前記出力装置が、生産監視システムの使用者からの並び替えの調整を受け付け、処理装置に提示する。前記処理装置は、受け付けた使用者の操作をデータ項目の係数として記憶し、表示画面に表示する情報量を定量化したスコアを計算する時、前記係数を用いて補正し、補正したスコアの差値に基づいてデータ項目の並び替えをすることを特徴とする。これにより、使用者のデータ監視に関するフィードバックを記憶し、今後のデータ出力をさらに見やすくすることができる。
【００４３】
また、稼動設備の入れ替えなどにより、新規データ項目をIoTゲートウェイから取得することがありえる。その場合、処理装置101は、新規データ項目に対し、データの発生源と、データ項目の型と、データの統計分布（例えば、上記数１で示した情報量の計算方法による統計分布）と、データのスペクトル特徴（例えば、情報量の計算方法の別の例として示した、上記フーリエ変換を用いたスペクトル解析により得られたデータの特徴）との少なくとも一つの要素に用いて、新規データ項目と追加される前の既存データ項目の関連性を計算し、前記関連性と前記既存データ項目の係数605とを用いて、前記新規データ項目の初期係数605を算出することができる。その場合、稼動設備の入れ替えなど生産調整が発生しても、データ監視に関する調整結果を引き継ぐことができる。
【００４４】
なお、本実施例のデータ処理プログラム212において、型識別のテストが全て失敗したとき、データ項目の型が「未知」となる。このように型が「未知」のデータ項目が現れるとき、テスト失敗イベントの発生、データ源、データの概要などを記録することで、管理者がそれに対応した新たの型識別情報を作成し、型識別情報テーブル221を更新することが可能である。これにより、入力データを利用し、システムの対応能力を運用中で逐次拡張することができる。
【００４５】
そして、スコア計算プログラム213において、データ項目のスコアを更新する時、または、データ出力プログラム214において、出力データを出力装置103へ送信する時、いずれでも順位が上位の一部のデータのみに対して処理することができる。例えば、スコア計算プログラム213は、表示画面に表示する情報量を定量化したスコアと、前記スコアに基づいて前記データ項目の並び替えの結果の順位との少なくとも一つの指標に対して閾値を設定し、前記指標の値が閾値を下回った前記データ項目に対し、今後のデータ処理から除外することにより、前記順位が上位の一部のデータのみに対して処理を実行する、これにより、データ処理時間或いは通信路102のトラフィック量を削減するができ、システムの性能を向上することができる。
【００４６】
また、図６の例では、係数605と順番606はデータ項目ごとに一つある。しかし、複数の使用者が存在し、出力装置103から使用者の識別子（例えば、ユーザIDやパスワード）を取得することが可能な場合、係数605と順番606は使用者毎に存在してもいい。この場合、複数の使用者それぞれのデータ監視に関する好みを記憶し、今後のデータ出力をさらに見やすくすることができる。
【００４７】
なお、複数の使用者に対応した生産監視システムにおいて、使用者を追加することがありえる。その場合、新規のデータの使用者を追加するとき、システムにすでに存在した複数の使用者の係数605の平均値に基づいて、新規の使用者の初期係数605を算出することが可能である。例えば、処理装置101は、システムにすでに登録されているすべての使用者を対象に同じデータ項目の係数の平均値を算出し、算出した当該平均値を新規の使用者の当該データ項目の初期係数605としてもよい。それにより、新規使用者に対して、表示画面に表示する情報量を定量化したスコアを計算した上に、初期係数605を用いて補正し、補正したスコアに基づいて前記データ項目の初期順番606を計算することが可能である。この場合、新規の使用者であってもすでに調整されたデータ監視の出力を利用可能であり、使用者立ち上げの工数を減らすことができる。
【実施例２】
【００４８】
（製品不良要因分析システム）
本実施例では、処理装置と、通信路と、出力装置と、生産記録装置とを含む製品不良要因分析システムにおいて、処理装置が、前記生産記録装置から取得した生産記録データに対して、当該データが格納される生産記録データ項目の型とその型の識別方法を示す重複性パターンを用いて、前記データのデータ項目の型を識別し、前記データ項目の型ごとに指定された演算を用いて、前記データ項目に格納された前記データに対して変換等の処理を行い、処理した前記データを格納する前記データ項目の型について新たなデータ項目を追加する。前記処理装置が、不良発生時刻情報を取得し、前記追加されたデータ項目を含め、前記発生時刻の前後の予めに決まった時間帯において、前記データ項目に格納されたデータの変化点を検知し、前記時間帯における変化点の数を用いて情報量を定量化したスコアを計算し、前記スコアに基づいて前記データ項目の並び替えをする。前記処理装置が、前記並び替えの上位にあるデータ項目を製品不良の主要因項目として、前記上位にあるデータ項目の前記変化点が発生する時間帯を不良の影響時間帯として、前記データ項目間のスコアの統計分布の分散を並び替えの有意度の指標として、前記スコアの時間帯差異をデータの有意度の指標として提供することを特徴とする。
【００４９】
図１０を用いて、本実施例のシステム構成を説明する。なお、実施例１と重複する内容は説明を省略する。本実施例のシステム構成は、処理装置1001と、通信路1002と、出力装置1003と、生産記録装置1004と、から構成される。生産記録装置1004は、作業ログ1005と、資材ログ1006と、設備ログ1007と、技術データ1008など生産に関連する様々なデータを記録する。生産記録装置1004は、単一のサーバ装置でもよいし、複数のサーバ装置から構成したシステムでも構わない。
【００５０】
図１１を用いて、本実施例の処理装置1001の構成例を説明する。なお、実施例１と重複する内容は説明を省略する。処理装置1001のメモリ1101は、出力装置1003との間に情報のやり取りを行うユーザインターフェースプログラム1111と、生産記録装置1004との間に情報のやり取りを行うデータアクセスプログラム1112と、分析処理を行う分析計算プログラム1113とを格納する。さらに、処理装置1001のメモリ110は、データ項目の型を識別ための情報を格納する型識別情報テーブル1121と、型毎に行うデータ演算に関する情報を格納する演算処理情報テーブル1122と、識別済みデータ項目を格納するデータ項目情報テーブル1123と、データ処理時に参照する情報を格納するデータ処理情報テーブル1124とを格納する。
【００５１】
図１２は、処理装置1001が保持するデータ項目情報テーブル1123の例である。データ項目情報は、生産記録装置1003内のデータ分類を示すデータ源1201と、生産記録装置1003内のデータ項目の識別子を示す項目ID1202と、データ項目の型を示す型1203と、データ項目に対する演算処理の具体的なステップを示す演算処理内容1204からなる。処理装置1001は、生産記録装置1003内のデータ項目を識別した結果をデータ項目情報テーブル1123にて蓄積する。
【００５２】
図１３は、処理装置1001が保持するデータ処理情報テーブル1124の例である。データ処理情報は、データ項目の識別子を示す項目ID1301と、複数の時間帯に関連するスコア1302からなる。項目ID1301は、項目ID1202と同一でもいいし、別のデータ項目を特定できる識別子でも構わない。
【００５３】
処理装置1001が実施するユーザインターフェースプログラム1111は、入出力インターフェース1103、或いは通信インターフェース1104、或いはその両方に介して、出力装置1003と情報のやりとりを行い、データ分析要求の受入れと、データ分析結果の提供の機能を実現する。機能の実現方法の一例として、出力装置1003が生産時刻と生産ラインを特定できる情報（例えば、製品のシリアルナンバー）を含むデータ分析要求を処理装置1001に送信し、ユーザインターフェースプログラム1111が受信したリクエストを処理し、分析結果を出力装置1003へ送信する。
【００５４】
図１４に、処理装置1001が実施するデータアクセスプログラム1112の具体的な処理フロー例を示す。ステップ1401において、処理装置1001は、ユーザインターフェースプログラム1111がデータ分析要求を受信し、データアクセスプログラム1112を動作させる。ステップ1402において、処理装置1001は、生産時刻と生産ラインを特定できる情報（例えば、製品のシリアルナンバー）を生産記録装置1004へ送信し、生産時刻情報と関連するデータ項目の一覧を取得する。次に、ステップ1403において、処理装置1001は、関連するデータ項目の一覧にデータ項目情報テーブル1123が含まないデータ項目が存在するかを判定する。新規データ項目が存在する場合、処理装置1001は、ステップ1404において、新規データ項目の型を識別する。新規データ項目の型識別処理が完了後、或いは、新規データ項目が存在しない場合、処理装置1001は、ステップ1405において、データ処理情報テーブル1124を初期化する。初期化の具体的な方法の一例として、処理装置1001は、関連するデータ項目の項目ID1202と、演算結果1204にある追加データ項目の項目IDに対して、データ処理情報テーブル1124に対応の行を作成する。最後に、ステップ1406において、処理装置1001はデータアクセスプログラム1112を終了させ、分析計算プログラム1113を動作させる。
【００５５】
図１５に、処理装置1001が実施する分析計算プログラム1113の具体的な処理フロー例を示す。ステップ1501において、処理装置1001は、分析計算プログラム1113を動作させる。ステップ1502において、処理装置1001は、データ処理情報テーブル1124から順番にデータ項目を一つ選択する。次に、ステップ1503において、処理装置1001は、選択されたデータ項目が生産記録装置1004にある項目か演算による追加する項目かを判定する。選択されたデータ項目が追加項目の場合、処理装置1001はステップ1504に進み、生産記録装置1004から該当データ項目の元データ項目のデータを取得し、指定した演算計算を行う。選択されたデータ項目が元にある項目の場合、処理装置1001はステップ1505に進み、生産記録装置1004から該当データ項目のデータを取得する。いずれの場合でも、次に、処理装置1001はステップ1506において、データアクセスプログラム1112が取得した生産時刻を中心に、予めに決まった複数の区間の長さから構成した時間区間において、データから変化点を検知し、単位時間の長さにおける変化点の数を該当データ項目が該当時間区間におけるスコアとして計算する。変化点検知の方法として、要約統計量と、部分空間法と、密度比推定法など公知の手法が使える。次に、ステップ1507において、処理装置1001は、全てのデータ項目のスコア計算が完了したかを判定する。スコア計算が完了していないデータ項目が存在する場合、処理装置1001はステップ1502に戻り、次のデータ項目を選択する。全てのスコア計算が完了した場合、処理装置1001はステップ1508に進み、全てのスコアから最大値を検索し、その最大値が存在する時間区間を基準区間として記憶する。次に、ステップ1509において、処理装置1001は、基準区間のスコアに基づいて、データ項目の順番の並び替えを行う。次に、ステップ1510において、処理装置1001は、データ項目の順番と、基準区間と、順番の有意度の指標としてデータ項目間のスコアの統計分布の分散と、基準区間の有意度の指標としてスコアの時間帯差異と、を分析結果として出力する。例えば、処理装置1001は、複数のデータ項目の前記スコアの平均値と、開始時刻と終了時刻を含む時間帯情報を取得し、前記時間帯情報で示される時間帯の前記平均値とそれ以外の時間帯の前記平均値の差異と、のいずれかを計算し、データの有意度の指標として提供する。最後に、ステップ1511において、処理装置1001は分析計算プログラム1113を終了させる。
【００５６】
図１６に、出力装置1003が出力する分析結果の例を示す。分析結果画面1601は、分析対象情報1602と、分析結果情報1603と、分析結果の有意度情報1604を含む。分析対象情報1601は分析対象の識別子（例えば、製品シリアルナンバー）とそれにより特定した生産時刻と生産ライン情報からなる。分析結果情報1603は、被疑時間帯である基準区間と要因データ項目であるスコアの最大値が存在するデータ項目からなる。分析結果の有意度情報1604は、データ項目間のスコアの統計分布の分散と、基準区間の有意度の指標としてスコアの時間帯差異とのグラフである。
【００５７】
本実施例により、複数の項目を含む時系列データに対して、特定の時刻に発生したイベントとの関連性とその影響範囲の分析を自動化することが可能となる。そして、並び替えの有意度の指標とデータの有意度の指標を提供することにより、使用者が分析結果の尤もらしさを直観的に判断し、分析結果の採用や再分析の決定の根拠を得られる。
【符号の説明】
【００５８】
101   処理装置
102   通信路
103   出力装置
104   IoTゲートウェイ
105   設備センサ
1001  処理装置
1002  通信路
1003  出力装置
1004  生産記録装置
【図１】
2019016173.tif 000004
【図２】
2019016173.tif 000005
【図３】
2019016173.tif 000006
【図４】
2019016173.tif 000007
【図５】
2019016173.tif 000008
【図６】
2019016173.tif 000009
【図７】
2019016173.tif 000010
【図８】
2019016173.tif 000011
【図９】
2019016173.tif 000012
【図１０】
2019016173.tif 000013
【図１１】
2019016173.tif 000014
【図１２】
2019016173.tif 000015
【図１３】
2019016173.tif 000016
【図１４】
2019016173.tif 000017
【図１５】
2019016173.tif 000018
【図１６】
2019016173.tif 000019