JP2019168820A - Data analysis support system and data analysis support method - Google Patents
Data analysis support system and data analysis support method Download PDFInfo
- Publication number
- JP2019168820A JP2019168820A JP2018054882A JP2018054882A JP2019168820A JP 2019168820 A JP2019168820 A JP 2019168820A JP 2018054882 A JP2018054882 A JP 2018054882A JP 2018054882 A JP2018054882 A JP 2018054882A JP 2019168820 A JP2019168820 A JP 2019168820A
- Authority
- JP
- Japan
- Prior art keywords
- data analysis
- tables
- analysis support
- data
- support system
- 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
Landscapes
- Machine Translation (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
本発明は、データ分析支援システムおよびデータ分析支援方法に関する。 The present invention relates to a data analysis support system and a data analysis support method.
データを分析したいという需要は古くから根強い。膨大なデータを手作業で分析することは困難であり、データマイニングなど、多様なデータ分析技術が開発されてきた。そのひとつとして、機械学習は、統計や確率などに基づく何らかのモデルを策定し、実際に観測されたデータから逆にモデルの詳細パラメータを推定する技術である。機械学習されたモデルに基づく計算機判断は知的な判断とみなされ、分類、予測、あるいは推薦等に役立ちうる。 The demand to analyze data has been persistent for a long time. It is difficult to analyze a huge amount of data manually, and various data analysis techniques such as data mining have been developed. As one of them, machine learning is a technique for formulating some model based on statistics, probabilities, etc., and estimating the detailed parameters of the model from the actually observed data. Computer judgment based on a machine-learned model is regarded as intelligent judgment and can be useful for classification, prediction, recommendation, and the like.
しかしながら、考えなしに玉石混交のビッグデータを直接的に分析しても、膨大な計算機資源を投じたわりに、表面的に推定できる結果のみが得られ、潜在的な結果は得られにくい傾向がある。このような傾向があるので、有用な結果を得るために、特定のデータを対象にして特定のトピックを分析することが多い。 However, even if we directly analyze big data of boulders mixed without thinking, we can only obtain superficial estimation results without investing a huge amount of computer resources, and it is difficult to obtain potential results. . Because of this tendency, specific topics are often analyzed for specific data in order to obtain useful results.
例えば、特許文献1には、購買情報テーブルを参照して各アカウントの興味があるトピックを推定し、トピックごとに商品が購買される確率を推定し、商品が新商品である場合には購買される確率を高くして、新商品を推薦する技術が開示されている。
For example,
また、特許文献2には、トピックモデルによる分析手法を利用して、求人情報とレジュメ情報との間の類似度学習を行う技術が開示されている。
特許文献1あるいは特許文献2に開示された技術を用いれば、特定のデータを対象にして特定のトピックを分析することは可能になる。しなしながら、多くのテーブルから成るデータであってトピックを定められないビッグデータを機械学習しても、同一テーブル内にあるデータ同士の関係性が強く、テーブルをまたいだ関係性が埋もれがちである。
If the technique disclosed in
テーブル内の関係性を雑音(N)、テーブルをまたいだ関係性を信号(S)とするとき、学習の対象となるテーブル内のレコード数を単に増やしても、このSN比は改善されない。そして、特許文献1および特許文献2には、このような学習におけるSN比の改善に関する技術の開示は見当たらない。
When the relationship in the table is noise (N) and the relationship across the table is a signal (S), simply increasing the number of records in the table to be learned does not improve the S / N ratio. In
また、大容量多種多様なデータが混在するビッグデータを貯め置くデータレイクの中で、データの関係を俯瞰することは難しい。特に、データ分析作業者が生データの関係性の中に未知のパターンを発見することの支援、言い換えると、その気付きとなるデータ関係情報を抽出することが重要である。 In addition, it is difficult to take a bird's-eye view of data relationships in a data lake that stores big data that contains a large amount of various data. In particular, it is important for the data analysis worker to support the discovery of unknown patterns in the relationships of raw data, in other words, to extract data relationship information that is noticed.
本発明の目的は、テーブル間のデータ関係を顕在化するデータ分析支援システムを提供することである。 An object of the present invention is to provide a data analysis support system that makes the data relationship between tables obvious.
本発明に係る代表的なデータ分析支援システムは、計算機により構成されたデータ分析支援システムであって、前記計算機は、プログラムが格納されたメモリと、前記メモリに格納されたプログラムを実行するCPUと、を備え、前記CPUは、複数のテーブルを入力し、入力された複数のテーブルのそれぞれからキーワードを抽出し、抽出されたキーワードを機械学習し、機械学習の分析結果として、キーワードと出現確率のペアを含む特徴成分を、複数のテーブルのそれぞれについて抽出し、抽出された特徴成分に含まれるキーワードのテーブル間の一致に基づき、特徴成分のテーブル間の組合せを特定し、特定された組合せに含まれる特徴成分の出現確率を合成して、分析結果を集約し、集約された分析結果を出力することを特徴とする。 A typical data analysis support system according to the present invention is a data analysis support system configured by a computer, the computer including a memory in which a program is stored, and a CPU that executes the program stored in the memory. The CPU inputs a plurality of tables, extracts a keyword from each of the input plurality of tables, performs machine learning on the extracted keyword, and uses the keyword and the appearance probability as a result of machine learning analysis. A feature component including a pair is extracted for each of a plurality of tables, a combination between feature component tables is identified based on a match between keyword tables included in the extracted feature component, and included in the identified combination This is characterized by combining the appearance probabilities of the feature components to be collected, aggregating the analysis results, and outputting the aggregated analysis results. .
本発明によれば、テーブル間のデータ関係を顕在化するデータ分析支援システムを提供することが可能になる。 ADVANTAGE OF THE INVENTION According to this invention, it becomes possible to provide the data analysis support system which actualizes the data relationship between tables.
本明細書において開示される技術のうち、一つの観点に従う構成と作用は以下の通りであり、図面を参照して本発明の実施形態を実施例として説明する。 Among the techniques disclosed in this specification, the configuration and operation according to one aspect are as follows, and an embodiment of the present invention will be described as an example with reference to the drawings.
図1は、データ分析支援システムの例を示す図である。データ分析支援システム101は計算機から構成され、ユーザ端末102、データレイク103、業務運用システム104、およびデータウェアハウス105とネットワーク120で接続される。
FIG. 1 is a diagram illustrating an example of a data analysis support system. The data
ユーザ端末102、データレイク103、業務運用システム104、およびデータウェアハウス105も計算機であってもよい。ユーザはユーザ端末102を介して、データ分析支援システム101を含むこれらの計算機にアクセスし、データを入力したりデータを表示させたりする。
The
図1において、実線のネットワーク120は計算機間の物理的な接続を表し、破線はデータフロー(あるいは制御のフロー)を表す。ただし、破線は代表的なデータフローを示すものであって、図1に示した破線以外のデータフローがあってもよい。
In FIG. 1, a
データレイク103は分析前の生データが格納される設備である。運用管理ログや保守記録などが業務運用システム104からネットワーク120を介してデータレイク103内のデータベースであるトランザクションDB106に格納される。これにより、トランザクションDB106には時系列に生じてスキーマ構造に応じた記録が大量に溜まる。
The
なお、トランザクションDB106には、時系列によらない異種のテーブルが含まれていてもよい。また、トランザクションDB106以外のデータベースとして、データレイク103は、データの符号化方法やスキーマ構造をあらかじめ定めたマスターDB107を有する。マスターDB107の情報はユーザによりあらかじめ格納されてもよい。
The
業務運用システム104とデータレイク103を含めて各計算機のメモリには、データの送受信手順をあらかじめ定めた通信プログラムモジュールが格納され、各計算機のCPU(Central Processing Unit)によって通信プログラムが実行されることによって通信する。
The memory of each computer including the
ユーザは、データレイク103の中のデータを選択し、選択したデータを必要に応じて変換させてからデータウェアハウス105に転送させて格納させる。あるいは、データウェアハウス105のメモリ内には選択手順、変換手順、分析手順をあらかじめ定めた選択変換分析プログラムモジュールをあらかじめ格納されていてもよい。
The user selects data in the
ユーザは、データウェアハウス105を用いて対話的にデータの分析を行う。この分析のために、ユーザはデータレイク103内のデータの中からデータを選択するのであるが、どのデータを選択すべきかの情報をデータ分析支援システム101はユーザへ提供する。
The user interactively analyzes data using the
別の言い方をすると、ユーザはデータ分析支援システム101を用いて選択すべきデータの推薦を受ける。なお、データ分析支援システム101の役割を説明するため、以上のようにデータウェアハウス105を説明したが、データウェアハウス105は以上で説明したものに限定されるものでははい。
In other words, the user receives a recommendation of data to be selected using the data
データ分析支援システム101は、分析支援手順があらかじめ記述されたプログラムモジュール、およびユーザが対話的に指定する条件やあらかじめ定めおく初期値などのパラメータがメモリに格納されている。メモリに格納された分析支援手順の記述されたプログラムは、CPUによって実行されることによって、分析支援処理が実現される。
The data
分析支援手順が記述されたプログラムモジュールには複数のサブモジュールがあり、統括制御モジュール108、学習制御モジュール109、集約制御モジュール110、および対話制御モジュール111の各サブモジュールが含まれる。ここで、各サブモジュールはプログラムそのものではなく、各プログラムを実行するCPUであってもよい。
The program module in which the analysis support procedure is described includes a plurality of submodules, and includes the
データ分析支援システム101のディスク(記憶装置)あるいはメモリ上には、データベースが構築され、このデータベースには、管理DB112、量質変換DB113、学習DB114、および集約DB115が含まれる。管理DB112は、変換関係定義テーブル(図4)とデータレイク103内の各種データへのアクセス方法についての情報が、あらかじめ作成されて格納されている。
A database is constructed on a disk (storage device) or memory of the data
量質変換DB113は、時刻や場所などの量質変換テーブル(図5)が、あらかじめ作成されて格納されている。学習DB114は、学習テーブル(図6)として中間処理結果が格納される。集約DB115は、集約テーブル(図6)として最終処理結果が格納される。
In the
データ分析支援システム101は、ユーザからの要求に応じて処理を開始し、ユーザへ結果を出力して処理を終了する。まず、統括制御モジュール108は、あらかじめ対話制御モジュール111をユーザからの要求待ち状態にする。なお、以下の一連の処理の引き渡しは、統括制御モジュール108の統括的な制御により行われてもよい。
The data
ユーザ操作によってユーザ端末102からデータ分析支援が要求されたと判定すると、対話制御モジュール111は統括制御モジュール108に処理を引き渡す。統括制御モジュール108は、管理DB112に定めた管理情報に基づいて各種データへのアクセス方法を読み取って、学習制御モジュール109に処理を引き渡す。
If it is determined that data analysis support is requested from the
学習制御モジュール109は、量質変換DB113を用いてトランザクションDB106(図6)のデータを読み込み、複数の学習結果を学習DB114に格納する。集約制御モジュール110は、学習DB114から複数の学習結果を読み込み、複数の学習結果を集約した集約データを集約DB115内の集約テーブルに格納する。対話制御モジュール111は、集約DB115から集約結果を読み込み、ユーザ端末102へ出力する。
The
図2は、計算機の例を示す図である。計算機201は、例えばデータ分析支援システム101であり、図1に示した他の設備であってもよい。計算機201は、計算レジスタを備えたCPU202、メモリ203、ディスク205、入出力部206、タイマ204、およびセンサ207を備える。
FIG. 2 is a diagram illustrating an example of a computer. The
ディスク205は、磁気記憶装置であってもよいし、不揮発性の半導体記憶装置であってもよい。入出力部206は、ディスプレイ、キーボード、マウス、およびネットワーク120との通信回路を含む。ユーザ端末102の代わりに、入出力部206のディスプレイ、キーボード、およびマウスが使用されてもよい。
The
図3は、機械学習を用いたデータ仕分けの例を示す図である。データレイク103内には複数のデータベースと複数のテーブルがあり、テーブル同士は異種のものを含む。ここで、共通するフィールド(時刻など)を持つ2つのテーブルは互いに同種である。同種の2つのテーブルのデータは、テーブル結合処理によって単一テーブルのデータに変換できる。
FIG. 3 is a diagram illustrating an example of data sorting using machine learning. The
これに対して、共通するフィールドを持たない2つのテーブルは互いに異種である。異種の2つのテーブルは、テーブル結合ができない。例えば、4つのフィールドABCD、3つのテーブルPQRがあり、P(A、B)、Q(C、D)、R(A、C)のデータ構造を持つ場合、テーブルPとテーブルQは異種、テーブルPとテーブルRは同種、テーブルQとテーブルRは同種である。このため、3つのテーブルPQRは異種テーブルを含む。 On the other hand, two tables that do not have a common field are different from each other. Two different tables cannot be joined. For example, if there are four fields ABCD and three tables PQR, and they have data structures of P (A, B), Q (C, D), and R (A, C), the table P and the table Q are different types. P and table R are the same type, and table Q and table R are the same type. For this reason, the three tables PQR include heterogeneous tables.
テーブルPQだけが入力された場合、異種テーブル同士の結合ができないため、フィールドBとフィールドDに含まれたデータ値同士の関係を分析できない。一方、テーブルPQRが入力された場合、まずPRを結合し、その後にQを結合することによって3テーブルを1テーブルに結合できる。さらに結合したテーブルを用いてフィールドBとDにあるデータ値同士の関係を分析できるようになる。 When only the table PQ is input, since the heterogeneous tables cannot be joined, the relationship between the data values included in the field B and the field D cannot be analyzed. On the other hand, when the table PQR is input, three tables can be combined into one table by first combining PR and then combining Q. Furthermore, the relationship between the data values in the fields B and D can be analyzed using the combined table.
しかし、データレイク内のテーブルは多種多様であるので、結合可能な組み合わせ数は膨大であり、従来のデータレイク内の作業では、組合せ経路を見つけること自体がたいへんな作業量であった。加えて、組合せによって分析結果が異なりうるため、適切なテーブル結合方法を見つけ出すことは、分析者の試行錯誤や直感頼りとなっていた。 However, since there are a wide variety of tables in the data lake, the number of combinations that can be combined is enormous, and in the conventional work in the data lake, finding the combination route itself is a very heavy workload. In addition, since the analysis results may differ depending on the combination, finding an appropriate table joining method has depended on the analyst's trial and error and intuition.
一方、機械学習を用いた分析処理の場合、異種テーブルであってもまとめて分析することは可能であり、異種の複数のテーブルのデータが入力されても、何らかのモデルに基づいてデータを仕分けすることができ、データ同士の関係性情報が出力可能である。機械学習のそのようなモデルには多種多様な方式が開発され、開示されている。 On the other hand, in the case of analysis processing using machine learning, even different types of tables can be analyzed together, and even if data of a plurality of different types of tables are input, the data is sorted based on some model. The relationship information between data can be output. A wide variety of methods have been developed and disclosed for such models of machine learning.
しかしながら、どのようなモデルを用いても、異種テーブルのデータを直接に機械学習した結果は、同一テーブル内にあるデータは、同一テーブル内にあるということへの関係性が強く評価され、他の異種テーブル内にあるデータとの関係性は弱く評価される傾向がある。 However, no matter what model is used, the result of direct machine learning of data in different tables is strongly evaluated as having a relationship with the fact that the data in the same table is in the same table. The relationship with data in different tables tends to be weakly evaluated.
図3には、データを分析してXYZの3つの分析軸での3分類を行う機械学習方式を用いて4テーブルのデータを学習する場合を例示する。直接的にデータを機械学習すると、X軸に1つ目のテーブル内のデータが偏り、Y軸に2つ目のテーブル内のデータが偏る、というようにテーブルごとに仕分けされてしまいやすい。 FIG. 3 exemplifies a case where four tables of data are learned using a machine learning method in which data is analyzed and three classification is performed on three analysis axes of XYZ. If the data is directly machine-learned, the data in the first table tends to be biased on the X axis, and the data in the second table is biased on the Y axis.
このように、学習した仕分け結果がテーブルごとに偏っては、わざわざ多くの(複数)の(異種)テーブルを分析しても、何を学習するかの意味が薄くなり、機械学習の効果が得られない。 In this way, if the learned sorting results are biased for each table, the meaning of what to learn will be lessened even if many (multiple) (different) tables are analyzed. I can't.
本実施例のデータ分析では、第1ステップとして、3分類を行う機械学習をテーブルごとに適用し、4テーブルそれぞれを独立に機械学習する。その結果、4つの基底あるいは分析軸(X1,Y1,Z1)...(X4,Y4,Z4)を得る。 In the data analysis of this embodiment, as a first step, machine learning for performing three classifications is applied to each table, and each of the four tables is machine-learned independently. As a result, four bases or analysis axes (X1, Y1, Z1). . . (X4, Y4, Z4) is obtained.
第2ステップとして、分析軸同士の関係を最適に集約して、新しい3つの集約軸(Group1,Group2,Group3)を得る。集約軸には異種テーブル間を含めてテーブルをまたいだ関係に焦点が当たっているため、テーブル間のデータ関係が顕在化して抽出可能となる。 As a second step, the relationships between the analysis axes are optimally aggregated to obtain three new aggregation axes (Group1, Group2, Group3). Since the aggregation axis focuses on the relationship across tables including different tables, the data relationship between the tables becomes obvious and can be extracted.
そして、異種テーブル間のデータ関係は、異種テーブルに含まれる膨大なデータを前にしたデータ分析作業者では気付きにくく、本実施例のデータ分析支援システム101の利用によって得られる情報であって、このような情報の得られることが本実施例の有用な効果である。
The data relationship between the heterogeneous tables is information obtained by using the data
本実施例では機械学習の一例としてトピックモデルを用いる。以下では分析軸をトピックと呼ぶ。トピックは特徴成分でもある。トピックモデルは主に文書の仕分けに用いられるモデルであり、1つのトピックは、単語とその出現確率のペアをリストしたものとして定式化される。多数の文書を機械学習した結果は複数のトピックとして出力される。この点においては一般的な機械学習と同じであってもよい。 In this embodiment, a topic model is used as an example of machine learning. Below, the analysis axis is called a topic. A topic is also a feature component. The topic model is a model mainly used for sorting documents, and one topic is formulated as a list of pairs of words and their appearance probabilities. The results of machine learning of a large number of documents are output as a plurality of topics. In this respect, it may be the same as general machine learning.
トピックモデルは、端的には文書群を入力して、トピック群を出力する機械学習である。トピックモデルに文書群を入力する場合、個々の文書を形態素解析して文書内のキーワードを抽出し、そのキーワードのリストを入力ベクトルとして用いる。トピックモデルは複数の入力ベクトルを読み込むことによって、入力ベクトル群を仕分けする適切なトピック(キーワードとその出現確率のペア)を定式化する。 The topic model is simply machine learning that inputs a document group and outputs the topic group. When inputting a document group into a topic model, morphological analysis is performed on each document to extract keywords in the document, and a list of the keywords is used as an input vector. The topic model formulates an appropriate topic (keyword and its appearance probability pair) to sort the input vector group by reading a plurality of input vectors.
個々のトピックは、一部の文書群を代表する潜在的意味を示すが、その意味は単一の単語では示されない。例えば、文書群を2トピックに仕分けるとき、1つ目のトピックでは、単語Aが60%、単語Bが0%、単語Cが40%の確率で出現し、2つ目のトピックでは、単語Aが0%、単語Bが70%、単語Cが30%の確率で出現する、といった形で、トピック群が出力される。 Individual topics show potential meanings that represent some documents, but their meanings are not expressed in a single word. For example, when a document group is classified into two topics, the first topic appears with a probability of 60%, the word B has 0%, and the word C has a probability of 40%, and the second topic has the word A. 0%, Word B 70%, and Word C appear with a probability of 30%.
個々の文書がどのトピックに属するかは、入力文書の単語ベクトルと、トピックを構成する単語ベクトルについて、内積値あるいは距離を指標とすることで、判定可能である。すなわち、機械学習で得たトピックを分析軸とすれば、その分析軸を持つトピックモデルは、未知の文書群の分類仕分けに利用できる。 The topic to which each document belongs can be determined by using the inner product value or distance as an index for the word vector of the input document and the word vectors constituting the topic. That is, if a topic obtained by machine learning is used as an analysis axis, a topic model having the analysis axis can be used for classification and sorting of unknown document groups.
一方、トピックモデルにデータベースレコード群を入力する場合、上述した形態素解析は必要なく、個々のレコードが1文書に相当し、個々のフィールド値が単語に相当する。その機械学習の処理については図10を用いて後で詳細に説明する。ただし、レコード群にはトランザクションデータ固有の問題がある。 On the other hand, when a database record group is input to the topic model, the morphological analysis described above is not necessary, and each record corresponds to one document, and each field value corresponds to a word. The machine learning process will be described later in detail with reference to FIG. However, the record group has a problem specific to transaction data.
第1に、データベースレコード内の情報はディスク節約などのため通常符号化されており、符号化されたフィールド値をそのまま入力ベクトルとして使うと、符号値である「0」や「1」が極端に頻出する入力ベクトルとなり、学習する機械は適切な解釈ができなくなる。 First, information in a database record is normally encoded to save disk, etc. If the encoded field value is used as an input vector as it is, the code values “0” and “1” are extremely small. The input vector appears frequently, and the learning machine cannot perform proper interpretation.
加えて機械学習の効率が悪くなり、膨大なサンプルデータを要するようになる。そこで、符号語(符号値)を復号してから機械学習すると、学習効率が上がり、少数のサンプルでも妥当な学習が可能となる。 In addition, machine learning becomes inefficient and requires a large amount of sample data. Therefore, when machine learning is performed after decoding a codeword (code value), learning efficiency is improved, and appropriate learning is possible even with a small number of samples.
第2に、気温や時刻等の量的変数は単語文字列としてのバリエーションが広く、学習する機械は適切な解釈ができなくなる。仮に量的変数を直接に機械学習するとしても、その機械学習には極端に膨大な数のサンプルデータと処理時間を要して現実的ではない。 Secondly, quantitative variables such as temperature and time have a wide variation as word character strings, and the learning machine cannot perform proper interpretation. Even if machine learning is performed directly on quantitative variables, the machine learning requires an extremely large number of sample data and processing time, which is not realistic.
加えて、生成されたトピックをデータ分析作業者が解釈しにくくなる。例えば、「3」という単語がトピックを構成するキーワードになったとき、その単語がどこのテーブルで何を意味するかが多義的である。そこで、量的変数を質的変数に変換してから、変換された質的変数を機械学習する。 In addition, it is difficult for the data analysis operator to interpret the generated topic. For example, when the word “3” becomes a keyword constituting a topic, it is ambiguous what the word means in which table. Therefore, after the quantitative variable is converted into the qualitative variable, the converted qualitative variable is machine-learned.
例えば、気象コードの「3」を「晴れ」に変換する。この変換により、比較的少数のサンプルで効率的に機械学習できるようになり、このような機械学習は計算資源の節約となる。さらに、短い期間で妥当な学習が可能となる。そして、データ分析作業者にとっても計算結果が理解しやすくなる。 For example, the weather code “3” is converted to “clear”. This conversion enables efficient machine learning with a relatively small number of samples, and such machine learning saves computational resources. Furthermore, reasonable learning is possible in a short period of time. And it becomes easy for a data analysis worker to understand a calculation result.
図4は、変換関係定義テーブルの例を示す図である。変換関係定義テーブル401は、トランザクションテーブル名402、トランザクションフィールド名403、マスターテーブル名404、マスターフィールド名405、量質変換テーブル名406、および量質変換フィールド名407の各フィールドを備える。
FIG. 4 is a diagram illustrating an example of the conversion relationship definition table. The conversion relation definition table 401 includes fields of a
例えば、変換関係定義テーブル401の1番目のレコードは、トランザクションテーブル名402が「Table−B」、トランザクションフィールド名403が「日付時刻」、量質変換テーブル名406が「日付、時刻」である。
For example, in the first record of the conversion relation definition table 401, the
このレコードにより、「Table−B」というトランザクションテーブルの「日付時刻」のフィールドにある日付時刻の量的な値を、「日付」という量質変換テーブルの情報と「時刻」という量質変換テーブルの情報に基づいて、質的な値に変換するという対応関係が定義されている。 With this record, the quantitative value of the date and time in the “date and time” field of the transaction table “Table-B” is converted into the information of the quantitative conversion table “date” and the quantitative conversion table of “time”. Based on the information, a correspondence relationship of converting to a qualitative value is defined.
また、変換関係定義テーブル401の3番目のレコードは、トランザクションテーブル名402が「Table−B」、トランザクションフィールド名403が「警報」、マスターテーブル名404が「Table−M1」、マスターフィールド名405が「F」である。そして、「Table−M1」というマスターテーブルの「F」のフィールドには、警報コードとして「1」や「9」などの符号語と意味(質)とが対応付けられている。
The third record of the conversion relationship definition table 401 has a
このレコードとマスターテーブルにより、「Table−B」というトランザクションテーブルの「警報」のフィールドにある警報コードを、「Table−M1」というマスターテーブルの「F」フィールドに基づいて、例えば「1」から「注意」などの意味に変換するという対応関係が定義されている。 With this record and the master table, the alarm code in the “alarm” field of the transaction table “Table-B” can be changed from “1” to “1” based on the “F” field of the master table “Table-M1”. Correspondence that is converted into meanings such as “Caution” is defined.
このような変換関係定義テーブル401が用いられて、学習制御モジュール109は機械学習の前に、符号語を復号して量質変換できる。図4の例では、マスターテーブルと量質変換テーブルとが排反の例を示したが、マスターテーブルと量質変換テーブルの両方が定義されてもよい。
Using such a conversion relationship definition table 401, the
変換関係定義テーブル401にマスターテーブルと量質変換テーブルの両方が定義された場合、あらかじめ設定された情報に従ってどちらかのテーブルが選択されてもよいし、マスターテーブルと量質変換テーブルで定義される符号語あるいは量的変数が排反であり、変換対象の符号語あるいは量的変数に応じてどちらかのテーブルが選択されてもよい。 When both the master table and the quality conversion table are defined in the conversion relationship definition table 401, either table may be selected according to preset information, or defined by the master table and the quality conversion table. The code word or the quantitative variable is contradictory, and either table may be selected according to the code word or the quantitative variable to be converted.
図5は、量質変換テーブルの例を示す図である。量質変換テーブルは、量的変数を質的変数に変換する対応関係を定義するテーブルである。量的変数には、日付、時刻、位置、距離、価格、温度、年齢などがあり、数値で表され、暗に連続的な数値である。 FIG. 5 is a diagram illustrating an example of the quality conversion table. The qualitative conversion table is a table that defines a correspondence relationship for converting a quantitative variable into a qualitative variable. Quantitative variables include date, time, position, distance, price, temperature, age, etc., expressed numerically and implicitly continuous numerical values.
例えば、2017年11月30日は木曜日である。2017年11月30日は量的であり、秋や木曜日という表現は質的であるとみなす。質的変数を量的変数に変換するには特別な制約条件を要するが、その逆の変換は可能である。 For example, November 30, 2017 is Thursday. November 30, 2017 is quantitative, and the expressions fall and Thursday are considered qualitative. Converting a qualitative variable to a quantitative variable requires special constraints, but the reverse is possible.
このような量質変換テーブルの中で、量質変換テーブル501は時刻に関するテーブルであって、1つの量的変数から複数の質的変数への変換を可能にするテーブルである。量質変換テーブル501は、下限値502、上限値503、質的表現(1)504、質的表現(2)505、逆引きテーブル名506、およびレコード番号507の各フィールドを備える。
Among such qualitative conversion tables, the qualitative conversion table 501 is a table relating to time, and is a table that enables conversion from one quantitative variable to a plurality of qualitative variables. The quantitative conversion table 501 includes fields of a
例えば、量質変換テーブル501の1番目のレコードは、下限値502が「14:00:00」、上限値503が「14:59:59」、質的表現(1)504が「昼間」、質的表現(2)505が「2時台」である。
For example, in the first record of the quality conversion table 501, the
このレコードにより、量的表現としての時刻が、「14:00:00」と「14:59:59」との間に入るのであれば、「昼間」と「2時台」という質的表現に変換するという対応関係が定義されている。また、図4に示した変換関係定義テーブル401を逆引きできるように、逆引きテーブル名506とレコード番号507の各フィールドを備える。
With this record, if the time as a quantitative expression falls between “14:00:00” and “14:59:59”, the qualitative expression “daytime” and “2 o'clock” will be used. Correspondences to convert are defined. Further, fields for reverse
そして、図5に示した例で、「14:06」という特定の時刻は、1番目のレコードと2番目のレコードの「昼間」、「2時台」、および「午後」と3つの質的表現が対応付けられている。 In the example shown in FIG. 5, the specific time of “14:06” has three qualitatives, “daytime”, “2pm”, and “afternoon” of the first record and the second record. Expressions are associated.
量質変換テーブル501を用いた変換処理によって、データのおおまかな特徴を機械が学習しやすくなり、少ないサンプルでの機械学習を効率化し、同時に計算資源消費を抑制し、高速な処理を実現できる。 The conversion process using the mass-quality conversion table 501 makes it easy for a machine to learn rough characteristics of data, makes machine learning with a small number of samples more efficient, and at the same time, reduces the consumption of computing resources, thereby realizing high-speed processing.
文書での単語の仕分けと異なり、トランザクションレコードのデータ値には多様な量的変数が含まれ、かつ量的変数のデータこそがレコードの本質的な情報である。トピックモデルを用いた機械学習において、レコードに含まれるトピックを推定するとき、「14:06」という単語の出現頻度で学習するよりも、「午後」あるいは「2時台」などの広い解釈を含めた単語の出現頻度で学習する方が、データ分析支援に寄与しやすい。 Unlike the word sorting in the document, the data value of the transaction record includes various quantitative variables, and the quantitative variable data is the essential information of the record. In machine learning using a topic model, when a topic included in a record is estimated, a broad interpretation such as “afternoon” or “2 o'clock” is included rather than learning with the appearance frequency of the word “14:06”. Learning with the frequency of occurrence of the word is more likely to contribute to data analysis support.
図6は、データと処理の関係の例を示す図である。データレイク103内のトランザクションDB106のトランザクションテーブルのデータが、データ分析支援システム101へ入力される。図6に示した例で、トランザクションDB106には、Table−A601とTable−B602の2つのトランザクションテーブルがある。
FIG. 6 is a diagram illustrating an example of the relationship between data and processing. Data in the transaction table of the
Table−A601は、日付時刻603、担当者604、場所605、および作業606の各フィールドを備え、作業者の作業記録が格納される。Table−B602は、日時607、警報608、および位置609の各フィールドを備え、ある設備のセンサ出力記録が格納される。
The Table-
このように図6の例は、これらの情報源を元にした異種テーブルであるTable−A601とTable−B602が、日時と場所の関係を介して分析支援を行う場合の例である。
As described above, the example of FIG. 6 is an example in which Table-
学習テーブル610と学習テーブル611は、トピックモデルに基づく学習結果が格納される学習DB114のテーブルである。Table−A601に格納されたデータが、復号され、量的変数から質的変数に変換されて、変換された質的変数の機械学習による学習結果が学習テーブル610に格納される。
The learning table 610 and the learning table 611 are tables of the
また、Table−B602に格納されたデータが、復号され、量的変数から質的変数に変換されて、変換された質的変数の機械学習による学習結果が学習テーブル611に格納される。
In addition, the data stored in Table-
そして、学習テーブル610は、トピック番号612、キーワード613、および出現確率614の各フィールドを備え、オブジェクト指向の書式で示されている。学習テーブル610も同じ各フィールドを備える。
The learning table 610 includes fields of
トピック番号612の採番では、例えば、1つ目のテーブル(Table−A601)に対する1つ目のトピックを「#1−1」と番号付ける。トピックは10個に分けるものとする。ここで、10個はあらかじめ設定された個数であってもよいし、計算された個数であってもよい。
In the numbering of the
このようにして、Table−A601とTable−B602が、それぞれ10トピックに仕分けられた場合のトピック群が学習テーブル610と学習テーブル611にそれぞれ示されている。
In this way, topic groups when Table-
Table−A601が分析されて得られたトピックは10個である。例えば、トピック番号612が「#1−1」のトピックは、キーワード613で示されるように「火曜」、「2時台」、「Hanka」、および「大阪」などのキーワードによって潜在的な意味を示すトピックである。
The number of topics obtained by analyzing Table-A601 is ten. For example, a topic whose
また、キーワード613の各キーワードの出現確率は、出現確率614で示されるように「0.31」、「0.2」、「0.04」、および「0.03」などであり、トピック番号612が「#1−1」のトピックでの出現確率の総和は1.0である。
Further, the appearance probability of each keyword of the keyword 613 is “0.31”, “0.2”, “0.04”, “0.03”, etc., as indicated by the
すなわち、あるレコードが存在した場合、「火曜」が「0.31」の出現確率で含まれ、「2時台」が「0.2」の出現確率で含まれるときに、その存在したレコードは、トピック番号612が「#1−1」のトピックに含まれると判定されることが原理的には可能である。
That is, when a certain record exists, “Tuesday” is included with an appearance probability of “0.31”, and “2 o'clock” is included with an appearance probability of “0.2”, the existing record is In principle, it is possible to determine that the
しかし、実際のレコードでは「火曜」のデータが含まれるか含まれないか2値的であり、中途半端な出現確率で存在することはない。このように、出現確率は、あくまでもトピックの潜在的な意味を示すものである。 However, in an actual record, data on “Tuesday” is included or not, and it is binary, and does not exist with a halfway appearance probability. Thus, the appearance probability only indicates the potential meaning of the topic.
同様に、Table−B602が分析されて得られたトピックは10個ある。例えば、トピック番号が「#2−2」のトピックは、「火曜」、「警報(3)」、および「大阪」などのキーワードによって潜在的な意味を示すトピックである。また、各キーワードの出現確率は「0.51」、「0.07」、「0.01」などである。 Similarly, there are 10 topics obtained by analyzing Table-B602. For example, the topic having the topic number “# 2-2” is a topic that indicates a potential meaning by keywords such as “Tuesday”, “Alarm (3)”, and “Osaka”. Further, the appearance probability of each keyword is “0.51”, “0.07”, “0.01”, and the like.
集約テーブル615は、後述する組合せ最適化および基底集約の処理を経て、トピック同士の最適な組合せを集約した結果が格納される集約DB115のテーブルである。集約テーブル615は、グループ番号616、トピック番号617、キーワード618、および出現頻度619を各フィールドに備え、それらはオブジェクト指向の可変長である。
The aggregation table 615 is a table of the
トピックグループは、学習テーブルをまたいだデータの関係性を示す情報である。トピックグループは、ある学習テーブルを構成する複数のトピックの中から1つのトピックが選択され、次の学習テーブルを構成する複数のトピックの中から1つのトピックが選択されて、学習DB114内の学習テーブルから順次に1つずつのトピックが選択されて組み合わせられたものである。
A topic group is information indicating the relationship of data across learning tables. In the topic group, one topic is selected from a plurality of topics constituting a certain learning table, and one topic is selected from a plurality of topics constituting the next learning table, and the learning table in the
トピックグループは、グループ番号616により識別される。グループ番号616が「#1」のトピックグループは、「Topic#1−1」と「Topic2−2」を含む。これは、「火曜」などのキーワードが一致しており、最適な組合せと判定された組合せである。
A topic group is identified by a
グループ番号616が「#1」のトピックグループの中で、「Hanka」と「警報(3)」は元々Table−A601とTable−B602すなわち異種テーブルに含まれる情報であり、テーブルの内容を既存のテーブルブラウザ等を用いて概観しているだけでは、両者の関係にデータ分析作業者は気付きにくい。
Among the topic groups with the
これらに加えて、場所と天気の関係を格納した異種テーブルがあったとき、複数のテーブル間の関係はさらに気付きにくい。例えば、この設備の故障を知らせる「警報(3)」は、雨天時に「Hanka」の部品交換作業が不適切だったために断続的に起きていたものかもしれない。このような因果関係の仮説をデータ分析作業者が思いつくデータ発見の起点となりえる。 In addition to these, when there is a heterogeneous table storing the relationship between the location and the weather, the relationship between the plurality of tables is more difficult to notice. For example, the “alarm (3)” notifying the failure of the equipment may have occurred intermittently due to inappropriate parts replacement work of “Hanka” in rainy weather. Such a causal hypothesis can be the starting point for data discovery that data analysis workers can come up with.
図7は、組合せ最適化の例を示す図である。集約制御モジュール110は、図6に示した学習テーブル610と学習テーブル611を入力し、集約テーブル615を出力する。このために、集約制御モジュール110は、以下で説明する処理を実行する。
FIG. 7 is a diagram illustrating an example of combination optimization. The
説明のために、分析対象となる学習テーブル数をPとする。トピックモデルに基づく機械学習を行うと、1つの学習テーブルは複数のトピック(分析軸)で仕分けられる。ここでの1つの学習テーブルを構成するトピック数をQとする。 For the sake of explanation, let P be the number of learning tables to be analyzed. When machine learning based on a topic model is performed, one learning table is sorted by a plurality of topics (analysis axes). Let Q be the number of topics that make up one learning table.
1つのトピックは、複数のキーワードと、対応する出現確率のデータを含む。ここでのトピックを構成するキーワード数をRとする。ここでは説明の簡単化のために、どの学習テーブルも同じトピック数のトピックを含み、どのトピックも同じキーワード数のキーワードを持つとするが、同じでなくともよい。 One topic includes a plurality of keywords and corresponding appearance probability data. The number of keywords constituting the topic here is R. Here, for simplification of explanation, it is assumed that all learning tables include topics having the same number of topics and all topics have keywords having the same number of keywords, but they need not be the same.
p番目の学習テーブルのq番目のトピックを構成するr番目のキーワードをw(p,q,r)とし、対応するキーワードの出現確率をφ(p,q,r)とする。キーワードwは出現確率の高いもの順にソートされたものである。w(p,q,1)は、p番目のテーブルのq番目のトピック内で最頻のキーワードである。 Assume that the r-th keyword constituting the q-th topic of the p-th learning table is w (p, q, r), and the appearance probability of the corresponding keyword is φ (p, q, r). The keywords w are sorted in descending order of appearance probability. w (p, q, 1) is the most frequent keyword in the qth topic of the pth table.
あるトピックを構成するキーワードの出現確率の総和は1である。以下で単に出現確率と呼ぶ場合もキーワードの出現確率を示す。出現確率は最大値1最小値0の実数形式である。キーワードは可変長文字列形式である。
The sum of the appearance probabilities of keywords constituting a certain topic is 1. In the following, the term “probability of appearance” will also indicate the probability of appearance of a keyword. The appearance probability is a real number format having a
例えば、図6に示した例において、p=1の学習テーブル610を分析し、q=1のトピックとしてトピック番号612の「#1−1」のトピックが得られた時、出現確率614が最大「0.31」となるキーワード613は「火曜」である。このため、w(p,q,1)=「火曜」、φ(p,q,1)=「0.31」である。
For example, in the example illustrated in FIG. 6, when the learning table 610 with p = 1 is analyzed and the topic “# 1-1” with the
トピックグループは複数の学習テーブルのトピックについてグループ分けが行なわれたものである。ここで、トピックグループの数は学習テーブルのトピック数と同じQとする。 A topic group is obtained by grouping topics of a plurality of learning tables. Here, the number of topic groups is Q, which is the same as the number of topics in the learning table.
k番目の学習テーブルのj番目のトピックがi番目のトピックグループに属するか否かを示す隣接行列xが定義できる。隣接行列xの要素値x(i,j,k)は、値が「1」であれば、対応する要素がトピックグループに属し、値が「0」であれば、対応する要素がトピックグループに属さない。 An adjacency matrix x indicating whether or not the jth topic of the kth learning table belongs to the ith topic group can be defined. If the element value x (i, j, k) of the adjacency matrix x is “1”, the corresponding element belongs to the topic group, and if the value is “0”, the corresponding element is the topic group. Does not belong.
目的関数は、出現確率の高いキーワードが互いに多く含まれたトピック同士が同一トピックグループに属するように定義される。すなわち、図7に示すように、トピックグループを構成する複数トピックにおいて、トピック同士のキーワードが一致する範囲で出現確率の積の総和を計算し、その総和を最大化することを最適化目的とする。 The objective function is defined so that topics containing many keywords with high appearance probabilities belong to the same topic group. That is, as shown in FIG. 7, in a plurality of topics constituting a topic group, the object of optimization is to calculate the sum of the products of appearance probabilities in a range where the keywords of the topics match and to maximize the sum. .
キーワードが一致する範囲の判定のために、文字列照合する別関数を定義することによって、目的関数が隣接行列xの1次式として定式化されてもよい。キーワードの一致ではなく、あらかじめ設定された何らかの基準に基づくキーワードの近似であってもよい。キーワードwが出現確率の高いもの順にソートされていることを利用し、出現確率の低いキーワードwに関する計算は打ち切られてもよい。 The objective function may be formulated as a linear expression of the adjacency matrix x by defining another function for character string matching in order to determine a range where the keywords match. Instead of matching keywords, it may be keyword approximation based on some preset criteria. Using the fact that the keywords w are sorted in descending order of appearance probability, the calculation related to the keyword w having the low appearance probability may be aborted.
トピックのトピックグループへの割当てが適切になされた隣接行列では、対応関係のある要素値だけが「1」となり、「1」となる要素値と同じ行の他の要素値、および「1」となる要素値と同じ列の他の要素値は「0」となる。すなわち、図7に示すように制約条件として、隣接行列の行方向の値の総和は「1」であり、列方向の値の総和も「1」であり、要素値xは2値である。 In an adjacency matrix in which topics are appropriately assigned to topic groups, only the corresponding element value is “1”, the other element values in the same row as the element value “1”, and “1” The other element value in the same column as the element value becomes “0”. That is, as shown in FIG. 7, as a constraint condition, the sum of the values in the row direction of the adjacency matrix is “1”, the sum of the values in the column direction is also “1”, and the element value x is binary.
以上の定式化で得られる最適化問題は01整数計画問題である。この定式化によって、一般的な最適化ソルバを用いて高速に最適解の隣接行列xを得ることができる。例えば学生のクラス分けに用いられるような別解法の手順が適用されてもよい。 The optimization problem obtained by the above formulation is a 01 integer programming problem. By this formulation, the adjacency matrix x of the optimal solution can be obtained at high speed using a general optimization solver. For example, another solution procedure used for classifying students may be applied.
図8は、データ分析支援システムの処理フローの例を示す図である。図8に示した処理フローは、統括制御モジュール108により全体が統括される。まず、統括制御モジュール108の制御により、対話制御モジュール111がユーザからの入力(要求)待ち状態になる。
FIG. 8 is a diagram illustrating an example of a processing flow of the data analysis support system. The overall processing flow shown in FIG. 8 is controlled by the
ステップ801において、対話制御モジュール111はユーザからの入力を受け付け、受け付けた入力を統括制御モジュール108に渡す。統括制御モジュール108は入力に基づいて管理DB112を読み込み、初期設定し、トランザクションDB106を開く。
In
ステップ802において、統括制御モジュール108は、管理DB112の変換関係定義テーブル401を参照して、符号語を復号するテーブル関係を設定する。符号語を復号するテーブル関係は、学習制御モジュール109により設定されてもよい。
In
ステップ803において、学習制御モジュール109は、量質変換DB113の量質変換テーブル501を参照して、量的変数を質的変数に変換するテーブル関係を設定する。これらの符号語を復号するテーブル関係の設定と、量的変数を質的変数に変換するテーブル関係を設定により、以下の処理にて復号と変換が可能になる。
In
ステップ804において、学習制御モジュール109は、開かれたトランザクションDB106の中で処理対象となるトランザクションテーブルそれぞれについてステップ805、806、809の処理をそれぞれ実行するように繰り返す。
In
ステップ805において、学習制御モジュール109は、質的変数の数に基づいてトピック数Qを算出する。トピック数Qは、あらかじめユーザにより設定されてもよいし、データサンプルを用いて決められてもよい。データサンプルは、ステップ804の繰り返しの中でi番目のトランザクションテーブルから取得されてもよく、このために符号語が復号されたり、量的変数が質的変数に変換されたりしてもよい。
In
ここで、本実施例固有の構成は、量質変換テーブル501を参照してトピック数Qを決めることである。例えば、質的変数として曜日だけに着目する場合、Q≧7とすることによって曜日ごとの傾向が浮かび上がりやすくなる。 Here, the configuration unique to the present embodiment is to determine the number Q of topics by referring to the quality conversion table 501. For example, when focusing only on the day of the week as a qualitative variable, the tendency for each day of the week can be easily revealed by setting Q ≧ 7.
場所を表す量的変数も量質変換されうる。量的変数の内容にかかわらず、((質的変数の数)+1)を用いると、分析した特徴成分が質的変数を1つずつ含み、かつ、雑音となる成分が残りの特徴成分に集まるため、注目した質的変数で分類する効果が高まる。 Quantitative variables representing locations can also be qualitatively converted. Regardless of the contents of the quantitative variable, if ((number of qualitative variables) +1) is used, the analyzed feature components will include one qualitative variable at a time, and noise components will be collected in the remaining feature components Therefore, the effect of classifying by the qualitative variable that has been noticed increases.
量質変換テーブルにて、時間をx通りに仕分け、場所をy通りに仕分けるデータを用意し、関数f():Q=f(x,y)=max(x,y)+1、を定義してトピック数Qを設定する。xは、量質変換テーブル(日付)があらかじめ作成され、そのテーブルの行数が数えられた値である。yは、量質変換テーブル(場所)があらかじめ作成され、そのテーブルの行数が数えられた値である。 In the quality conversion table, prepare data to sort time in x ways and place in y places, and define function f (): Q = f (x, y) = max (x, y) +1 To set the number of topics Q. x is a value obtained by creating a quality conversion table (date) in advance and counting the number of rows in the table. y is a value obtained by creating a quality conversion table (location) in advance and counting the number of rows in the table.
さらに、zを量質変換テーブル(時刻)の行数として、関数g():Q=g(x,y,z)=max(x,y,z)+1を定義して、トピック数Qが設定されてもよい。あるいは、トピック数Qが、Q=x*y*zのように組み合わせ数の値であると、ユーザは、時空間の組合せに基づく分析結果を網羅的に見ることができる。 Further, the function g (): Q = g (x, y, z) = max (x, y, z) +1 is defined where z is the number of rows of the qualitative conversion table (time), and the topic number Q is It may be set. Alternatively, when the number of topics Q is a value of the number of combinations such as Q = x * y * z, the user can comprehensively see the analysis results based on the combination of time and space.
ステップ806において、学習制御モジュール109は、ステップ804の繰り返しの中でi番目のトランザクションテーブルのレコードのそれぞれについてステップ807、808の処理をそれぞれ実行するように繰り返す。
In step 806, the
ステップ807において、学習制御モジュール109は、ステップ806の繰り返しのj番目のレコードに対応する入力ベクトルを作成する。この入力ベクトルの作成では、符号語を復号して量的変数を質的変数に変換しつつ、キーワードの集合が作成される。なお、j番目のレコードに量的変数が含まれている場合は、復号がスキップされてもよい。
In
ステップ808において、学習制御モジュール109は、トピック数Qと作成した入力ベクトルを用いて機械学習する。なお、機械学習の処理そのものは、学習制御モジュール109が実行してもよいし、データ分析支援システム101の外部で実行されてもよく、外部で実行する場合の学習制御モジュール109は、その外部へトピック数Qと入力ベクトルの情報を送り、学習結果を得てもよい。その機械学習の処理については図10を用いて後で詳細に説明する。
In
ステップ809において、学習制御モジュール109は、ステップ807、808の繰り返しが終了すると、その繰り返しにより得られたi番目のトランザクションテーブルの学習結果を保存する。
In
ステップ810において、集約制御モジュール110は、トピック群の組合せを最適化する。図7を用いて説明した通り、最適解は図7に示す隣接行列xの形式である。隣接行列xの要素値を参照して、x(i,j,k)=1であれば、k番目の学習テーブルのj番目のトピックはi番目のトピックグループに属すると判定する。
In
ステップ811において、集約制御モジュール110は、トピックグループを構成する各種のデータ(トピック、キーワード、および出現確率)を集約する。この集約のために、集約制御モジュール110は、第1に、おのおののトピックグループを示す索引i(0≦i≦Q)について、トピックリストをメモリ領域に確保し、以下の第2と第3の処理手順を繰り返す。
In
第2に、集約制御モジュール110は、i番目のトピックグループに含まれるk番目の学習テーブルのj番目のトピックを構成するr番目の構成要素、すなわちキーワードw(k,j,r)と出現確率φ(k,j,r)をトピックリストに加えてメモリに保存する。
Secondly, the
第3に、集約制御モジュール110は、保存時にキーワードの重複を避けて統合する。例えば、トピックリストにあるキーワードと同じキーワードが別の学習テーブルでの構成要素であった場合、2つの出現確率の平均値を、そのキーワードの出現確率として計算して保存することにより、トピックリスト内のキーワードは、そのトピックリスト内で一意となる。
Third, the
これによって、それぞれの学習テーブルごとの分析結果が集約され、学習テーブルをまたいだデータ関係が顕在化する。そして、集約制御モジュール110は、メモリに保存した情報すなわち集約した各種のデータを、集約テーブルとして集約DB115に格納する。
As a result, the analysis results for each learning table are aggregated, and the data relationship across the learning tables becomes apparent. The
ステップ812において、対話制御モジュール111は、分析結果と対話入力領域をユーザ端末102のディスプレイに出力する。分析結果は、集約DB115から得た情報であり、トピックリストのキーワードと出現確率を含む。さらに、対話入力領域には、キーワードに並列してユーザ選択を受け付けるチェックボックスを含み、ユーザからの入力を受け付ける。
In step 812, the
ユーザが複数のチェックボックスを選択し、ユーザ端末102を用いて関連情報出力の指示を入力すると、対話制御モジュール111は、選択されたチェックボックスの情報を受け付けて、逆引き情報が検索されて、関連情報としてユーザ端末102に出力する。
When the user selects a plurality of check boxes and inputs an instruction to output related information using the
図5を用いて、チェックされたキーワードが「2時台」だった場合の関連情報の出力について説明する。統括制御モジュール108は、対話制御モジュール111から「2時台」のキーワードと関連情報の検索の要求を受け取り、受け取ったキーワードに基づいて量質変換テーブル501を参照し、受け取ったキーワードと同じ質的表現を含むレコードを検索する。
The output of related information when the checked keyword is “2 o'clock” will be described with reference to FIG. The
この検索により、統括制御モジュール108は、1番目のレコードの質的表現(2)505に「2時台」を見つけて、見つかった1番目のレコードに登録された逆引きテーブル名506の「Table−B」とレコード番号507の「1」を得る。そして、統括制御モジュール108は、トランザクションDB106から「Table−B」というトランザクションテーブルの1番目のレコードを検索する。
By this search, the
統括制御モジュール108は、検索により見つけた1番目のレコードを得て、対話制御モジュール111へ送る。対話制御モジュールは受け取った1番目のレコードを、量質変換前の関連情報としてユーザ端末102に出力する。なお、逆引きテーブル名506とレコード番号507の情報が、関連情報としてユーザ端末102に出力されてもよい。
The
図9は、ユーザ対話画面の例を示す図である。図9に示した画面901は、分析結果出力領域902と対話入力領域903を含み、図8を用いて説明したステップ812において作成出力される。図9に示した例において、分析結果出力領域902には、「Group1」すなわちトピックグループ1の分析結果として、「火曜 0.31」のようにキーワードと出現確率のペアが列挙される。
FIG. 9 is a diagram illustrating an example of a user interaction screen. A
図9に示した例では、端的には、「火曜」が含まれるレコードはトピックグループ1に属する可能性が高いことを示している。また、「Group2」のトピックグループ2には別のキーワードと出現確率が列挙されている。同一のキーワードが複数のトピックグループに出現してもよい。
In the example illustrated in FIG. 9, in short, it is indicated that a record including “Tuesday” is highly likely to belong to the
対話入力領域903はチェックボックスであり、ユーザがチェックボックスにチェックをつけて、キーワードを選択することが可能な入力領域である。図9に示した例では、「火曜」、「大阪」、および「警報(3)」それぞれのチェックボックスにチェックがついており、これらのキーワードがユーザにより選択された状態を示す。
The
逆引き情報904は、分析の基となった情報を示し、関連情報としてステップ812で作成されて出力される。量質変換により「火曜」と解釈された数値が含まれるレコードは、「トランザクションテーブルTable−B」のレコード番号が1、4、5などのレコードであり、さらに「保守テーブルTable−H0」のレコード番号が2、3、4などのレコードである。
The
データ分析作業者は、図9に示した以上の情報から「警報(3)」が「火曜」、「大阪」、および「晴」と同時に表れるという傾向を見いだせる。元々の警報情報が含まれた「トランザクションテーブルTable−B」だけを分析していても、「警報(3)」は不定期に各地で頻発していて、特定の曜日や場所に注目しにくい場合もあり得る。 From the above information shown in FIG. 9, the data analysis worker can find a tendency that “alarm (3)” appears simultaneously with “Tuesday”, “Osaka”, and “Sunny”. Even if only the “transaction table Table-B” containing the original alarm information is analyzed, “alarm (3)” occurs frequently in various places, and it is difficult to pay attention to a specific day or place. There is also a possibility.
このような場合であって、特定の作業者の保守作業方法が不適切であり、特定の天候のときにのみ異常が生じるという複合要因による警報の原因を調べる場合、従来は、そのような仮説をデータ分析作業者が考えて、関係する異種データを自力で調べなければならなかった。 In such a case, when investigating the cause of an alarm due to a complex factor that the maintenance work method of a specific worker is inappropriate and an abnormality occurs only in a specific weather, conventionally such a hypothesis is used. A data analysis worker thought about it, and had to investigate related heterogeneous data by himself.
その上、このような仮説の組合せは極めて多く、データ分析作業者の作業時間は極めて大きくなる傾向がある。本実施例では、そのような仮説の可能性について、トピックグループを提示することにより、データ分析作業者にリコメンドできる。データ分析作業者の作業時間が大幅に削減することが可能になる。 In addition, there are many combinations of such hypotheses, and the working time of data analysis workers tends to be extremely long. In this embodiment, the possibility of such a hypothesis can be recommended to a data analysis worker by presenting a topic group. The time required for data analysis workers can be greatly reduced.
すなわち、「トランザクションテーブルTable−B」、「保守テーブルTable−H0」、および天候テーブルなどの異種テーブルを集約して分析することにより、異種テーブル間に分散していた有用なパターンを、データ分析作業者に見つけやすくさせることが可能になる。 That is, by collecting and analyzing heterogeneous tables such as “transaction table Table-B”, “maintenance table Table-H0”, and weather table, data analysis work Makes it easier for people to find.
図10を用いてステップ808の機械学習の処理フローについて詳細に説明する。
機械学習への入力情報は、トピック出現頻度の偏りを示すパラメータα、語出現頻度の偏りを示すパラメータβ、サンプリング繰り返し回数上限のパラメータS、トピック総数K、レコードデータの集合rである。
The processing flow of machine learning in
Input information to the machine learning includes a parameter α indicating a bias in topic appearance frequency, a parameter β indicating a bias in word appearance frequency, a parameter S for the upper limit of sampling repetitions, a total number K of topics, and a record data set r.
パラメータα、βには固定値の定常分布を初期値に用いてもよい。繰り返し回数上限のパラメータSは固定値でもよい。また、変数には次の4つの仮定を設ける:(1)レコードにおけるトピックの出現確率はαのディリクレ分布に従う、(2)k番目のトピックにおけるデータ値の出現確率はβのディリクレ分布に従う、(3)d番目のレコードにおけるi番目のデータ値を出現させた潜在変数は多項分布に従う、および、(4)d番目のレコードにおけるi番目のデータ値は多項分布に従う。 For the parameters α and β, a fixed distribution with a fixed value may be used as an initial value. The parameter S for the upper limit of the number of repetitions may be a fixed value. In addition, the following four assumptions are made for the variables: (1) The topic occurrence probability in the record follows the Dirichlet distribution of α, (2) The appearance probability of the data value in the k-th topic follows the β Dirichlet distribution, ( 3) The latent variable in which the i-th data value in the d-th record appears follows a multinomial distribution, and (4) the i-th data value in the d-th record follows a multinomial distribution.
また、2つの統計的変数:(1)d番目のレコードにおいてトピックkが出現した回数、および(2)全レコードに対してk番目のトピックがデータ値索引vに対して推定された回数、を定義する。 Also, two statistical variables: (1) the number of times topic k appears in the dth record, and (2) the number of times the kth topic is estimated for the data value index v for all records. Define.
ステップ1001において、すべてのテーブルに対して以降の処理を繰り返し制御する。ステップ1002において、すべてのレコードの量的なデータ値を分類して質的なデータ値に変換する。すべてのテーブルで同じレコード数を扱ってもよい。さらに、データ値wに一意的に対応する索引vを作成する。
In
ステップ1003において、以降の処理を繰り返し制御する。ステップ1004において、すべてのレコードについて、以降の処理を繰り返し制御する。ステップ1005において、すべてのデータ値レコードについて、以降の処理を繰り返し制御する。ステップ1006において、上記仮定に基づいて潜在変数のサンプリングを行う。ステップ1007において、2つの統計的変数の更新を行う。
In
ステップ1008において、パラメータα、βを更新する。ステップ1009において、k番目のトピックにおけるデータ値の出現確率φを出力し、さらに、作成済みのデータ値wも出力する。以上の処理を繰り返すことによって、実際のデータの統計的性質に基づいて、当初入力したパラメータα、βの精度を更新、収束させていくことができる。ステップ1010において、複数のトピック(wとφ)について組合せ最適化を行う。
In
ステップ1003からステップ1009までの各ステップはステップ808の処理と等価であり、周辺化ギブスサンプリングの既存技術をベースとしている。
Each step from
101 データ分析支援システム
109 学習制御モジュール
110 集約制御モジュール
113 量質変換DB
114 学習DB
115 集約DB
101 Data
114 Learning DB
115 Aggregation DB
Claims (10)
前記計算機は、
プログラムが格納されたメモリと、
前記メモリに格納されたプログラムを実行するCPUと、
を備え、
前記CPUは、
複数のテーブルを入力し、
入力された複数のテーブルのそれぞれからキーワードを抽出し、
抽出されたキーワードを機械学習し、機械学習の分析結果として、キーワードと出現確率のペアを含む特徴成分を、複数のテーブルのそれぞれについて抽出し、
抽出された特徴成分に含まれるキーワードのテーブル間の一致に基づき、特徴成分のテーブル間の組合せを特定し、
特定された組合せに含まれる特徴成分の出現確率を合成して、分析結果を集約し、
集約された分析結果を出力すること
を特徴とするデータ分析支援システム。 A data analysis support system configured by a computer,
The calculator is
Memory where the program is stored;
A CPU for executing a program stored in the memory;
With
The CPU
Enter multiple tables
Extract keywords from each of multiple input tables,
Machine learning is performed on the extracted keywords, and as a result of machine learning analysis, feature components including pairs of keywords and appearance probabilities are extracted for each of a plurality of tables.
Based on the match between the keyword tables contained in the extracted feature components, identify the combinations between the feature component tables,
By combining the appearance probabilities of feature components included in the specified combination,
A data analysis support system characterized by outputting aggregated analysis results.
前記計算機は、
量的変数の値の範囲と、1つまたは複数の質的変数の値とを対応付ける量質変換テーブルが格納されたディスク
をさらに備え、
前記CPUは、
入力された複数のテーブルのそれぞれに含まれる量的変数の値を、前記量質変換テーブルを用いて、1つまたは複数の質的変数の値に変換し、変換後の質的変数の値をキーワードとして抽出すること
を特徴とするデータ分析支援システム。 The data analysis support system according to claim 1,
The calculator is
A disk storing a quantitative conversion table that associates a range of values of quantitative variables with values of one or more qualitative variables;
The CPU
Quantitative variable values included in each of the plurality of input tables are converted into one or more qualitative variable values using the quantitative conversion table, and the converted qualitative variable values are converted into values. Data analysis support system characterized by extracting as keywords.
前記ディスクは、
入力される複数のテーブルの名称と、入力される複数のテーブルに含まれるフィールドの名称と、前記量質変換テーブルとを対応付ける変換関係定義テーブル
がさらに格納され、
前記CPUは、
入力された複数のテーブルの名称とフィールドの名称を特定し、前記変換関係定義テーブルを用いて、使用すべき前記量質変換テーブルを特定し、特定された前記量質変換テーブルを用いて、入力された複数のテーブルのそれぞれに含まれる量的変数の値を、1つまたは複数の質的変数の値に変換し、変換された質的変数の値をキーワードとして抽出すること
を特徴とするデータ分析支援システム。 The data analysis support system according to claim 2,
The disc is
A conversion relationship definition table that associates the names of a plurality of input tables, the names of fields included in the plurality of input tables, and the quantitative conversion table;
The CPU
Identify the names of multiple input tables and field names, identify the quality conversion table to be used using the conversion relationship definition table, and input using the specified quality conversion table Data of converting a quantitative variable value included in each of the plurality of converted tables into one or more qualitative variable values, and extracting the converted qualitative variable values as keywords Analysis support system.
前記CPUは、
入力された複数のテーブルのそれぞれに含まれる符号語を量的変数の値に変換し、変換された量的変数の値を、前記量質変換テーブルを用いて、1つまたは複数の質的変数の値に変換し、変換された質的変数の値をキーワードとして抽出すること
を特徴とするデータ分析支援システム。 The data analysis support system according to claim 3,
The CPU
The code word included in each of the plurality of input tables is converted into a value of a quantitative variable, and the converted quantitative variable value is converted into one or more qualitative variables using the quantitative conversion table. The data analysis support system is characterized in that it converts the value of the qualitative variable as a keyword and converts the value of the converted qualitative variable as a keyword.
前記CPUは、
入力された複数のテーブルの中の各テーブルにおいて、各テーブルから得られる複数の質的変数それぞれの値の種類の数を用いて特徴成分の数を算出し、
抽出されたキーワードの機械学習において、算出された特徴成分の数を機械学習に適用し、算出された特徴成分の数の特徴成分を機械学習の分析結果とすること
を特徴とするデータ分析支援システム。 The data analysis support system according to claim 2,
The CPU
In each table among a plurality of input tables, the number of feature components is calculated using the number of types of values of each of a plurality of qualitative variables obtained from each table,
A data analysis support system characterized in that, in machine learning of extracted keywords, the calculated number of feature components is applied to machine learning, and the feature components of the calculated number of feature components are used as machine learning analysis results. .
前記CPUは、
入力された複数のテーブルの中の各テーブルにおいて、各テーブルから得られる複数の質的変数それぞれの値の種類の数が、複数の質的変数の中で最大となる数を特定し、特定された最大となる数に1を加算して特徴成分の数を算出すること
を特徴とするデータ分析支援システム。 The data analysis support system according to claim 5,
The CPU
In each table among a plurality of input tables, the number of types of values of each of the plurality of qualitative variables obtained from each table is specified and specified to be the maximum among the plurality of qualitative variables. A data analysis support system for calculating the number of feature components by adding 1 to the maximum number.
前記CPUは、
入力された複数のテーブルの中の各テーブルにおいて、各テーブルから得られる複数の質的変数それぞれの値の種類の数同士を乗算して特徴成分の数を算出すること
を特徴とするデータ分析支援システム。 The data analysis support system according to claim 5,
The CPU
Data analysis support characterized in that the number of feature components is calculated by multiplying the number of value types of each of a plurality of qualitative variables obtained from each table in each of the plurality of input tables system.
前記CPUは、
入力された複数のテーブルのそれぞれに含まれる量的変数の値を、前記量質変換テーブルを用いて、1つまたは複数の質的変数の値に変換し、変換前の量的変数の値を含むテーブルの名称と変換後の質的変数の値とを対応付ける情報を前記量質変換テーブルに格納し、変換後の質的変数の値をキーワードとして抽出し、
キーワードを含む特徴成分の集約された分析結果を出力し、出力したキーワードに対する選択の入力を受け付け、受け付けられた入力により選択されたキーワードを特定し、特定されたキーワードとして抽出された質的変数の値に対応付けられたテーブルの名称を、前記量質変換テーブルから検索して出力すること
を特徴とするデータ分析支援システム。 The data analysis support system according to claim 2,
The CPU
The value of the quantitative variable included in each of the plurality of input tables is converted into the value of one or more qualitative variables using the quantitative conversion table, and the value of the quantitative variable before the conversion is converted. Information that associates the name of the table to be included with the value of the converted qualitative variable is stored in the quantitative conversion table, and the value of the converted qualitative variable is extracted as a keyword,
Outputs the aggregated analysis results of feature components including keywords, accepts selection input for the output keywords, identifies the keywords selected by the accepted input, and extracts qualitative variables extracted as identified keywords A data analysis support system, wherein a name of a table associated with a value is retrieved from the quantitative conversion table and output.
前記計算機は、
プログラムが格納されたメモリと、
前記メモリに格納されたプログラムを実行するCPUと、
を備え、
前記CPUは、
複数のテーブルを入力し、
入力された複数のテーブルのそれぞれからキーワードを抽出し、
抽出されたキーワードを機械学習し、機械学習の分析結果として、キーワードと出現確率のペアを含む特徴成分を、複数のテーブルのそれぞれについて抽出し、
抽出された特徴成分に含まれるキーワードのテーブル間の一致に基づき、特徴成分のテーブル間の組合せを特定し、
特定された組合せに含まれる特徴成分の出現確率を合成して、分析結果を集約し、
集約された分析結果を出力すること
を特徴とするデータ分析支援方法。 A data analysis support method by a computer,
The calculator is
Memory where the program is stored;
A CPU for executing a program stored in the memory;
With
The CPU
Enter multiple tables
Extract keywords from each of multiple input tables,
Machine learning is performed on the extracted keywords, and as a result of machine learning analysis, feature components including pairs of keywords and appearance probabilities are extracted for each of a plurality of tables.
Based on the match between the keyword tables contained in the extracted feature components, identify the combinations between the feature component tables,
By combining the appearance probabilities of feature components included in the specified combination,
A data analysis support method characterized by outputting an aggregated analysis result.
前記計算機は、
量的変数の値の範囲と、1つまたは複数の質的変数の値とを対応付ける量質変換テーブルが格納されたディスク
をさらに備え、
前記CPUは、
入力された複数のテーブルのそれぞれに含まれる量的変数の値を、前記量質変換テーブルを用いて、1つまたは複数の質的変数の値に変換し、変換後の質的変数の値をキーワードとして抽出すること
を特徴とするデータ分析支援方法。 The data analysis support method according to claim 9, comprising:
The calculator is
A disk storing a quantitative conversion table that associates a range of values of quantitative variables with values of one or more qualitative variables;
The CPU
Quantitative variable values included in each of the plurality of input tables are converted into one or more qualitative variable values using the quantitative conversion table, and the converted qualitative variable values are converted into values. A data analysis support method characterized by extracting as a keyword.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018054882A JP6886935B2 (en) | 2018-03-22 | 2018-03-22 | Data analysis support system and data analysis support method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018054882A JP6886935B2 (en) | 2018-03-22 | 2018-03-22 | Data analysis support system and data analysis support method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2019168820A true JP2019168820A (en) | 2019-10-03 |
JP6886935B2 JP6886935B2 (en) | 2021-06-16 |
Family
ID=68108287
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018054882A Active JP6886935B2 (en) | 2018-03-22 | 2018-03-22 | Data analysis support system and data analysis support method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6886935B2 (en) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007073024A (en) * | 2005-08-11 | 2007-03-22 | Nec Corp | Macro information generation system, macro information generation device, macro information generation method and macro information generation program |
JP2007334388A (en) * | 2006-06-12 | 2007-12-27 | Nippon Telegr & Teleph Corp <Ntt> | Method and device for clustering, program, and computer-readable recording medium |
JP2015219583A (en) * | 2014-05-14 | 2015-12-07 | 日本電信電話株式会社 | Topic determination device, utterance device, method, and program |
US20170068891A1 (en) * | 2015-09-04 | 2017-03-09 | Infotech Soft, Inc. | System for rapid ingestion, semantic modeling and semantic querying over computer clusters |
CN106933972A (en) * | 2017-02-14 | 2017-07-07 | 杭州数梦工场科技有限公司 | The method and device of data element are defined using natural language processing technique |
JP2017520068A (en) * | 2014-05-23 | 2017-07-20 | データロボット, インコーポレイテッド | Systems and techniques for predictive data analysis |
-
2018
- 2018-03-22 JP JP2018054882A patent/JP6886935B2/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007073024A (en) * | 2005-08-11 | 2007-03-22 | Nec Corp | Macro information generation system, macro information generation device, macro information generation method and macro information generation program |
JP2007334388A (en) * | 2006-06-12 | 2007-12-27 | Nippon Telegr & Teleph Corp <Ntt> | Method and device for clustering, program, and computer-readable recording medium |
JP2015219583A (en) * | 2014-05-14 | 2015-12-07 | 日本電信電話株式会社 | Topic determination device, utterance device, method, and program |
JP2017520068A (en) * | 2014-05-23 | 2017-07-20 | データロボット, インコーポレイテッド | Systems and techniques for predictive data analysis |
US20170068891A1 (en) * | 2015-09-04 | 2017-03-09 | Infotech Soft, Inc. | System for rapid ingestion, semantic modeling and semantic querying over computer clusters |
CN106933972A (en) * | 2017-02-14 | 2017-07-07 | 杭州数梦工场科技有限公司 | The method and device of data element are defined using natural language processing technique |
Also Published As
Publication number | Publication date |
---|---|
JP6886935B2 (en) | 2021-06-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2019214245A1 (en) | Information pushing method and apparatus, and terminal device and storage medium | |
US11372896B2 (en) | Method and apparatus for grouping data records | |
CN112785397A (en) | Product recommendation method, device and storage medium | |
CN106251174A (en) | Information recommendation method and device | |
CN112070577A (en) | Commodity recommendation method, system, equipment and medium | |
CN116662577B (en) | Knowledge graph-based large language model training method and device | |
CN115547466B (en) | Medical institution registration and review system and method based on big data | |
CN108628882A (en) | Method and system for prejudging problem | |
CN115358481A (en) | Early warning and identification method, system and device for enterprise ex-situ migration | |
CN110795613A (en) | Commodity searching method, device and system and electronic equipment | |
Darena et al. | Machine learning-based analysis of the association between online texts and stock price movements | |
CN111753151A (en) | Service recommendation method based on internet user behaviors | |
CN116503086A (en) | Method, system and medium for processing freight rate data of airline ticket based on machine learning | |
CN114022086B (en) | Purchasing method, device, equipment and storage medium based on BOM identification | |
CN114429384B (en) | Intelligent product recommendation method and system based on e-commerce platform | |
CN110597796A (en) | Big data real-time modeling method and system based on full life cycle | |
EP3493082A1 (en) | A method of exploring databases of time-stamped data in order to discover dependencies between the data and predict future trends | |
JP6886935B2 (en) | Data analysis support system and data analysis support method | |
Roelands et al. | Classifying businesses by economic activity using web-based text mining | |
Khatiwada et al. | Big Data Analytics and Deep Learning Based Sentiment Analysis System for Sales Prediction | |
CN117556118B (en) | Visual recommendation system and method based on scientific research big data prediction | |
TWM573493U (en) | System for predicting conversion probability by visitors' browsing paths | |
CN110807646A (en) | Data analysis method, device and computer readable storage medium | |
CN117453805B (en) | Visual analysis method for uncertainty data | |
CN117522463B (en) | BERT-based hollow sunshade system demand prediction method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200325 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20210324 |
|
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: 20210420 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20210517 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6886935 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |