JP2019168820A - Data analysis support system and data analysis support method - Google Patents

Data analysis support system and data analysis support method Download PDF

Info

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
Application number
JP2018054882A
Other languages
Japanese (ja)
Other versions
JP6886935B2 (en
Inventor
山田 隆亮
Takaaki Yamada
隆亮 山田
勇樹 前川
Yuki Maekawa
勇樹 前川
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
Priority to JP2018054882A priority Critical patent/JP6886935B2/en
Publication of JP2019168820A publication Critical patent/JP2019168820A/en
Application granted granted Critical
Publication of JP6886935B2 publication Critical patent/JP6886935B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Machine Translation (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

To provide a data analysis support system revealing a data relation among tables.SOLUTION: In a data analysis support system comprising a computer, the computer comprises a memory in which a program is stored and a CPU executing the program stored in the memory, the CPU inputs multiple tables, extracts a keyword from each of the inputted multiple tables, conducts machine learning of the extracted keyword, extracts a characteristic component including a pair of the keyword and an appearance probability from each of the multiple tables as a result of the machine learning, identifies a combination of inter-table characteristic components based on inter-table matching of a keyword included in the extracted characteristic component, synthesizes an appearance probability of a characteristic component included in the identified combination to integrate analytical results, and outputs the integrated analytical results.SELECTED DRAWING: Figure 1

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, Patent Literature 1 estimates a topic in which each account is interested with reference to a purchase information table, estimates a probability that a product is purchased for each topic, and purchases a product if the product is a new product. A technique for recommending new products with a high probability is described.

また、特許文献2には、トピックモデルによる分析手法を利用して、求人情報とレジュメ情報との間の類似度学習を行う技術が開示されている。   Patent Document 2 discloses a technique for performing similarity learning between job information and resume information by using an analysis method based on a topic model.

特開2012−242940号公報JP 2012-242940 A 特開2017−134732号公報JP 2017-134732 A

特許文献1あるいは特許文献2に開示された技術を用いれば、特定のデータを対象にして特定のトピックを分析することは可能になる。しなしながら、多くのテーブルから成るデータであってトピックを定められないビッグデータを機械学習しても、同一テーブル内にあるデータ同士の関係性が強く、テーブルをまたいだ関係性が埋もれがちである。   If the technique disclosed in Patent Document 1 or Patent Document 2 is used, it is possible to analyze a specific topic for specific data. However, even when machine learning big data that consists of many tables and cannot define topics, the relationships between the data in the same table are strong and the relationships across the tables tend to be buried. is there.

テーブル内の関係性を雑音(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 Patent Document 1 and Patent Document 2, no disclosure of the technology relating to the improvement of the SN ratio in such learning is found.

また、大容量多種多様なデータが混在するビッグデータを貯め置くデータレイクの中で、データの関係を俯瞰することは難しい。特に、データ分析作業者が生データの関係性の中に未知のパターンを発見することの支援、言い換えると、その気付きとなるデータ関係情報を抽出することが重要である。   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.

データ分析支援システムの例を示す図である。It is a figure which shows the example of a data analysis support system. 計算機の例を示す図である。It is a figure which shows the example of a computer. 機械学習を用いたデータ仕分けの例を示す図である。It is a figure which shows the example of the data classification using machine learning. 変換関係定義テーブルの例を示す図である。It is a figure which shows the example of a conversion relationship definition table. 量質変換テーブルの例を示す図である。It is a figure which shows the example of a quantity quality conversion table. データ値と処理の関係の例を示す図である。It is a figure which shows the example of the relationship between a data value and a process. 組合せ最適化の例を示す図である。It is a figure which shows the example of combination optimization. データ分析支援システムの処理フローの例を示す図である。It is a figure which shows the example of the processing flow of a data analysis support system. ユーザ対話画面の例を示す図である。It is a figure which shows the example of a user interaction screen. 機械学習の処理フローの例を示す図である。It is a figure which shows the example of the processing flow of machine learning.

本明細書において開示される技術のうち、一つの観点に従う構成と作用は以下の通りであり、図面を参照して本発明の実施形態を実施例として説明する。   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 analysis support system 101 includes a computer and is connected to a user terminal 102, a data lake 103, a business operation system 104, and a data warehouse 105 through a network 120.

ユーザ端末102、データレイク103、業務運用システム104、およびデータウェアハウス105も計算機であってもよい。ユーザはユーザ端末102を介して、データ分析支援システム101を含むこれらの計算機にアクセスし、データを入力したりデータを表示させたりする。   The user terminal 102, the data lake 103, the business operation system 104, and the data warehouse 105 may also be computers. The user accesses these computers including the data analysis support system 101 via the user terminal 102, and inputs data or displays data.

図1において、実線のネットワーク120は計算機間の物理的な接続を表し、破線はデータフロー(あるいは制御のフロー)を表す。ただし、破線は代表的なデータフローを示すものであって、図1に示した破線以外のデータフローがあってもよい。   In FIG. 1, a solid line network 120 represents a physical connection between computers, and a broken line represents a data flow (or control flow). However, the broken line indicates a typical data flow, and there may be a data flow other than the broken line shown in FIG.

データレイク103は分析前の生データが格納される設備である。運用管理ログや保守記録などが業務運用システム104からネットワーク120を介してデータレイク103内のデータベースであるトランザクションDB106に格納される。これにより、トランザクションDB106には時系列に生じてスキーマ構造に応じた記録が大量に溜まる。   The data lake 103 is a facility for storing raw data before analysis. Operation management logs, maintenance records, and the like are stored from the business operation system 104 via the network 120 into the transaction DB 106 that is a database in the data lake 103. As a result, a large amount of records corresponding to the schema structure are generated in the transaction DB 106 in time series.

なお、トランザクションDB106には、時系列によらない異種のテーブルが含まれていてもよい。また、トランザクションDB106以外のデータベースとして、データレイク103は、データの符号化方法やスキーマ構造をあらかじめ定めたマスターDB107を有する。マスターDB107の情報はユーザによりあらかじめ格納されてもよい。   The transaction DB 106 may include different types of tables that do not depend on time series. As a database other than the transaction DB 106, the data lake 103 has a master DB 107 in which a data encoding method and a schema structure are predetermined. Information of the master DB 107 may be stored in advance by the user.

業務運用システム104とデータレイク103を含めて各計算機のメモリには、データの送受信手順をあらかじめ定めた通信プログラムモジュールが格納され、各計算機のCPU(Central Processing Unit)によって通信プログラムが実行されることによって通信する。   The memory of each computer including the business operation system 104 and the data lake 103 stores a communication program module in which a data transmission / reception procedure is determined in advance, and the communication program is executed by a CPU (Central Processing Unit) of each computer. Communicate by.

ユーザは、データレイク103の中のデータを選択し、選択したデータを必要に応じて変換させてからデータウェアハウス105に転送させて格納させる。あるいは、データウェアハウス105のメモリ内には選択手順、変換手順、分析手順をあらかじめ定めた選択変換分析プログラムモジュールをあらかじめ格納されていてもよい。   The user selects data in the data lake 103, converts the selected data as necessary, and transfers the data to the data warehouse 105 for storage. Alternatively, a selective conversion analysis program module in which a selection procedure, a conversion procedure, and an analysis procedure are determined in advance may be stored in the memory of the data warehouse 105 in advance.

ユーザは、データウェアハウス105を用いて対話的にデータの分析を行う。この分析のために、ユーザはデータレイク103内のデータの中からデータを選択するのであるが、どのデータを選択すべきかの情報をデータ分析支援システム101はユーザへ提供する。   The user interactively analyzes data using the data warehouse 105. For this analysis, the user selects data from the data in the data lake 103. The data analysis support system 101 provides the user with information on which data to select.

別の言い方をすると、ユーザはデータ分析支援システム101を用いて選択すべきデータの推薦を受ける。なお、データ分析支援システム101の役割を説明するため、以上のようにデータウェアハウス105を説明したが、データウェアハウス105は以上で説明したものに限定されるものでははい。   In other words, the user receives a recommendation of data to be selected using the data analysis support system 101. In order to explain the role of the data analysis support system 101, the data warehouse 105 has been described as described above. However, the data warehouse 105 is not limited to the one described above.

データ分析支援システム101は、分析支援手順があらかじめ記述されたプログラムモジュール、およびユーザが対話的に指定する条件やあらかじめ定めおく初期値などのパラメータがメモリに格納されている。メモリに格納された分析支援手順の記述されたプログラムは、CPUによって実行されることによって、分析支援処理が実現される。   The data analysis support system 101 stores a program module in which an analysis support procedure is described in advance, and parameters such as conditions specified interactively by the user and predetermined initial values. An analysis support process is realized by executing a program describing the analysis support procedure stored in the memory by the CPU.

分析支援手順が記述されたプログラムモジュールには複数のサブモジュールがあり、統括制御モジュール108、学習制御モジュール109、集約制御モジュール110、および対話制御モジュール111の各サブモジュールが含まれる。ここで、各サブモジュールはプログラムそのものではなく、各プログラムを実行するCPUであってもよい。   The program module in which the analysis support procedure is described includes a plurality of submodules, and includes the overall control module 108, the learning control module 109, the aggregation control module 110, and the dialog control module 111. Here, each submodule may be a CPU that executes each program instead of the program itself.

データ分析支援システム101のディスク(記憶装置)あるいはメモリ上には、データベースが構築され、このデータベースには、管理DB112、量質変換DB113、学習DB114、および集約DB115が含まれる。管理DB112は、変換関係定義テーブル(図4)とデータレイク103内の各種データへのアクセス方法についての情報が、あらかじめ作成されて格納されている。   A database is constructed on a disk (storage device) or memory of the data analysis support system 101, and this database includes a management DB 112, a quality conversion DB 113, a learning DB 114, and an aggregation DB 115. In the management DB 112, information on the conversion relationship definition table (FIG. 4) and the access method to various data in the data lake 103 is created and stored in advance.

量質変換DB113は、時刻や場所などの量質変換テーブル(図5)が、あらかじめ作成されて格納されている。学習DB114は、学習テーブル(図6)として中間処理結果が格納される。集約DB115は、集約テーブル(図6)として最終処理結果が格納される。   In the quality conversion DB 113, a quality conversion table (FIG. 5) such as time and place is created and stored in advance. The learning DB 114 stores intermediate processing results as a learning table (FIG. 6). The aggregation DB 115 stores final processing results as an aggregation table (FIG. 6).

データ分析支援システム101は、ユーザからの要求に応じて処理を開始し、ユーザへ結果を出力して処理を終了する。まず、統括制御モジュール108は、あらかじめ対話制御モジュール111をユーザからの要求待ち状態にする。なお、以下の一連の処理の引き渡しは、統括制御モジュール108の統括的な制御により行われてもよい。   The data analysis support system 101 starts processing in response to a request from the user, outputs a result to the user, and ends the processing. First, the overall control module 108 puts the dialog control module 111 into a state waiting for a request from the user in advance. It should be noted that the delivery of the following series of processes may be performed by the overall control of the overall control module 108.

ユーザ操作によってユーザ端末102からデータ分析支援が要求されたと判定すると、対話制御モジュール111は統括制御モジュール108に処理を引き渡す。統括制御モジュール108は、管理DB112に定めた管理情報に基づいて各種データへのアクセス方法を読み取って、学習制御モジュール109に処理を引き渡す。   If it is determined that data analysis support is requested from the user terminal 102 by a user operation, the dialogue control module 111 passes the processing to the overall control module 108. The overall control module 108 reads an access method to various data based on the management information defined in the management DB 112 and hands over the processing to the learning control module 109.

学習制御モジュール109は、量質変換DB113を用いてトランザクションDB106(図6)のデータを読み込み、複数の学習結果を学習DB114に格納する。集約制御モジュール110は、学習DB114から複数の学習結果を読み込み、複数の学習結果を集約した集約データを集約DB115内の集約テーブルに格納する。対話制御モジュール111は、集約DB115から集約結果を読み込み、ユーザ端末102へ出力する。   The learning control module 109 reads the data of the transaction DB 106 (FIG. 6) using the quality conversion DB 113 and stores a plurality of learning results in the learning DB 114. The aggregation control module 110 reads a plurality of learning results from the learning DB 114 and stores aggregated data obtained by aggregating the plurality of learning results in an aggregation table in the aggregation DB 115. The dialogue control module 111 reads the aggregation result from the aggregation DB 115 and outputs it to the user terminal 102.

図2は、計算機の例を示す図である。計算機201は、例えばデータ分析支援システム101であり、図1に示した他の設備であってもよい。計算機201は、計算レジスタを備えたCPU202、メモリ203、ディスク205、入出力部206、タイマ204、およびセンサ207を備える。   FIG. 2 is a diagram illustrating an example of a computer. The computer 201 is the data analysis support system 101, for example, and may be the other equipment shown in FIG. The computer 201 includes a CPU 202 having a calculation register, a memory 203, a disk 205, an input / output unit 206, a timer 204, and a sensor 207.

ディスク205は、磁気記憶装置であってもよいし、不揮発性の半導体記憶装置であってもよい。入出力部206は、ディスプレイ、キーボード、マウス、およびネットワーク120との通信回路を含む。ユーザ端末102の代わりに、入出力部206のディスプレイ、キーボード、およびマウスが使用されてもよい。   The disk 205 may be a magnetic storage device or a non-volatile semiconductor storage device. The input / output unit 206 includes a display, a keyboard, a mouse, and a communication circuit with the network 120. Instead of the user terminal 102, the display, keyboard, and mouse of the input / output unit 206 may be used.

図3は、機械学習を用いたデータ仕分けの例を示す図である。データレイク103内には複数のデータベースと複数のテーブルがあり、テーブル同士は異種のものを含む。ここで、共通するフィールド(時刻など)を持つ2つのテーブルは互いに同種である。同種の2つのテーブルのデータは、テーブル結合処理によって単一テーブルのデータに変換できる。   FIG. 3 is a diagram illustrating an example of data sorting using machine learning. The data lake 103 includes a plurality of databases and a plurality of tables, and the tables include different types. Here, two tables having a common field (time etc.) are of the same type. Data of two tables of the same kind can be converted into data of a single table by table combination processing.

これに対して、共通するフィールドを持たない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 analysis support system 101 of the present embodiment, which is difficult for a data analysis operator who has previously recognized the enormous amount of data included in the heterogeneous table. Obtaining such information is a useful effect of this embodiment.

本実施例では機械学習の一例としてトピックモデルを用いる。以下では分析軸をトピックと呼ぶ。トピックは特徴成分でもある。トピックモデルは主に文書の仕分けに用いられるモデルであり、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 transaction table name 402, a transaction field name 403, a master table name 404, a master field name 405, a quality conversion table name 406, and a quality conversion field name 407.

例えば、変換関係定義テーブル401の1番目のレコードは、トランザクションテーブル名402が「Table−B」、トランザクションフィールド名403が「日付時刻」、量質変換テーブル名406が「日付、時刻」である。   For example, in the first record of the conversion relation definition table 401, the transaction table name 402 is “Table-B”, the transaction field name 403 is “date time”, and the quality conversion table name 406 is “date, time”.

このレコードにより、「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 transaction table name 402 of “Table-B”, a transaction field name 403 of “alarm”, a master table name 404 of “Table-M1”, and a master field name 405 of “F”. In the “F” field of the master table “Table-M1”, code words such as “1” and “9” are associated with meaning (quality) as alarm codes.

このレコードとマスターテーブルにより、「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 learning control module 109 can decode the codeword and perform quality conversion before machine learning. In the example of FIG. 4, an example in which the master table and the quantity conversion table are rejected is shown, but both the master table and the quantity conversion table may be defined.

変換関係定義テーブル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 lower limit value 502, an upper limit value 503, a qualitative expression (1) 504, a qualitative expression (2) 505, a reverse lookup table name 506, and a record number 507.

例えば、量質変換テーブル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 lower limit 502 is “14:00:00”, the upper limit 503 is “14:59:59”, the qualitative expression (1) 504 is “daytime”, The qualitative expression (2) 505 is “2 o'clock”.

このレコードにより、量的表現としての時刻が、「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 lookup table name 506 and record number 507 are provided so that the conversion relationship definition table 401 shown in FIG.

そして、図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 transaction DB 106 in the data lake 103 is input to the data analysis support system 101. In the example illustrated in FIG. 6, the transaction DB 106 includes two transaction tables, Table-A 601 and Table-B 602.

Table−A601は、日付時刻603、担当者604、場所605、および作業606の各フィールドを備え、作業者の作業記録が格納される。Table−B602は、日時607、警報608、および位置609の各フィールドを備え、ある設備のセンサ出力記録が格納される。   The Table-A 601 includes fields of a date time 603, a person in charge 604, a place 605, and a work 606, and stores a work record of the worker. Table-B 602 includes fields of date / time 607, alarm 608, and position 609, and stores a sensor output record of a certain facility.

このように図6の例は、これらの情報源を元にした異種テーブルであるTable−A601とTable−B602が、日時と場所の関係を介して分析支援を行う場合の例である。   As described above, the example of FIG. 6 is an example in which Table-A 601 and Table-B 602, which are heterogeneous tables based on these information sources, provide analysis support through the relationship between date and time.

学習テーブル610と学習テーブル611は、トピックモデルに基づく学習結果が格納される学習DB114のテーブルである。Table−A601に格納されたデータが、復号され、量的変数から質的変数に変換されて、変換された質的変数の機械学習による学習結果が学習テーブル610に格納される。   The learning table 610 and the learning table 611 are tables of the learning DB 114 in which learning results based on the topic model are stored. Data stored in Table-A 601 is decoded, converted from a quantitative variable to a qualitative variable, and a learning result by machine learning of the converted qualitative variable is stored in a learning table 610.

また、Table−B602に格納されたデータが、復号され、量的変数から質的変数に変換されて、変換された質的変数の機械学習による学習結果が学習テーブル611に格納される。   In addition, the data stored in Table-B 602 is decoded, converted from a quantitative variable to a qualitative variable, and a learning result by machine learning of the converted qualitative variable is stored in the learning table 611.

そして、学習テーブル610は、トピック番号612、キーワード613、および出現確率614の各フィールドを備え、オブジェクト指向の書式で示されている。学習テーブル610も同じ各フィールドを備える。   The learning table 610 includes fields of topic number 612, keyword 613, and appearance probability 614, and is shown in an object-oriented format. The learning table 610 includes the same fields.

トピック番号612の採番では、例えば、1つ目のテーブル(Table−A601)に対する1つ目のトピックを「#1−1」と番号付ける。トピックは10個に分けるものとする。ここで、10個はあらかじめ設定された個数であってもよいし、計算された個数であってもよい。   In the numbering of the topic number 612, for example, the first topic for the first table (Table-A601) is numbered “# 1-1”. The topic is divided into 10 topics. Here, 10 may be a preset number or a calculated number.

このようにして、Table−A601とTable−B602が、それぞれ10トピックに仕分けられた場合のトピック群が学習テーブル610と学習テーブル611にそれぞれ示されている。   In this way, topic groups when Table-A 601 and Table-B 602 are sorted into 10 topics are shown in the learning table 610 and the learning table 611, respectively.

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 topic number 612 is “# 1-1” has a potential meaning based on keywords such as “Tuesday”, “2 o'clock”, “Hanka”, and “Osaka” as indicated by the keyword 613. It is a topic to show.

また、キーワード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 appearance probability 614, and the topic number. The sum of the appearance probabilities in the topic 612 of “# 1-1” is 1.0.

すなわち、あるレコードが存在した場合、「火曜」が「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 topic number 612 is included in the topic “# 1-1”.

しかし、実際のレコードでは「火曜」のデータが含まれるか含まれないか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 aggregation DB 115 that stores the result of aggregating the optimal combination of topics through combination optimization and base aggregation processing described later. The aggregation table 615 includes a group number 616, a topic number 617, a keyword 618, and an appearance frequency 619 in each field, and these are object-oriented variable lengths.

トピックグループは、学習テーブルをまたいだデータの関係性を示す情報である。トピックグループは、ある学習テーブルを構成する複数のトピックの中から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 learning DB 114 is selected. Each topic is selected and combined sequentially.

トピックグループは、グループ番号616により識別される。グループ番号616が「#1」のトピックグループは、「Topic#1−1」と「Topic2−2」を含む。これは、「火曜」などのキーワードが一致しており、最適な組合せと判定された組合せである。   A topic group is identified by a group number 616. The topic group whose group number 616 is “# 1” includes “Topic # 1-1” and “Topic2-2”. This is a combination in which keywords such as “Tuesday” are matched and determined to be the optimum combination.

グループ番号616が「#1」のトピックグループの中で、「Hanka」と「警報(3)」は元々Table−A601とTable−B602すなわち異種テーブルに含まれる情報であり、テーブルの内容を既存のテーブルブラウザ等を用いて概観しているだけでは、両者の関係にデータ分析作業者は気付きにくい。   Among the topic groups with the group number 616 of “# 1”, “Hanka” and “Alarm (3)” are information originally included in the Table-A601 and Table-B602, that is, the heterogeneous tables, and the contents of the table are the existing ones. It is difficult for data analysis workers to notice the relationship between the two simply by using a table browser.

これらに加えて、場所と天気の関係を格納した異種テーブルがあったとき、複数のテーブル間の関係はさらに気付きにくい。例えば、この設備の故障を知らせる「警報(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 aggregation control module 110 inputs the learning table 610 and the learning table 611 illustrated in FIG. 6 and outputs the aggregation table 615. For this purpose, the aggregation control module 110 executes processing described below.

説明のために、分析対象となる学習テーブル数を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 maximum value 1 and a minimum value 0. Keywords are in variable-length character string format.

例えば、図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 topic number 612 is obtained as the topic with q = 1, the appearance probability 614 is the maximum. The keyword 613 that becomes “0.31” is “Tuesday”. Therefore, w (p, q, 1) = “Tuesday” and φ (p, q, 1) = “0.31”.

トピックグループは複数の学習テーブルのトピックについてグループ分けが行なわれたものである。ここで、トピックグループの数は学習テーブルのトピック数と同じ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 overall control module 108. First, the dialog control module 111 waits for an input (request) from the user under the control of the overall control module 108.

ステップ801において、対話制御モジュール111はユーザからの入力を受け付け、受け付けた入力を統括制御モジュール108に渡す。統括制御モジュール108は入力に基づいて管理DB112を読み込み、初期設定し、トランザクションDB106を開く。   In step 801, the dialog control module 111 receives an input from the user, and passes the received input to the overall control module 108. The overall control module 108 reads the management DB 112 based on the input, initializes it, and opens the transaction DB 106.

ステップ802において、統括制御モジュール108は、管理DB112の変換関係定義テーブル401を参照して、符号語を復号するテーブル関係を設定する。符号語を復号するテーブル関係は、学習制御モジュール109により設定されてもよい。   In step 802, the overall control module 108 refers to the conversion relationship definition table 401 of the management DB 112 and sets a table relationship for decoding codewords. The table relationship for decoding codewords may be set by the learning control module 109.

ステップ803において、学習制御モジュール109は、量質変換DB113の量質変換テーブル501を参照して、量的変数を質的変数に変換するテーブル関係を設定する。これらの符号語を復号するテーブル関係の設定と、量的変数を質的変数に変換するテーブル関係を設定により、以下の処理にて復号と変換が可能になる。   In step 803, the learning control module 109 refers to the quantitative conversion table 501 of the quantitative conversion DB 113 and sets a table relationship for converting quantitative variables into qualitative variables. By setting the table relationship for decoding these codewords and setting the table relationship for converting quantitative variables to qualitative variables, decoding and conversion can be performed by the following processing.

ステップ804において、学習制御モジュール109は、開かれたトランザクションDB106の中で処理対象となるトランザクションテーブルそれぞれについてステップ805、806、809の処理をそれぞれ実行するように繰り返す。   In step 804, the learning control module 109 repeats the processes in steps 805, 806, and 809 for each transaction table to be processed in the opened transaction DB 106.

ステップ805において、学習制御モジュール109は、質的変数の数に基づいてトピック数Qを算出する。トピック数Qは、あらかじめユーザにより設定されてもよいし、データサンプルを用いて決められてもよい。データサンプルは、ステップ804の繰り返しの中でi番目のトランザクションテーブルから取得されてもよく、このために符号語が復号されたり、量的変数が質的変数に変換されたりしてもよい。   In step 805, the learning control module 109 calculates the topic number Q based on the number of qualitative variables. The number of topics Q may be set in advance by the user or may be determined using data samples. Data samples may be obtained from the i-th transaction table in the iteration of step 804, for which codewords may be decoded or quantitative variables may be converted to qualitative variables.

ここで、本実施例固有の構成は、量質変換テーブル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 learning control module 109 repeats the processing in steps 807 and 808 for each of the records in the i-th transaction table in the repetition of step 804.

ステップ807において、学習制御モジュール109は、ステップ806の繰り返しのj番目のレコードに対応する入力ベクトルを作成する。この入力ベクトルの作成では、符号語を復号して量的変数を質的変数に変換しつつ、キーワードの集合が作成される。なお、j番目のレコードに量的変数が含まれている場合は、復号がスキップされてもよい。   In step 807, the learning control module 109 creates an input vector corresponding to the jth record in the repetition of step 806. In creating the input vector, a set of keywords is created while decoding the code word and converting the quantitative variable into the qualitative variable. Note that when the j-th record includes a quantitative variable, decoding may be skipped.

ステップ808において、学習制御モジュール109は、トピック数Qと作成した入力ベクトルを用いて機械学習する。なお、機械学習の処理そのものは、学習制御モジュール109が実行してもよいし、データ分析支援システム101の外部で実行されてもよく、外部で実行する場合の学習制御モジュール109は、その外部へトピック数Qと入力ベクトルの情報を送り、学習結果を得てもよい。その機械学習の処理については図10を用いて後で詳細に説明する。   In step 808, the learning control module 109 performs machine learning using the topic number Q and the created input vector. Note that the machine learning process itself may be executed by the learning control module 109, or may be executed outside the data analysis support system 101. Information on the topic number Q and the input vector may be sent to obtain a learning result. The machine learning process will be described later in detail with reference to FIG.

ステップ809において、学習制御モジュール109は、ステップ807、808の繰り返しが終了すると、その繰り返しにより得られたi番目のトランザクションテーブルの学習結果を保存する。   In step 809, when the repetition of steps 807 and 808 is completed, the learning control module 109 stores the learning result of the i-th transaction table obtained by the repetition.

ステップ810において、集約制御モジュール110は、トピック群の組合せを最適化する。図7を用いて説明した通り、最適解は図7に示す隣接行列xの形式である。隣接行列xの要素値を参照して、x(i,j,k)=1であれば、k番目の学習テーブルのj番目のトピックはi番目のトピックグループに属すると判定する。   In step 810, the aggregation control module 110 optimizes the combination of topic groups. As described with reference to FIG. 7, the optimum solution is in the form of the adjacency matrix x shown in FIG. With reference to the element value of the adjacency matrix x, if x (i, j, k) = 1, it is determined that the jth topic of the kth learning table belongs to the ith topic group.

ステップ811において、集約制御モジュール110は、トピックグループを構成する各種のデータ(トピック、キーワード、および出現確率)を集約する。この集約のために、集約制御モジュール110は、第1に、おのおののトピックグループを示す索引i(0≦i≦Q)について、トピックリストをメモリ領域に確保し、以下の第2と第3の処理手順を繰り返す。   In step 811, the aggregation control module 110 aggregates various data (topic, keyword, and appearance probability) constituting the topic group. For this aggregation, the aggregation control module 110 first secures a topic list in the memory area for the index i (0 ≦ i ≦ Q) indicating each topic group, and the following second and third Repeat the procedure.

第2に、集約制御モジュール110は、i番目のトピックグループに含まれるk番目の学習テーブルのj番目のトピックを構成するr番目の構成要素、すなわちキーワードw(k,j,r)と出現確率φ(k,j,r)をトピックリストに加えてメモリに保存する。   Secondly, the aggregation control module 110 includes the r-th component constituting the j-th topic of the k-th learning table included in the i-th topic group, that is, the keyword w (k, j, r) and the appearance probability. Add φ (k, j, r) to the topic list and save it in memory.

第3に、集約制御モジュール110は、保存時にキーワードの重複を避けて統合する。例えば、トピックリストにあるキーワードと同じキーワードが別の学習テーブルでの構成要素であった場合、2つの出現確率の平均値を、そのキーワードの出現確率として計算して保存することにより、トピックリスト内のキーワードは、そのトピックリスト内で一意となる。   Third, the aggregation control module 110 integrates the keywords while avoiding duplication. For example, if the same keyword as the keyword in the topic list is a component in another learning table, the average value of the two occurrence probabilities is calculated and stored as the occurrence probability of the keyword, and the Are unique within the topic list.

これによって、それぞれの学習テーブルごとの分析結果が集約され、学習テーブルをまたいだデータ関係が顕在化する。そして、集約制御モジュール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 aggregation control module 110 stores the information stored in the memory, that is, the aggregated various data in the aggregation DB 115 as an aggregation table.

ステップ812において、対話制御モジュール111は、分析結果と対話入力領域をユーザ端末102のディスプレイに出力する。分析結果は、集約DB115から得た情報であり、トピックリストのキーワードと出現確率を含む。さらに、対話入力領域には、キーワードに並列してユーザ選択を受け付けるチェックボックスを含み、ユーザからの入力を受け付ける。   In step 812, the dialogue control module 111 outputs the analysis result and the dialogue input area on the display of the user terminal 102. The analysis result is information obtained from the aggregation DB 115, and includes the keyword of the topic list and the appearance probability. Furthermore, the dialog input area includes a check box for accepting user selection in parallel with the keyword, and accepts input from the user.

ユーザが複数のチェックボックスを選択し、ユーザ端末102を用いて関連情報出力の指示を入力すると、対話制御モジュール111は、選択されたチェックボックスの情報を受け付けて、逆引き情報が検索されて、関連情報としてユーザ端末102に出力する。   When the user selects a plurality of check boxes and inputs an instruction to output related information using the user terminal 102, the dialog control module 111 accepts the information of the selected check boxes, the reverse lookup information is searched, It outputs to the user terminal 102 as related information.

図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 overall control module 108 receives the keyword “2 o'clock” and the related information search request from the dialogue control module 111, refers to the quality conversion table 501 based on the received keyword, and has the same qualitative characteristics as the received keyword. Search for records that contain expressions.

この検索により、統括制御モジュール108は、1番目のレコードの質的表現(2)505に「2時台」を見つけて、見つかった1番目のレコードに登録された逆引きテーブル名506の「Table−B」とレコード番号507の「1」を得る。そして、統括制御モジュール108は、トランザクションDB106から「Table−B」というトランザクションテーブルの1番目のレコードを検索する。   By this search, the overall control module 108 finds “2 o'clock” in the qualitative expression (2) 505 of the first record, and displays “Table” of the reverse table name 506 registered in the found first record. -B "and record number 507" 1 "are obtained. Then, the overall control module 108 searches the transaction DB 106 for the first record in the transaction table “Table-B”.

統括制御モジュール108は、検索により見つけた1番目のレコードを得て、対話制御モジュール111へ送る。対話制御モジュールは受け取った1番目のレコードを、量質変換前の関連情報としてユーザ端末102に出力する。なお、逆引きテーブル名506とレコード番号507の情報が、関連情報としてユーザ端末102に出力されてもよい。   The overall control module 108 obtains the first record found by the search and sends it to the dialog control module 111. The dialogue control module outputs the received first record to the user terminal 102 as related information before the quality conversion. Note that the information of the reverse lookup table name 506 and the record number 507 may be output to the user terminal 102 as related information.

図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 screen 901 shown in FIG. 9 includes an analysis result output area 902 and a dialog input area 903, and is created and output in step 812 described with reference to FIG. In the example shown in FIG. 9, the analysis result output area 902 lists pairs of keywords and appearance probabilities such as “Tuesday 0.31” as analysis results of “Group 1”, that is, topic group 1.

図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 topic group 1. In addition, another keyword and appearance probability are listed in the topic group 2 of “Group 2”. The same keyword may appear in a plurality of topic groups.

対話入力領域903はチェックボックスであり、ユーザがチェックボックスにチェックをつけて、キーワードを選択することが可能な入力領域である。図9に示した例では、「火曜」、「大阪」、および「警報(3)」それぞれのチェックボックスにチェックがついており、これらのキーワードがユーザにより選択された状態を示す。   The dialog input area 903 is a check box, and is an input area where the user can select a keyword by checking the check box. In the example shown in FIG. 9, the check boxes of “Tuesday”, “Osaka”, and “Alarm (3)” are checked, and the keywords are selected by the user.

逆引き情報904は、分析の基となった情報を示し、関連情報としてステップ812で作成されて出力される。量質変換により「火曜」と解釈された数値が含まれるレコードは、「トランザクションテーブルTable−B」のレコード番号が1、4、5などのレコードであり、さらに「保守テーブルTable−H0」のレコード番号が2、3、4などのレコードである。   The reverse lookup information 904 indicates information that is the basis of the analysis, and is created and output in step 812 as related information. The record including the numerical value interpreted as “Tuesday” by the quality conversion is a record having a record number of “transaction table Table-B” 1, 4, 5, etc., and a record of “maintenance table Table-H0”. It is a record whose number is 2, 3, 4, etc.

データ分析作業者は、図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 step 808 will be described in detail with reference to FIG.
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 step 1001, the subsequent processing is repeatedly controlled for all tables. In step 1002, the quantitative data values of all records are classified and converted into qualitative data values. All tables may handle the same number of records. Further, an index v uniquely corresponding to the data value w is created.

ステップ1003において、以降の処理を繰り返し制御する。ステップ1004において、すべてのレコードについて、以降の処理を繰り返し制御する。ステップ1005において、すべてのデータ値レコードについて、以降の処理を繰り返し制御する。ステップ1006において、上記仮定に基づいて潜在変数のサンプリングを行う。ステップ1007において、2つの統計的変数の更新を行う。   In step 1003, the subsequent processing is repeatedly controlled. In step 1004, the subsequent processing is repeatedly controlled for all records. In step 1005, the subsequent processing is repeatedly controlled for all data value records. In step 1006, a latent variable is sampled based on the above assumption. In step 1007, two statistical variables are updated.

ステップ1008において、パラメータα、βを更新する。ステップ1009において、k番目のトピックにおけるデータ値の出現確率φを出力し、さらに、作成済みのデータ値wも出力する。以上の処理を繰り返すことによって、実際のデータの統計的性質に基づいて、当初入力したパラメータα、βの精度を更新、収束させていくことができる。ステップ1010において、複数のトピック(wとφ)について組合せ最適化を行う。   In step 1008, the parameters α and β are updated. In step 1009, the appearance probability φ of the data value in the kth topic is output, and the generated data value w is also output. By repeating the above processing, it is possible to update and converge the accuracy of the initially input parameters α and β based on the statistical properties of actual data. In step 1010, combination optimization is performed for a plurality of topics (w and φ).

ステップ1003からステップ1009までの各ステップはステップ808の処理と等価であり、周辺化ギブスサンプリングの既存技術をベースとしている。   Each step from step 1003 to step 1009 is equivalent to the processing of step 808 and is based on the existing technique of marginal Gibbs sampling.

101 データ分析支援システム
109 学習制御モジュール
110 集約制御モジュール
113 量質変換DB
114 学習DB
115 集約DB
101 Data Analysis Support System 109 Learning Control Module 110 Aggregation Control Module 113 Quantity Conversion DB
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に記載のデータ分析支援システムであって、
前記計算機は、
量的変数の値の範囲と、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.
請求項2に記載のデータ分析支援システムであって、
前記ディスクは、
入力される複数のテーブルの名称と、入力される複数のテーブルに含まれるフィールドの名称と、前記量質変換テーブルとを対応付ける変換関係定義テーブル
がさらに格納され、
前記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.
請求項3に記載のデータ分析支援システムであって、
前記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.
請求項2に記載のデータ分析支援システムであって、
前記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. .
請求項5に記載のデータ分析支援システムであって、
前記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.
請求項5に記載のデータ分析支援システムであって、
前記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.
請求項2に記載のデータ分析支援システムであって、
前記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.
請求項9に記載のデータ分析支援方法であって、
前記計算機は、
量的変数の値の範囲と、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.
JP2018054882A 2018-03-22 2018-03-22 Data analysis support system and data analysis support method Active JP6886935B2 (en)

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)

* Cited by examiner, † Cited by third party
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

Patent Citations (6)

* Cited by examiner, † Cited by third party
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&#39; 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