JPWO2017158812A1 - データ分類方法及びデータ分類装置 - Google Patents
データ分類方法及びデータ分類装置 Download PDFInfo
- Publication number
- JPWO2017158812A1 JPWO2017158812A1 JP2018505181A JP2018505181A JPWO2017158812A1 JP WO2017158812 A1 JPWO2017158812 A1 JP WO2017158812A1 JP 2018505181 A JP2018505181 A JP 2018505181A JP 2018505181 A JP2018505181 A JP 2018505181A JP WO2017158812 A1 JPWO2017158812 A1 JP WO2017158812A1
- Authority
- JP
- Japan
- Prior art keywords
- data
- abstraction
- abstract
- level
- classification
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
Abstract
プロセッサとメモリとストレージ装置を備えた計算機が、データフォーマットの種類毎にデータの代表値としてのマスタデータを格納したマスタデータ情報に、抽象化レベル毎に抽象化ルールを設定したルール情報を適用して、マスタデータを抽象化した第1の抽象化データを生成し、データフォーマットの異なる複数の種類のデータを取得し、前記取得したデータにルール情報を適用して抽象化レベルごとに前記データを抽象化した第2の抽象化データを生成し、第2の抽象化データを、前記抽象化レベル毎の第1の抽象化データで分類する。
Description
本発明は、大量のデータを分類するデータ分類方法に関する。
本発明は、IoT(Internet of Things)技術の登場に伴って、様々なデータを分析して知見を得ることが行われている。例えば、製品を製造する工場などでは、生産設備が出力するデータや、材料のデータを計算機で収集して分析を行い、品質の向上や生産性の向上に役立てることができる。
工場などでは多種多様な生産設備が稼動しており、各生産設備から出力されるデータのフォーマットは必ずしも統一されていないため、分析を行う計算機では各生産設備から収集したデータの種類やフォーマットに応じて分類する必要があった。
例えば、特許文献1には、機械学習により計算機システムがユーザからのフィードバックを学習して教師データを生成し、教師データに基づくデータ分類器を生成し、当該データ分類器で分類対象のデータを分類する技術が開示されている。また、特許文献2には、計算機がデータ集合に含まれるデータを階層的に抽象化することにより、分類対象のデータを分類する技術が開示されている。
しかしながら、上記特許文献1では、機械学習の際にユーザからのフィードバックにより教師データを生成してからデータを分類する必要があり、時系列のデータを一度に処理できないという問題があった。さらに、上記従来例1、2の組み合わせでは、複数段階で階層的に抽象化されたデータを分類する場合、分類対象のデータを教師データの抽象化レベルに合わせなければならない、という問題があった。
そこで本発明は、予め設定したマスタデータに基づいて、フォーマットの異なるデータの分類にかかるコストを抑制することを目的とする。
本発明は、プロセッサとメモリとストレージ装置を備えた計算機で、データフォーマットの異なる複数の種類のデータを分類するデータ分類方法であって、前記計算機が、前記データフォーマットの種類毎に前記データの代表値としてのマスタデータを格納したマスタデータ情報に、抽象化レベル毎に抽象化ルールを予め設定したルール情報を適用して、前記抽象化レベルごとに前記マスタデータを抽象化した第1の抽象化データを生成する第1のステップと、前記計算機が、前記データフォーマットの異なる複数の種類のデータをデータ情報として取得する第2のステップと、前記計算機が、前記取得したデータ情報に前記ルール情報を適用して前記抽象化レベルごとに前記データを抽象化した第2の抽象化データを生成する第3のステップと、前記計算機が、前記第2の抽象化データを、前記抽象化レベル毎の第1の抽象化データで分類する第4のステップと、を含む。
本発明によれば、分類担当者がデータの列名及びカラムの内容を理解していなくとも、マスタデータに基づく抽象化されたデータの種類で分類することが可能となる。これにより、分類担当者がデータを理解するまでの時間が不要となって、分類時間(データの理解や準備時間)を短縮して分類にかかるコストを抑制できる。
以下、本発明の一実施形態について添付図面を用いて説明する。
図1Aは本発明の第1の実施例を示し、計算機システムの一例を示すブロック図である。本発明を適用する計算機システムは、工場の製造過程で生成された製造実績データをデータ収集サーバ200で収集し、ネットワーク160を介して接続されたデータ分類サーバ100が製造実績データを取得し、データ分類サーバ100が製造実績データの種類に応じて分類する例を示す。
データ収集サーバ200は、製造実績データの種類が異なる製造設備310−1〜310−Nから製造実績データを収集する。このため、収集された製造実績データは、製造設備310−1〜310−N毎に異なるデータフォーマットの異なるデータを含む。なお、以下の説明では、製造設備の全体を「−」のない符号310で示す。
データ分類サーバ100は、演算処理を行うCPU101と、プログラムやデータを保持する主記憶装置102と、ネットワーク160との間で通信を行う情報用通信インタフェース103と、ストレージ装置130にアクセスする外部記憶装置インタフェース104と、キーボードやマウスなどを含む入力装置140と、ディスプレイ等を含む出力装置141を有する。
主記憶装置102には、製造実績データをデータフォーマットに基づいて分類する分類処理部10がロードされてCPU101によって実行される。分類処理部10は、マスタデータ更新検出部105と、データ受信部106と、列圧縮部107と、抽象化レベル出力部108と、列分割結果出力部109と、ユーザ設定更新検出部110と、列分割部120と、を含む。また、列分割部120は、抽象化レベル設定部121と、データ抽象化部122と、データ分類部123と、を含む。なお、各処理部の内容については後述する。
ストレージ装置130は、プログラムやデータを格納する。図示の例では、ストレージ装置130には、マスタデータテーブル150と、製造実績データテーブル300と、圧縮列テーブル400と、抽象化ルールテーブル500と、抽象化後テーブル600と、抽象化前後データ関連性テーブル700が格納される。各テーブルの内容については後述する。
分類処理部10の各機能部はプログラムとして主記憶装置102にロードされる。CPU101は、各機能部のプログラムに従って処理することによって、所定の機能を提供する機能部として稼働する。例えば、CPU101は、列分割プログラムに従って処理することで列分割部120として機能する。他のプログラムについても同様である。さらに、CPU101は、各プログラムが実行する複数の処理のそれぞれの機能を提供する機能部としても稼働する。計算機及び計算機システムは、これらの機能部を含む装置及びシステムである。例えば、データ分類サーバ100を、データ分類装置として機能させてもよい。
分類処理部10の各機能を実現するプログラム、テーブル等の情報は、ストレージ装置130や不揮発性半導体メモリ、ハードディスクドライブ、SSD(Solid State Drive)等の記憶デバイス、または、ICカード、SDカード、DVD等の計算機読み取り可能な非一時的データ記憶媒体に格納することができる。
本実施例では、複数種のデータフォーマットを出力する製造設備310からの製造実績データをデータ分類サーバ100が処理する例を示すが、複数種のデータフォーマットからなるデータあればよく、製造実績データに限定されるものではない。
図1Bは、データ収集サーバ200の一例を示すブロック図である。データ収集サーバ200は、演算処理を行うCPU201と、プログラムやデータを保持する主記憶装置202と、ネットワーク160との間で通信を行う情報用通信インタフェース203と、ストレージ装置230にアクセスする外部記憶装置インタフェース204と、制御系ネットワーク220を介して製造設備310にアクセスする制御用通信インタフェース205を含む。
主記憶装置202には、複数の製造設備310−1〜310−Nから製造実績データを収集してストレージ装置230の製造実績データテーブル240へ格納する製造実績データ収集部211と、データ分類サーバ100からの要求に応じてストレージ装置230の製造実績データテーブル240から製造実績データを読み出して、データ分類サーバ100に送信するデータ送信部210がロードされる。
製造実績データ収集部211は、所定の周期で各製造設備310から製造実績データを収集してストレージ装置230の製造実績データテーブル240に書き込む。なお、各製造設備310がそれぞれ製造実績データを生成すると、データ収集サーバ200へ製造実績データを送信するようにしてもよい。
次に、図1Aに示した分類処理部10を構成する各処理部の概要を説明する。まず、マスタデータ更新検出部105は、データ分類サーバ100に予め設定されたマスタデータテーブル150が更新されたことを検出してマスタデータの抽象化結果を出力装置141へ出力する。
データ受信部106は、データ収集サーバ200へ製造実績データを要求し、データ収集サーバ200から製造実績データを受信して、ストレージ装置130の製造実績データテーブル300へ格納する。
列圧縮部107は、製造実績データテーブル300に格納された製造実績データについて、列方向にデータ圧縮を行って、圧縮列テーブル400へ格納する。抽象化レベル出力部108は、マスタデータテーブル150のマスタデータを抽象化した結果を出力装置141へ表示する。なお、抽象化については後述する。列分割結果出力部109は、マスタデータテーブル150に基づいて分類された製造実績データを出力装置141へ表示する。
ユーザ設定更新検出部110は、設定された抽象化レベルが変更されたことを検出すると、後述するように、製造実績データを変更された抽象化レベルまで分類する。列分割部120の抽象化レベル設定部121で処理を行う抽象化レベルを設定する。列分割部120のデータ抽象化部122は、抽象化ルールテーブル500に基づいて製造実績データを抽象化して抽象化後テーブル600に格納する。列分割部120のデータ分類部123は、抽象化後テーブル600のデータと抽象化レベルと抽象化前の製造実績データの関係を設定する。
次に、データ分類サーバ100が使用する各テーブルについて説明する。図2は、マスタデータテーブルの一例を示す図である。マスタデータテーブル150は、製造設備310−1〜310−Nがそれぞれ出力する製造実績データの種類毎の代表値を予め設定したテーブルである。このマスタデータテーブル150には、製造設備310のデータファーマットが変更あるいは追加されると、管理者などが操作する入力装置140等によって新たなマスタデータが登録あるいは更新される。
マスタデータテーブル150には、データフォーマット毎にレコードが追加される。例えば、製造設備310−N−1と製造設備310−Nのデータフォーマットが同一であれば、何れか一方の代表値をマスタデータテーブル150に設定することができる。
マスタデータテーブル150は、行番号151と、製造設備310が付与したタイムスタンプ等を格納する製品生産時刻152と、製品の識別子を格納する個体識別子153と、製造設備310の名称を格納する設備名154と、製造設備310の識別子を格納する設備番号155と、製造実績データに付与されたパラメータを格納するパラメータ値156と、をひとつのレコードに含む。また、マスタデータテーブル150には、マスタデータを格納する各フィールドについて、列方向の属性を示すフィールド名157が設定される。なお、フィールド名157は、各データフォーマットで使用する値が設定される。
図2の例では、カラム(製品生産時刻152〜パラメータ値156まで)の5つのカラムで、製造設備31−1〜310−Nのマスタデータを格納する例を示すが、これに限定されるものではなく、製造設備310−1〜310−Nがそれぞれ生成する製造実績データの全てのカラム(フィールド名)を含むようにしてもよい。なお、行番号151は、データ分類サーバ100によって付与される。
また、マスタデータは、マスタデータテーブル150の全てのカラムにデータが格納される必要はなく、製造実績データに含まれるカラムに値を格納すればよい。例えば、製造設備310−1が生成した製造実績データでは、フィールド名157が製品生産時刻152と、個体識別子153と、設備番号155とからなるデータに行番号151を付加したデータであってもよく、あるいは、製造設備310−Nが生成した製造実績データでは、製品生産時刻152と、設備番号155と、図示しない作業者名とロット番号からなるデータに行番号151を付加したデータであってもよい。
図3は、製造実績データテーブル300の一例を示す図である。製造実績データテーブル300は、データ収集サーバ200が、各製造設備310−1〜310−Nが出力するデータを時系列的に収集し、データ分類サーバ100が取得した情報である。データ分類サーバ100は、所定のタイミングでデータ収集サーバ200に各製造設備310−1〜310−Nが出力したデータを要求し、受信したデータを製造実績データテーブル300に格納する。
製造実績データテーブル300は、行番号301と、カラム302〜305を含む。カラム302〜305には、データ収集サーバ200から受信したフィールドの値が順次格納される。上述したように、製造実績データテーブル300には、複数の製造設備310−1〜310−Nからフォーマットの異なるデータが時系列的に格納されるため、カラム302〜305に格納されるデータの種類は、レコード毎に異なる場合が生じる。
なお、図示の例ではカラム302〜305のフィールド名として、データ分類サーバ100がDATA001〜DATA004を割り当てた例を示す。また、製造実績データテーブル300のカラムの数は、データ分類サーバ100がデータ収集サーバ200から受信したレコードのうち最長のレコード長に応じた数とすればよい。また、行番号301は、データ収集サーバ200が付与した値を格納すればよい。
図4は、圧縮列テーブル400の一例を示す図である。圧縮列テーブル400は、データ分類サーバ100が、製造実績データテーブル300のデータを列(カラム)方向に圧縮した例を示す。
圧縮列テーブル400は、製造実績データテーブル300のカラムの名称を格納する列名401と、圧縮対象のデータを格納した製造実績データテーブル300の行番号301を格納する代表データ行番号402と、圧縮対象のデータを含む製造実績データテーブル300の行番号301を格納する圧縮データ行番号403と、をひとつのレコードに含む。
データ分類サーバ100の列圧縮部107は、製造実績データテーブル300で同一のカラム302〜305の値が他のレコード(行)に存在する場合、圧縮データ行番号403に複数の行番号301を格納して、ひとつのレコードに圧縮する。
例えば、図3の製造実績データテーブル300では、行番号301=「1」のカラム302には「神戸太郎」が格納され、行番号301=「7」のカラム302にも「神戸太郎」が格納される。データ分類サーバ100の列圧縮部107は、同一のカラム302で同一の値「神戸太郎」を格納している行番号301=「1」、「7」を、圧縮列テーブル400の圧縮データ行番号403へ格納し、代表データ行番号402へ先頭の行番号301=「1」を格納し、当該データを格納するフィールド名=「DATA001」を列名401へ格納する。
なお、データ分類サーバ100の列圧縮部107は、同一のデータを含む最先の行番号301を代表データ行番号402へ格納すればよい。また、データ分類サーバ100の列圧縮部107は、同一のデータがないカラムについては、当該カラムの行番号301を代表データ行番号402と圧縮データ行番号403へ格納すればよい。これにより、圧縮列テーブル400は、製造実績データテーブル300を列方向へ圧縮したテーブルとして利用することが可能となる。
図5は、抽象化ルールテーブル500の一例を示す図である。抽象化ルールテーブル500は、製造実績データテーブル300のカラム302〜305の値を抽象化する定義を抽象化レベル毎に予め設定したテーブルである。
抽象化ルールテーブル500は、抽象化のレベルを格納する抽象化レベル501と、製造実績データテーブル300の各カラム302〜305の内容を抽象化する定義を格納した抽象化ルール502を含む。
抽象化レベル501は、抽象化する度合を決定する値を示し、抽象化レベルの値が大きくなるにつれて、抽象化の度合は低下する。すなわち、抽象化レベルの値が小さいほど製造実績データテーブル300の値は抽象化され、抽象化レベルの値が大きいほど製造実績データテーブル300の値に近付く。
図示の例では、抽象化レベル501が最も小さい「1」で抽象化の度合は最大となる。すなわち、抽象化前のデータが4桁の年と2桁の月日からなるデータは、日付型として抽象化される。同様に、漢字やアルファベットや数字を含むデータは、文字列として抽象化され、0−9からなるデータは数値型として抽象化される。
また、抽象化レベル501が2番目に小さい「2」では、文字列からなるデータは、漢字を含む漢字文字列と、アルファベットと数字を含む英数文字列と、アルファベットからなる英文字文字列のいずれかに抽象化される。同様に、数値からなるデータは、小数点を含む小数と、小数点を含まない整数の何れかに抽象化される。
抽象化レベル501が3番目の「3」では、文字列からなるデータは、さらに細分化されて、文字数+漢字文字列、文字数+英数文字列または文字数+英文字文字列の何れかに抽象化される。
図6は、抽象化後テーブル600の一例を示す図である。抽象化後テーブル600は、データ分類サーバ100のデータ抽象化部122が、製造実績データテーブル300またはマスタデータテーブル150を抽象化ルールテーブル500に従って抽象化した結果を格納する。
抽象化後テーブル600は、抽象化の度合を格納する抽象化レベル601と、抽象化前のフィールド名を格納する抽象化前列名602と、抽象化前の製造実績データテーブル300の行番号301を格納する抽象化前行番号603と、抽象化後のデータを格納する抽象化後データ604とをひとつのレコードに含む。
図示では、抽象化レベル601=2までの例を示すが、実際には分類で指定されたレベルxまで、データ抽象化部122が抽象化レベル601=1〜xまでのレベルで製造実績データテーブル300を抽象化した結果が抽象化後テーブル600に格納される。
なお、図示の例の抽象化前列名602の「生産時刻」は、後述するように、マスタデータテーブル150のフィールド名157を格納したレコードで、抽象化後データ604にはマスタデータテーブル150の抽象化結果が格納される。
図7は、抽象化前後データ関連性テーブル700の一例を示す図である。抽象化前後データ関連性テーブル700は、データ分類サーバ100のデータ分類部123が、抽象化後テーブル600のデータと、圧縮列テーブル400のデータの対応関係を抽出し、製造実績データテーブル300の列ごとに抽象化後データ704で分類した結果を格納する。
抽象化前後データ関連性テーブル700は、圧縮列テーブル400の列名401を格納する抽象化前列名701と、圧縮列テーブル400の圧縮データ行番号403の値を格納する抽象化前行番号702と、抽象化後テーブル600の抽象化レベル601を格納する抽象化レベル703と、抽象化後テーブル600の抽象化後データ604を格納する抽象化後データ704とをひとつのレコードに含む。
抽象化前後データ関連性テーブル700の抽象化前列名701と抽象化前行番号702を参照することで製造実績データテーブル300のデータが特定される。そして、特定されたデータの抽象化レベル703ごとの抽象化後データ704を取得することができる。すなわち、データ分類サーバ100は、抽象化前後データ関連性テーブル700を参照することで、製造実績データテーブル300のデータがどのように抽象化されたのかを取得することができる。
図8は、データ分類サーバ100のマスタデータ更新検出部105で行われる処理の一例を示すフローチャートである。この処理は、マスタデータテーブル150が更新されるとステップS102以降の処理が実行される。
ステップS101でデータ分類サーバ100のマスタデータ更新検出部105がマスタデータテーブル150の更新を検出すると、ステップS102へ進む。ステップS102では、抽象化レベル設定部121が、抽象化するレベルを最も高いレベル=1に初期化する。本実施例では、抽象化レベル設定部121が変数ID−Aに抽象化レベル=1を設定し、抽象化の度合が高い抽象化レベルから抽象化の度合が低い抽象化レベルへ順次低下させる例を示す。
ステップS103では、データ分類サーバ100のマスタデータ更新検出部105が、抽象化ルールテーブル500を参照して、現在の抽象化レベルに対応する抽象化ルール502ルールが存在するか否かを判定する。抽象化ルールテーブル500に現在の抽象化ルール502が存在すればステップS104へ進み、存在しない場合には処理を終了する。
ステップS104では、データ分類サーバ100のマスタデータ更新検出部105が、マスタデータテーブル150のマスタデータの全ての列について処理を完了したか否かを判定する。全ての列について処理を完了していなければステップS105へ進み、全ての列について処理を完了していればステップS107へ進む。
ステップS105では、データ抽象化部122が、処理対象の列のデータを取得する。次に、ステップS106では、データ抽象化部122が、取得したデータを抽象化ルールテーブル500に基づいて抽象化する。この抽象化の処理は図9の処理で詳述する。
一方、現在の抽象化レベルで全ての列について処理が完了したステップS107では、抽象化レベル設定部121が、現在の抽象化レベルを一段階低いレベル(レベルの値は増大)に設定する。現在の抽象化レベルが「1」であれば、抽象化レベルを「2」に変更して抽象化の度合を下げてから上記ステップS103以降の処理を繰り返す。
データ分類サーバ100は、全てのマスタデータについて、抽象化ルールテーブル500の全ての抽象化レベル501を適用して抽象化した結果を出力装置141に表示する。データ分類サーバ100の管理者は、更新されたマスタデータを含む抽象化結果を出力装置141で確認することができる。
なお、上記処理は管理者などが操作する入力装置140からの指令に応じて実施してもよい。
図9は、データ分類サーバ100のデータ抽象化部122で行われるマスタデータの抽象化処理の一例を示すフローチャートである。この処理は、図8のステップS106で行われる。
データ抽象化部122は、指定された列名(ID−B)で、マスタデータテーブル150の処理対象の行番号(ID−C)のデータを取得する(S1101、S1102)。なお、データ抽象化部122は、マスタデータテーブル150の先頭の行番号から順次選択する。
次に、ステップS1103でデータ抽象化部122は、抽象化ルールテーブル500を参照して指定された抽象化レベル(ID−A)の抽象化ルール502を取得する。ステップS1104ではデータ抽象化部122が、上記ステップS1102で取得したデータに対して、ステップS1103で取得した抽象化ルールを適用して抽象化を実施する。
ステップS1105では、データ抽象化部122が、抽象化の結果を抽象化後テーブル600に追加する。ここで、データ抽象化部122は、抽象化の結果を抽象化レベルがID−A、列名がID−B、行番号がID−Cのデータとして抽象化後テーブル600に追加する。
なお、抽象化後テーブル600には、マスタデータテーブル150の抽象化結果に加えて、後述するように製造実績データテーブル300の抽象化結果も格納される。しかし、抽象化後テーブル600では、抽象化前列名602で「製品生産時刻」などマスタデータテーブル150の列名が付与されているデータと、「DATA001」など製造実績データテーブル300の列名が付与されているデータから、マスタデータの抽象化結果と製造実績データの抽象化結果を識別することができる。
ステップS1106で、データ抽象化部122は、マスタデータテーブル150で列名がID−Bの全てのレコードについて処理が完了したか否かを判定する。データ抽象化部122は、全てのレコードについて処理が完了していなければステップS1101へ戻って上記処理を繰り返し、全てのレコードについて処理が完了していれば処理を終了する。
以上のように、マスタデータの抽象化処理では、マスタデータテーブル150のフィールド名157を抽象化前列名602に格納して抽象化後データ604と対応付けることができる。
図10は、データ分類サーバ100で行われる製造実績データの分類処理の一例を示すフローチャートである。この処理は、データ分類サーバ100の管理者などユーザからの指令に基づいて開始される。本実施例では、ユーザの設定の変更を契機に製造実績データの分類処理を行う例を示す。なお、ユーザが変更する設定としては、後述するように、抽象化レベルを変更した場合に、データ分類サーバ100のユーザ設定更新検出部110が設定変更として検出する。
データ分類サーバ100のユーザ設定更新検出部110が、ユーザ設定の更新を検出すると処理を開始する(S201)。ステップS202では、抽象化レベル設定部121が、抽象化レベル(ID−D)として最も高いレベル=1に設定して初期化する。
ステップS203では、ユーザ設定更新検出部110が抽象化ルールテーブル500を参照して、ユーザ設定が変更された抽象化レベルを取得し、現在の抽象化レベル(ID−D)とユーザ設定の抽象化レベルに対応する抽象化ルール502が存在するか否かを判定する。抽象化ルールテーブル500に現在の抽象化レベルの抽象化ルール及びユーザ設定の抽象化ルールが存在すればステップS204へ進み、存在しない場合には処理を終了する。
ステップS204では、データ分類サーバ100のユーザ設定更新検出部110が、製造実績データテーブル300の全ての列について処理を完了したか否かを判定する。全ての列について処理を完了していなければステップS205へ進み、全ての列について処理を完了していればステップS210へ進む。
ステップS205では、データ分類サーバ100の列圧縮部107が、製造実績データテーブル300から未処理の列(列名がID−E)を取得する。ステップS206では、列圧縮部107が、取得した列名ID−Bについて全てのデータについて処理が完了したか否かを判定する。列圧縮部107は、全てのデータについて処理が完了していなければステップS207の処理へ進み、全てのデータについて処理が完了していればステップS208の処理へ進む。
ステップS207では、データ分類サーバ100の列圧縮部107が、選択された列(ID−E)で未処理の行番号(ID−F)を選択して列方向の圧縮を実施する。列方向の圧縮については、図11のステップS2101〜2103で後述する。
一方、列(ID−E)について列圧縮が完了しているステップS208では、データ抽象化部122が、ステップS205で取得した列(ID−E)のデータにいついて、指定された抽象化レベル(ID−D)で抽象化する。抽象化の処理については図12のステップS2201〜S2206で後述する。
ステップS209では、データ分類部123が、上記ステップS208の抽象化の結果に基づいて、列データを分割する。列方向のデータの分割は、製造実績データテーブル300のカラム302〜305単位で抽象化後データ604が同一のデータを分類した情報である。なお、分割処理については図13のステップS2301〜S2305で後述する。
一方、上記ステップS204の判定で、製造実績データテーブル300の全てのデータについて処理を完了した場合のステップS210では、列分割結果出力部109がステップS209の結果を出力装置141に表示する。そして、抽象化レベル設定部121は、抽象化レベル(ID−D)をひとつ下げてからステップS203へ戻って上記処理を繰り返す。
上記処理によって、製造実績データテーブル300のデータは、列圧縮部107で列方向に圧縮された後に、データ抽象化部122でユーザ設定の抽象化レベルまで抽象化され、その後、抽象化の結果に応じてデータ分類部123が列方向でデータを分割する。
図11は、データ分類サーバ100の列圧縮部107で行われる製造実績データの圧縮処理の一例を示すフローチャートである。この処理は、図10のステップS207で行われる。
まず、ステップS2101で列圧縮部107は、製造実績データテーブル300の列名がID−Eの列について、行番号がID−Fのデータと同じ内容のデータを検索する。次に、ステップS2102で列圧縮部107は、検索した行番号をID−G1〜ID−Gxとして取得する。ただし、xは自然数である。
ステップS2103で列圧縮部107は、列名401がID−Eで、代表データ行番号402がID−Fで、圧縮データ行番号403がID−G1〜ID−Gxのレコードを圧縮列テーブル400に追加する。
上記処理を繰り返すことで、製造実績データテーブル300の各カラム302〜305の内容が列方向で圧縮され、圧縮列テーブル400に格納される。
図12は、データ分類サーバ100のデータ抽象化部122で行われる製造実績データの抽象化処理の一例を示すフローチャートである。この処理は、図10のステップS208で行われる。
まず、ステップS2201でデータ抽象化部122は、圧縮列テーブル400の列名401がID−Eの列の全てのデータについて処理が完了したか否かを判定し、完了していなければステップS2202へ進み、完了していれば処理を終了する。
ステップS2202では、データ抽象化部122が圧縮列テーブル400から列名401がID−Eで未処理のデータを取得し、当該データの代表データ行番号402を変数ID−Hに設定する。ステップS2203では、データ抽象化部122が代表データ行番号402を変数ID−H、列名401がID−Eのデータを製造実績データテーブル300から取得する。
ステップS2204でデータ抽象化部122は、抽象化レベルがID−Dの抽象化ルールを抽象化ルールテーブル500から取得する。そして、ステップS2205でデータ抽象化部122は、取得した抽象化ルール502に基づいて、ステップS2203で取得したデータを抽象化する。
ステップS2206でデータ抽象化部122は、ステップS2205の抽象化の結果を抽象化後データ604として、抽象化レベル601がID−Dで、抽象化前列名602がID−Eで、抽象化前行番号603がID−Hのレコードを抽象化後テーブル600に追加する。
以上の処理によって、圧縮列テーブル400の列名401がID−Eに該当するデータが順次抽象化されて抽象化後テーブル600に格納される。
図13は、データ分類サーバ100のデータ分類部123で行われる抽象化結果の分類処理の一例を示すフローチャートである。この処理は、図10のステップS209で行われる。
まず、ステップS2301でデータ分類部123は、抽象化後テーブル600の抽象化レベル601がID−Dで、抽象化前列名602がID−Eの全てのデータについて処理が完了したか否かを判定し、完了していなければステップS2302へ進み、完了していれば処理を終了する。
ステップS2302では、データ分類部123が抽象化後テーブル600の抽象化レベル601がID−Dで、抽象化前列名602がID−Eのデータのうち未処理の抽象化後データ604を取得し、抽象化結果(ID−J)とする。
ステップS2303でデータ分類部123は、抽象化後テーブル600から抽象化前列名602がID−Eで、かつ、抽象化後データ604がID−Jのデータを全て選択する。データ分類部123は、選択したデータの抽象化前行番号603を取得して変数ID−I1〜ID−Iyに格納する。なお、yは自然数である。
次に、ステップS2340でデータ分類部123は、抽象化前列名701がID−Eで、抽象化前行番号702がID−I1〜ID−Iyで、抽象化レベル703がID−Dで、抽象化後データがID−Jの行を抽象化前後データ関連性テーブル700に追加する。
上記処理によって、抽象化前の製造実績データの列名と行番号と、抽象化後のデータと抽象化レベルの対応関係を示す抽象化前後データ関連性テーブル700に製造実績データテーブル300の抽象化結果が格納される。
図14は、データ分類サーバ100の抽象化レベル出力部108が出力装置141に表示する抽象化レベルの設定画面の一例を示す画面イメージである。抽象化レベル出力部108は、例えば、図8のステップS108等で抽象化レベルと抽象化の結果を出力装置141に表示する。
抽象化レベル設定画面1000は、マスタデータテーブル150の抽象化後データ604を抽象化レベル毎のグラフ1010で表示する表示領域1001と、表示する抽象化レベルを設定するポインタ1002と、抽象化レベルの設定をユーザ設定として反映させる実行ボタン1003を含む。
図示の例では、マスタデータテーブル150の抽象化を実施して、マスタデータテーブル150の列名152〜156を含むデータの抽象化後データ604を、抽象化レベル設定画面1000としてグラフ1010で出力装置141に表示する例を示す。
マスタデータテーブル150を抽象化したグラフ1010の起点には、抽象化の最上位となる「実績データ」が配置され、その直下には最も抽象化の度合いが最も高い抽象化レベル=1の抽象化後データが「文字列」、「数値型」及び「日付型」として表示される。なお、本実施例では、年月日と時刻を含むデータを日付型と定義するが、日付と時刻を分けて管理するようにしてもよい。
抽象化レベル=1の直下には、2番目に抽象化の度合いが高い抽象化レベル=2の抽象化後データが「英字数字型文字列」、「英字型文字列」、「漢字字型文字列」、「整数」及び「小数」として表示される。
抽象化レベル=2の直下には、3番目に抽象化の度合いが高い抽象化レベル=3の抽象化後データが「文字数+英字数字型文字列」、「文字数+英字型文字列」及び「文字数+漢字字型文字列」として表示される。
マスタデータのグラフ1010は、このように、抽象化レベルの階層ごとにマスタデータを抽象化した抽象化後データ604をデータの属性(種類)の関係でグラフとして配置したものである。
データ分類サーバ100の管理者などのユーザがポインタ1002を操作して抽象化レベルを設定し、実行ボタン1003をクリックすると、データ分類サーバ100は、新たな抽象化レベルの設定に応じて抽象化後データをグラフ1010で出力装置141に表示する。
なお、マスタデータテーブル150を抽象化した抽象化後データ(第1の抽象化データ)604のグラフ1010は、データ分類サーバ100が抽象化後テーブル600を参照することでマスタデータテーブル150のフィールド名157である抽象化前列名602を特定可能である。
図15は、データ分類サーバ100の列コンバージ部111が出力装置141に表示する製造実績データ分類結果表示画面1100の一例を示す画面イメージである。列分割結果出力部109は、例えば、図10のステップS210等でカラム302〜305毎に抽象化後データに応じて分類された製造実績データを出力装置141に表示する。
製造実績データ分類結果表示画面1100は、製造実績データテーブル300のカラム302〜305の名称(DATA001)毎に、抽象化後データが同一のデータがまとめて表示される。
図示の例では、製造実績データテーブル300のカラム302の名称が「DATA001」の列データは、抽象化後データが英数文字列の値として「SM01」等が分類され、抽象化後データが小数の値として「−0.2273」等が分類され、抽象化後データが漢字文字列の値として「横浜太郎」等が分類される。
製造実績データ分類結果表示画面1100を参照することで、データ分類サーバ100の管理者などのユーザは、マスタデータのグラフ(抽象化後データ)1010によって分類される製造実績データテーブル300の内容を取得することができる。
以上のように、本実施例1のデータ分類サーバ100では、マスタデータテーブル150のマスタデータに抽象化レベル毎の抽象化ルール502を適用して抽象化後データ604(第1の抽象化データ)を生成し、抽象化レベル毎に抽象化後のマスタデータを種類毎に分類したグラフ1010(図14参照)を生成することができる。そして、データ分類サーバ100は、製造実績データテーブル300のカラム302〜305毎に抽象化ルールテーブル500に基づいて製造実績データを抽象化して抽象化後データ604(第2の抽象化データ)を生成し、上述の抽象化後のマスタデータのグラフ1010に対応付けて抽象化後の製造実績データを分類することができる。
本実施例1では、データフォーマットの異なる複数の製造設備310−1〜310−Nから時系列で製造実績データを受け付けて製造実績データテーブル300に格納し、製造実績データを列ごとに抽象化して、抽象化後のマスタデータのグラフ1010に応じて抽象化後の製造実績データを分類することができる。
なお、上記実施例1では、マスタデータテーブル150のマスタデータを抽象化した抽象化後データと、製造実績データテーブル300の製造実績データを抽象化した抽象化後データを、同一の抽象化後テーブル600に格納したがこれに限定されるものではない。例えば、マスタデータテーブル150のマスタデータを抽象化して抽象化後データを第1の抽象化後テーブルに格納し、製造実績データテーブル300の製造実績データを抽象化した抽象化後データを第2の抽象化後テーブルに分離して格納してもよい。
以上のように、データ分類サーバ100を利用するユーザ(分析担当者)が製造実績データの列名(フィールド名157)及びカラムの内容を理解していなくとも、データ分類サーバ100が製造実績データをマスタデータのカテゴリ(グラフ1010)で分類することが可能となる。これにより、分析担当者がデータ理解するまでの時間が不要となって、分析時間(データの理解や準備時間)を短縮して分析処理にかかるコストを抑制できる。
また、データ分類サーバ100は、製造実績データのデータ種別(抽象化後データ604)を、マスタデータのグラフ1010を利用して製造実績データテーブル300の列毎に特定するので、時系列の製造実績データを高速に処理することが可能となる。
図16は、第2の実施例のデータ分類サーバ100の一例を示すブロック図である。第2の実施例では、前記第1実施例の分類処理部10に抽象化後の製造実績データを抽象化後データ604単位でまとめる列コンバージ部111を追加し、ストレージ装置130に列コンバージテーブル800を追加したものである。その他の構成は、前記第1実施例と同様である。
図17は、列コンバージテーブル800の一例を示す図である。この列コンバージテーブル800は、後述する列コンバージ部111の処理によって生成される。
列コンバージテーブル800は、抽象化前後データ関連性テーブル700の抽象化後データ704を格納する抽象化後データ801と、抽象化前列名701を格納する列名802と、抽象化前行番号702を格納する行番号803とをひとつのレコードに含む。
データ分類サーバ100は、列コンバージテーブル800を参照することにより、製造実績データを抽象化した抽象化後データ604とマスタデータのグラフ1010を対応付けることができる。すなわち、データ分類サーバ100は、製造実績データテーブル300の列にかかわらず製造実績データをマスタデータのグラフ1010に対応付けて分類することができる。
図18は、データ分類サーバ100の列コンバージ部111が出力装置141に表示する製造実績データ分類結果表示画面1100の一例を示す画面イメージである。列コンバージ部111は、後述の図19Bの処理によって、マスタデータのグラフ1010と同一の抽象化後データで製造実績データテーブル300を分類した結果を、製造実績データ分類結果表示画面1100として出力装置141に表示する。
製造実績データ分類結果表示画面1100は、前記実施例1の図15とは異なり、製造実績データテーブル300のカラム302〜305に係わらず、抽象化後データがグラフ1010と同一の抽象化データを有する製造実績データが列コンバージ部111によって出力される。図示の例では、抽象化後データがグラフ1010を構成する「英字数字文字列」のデータとして「SM010」、「C0010」が分類され、「漢字型文字列」として「神戸太郎」、「横浜太郎」及び「着磁機」が分類され、同様に数値や日付の製造実績データが分類される。
本実施例2の製造実績データ分類結果表示画面1100を参照することで、データ分類サーバ100の管理者などのユーザは、抽象化後データに対応する製造実績データテーブル300のデータを容易に把握することができる。
図19Aは、データ分類サーバ100で行われる製造実績データの分類処理の一例を示すフローチャートである。この処理は、前記実施例1の図10の処理に、ステップS3100の分類されたデータのコンバージ処理を追加したもので、その他の処理は前記実施例1と同様である。
ステップS204〜S209の処理で、カラム302〜305毎に列方向のデータの分割が全て完了すると、ステップS3100では、列コンバージ部111が列コンバージテーブル800を生成する。
そして、ステップS210では、データ分類サーバ100の列コンバージ部111が列コンバージテーブル800の抽象化後データ801毎に製造実績データを集約した結果を、図18に示す製造実績データ分類結果表示画面1100に出力する。
図19Bは、データ分類サーバ100の列コンバージ部111で行われる製造実績データの再結合(コンバージ)処理の一例を示すフローチャートである。この処理は、図19AのステップS3100で行われる処理で、各抽象化レベルで列方向のデータ分割が完了する度に実行される。
ステップS3101で、列コンバージ部111は、抽象化前後データ関連性テーブル700の抽象化レベルがID−Dの全てのデータについて抽象化後データ704の処理が完了したか否かを判定する。列コンバージ部111は、未処理のデータがあればステップS3102へ進み、全てのデータについて処理が完了していればこの処理を完了して図19Aの処理に戻る。
ステップS3102で列コンバージ部111は、抽象化前後データ関連性テーブル700の抽象化レベルID−Dで、未処理の抽象化後データ704を変数ID−Lとして取得する。
ステップS3101で、列コンバージ部111は、抽象化前後データ関連性テーブル700の抽象化レベル703がID−Dで、抽象化後データ704がID−Lのデータについて全て処理が完了したか否かを判定する。列コンバージ部111は、未処理のデータがあればステップS3104へ進み、全てのデータについて処理が完了していればステップS3101へ戻る。
ステップS3104で列コンバージ部111は、抽象化前後データ関連性テーブル700の抽象化レベル703がID−Dで、抽象化後データ704がID−Lで未処理のデータを取得する。
ステップS3105で列コンバージ部111は、取得したデータの抽象化前列名701を変数ID−Mとして取得し、当該レコードの抽象化前行番号702を変数ID−N1〜ID−Nzとして取得する。なお、zは自然数である。
次に、ステップS3106で列コンバージ部111は、抽象化後データ801がID−Lで、列名802がID−Mで、行番号803がID−N1〜ID−Nzのレコードを列コンバージテーブル800に追加する。
上記処理を繰り返すことで、図17で示すように、列コンバージテーブル800が生成され、カラム302〜305に係わらず抽象化後データ801で分類されたデータを列名802と行番号803で特定することが可能となる。
以上のように、本実施例2のデータ分類サーバ100では、列コンバージテーブル800で製造実績データテーブル300の列方向に分類した抽象化後データ604を、マスタデータのグラフ1010で集約する。これにより、データ分類サーバ100は、製造実績データテーブル300のカラム302〜305に係わらず、マスタデータのグラフ1010に応じて製造実績データを分類することができる。
本実施例2では、データフォーマットの異なる複数の製造設備310−1〜310−Nから時系列で製造実績データを受け付けて製造実績データテーブル300に格納し、製造実績データを抽象化して、製造実績データテーブル300の列に係わらずグラフ1010にまとめることができる。
以上のように、データ分類サーバ100を利用するユーザ(分析担当者)が製造実績データの列名(フィールド名157)及びカラムの内容を理解していなくとも、マスタデータのカテゴリ(グラフ1010)で製造実績データを分類することが可能となり、分析担当者がデータを理解するまでの時間が不要となって、分析時間(データの理解や準備時間)を短縮して分析処理にかかるコストを抑制できる。
また、データ分類サーバ100は、製造実績データのデータ種別(抽象化後データ604)を、マスタデータのグラフ1010を利用して製造実績データテーブル300の列に係わらず特定できるので、時系列の製造実績データを高速に処理することが可能となる。
図20は、第3の実施例のデータ分類サーバ100の一例を示すブロック図である。第3の実施例では、前記第2実施例の構成に、マスタデータテーブル150を抽象化して教師データを生成する教師データ生成部112と、機械学習の学習モデルを生成する学習モデル生成部113と、製造実績データを分類するのに適した抽象化レベルを学習する最適抽象化レベル学習部114と、抽象化条件テーブル900に基づいて処理対象のデータを特定する抽象化対象データ特定部115と、機械学習の結果を格納する機械学習結果テーブル950を加えたものである。その他の構成は、前記第2実施例と同様である。
本実施例3では、列コンバージテーブル800で分類された抽象化後テーブル600のデータと製造実績データと、製造実績データテーブル300のフィールド名との関係を特定する例を示す。
図21A、図21Bは、データ分類サーバ100が提供する抽象化レベル調整及び製造実績データ分類結果表示画面1300の一例を示す画面イメージである。抽象化レベル調整及び製造実績データ分類結果表示画面1300は、抽象化レベル毎に階層構造でマスタデータテーブル150のフィールド名1322と抽象化後データ1321を表示する領域1301〜1304と、製造実績データの分類結果を表示する領域1305と、抽象化レベルの調整を適用する決定ボタン1310とを含む。
領域1301〜1304は、抽象化レベルが1〜4の例を示し、それぞれの抽象化レベルに属する抽象化後データ1321と、抽象化後データに対応するマスタデータテーブル150に対応するフィールド名1322が表示される。なお、図中抽象化レベル=1は抽象化を実施しない階層である。
なお、領域1301〜1304は、最適な抽象化のレベルを入力装置140等によって調整する抽象化レベル調整画面として機能する。抽象化レベル調整画面では、"+"のボタン1330がクリックされると抽象化後データ1321に分類されたフィールド名1322が展開される。その後、ボタン1330は"−"で表示される。
また、"−"のボタン1330がクリックされると、展開されていたフィールド名1322を消去して抽象化後データ1321のみを表示する折りたたみ処理が実施される。その後、ボタン1330は"+"で表示される。
抽象化レベル=1の領域1301には、抽象化後データ1321として「実績データ」(1321)が表示され、ボタン1330は展開状態の「−」となっており、当該抽象化後データに属するマスタデータテーブル150のフィールド名1322の一覧が展開されている。ボタン1330は「+」で代表のフィールド名1322のみを表示する折りたたみ状態を示す。ボタン1330が操作されると、後述するように、ユーザ設定更新検出部110が図27の処理を実行する。
なお、抽象化レベル=1では、製造実績データの抽象化は実施しないので、「実績データ」配下のフィールド名1322にはマスタデータテーブル150の全ての列名(フィールド名157)が列挙される。
抽象化レベル=2の領域1302には、抽象化後データ1321として、文字列データ、数値型データ、日付型データの3つが表示される。そして、文字列データには、マスタデータテーブル150のフィールド名(データ種別)となる「設備番号」、「設備名」、「作業者名」、「シフト番号」、「製品個体識別子」が含まれることを示す。
製造実績データの分類結果を表示する領域1305には、抽象化レベル=4で抽象化後データ1311が「4文字以下+漢字型文字列」の「作業者名」のフィールド名1322で製造実績データを分類した結果が表示される。
管理者などのユーザは、領域1301〜1304で抽象化後データまたはフィールド名1322をクリックしてから、決定ボタン1310をクリックすることで、調整後の抽象化レベルまたは抽象化後データ1321で製造実績データを分類することができる。
また、図21A、図21Bの抽象化レベル調整及び製造実績データ分類結果表示画面1300は、抽象化レベル出力部108で生成することができる。
図22は、抽象化前後データ関連性テーブル700Aの一例を示す図である。本実施例3の抽象化前後データ関連性テーブル700Aは、前記実施例1の図7に示した抽象化前後データ関連性テーブル700Aにデータ種別705を追加したものであり、その他の構成は前記実施例1と同様である。
抽象化前後データ関連性テーブル700Aは、圧縮列テーブル400の列名401を格納する抽象化前列名701と、圧縮データ行番号403を格納する抽象化前行番号702と、抽象化後テーブル600の抽象化レベル601を格納する抽象化レベル703と、抽象化後データ604を格納する抽象化後データ704と、マスタデータテーブル150のフィールド名を格納するデータ種別705をひとつのレコードに含む。
図23は、抽象化条件テーブル900の一例を示す図である。抽象化条件テーブル900は、データ分類部123が生成する。抽象化条件テーブル900は、抽象化のレベルを格納する抽象化レベル901と、抽象化の条件を格納した抽象化条件902と、抽象化レベルの階層の終端を示す抽象化フラグ903とを含む。
抽象化フラグ903は、「1」であれば当該抽象化レベルの下位の階層が存在することを示し、「0」であれば当該抽象化レベルが最下層であることを示す。
図24は、データ分類サーバ100で行われる学習モデルの生成処理の一例を示すフローチャートである。この処理は前記実施例1の図8と同様に、マスタデータ更新検出部105がマスタデータテーブル150の更新を検出すると開始される。
ステップS401では、前記実施例1の図8のステップS101、S102と同様に、ステップS101でマスタデータ更新検出部105がマスタデータテーブル150の更新を検出すると、ステップS102で抽象化レベル設定部121が、抽象化するレベルを最も高いレベル=1に初期化し、変数ID−Aに抽象化レベル=1を設定する。
ステップS402では、マスタデータ更新検出部105が、抽象化ルールテーブル500を参照して、現在の抽象化レベルに対応する抽象化ルール502が存在するか否かを判定し、抽象化ルールテーブル500に現在の抽象化レベルID−Aに対応する抽象化ルール502が存在すればステップS403へ進み、存在しない場合にはステップS409へ進む。
ステップS403では、前記実施例1の図8のステップS104〜S106の処理を実行する。すなわち、データ抽象化部122が、マスタデータテーブル150のマスタデータの全ての列について各抽象化レベルID−Aで抽象化の処理を実施して抽象化後テーブル600を更新する。
ステップS404では、教師データ生成部112が抽象化後テーブル600を参照し、抽象化されたマスタデータから教師データを生成する。教師データ生成部112は抽象化後テーブル600の全てのデータを用いるのではなく、抽象化前列名602がマスタデータテーブル150のカラムの名称(フィールド名157)と一致するレコードを教師データとして用いる。
ステップS405では、学習モデル生成部113が教師データに基づいて、機械学習の学習モデルを生成する。なお、機械学習の学習モデルとしては周知または公知の技術を適用すればよく、決定木やSVM(Support Vector Machine)などを適宜用いることができる。
そして、データ分類サーバ100の最適抽象化レベル学習部114は、生成された学習モデルによって機械学習を実行して、機械学習の結果を機械学習結果テーブル950に格納する。
なお、学習モデルによる機械学習は、図示しない処理で実行され、図28に示す機械学習結果テーブル950に学習結果が格納される。図28は、学習モデルによる機械学習の結果を格納する機械学習結果テーブル950の一例を示す図である。
機械学習結果テーブル950は、抽象化のレベルを格納する抽象化レベル951と、製造実績データを分類する条件を格納する分類条件952と、分類条件952に分類された製造実績データのフィールド名を格納するデータ種別953とを含む。
分類条件952は、図21Aのデータ種別特定グラフのノードに相当する抽象化後データ1321及び図22の抽象化前後データ関連性テーブル700Aの抽象化後データ704に対応する。データ種別953は、図21Aに示したフィールド名1322に対応し、マスタデータテーブル150のフィールド名157に相当する。
ステップS406では、データ分類部123が図25のステップS4101〜S4105の処理を行って、抽象化条件テーブル900に抽象化フラグ903を追加する。この処理については、図25で後述する。
ステップS407では、データ分類部123が図26のステップS4201〜S4209の処理を行って、抽象化された全ての分類対象のデータをフィールド名に分類し、分類される結果を抽象化前後データ関連性テーブル720に出力する。この処理については、図26で後述する。
次に、ステップS408では、抽象化レベル設定部121が、現在の抽象化レベルを一段階低いレベル(レベルの値は増大)に設定する。現在の抽象化レベルが「1」であれば、抽象化レベルを「2」に変更して抽象化の度合を下げてから上記ステップS402以降の処理を繰り返す。
上記ステップS402では、マスタデータ更新検出部105が抽象化レベルID−Aに対応する抽象化ルール502がなくなるまで上記処理を繰り返した後にステップS409の処理へ進む。ステップS409では、データ分類サーバ100は、上記ステップS407で分類した抽象化前後データ関連性テーブル700の内容を、図21A、図21Bに示した抽象化レベル調整及び製造実績データ分類結果表示画面1300に出力する。
上記処理により、機械学習の結果に基づく分類が実施されて、抽象化レベル調整及び製造実績データ分類結果表示画面1300の領域1305には、図21A、図21Bで示したように、製造実績データをマスタデータテーブル150のフィールド名157で分類した結果が表示される。図21Aの例では、マスタデータテーブル150のフィールド名=作業者名に分類された製造実績データの分類結果が表示される。
なお、上記処理は管理者が操作する入力装置140からの所定の指令に基づいて実行してもよい。
図25は、データ分類サーバ100のデータ分類部123で行われる処理の一例を示すフローチャートである。この処理は図24のステップS406で行われる処理で、図23の抽象化条件テーブル900を設定する処理である。
ステップS4101では、データ分類部123が、図24のステップS406で生成された学習モデルの全ての分類条件について処理が完了したか否かを判定する。処理が完了していなければステップS4102へ進み、処理が完了した場合には図24の処理へ復帰する。
ステップS4102では、データ分類部123が、学習モデルから分類条件を一つ取得する。なお、データ分類部123は、分類条件の中から予め設定した順序で選択すればよい。
ステップS4103では、データ分類部123が、機械学習結果テーブル950を参照して上記ステップS4102で取得した分類条件に一致する分類条件952を検索し、該当する分類条件952に設定されたデータ種別953を取得する。
ステップS4104では、データ分類部123が、取得したデータ種別953が複数のデータ(フィールド名)であるか否かを判定する。複数のデータであればステップS41106へ進み、ひとつのデータであればステップS4105へ進む。
ステップS4105では、当該抽象化レベルで分類条件952とデータ種別953は1対1の関係となったので、データ分類部123は、現在の抽象化レベルID−Aを当該データ種別953の最終の抽象化レベルとする。このため、データ分類部123は、抽象化レベル901=抽象化レベルID−Aとし、ステップS4102で取得した分類条件952を抽象化条件902とし、抽象化フラグ903=0のレコードを抽象化条件テーブル900に追加する。
一方、ステップS4105では、当該抽象化レベルで分類条件952に対して複数のデータ種別953が含まれるため、データ分類部123は、現在の抽象化レベルID−Aからさらに抽象化のレベルを低下させることができる。このため、データ分類部123は、抽象化レベル901=抽象化レベルID−Aとし、ステップS4102で取得した分類条件952を抽象化条件902とし、抽象化フラグ903=1のレコードを抽象化条件テーブル900に追加する。
上記処理により、データ分類部123は、学習モデルの分類条件のそれぞれについて、機械学習結果テーブル950の学習結果を反映させた抽象化条件テーブル900を生成することができる。
図26は、データ分類サーバ100のデータ分類部123で行われる製造実績データの分類処理の一例を示すフローチャートである。この処理は図24のステップS407で行われる処理である。
まず、ステップS4201でデータ分類部123は、圧縮列テーブル400全ての列名401について処理が完了したか否かを判定する。処理が完了していなければステップS4202へ進み、処理が完了した場合には図24の処理へ復帰する。
ステップS4202ではデータ分類部123が、圧縮列テーブル400から所定の順序で列名ID−Oを選択する。列名の選択は、例えば、圧縮列テーブル400の先頭のレコードから順次行えばよい。
なお、初回の処理では、製造実績データテーブル300から製造実績データを読み込んで、前記実施例1の図10のステップS204〜S207で示したように圧縮列テーブル400を生成しておく。
ステップS4203ではデータ分類部123が、圧縮列テーブル400の列名ID−Oの全てのデータについて処理が完了したか否かを判定する。処理が完了していなければステップS4204へ進み、処理が完了していなければ図24の処理へ復帰する。
ステップS4204ではデータ分類部123が、圧縮列テーブル400の列名ID−Oのうちひとつのレコード(行)を取得し、当該行番号を変数ID−Pとする。列名ID−Oのレコードの選択は、例えば、圧縮列テーブル400の先頭のレコードから順次行えばよい。
ステップS4205ではデータ分類部123が、抽象化後テーブル600から抽象化レベル601=ID−A、抽象化前列名602=ID−O、抽象化前行番号603=ID−Pのレコードで抽象化後データ604を取得する。
ステップS4206ではデータ分類部123が、抽象化条件テーブル900を参照し、抽象化条件902が上記ステップS4205で取得した抽象化後データ604と一致し、かつ抽象化レベル901がID−Aのレコードから抽象化フラグ903を取得する。
ステップS4207ではデータ分類部123が、ステップS4206で取得した抽象化フラグ903が"1"であるか否かを判定する。抽象化フラグ903が"1"であればステップS4208へ進み、"0"であればステップS4203へ戻って上記処理を繰り返す。
ステップS4208ではデータ分類部123が、製造実績データテーブル300から列名=ID−O、行番号301=ID−Pのデータを取得する。そして、データ分類部123は、学習モデルの機械学習結果テーブル950を参照して、製造実績データテーブル300取得したデータを分類し、データ種別953を取得する。
ステップS4209で、データ分類部123は、抽象化前後データ関連性テーブル700Aに分類結果の行を追加する。すなわち、データ分類部123は、抽象化前列名701がID−O、抽象化前行番号702がID−P、抽象化レベル703がID−Aで、抽象化後データ704がステップS4205で取得した抽象化後データ604で、データ種別705がステップS4206の分類結果とする行を抽象化前後データ関連性テーブル700Aに追加する。
上記処理により、圧縮列テーブル400の列名401の圧縮データ行番号403の全てのデータを、抽象化のレベル毎に機械学習結果テーブル950のデータ種別953で分類することができ、分類された結果が抽象化前後データ関連性テーブル700Aに格納される。
なお、上記分類処理で用いる機械学習結果テーブル950は、予めデータ分類サーバ100で生成されたものに加え、他の計算機で生成された機械学習結果を用いることができる。
図27は、データ分類サーバ100のユーザ設定更新検出部110で行われる処理の一例を示すフローチャートである。ユーザ設定更新検出部110は、図21Aに示した抽象化レベル調整及び製造実績データ分類結果表示画面1300で、ボタン1330が操作されると図27のフローチャートを実行する。
ステップS4301では、データ分類サーバ100のユーザ等が、入力装置140を操作してボタン1330をクリックすると、ユーザ設定更新検出部110は、最適抽象化レベルの設定が変更されたと判定してステップS4302へ進む。
ステップS4302では、ユーザ設定更新検出部110が、抽象化レベル調整画面(1301〜1304)から抽象化のレベルを取得して変数ID−Qに設定し、クリックされた抽象化後データ604を抽象化条件として取得する。
ステップS4303では、ユーザ設定更新検出部110が、"+"のボタン1330がクリックされたか否かを判定する。"+"のボタン1330がクリックされた場合にはステップS4304へ進み、"−"のボタン1330がクリックされた場合にはステップS4307へ進む。
ステップS4304では、ユーザ設定更新検出部110が、"+"のボタン1330が操作されたので抽象化後データの展開処理を実施する。ユーザ設定更新検出部110は、ステップS4302で設定した抽象化レベルよりも一つ下の抽象化レベル(ID−Q+1)、かつ、ステップS4302で設定した抽象化条件が抽象化後データ704と一致する行のデータ(抽象化前列名701、抽象化前行番号702)を、抽象化前後データ関連性テーブル700Aから取得する。
ステップS4305では、ユーザ設定更新検出部110が、抽象化ルールテーブル500を参照して、現在の抽象化レベルID−Qよりも一つ下の抽象化レベル501が存在するか否かを判定する。現在の抽象化レベルID−Qよりも一つ下の抽象化レベル501が存在すればステップS4306へ進み、存在しない場合に処理を終了する。
ステップS4305では、データ抽象化部122が、ステップS4304で取得したデータについて、抽象化レベルID−Qよりも一つ下の抽象化レベル501の抽象化ルール502を適用して抽象化後データを生成し、抽象化レベル調整画面の下位の抽象化レベルに展開して表示する。
一方、ステップS4303の判定で、"−"のボタン1330が操作された場合には、ステップS4307へ進み、ユーザ設定更新検出部110は、クリックされたボタン1330の配下のフィールド名1322を消去して折りたたみ処理を実施する。
以上の処理によって、データ分類サーバ100は、ユーザがボタン1330を操作すると、抽象化レベル調整画面内で展開処理または折りたたみ処理を実行する。
以上のように、本実施例3のデータ分類サーバ100では製造実績データテーブル300の製造実績データを抽象化した後に、マスタデータテーブル150の抽象化後データ604に対応付けることで、マスタデータテーブル150のフィールド名157毎に製造実績データを分類することができる。
また、データ分類サーバ100は、マスタデータから教師データを生成し、教師データから学習モデルを生成して、機械学習を実施させて機械学習結果テーブル950を生成する。そして、製造実績データを機械学習結果テーブル950を利用して分類を実施することで、製造実績データを分類する精度を向上させることができる。
本実施例3では、データ分類サーバ100がデータフォーマットの異なる複数の製造設備310−1〜310−Nから時系列で製造実績データを受け付けて製造実績データテーブル300に格納し、製造実績データを列に係わらず抽象化して、抽象化後データ604毎にマスタデータテーブル150のフィールド名157を特定することができる。
これにより、データ分類サーバ100では、抽象化後の製造実績データを、抽象化後のマスタデータのグラフ1010に付き合わせることで、時系列の製造実績データの各行がいずれの製造設備310−1〜310−Nで生成されたかを特定することができる。
以上のように、データ分類サーバ100を利用するユーザ(分析担当者)が製造実績データの列名(フィールド名157)及びカラムの内容を理解していなくとも、マスタデータのカテゴリ(グラフ1010)やフィールド名157で分類することが可能となり、分析担当者がデータ理解するまでの時間が不要となって、分析時間(データの理解や準備時間)を短縮して分析処理にかかるコストを抑制できる。
また、データ分類サーバ100は、製造実績データのデータ種別(抽象化後データ604)を、マスタデータのグラフ1010を利用して製造実績データテーブル300の列に係わらず特定するので、時系列の製造実績データを高速に処理することが可能となる。
<まとめ>
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に記載したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加、削除、又は置換のいずれもが、単独で、又は組み合わせても適用可能である。
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に記載したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加、削除、又は置換のいずれもが、単独で、又は組み合わせても適用可能である。
また、上記の各構成、機能、処理部、及び処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、及び機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSD(Solid State Drive)等の記録装置、または、ICカード、SDカード、DVD等の記録媒体に置くことができる。
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。
Claims (14)
- プロセッサとメモリとストレージ装置を備えた計算機で、データフォーマットの異なる複数の種類のデータを分類するデータ分類方法であって、
前記計算機が、前記データフォーマットの種類毎に前記データの代表値としてのマスタデータを格納したマスタデータ情報に、抽象化レベル毎に抽象化ルールを予め設定したルール情報を適用して、前記抽象化レベルごとに前記マスタデータを抽象化した第1の抽象化データを生成する第1のステップと、
前記計算機が、前記データフォーマットの異なる複数の種類のデータをデータ情報として取得する第2のステップと、
前記計算機が、前記取得したデータ情報に前記ルール情報を適用して前記抽象化レベルごとに前記データを抽象化した第2の抽象化データを生成する第3のステップと、
前記計算機が、前記第2の抽象化データを、前記抽象化レベル毎の第1の抽象化データで分類する第4のステップと、
を含むことを特徴とするデータ分類方法。 - 請求項1に記載のデータ分類方法であって、
前記データは、行と列を有し、
前記第4のステップは、
前記データの列方向で、前記第2の抽象化データを、前記抽象化レベル毎の第1の抽象化データで分類することを特徴とするデータ分類方法。 - 請求項2に記載のデータ分類方法であって、
前記第4のステップは、
前記データの列方向で分類された前記第2の抽象化データを、前記抽象化レベル毎の第1の抽象化データ毎に集約することを特徴とするデータ分類方法。 - 請求項1に記載のデータ分類方法であって、
前記マスタデータ情報は、
前記マスタデータを格納するフィールドと、当該フィールドの列方向の属性を示すフィールド名を有し、
前記第1のステップは、
前記第1の抽象化データと前記フィールド名との対応関係を設定することを特徴とするデータ分類方法。 - 請求項1に記載のデータ分類方法であって、
前記抽象化レベルは、予め設定された階層を有することを特徴とするデータ分類方法。 - 請求項1に記載のデータ分類方法であって、
前記計算機が、前記マスタデータから教師データを生成し、前記教師データから学習モデルを生成し、当該学習モデルによって機械学習を実行させて前記抽象化レベル毎に機械学習の結果を機械学習結果情報に格納する第5のステップをさらに含み、
前記第4のステップは、
前記機械学習結果情報に基づいて前記第2の抽象化データを分類することを特徴とするデータ分類方法。 - 請求項6に記載のデータ分類方法であって、
前記機械学習結果情報は、
前記第1の抽象化データに対応するデータ種別が対応付けられ、
前記第4のステップは、
前記第1の抽象化データに該当する第2の抽象化データに前記データ種別を設定することを特徴とするデータ分類方法。 - プロセッサとメモリとストレージ装置を備えて、データフォーマットの異なる複数の種類のデータを分類するデータ分類装置であって、
前記データフォーマットの種類毎に前記データの代表値としてのマスタデータを格納したマスタデータ情報と、
前記データ及び前記マスタデータを、抽象化レベル毎に抽象化ルールを予め設定したルール情報を適用して抽象化する抽象化部と、
前記抽象化されたデータを分類する分類部と、を有し、
前記抽象化部は、
前記マスタデータ情報に、前記ルール情報を適用して、前記抽象化レベルごとに前記マスタデータを抽象化した第1の抽象化データを生成し、前記データフォーマットの異なる複数の種類のデータを取得したデータ情報に前記ルール情報を適用して前記抽象化レベルごとに前記データを抽象化した第2の抽象化データを生成し、
前記分類部は、
前記第2の抽象化データを、前記抽象化レベル毎の第1の抽象化データで分類することを特徴とするデータ分類装置。 - 請求項8に記載のデータ分類装置であって、
前記データは、行と列を有し、
前記分類部は、
前記データの列方向で、前記第2の抽象化データを、前記抽象化レベル毎の第1の抽象化データで分類することを特徴とするデータ分類装置。 - 請求項9に記載のデータ分類装置であって、
前記分類部は、
前記データの列方向で分類された前記第2の抽象化データを、前記抽象化レベル毎の第1の抽象化データ毎に集約することを特徴とするデータ分類装置。 - 請求項8に記載のデータ分類装置であって、
前記マスタデータ情報は、
前記マスタデータを格納するフィールドと、当該フィールドの列方向の属性を示すフィールド名を有し、
前記抽象化部は、
前記第1の抽象化データと前記フィールド名との対応関係を設定することを特徴とするデータ分類装置。 - 請求項8に記載のデータ分類装置であって、
前記抽象化レベルは、予め設定された階層を有することを特徴とするデータ分類装置。 - 請求項8に記載のデータ分類装置であって、
前記マスタデータから教師データを生成し、前記教師データから学習モデルを生成し、当該学習モデルによって機械学習を実行させて前記抽象化レベル毎に機械学習の結果を機械学習結果情報に格納する学習部をさらに有し、
前記抽象化部は、
前記機械学習結果情報に基づいて前記第2の抽象化データを分類することを特徴とするデータ分類装置。 - 請求項13に記載のデータ分類装置であって、
前記機械学習結果情報は、
前記第1の抽象化データに対応するデータ種別が対応付けられ、
前記抽象化部は、
前記第1の抽象化データに該当する第2の抽象化データに前記データ種別を設定することを特徴とするデータ分類装置。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2016/058665 WO2017158812A1 (ja) | 2016-03-18 | 2016-03-18 | データ分類方法及びデータ分類装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2017158812A1 true JPWO2017158812A1 (ja) | 2018-06-07 |
JP6476346B2 JP6476346B2 (ja) | 2019-02-27 |
Family
ID=59851811
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018505181A Expired - Fee Related JP6476346B2 (ja) | 2016-03-18 | 2016-03-18 | データ分類方法及びデータ分類装置 |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP6476346B2 (ja) |
WO (1) | WO2017158812A1 (ja) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000348041A (ja) * | 1999-06-03 | 2000-12-15 | Nec Corp | 文書検索方法及びその装置並びにプログラムを記録した機械読み取り可能な記録媒体 |
JP2006139518A (ja) * | 2004-11-11 | 2006-06-01 | Nec Corp | 文書クラスタリング装置、クラスタリング方法及びクラスタリングプログラム |
JP2009134378A (ja) * | 2007-11-29 | 2009-06-18 | Hitachi Systems & Services Ltd | 文書群提示装置および文書群提示プログラム |
JP2012043212A (ja) * | 2010-08-19 | 2012-03-01 | Toshiba Corp | 情報分類階層管理装置 |
-
2016
- 2016-03-18 WO PCT/JP2016/058665 patent/WO2017158812A1/ja active Application Filing
- 2016-03-18 JP JP2018505181A patent/JP6476346B2/ja not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000348041A (ja) * | 1999-06-03 | 2000-12-15 | Nec Corp | 文書検索方法及びその装置並びにプログラムを記録した機械読み取り可能な記録媒体 |
JP2006139518A (ja) * | 2004-11-11 | 2006-06-01 | Nec Corp | 文書クラスタリング装置、クラスタリング方法及びクラスタリングプログラム |
JP2009134378A (ja) * | 2007-11-29 | 2009-06-18 | Hitachi Systems & Services Ltd | 文書群提示装置および文書群提示プログラム |
JP2012043212A (ja) * | 2010-08-19 | 2012-03-01 | Toshiba Corp | 情報分類階層管理装置 |
Also Published As
Publication number | Publication date |
---|---|
WO2017158812A1 (ja) | 2017-09-21 |
JP6476346B2 (ja) | 2019-02-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9727572B2 (en) | Database compression system and method | |
CN110162695B (zh) | 一种信息推送的方法及设备 | |
AU2013329525C1 (en) | System and method for recursively traversing the internet and other sources to identify, gather, curate, adjudicate, and qualify business identity and related data | |
US9317613B2 (en) | Large scale entity-specific resource classification | |
US11157550B2 (en) | Image search based on feature values | |
JP5241370B2 (ja) | テーブル分類装置、テーブル分類方法及びテーブル分類プログラム | |
CN103237094B (zh) | 一种识别用户的方法及装置 | |
KR101663547B1 (ko) | 데이터베이스의 아카이빙 방법 및 장치, 아카이빙된 데이터베이스의 검색 방법 및 장치 | |
US20200097483A1 (en) | Novel olap pre-calculation model and method for generating pre-calculation result | |
CN103797480B (zh) | 提取方法、提取程序、提取装置、以及提取系统 | |
EP1315103B1 (en) | File search method and apparatus, and index file creation method and device | |
RU2568276C2 (ru) | Способ извлечения полезного контента из установочных файлов мобильных приложений для дальнейшей машинной обработки данных, в частности поиска | |
JP2019204246A (ja) | 学習データ作成方法及び学習データ作成装置 | |
US11361195B2 (en) | Incremental update of a neighbor graph via an orthogonal transform based indexing | |
CN110874366A (zh) | 数据处理、查询方法和装置 | |
CN104933096B (zh) | 数据库的异常键识别方法、装置与数据系统 | |
JP6476346B2 (ja) | データ分類方法及びデータ分類装置 | |
US11954105B2 (en) | Method and system for storing query plans in a cache and method for querying a database system | |
KR101035037B1 (ko) | 동적 임계값이 적용된 유사문서 분류화 장치 및 방법 | |
JP6668271B2 (ja) | 業務仕様分析支援装置、業務仕様分析支援方法、及びプログラム | |
CN107315674B (zh) | 一种存储系统信息显示方法及系统 | |
CN110825792A (zh) | 基于golang中间件协程模式下的高并发分布式数据检索方法 | |
CN114168557A (zh) | 一种访问日志的处理方法、装置、计算机设备和存储介质 | |
JP2005122509A (ja) | 階層構造データ分析方法、分析装置および分析プログラム | |
CN113344023A (zh) | 一种代码推荐方法、装置及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20171222 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20190108 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20190204 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6476346 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |