JP6641456B2 - 計算機システム及びデータの分類方法 - Google Patents

計算機システム及びデータの分類方法 Download PDF

Info

Publication number
JP6641456B2
JP6641456B2 JP2018506682A JP2018506682A JP6641456B2 JP 6641456 B2 JP6641456 B2 JP 6641456B2 JP 2018506682 A JP2018506682 A JP 2018506682A JP 2018506682 A JP2018506682 A JP 2018506682A JP 6641456 B2 JP6641456 B2 JP 6641456B2
Authority
JP
Japan
Prior art keywords
data
entry
probability
similarity
data type
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.)
Active
Application number
JP2018506682A
Other languages
English (en)
Other versions
JPWO2017163342A1 (ja
Inventor
琢也 小田
琢也 小田
斉 修
斉 修
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Publication of JPWO2017163342A1 publication Critical patent/JPWO2017163342A1/ja
Application granted granted Critical
Publication of JP6641456B2 publication Critical patent/JP6641456B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/31Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/35Clustering; Classification
    • G06F16/353Clustering; Classification into predefined classes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/217Validation; Performance evaluation; Active pattern learning techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2413Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
    • G06F18/24133Distances to prototypes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2415Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on parametric or probabilistic models, e.g. based on likelihood ratio or false acceptance rate versus a false rejection rate
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Software Systems (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Biology (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Medical Informatics (AREA)
  • Computational Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Algebra (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、文字列等のデータの分類方法に関する。
製造業及び金融業等の業界において、運用システム等から取得されたデータを利用して生産性の向上、及び意思決定の支援を提供するシステムが求められている。
運用システムから取得されるデータは、複数の値を含む。取得されたデータは、複数のセルから構成されるデータとしてデータベースに格納される。したがって、同一のデータ列内の各セルには様々な種別の値が格納される。
製造設備及びセンサの多様化、システムのメンテナンス、データベースの設計ミス、システムの統合等によって、同一のデータであってもセルの構成が当初の設定と異なる場合もある。
取得されたデータを利用するためには、各セルに格納されるデータの種別等を判別する必要がある。これに対して、特許文献1に記載された技術が知られている。特許文献1には、データ内の文字の類似度に基づいてデータを自動的に分類する技術が記載されている。
米国特許第8732183号明細書
特許文献1の従来技術では、製品及び設備等の識別子等の文字列を正しく分類できないという課題がある。なぜならば、識別子等は、似たような文字列の配列が使用され、また、似たような文字が使用されるためである。
識別子等を正しく分類するためには文字列の長さも考慮する必要がある。より具体的には、分類対象の文字列の長さを、比較する文字列の種別に応じて変更した上で、類似度を算出する必要がある。
本発明は、識別子等の文字列を正しく分類するシステム及び方法を提供することを目的とする。
本願において開示される発明の代表的な一例を示せば以下の通りである。すなわち、複数の計算機を備える計算機システムであって、前記複数の計算機の各々は、プロセッサ、前記プロセッサに接続される主記憶装置、及び前記プロセッサに接続されるインタフェースを有し、前記少なくとも一つの計算機は、複数のデータ種別の各々に属する複数の教師データを用いて、ターゲットデータのデータ種別の分類に用いられる指標を算出するための分布情報を生成し、前記分布情報を用いて前記ターゲットデータのデータ種別を分類する分類部を有する計算機に当該分布情報を出力する学習部を有し、前記複数の教師データの各々は、一つ以上の文字から構成される文字列であり、前記学習部は、前記複数のデータ種別の各々に属する前記複数の教師データを用いた学習処理を実行することによって、前記データ種別、前記データ種別に属する前記複数の教師データの各々に含まれる文字、及び当該文字の文字列中の出現位置を含む複数の第1エントリを前記分布情報に追加し、前記データ種別、前記ターゲットデータのデータ長を調整するために追加されるダミーデータ、及び当該ダミーデータの文字列中の出現位置を含む所定の数の第2エントリを前記分布情報に追加し、前記第1エントリに含まれる前記データ種別に属する前記複数の教師データのデータ長に基づいて、前記第1エントリに含まれる前記出現位置に前記第1エントリに含まれる前記文字が出現する確率を表す第1確率を算出し、前記第2エントリに含まれる前記データ種別に属する前記複数の教師データのデータ長に基づいて、前記第2エントリに含まれる前記出現位置に前記第2エントリに含まれる前記ダミーデータが出現する確率を表す第2確率を算出し、前記複数の第1エントリの各々に前記第1確率を設定し、前記複数の第2エントリの各々に前記第2確率を設定することを特徴とする。
本発明によれば、分類部を有する計算機は、データ種別毎に所定の数のダミーデータのエントリが追加された分布情報を用いることによって、識別子等の文字列を正しく分類できる。前述した以外の課題、構成及び効果は、以下の実施例の説明によって明らかにされる。
実施例1の計算機システムの構成の一例を示す図である。 実施例1の教師データ管理情報の一例を示す図である。 実施例1の補正レベル管理情報の一例を示す図である。 実施例1の文字出現分布情報の一例を示す図である。 実施例1の分類対象データ管理情報の一例を示す図である。 実施例1の類似度算出結果情報の一例を示す図である。 実施例1の分類結果情報の一例を示す図である。 実施例1の補正レベル設定画面の一例を示す図である。 実施例1の分類結果確認/更新画面の一例を示す図である。 実施例1の学習サーバが実行する学習処理の一例を説明するフローチャートである。 実施例1の学習サーバが実行する出現率算出処理の一例を説明するフローチャートである。 実施例1の分類サーバが実行する処理の概要を説明するフローチャートである。 実施例1の分類サーバが実行する類似度算出処理の一例を説明するフローチャートである。 実施例1の分類サーバが実行する分類処理の一例を説明するフローチャートである。
本発明の概要について説明する。以下の説明では、分類されるデータ(文字列)をターゲットデータとも記載する。
識別子等のターゲットデータを正しく分類するためには、教師データ及びターゲットデータのデータ長、すなわち、文字列の長さを考慮する必要がある。より具体的には、比較する文字列の種別に応じて、ターゲットデータのデータ長(文字列の長さ)を変更した上で、類似度を算出する必要がある。また、教師データのデータ長はデータ種別毎に異なるため、データ種別に応じて文字列の長さの調整方法を変更する必要がある。また、同一のデータ種別に属する教師データであっても、データ長にばらつきがある場合があるため、教師データのデータ長のばらつきも考慮する必要がある。
そこで、本発明を適用したシステムでは、学習フェーズ及び分類フェーズのそれぞれについて特徴的の処理が実行される。学習フェーズでは、複数のデータ種別の教師データを用いて、ターゲットデータを分類するための文字出現分布情報400(図4参照)の生成処理が実行される。分類フェーズでは、文字出現分布情報400に基づいてターゲットデータの分類処理が実行される。
本発明の学習フェーズでは、学習サーバ100(図1参照)が、教師データのデータ種別、教師データ中の文字の出現位置、及び文字列の長さに基づいて、文字出現分布情報400を生成する。本実施例の文字出現分布情報400には、ターゲットデータのデータ長を調整するためのダミーデータのエントリがデータ種別毎に登録されている。
本発明の分類フェーズでは、分類サーバ101(図1参照)は、ターゲットデータ及び教師データを比較する前に、教師データのデータ種別に応じてターゲットデータに所定の数のダミーデータを追加する。分類サーバ101は、文字出現分布情報400と、データ長が調整されたターゲットデータ及び教師データの比較結果とに基づいて、教師データとターゲットデータとの間の類似度を算出する。分類サーバ101は、算出された類似度に基づいて、ターゲットデータのデータ種別を分類する。
前述したように、本発明では、各データ種別の教師データのデータ長を考慮した学習処理及び分類処理が行われる。以下、添付図面を用いて本発明の実施例について説明する。
図1は、実施例1の計算機システム10の構成の一例を示す図である。
計算機システム10は、データセンタ11及び複数の拠点12から構成される。データセンタ11及び複数の拠点12は、WAN(Wide Area Network)190を介して接続される。
まず、データセンタ11について説明する。データセンタ11は、各拠点12から送信されるデータ列(イベント情報)に含まれるセルのデータ(ターゲットデータ)のデータ種別を分類するためのサービスを提供するシステムである。データセンタ11は、学習サーバ100、分類サーバ101、及び記憶装置102を含む。学習サーバ100及び分類サーバ101は、LAN(Local Area Network)191を介して接続される。
学習サーバ100は、ターゲットデータの分類処理に用いる各種情報を生成する。学習サーバ100は、ハードウェア構成として、CPU111、主記憶装置112、ネットワークインタフェース113、及び外部記憶装置インタフェース114を備える。
CPU111は、主記憶装置112に格納されるプログラムを実行する演算装置である。CPU111がプログラムを実行することによって学習サーバ100の機能が実現される。以下、機能部を主語の処理を説明する場合、CPU111が当該機能部を実現するプログラムを実行していることを示す。
主記憶装置112は、CPU111が実行するプログラム及び当該プログラムの実行に必要な情報を格納する記憶媒体である。また、主記憶装置112の記憶領域は、プログラムが使用するワークエリアも含む。
ネットワークインタフェース113は、ネットワークを介して他の装置と接続するためのインタフェースである。外部記憶装置インタフェース114は、外部の記憶装置と接続するためのインタフェースである。
ここで、主記憶装置112に格納されるプログラムについて説明する。主記憶装置112は、学習部121、補正レベル入力部122、及び補正レベル算出部123を実現するプログラムを格納する。
学習部121は、補正レベル入力部122及び補正レベル算出部123と連携して、教師データを用いた学習処理を実行する。補正レベル入力部122は、補正レベルに関するデータの入力及び出力を行う。補正レベル算出部123は、補正レベルを算出する。ここで、補正レベルは、ターゲットデータのデータ長を調整するために追加されるダミーデータに関連する値、例えば、出現率及びダミーデータの追加数等を補正するための値である。補正レベル算出部123は、教師データ長レンジ算出部131を含む。教師データ長レンジ算出部131は、データ種別が同一である教師データのデータ長のばらつきを示すレンジを算出する。
なお、学習部121、補正レベル入力部122、及び補正レベル算出部123が有する機能は、一つの機能部にまとめてもよいし、また、複数の機能部に分割してもよい。例えば、学習部121が、補正レベル入力部122及び補正レベル算出部123が有する機能を有してもよい。
学習部121、補正レベル入力部122、及び補正レベル算出部123が実行する処理の詳細は、図10及び図11を用いて説明する。
分類サーバ101は、ターゲットデータの分類処理を実行する。分類サーバ101は、ハードウェア構成として、CPU141、主記憶装置142、ネットワークインタフェース143、及び外部記憶装置インタフェース144を備える。
CPU141、主記憶装置142、ネットワークインタフェース143、及び外部記憶装置インタフェース144は、CPU111、主記憶装置112、ネットワークインタフェース113、及び外部記憶装置インタフェース114と同一のものであるため説明を省略する。
主記憶装置142は、類似度算出部151、データ分類部152、分類閾値算出部153、及び分類結果出力部154を実現するプログラムを格納する。
類似度算出部151は、ターゲットデータのデータ種別を判定するための類似度を算出する。データ分類部152は、類似度及び分類閾値に基づいて、ターゲットデータを分類する。分類閾値算出部153は、ターゲットデータの分類処理に使用される分類閾値を算出する。分類結果出力部154は、ターゲットデータの分類結果を出力する。
なお、類似度算出部151、データ分類部152、分類閾値算出部153、及び分類結果出力部154が有する機能は、一つの機能部にまとめてもよいし、また、複数の機能部に分割してもよい。例えば、データ分類部152が、類似度算出部151、分類閾値算出部153、及び分類結果出力部154が有する機能を有してもよい。
類似度算出部151、データ分類部152、分類閾値算出部153、及び分類結果出力部154が実行する処理の詳細は、図12、図13、及び図14を用いて説明する。
記憶装置102は、各種データを格納する。記憶装置102は、例えば、コントローラ及び複数の記憶媒体を有するストレージシステムが考えられる。また、記憶装置102は、記憶媒体を有する一般的な計算機でもよいし、記憶媒体そのものであってもよい。ここで、記憶媒体は、HDD(Hard Disk Drive)及びSSD(Solid State Drive)等が考えられる。
本実施例の記憶装置102は、教師データ管理情報200、補正レベル管理情報300、文字出現分布情報400、分類対象データ管理情報500、類似度算出結果情報600、及び分類結果情報700を格納する。
教師データ管理情報200の詳細は、図2を用いて説明する。補正レベル管理情報300の詳細は、図3を用いて説明する。文字出現分布情報400の詳細は、図4を用いて説明する。分類対象データ管理情報500の詳細は、図5を用いて説明する。類似度算出結果情報600の詳細は、図6を用いて説明する。分類結果情報700の詳細は、図7を用いて説明する。
次に拠点12について説明する。拠点12では、任意の業務を実現するシステムが構築される。当該システムはイベント出力サーバ170を含む。イベント出力サーバ170は、複数のセンサ171と接続する。なお、本実施例は、イベント出力サーバ170とセンサ171との間の接続方法に限定されない。
センサ171は、業務に関連する情報を含むイベントデータを出力する。
イベント出力サーバ170は、センサ171からイベントデータを収集し、イベントデータをデータセンタ11に送信する。このとき、学習サーバ100又は分類サーバ101は、イベントデータを分類対象データ管理情報500に登録する。
イベント出力サーバ170は、ハードウェア構成として、CPU181、主記憶装置182、ネットワークインタフェース183、及びセンサアクセスインタフェース184を備える。
CPU181、主記憶装置182、及びネットワークインタフェース183は、CPU111、主記憶装置112、及びネットワークインタフェース113と同一のものであるため説明を省略する。センサアクセスインタフェース184は、センサ171と接続するためのインタフェースである。
なお、仮想化技術を用いて生成される仮想計算機を用いて、学習サーバ100及び分類サーバ101を実現してもよい。
図2は、実施例1の教師データ管理情報200の一例を示す図である。
教師データ管理情報200は、教師データを管理するための情報である。教師データ管理情報200は、カテゴリ201及びデータ202から構成されるエントリを複数含む。一つのエントリが一つの教師データに対応する。なお、エントリには他のセルが含まれてもよい。
カテゴリ201は、データ種別である。データ202は、教師データの具体的な値である。本実施例の教師データは、一つ以上の文字から構成される文字列である。データ202のダブルクォーテーションマーク内の文字列が教師データの値である。
従来技術では、分類精度を高めるために、教師データが完全にそろっている必要がある。一方、本実施例では、各データ種別の特徴的な文字及び文字列の長さのパターンを把握できる程度の数の教師データがあればよい。
図3は、実施例1の補正レベル管理情報300の一例を示す図である。
補正レベル管理情報300は、各データ種別の補正レベルを管理するための情報である。補正レベル管理情報300は、カテゴリ301、補正レベル302、挿入位置303、及び挿入率304から構成されるエントリを複数含む。本実施例では、一つのデータ種別に対して一つのエントリが存在する。
カテゴリ301は、カテゴリ201と同一のものである。補正レベル302は、補正レベルの具体的な値である。挿入位置303は、ターゲットデータに対するダミーデータの挿入位置を示す情報である。挿入率304は、挿入位置303に挿入するダミーデータの割合を示す。本実施例では、挿入率304には、「1.0」から「0」までの実数が格納される。
ここで、挿入するダミーデータの数が「4」である場合を例に説明する。
カテゴリ301が「Machine ID」、挿入位置303が「TAIL」、及び挿入率304が「1.0」のエントリが補正レベル管理情報300に登録されている場合、ターゲットデータの末尾に四つのダミーデータが挿入される。
カテゴリ301が「Machine ID」、挿入位置303が「HEAD−3」、及び挿入率304が「0.5」のエントリ、及びカテゴリ301が「Machine ID」、挿入位置303が「TAIL」、及び挿入率304が「0.5」のエントリが補正レベル管理情報300に登録されている場合、ターゲットデータの先頭から3文字目に二つのダミーデータが挿入され、ターゲットデータの末尾に二つのダミーデータが挿入される。
図4は、実施例1の文字出現分布情報400の一例を示す図である。
文字出現分布情報400は、教師データとターゲットデータとの間の類似度を算出する場合に使用される情報である。文字出現分布情報400は、教師データを用いた学習処理によって生成される。
文字出現分布情報400は、カテゴリ401、文字402、位置403、出現回数404、及び出現率405から構成されるエントリを複数含む。
カテゴリ401は、カテゴリ201と同一のものである。文字402は、具体的な文字である。位置403は、文字402に対応する文字の文字列中の出現位置を示す。出現回数404は、文字402に対応する文字が位置403に対応する出現位置に出現した数(累積値)である。出現率405は、カテゴリ401に属する文字列の文字402が位置403に出現する確率を表す。
図4に示すように、本実施例の文字出現分布情報400には、文字のエントリの他に、ダミーデータのエントリを含む点に特徴がある。なお、一つのクエスチョンマークが一つのダミーデータに対応する。
図5は、実施例1の分類対象データ管理情報500の一例を示す図である。
分類対象データ管理情報500は、ターゲットデータを格納する複数のセルから構成されるデータ列(イベントデータ)を管理するための情報である。分類対象データ管理情報500は、データID501、イベントタイム502、Data001(503)、Data002(504)、及びData003(505)から構成されるエントリを複数含む。一つのエントリが一つのデータ列に対応する。
データID501は、データ列(イベントデータ)を一意に識別するための識別情報である。イベントタイム502は、データ列が発生又は取得された時刻である。
Data001(503)、Data002(504)、及びData003(505)は、イベントデータに含まれる値である。
本実施例では、Data001(503)、Data002(504)、及びData003(505)に格納される値がターゲットデータとなる。なお、Data001(503)、Data002(504)、及びData003(505)のダブルクォーテーションマーク内の文字列が分類対象のターゲットデータである。
図6は、実施例1の類似度算出結果情報600の一例を示す図である。
類似度算出結果情報600は、ターゲットデータと教師データとの間の類似度の算出結果を管理するための情報である。類似度算出結果情報600は、セル名601、データID602、挿入後データ603、ターゲットカテゴリ604、及び類似度605から構成されるエントリを複数含む。
セル名601は、データ列のセルの名称である。データID602は、ターゲットデータを含むデータ列の識別情報である。挿入後データ603は、ダミーデータが挿入されたターゲットデータである。
ターゲットカテゴリ604は、ターゲットデータとの比較を行う教師データが属するデータ種別である。類似度605は、ダミーデータが挿入されたターゲットデータとターゲットカテゴリ604に属する教師データとの間の類似度である。
図7は、実施例1の分類結果情報700の一例を示す図である。
分類結果情報700は、ターゲットデータの分類結果を管理するための情報である。分類結果情報700は、データID701、セル名702、データ703、及び分類結果704から構成されるエントリを複数含む。一つのエントリは、任意のデータ列に含まれる一つのターゲットデータの分類結果に対応する。
データID701は、データID501と同一のものである。セル名702は、セル名601と同一のものである。データ703は、データID701とセル名702に対応するセルに格納されるターゲットデータである。分類結果704は、データ703に対応するターゲットデータの分類結果である。
図8は、実施例1の補正レベル設定画面800の一例を示す図である。
補正レベル設定画面800は、カテゴリ入力欄810、推奨補正レベル表示欄820、補正レベル入力欄830、挿入場所入力欄840、詳細設定欄850、設定状況確認欄860、OKボタン870、及びキャンセルボタン880を含む。
カテゴリ入力欄810は、補正レベルを設定するデータ種別を入力するための欄である。本実施例では、ユーザは、プルダウン形式で表示されたデータ種別を選択する。
推奨補正レベル表示欄820は、補正レベルのデフォルト値を表示する欄である。補正レベル入力欄830は、補正レベルの値を入力するための欄である。本実施例では、補正レベル入力欄830の下に、補正レベルの値の大きさと類似度との関係を示す説明文が表示される。
挿入場所入力欄840は、ターゲットデータに対するダミーデータの挿入位置を入力するための欄である。本実施例では、ユーザは、プルダウン形式で表示された挿入位置を選択する。詳細設定欄850は、ターゲットデータに挿入するダミーデータの詳細な設定を行うための欄である。挿入場所入力欄840に「詳細設定」が入力された場合に、詳細設定欄850への入力が可能となる。本実施例の詳細設定欄850には、挿入場所及び挿入回数を入力するグラフが表示される。
設定状況確認欄860は、カテゴリ入力欄810、推奨補正レベル表示欄820、補正レベル入力欄830、挿入場所入力欄840、及び詳細設定欄850を用いて入力された値の設定状態を示すための欄である。
OKボタン870は、補正レベル設定画面800に入力された値を登録するための操作ボタンである。キャンセルボタン880は、補正レベル設定画面800に設定された値の登録をキャンセルするための操作ボタンである。
図9は、実施例1の分類結果確認/更新画面900の一例を示す図である。
分類結果確認/更新画面900は、各データ種別の分類結果表示欄910、OKボタン920、及びキャンセルボタン930を含む。
分類結果表示欄910は、分類結果情報700からデータ種別毎に分類結果を抽出することによって生成される。分類結果表示欄910の分類結果のセル911は、ユーザが変更できる。
OKボタン920は、分類結果を確定するための操作ボタンである。キャンセルボタン930は、分類結果の確定をキャンセルするための操作ボタンである。
次に、学習サーバ100及び分類サーバが実行する処理の詳細について説明する。まず、学習サーバ100が実行する処理の詳細を図10及び図11を用いて説明する。
なお、分類結果確認/更新画面900には、分類結果情報700そのものが表示されてもよい。
図10は、実施例1の学習サーバ100が実行する学習処理の一例を説明するフローチャートである。
学習サーバ100は、教師データが入力又は教師データが更新されたか否かを判定する(ステップS101)。例えば、教師データ管理情報200が登録された場合、学習サーバ100は、教師データが入力されたと判定する。また、教師データ管理情報200が更新された場合、学習サーバ100は、教師データが更新されたと判定する。
教師データが入力又は教師データが更新されていないと判定された場合、学習サーバ100は、ステップS110に進む。
教師データが入力又は教師データが更新されたと判定された場合、学習サーバ100は、全てのデータ種別の補正レベルが算出されたか否かを判定する(ステップS102)。
具体的には、学習部121は、補正レベル管理情報300のカテゴリ301を参照し、全てのデータ種別のエントリが登録されているか否かを判定する。全てのデータ種別のエントリが登録されていない場合、学習サーバ100は、全てのデータ種別の補正レベルが算出されていないと判定する。
全てのデータ種別の補正レベルが算出されたと判定された場合、学習サーバ100は、ステップS110に進む。
全てのデータ種別の補正レベルが算出されていないと判定された場合、学習サーバ100は、補正レベルが算出されていないデータ種別の中から、対象のデータ種別を一つ選択する(ステップS103)。
次に、学習サーバ100は、選択されたデータ種別に属する教師データに基づいて文字出現分布情報400にエントリを登録する(ステップS104)。具体的には、以下のような処理が実行される。
学習部121は、選択されたデータ種別に属する学習データの文字の出現回数を出現位置毎に計測する。学習部121は、文字出現分布情報400に計測結果を登録する。例えば、学習部121は、Naive Bayes classifier等の学習器を用いた教師データの学習を行うことによって、出現位置毎の文字の出現回数を計測する。
文字出現分布情報400には、文字の種別と文字の出現位置の組合せの数だけエントリが登録される。各エントリのカテゴリ401には選択されたデータ種別が設定される。また、各エントリの文字402及び位置403には、所定の文字及び所定の文字の出現位置が設定される。また、各エントリの出現回数404には、計測結果が格納される。
この時点では、教師データに含まれる文字に関するエントリのみが文字出現分布情報400に登録される。また、文字出現分布情報400に登録される各エントリの出現率405は、空欄である。以上がステップS104の処理の説明である。
次に、学習サーバ100は、ステップS104において登録された全てのエントリの出現回数404に「1」を加算する(ステップS105)。これは、ゼロ頻度問題を回避するためである。なお、ステップS102の判定結果がYESである場合に、学習サーバ100は、文字出現分布情報400の全てのエントリに対して「1」を加算してもよい。
次に、学習サーバ100は、文字出現分布情報400に選択されたデータ種別のダミーデータのエントリを追加する(ステップS106)。具体的には以下のような処理が実行される。
学習部121は、カテゴリ401が選択されたデータ種別に一致するエントリを参照して、位置403の最大値を特定する。学習部121は、文字出現分布情報400に位置403の最大値の数だけエントリを追加する。
学習部121は、追加された各エントリのカテゴリ401に選択されたデータ種別を設定する。学習部121は、上のエントリから順に位置403に「1」から位置403の最大値までの値を設定する。学習部121は、追加された各エントリの文字402にクエスチョンマークを設定し、また、出現回数に「NULL」を設定する。
ここで、図4を用いてステップS106の具体的な処理を説明する。ステップS103において「Machine ID」が選択された場合、学習部121は、位置403の最大値を「5」と特定する。したがって、学習部121は、文字出現分布情報400に五つのエントリを追加し、各エントリのカテゴリ401に「Machine ID」、文字402にクエスチョンマークを設定し、また、出現回数404に「NULL」を設定する。さらに、学習部121は、上のエントリから順に位置403に「1」から「5」までの値を設定する。以上がステップS106の処理の説明である。
次に、学習サーバ100は、選択されたデータ種別に属する教師データのレンジを算出する(ステップS107)。ここで、選択されたデータ種別に属する教師データのレンジは、当該データ種別に属する教師データのデータ長(文字列の長さ)のばらつきを示す値である。
具体的には、補正レベル算出部123の教師データ長レンジ算出部131が、選択されたデータ種別に属する教師データの最大文字数及び最小文字数の差を、当該データ種別に属する教師データのレンジとして算出する。
なお、前述の算出方法は一例であってこれに限定されない。例えば、教師データのデータ長の分散を、選択されたデータ種別に属する教師データのレンジとして用いてもよい。
次に、学習サーバ100は、選択されたデータ種別の推奨補正レベルを算出する(ステップS108)。具体的には、以下のような処理が実行される。
補正レベル算出部123は、選択されたデータ種別に属する教師データのレンジを下式(1)に代入することによって、推奨補正レベルを算出する。
Figure 0006641456
ここで、Lc_suggestは、選択されたデータ種別の推奨補正レベルを表す変数である。また、lc_rangeは、選択されたデータ種別に属する教師データのレンジを表す変数である。
補正レベル算出部123は、補正レベル管理情報300のカテゴリ301を参照して、選択されたデータ種別に対応するエントリを検索する。補正レベル算出部123は、検索されたエントリの補正レベル302に、算出された補正レベルを設定する。以上がステップS108の処理の説明である。
次に、学習サーバ100は、必要に応じて、補正レベル設定画面800の推奨補正レベル表示欄820に更新された推奨補正レベルを表示する(ステップS109)。
ステップS101がNO又はステップS102がYESの場合、学習サーバ100は、出現率算出処理を実行する(ステップS110)。その後、学習サーバ100は、処理を終了する。ダミーデータの出現率算出処理は、図11を用いて説明する。
図11は、実施例1の学習サーバ100が実行する出現率算出処理の一例を説明するフローチャートである。
学習サーバ100は、補正レベルの入力を受け付けたか否かを判定する(ステップS201)。
具体的には、補正レベル入力部122が、ユーザによって補正レベル設定画面800の補正レベル入力欄830に値が入力され、又は、値が更新されたか否かを判定する。
補正レベルの入力を受け付けていないと判定された場合、学習サーバ100は、ステップS203に進む。
補正レベルの入力を受け付けたと判定された場合、学習サーバ100は、補正レベル管理情報300を更新する(ステップS202)。その後、学習サーバ100は、ステップS203に進む。
具体的には、補正レベル入力部122は、補正レベル管理情報300のカテゴリ301がカテゴリ入力欄810と一致するエントリを検索し、検索されたエントリの補正レベル302に、補正レベル入力欄830に入力された値を設定する。
ステップS201がNO又はステップS202の処理が実行された後、学習サーバ100は、全てのデータ種別の出現率を算出したか否かを判定する(ステップS203)。
全てのデータ種別の出現率を算出したと判定された場合、学習サーバ100は、処理を終了する。
全てのデータ種別の出現率を算出していないと判定された場合、学習サーバ100は、出現率が算出されていないデータ種別の中から、対象のデータ種別を選択する(ステップS204)。
次に、学習サーバ100は、文字出現分布情報400を参照して、出現回数404に「NULL」が設定されたダミーデータのエントリが存在するか否かを判定する(ステップS205)。
具体的には、補正レベル算出部123が、カテゴリ401が選択されたデータ種別、文字402がクエスチョンマーク、出現回数404が「NULL」であるエントリが存在するか否かを判定する。
出現回数404に「NULL」が設定されたダミーデータのエントリが存在すると判定された場合、学習サーバ100は、出現回数404に「NULL」が設定されたダミーデータのエントリの中から、対象のダミーデータのエントリを選択する(ステップS206)。
次に、学習サーバ100は、カテゴリ401が選択されたデータ種別、及び位置403が選択されたダミーデータのエントリの位置403である文字のエントリの出現回数404のレンジを算出する(ステップS207)。ここで、文字のエントリの出現回数404のレンジは、位置403の値のばらつきを示す値である。
具体的には、補正レベル算出部123は、カテゴリ401及び位置403が、選択されたダミーデータのエントリのカテゴリ401及び位置403に一致する文字のエントリを検索する。補正レベル算出部123は、検索された文字のエントリの最大値及び最小値を特定し、最大値及び最小値の差を文字のエントリの出現回数404のレンジとして算出する。最大値及び最小値の差が「0」である場合、補正レベル算出部123は、文字のエントリの出現回数404のレンジを「1」に変更する。
なお、前述の算出方法は一例であってこれに限定されない。例えば、検索されたエントリの出現回数404の分散を文字のエントリの出現回数404のレンジとして用いてもよい。
次に、学習サーバ100は、選択されたデータ種別に対応する補正レベルを取得する(ステップS208)。
具体的には、補正レベル算出部123は、補正レベル管理情報300を参照し、カテゴリ301が対象のダミーデータのデータ種別と同一のエントリの補正レベルを302の値を取得する。
次に、学習サーバ100は、選択されたデータ種別に属する教師データのレンジを算出する(ステップS209)。ステップS209の処理は、ステップS107の処理と同一である。ただし、選択されたデータ種別に属する教師データの最大文字数及び最小文字数の差が「0」である場合、学習サーバ100は、選択されたデータ種別に属する教師データのレンジを「1」に設定する。
次に、学習サーバ100は、選択されたダミーデータのエントリに設定する出現回数を算出する(ステップS210)。その後、学習サーバ100は、ステップS205に戻り、同様の処理を実行する。ステップS210では、以下のような処理が実行される。
補正レベル算出部123は、下式(2)を用いて、対象のダミーデータの出現回数を算出する。
Figure 0006641456
ここで、C_Dは、選択されたダミーデータのエントリに設定する出現回数を表す変数である。Ccp_rangeは、ステップS207において算出された文字のエントリの出現回数404のレンジを表す変数である。l_rangeは、ステップS209において算出された教師データのレンジを表す変数である。ACcは、ステップS208において取得された補正レベルを表す変数である。なお、補正レベルが設定されていない場合、変数ACcには「1」が設定されるものとする。
式(2)では、出現回数404のレンジが大きいほど出現回数の値は大きく、また、補正レベルが大きいほど出現回数の値は大きい。一方、教師データのレンジが大きいほど出現回数の値は小さい。補正レベルが大きい場合、ダミーデータが追加されたターゲットデータは、ダミーデータが属するデータ種別の教師データとの間の類似度が高くなる。
ACc及びl_rangeがともに「1」である場合、すなわち、補正レベル及び教師データのデータ長のばらつきを考慮しない場合、文字のエントリの出現回数404のレンジが、ダミーデータの出現回数として算出される。
補正レベル算出部123は、対象のダミーデータのエントリの出現回数404に式(2)を用いて算出された値を設定する。以上がステップS210の処理の説明である。
ステップS205において、出現回数404に「NULL」が設定されたダミーデータのエントリが存在しないと判定された場合、学習サーバ100は、選択されたデータ種別の全エントリの出現率を算出する(ステップS211)。その後、学習サーバ100は、ステップS203に戻り、同様の処理を実行する。ステップS211では、以下のような処理が実行される。
学習部121は、文字出現分布情報400を参照して、選択されたデータ種別のエントリを一つ選択する。学習部121は、選択されたエントリのカテゴリ401及び出現位置403が同一であるエントリを検索する。
学習部121は、選択されたエントリの出現回数404、及び検索されたエントリの出現回数404を式(3)に代入することによって、選択されたエントリの出現率を算出する。
Figure 0006641456
学習部121は、選択されたエントリの出現率405に算出された値を設定する。以上がステップS211の処理の説明である。
図10及び図11を用いて説明したように、学習フェーズでは、データ種別毎に所定の数のダミーデータのエントリが文字出現分布情報400に追加される。また、ダミーデータの出現率は、データ種別毎に異なる値が設定される。また、ダミーデータの出現率は、教師データのデータ長のばらつき及び補正レベルを用いて補正することができる。特に、ユーザは、補正レベルを調整することによって、ターゲットデータのデータ種別の分類精度を適宜変更することができる。後述するように、分類サーバ101は、文字出現分布情報400に基づいて、各データ種別の教師データの長さを考慮して、ターゲットデータと教師データとの間の類似度を算出できる。
次に、分類サーバ101が実行する処理の詳細を図12、図13、図14、及び図15を用いて説明する。
図12は、実施例1の分類サーバ101が実行する処理の概要を説明するフローチャートである。
分類サーバ101は、データの分類要求を受け付けたか否かを判定する(ステップS301)。
例えば、類似度算出部151は、ユーザ等からデータの分類要求を受け付けたか否かを判定する。また、分類対象のデータ列を受け付けた場合、類似度算出部151は、データの分類要求を受け付けたと判定してもよい。
データの分類要求を受け付けていないと判定された場合、分類サーバ101は、処理を終了する。
データの分類要求を受け付けたと判定された場合、分類サーバ101は、類似度算出処理を実行するか否かを判定する(ステップS302)。
具体的には、類似度算出部151が、類似度算出結果情報600を参照し、類似度が算出又は更新されていないターゲットデータが存在するか否かを判定する。類似度が算出又は更新されていないターゲットデータが存在する場合、類似度算出部151は、類似度算出処理を実行すると判定する。
類似度算出処理を実行すると判定された場合、分類サーバ101は、類似度算出処理を実行する(ステップS303)。類似度算出処理の詳細は、図13を用いて説明する。分類サーバ101は、類似度算出処理が終了した後、ステップS302に戻り、同様の処理を実行する。
類似度算出処理を実行しないと判定された場合、分類サーバ101は、類似度算出結果情報600に基づいて分類処理を実行する(ステップS304)。分類処理の詳細は、図14を用いて説明する。
次に、分類サーバ101は、分類処理が終了した後、分類結果情報700をユーザ等に対して出力し(ステップS305)、その後、処理を終了する。
ユーザは、分類結果情報700を参照した結果、補正レベルを変更する必要があると判断した場合、補正レベル設定画面800の補正レベル入力欄830の値を変更する。
学習サーバ100は、新たな補正レベルが入力された場合、文字出現分布情報400の全てのダミーデータのエントリの出現回数404を初期化する。その後、図11に示すダミーデータの出現率算出処理を開始する。学習サーバ100は、ダミーデータの出現率算出処理が終了した後、分類サーバ101に対してデータの分類要求を送信する。分類サーバ101は、データの分類要求を受信した場合、図12に示す処理を再度実行する。これによって、新たな補正レベルに基づく分類結果が出力される。
図13は、実施例1の分類サーバ101が実行する類似度算出処理の一例を説明するフローチャートである。
分類サーバ101は、処理を開始する前に、対象のデータ列を特定する。例えば、類似度算出部151は、分類対象データ管理情報500を参照して、対象のデータ列を特定する。
分類サーバ101は、全ての対象のデータ列について処理が完了したか否かを判定する(ステップS401)。
具体的には、類似度算出部151は、類似度算出結果情報600を参照し、全ての対象のデータ列について処理が完了したか否かを判定する。
全ての対象のデータ列について処理が完了したと判定された場合、分類サーバ101は、処理を終了する。
全ての対象のデータ列について処理が完了していないと判定された場合、分類サーバ101は、データ列を一つ選択する(ステップS402)。
次に、分類サーバ101は、選択されたデータ列に含まれる全てのセルについて処理が完了したか否かを判定する(ステップS403)。
具体的には、類似度算出部151は、類似度算出結果情報600を参照して、選択されたデータ列の全てのセルについて類似度が算出されているか否かを判定する。
選択されたデータ列に含まれる全てのセルについて処理が完了したと判定された場合、分類サーバ101は、ステップS401に戻り、同様の処理を実行する。
選択されたデータ列に含まれる全てのセルについて処理が完了していないと判定された場合、分類サーバ101は、選択されたデータ列に含まれるセルの中からセルを一つ選択する(ステップS404)。
次に、分類サーバ101は、選択されたセルに格納されるターゲットデータに対して全てのデータ種別の類似度が算出されたか否かを判定する(ステップS405)。
具体的には、類似度算出部151は、類似度算出結果情報600を参照して、全てのデータ種別に対応するエントリが存在するか否かを判定する。全てのデータ種別に対応するエントリが存在しない場合、選択されたセルに対して全てのデータ種別の類似度が算出されていないと判定する。
選択されたセルに対して全てのデータ種別の類似度が算出されたと判定された場合、分類サーバ101は、ステップS403に戻り、同様の処理を実行する。
選択されたセルに対して全てのデータ種別の類似度が算出されていないと判定された場合、分類サーバ101は、データ種別を一つ選択する(ステップS406)。
次に、分類サーバ101は、選択されたデータ種別に属する教師データの文字数と、選択されたセルに格納されるターゲットデータの文字数との差を算出する(ステップS407)。
具体的には、データ長差分算出部161が、選択されたデータ種別に属する教師データの文字数の最小値と、選択されたセルに格納されるターゲットデータの文字数との差を算出する。
次に、分類サーバ101は、補正レベル管理情報300を参照して、ダミーデータの挿入場所及び挿入率を取得し(ステップS408)、また、挿入場所におけるダミーデータの挿入回数を算出する(ステップS409)。具体的には、以下のような処理が実行される。
ダミーデータ追加部162が、補正レベル管理情報300を参照し、カテゴリ301が選択されたデータ種別と一致するエントリを検索する。ダミーデータ追加部162は、検索されたエントリの挿入位置303及び挿入率304を取得する。
ダミーデータ追加部162は、下式(4)を用いて、挿入位置303に追加するダミーデータの挿入回数を算出する。
Figure 0006641456
ここで、DCpは、挿入位置303に追加するダミーデータの挿入回数を表す変数である。Cc_diffは、ステップS407において算出された差分値を表す変数である。Rc_Dは、ダミーデータの挿入率304を表す変数である。以上が、ステップS409の処理の説明である。
次に、分類サーバ101は、ダミーデータが挿入されたターゲットデータを類似度算出結果情報600に登録する(ステップS410)。具体的には、以下のような処理が実行される。
ダミーデータ追加部162は、補正レベル管理情報300を参照し、カテゴリ301が選択されたデータ種別に一致するエントリを検索する。ダミーデータ追加部162は、検索されたエントリの挿入位置303を取得する。
ダミーデータ追加部162は、挿入位置303に対応する位置に、挿入位置303に式(4)を用いて算出された数だけダミーデータを挿入し、挿入後データを生成する。例えば、挿入位置303が「TAIL」、ターゲットデータのデータ長が「3」、式(4)の値が「5」である場合、ダミーデータ追加部162は、ターゲットデータの末尾にダミーデータを二つ追加する。
ダミーデータ追加部162は、類似度算出結果情報600にエントリを追加し、追加されたエントリのセル名601及びデータID602に選択されたセルの名称及び選択されたデータ列の識別情報を設定する。また、ダミーデータ追加部162は、挿入後データ603に、挿入後データを設定し、ターゲットカテゴリ604に選択されたデータ種別を設定する。以上がステップS410の処理の説明である。
次に、分類サーバ101は、挿入後データについて類似度を算出する(ステップS411)。
具体的には、類似度算出部151は、挿入後データ603から1文字を読み出す。類似度算出部151は、文字出現分布情報400を参照し、カテゴリ401、文字402、及び位置403が、選択されたデータ種別、読み出された文字、及び読み出された文字の位置に一致するエントリを検索する。類似度算出部151は、検索されたエントリの出現率405を取得する。
類似度算出部151は、挿入後データ603の全ての文字について同様の処理を実行することによって、各文字の出現率405を取得する。類似度算出部151は、各文字の出現率405を掛け合わせることによって、類似度を算出する。類似度算出部151は、算出された類似度を類似度605に設定する。以上がステップS411の処理の説明である。
ダミーデータについても出現率が設定されているため、ダミーデータを追加された後の挿入後データの類似度を算出することができる。
図14は、実施例1の分類サーバ101が実行する分類処理の一例を説明するフローチャートである。
分類サーバ101は、分類閾値を算出する(ステップS501)。具体的には、以下のような処理が実行される。
分類閾値算出部153は、データ種別毎に、教師データの最大文字数及び教師データの最小文字数の差を算出する。分類閾値算出部153は、各データ種別の文字数差を比較し、文字数差の最大値及び文字数差の最小値を特定する。
分類閾値算出部153は、文字数差の最大値及び文字数差の最小値の差を、分類閾値として算出し、データ分類部152に分類閾値を出力する。以上がステップS501の処理の説明である。
次に、分類サーバ101は、全てのターゲットデータを分類したか否かを判定する(ステップS502)。
具体的には、データ分類部152は、類似度算出結果情報600及び分類結果情報700を参照して、分類結果情報700に分類結果が登録されていないターゲットデータが存在するか否かを判定する。分類結果情報700に分類結果が登録されていないターゲットデータが存在する場合、データ分類部152は、全てのターゲットデータを分類していないと判定する。
全てのターゲットデータを分類したと判定された場合、分類サーバ101は、処理を終了する。
全てのターゲットデータを分類していないと判定された場合、分類サーバ101は、ターゲットデータを一つ選択する(ステップS503)。
具体的には、データ分類部152は、類似度算出結果情報600を参照して、分類されていないターゲットデータの中から、ターゲットデータを一つ選択する。
次に、分類サーバ101は、類似度算出結果情報600から、ターゲットデータの類似度の最大値及び最小値を取得する(ステップS504)。
具体的には、データ分類部152は、類似度算出結果情報600の選択されたターゲットデータのエントリの類似度605を参照して、ターゲットデータの類似度の最大値及び最小値を取得する。
次に、分類サーバ101は、類似度及び分類閾値を用いて、類似度に基づく分類が可能であるか否かを判定する(ステップS505)。すなわち、意味のあるターゲットデータの分類ができるか否かが判定される。
具体的には、データ分類部152は、下式(5)を満たすか否かを判定する。式(5)を満たす場合、データ分類部152は、類似度に基づく分類が可能であると判定する。
Figure 0006641456
ここで、S_hは、ターゲットデータの類似度の最大値を表す変数であり、S_lは、ターゲットデータの類似度の最小値を表す変数である。また、Thresholdは、分類閾値を表す変数である。
類似度に基づく分類が可能であると判定された場合、分類サーバ101は、分類結果情報700に類似度が最大となるデータ種別を登録する(ステップS506)。その後、分類サーバ101は、ステップS502に戻り、同様の処理を実行する。具体的には、以下のような処理が実行される。
データ分類部152が、類似度605が最大となるエントリのターゲットカテゴリ604をターゲットデータのデータ種別に決定する。データ分類部152は、当該エントリのターゲットカテゴリ604を取得する。データ分類部152は、分類結果情報700にエントリを追加し、追加されたエントリのデータID701及びセル名702に、当該エントリのデータID602及びセル名601を設定する。
また、データ分類部152は、追加されたエントリのデータ703にターゲットデータの値を設定し、また、ターゲットカテゴリ604の値を追加されたエントリの分類結果704に設定する。以上がステップS506の処理の説明である。
類似度に基づく分類が可能でないと判定された場合、分類サーバ101は、分類結果情報700に「n/a」を登録する(ステップS507)。その後、分類サーバ101は、ステップS502に戻り、同様の処理を実行する。
ステップS507の処理はステップS506の処理と同一である。ただし、分類結果704には「n/a」が登録される。
分類サーバ101は、データ列及びセル名の全ての組合せに対して前述した処理を実行する。これによって、図7に示すような分類結果情報700が生成される。
なお、式(1)から式(5)までの数式は一例であって、本実施例はこれに限定されない。各データ種別の教師データの長さに関連する数式であればよい。
以上で説明したように、学習サーバ100は、データ種別に応じてターゲットデータに挿入されるダミーデータの出現率を設定した文字出現分布情報400を生成する。また、分類サーバ101は、データ種別に応じてターゲットデータのデータ長を調整し、文字出現分布情報400を用いて、ダミーデータが追加されたターゲットデータと教師データとの間の類似度を算出する。これによって、従来技術では分類が困難なID等の文字列のデータ種別を分類することができる。
特に、属性が定まっていないセルを含むデータ列を用いた分析を行う場合、本発明を適応することによって、効率的にセルに格納されるターゲットデータのデータ種別を分類できる。そのため、データの理解等に要する時間を大幅に端出することができる。
(変形例)
データ列の全てのセルのデータを分類するために、実施例1の分類手法と、従来の分類手法とを組み合わせることができる。例えば、以下のような方法が考えられる。
データ分類部152は、データ列を選択し、選択されたデータ列の全てのターゲットデータを分類できたか否かを判定する。具体的には、データ分類部152は、分類結果情報700の分類結果704を参照し、分類結果704が「n/a」である文字列データが存在するか否かを判定する。
分類結果704が「n/a」である文字列データが存在する場合、データ分類部152は、選択されたデータ列の全ての文字列データを分類できていないと判定する。
選択されたデータ列の全ての文字列データを分類できていないと判定された場合、データ分類部152は、分類結果704が「n/a」である文字列データを抽出し、抽出された文字列データに対して従来の分類手法を適応する。
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。また、例えば、上記した実施例は本発明を分かりやすく説明するために構成を詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、各実施例の構成の一部について、他の構成に追加、削除、置換することが可能である。
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、本発明は、実施例の機能を実現するソフトウェアのプログラムコードによっても実現できる。この場合、プログラムコードを記録した記憶媒体をコンピュータに提供し、そのコンピュータが備えるプロセッサが記憶媒体に格納されたプログラムコードを読み出す。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施例の機能を実現することになり、そのプログラムコード自体、及びそれを記憶した記憶媒体は本発明を構成することになる。このようなプログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、CD−ROM、DVD−ROM、ハードディスク、SSD(Solid State Drive)、光ディスク、光磁気ディスク、CD−R、磁気テープ、不揮発性のメモリカード、ROMなどが用いられる。
また、本実施例に記載の機能を実現するプログラムコードは、例えば、アセンブラ、C/C++、perl、Shell、PHP、Java等の広範囲のプログラム又はスクリプト言語で実装できる。
さらに、実施例の機能を実現するソフトウェアのプログラムコードを、ネットワークを介して配信することによって、それをコンピュータのハードディスクやメモリ等の記憶手段又はCD−RW、CD−R等の記憶媒体に格納し、コンピュータが備えるプロセッサが当該記憶手段や当該記憶媒体に格納されたプログラムコードを読み出して実行するようにしてもよい。
上述の実施例において、制御線や情報線は、説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。全ての構成が相互に接続されていてもよい。

Claims (12)

  1. 複数の計算機を備える計算機システムであって、
    前記複数の計算機の各々は、プロセッサ、前記プロセッサに接続される主記憶装置、及び前記プロセッサに接続されるインタフェースを有し、
    前記少なくとも一つの計算機は、複数のデータ種別の各々に属する複数の教師データを用いて、ターゲットデータのデータ種別の分類に用いられる指標を算出するための分布情報を生成し、前記分布情報を用いて前記ターゲットデータのデータ種別を分類する分類部を有する計算機に当該分布情報を出力する学習部を有し、
    前記複数の教師データの各々は、一つ以上の文字から構成される文字列であり、
    前記学習部は、
    前記複数のデータ種別の各々に属する前記複数の教師データを用いた学習処理を実行することによって、前記データ種別、前記データ種別に属する前記複数の教師データの各々に含まれる文字、及び当該文字の文字列中の出現位置を含む複数の第1エントリを前記分布情報に追加し、
    前記データ種別、前記ターゲットデータのデータ長を調整するために追加されるダミーデータ、及び当該ダミーデータの文字列中の出現位置を含む所定の数の第2エントリを前記分布情報に追加し、
    前記第1エントリに含まれる前記データ種別に属する前記複数の教師データのデータ長に基づいて、前記第1エントリに含まれる前記出現位置に前記第1エントリに含まれる前記文字が出現する確率を表す第1確率を算出し、
    前記第2エントリに含まれる前記データ種別に属する前記複数の教師データのデータ長に基づいて、前記第2エントリに含まれる前記出現位置に前記第2エントリに含まれる前記ダミーデータが出現する確率を表す第2確率を算出し、
    前記複数の第1エントリの各々に前記第1確率を設定し、前記所定の数の第2エントリの各々に前記第2確率を設定することを特徴とする計算機システム。
  2. 請求項1に記載の計算機システムであって、
    前記学習部は、
    前記複数のデータ種別毎に、同一の前記データ種別に属する前記複数の教師データのデータ長のばらつきを示す第1レンジを算出し、
    前記複数のデータ種別の各々の前記第1レンジに基づいて、前記ダミーデータに関連する値を補正するための補正レベルを算出し、
    前記第1エントリに含まれる前記出現位置に前記第1エントリに含まれる前記文字が出現する回数を表す第1出現回数を算出し、
    前記第2エントリに含まれる前記出現位置に前記第2エントリに含まれる前記ダミーデータが出現する回数を表す第2出現回数を算出し、
    前記第1エントリに含まれる前記データ種別の前記補正レベル、前記第1エントリに含まれる前記データ種別の前記第1レンジ、及び前記第1出現回数に基づいて、前記第1確率を算出し、
    前記第2エントリに含まれる前記データ種別の前記補正レベル、前記第2エントリに含まれる前記データ種別の前記第1レンジ、及び前記第2出現回数に基づいて、前記第2確率を算出することを特徴とする計算機システム。
  3. 請求項2に記載の計算機システムであって、
    前記少なくとも一つの計算機は、前記分類部を有し、
    前記指標は、前記ダミーデータが追加されたターゲットデータと、任意のデータ種別に属する前記複数の教師データとの間の類似度であり、
    前記分類部は、
    前記データ種別を選択し、
    前記選択されたデータ種別に属する前記複数の教師データのデータ長の最小値と、前記ターゲットデータのデータ長との差である第1差分に基づいて、前記ダミーデータの挿入数を算出し、
    前記ターゲットデータの所定の位置に、前記挿入数だけ前記ダミーデータを追加し、
    前記分布情報を参照して、前記ダミーデータが追加されたターゲットデータに含まれる前記文字及び前記文字の位置に基づいて、前記第1確率及び前記第2確率を取得し、
    前記第1確率及び前記第2確率を用いて前記類似度を算出することを特徴とする計算機システム。
  4. 請求項3に記載の計算機システムであって、
    前記分類部は、
    前記複数のデータ種別の各々の前記複数の教師データのデータ長と、前記ターゲットデータのデータ長との間の差分を用いて、閾値を算出し、
    前記複数のデータ種別の各々の前記類似度の大きさを比較することによって、前記類似度の最大値及び前記類似度の最小値を特定し、
    前記閾値、前記類似度の最大値、及び前記類似度の最小値を用いて、前記類似度に基づいて前記ターゲットデータのデータ種別を分類できるか否かを判定し、
    前記類似度に基づいて前記ターゲットデータのデータ種別を分類できると判定された場合、前記類似度が最も大きい前記データ種別を、前記ターゲットデータのデータ種別に決定することを特徴とする計算機システム。
  5. 複数の計算機を備える計算機システムにおけるデータの分類方法であって、
    前記複数の計算機の各々は、プロセッサ、前記プロセッサに接続される主記憶装置、及び前記プロセッサに接続されるインタフェースを有し、
    前記少なくとも一つの計算機は、複数のデータ種別の各々に属する複数の教師データを用いて、ターゲットデータのデータ種別の分類に用いられる指標を算出するための分布情報を生成し、前記分布情報を用いて前記ターゲットデータのデータ種別を分類する分類部を有する計算機に当該分布情報を出力する学習部を有し、
    前記複数の教師データの各々は、一つ以上の文字から構成される文字列であり、
    前記データの分類方法は、
    前記学習部が、前記複数のデータ種別の各々に属する前記複数の教師データを用いた学習処理を実行することによって、前記データ種別、前記データ種別に属する前記複数の教師データの各々に含まれる文字、及び当該文字の文字列中の出現位置を含む複数の第1エントリを前記分布情報に追加する第1のステップと、
    前記学習部が、前記データ種別、前記ターゲットデータのデータ長を調整するために追加されるダミーデータ、及び当該ダミーデータの文字列中の出現位置を含む所定の数の第2エントリを前記分布情報に追加する第2のステップと、
    前記学習部が、前記第1エントリに含まれる前記データ種別に属する前記複数の教師データのデータ長に基づいて、前記第1エントリに含まれる前記出現位置に前記第1エントリに含まれる前記文字が出現する確率を表す第1確率を算出する第3のステップと、
    前記学習部が、前記第2エントリに含まれる前記データ種別に属する前記複数の教師データのデータ長に基づいて、前記第2エントリに含まれる前記出現位置に前記第2エントリに含まれる前記ダミーデータが出現する確率を表す第2確率を算出する第4のステップと、
    前記学習部が、前記複数の第1エントリの各々に前記第1確率を設定し、前記所定の数の第2エントリの各々に前記第2確率を設定する第5のステップと、を含むことを特徴とするデータの分類方法。
  6. 請求項5に記載のデータの分類方法であって、
    前記データの分類方法は、
    前記学習部が、前記第2のステップの実行後、前記複数のデータ種別毎に、同一の前記データ種別に属する前記複数の教師データのデータ長のばらつきを示す第1レンジを算出するステップと、
    前記学習部が、前記複数のデータ種別の各々の前記第1レンジに基づいて、前記ダミーデータに関連する値を補正するための補正レベルを算出するステップと、を含み、
    前記第1のステップは、前記学習部が、前記第1エントリに含まれる前記出現位置に前記第1エントリに含まれる前記文字が出現する回数を表す第1出現回数を算出するステップを含み、
    前記第2のステップは、前記学習部が、前記第2エントリに含まれる前記出現位置に前記第2エントリに含まれる前記ダミーデータが出現する回数を表す第2出現回数を算出するステップを含み、
    前記第3のステップは、前記学習部が、前記第1エントリに含まれる前記データ種別の前記補正レベル、前記第1エントリに含まれる前記データ種別の前記第1レンジ、及び前記第1出現回数に基づいて、前記第1確率を算出するステップを含み、
    前記第4のステップは、前記学習部が、前記第2エントリに含まれる前記データ種別の前記補正レベル、前記第2エントリに含まれる前記データ種別の前記第1レンジ、及び前記第2出現回数に基づいて、前記第2確率を算出するステップを含むことを特徴とするデータの分類方法。
  7. 請求項6に記載のデータの分類方法であって、
    前記少なくとも一つの計算機は、前記分類部を有し、
    前記指標は、前記ダミーデータが追加されたターゲットデータと、任意のデータ種別に属する前記複数の教師データとの間の類似度であり、
    前記データの分類方法は、
    前記分類部が、前記データ種別を選択するステップと、
    前記分類部が、前記選択されたデータ種別に属する前記複数の教師データのデータ長の最小値と、前記ターゲットデータのデータ長との差である第1差分に基づいて、前記ダミーデータの挿入数を算出するステップと、
    前記分類部が、前記ターゲットデータの所定の位置に、前記挿入数だけ前記ダミーデータを追加するステップと、
    前記分類部が、前記分布情報を参照して、前記ダミーデータが追加されたターゲットデータに含まれる前記文字及び前記文字の位置に基づいて、前記第1確率及び前記第2確率を取得するステップと、
    前記分類部が、前記第1確率及び前記第2確率を用いて前記類似度を算出するステップと、を含むことを特徴とするデータの分類方法。
  8. 請求項7に記載のデータの分類方法であって、
    前記分類部が、前記複数のデータ種別の各々の前記複数の教師データのデータ長と、前記ターゲットデータのデータ長との間の差分を用いて、閾値を算出するステップと、
    前記分類部が、前記複数のデータ種別の各々の前記類似度の大きさを比較することによって、前記類似度の最大値及び前記類似度の最小値を特定するステップと、
    前記分類部が、前記閾値、前記類似度の最大値、及び前記類似度の最小値を用いて、前記類似度に基づいて前記ターゲットデータのデータ種別を分類できるか否かを判定するステップと、
    前記分類部が、前記類似度に基づいて前記ターゲットデータのデータ種別を分類できると判定された場合、前記類似度が最も大きい前記データ種別を、前記ターゲットデータのデータ種別に決定するステップと、を含むことを特徴とするデータの分類方法。
  9. 複数の計算機を備える計算機システムであって、
    前記複数の計算機の各々は、プロセッサ、前記プロセッサに接続される主記憶装置、及び前記プロセッサに接続されるインタフェースを有し、
    前記少なくとも一つの計算機は、複数のデータ種別の各々に属する複数の教師データを用いて生成された、ターゲットデータのデータ種別の分類に用いられる指標を算出するための分布情報を用いて前記ターゲットデータのデータ種別を分類する分類部を有し、
    前記複数の教師データの各々は、一つ以上の文字から構成される文字列であり、
    前記分布情報は、
    前記データ種別、前記データ種別に属する前記複数の教師データの各々に含まれる文字、当該文字の文字列中の出現位置、及び当該文字が前記出現位置に出現する確率を表す第1確率を含む複数の第1エントリと、
    前記データ種別、前記ターゲットデータのデータ長を調整するために追加されるダミーデータ、当該ダミーデータの文字列中の出現位置、及び当該ダミーデータが前記出現位置に出現する確率を表す第2確率を含む所定の数の第2エントリと、を含み、
    前記分類部は、
    前記データ種別を選択し、
    前記選択されたデータ種別に属する前記複数の教師データのデータ長の最小値と、前記ターゲットデータのデータ長との差である第1差分に基づいて、前記ダミーデータの挿入数を算出し、
    前記ターゲットデータの所定の位置に、前記挿入数だけ前記ダミーデータを追加し、
    前記分布情報を参照して、前記ダミーデータが追加されたターゲットデータに含まれる前記文字及び前記文字の位置に基づいて、前記第1確率及び前記第2確率を取得し、
    前記第1確率及び前記第2確率を用いて前記指標を算出することを特徴とする計算機システム。
  10. 請求項9に記載の計算機システムであって、
    前記指標は、前記ダミーデータが追加されたターゲットデータと、任意のデータ種別に属する前記複数の教師データとの間の類似度であり、
    前記分類部は、
    前記複数のデータ種別の各々の前記複数の教師データのデータ長と、前記ターゲットデータのデータ長との間の差分を用いて、閾値を算出し、
    前記複数のデータ種別の各々の前記類似度の大きさを比較することによって、前記類似度の最大値及び前記類似度の最小値を特定し、
    前記閾値、前記類似度の最大値、及び前記類似度の最小値を用いて、前記類似度に基づいて前記ターゲットデータのデータ種別を分類できるか否かを判定し、
    前記類似度に基づいて前記ターゲットデータのデータ種別を分類できると判定された場合、前記類似度が最も大きい前記データ種別を、前記ターゲットデータのデータ種別に決定することを特徴とする計算機システム。
  11. 請求項9に記載の計算機システムであって、
    前記少なくとも一つの計算機は、前記分布情報を生成する学習部を有し、
    前記学習部は、
    前記複数のデータ種別の各々に属する前記複数の教師データを用いた学習処理を実行することによって、前記データ種別、前記データ種別に属する前記複数の教師データの各々に含まれる前記文字、及び当該文字の文字列中の出現位置を含む前記複数の第1エントリを前記分布情報に追加し、
    前記データ種別、前記ダミーデータ、及び当該ダミーデータの文字列中の出現位置を含む所定の数の前記第2エントリを前記分布情報に追加し、
    前記第1エントリに含まれる前記データ種別に属する前記複数の教師データのデータ長に基づいて、前記第1確率を算出し、
    前記第2エントリに含まれる前記データ種別に属する前記複数の教師データのデータ長に基づいて、前記第2確率を算出し、
    前記複数の第1エントリの各々に前記第1確率を設定し、前記所定の数の第2エントリの各々に前記第2確率を設定することを特徴とする計算機システム。
  12. 請求項11に記載の計算機システムであって、
    前記学習部は、
    前記複数のデータ種別毎に、同一の前記データ種別に属する前記複数の教師データのデータ長のばらつきを示す第1レンジを算出し、
    前記複数のデータ種別の各々の前記第1レンジに基づいて、前記ダミーデータに関連する値を補正するための補正レベルを算出し、
    前記第1エントリに含まれる前記出現位置に前記第1エントリに含まれる前記文字が出現する回数を表す第1出現回数を算出し、
    前記第2エントリに含まれる前記出現位置に前記第2エントリに含まれる前記ダミーデータが出現する回数を表す第2出現回数を算出し、
    前記第1エントリに含まれる前記データ種別の前記補正レベル、前記第1エントリに含まれる前記データ種別の前記第1レンジ、及び前記第1出現回数に基づいて、前記第1確率を算出し、
    前記第2エントリに含まれる前記データ種別の前記補正レベル、前記第2エントリに含まれる前記データ種別の前記第1レンジ、及び前記第2出現回数に基づいて、前記第2確率を算出することを特徴とする計算機システム。
JP2018506682A 2016-03-23 2016-03-23 計算機システム及びデータの分類方法 Active JP6641456B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2016/059222 WO2017163342A1 (ja) 2016-03-23 2016-03-23 計算機システム及びデータの分類方法

Publications (2)

Publication Number Publication Date
JPWO2017163342A1 JPWO2017163342A1 (ja) 2018-12-06
JP6641456B2 true JP6641456B2 (ja) 2020-02-05

Family

ID=59899994

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018506682A Active JP6641456B2 (ja) 2016-03-23 2016-03-23 計算機システム及びデータの分類方法

Country Status (3)

Country Link
US (1) US20180247163A1 (ja)
JP (1) JP6641456B2 (ja)
WO (1) WO2017163342A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116304056B (zh) * 2023-04-11 2024-01-30 山西玖邦科技有限公司 一种用于计算机软件开发数据的管理方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5195149B2 (ja) * 2008-08-11 2013-05-08 富士通株式会社 真偽判定方法
JP5640796B2 (ja) * 2010-06-04 2014-12-17 富士通株式会社 名寄せ支援処理装置、方法及びプログラム
JP5753217B2 (ja) * 2013-05-17 2015-07-22 株式会社アイディーズ 商品コード分析システム及び商品コード分析プログラム

Also Published As

Publication number Publication date
JPWO2017163342A1 (ja) 2018-12-06
WO2017163342A1 (ja) 2017-09-28
US20180247163A1 (en) 2018-08-30

Similar Documents

Publication Publication Date Title
JP4098539B2 (ja) プロファイル情報の推薦方法、プログラム及び装置
JP2017224184A (ja) 機械学習装置
JP6691082B2 (ja) 指標選択装置及びその方法
JP6707483B2 (ja) 情報処理装置、情報処理方法、および情報処理プログラム
JP7189068B2 (ja) モデル作成支援方法、及びモデル作成支援システム
JP6714268B1 (ja) 質問文出力方法、コンピュータプログラム及び情報処理装置
JP6704089B2 (ja) ライブラリ検索装置、ライブラリ検索システム、及びライブラリ検索方法
JP2011248622A (ja) 類似モデル検索システム及び作業指示再利用システム
JP6641456B2 (ja) 計算機システム及びデータの分類方法
US10628619B2 (en) Analysis mesh data generating method and analysis mesh data generating device
CN106204122B (zh) 触点价值度量方法和装置
WO2013042182A1 (ja) リスク判定方法及びリスク判定サーバ
US20230186092A1 (en) Learning device, learning method, computer program product, and learning system
US11328024B2 (en) Data analysis device and data analysis method
US20190265954A1 (en) Apparatus and method for assisting discovery of design pattern in model development environment using flow diagram
US20180365341A1 (en) Three-Dimensional Cad System Device, and Knowledge Management Method Used in Three-Dimensional Cad
EP4145327A1 (en) System for estimating characteristic value of material
JP7151200B2 (ja) 情報処理装置、部品選定方法および部品選定プログラム
US10318258B2 (en) Reference information output method and reference information output device
CN111382925A (zh) 生产实绩数据分析装置
CN112733939A (zh) 相似度特征向量的构建方法、装置、电子设备及存储介质
CN115335834A (zh) 机器学习模型确定系统和机器学习模型确定方法
CN107251010B (zh) 非结构化ui
US9887903B2 (en) Comparison between different descriptions of a web service
JP7015706B2 (ja) 計算機及び文書データの処理方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180709

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180709

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190924

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191010

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: 20191210

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20191227

R150 Certificate of patent or registration of utility model

Ref document number: 6641456

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150