(57)【要約】  プロセッサとメモリとストレージ装置を備えた計算機が、データフォーマットの種類毎にデータの代表値としてのマスタデータを格納したマスタデータ情報に、抽象化レベル毎に抽象化ルールを設定したルール情報を適用して、マスタデータを抽象化した第１の抽象化データを生成し、データフォーマットの異なる複数の種類のデータを取得し、前記取得したデータにルール情報を適用して抽象化レベルごとに前記データを抽象化した第２の抽象化データを生成し、第２の抽象化データを、前記抽象化レベル毎の第１の抽象化データで分類する。
2017158812.tif 000002
【特許請求の範囲】
【請求項１】
プロセッサとメモリとストレージ装置を備えた計算機で、データフォーマットの異なる複数の種類のデータを分類するデータ分類方法であって、
前記計算機が、前記データフォーマットの種類毎に前記データの代表値としてのマスタデータを格納したマスタデータ情報に、抽象化レベル毎に抽象化ルールを予め設定したルール情報を適用して、前記抽象化レベルごとに前記マスタデータを抽象化した第１の抽象化データを生成する第１のステップと、
前記計算機が、前記データフォーマットの異なる複数の種類のデータをデータ情報として取得する第２のステップと、
前記計算機が、前記取得したデータ情報に前記ルール情報を適用して前記抽象化レベルごとに前記データを抽象化した第２の抽象化データを生成する第３のステップと、
前記計算機が、前記第２の抽象化データを、前記抽象化レベル毎の第１の抽象化データで分類する第４のステップと、
を含むことを特徴とするデータ分類方法。
【請求項２】
請求項１に記載のデータ分類方法であって、
前記データは、行と列を有し、
前記第４のステップは、
前記データの列方向で、前記第２の抽象化データを、前記抽象化レベル毎の第１の抽象化データで分類することを特徴とするデータ分類方法。
【請求項３】
請求項２に記載のデータ分類方法であって、
前記第４のステップは、
前記データの列方向で分類された前記第２の抽象化データを、前記抽象化レベル毎の第１の抽象化データ毎に集約することを特徴とするデータ分類方法。
【請求項４】
請求項１に記載のデータ分類方法であって、
前記マスタデータ情報は、
前記マスタデータを格納するフィールドと、当該フィールドの列方向の属性を示すフィールド名を有し、
前記第１のステップは、
前記第１の抽象化データと前記フィールド名との対応関係を設定することを特徴とするデータ分類方法。
【請求項５】
請求項１に記載のデータ分類方法であって、
前記抽象化レベルは、予め設定された階層を有することを特徴とするデータ分類方法。
【請求項６】
請求項１に記載のデータ分類方法であって、
前記計算機が、前記マスタデータから教師データを生成し、前記教師データから学習モデルを生成し、当該学習モデルによって機械学習を実行させて前記抽象化レベル毎に機械学習の結果を機械学習結果情報に格納する第５のステップをさらに含み、
前記第４のステップは、
前記機械学習結果情報に基づいて前記第２の抽象化データを分類することを特徴とするデータ分類方法。
【請求項７】
請求項６に記載のデータ分類方法であって、
前記機械学習結果情報は、
前記第１の抽象化データに対応するデータ種別が対応付けられ、
前記第４のステップは、
前記第１の抽象化データに該当する第２の抽象化データに前記データ種別を設定することを特徴とするデータ分類方法。
【請求項８】
プロセッサとメモリとストレージ装置を備えて、データフォーマットの異なる複数の種類のデータを分類するデータ分類装置であって、
前記データフォーマットの種類毎に前記データの代表値としてのマスタデータを格納したマスタデータ情報と、
前記データ及び前記マスタデータを、抽象化レベル毎に抽象化ルールを予め設定したルール情報を適用して抽象化する抽象化部と、
前記抽象化されたデータを分類する分類部と、を有し、
前記抽象化部は、
前記マスタデータ情報に、前記ルール情報を適用して、前記抽象化レベルごとに前記マスタデータを抽象化した第１の抽象化データを生成し、前記データフォーマットの異なる複数の種類のデータを取得したデータ情報に前記ルール情報を適用して前記抽象化レベルごとに前記データを抽象化した第２の抽象化データを生成し、
前記分類部は、
前記第２の抽象化データを、前記抽象化レベル毎の第１の抽象化データで分類することを特徴とするデータ分類装置。
【請求項９】
請求項８に記載のデータ分類装置であって、
前記データは、行と列を有し、
前記分類部は、
前記データの列方向で、前記第２の抽象化データを、前記抽象化レベル毎の第１の抽象化データで分類することを特徴とするデータ分類装置。
【請求項１０】
請求項９に記載のデータ分類装置であって、
前記分類部は、
前記データの列方向で分類された前記第２の抽象化データを、前記抽象化レベル毎の第１の抽象化データ毎に集約することを特徴とするデータ分類装置。
【請求項１１】
請求項８に記載のデータ分類装置であって、
前記マスタデータ情報は、
前記マスタデータを格納するフィールドと、当該フィールドの列方向の属性を示すフィールド名を有し、
前記抽象化部は、
前記第１の抽象化データと前記フィールド名との対応関係を設定することを特徴とするデータ分類装置。
【請求項１２】
請求項８に記載のデータ分類装置であって、
前記抽象化レベルは、予め設定された階層を有することを特徴とするデータ分類装置。
【請求項１３】
請求項８に記載のデータ分類装置であって、
前記マスタデータから教師データを生成し、前記教師データから学習モデルを生成し、当該学習モデルによって機械学習を実行させて前記抽象化レベル毎に機械学習の結果を機械学習結果情報に格納する学習部をさらに有し、
前記抽象化部は、
前記機械学習結果情報に基づいて前記第２の抽象化データを分類することを特徴とするデータ分類装置。
【請求項１４】
請求項１３に記載のデータ分類装置であって、
前記機械学習結果情報は、
前記第１の抽象化データに対応するデータ種別が対応付けられ、
前記抽象化部は、
前記第１の抽象化データに該当する第２の抽象化データに前記データ種別を設定することを特徴とするデータ分類装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、大量のデータを分類するデータ分類方法に関する。
【背景技術】
【０００２】
本発明は、ＩｏＴ（Internet of Things）技術の登場に伴って、様々なデータを分析して知見を得ることが行われている。例えば、製品を製造する工場などでは、生産設備が出力するデータや、材料のデータを計算機で収集して分析を行い、品質の向上や生産性の向上に役立てることができる。【０００３】
工場などでは多種多様な生産設備が稼動しており、各生産設備から出力されるデータのフォーマットは必ずしも統一されていないため、分析を行う計算機では各生産設備から収集したデータの種類やフォーマットに応じて分類する必要があった。【０００４】
例えば、特許文献１には、機械学習により計算機システムがユーザからのフィードバックを学習して教師データを生成し、教師データに基づくデータ分類器を生成し、当該データ分類器で分類対象のデータを分類する技術が開示されている。また、特許文献２には、計算機がデータ集合に含まれるデータを階層的に抽象化することにより、分類対象のデータを分類する技術が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】米国特許出願公開第２０１１／００７８１８７号明細書
【特許文献２】特開２０１１−００３１５６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記特許文献１では、機械学習の際にユーザからのフィードバックにより教師データを生成してからデータを分類する必要があり、時系列のデータを一度に処理できないという問題があった。さらに、上記従来例１、２の組み合わせでは、複数段階で階層的に抽象化されたデータを分類する場合、分類対象のデータを教師データの抽象化レベルに合わせなければならない、という問題があった。【０００７】
そこで本発明は、予め設定したマスタデータに基づいて、フォーマットの異なるデータの分類にかかるコストを抑制することを目的とする。
【課題を解決するための手段】
【０００８】
本発明は、プロセッサとメモリとストレージ装置を備えた計算機で、データフォーマットの異なる複数の種類のデータを分類するデータ分類方法であって、前記計算機が、前記データフォーマットの種類毎に前記データの代表値としてのマスタデータを格納したマスタデータ情報に、抽象化レベル毎に抽象化ルールを予め設定したルール情報を適用して、前記抽象化レベルごとに前記マスタデータを抽象化した第１の抽象化データを生成する第１のステップと、前記計算機が、前記データフォーマットの異なる複数の種類のデータをデータ情報として取得する第２のステップと、前記計算機が、前記取得したデータ情報に前記ルール情報を適用して前記抽象化レベルごとに前記データを抽象化した第２の抽象化データを生成する第３のステップと、前記計算機が、前記第２の抽象化データを、前記抽象化レベル毎の第１の抽象化データで分類する第４のステップと、を含む。
【発明の効果】
【０００９】
本発明によれば、分類担当者がデータの列名及びカラムの内容を理解していなくとも、マスタデータに基づく抽象化されたデータの種類で分類することが可能となる。これにより、分類担当者がデータを理解するまでの時間が不要となって、分類時間（データの理解や準備時間）を短縮して分類にかかるコストを抑制できる。
【図面の簡単な説明】
【００１０】
【図１Ａ】本発明の第１の実施例を示し、計算機システムの一例を示すブロック図である。
【図１Ｂ】本発明の第１の実施例を示し、データ収集サーバの一例を示すブロック図である。
【図２】本発明の第１の実施例を示し、マスタデータテーブルの一例を示す図である。
【図３】本発明の第１の実施例を示し、製造実績データテーブルの一例を示す図である。
【図４】本発明の第１の実施例を示し、圧縮列テーブルの一例を示す図である。
【図５】本発明の第１の実施例を示し、抽象化ルールテーブルの一例を示す図である。
【図６】本発明の第１の実施例を示し、抽象化後テーブルの一例を示す図である。
【図７】本発明の第１の実施例を示し、抽象化前後データ関連性テーブルの一例を示す図である。
【図８】本発明の第１の実施例を示し、データ分類サーバで行われるマスタデータの更新処理の一例を示すフローチャートである。
【図９】本発明の第１の実施例を示し、データ分類サーバのデータ抽象化部で行われるマスタデータの抽象化処理の一例を示すフローチャートである。
【図１０】本発明の第１の実施例を示し、データ分類サーバで行われる製造実績データの分類処理の一例を示すフローチャートである。
【図１１】本発明の第１の実施例を示し、データ分類サーバの列圧縮部で行われる製造実績データの圧縮処理の一例を示すフローチャートである。
【図１２】本発明の第１の実施例を示し、データ分類サーバのデータ抽象化部で行われる製造実績データの抽象化処理の一例を示すフローチャートである。
【図１３】本発明の第１の実施例を示し、データ分類サーバのデータ分類部で行われる製造実績データの分類処理の一例を示すフローチャートである。
【図１４】本発明の第１の実施例を示し、データ分類サーバが提供する抽象化レベルの設定画面の一例を示す画面イメージである。
【図１５】本発明の第１の実施例を示し、データ分類サーバが提供する製造実績データの分割結果表示画面の一例を示す画面イメージである。
【図１６】本発明の第２の実施例を示し、データ分類サーバの一例を示すブロック図である。
【図１７】本発明の第２の実施例を示し、列コンバージテーブルの一例を示す図である。
【図１８】本発明の第２の実施例を示し、データ分類サーバが提供する製造実績データの分類結果表示画面の一例を示す画面イメージである。
【図１９Ａ】本発明の第２の実施例を示し、データ分類サーバで行われる製造実績データの分類処理の一例を示すフローチャートである。
【図１９Ｂ】本発明の第２の実施例を示し、データ分類サーバの列コンバージ部で行われる製造実績データの再結合処理の一例を示すフローチャートである。
【図２０】本発明の第３の実施例を示し、データ分類サーバの一例を示すブロック図である。
【図２１Ａ】本発明の第３の実施例を示し、データ分類サーバが提供する抽象化レベル調整及び製造実績データ分類結果表示画面の一例を示す画面イメージの前半部である。
【図２１Ｂ】本発明の第３の実施例を示し、データ分類サーバが提供する抽象化レベル調整及び製造実績データ分類結果表示画面の一例を示す画面イメージの後半部である。
【図２２】本発明の第３の実施例を示し、抽象化前後データ関連性テーブルの一例を示す図である。
【図２３】本発明の第３の実施例を示し、抽象化条件テーブルの一例を示す図である。
【図２４】本発明の第３の実施例を示し、データ分類サーバで行われる学習及び分類処理の一例を示すフローチャートである。
【図２５】本発明の第３の実施例を示し、データ分類サーバのデータ分類部で行われる分類処理の一例を示すフローチャートである。
【図２６】本発明の第３の実施例を示し、データ分類サーバのデータ分類部で行われる製造実績データの分類処理の一例を示すフローチャートである。
【図２７】本発明の第３の実施例を示し、データ分類サーバのユーザ設定更新部で行われる処理の一例を示すフローチャートである。
【図２８】本発明の第３の実施例を示し、機械学習結果テーブルの一例を示す図である。
【発明を実施するための形態】
【００１１】
以下、本発明の一実施形態について添付図面を用いて説明する。
【実施例１】
【００１２】
図１Ａは本発明の第１の実施例を示し、計算機システムの一例を示すブロック図である。本発明を適用する計算機システムは、工場の製造過程で生成された製造実績データをデータ収集サーバ２００で収集し、ネットワーク１６０を介して接続されたデータ分類サーバ１００が製造実績データを取得し、データ分類サーバ１００が製造実績データの種類に応じて分類する例を示す。【００１３】
データ収集サーバ２００は、製造実績データの種類が異なる製造設備３１０−１〜３１０−Ｎから製造実績データを収集する。このため、収集された製造実績データは、製造設備３１０−１〜３１０−Ｎ毎に異なるデータフォーマットの異なるデータを含む。なお、以下の説明では、製造設備の全体を「−」のない符号３１０で示す。【００１４】
データ分類サーバ１００は、演算処理を行うＣＰＵ１０１と、プログラムやデータを保持する主記憶装置１０２と、ネットワーク１６０との間で通信を行う情報用通信インタフェース１０３と、ストレージ装置１３０にアクセスする外部記憶装置インタフェース１０４と、キーボードやマウスなどを含む入力装置１４０と、ディスプレイ等を含む出力装置１４１を有する。【００１５】
主記憶装置１０２には、製造実績データをデータフォーマットに基づいて分類する分類処理部１０がロードされてＣＰＵ１０１によって実行される。分類処理部１０は、マスタデータ更新検出部１０５と、データ受信部１０６と、列圧縮部１０７と、抽象化レベル出力部１０８と、列分割結果出力部１０９と、ユーザ設定更新検出部１１０と、列分割部１２０と、を含む。また、列分割部１２０は、抽象化レベル設定部１２１と、データ抽象化部１２２と、データ分類部１２３と、を含む。なお、各処理部の内容については後述する。【００１６】
ストレージ装置１３０は、プログラムやデータを格納する。図示の例では、ストレージ装置１３０には、マスタデータテーブル１５０と、製造実績データテーブル３００と、圧縮列テーブル４００と、抽象化ルールテーブル５００と、抽象化後テーブル６００と、抽象化前後データ関連性テーブル７００が格納される。各テーブルの内容については後述する。【００１７】
分類処理部１０の各機能部はプログラムとして主記憶装置１０２にロードされる。ＣＰＵ１０１は、各機能部のプログラムに従って処理することによって、所定の機能を提供する機能部として稼働する。例えば、ＣＰＵ１０１は、列分割プログラムに従って処理することで列分割部１２０として機能する。他のプログラムについても同様である。さらに、ＣＰＵ１０１は、各プログラムが実行する複数の処理のそれぞれの機能を提供する機能部としても稼働する。計算機及び計算機システムは、これらの機能部を含む装置及びシステムである。例えば、データ分類サーバ１００を、データ分類装置として機能させてもよい。【００１８】
分類処理部１０の各機能を実現するプログラム、テーブル等の情報は、ストレージ装置１３０や不揮発性半導体メモリ、ハードディスクドライブ、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等の記憶デバイス、または、ＩＣカード、ＳＤカード、ＤＶＤ等の計算機読み取り可能な非一時的データ記憶媒体に格納することができる。【００１９】
本実施例では、複数種のデータフォーマットを出力する製造設備３１０からの製造実績データをデータ分類サーバ１００が処理する例を示すが、複数種のデータフォーマットからなるデータあればよく、製造実績データに限定されるものではない。【００２０】
図１Ｂは、データ収集サーバ２００の一例を示すブロック図である。データ収集サーバ２００は、演算処理を行うＣＰＵ２０１と、プログラムやデータを保持する主記憶装置２０２と、ネットワーク１６０との間で通信を行う情報用通信インタフェース２０３と、ストレージ装置２３０にアクセスする外部記憶装置インタフェース２０４と、制御系ネットワーク２２０を介して製造設備３１０にアクセスする制御用通信インタフェース２０５を含む。【００２１】
主記憶装置２０２には、複数の製造設備３１０−１〜３１０−Ｎから製造実績データを収集してストレージ装置２３０の製造実績データテーブル２４０へ格納する製造実績データ収集部２１１と、データ分類サーバ１００からの要求に応じてストレージ装置２３０の製造実績データテーブル２４０から製造実績データを読み出して、データ分類サーバ１００に送信するデータ送信部２１０がロードされる。【００２２】
製造実績データ収集部２１１は、所定の周期で各製造設備３１０から製造実績データを収集してストレージ装置２３０の製造実績データテーブル２４０に書き込む。なお、各製造設備３１０がそれぞれ製造実績データを生成すると、データ収集サーバ２００へ製造実績データを送信するようにしてもよい。【００２３】
次に、図１Ａに示した分類処理部１０を構成する各処理部の概要を説明する。まず、マスタデータ更新検出部１０５は、データ分類サーバ１００に予め設定されたマスタデータテーブル１５０が更新されたことを検出してマスタデータの抽象化結果を出力装置１４１へ出力する。【００２４】
データ受信部１０６は、データ収集サーバ２００へ製造実績データを要求し、データ収集サーバ２００から製造実績データを受信して、ストレージ装置１３０の製造実績データテーブル３００へ格納する。【００２５】
列圧縮部１０７は、製造実績データテーブル３００に格納された製造実績データについて、列方向にデータ圧縮を行って、圧縮列テーブル４００へ格納する。抽象化レベル出力部１０８は、マスタデータテーブル１５０のマスタデータを抽象化した結果を出力装置１４１へ表示する。なお、抽象化については後述する。列分割結果出力部１０９は、マスタデータテーブル１５０に基づいて分類された製造実績データを出力装置１４１へ表示する。【００２６】
ユーザ設定更新検出部１１０は、設定された抽象化レベルが変更されたことを検出すると、後述するように、製造実績データを変更された抽象化レベルまで分類する。列分割部１２０の抽象化レベル設定部１２１で処理を行う抽象化レベルを設定する。列分割部１２０のデータ抽象化部１２２は、抽象化ルールテーブル５００に基づいて製造実績データを抽象化して抽象化後テーブル６００に格納する。列分割部１２０のデータ分類部１２３は、抽象化後テーブル６００のデータと抽象化レベルと抽象化前の製造実績データの関係を設定する。【００２７】
次に、データ分類サーバ１００が使用する各テーブルについて説明する。図２は、マスタデータテーブルの一例を示す図である。マスタデータテーブル１５０は、製造設備３１０−１〜３１０−Ｎがそれぞれ出力する製造実績データの種類毎の代表値を予め設定したテーブルである。このマスタデータテーブル１５０には、製造設備３１０のデータファーマットが変更あるいは追加されると、管理者などが操作する入力装置１４０等によって新たなマスタデータが登録あるいは更新される。【００２８】
マスタデータテーブル１５０には、データフォーマット毎にレコードが追加される。例えば、製造設備３１０−Ｎ−１と製造設備３１０−Ｎのデータフォーマットが同一であれば、何れか一方の代表値をマスタデータテーブル１５０に設定することができる。【００２９】
マスタデータテーブル１５０は、行番号１５１と、製造設備３１０が付与したタイムスタンプ等を格納する製品生産時刻１５２と、製品の識別子を格納する個体識別子１５３と、製造設備３１０の名称を格納する設備名１５４と、製造設備３１０の識別子を格納する設備番号１５５と、製造実績データに付与されたパラメータを格納するパラメータ値１５６と、をひとつのレコードに含む。また、マスタデータテーブル１５０には、マスタデータを格納する各フィールドについて、列方向の属性を示すフィールド名１５７が設定される。なお、フィールド名１５７は、各データフォーマットで使用する値が設定される。【００３０】
図２の例では、カラム（製品生産時刻１５２〜パラメータ値１５６まで）の５つのカラムで、製造設備３１−１〜３１０−Ｎのマスタデータを格納する例を示すが、これに限定されるものではなく、製造設備３１０−１〜３１０−Ｎがそれぞれ生成する製造実績データの全てのカラム（フィールド名）を含むようにしてもよい。なお、行番号１５１は、データ分類サーバ１００によって付与される。【００３１】
また、マスタデータは、マスタデータテーブル１５０の全てのカラムにデータが格納される必要はなく、製造実績データに含まれるカラムに値を格納すればよい。例えば、製造設備３１０−１が生成した製造実績データでは、フィールド名１５７が製品生産時刻１５２と、個体識別子１５３と、設備番号１５５とからなるデータに行番号１５１を付加したデータであってもよく、あるいは、製造設備３１０−Ｎが生成した製造実績データでは、製品生産時刻１５２と、設備番号１５５と、図示しない作業者名とロット番号からなるデータに行番号１５１を付加したデータであってもよい。【００３２】
図３は、製造実績データテーブル３００の一例を示す図である。製造実績データテーブル３００は、データ収集サーバ２００が、各製造設備３１０−１〜３１０−Ｎが出力するデータを時系列的に収集し、データ分類サーバ１００が取得した情報である。データ分類サーバ１００は、所定のタイミングでデータ収集サーバ２００に各製造設備３１０−１〜３１０−Ｎが出力したデータを要求し、受信したデータを製造実績データテーブル３００に格納する。【００３３】
製造実績データテーブル３００は、行番号３０１と、カラム３０２〜３０５を含む。カラム３０２〜３０５には、データ収集サーバ２００から受信したフィールドの値が順次格納される。上述したように、製造実績データテーブル３００には、複数の製造設備３１０−１〜３１０−Ｎからフォーマットの異なるデータが時系列的に格納されるため、カラム３０２〜３０５に格納されるデータの種類は、レコード毎に異なる場合が生じる。【００３４】
なお、図示の例ではカラム３０２〜３０５のフィールド名として、データ分類サーバ１００がＤＡＴＡ００１〜ＤＡＴＡ００４を割り当てた例を示す。また、製造実績データテーブル３００のカラムの数は、データ分類サーバ１００がデータ収集サーバ２００から受信したレコードのうち最長のレコード長に応じた数とすればよい。また、行番号３０１は、データ収集サーバ２００が付与した値を格納すればよい。【００３５】
図４は、圧縮列テーブル４００の一例を示す図である。圧縮列テーブル４００は、データ分類サーバ１００が、製造実績データテーブル３００のデータを列（カラム）方向に圧縮した例を示す。【００３６】
圧縮列テーブル４００は、製造実績データテーブル３００のカラムの名称を格納する列名４０１と、圧縮対象のデータを格納した製造実績データテーブル３００の行番号３０１を格納する代表データ行番号４０２と、圧縮対象のデータを含む製造実績データテーブル３００の行番号３０１を格納する圧縮データ行番号４０３と、をひとつのレコードに含む。【００３７】
データ分類サーバ１００の列圧縮部１０７は、製造実績データテーブル３００で同一のカラム３０２〜３０５の値が他のレコード（行）に存在する場合、圧縮データ行番号４０３に複数の行番号３０１を格納して、ひとつのレコードに圧縮する。【００３８】
例えば、図３の製造実績データテーブル３００では、行番号３０１＝「１」のカラム３０２には「神戸太郎」が格納され、行番号３０１＝「７」のカラム３０２にも「神戸太郎」が格納される。データ分類サーバ１００の列圧縮部１０７は、同一のカラム３０２で同一の値「神戸太郎」を格納している行番号３０１＝「１」、「７」を、圧縮列テーブル４００の圧縮データ行番号４０３へ格納し、代表データ行番号４０２へ先頭の行番号３０１＝「１」を格納し、当該データを格納するフィールド名＝「ＤＡＴＡ００１」を列名４０１へ格納する。【００３９】
なお、データ分類サーバ１００の列圧縮部１０７は、同一のデータを含む最先の行番号３０１を代表データ行番号４０２へ格納すればよい。また、データ分類サーバ１００の列圧縮部１０７は、同一のデータがないカラムについては、当該カラムの行番号３０１を代表データ行番号４０２と圧縮データ行番号４０３へ格納すればよい。これにより、圧縮列テーブル４００は、製造実績データテーブル３００を列方向へ圧縮したテーブルとして利用することが可能となる。【００４０】
図５は、抽象化ルールテーブル５００の一例を示す図である。抽象化ルールテーブル５００は、製造実績データテーブル３００のカラム３０２〜３０５の値を抽象化する定義を抽象化レベル毎に予め設定したテーブルである。【００４１】
抽象化ルールテーブル５００は、抽象化のレベルを格納する抽象化レベル５０１と、製造実績データテーブル３００の各カラム３０２〜３０５の内容を抽象化する定義を格納した抽象化ルール５０２を含む。【００４２】
抽象化レベル５０１は、抽象化する度合を決定する値を示し、抽象化レベルの値が大きくなるにつれて、抽象化の度合は低下する。すなわち、抽象化レベルの値が小さいほど製造実績データテーブル３００の値は抽象化され、抽象化レベルの値が大きいほど製造実績データテーブル３００の値に近付く。【００４３】
図示の例では、抽象化レベル５０１が最も小さい「１」で抽象化の度合は最大となる。すなわち、抽象化前のデータが４桁の年と２桁の月日からなるデータは、日付型として抽象化される。同様に、漢字やアルファベットや数字を含むデータは、文字列として抽象化され、０−９からなるデータは数値型として抽象化される。【００４４】
また、抽象化レベル５０１が２番目に小さい「２」では、文字列からなるデータは、漢字を含む漢字文字列と、アルファベットと数字を含む英数文字列と、アルファベットからなる英文字文字列のいずれかに抽象化される。同様に、数値からなるデータは、小数点を含む小数と、小数点を含まない整数の何れかに抽象化される。【００４５】
抽象化レベル５０１が３番目の「３」では、文字列からなるデータは、さらに細分化されて、文字数＋漢字文字列、文字数＋英数文字列または文字数＋英文字文字列の何れかに抽象化される。【００４６】
図６は、抽象化後テーブル６００の一例を示す図である。抽象化後テーブル６００は、データ分類サーバ１００のデータ抽象化部１２２が、製造実績データテーブル３００またはマスタデータテーブル１５０を抽象化ルールテーブル５００に従って抽象化した結果を格納する。【００４７】
抽象化後テーブル６００は、抽象化の度合を格納する抽象化レベル６０１と、抽象化前のフィールド名を格納する抽象化前列名６０２と、抽象化前の製造実績データテーブル３００の行番号３０１を格納する抽象化前行番号６０３と、抽象化後のデータを格納する抽象化後データ６０４とをひとつのレコードに含む。【００４８】
図示では、抽象化レベル６０１＝２までの例を示すが、実際には分類で指定されたレベルｘまで、データ抽象化部１２２が抽象化レベル６０１＝１〜ｘまでのレベルで製造実績データテーブル３００を抽象化した結果が抽象化後テーブル６００に格納される。【００４９】
なお、図示の例の抽象化前列名６０２の「生産時刻」は、後述するように、マスタデータテーブル１５０のフィールド名１５７を格納したレコードで、抽象化後データ６０４にはマスタデータテーブル１５０の抽象化結果が格納される。【００５０】
図７は、抽象化前後データ関連性テーブル７００の一例を示す図である。抽象化前後データ関連性テーブル７００は、データ分類サーバ１００のデータ分類部１２３が、抽象化後テーブル６００のデータと、圧縮列テーブル４００のデータの対応関係を抽出し、製造実績データテーブル３００の列ごとに抽象化後データ７０４で分類した結果を格納する。【００５１】
抽象化前後データ関連性テーブル７００は、圧縮列テーブル４００の列名４０１を格納する抽象化前列名７０１と、圧縮列テーブル４００の圧縮データ行番号４０３の値を格納する抽象化前行番号７０２と、抽象化後テーブル６００の抽象化レベル６０１を格納する抽象化レベル７０３と、抽象化後テーブル６００の抽象化後データ６０４を格納する抽象化後データ７０４とをひとつのレコードに含む。【００５２】
抽象化前後データ関連性テーブル７００の抽象化前列名７０１と抽象化前行番号７０２を参照することで製造実績データテーブル３００のデータが特定される。そして、特定されたデータの抽象化レベル７０３ごとの抽象化後データ７０４を取得することができる。すなわち、データ分類サーバ１００は、抽象化前後データ関連性テーブル７００を参照することで、製造実績データテーブル３００のデータがどのように抽象化されたのかを取得することができる。【００５３】
図８は、データ分類サーバ１００のマスタデータ更新検出部１０５で行われる処理の一例を示すフローチャートである。この処理は、マスタデータテーブル１５０が更新されるとステップＳ１０２以降の処理が実行される。【００５４】
ステップＳ１０１でデータ分類サーバ１００のマスタデータ更新検出部１０５がマスタデータテーブル１５０の更新を検出すると、ステップＳ１０２へ進む。ステップＳ１０２では、抽象化レベル設定部１２１が、抽象化するレベルを最も高いレベル＝１に初期化する。本実施例では、抽象化レベル設定部１２１が変数ＩＤ−Ａに抽象化レベル＝１を設定し、抽象化の度合が高い抽象化レベルから抽象化の度合が低い抽象化レベルへ順次低下させる例を示す。【００５５】
ステップＳ１０３では、データ分類サーバ１００のマスタデータ更新検出部１０５が、抽象化ルールテーブル５００を参照して、現在の抽象化レベルに対応する抽象化ルール５０２ルールが存在するか否かを判定する。抽象化ルールテーブル５００に現在の抽象化ルール５０２が存在すればステップＳ１０４へ進み、存在しない場合には処理を終了する。【００５６】
ステップＳ１０４では、データ分類サーバ１００のマスタデータ更新検出部１０５が、マスタデータテーブル１５０のマスタデータの全ての列について処理を完了したか否かを判定する。全ての列について処理を完了していなければステップＳ１０５へ進み、全ての列について処理を完了していればステップＳ１０７へ進む。【００５７】
ステップＳ１０５では、データ抽象化部１２２が、処理対象の列のデータを取得する。次に、ステップＳ１０６では、データ抽象化部１２２が、取得したデータを抽象化ルールテーブル５００に基づいて抽象化する。この抽象化の処理は図９の処理で詳述する。【００５８】
一方、現在の抽象化レベルで全ての列について処理が完了したステップＳ１０７では、抽象化レベル設定部１２１が、現在の抽象化レベルを一段階低いレベル（レベルの値は増大）に設定する。現在の抽象化レベルが「１」であれば、抽象化レベルを「２」に変更して抽象化の度合を下げてから上記ステップＳ１０３以降の処理を繰り返す。【００５９】
データ分類サーバ１００は、全てのマスタデータについて、抽象化ルールテーブル５００の全ての抽象化レベル５０１を適用して抽象化した結果を出力装置１４１に表示する。データ分類サーバ１００の管理者は、更新されたマスタデータを含む抽象化結果を出力装置１４１で確認することができる。【００６０】
なお、上記処理は管理者などが操作する入力装置１４０からの指令に応じて実施してもよい。【００６１】
図９は、データ分類サーバ１００のデータ抽象化部１２２で行われるマスタデータの抽象化処理の一例を示すフローチャートである。この処理は、図８のステップＳ１０６で行われる。【００６２】
データ抽象化部１２２は、指定された列名（ＩＤ−Ｂ）で、マスタデータテーブル１５０の処理対象の行番号（ＩＤ−Ｃ）のデータを取得する（Ｓ１１０１、Ｓ１１０２）。なお、データ抽象化部１２２は、マスタデータテーブル１５０の先頭の行番号から順次選択する。【００６３】
次に、ステップＳ１１０３でデータ抽象化部１２２は、抽象化ルールテーブル５００を参照して指定された抽象化レベル（ＩＤ−Ａ）の抽象化ルール５０２を取得する。ステップＳ１１０４ではデータ抽象化部１２２が、上記ステップＳ１１０２で取得したデータに対して、ステップＳ１１０３で取得した抽象化ルールを適用して抽象化を実施する。【００６４】
ステップＳ１１０５では、データ抽象化部１２２が、抽象化の結果を抽象化後テーブル６００に追加する。ここで、データ抽象化部１２２は、抽象化の結果を抽象化レベルがＩＤ−Ａ、列名がＩＤ−Ｂ、行番号がＩＤ−Ｃのデータとして抽象化後テーブル６００に追加する。【００６５】
なお、抽象化後テーブル６００には、マスタデータテーブル１５０の抽象化結果に加えて、後述するように製造実績データテーブル３００の抽象化結果も格納される。しかし、抽象化後テーブル６００では、抽象化前列名６０２で「製品生産時刻」などマスタデータテーブル１５０の列名が付与されているデータと、「ＤＡＴＡ００１」など製造実績データテーブル３００の列名が付与されているデータから、マスタデータの抽象化結果と製造実績データの抽象化結果を識別することができる。【００６６】
ステップＳ１１０６で、データ抽象化部１２２は、マスタデータテーブル１５０で列名がＩＤ−Ｂの全てのレコードについて処理が完了したか否かを判定する。データ抽象化部１２２は、全てのレコードについて処理が完了していなければステップＳ１１０１へ戻って上記処理を繰り返し、全てのレコードについて処理が完了していれば処理を終了する。【００６７】
以上のように、マスタデータの抽象化処理では、マスタデータテーブル１５０のフィールド名１５７を抽象化前列名６０２に格納して抽象化後データ６０４と対応付けることができる。【００６８】
図１０は、データ分類サーバ１００で行われる製造実績データの分類処理の一例を示すフローチャートである。この処理は、データ分類サーバ１００の管理者などユーザからの指令に基づいて開始される。本実施例では、ユーザの設定の変更を契機に製造実績データの分類処理を行う例を示す。なお、ユーザが変更する設定としては、後述するように、抽象化レベルを変更した場合に、データ分類サーバ１００のユーザ設定更新検出部１１０が設定変更として検出する。【００６９】
データ分類サーバ１００のユーザ設定更新検出部１１０が、ユーザ設定の更新を検出すると処理を開始する（Ｓ２０１）。ステップＳ２０２では、抽象化レベル設定部１２１が、抽象化レベル（ＩＤ−Ｄ）として最も高いレベル＝１に設定して初期化する。【００７０】
ステップＳ２０３では、ユーザ設定更新検出部１１０が抽象化ルールテーブル５００を参照して、ユーザ設定が変更された抽象化レベルを取得し、現在の抽象化レベル（ＩＤ−Ｄ）とユーザ設定の抽象化レベルに対応する抽象化ルール５０２が存在するか否かを判定する。抽象化ルールテーブル５００に現在の抽象化レベルの抽象化ルール及びユーザ設定の抽象化ルールが存在すればステップＳ２０４へ進み、存在しない場合には処理を終了する。【００７１】
ステップＳ２０４では、データ分類サーバ１００のユーザ設定更新検出部１１０が、製造実績データテーブル３００の全ての列について処理を完了したか否かを判定する。全ての列について処理を完了していなければステップＳ２０５へ進み、全ての列について処理を完了していればステップＳ２１０へ進む。【００７２】
ステップＳ２０５では、データ分類サーバ１００の列圧縮部１０７が、製造実績データテーブル３００から未処理の列（列名がＩＤ−Ｅ）を取得する。ステップＳ２０６では、列圧縮部１０７が、取得した列名ＩＤ−Ｂについて全てのデータについて処理が完了したか否かを判定する。列圧縮部１０７は、全てのデータについて処理が完了していなければステップＳ２０７の処理へ進み、全てのデータについて処理が完了していればステップＳ２０８の処理へ進む。【００７３】
ステップＳ２０７では、データ分類サーバ１００の列圧縮部１０７が、選択された列（ＩＤ−Ｅ）で未処理の行番号（ＩＤ−Ｆ）を選択して列方向の圧縮を実施する。列方向の圧縮については、図１１のステップＳ２１０１〜２１０３で後述する。【００７４】
一方、列（ＩＤ−Ｅ）について列圧縮が完了しているステップＳ２０８では、データ抽象化部１２２が、ステップＳ２０５で取得した列（ＩＤ−Ｅ）のデータにいついて、指定された抽象化レベル（ＩＤ−Ｄ）で抽象化する。抽象化の処理については図１２のステップＳ２２０１〜Ｓ２２０６で後述する。【００７５】
ステップＳ２０９では、データ分類部１２３が、上記ステップＳ２０８の抽象化の結果に基づいて、列データを分割する。列方向のデータの分割は、製造実績データテーブル３００のカラム３０２〜３０５単位で抽象化後データ６０４が同一のデータを分類した情報である。なお、分割処理については図１３のステップＳ２３０１〜Ｓ２３０５で後述する。【００７６】
一方、上記ステップＳ２０４の判定で、製造実績データテーブル３００の全てのデータについて処理を完了した場合のステップＳ２１０では、列分割結果出力部１０９がステップＳ２０９の結果を出力装置１４１に表示する。そして、抽象化レベル設定部１２１は、抽象化レベル（ＩＤ−Ｄ）をひとつ下げてからステップＳ２０３へ戻って上記処理を繰り返す。【００７７】
上記処理によって、製造実績データテーブル３００のデータは、列圧縮部１０７で列方向に圧縮された後に、データ抽象化部１２２でユーザ設定の抽象化レベルまで抽象化され、その後、抽象化の結果に応じてデータ分類部１２３が列方向でデータを分割する。【００７８】
図１１は、データ分類サーバ１００の列圧縮部１０７で行われる製造実績データの圧縮処理の一例を示すフローチャートである。この処理は、図１０のステップＳ２０７で行われる。【００７９】
まず、ステップＳ２１０１で列圧縮部１０７は、製造実績データテーブル３００の列名がＩＤ−Ｅの列について、行番号がＩＤ−Ｆのデータと同じ内容のデータを検索する。次に、ステップＳ２１０２で列圧縮部１０７は、検索した行番号をＩＤ−Ｇ１〜ＩＤ−Ｇｘとして取得する。ただし、ｘは自然数である。【００８０】
ステップＳ２１０３で列圧縮部１０７は、列名４０１がＩＤ−Ｅで、代表データ行番号４０２がＩＤ−Ｆで、圧縮データ行番号４０３がＩＤ−Ｇ１〜ＩＤ−Ｇｘのレコードを圧縮列テーブル４００に追加する。【００８１】
上記処理を繰り返すことで、製造実績データテーブル３００の各カラム３０２〜３０５の内容が列方向で圧縮され、圧縮列テーブル４００に格納される。【００８２】
図１２は、データ分類サーバ１００のデータ抽象化部１２２で行われる製造実績データの抽象化処理の一例を示すフローチャートである。この処理は、図１０のステップＳ２０８で行われる。【００８３】
まず、ステップＳ２２０１でデータ抽象化部１２２は、圧縮列テーブル４００の列名４０１がＩＤ−Ｅの列の全てのデータについて処理が完了したか否かを判定し、完了していなければステップＳ２２０２へ進み、完了していれば処理を終了する。【００８４】
ステップＳ２２０２では、データ抽象化部１２２が圧縮列テーブル４００から列名４０１がＩＤ−Ｅで未処理のデータを取得し、当該データの代表データ行番号４０２を変数ＩＤ−Ｈに設定する。ステップＳ２２０３では、データ抽象化部１２２が代表データ行番号４０２を変数ＩＤ−Ｈ、列名４０１がＩＤ−Ｅのデータを製造実績データテーブル３００から取得する。【００８５】
ステップＳ２２０４でデータ抽象化部１２２は、抽象化レベルがＩＤ−Ｄの抽象化ルールを抽象化ルールテーブル５００から取得する。そして、ステップＳ２２０５でデータ抽象化部１２２は、取得した抽象化ルール５０２に基づいて、ステップＳ２２０３で取得したデータを抽象化する。【００８６】
ステップＳ２２０６でデータ抽象化部１２２は、ステップＳ２２０５の抽象化の結果を抽象化後データ６０４として、抽象化レベル６０１がＩＤ−Ｄで、抽象化前列名６０２がＩＤ−Ｅで、抽象化前行番号６０３がＩＤ−Ｈのレコードを抽象化後テーブル６００に追加する。【００８７】
以上の処理によって、圧縮列テーブル４００の列名４０１がＩＤ−Ｅに該当するデータが順次抽象化されて抽象化後テーブル６００に格納される。【００８８】
図１３は、データ分類サーバ１００のデータ分類部１２３で行われる抽象化結果の分類処理の一例を示すフローチャートである。この処理は、図１０のステップＳ２０９で行われる。【００８９】
まず、ステップＳ２３０１でデータ分類部１２３は、抽象化後テーブル６００の抽象化レベル６０１がＩＤ−Ｄで、抽象化前列名６０２がＩＤ−Ｅの全てのデータについて処理が完了したか否かを判定し、完了していなければステップＳ２３０２へ進み、完了していれば処理を終了する。【００９０】
ステップＳ２３０２では、データ分類部１２３が抽象化後テーブル６００の抽象化レベル６０１がＩＤ−Ｄで、抽象化前列名６０２がＩＤ−Ｅのデータのうち未処理の抽象化後データ６０４を取得し、抽象化結果（ＩＤ−Ｊ）とする。【００９１】
ステップＳ２３０３でデータ分類部１２３は、抽象化後テーブル６００から抽象化前列名６０２がＩＤ−Ｅで、かつ、抽象化後データ６０４がＩＤ−Ｊのデータを全て選択する。データ分類部１２３は、選択したデータの抽象化前行番号６０３を取得して変数ＩＤ−Ｉ１〜ＩＤ−Ｉｙに格納する。なお、ｙは自然数である。【００９２】
次に、ステップＳ２３４０でデータ分類部１２３は、抽象化前列名７０１がＩＤ−Ｅで、抽象化前行番号７０２がＩＤ−Ｉ１〜ＩＤ−Ｉｙで、抽象化レベル７０３がＩＤ−Ｄで、抽象化後データがＩＤ−Ｊの行を抽象化前後データ関連性テーブル７００に追加する。【００９３】
上記処理によって、抽象化前の製造実績データの列名と行番号と、抽象化後のデータと抽象化レベルの対応関係を示す抽象化前後データ関連性テーブル７００に製造実績データテーブル３００の抽象化結果が格納される。【００９４】
図１４は、データ分類サーバ１００の抽象化レベル出力部１０８が出力装置１４１に表示する抽象化レベルの設定画面の一例を示す画面イメージである。抽象化レベル出力部１０８は、例えば、図８のステップＳ１０８等で抽象化レベルと抽象化の結果を出力装置１４１に表示する。【００９５】
抽象化レベル設定画面１０００は、マスタデータテーブル１５０の抽象化後データ６０４を抽象化レベル毎のグラフ１０１０で表示する表示領域１００１と、表示する抽象化レベルを設定するポインタ１００２と、抽象化レベルの設定をユーザ設定として反映させる実行ボタン１００３を含む。【００９６】
図示の例では、マスタデータテーブル１５０の抽象化を実施して、マスタデータテーブル１５０の列名１５２〜１５６を含むデータの抽象化後データ６０４を、抽象化レベル設定画面１０００としてグラフ１０１０で出力装置１４１に表示する例を示す。【００９７】
マスタデータテーブル１５０を抽象化したグラフ１０１０の起点には、抽象化の最上位となる「実績データ」が配置され、その直下には最も抽象化の度合いが最も高い抽象化レベル＝１の抽象化後データが「文字列」、「数値型」及び「日付型」として表示される。なお、本実施例では、年月日と時刻を含むデータを日付型と定義するが、日付と時刻を分けて管理するようにしてもよい。【００９８】
抽象化レベル＝１の直下には、２番目に抽象化の度合いが高い抽象化レベル＝２の抽象化後データが「英字数字型文字列」、「英字型文字列」、「漢字字型文字列」、「整数」及び「小数」として表示される。【００９９】
抽象化レベル＝２の直下には、３番目に抽象化の度合いが高い抽象化レベル＝３の抽象化後データが「文字数＋英字数字型文字列」、「文字数＋英字型文字列」及び「文字数＋漢字字型文字列」として表示される。【０１００】
マスタデータのグラフ１０１０は、このように、抽象化レベルの階層ごとにマスタデータを抽象化した抽象化後データ６０４をデータの属性（種類）の関係でグラフとして配置したものである。【０１０１】
データ分類サーバ１００の管理者などのユーザがポインタ１００２を操作して抽象化レベルを設定し、実行ボタン１００３をクリックすると、データ分類サーバ１００は、新たな抽象化レベルの設定に応じて抽象化後データをグラフ１０１０で出力装置１４１に表示する。【０１０２】
なお、マスタデータテーブル１５０を抽象化した抽象化後データ（第１の抽象化データ）６０４のグラフ１０１０は、データ分類サーバ１００が抽象化後テーブル６００を参照することでマスタデータテーブル１５０のフィールド名１５７である抽象化前列名６０２を特定可能である。【０１０３】
図１５は、データ分類サーバ１００の列コンバージ部１１１が出力装置１４１に表示する製造実績データ分類結果表示画面１１００の一例を示す画面イメージである。列分割結果出力部１０９は、例えば、図１０のステップＳ２１０等でカラム３０２〜３０５毎に抽象化後データに応じて分類された製造実績データを出力装置１４１に表示する。【０１０４】
製造実績データ分類結果表示画面１１００は、製造実績データテーブル３００のカラム３０２〜３０５の名称（ＤＡＴＡ００１）毎に、抽象化後データが同一のデータがまとめて表示される。【０１０５】
図示の例では、製造実績データテーブル３００のカラム３０２の名称が「ＤＡＴＡ００１」の列データは、抽象化後データが英数文字列の値として「ＳＭ０１」等が分類され、抽象化後データが小数の値として「−０．２２７３」等が分類され、抽象化後データが漢字文字列の値として「横浜太郎」等が分類される。【０１０６】
製造実績データ分類結果表示画面１１００を参照することで、データ分類サーバ１００の管理者などのユーザは、マスタデータのグラフ（抽象化後データ）１０１０によって分類される製造実績データテーブル３００の内容を取得することができる。【０１０７】
以上のように、本実施例１のデータ分類サーバ１００では、マスタデータテーブル１５０のマスタデータに抽象化レベル毎の抽象化ルール５０２を適用して抽象化後データ６０４（第１の抽象化データ）を生成し、抽象化レベル毎に抽象化後のマスタデータを種類毎に分類したグラフ１０１０（図１４参照）を生成することができる。そして、データ分類サーバ１００は、製造実績データテーブル３００のカラム３０２〜３０５毎に抽象化ルールテーブル５００に基づいて製造実績データを抽象化して抽象化後データ６０４（第２の抽象化データ）を生成し、上述の抽象化後のマスタデータのグラフ１０１０に対応付けて抽象化後の製造実績データを分類することができる。【０１０８】
本実施例１では、データフォーマットの異なる複数の製造設備３１０−１〜３１０−Ｎから時系列で製造実績データを受け付けて製造実績データテーブル３００に格納し、製造実績データを列ごとに抽象化して、抽象化後のマスタデータのグラフ１０１０に応じて抽象化後の製造実績データを分類することができる。【０１０９】
なお、上記実施例１では、マスタデータテーブル１５０のマスタデータを抽象化した抽象化後データと、製造実績データテーブル３００の製造実績データを抽象化した抽象化後データを、同一の抽象化後テーブル６００に格納したがこれに限定されるものではない。例えば、マスタデータテーブル１５０のマスタデータを抽象化して抽象化後データを第１の抽象化後テーブルに格納し、製造実績データテーブル３００の製造実績データを抽象化した抽象化後データを第２の抽象化後テーブルに分離して格納してもよい。【０１１０】
以上のように、データ分類サーバ１００を利用するユーザ（分析担当者）が製造実績データの列名（フィールド名１５７）及びカラムの内容を理解していなくとも、データ分類サーバ１００が製造実績データをマスタデータのカテゴリ（グラフ１０１０）で分類することが可能となる。これにより、分析担当者がデータ理解するまでの時間が不要となって、分析時間（データの理解や準備時間）を短縮して分析処理にかかるコストを抑制できる。【０１１１】
また、データ分類サーバ１００は、製造実績データのデータ種別（抽象化後データ６０４）を、マスタデータのグラフ１０１０を利用して製造実績データテーブル３００の列毎に特定するので、時系列の製造実績データを高速に処理することが可能となる。
【実施例２】
【０１１２】
図１６は、第２の実施例のデータ分類サーバ１００の一例を示すブロック図である。第２の実施例では、前記第１実施例の分類処理部１０に抽象化後の製造実績データを抽象化後データ６０４単位でまとめる列コンバージ部１１１を追加し、ストレージ装置１３０に列コンバージテーブル８００を追加したものである。その他の構成は、前記第１実施例と同様である。【０１１３】
図１７は、列コンバージテーブル８００の一例を示す図である。この列コンバージテーブル８００は、後述する列コンバージ部１１１の処理によって生成される。【０１１４】
列コンバージテーブル８００は、抽象化前後データ関連性テーブル７００の抽象化後データ７０４を格納する抽象化後データ８０１と、抽象化前列名７０１を格納する列名８０２と、抽象化前行番号７０２を格納する行番号８０３とをひとつのレコードに含む。【０１１５】
データ分類サーバ１００は、列コンバージテーブル８００を参照することにより、製造実績データを抽象化した抽象化後データ６０４とマスタデータのグラフ１０１０を対応付けることができる。すなわち、データ分類サーバ１００は、製造実績データテーブル３００の列にかかわらず製造実績データをマスタデータのグラフ１０１０に対応付けて分類することができる。【０１１６】
図１８は、データ分類サーバ１００の列コンバージ部１１１が出力装置１４１に表示する製造実績データ分類結果表示画面１１００の一例を示す画面イメージである。列コンバージ部１１１は、後述の図１９Ｂの処理によって、マスタデータのグラフ１０１０と同一の抽象化後データで製造実績データテーブル３００を分類した結果を、製造実績データ分類結果表示画面１１００として出力装置１４１に表示する。【０１１７】
製造実績データ分類結果表示画面１１００は、前記実施例１の図１５とは異なり、製造実績データテーブル３００のカラム３０２〜３０５に係わらず、抽象化後データがグラフ１０１０と同一の抽象化データを有する製造実績データが列コンバージ部１１１によって出力される。図示の例では、抽象化後データがグラフ１０１０を構成する「英字数字文字列」のデータとして「ＳＭ０１０」、「Ｃ００１０」が分類され、「漢字型文字列」として「神戸太郎」、「横浜太郎」及び「着磁機」が分類され、同様に数値や日付の製造実績データが分類される。【０１１８】
本実施例２の製造実績データ分類結果表示画面１１００を参照することで、データ分類サーバ１００の管理者などのユーザは、抽象化後データに対応する製造実績データテーブル３００のデータを容易に把握することができる。【０１１９】
図１９Ａは、データ分類サーバ１００で行われる製造実績データの分類処理の一例を示すフローチャートである。この処理は、前記実施例１の図１０の処理に、ステップＳ３１００の分類されたデータのコンバージ処理を追加したもので、その他の処理は前記実施例１と同様である。【０１２０】
ステップＳ２０４〜Ｓ２０９の処理で、カラム３０２〜３０５毎に列方向のデータの分割が全て完了すると、ステップＳ３１００では、列コンバージ部１１１が列コンバージテーブル８００を生成する。【０１２１】
そして、ステップＳ２１０では、データ分類サーバ１００の列コンバージ部１１１が列コンバージテーブル８００の抽象化後データ８０１毎に製造実績データを集約した結果を、図１８に示す製造実績データ分類結果表示画面１１００に出力する。【０１２２】
図１９Ｂは、データ分類サーバ１００の列コンバージ部１１１で行われる製造実績データの再結合（コンバージ）処理の一例を示すフローチャートである。この処理は、図１９ＡのステップＳ３１００で行われる処理で、各抽象化レベルで列方向のデータ分割が完了する度に実行される。【０１２３】
ステップＳ３１０１で、列コンバージ部１１１は、抽象化前後データ関連性テーブル７００の抽象化レベルがＩＤ−Ｄの全てのデータについて抽象化後データ７０４の処理が完了したか否かを判定する。列コンバージ部１１１は、未処理のデータがあればステップＳ３１０２へ進み、全てのデータについて処理が完了していればこの処理を完了して図１９Ａの処理に戻る。【０１２４】
ステップＳ３１０２で列コンバージ部１１１は、抽象化前後データ関連性テーブル７００の抽象化レベルＩＤ−Ｄで、未処理の抽象化後データ７０４を変数ＩＤ−Ｌとして取得する。【０１２５】
ステップＳ３１０１で、列コンバージ部１１１は、抽象化前後データ関連性テーブル７００の抽象化レベル７０３がＩＤ−Ｄで、抽象化後データ７０４がＩＤ−Ｌのデータについて全て処理が完了したか否かを判定する。列コンバージ部１１１は、未処理のデータがあればステップＳ３１０４へ進み、全てのデータについて処理が完了していればステップＳ３１０１へ戻る。【０１２６】
ステップＳ３１０４で列コンバージ部１１１は、抽象化前後データ関連性テーブル７００の抽象化レベル７０３がＩＤ−Ｄで、抽象化後データ７０４がＩＤ−Ｌで未処理のデータを取得する。【０１２７】
ステップＳ３１０５で列コンバージ部１１１は、取得したデータの抽象化前列名７０１を変数ＩＤ−Ｍとして取得し、当該レコードの抽象化前行番号７０２を変数ＩＤ−Ｎ１〜ＩＤ−Ｎｚとして取得する。なお、ｚは自然数である。【０１２８】
次に、ステップＳ３１０６で列コンバージ部１１１は、抽象化後データ８０１がＩＤ−Ｌで、列名８０２がＩＤ−Ｍで、行番号８０３がＩＤ−Ｎ１〜ＩＤ−Ｎｚのレコードを列コンバージテーブル８００に追加する。【０１２９】
上記処理を繰り返すことで、図１７で示すように、列コンバージテーブル８００が生成され、カラム３０２〜３０５に係わらず抽象化後データ８０１で分類されたデータを列名８０２と行番号８０３で特定することが可能となる。【０１３０】
以上のように、本実施例２のデータ分類サーバ１００では、列コンバージテーブル８００で製造実績データテーブル３００の列方向に分類した抽象化後データ６０４を、マスタデータのグラフ１０１０で集約する。これにより、データ分類サーバ１００は、製造実績データテーブル３００のカラム３０２〜３０５に係わらず、マスタデータのグラフ１０１０に応じて製造実績データを分類することができる。【０１３１】
本実施例２では、データフォーマットの異なる複数の製造設備３１０−１〜３１０−Ｎから時系列で製造実績データを受け付けて製造実績データテーブル３００に格納し、製造実績データを抽象化して、製造実績データテーブル３００の列に係わらずグラフ１０１０にまとめることができる。【０１３２】
以上のように、データ分類サーバ１００を利用するユーザ（分析担当者）が製造実績データの列名（フィールド名１５７）及びカラムの内容を理解していなくとも、マスタデータのカテゴリ（グラフ１０１０）で製造実績データを分類することが可能となり、分析担当者がデータを理解するまでの時間が不要となって、分析時間（データの理解や準備時間）を短縮して分析処理にかかるコストを抑制できる。【０１３３】
また、データ分類サーバ１００は、製造実績データのデータ種別（抽象化後データ６０４）を、マスタデータのグラフ１０１０を利用して製造実績データテーブル３００の列に係わらず特定できるので、時系列の製造実績データを高速に処理することが可能となる。
【実施例３】
【０１３４】
図２０は、第３の実施例のデータ分類サーバ１００の一例を示すブロック図である。第３の実施例では、前記第２実施例の構成に、マスタデータテーブル１５０を抽象化して教師データを生成する教師データ生成部１１２と、機械学習の学習モデルを生成する学習モデル生成部１１３と、製造実績データを分類するのに適した抽象化レベルを学習する最適抽象化レベル学習部１１４と、抽象化条件テーブル９００に基づいて処理対象のデータを特定する抽象化対象データ特定部１１５と、機械学習の結果を格納する機械学習結果テーブル９５０を加えたものである。その他の構成は、前記第２実施例と同様である。【０１３５】
本実施例３では、列コンバージテーブル８００で分類された抽象化後テーブル６００のデータと製造実績データと、製造実績データテーブル３００のフィールド名との関係を特定する例を示す。【０１３６】
図２１Ａ、図２１Ｂは、データ分類サーバ１００が提供する抽象化レベル調整及び製造実績データ分類結果表示画面１３００の一例を示す画面イメージである。抽象化レベル調整及び製造実績データ分類結果表示画面１３００は、抽象化レベル毎に階層構造でマスタデータテーブル１５０のフィールド名１３２２と抽象化後データ１３２１を表示する領域１３０１〜１３０４と、製造実績データの分類結果を表示する領域１３０５と、抽象化レベルの調整を適用する決定ボタン１３１０とを含む。【０１３７】
領域１３０１〜１３０４は、抽象化レベルが１〜４の例を示し、それぞれの抽象化レベルに属する抽象化後データ１３２１と、抽象化後データに対応するマスタデータテーブル１５０に対応するフィールド名１３２２が表示される。なお、図中抽象化レベル＝１は抽象化を実施しない階層である。【０１３８】
なお、領域１３０１〜１３０４は、最適な抽象化のレベルを入力装置１４０等によって調整する抽象化レベル調整画面として機能する。抽象化レベル調整画面では、"＋"のボタン１３３０がクリックされると抽象化後データ１３２１に分類されたフィールド名１３２２が展開される。その後、ボタン１３３０は"−"で表示される。【０１３９】
また、"−"のボタン１３３０がクリックされると、展開されていたフィールド名１３２２を消去して抽象化後データ１３２１のみを表示する折りたたみ処理が実施される。その後、ボタン１３３０は"＋"で表示される。【０１４０】
抽象化レベル＝１の領域１３０１には、抽象化後データ１３２１として「実績データ」（１３２１）が表示され、ボタン１３３０は展開状態の「−」となっており、当該抽象化後データに属するマスタデータテーブル１５０のフィールド名１３２２の一覧が展開されている。ボタン１３３０は「＋」で代表のフィールド名１３２２のみを表示する折りたたみ状態を示す。ボタン１３３０が操作されると、後述するように、ユーザ設定更新検出部１１０が図２７の処理を実行する。【０１４１】
なお、抽象化レベル＝１では、製造実績データの抽象化は実施しないので、「実績データ」配下のフィールド名１３２２にはマスタデータテーブル１５０の全ての列名（フィールド名１５７）が列挙される。【０１４２】
抽象化レベル＝２の領域１３０２には、抽象化後データ１３２１として、文字列データ、数値型データ、日付型データの３つが表示される。そして、文字列データには、マスタデータテーブル１５０のフィールド名（データ種別）となる「設備番号」、「設備名」、「作業者名」、「シフト番号」、「製品個体識別子」が含まれることを示す。【０１４３】
製造実績データの分類結果を表示する領域１３０５には、抽象化レベル＝４で抽象化後データ１３１１が「４文字以下＋漢字型文字列」の「作業者名」のフィールド名１３２２で製造実績データを分類した結果が表示される。【０１４４】
管理者などのユーザは、領域１３０１〜１３０４で抽象化後データまたはフィールド名１３２２をクリックしてから、決定ボタン１３１０をクリックすることで、調整後の抽象化レベルまたは抽象化後データ１３２１で製造実績データを分類することができる。【０１４５】
また、図２１Ａ、図２１Ｂの抽象化レベル調整及び製造実績データ分類結果表示画面１３００は、抽象化レベル出力部１０８で生成することができる。【０１４６】
図２２は、抽象化前後データ関連性テーブル７００Ａの一例を示す図である。本実施例３の抽象化前後データ関連性テーブル７００Ａは、前記実施例１の図７に示した抽象化前後データ関連性テーブル７００Ａにデータ種別７０５を追加したものであり、その他の構成は前記実施例１と同様である。【０１４７】
抽象化前後データ関連性テーブル７００Ａは、圧縮列テーブル４００の列名４０１を格納する抽象化前列名７０１と、圧縮データ行番号４０３を格納する抽象化前行番号７０２と、抽象化後テーブル６００の抽象化レベル６０１を格納する抽象化レベル７０３と、抽象化後データ６０４を格納する抽象化後データ７０４と、マスタデータテーブル１５０のフィールド名を格納するデータ種別７０５をひとつのレコードに含む。【０１４８】
図２３は、抽象化条件テーブル９００の一例を示す図である。抽象化条件テーブル９００は、データ分類部１２３が生成する。抽象化条件テーブル９００は、抽象化のレベルを格納する抽象化レベル９０１と、抽象化の条件を格納した抽象化条件９０２と、抽象化レベルの階層の終端を示す抽象化フラグ９０３とを含む。【０１４９】
抽象化フラグ９０３は、「１」であれば当該抽象化レベルの下位の階層が存在することを示し、「０」であれば当該抽象化レベルが最下層であることを示す。【０１５０】
図２４は、データ分類サーバ１００で行われる学習モデルの生成処理の一例を示すフローチャートである。この処理は前記実施例１の図８と同様に、マスタデータ更新検出部１０５がマスタデータテーブル１５０の更新を検出すると開始される。【０１５１】
ステップＳ４０１では、前記実施例１の図８のステップＳ１０１、Ｓ１０２と同様に、ステップＳ１０１でマスタデータ更新検出部１０５がマスタデータテーブル１５０の更新を検出すると、ステップＳ１０２で抽象化レベル設定部１２１が、抽象化するレベルを最も高いレベル＝１に初期化し、変数ＩＤ−Ａに抽象化レベル＝１を設定する。【０１５２】
ステップＳ４０２では、マスタデータ更新検出部１０５が、抽象化ルールテーブル５００を参照して、現在の抽象化レベルに対応する抽象化ルール５０２が存在するか否かを判定し、抽象化ルールテーブル５００に現在の抽象化レベルＩＤ−Ａに対応する抽象化ルール５０２が存在すればステップＳ４０３へ進み、存在しない場合にはステップＳ４０９へ進む。【０１５３】
ステップＳ４０３では、前記実施例１の図８のステップＳ１０４〜Ｓ１０６の処理を実行する。すなわち、データ抽象化部１２２が、マスタデータテーブル１５０のマスタデータの全ての列について各抽象化レベルＩＤ−Ａで抽象化の処理を実施して抽象化後テーブル６００を更新する。【０１５４】
ステップＳ４０４では、教師データ生成部１１２が抽象化後テーブル６００を参照し、抽象化されたマスタデータから教師データを生成する。教師データ生成部１１２は抽象化後テーブル６００の全てのデータを用いるのではなく、抽象化前列名６０２がマスタデータテーブル１５０のカラムの名称（フィールド名１５７）と一致するレコードを教師データとして用いる。【０１５５】
ステップＳ４０５では、学習モデル生成部１１３が教師データに基づいて、機械学習の学習モデルを生成する。なお、機械学習の学習モデルとしては周知または公知の技術を適用すればよく、決定木やＳＶＭ（Support Vector Machine）などを適宜用いることができる。【０１５６】
そして、データ分類サーバ１００の最適抽象化レベル学習部１１４は、生成された学習モデルによって機械学習を実行して、機械学習の結果を機械学習結果テーブル９５０に格納する。【０１５７】
なお、学習モデルによる機械学習は、図示しない処理で実行され、図２８に示す機械学習結果テーブル９５０に学習結果が格納される。図２８は、学習モデルによる機械学習の結果を格納する機械学習結果テーブル９５０の一例を示す図である。【０１５８】
機械学習結果テーブル９５０は、抽象化のレベルを格納する抽象化レベル９５１と、製造実績データを分類する条件を格納する分類条件９５２と、分類条件９５２に分類された製造実績データのフィールド名を格納するデータ種別９５３とを含む。【０１５９】
分類条件９５２は、図２１Ａのデータ種別特定グラフのノードに相当する抽象化後データ１３２１及び図２２の抽象化前後データ関連性テーブル７００Ａの抽象化後データ７０４に対応する。データ種別９５３は、図２１Ａに示したフィールド名１３２２に対応し、マスタデータテーブル１５０のフィールド名１５７に相当する。【０１６０】
ステップＳ４０６では、データ分類部１２３が図２５のステップＳ４１０１〜Ｓ４１０５の処理を行って、抽象化条件テーブル９００に抽象化フラグ９０３を追加する。この処理については、図２５で後述する。【０１６１】
ステップＳ４０７では、データ分類部１２３が図２６のステップＳ４２０１〜Ｓ４２０９の処理を行って、抽象化された全ての分類対象のデータをフィールド名に分類し、分類される結果を抽象化前後データ関連性テーブル７２０に出力する。この処理については、図２６で後述する。【０１６２】
次に、ステップＳ４０８では、抽象化レベル設定部１２１が、現在の抽象化レベルを一段階低いレベル（レベルの値は増大）に設定する。現在の抽象化レベルが「１」であれば、抽象化レベルを「２」に変更して抽象化の度合を下げてから上記ステップＳ４０２以降の処理を繰り返す。【０１６３】
上記ステップＳ４０２では、マスタデータ更新検出部１０５が抽象化レベルＩＤ−Ａに対応する抽象化ルール５０２がなくなるまで上記処理を繰り返した後にステップＳ４０９の処理へ進む。ステップＳ４０９では、データ分類サーバ１００は、上記ステップＳ４０７で分類した抽象化前後データ関連性テーブル７００の内容を、図２１Ａ、図２１Ｂに示した抽象化レベル調整及び製造実績データ分類結果表示画面１３００に出力する。【０１６４】
上記処理により、機械学習の結果に基づく分類が実施されて、抽象化レベル調整及び製造実績データ分類結果表示画面１３００の領域１３０５には、図２１Ａ、図２１Ｂで示したように、製造実績データをマスタデータテーブル１５０のフィールド名１５７で分類した結果が表示される。図２１Ａの例では、マスタデータテーブル１５０のフィールド名＝作業者名に分類された製造実績データの分類結果が表示される。【０１６５】
なお、上記処理は管理者が操作する入力装置１４０からの所定の指令に基づいて実行してもよい。【０１６６】
図２５は、データ分類サーバ１００のデータ分類部１２３で行われる処理の一例を示すフローチャートである。この処理は図２４のステップＳ４０６で行われる処理で、図２３の抽象化条件テーブル９００を設定する処理である。【０１６７】
ステップＳ４１０１では、データ分類部１２３が、図２４のステップＳ４０６で生成された学習モデルの全ての分類条件について処理が完了したか否かを判定する。処理が完了していなければステップＳ４１０２へ進み、処理が完了した場合には図２４の処理へ復帰する。【０１６８】
ステップＳ４１０２では、データ分類部１２３が、学習モデルから分類条件を一つ取得する。なお、データ分類部１２３は、分類条件の中から予め設定した順序で選択すればよい。【０１６９】
ステップＳ４１０３では、データ分類部１２３が、機械学習結果テーブル９５０を参照して上記ステップＳ４１０２で取得した分類条件に一致する分類条件９５２を検索し、該当する分類条件９５２に設定されたデータ種別９５３を取得する。【０１７０】
ステップＳ４１０４では、データ分類部１２３が、取得したデータ種別９５３が複数のデータ（フィールド名）であるか否かを判定する。複数のデータであればステップＳ４１１０６へ進み、ひとつのデータであればステップＳ４１０５へ進む。【０１７１】
ステップＳ４１０５では、当該抽象化レベルで分類条件９５２とデータ種別９５３は１対１の関係となったので、データ分類部１２３は、現在の抽象化レベルＩＤ−Ａを当該データ種別９５３の最終の抽象化レベルとする。このため、データ分類部１２３は、抽象化レベル９０１＝抽象化レベルＩＤ−Ａとし、ステップＳ４１０２で取得した分類条件９５２を抽象化条件９０２とし、抽象化フラグ９０３＝０のレコードを抽象化条件テーブル９００に追加する。【０１７２】
一方、ステップＳ４１０５では、当該抽象化レベルで分類条件９５２に対して複数のデータ種別９５３が含まれるため、データ分類部１２３は、現在の抽象化レベルＩＤ−Ａからさらに抽象化のレベルを低下させることができる。このため、データ分類部１２３は、抽象化レベル９０１＝抽象化レベルＩＤ−Ａとし、ステップＳ４１０２で取得した分類条件９５２を抽象化条件９０２とし、抽象化フラグ９０３＝１のレコードを抽象化条件テーブル９００に追加する。【０１７３】
上記処理により、データ分類部１２３は、学習モデルの分類条件のそれぞれについて、機械学習結果テーブル９５０の学習結果を反映させた抽象化条件テーブル９００を生成することができる。【０１７４】
図２６は、データ分類サーバ１００のデータ分類部１２３で行われる製造実績データの分類処理の一例を示すフローチャートである。この処理は図２４のステップＳ４０７で行われる処理である。【０１７５】
まず、ステップＳ４２０１でデータ分類部１２３は、圧縮列テーブル４００全ての列名４０１について処理が完了したか否かを判定する。処理が完了していなければステップＳ４２０２へ進み、処理が完了した場合には図２４の処理へ復帰する。【０１７６】
ステップＳ４２０２ではデータ分類部１２３が、圧縮列テーブル４００から所定の順序で列名ＩＤ−Ｏを選択する。列名の選択は、例えば、圧縮列テーブル４００の先頭のレコードから順次行えばよい。【０１７７】
なお、初回の処理では、製造実績データテーブル３００から製造実績データを読み込んで、前記実施例１の図１０のステップＳ２０４〜Ｓ２０７で示したように圧縮列テーブル４００を生成しておく。【０１７８】
ステップＳ４２０３ではデータ分類部１２３が、圧縮列テーブル４００の列名ＩＤ−Ｏの全てのデータについて処理が完了したか否かを判定する。処理が完了していなければステップＳ４２０４へ進み、処理が完了していなければ図２４の処理へ復帰する。【０１７９】
ステップＳ４２０４ではデータ分類部１２３が、圧縮列テーブル４００の列名ＩＤ−Ｏのうちひとつのレコード（行）を取得し、当該行番号を変数ＩＤ−Ｐとする。列名ＩＤ−Ｏのレコードの選択は、例えば、圧縮列テーブル４００の先頭のレコードから順次行えばよい。【０１８０】
ステップＳ４２０５ではデータ分類部１２３が、抽象化後テーブル６００から抽象化レベル６０１＝ＩＤ−Ａ、抽象化前列名６０２＝ＩＤ−Ｏ、抽象化前行番号６０３＝ＩＤ−Ｐのレコードで抽象化後データ６０４を取得する。【０１８１】
ステップＳ４２０６ではデータ分類部１２３が、抽象化条件テーブル９００を参照し、抽象化条件９０２が上記ステップＳ４２０５で取得した抽象化後データ６０４と一致し、かつ抽象化レベル９０１がＩＤ−Ａのレコードから抽象化フラグ９０３を取得する。【０１８２】
ステップＳ４２０７ではデータ分類部１２３が、ステップＳ４２０６で取得した抽象化フラグ９０３が"１"であるか否かを判定する。抽象化フラグ９０３が"１"であればステップＳ４２０８へ進み、"０"であればステップＳ４２０３へ戻って上記処理を繰り返す。【０１８３】
ステップＳ４２０８ではデータ分類部１２３が、製造実績データテーブル３００から列名＝ＩＤ−Ｏ、行番号３０１＝ＩＤ−Ｐのデータを取得する。そして、データ分類部１２３は、学習モデルの機械学習結果テーブル９５０を参照して、製造実績データテーブル３００取得したデータを分類し、データ種別９５３を取得する。【０１８４】
ステップＳ４２０９で、データ分類部１２３は、抽象化前後データ関連性テーブル７００Ａに分類結果の行を追加する。すなわち、データ分類部１２３は、抽象化前列名７０１がＩＤ−Ｏ、抽象化前行番号７０２がＩＤ−Ｐ、抽象化レベル７０３がＩＤ−Ａで、抽象化後データ７０４がステップＳ４２０５で取得した抽象化後データ６０４で、データ種別７０５がステップＳ４２０６の分類結果とする行を抽象化前後データ関連性テーブル７００Ａに追加する。【０１８５】
上記処理により、圧縮列テーブル４００の列名４０１の圧縮データ行番号４０３の全てのデータを、抽象化のレベル毎に機械学習結果テーブル９５０のデータ種別９５３で分類することができ、分類された結果が抽象化前後データ関連性テーブル７００Ａに格納される。【０１８６】
なお、上記分類処理で用いる機械学習結果テーブル９５０は、予めデータ分類サーバ１００で生成されたものに加え、他の計算機で生成された機械学習結果を用いることができる。【０１８７】
図２７は、データ分類サーバ１００のユーザ設定更新検出部１１０で行われる処理の一例を示すフローチャートである。ユーザ設定更新検出部１１０は、図２１Ａに示した抽象化レベル調整及び製造実績データ分類結果表示画面１３００で、ボタン１３３０が操作されると図２７のフローチャートを実行する。【０１８８】
ステップＳ４３０１では、データ分類サーバ１００のユーザ等が、入力装置１４０を操作してボタン１３３０をクリックすると、ユーザ設定更新検出部１１０は、最適抽象化レベルの設定が変更されたと判定してステップＳ４３０２へ進む。【０１８９】
ステップＳ４３０２では、ユーザ設定更新検出部１１０が、抽象化レベル調整画面（１３０１〜１３０４）から抽象化のレベルを取得して変数ＩＤ−Ｑに設定し、クリックされた抽象化後データ６０４を抽象化条件として取得する。【０１９０】
ステップＳ４３０３では、ユーザ設定更新検出部１１０が、"＋"のボタン１３３０がクリックされたか否かを判定する。"＋"のボタン１３３０がクリックされた場合にはステップＳ４３０４へ進み、"−"のボタン１３３０がクリックされた場合にはステップＳ４３０７へ進む。【０１９１】
ステップＳ４３０４では、ユーザ設定更新検出部１１０が、"＋"のボタン１３３０が操作されたので抽象化後データの展開処理を実施する。ユーザ設定更新検出部１１０は、ステップＳ４３０２で設定した抽象化レベルよりも一つ下の抽象化レベル（ＩＤ−Ｑ＋１）、かつ、ステップＳ４３０２で設定した抽象化条件が抽象化後データ７０４と一致する行のデータ（抽象化前列名７０１、抽象化前行番号７０２）を、抽象化前後データ関連性テーブル７００Ａから取得する。【０１９２】
ステップＳ４３０５では、ユーザ設定更新検出部１１０が、抽象化ルールテーブル５００を参照して、現在の抽象化レベルＩＤ−Ｑよりも一つ下の抽象化レベル５０１が存在するか否かを判定する。現在の抽象化レベルＩＤ−Ｑよりも一つ下の抽象化レベル５０１が存在すればステップＳ４３０６へ進み、存在しない場合に処理を終了する。【０１９３】
ステップＳ４３０５では、データ抽象化部１２２が、ステップＳ４３０４で取得したデータについて、抽象化レベルＩＤ−Ｑよりも一つ下の抽象化レベル５０１の抽象化ルール５０２を適用して抽象化後データを生成し、抽象化レベル調整画面の下位の抽象化レベルに展開して表示する。【０１９４】
一方、ステップＳ４３０３の判定で、"−"のボタン１３３０が操作された場合には、ステップＳ４３０７へ進み、ユーザ設定更新検出部１１０は、クリックされたボタン１３３０の配下のフィールド名１３２２を消去して折りたたみ処理を実施する。【０１９５】
以上の処理によって、データ分類サーバ１００は、ユーザがボタン１３３０を操作すると、抽象化レベル調整画面内で展開処理または折りたたみ処理を実行する。【０１９６】
以上のように、本実施例３のデータ分類サーバ１００では製造実績データテーブル３００の製造実績データを抽象化した後に、マスタデータテーブル１５０の抽象化後データ６０４に対応付けることで、マスタデータテーブル１５０のフィールド名１５７毎に製造実績データを分類することができる。【０１９７】
また、データ分類サーバ１００は、マスタデータから教師データを生成し、教師データから学習モデルを生成して、機械学習を実施させて機械学習結果テーブル９５０を生成する。そして、製造実績データを機械学習結果テーブル９５０を利用して分類を実施することで、製造実績データを分類する精度を向上させることができる。【０１９８】
本実施例３では、データ分類サーバ１００がデータフォーマットの異なる複数の製造設備３１０−１〜３１０−Ｎから時系列で製造実績データを受け付けて製造実績データテーブル３００に格納し、製造実績データを列に係わらず抽象化して、抽象化後データ６０４毎にマスタデータテーブル１５０のフィールド名１５７を特定することができる。【０１９９】
これにより、データ分類サーバ１００では、抽象化後の製造実績データを、抽象化後のマスタデータのグラフ１０１０に付き合わせることで、時系列の製造実績データの各行がいずれの製造設備３１０−１〜３１０−Ｎで生成されたかを特定することができる。【０２００】
以上のように、データ分類サーバ１００を利用するユーザ（分析担当者）が製造実績データの列名（フィールド名１５７）及びカラムの内容を理解していなくとも、マスタデータのカテゴリ（グラフ１０１０）やフィールド名１５７で分類することが可能となり、分析担当者がデータ理解するまでの時間が不要となって、分析時間（データの理解や準備時間）を短縮して分析処理にかかるコストを抑制できる。【０２０１】
また、データ分類サーバ１００は、製造実績データのデータ種別（抽象化後データ６０４）を、マスタデータのグラフ１０１０を利用して製造実績データテーブル３００の列に係わらず特定するので、時系列の製造実績データを高速に処理することが可能となる。【０２０２】
＜まとめ＞
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に記載したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加、削除、又は置換のいずれもが、単独で、又は組み合わせても適用可能である。【０２０３】
また、上記の各構成、機能、処理部、及び処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、及び機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等の記録装置、または、ＩＣカード、ＳＤカード、ＤＶＤ等の記録媒体に置くことができる。【０２０４】
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。
【図１Ａ】
2017158812.tif 000003
【図１Ｂ】
2017158812.tif 000004
【図２】
2017158812.tif 000005
【図３】
2017158812.tif 000006
【図４】
2017158812.tif 000007
【図５】
2017158812.tif 000008
【図６】
2017158812.tif 000009
【図７】
2017158812.tif 000010
【図８】
2017158812.tif 000011
【図９】
2017158812.tif 000012
【図１０】
2017158812.tif 000013
【図１１】
2017158812.tif 000014
【図１２】
2017158812.tif 000015
【図１３】
2017158812.tif 000016
【図１４】
2017158812.tif 000017
【図１５】
2017158812.tif 000018
【図１６】
2017158812.tif 000019
【図１７】
2017158812.tif 000020
【図１８】
2017158812.tif 000021
【図１９Ａ】
2017158812.tif 000022
【図１９Ｂ】
2017158812.tif 000023
【図２０】
2017158812.tif 000024
【図２１Ａ】
2017158812.tif 000025
【図２１Ｂ】
2017158812.tif 000026
【図２２】
2017158812.tif 000027
【図２３】
2017158812.tif 000028
【図２４】
2017158812.tif 000029
【図２５】
2017158812.tif 000030
【図２６】
2017158812.tif 000031
【図２７】
2017158812.tif 000032
【図２８】
2017158812.tif 000033
【国際調査報告】
2017158812.tif 000034
2017158812.tif 000035
2017158812.tif 000036
2017158812.tif 000037