KR102033151B1 - Data merging device and method for bia datda analysis - Google Patents
Data merging device and method for bia datda analysis Download PDFInfo
- Publication number
- KR102033151B1 KR102033151B1 KR1020170149691A KR20170149691A KR102033151B1 KR 102033151 B1 KR102033151 B1 KR 102033151B1 KR 1020170149691 A KR1020170149691 A KR 1020170149691A KR 20170149691 A KR20170149691 A KR 20170149691A KR 102033151 B1 KR102033151 B1 KR 102033151B1
- Authority
- KR
- South Korea
- Prior art keywords
- data
- data set
- similarity
- row
- rank
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2219—Large Object storage; Management thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
Abstract
빅데이터 분석을 위한 데이터 병합 장치는, 복수의 데이터 셋을 포함하는 데이터 베이스, 상기 데이터 베이스에 포함된 복수의 데이터 셋 중 데이터 매칭을 수행할 제 1 데이터 셋 및 제 2 데이터 셋을 결정하고, 상기 제 1 데이터 셋 및 상기 제 2 데이터 셋의 칼럼 항목 중 복수의 칼럼 항목을 선택하여 선택된 칼럼 항목 간의 유사도를 연산하고, 유사도에 기초하여 상기 제 1 데이터 셋 및 상기 제 2 데이터 셋의 데이터 행을 매칭하는 데이터 매칭부 및 상기 데이터 행의 매칭 결과에 기초하여 상기 제 1 데이터 셋 및 상기 제 2 데이터 셋을 병합하는 데이터 병합부를 포함할 수 있다. The data merging apparatus for big data analysis may determine a database including a plurality of data sets, a first data set and a second data set to perform data matching among the plurality of data sets included in the database, Selecting a plurality of column items among the column items of the first data set and the second data set to calculate similarity between the selected column items and matching data rows of the first data set and the second data set based on the similarity. And a data merger configured to merge the first data set and the second data set based on a matching result of the data matcher and the data row.
Description
본원은 빅데이터 분석을 위한 데이터 병합 장치 및 방법에 관한 것이다.The present invention relates to a data merging apparatus and method for big data analysis.
빅데이터 분석을 위해 전체 소요 노력의 70% ~80% 를 데이터 전처리에 사용하고 있다. 빅데이터 분석은 폭발적으로 증가하고 있으나 빅데이터 분석 기술 발전만큼 데이터 전처리에 관한 기술의 발전 속도는 느리며 이에 따라 자동화된 데이터 전처리 기술 개발의 필요성이 대두되고 있다. For big data analysis, 70% to 80% of the total effort is used for data preprocessing. Big data analysis is exploding, but the development of technology related to data preprocessing is as slow as the development of big data analysis technology. Therefore, the development of automated data preprocessing technology is emerging.
관계형 데이터베이스(RDBMS) 기반과 내부 데이터의 분석 환경에서 벗어나 공공정보 개방 환경과 맞물려 외부 데이터와의 매쉬업(Mash-Up)을 통한 정보 가치 재장출의 필요성이 강조되고 있다. In addition to the relational database (RDBMS) -based and internal data analysis environment, the necessity of reloading information value through mash-up with external data is emphasized.
그러나, 내·외부 데이터 생성의 관점과 용도 등이 다르거나 데이터 표준의 부재로 데이터가 의미적으로 동일 데이터이나 표현이 달라 기계적으로 매칭하는 것이 어려운 경우 데이터의 병합이 불가능하다. 이러한 경우 과도한 인적자원을 투입하여 데이터를 매칭해야 하며, 더욱이 상시화하는 것은 불가능하다. However, merging of data is impossible when it is difficult to match mechanically because the data are different from each other in terms of the purpose and use of internal and external data generation, or because of the absence of a data standard. In this case, excessive human resources must be input to match the data, and it is not always possible to make it constant.
따라서, 빅데이터 분석 활성화를 위해 데이터 매칭 알고리즘을 활용한 데이터 병합 기술에 대한 연구가 필요하나, 현재의 데이터 매칭 알고리즘으로는 단일 데이터 항목 간 매칭만 이루어져, 매칭 가능한 타 항목을 사용할 수 없어 정확도를 올리 수 없다. 특히 국문 데이터의 경우 정확도가 떨어지는 문제점이 있다. 또한, 사용자에 의한 보정이 필요한 데이터임에도 불구하고 데이터를 매칭시키는 문제점이 있었다.Therefore, research on data merging technology using data matching algorithm is needed to activate big data analysis.However, the current data matching algorithm only matches between single data items. Can't. In particular, in the case of Korean data, there is a problem that the accuracy is poor. In addition, despite the data that needs to be corrected by the user, there was a problem of matching the data.
또한, 데이터 전처리 중 하나인 데이터 통합 과정에서 가장 많이 사용되는 데이터 매칭 알고리즘은 Fuzzy Data Matching 알고리즘이다. 이 알고리즘은 편집거리(레펜슈타인, Levenshtein Distance)를 기반으로 계산된 결과값을 사용하여 데이터 간 매칭하는 알고리즘이다. 그러나 기존 알고리즘은 단일 Key 간의 비교를 통하여 매칭하기 때문에 다중 Key를 사용하는 테이블의 경우 구조적으로 매칭하기 어려운 단점을 가지고 있다. 또한 영문 기반으로 개발된 알고리즘이기 때문에, 국문 데이터를 대상으로 기존 알고리즘을 사용하는 것 만으로는 정확성의 한계가 있다.Also, Fuzzy Data Matching algorithm is the most commonly used data matching algorithm in the data integration process. This algorithm is an algorithm for matching data using calculated values based on the edit distance (Levenshtein Distance). However, existing algorithms have a disadvantage in that structural matching is difficult in the case of tables using multiple keys because they are matched through comparison between single keys. In addition, since the algorithm was developed based on the English language, there is a limit of accuracy only by using an existing algorithm for Korean data.
본원의 배경이 되는 기술은 한국공개특허공보 제2011-0099783(공개일: 2001.11.09)호에 개시되어 있다.The background technology of the present application is disclosed in Korean Patent Laid-Open Publication No. 2011-0099783 (published date: 2001.11.09).
본원은 전술한 종래 기술의 문제점을 해결하기 위한 것으로서, 단일 데이터의 유사성 분석으로 매칭이 어려운 경우 복수의 데이터 셋에서 복수의 칼럼 항목을 선택하여 유사도 연산을 수행하여 복수의 데이터를 병합하는 데이터 병합 장치 및 방법을 제공하려는 것을 목적으로 한다. The present invention is to solve the above-described problems of the prior art, a data merging device for merging a plurality of data by performing a similarity operation by selecting a plurality of column items from a plurality of data sets when matching is difficult due to similarity analysis of a single data And to provide a method.
또한, 본원은 전술한 종래 기술의 문제점을 해결하기 위한 것으로서, 복수의 데이터 셋 매칭 시 매칭이 불가능한 항목에 대해서 사용자에게 매칭 정보를 제공함으로써, 보다 정확하게 이종의 데이터를 병합하는 데이터 병합 장치 및 방법을 제공하려는 것을 목적으로 한다. In addition, the present application is to solve the above-mentioned problems of the prior art, and provides a data merging apparatus and method for merging heterogeneous data more accurately by providing matching information to the user for the items that cannot be matched when matching a plurality of data sets It is intended to provide.
또한, 본원은 전술한 종래 기술의 문제점을 해결하기 위한 것으로서, 제 1 매칭 유사도 연산 및 제 2 매칭 유사도 연산을 수행한 후 제 1 매칭 유사도 연산 매칭 결과와 제 2 매칭 유사도 연산을 비교하여 최종 데이터 매칭을 수행함으로써, 보다 정확하게 복수의 데이터를 병합하는 데이터 병합 장치 및 방법을 제공하려는 것을 목적으로 한다. In addition, the present application is to solve the above-described problems of the prior art, the first matching similarity operation and the second matching similarity operation after performing the first matching similarity operation matching result and the second matching similarity operation to compare the final data An object of the present invention is to provide a data merging apparatus and method for merging a plurality of data more accurately.
다만, 본원의 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제들도 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.However, the technical problem to be achieved by the embodiments of the present application is not limited to the technical problems as described above, and other technical problems may exist.
상기한 기술적 과제를 달성하기 위한 기술적 수단으로서, 빅데이터 분석을 위한 데이터 병합 장치는, 복수의 데이터 셋을 포함하는 데이터 베이스, 상기 데이터 베이스에 포함된 복수의 데이터 셋 중 데이터 매칭을 수행할 제 1 데이터 셋 및 제 2 데이터 셋을 결정하고, 상기 제 1 데이터 셋 및 상기 제 2 데이터 셋의 칼럼 항목 중 복수의 칼럼 항목을 선택하여 선택된 칼럼 항목 간의 유사도를 연산하고, 유사도에 기초하여 상기 제 1 데이터 셋 및 상기 제 2 데이터 셋의 데이터 행을 매칭하는 데이터 매칭부 및 상기 데이터 행의 매칭 결과에 기초하여 상기 제 1 데이터 셋 및 상기 제 2 데이터 셋을 병합하는 데이터 병합부를 포함할 수 있다. As a technical means for achieving the above technical problem, a data merging apparatus for big data analysis, the database including a plurality of data sets, the first to perform data matching among a plurality of data sets included in the database Determine a data set and a second data set, select a plurality of column items among the column items of the first data set and the second data set, calculate a similarity between the selected column items, and based on the similarity, The data matching unit may match a data row of a set and the second data set, and a data merger may merge the first data set and the second data set based on a matching result of the data rows.
본원의 일 실시예에 따르면, 상기 데이터 매칭부는, 상기 제 1 데이터 셋 및 상기 제 2 데이터 셋의 제 1 칼럼을 기반으로 제 1 매칭 유사도 연산 수행하여 제 1 유사도 순위 데이터 셋을 도출하고, 상기 제1 유사도 순위 데이터 셋을 기반으로 제 2 매칭 유사도 연산 수행하여 제 2 유사도 순위 데이터 셋을 도출하되, 상기 제 1 유사도 순위 데이터 셋 및 상기 제 2 유사도 순위 데이터 셋을 비교하여 유사도가 가장 높은 데이터를 기반으로 상기 제 1 데이터 셋 및 상기 제 2 데이터 셋의 데이터 행을 매칭할 수 있다. According to an embodiment of the present disclosure, the data matching unit may derive a first similarity ranking data set by performing a first matching similarity operation based on first columns of the first data set and the second data set, A second similarity ranking data set is derived by performing a second matching similarity operation based on a first similarity ranking data set, and is compared with the first similarity ranking data set and the second similarity ranking data set based on the highest similarity data. The data rows of the first data set and the second data set may be matched.
본원의 일 실시예에 따르면, 상기 데이터 매칭부를 통해 연산된 상기 제 1 유사도 순위 데이터 셋 및 상기 제 2 유사도 순위 데이터 셋은 상기 제 2 데이터 셋의 각 데이터 행의 순위 정보를 포함할 수 있다. According to one embodiment of the present application, the first similarity ranking data set and the second similarity ranking data set calculated through the data matching unit may include rank information of each data row of the second data set.
본원의 일 실시예에 따르면, 상기 데이터 매칭부는, 상기 제 1 데이터 셋의 제1행 데이터와 연계하여, 상기 제 1 유사도 순위 데이터 셋의 제 1순위에 위치한 제2데이터 셋의 행 데이터의 제 2 유사도 순위 데이터 셋에서의 순위 및 상기 제 2 유사도 순위 데이터 셋의 제 1 순위에 위치한 제2데이터 셋의 행 데이터의 제1유사도 순위 데이터 셋에서의 순위가 모두 1이고, 상기 제 1 유사도 순위 데이터 셋의 제 1 순위에 위치한 제2데이터 셋의 행 데이터 및 상기 제 2 유사도 순위 데이터 셋의 제 1 순위에 위치한 제2데이터 셋의 행 데이터가 일치하는 경우, 상기 제 1 유사도 순위 데이터 셋의 제 1순위에 위치한 제2데이터 셋의 행 데이터가 상기 제 1 행 데이터와 매칭되는 것으로 판단할 수 있다. According to an embodiment of the present application, the data matching unit, in association with the first row data of the first data set, the second of the row data of the second data set located in the first rank of the first similarity ranking data set The ranking in the first similarity ranking data set of the ranking in the similarity ranking data set and the row data of the second data set located in the first ranking of the second similarity ranking data set is all 1, and the first similarity ranking data set. A first rank of the first similarity rank data set when the row data of the second data set located in the first rank of and the row data of the second data set located in the first rank of the second similarity rank data set match. The row data of the second data set located at may be determined to match the first row data.
본원의 일 실시예에 따르면, 상기 데이터 매칭부는, 상기 제 1 데이터 셋의 제1행 데이터와 연계하여, 상기 제 1 유사도 순위 데이터 셋의 제 1순위에 위치한 제2데이터 셋의 행 데이터의 제 2 유사도 순위 데이터 셋에서의 순위 및 상기 제 2 유사도 순위 데이터 셋의 제 1 순위에 위치한 제2데이터 셋의 행 데이터의 제1유사도 순위 데이터 셋에서의 순위가 모두 1인 제2데이터 셋의 행 데이터가 복수개인 경우, 상기 제 1 행 데이터에 매칭되는 제2데이터 셋의 행 데이터를 매칭 불가로 판단할 수 있다. According to an embodiment of the present application, the data matching unit, in association with the first row data of the first data set, the second of the row data of the second data set located in the first rank of the first similarity ranking data set The row data of the second data set having a rank of the first similarity rank data set of both the rank in the similarity rank data set and the row data of the second data set located in the first rank of the second similarity rank data set is 1; When there are a plurality of row data, row data of a second data set matching the first row data may be determined as non-matchable.
본원의 일 실시예에 따르면, 상기 데이터 매칭부는, 상기 제 1 데이터 셋의 제1행 데이터와 연계하여, 제2데이터 셋의 제1행 데이터 및 제2행 데이터의 상기 제 1 유사도 순위 데이터 셋의 순위가 모두 1이고, 제2데이터 셋의 제1행 데이터의 상기 제 2 유사도 순위 데이터 셋의 순위가 1이고, 제2데이터 셋의 제2행 데이터의 상기 제 2 유사도 순위 데이터 셋의 순위가 1이 아닌 경우, 상기 제2데이터 셋의 제1행 데이터가 상기 제 1 행 데이터와 매칭되는 것으로 판단할 수 있다. According to one embodiment of the present application, the data matching unit, in association with the first row data of the first data set, of the first similarity ranking data set of the first row data and the second row data of the second data set The ranking is all 1, the ranking of the second similarity ranking data set of the first row of data of the second data set is one, and the ranking of the second similarity ranking data set of the second row of data of the second data set is one. If not, it may be determined that the first row data of the second data set matches the first row data.
본원의 일 실시예에 따르면, 빅데이터 분석을 위한 데이터 병합 장치는, 데이터 분석을 통해 상기 제 1 데이터 셋 및 상기 제 2 데이터 셋의 복수의 칼럼 항목의 데이터 타입 및 문자열 패턴을 분석하는 프로파일링부 및 상기 프로파일링부의 분석 결과를 기반으로 상기 제 1 데이터 셋 및 상기 제 2 데이터 셋 간 유사 항목을 분석하는 유사 항목 분석부를 더 포함할 수 있다. According to an embodiment of the present disclosure, a data merging device for big data analysis may include: a profiling unit configured to analyze data types and string patterns of a plurality of column items of the first data set and the second data set through data analysis; The apparatus may further include a similar item analyzer configured to analyze similar items between the first data set and the second data set based on analysis results of the profiling unit.
본원의 일 실시예에 따르면, 상기 데이터 병합부는, 상기 유사 항복 분석부의 분석 결과에 기초하여, 상기 제 1 데이터 셋 및 상기 제 2 데이터 셋의 복수의 칼럼 항목 병합 시 중복되는 칼럼 항목은 제외하고, 상기 제 1 데이터 셋 및 상기 제 2 데이터 셋의 병합을 수행할 수 있다. According to an embodiment of the present disclosure, the data merger is based on an analysis result of the quasi-yield analysis unit, except for overlapping column items when merging a plurality of column items of the first data set and the second data set. Merging of the first data set and the second data set may be performed.
본원의 일 실시예에 따르면, 빅데이터 분석을 위한 데이터 병합 방법은, 데이터 베이스에 포함된 복수의 데이터 셋 중 데이터 매칭을 수행할 제 1 데이터 셋 및 제 2 데이터 셋을 결정하는 단계, 상기 제 1 데이터 셋 및 상기 제 2 데이터 셋의 제 1 칼럼을 기반으로 제 1 매칭 유사도 연산 수행하여 제 1 유사도 순위 데이터 셋을 도출하는 단계, 상기 제1 유사도 순위 데이터 셋을 기반으로 제 2 매칭 유사도 연산 수행하여 제 2 유사도 순위 데이터 셋을 도출하는 단계, 상기 제 1 유사도 순위 데이터 셋 및 상기 제 2 유사도 순위 데이터 셋을 비교하여 제 1 데이터 셋의 각 데이터 행에 매칭되는 제 2 데이터 셋의 데이터 행을 매칭하는 단계 및 매칭 결과에 기초하여 상기 제 1 데이터 셋 및 상기 제 2 데이터 셋을 병합하는 단계를 포함할 수 있다. According to an embodiment of the present disclosure, a data merging method for big data analysis may include: determining a first data set and a second data set to perform data matching among a plurality of data sets included in a database, the first data set; Deriving a first similarity ranking data set by performing a first matching similarity operation based on a first column of a data set and the second data set, and performing a second matching similarity operation based on the first similarity ranking data set Deriving a second similarity ranking data set, comparing the first similarity ranking data set and the second similarity ranking data set, and matching data rows of a second data set matching each data row of the first data set; Merging the first data set and the second data set based on the matching result.
상술한 과제 해결 수단은 단지 예시적인 것으로서, 본원을 제한하려는 의도로 해석되지 않아야 한다. 상술한 예시적인 실시예 외에도, 도면 및 발명의 상세한 설명에 추가적인 실시예가 존재할 수 있다.The above-mentioned means for solving the problems are merely exemplary and should not be construed as limiting the present application. In addition to the above-described exemplary embodiments, additional embodiments may exist in the drawings and detailed description of the invention.
전술한 본원의 과제 해결 수단에 의하면, 복수의 데이터 셋에서 복수의 칼럼 항목을 선택하여 유사도 연산을 수행하여 복수의 데이터를 병합할 수 있다. According to the aforementioned problem solving means of the present application, a plurality of data can be merged by selecting a plurality of column items from a plurality of data sets and performing a similarity calculation.
또한, 전술한 본원의 과제 해결 수단에 의하면, 복수의 데이터 셋 매칭 시 매칭이 불가능한 항목에 대해서 사용자에게 매칭 정보를 제공함으로써, 보다 정확하게 복수의 데이터를 병합할 수 있다.In addition, according to the above-described problem solving means of the present application, by providing matching information to the user for the item that can not be matched when matching a plurality of data, it is possible to merge a plurality of data more accurately.
또한, 전술한 본원의 과제 해결 수단에 의하면, 제 1 매칭 유사도 연산 및 제 2 매칭 유사도 연산을 수행한 후 제 1 매칭 유사도 연산 매칭 결과와 제 2 매칭 유사도 연산을 비교하여 최종 데이터 매칭을 수행함으로써, 보다 정확하게 복수의 데이터를 병합할 수 있다.In addition, according to the above-described problem solving means of the present invention, after performing the first matching similarity operation and the second matching similarity operation, the first matching similarity operation by comparing the matching result and the second matching similarity operation to perform the final data matching, It is possible to merge a plurality of data more accurately.
도 1은 본원의 일 실시예에 따른 데이터 병합 장치의 구성을 개략적으로 나타낸 블록도이다.
도 2a 내지 2d는 본원의 일 실시예에 따른 제 1 매칭 유사도 연산을 설명하기 위한 개략도이다.
도 3은 본원의 일 실시예에 따른 제 2 매칭 유사도 연산을 설명하기 위한 개략도이다.
도 4는 본원의 일 실시예에 따른 제 1 매칭 유사도 연산 및 제 2 유사도 연산 결과를 예시적으로 나타낸 도면이다.
도 5a 내지 5b는 본원의 일 실시예에 따른 제 1 유사도 순위 데이터 셋 및 제 2 유사도 순위 데이터 셋을 비교하여 제 1 데이터 셋 및 제 2 데이터 셋의 데이터 행을 매칭하는 것을 설명하기 위한 개략도이다.
도 6a 내지 도6b는 본원의 일 실시예에 따른 데이터 분석 및 유사항목 분석의 일 실시예를 설명하기 위한 개략도이다.
도 7은 본원의 일 실시예에 따른 빅데이터 분석을 위한 데이터 병합의 일 실시예를 설명하기 위한 개략도이다.
도8은 본원의 일 실시예에 따른 데이터 병합 방법을 나타낸 흐름도이다. 1 is a block diagram schematically illustrating a configuration of a data merging device according to an embodiment of the present disclosure.
2A to 2D are schematic diagrams for describing a first matching similarity calculation according to an embodiment of the present application.
3 is a schematic diagram illustrating a second matching similarity calculation according to an embodiment of the present application.
4 is a diagram exemplarily illustrating a result of a first matching similarity calculation and a second similarity calculation according to an exemplary embodiment of the present application.
5A through 5B are schematic diagrams for comparing data rows of a first data set and a second data set by comparing a first similarity rank data set and a second similarity rank data set according to an exemplary embodiment of the present disclosure.
6A to 6B are schematic diagrams for describing an embodiment of data analysis and similarity analysis according to an embodiment of the present application.
7 is a schematic diagram illustrating an embodiment of data merging for big data analysis according to an embodiment of the present application.
8 is a flowchart illustrating a data merging method according to an embodiment of the present application.
아래에서는 첨부한 도면을 참조하여 본원이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본원의 실시예를 상세히 설명한다. 그러나 본원은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본원을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.DETAILED DESCRIPTION Hereinafter, exemplary embodiments of the present disclosure will be described in detail with reference to the accompanying drawings so that those skilled in the art may easily implement the present disclosure. As those skilled in the art would realize, the described embodiments may be modified in various different ways, all without departing from the spirit or scope of the present invention. In the drawings, parts irrelevant to the description are omitted for simplicity of explanation, and like reference numerals designate like parts throughout the specification.
본원 명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. Throughout this specification, when a part is "connected" to another part, this includes not only "directly connected" but also "electrically connected" with another element in between. do.
본원 명세서 전체에서, 어떤 부재가 다른 부재 "상에", "상부에", "상단에", "하에", "하부에", "하단에" 위치하고 있다고 할 때, 이는 어떤 부재가 다른 부재에 접해 있는 경우뿐 아니라 두 부재 사이에 또 다른 부재가 존재하는 경우도 포함한다.Throughout this specification, when a member is said to be located on another member "on", "upper", "top", "bottom", "bottom", "bottom", this means that any member This includes not only the contact but also the presence of another member between the two members.
본원 명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함" 한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있는 것을 의미한다.Throughout this specification, when a part is said to "include" a certain component, it means that it can further include other components, without excluding the other components unless specifically stated otherwise.
도 1은 본원의 일 실시예에 따른 데이터 병합 장치의 구성을 개략적으로 나타낸 블록도이고, 도 2a 내지 2d는 본원의 일 실시예에 따른 제 1 매칭 유사도 연산을 설명하기 위한 개략도이고, 도 3은 본원의 일 실시예에 따른 제 2 매칭 유사도 연산을 설명하기 위한 개략도이고, 도 4는 본원의 일 실시예에 따른, 제 1 매칭 유사도 연산 결과 및 제 2 매칭 유사도 연산 결과를 예시적으로 나타낸 도면이고, 도 5a 내지 5b는 본원의 일 실시예에 따른 제 1 유사도 순위 데이터 셋 및 제 2 유사도 순위 데이터 셋을 비교하여 제 1 데이터 셋 및 제 2 데이터 셋의 데이터 행을 매칭하는 것을 설명하기 위한 개략도이다.1 is a block diagram schematically showing the configuration of a data merging apparatus according to an embodiment of the present application, Figures 2a to 2d is a schematic diagram for explaining a first matching similarity calculation according to an embodiment of the present application, Figure 3 is 4 is a schematic diagram illustrating a second matching similarity calculation according to an embodiment of the present disclosure, and FIG. 4 is a diagram illustrating a first matching similarity calculation result and a second matching similarity calculation result according to an embodiment of the present disclosure. 5A through 5B are schematic diagrams for comparing data rows of a first data set and a second data set by comparing a first similarity rank data set and a second similarity rank data set according to an exemplary embodiment of the present application. .
도 1을 참조하면, 데이터 병합 장치(100)는, 데이터 베이스(110), 데이터 매칭부(120), 프로파일링부(130), 유사 항목 분석부(140) 및 데이터 병합부(150)를 포함할 수 있다. 다른 일예로, 데이터 병합 장치(100)는 외부 서버로부터 데이터 병합에 필요한 데이터를 전송받을 수 있으나, 이에 한정 되는 것은 아니다. Referring to FIG. 1, the
데이터 병합 장치(100)는 복수의 데이터 셋 중 제 1 데이터 셋 및 제 2 데이터 셋을 결정하고, 제 1 데이터 셋 및 제 2 데이터 셋의 칼럼 항목 중 복수의 칼럼 항목을 선택하여 선택된 항목 간의 유사도를 연산할 수 있다. 데이터 병합 장치(100)는 유사도에 기초하여 제 1 데이터 셋 및 제 2 데이터 셋의 데이터 행을 매칭할 수 있다. 또한, 데이터 병합 장치(100)는 복수의 데이터 병합 시 매칭 판단 여부에 기초하여 불가 판단 시 사용자에게 매칭 판단 여부를 제공하고, 사용자의 매칭 판단 여부 정보에 기초하여 복수의 데이터를 병합할 수 있다. 데이터 병합 장치(100)는 데이터 행의 매칭 결과에 기초하여 제 1 데이터 셋 및 제 2 데이터 셋을 병합할 수 있다. The
본원의 일 실시예에 따르면, 데이터 병합 장치(100)는 복수의 데이터 셋에서 인공지능 기반의 데이터 매칭 알고리즘을 이용하여 제 1 데이터 셋 및 제 2 데이터 셋을 매칭하여 데이터를 병합할 수 있다. According to an embodiment of the present disclosure, the
또한, 데이터 병합 장치(100)는 기존의 단일 칼럼 항목간의 유사도 연산을 통하여 수행된 데이터 매칭 결과 시 발생하는 문제점인 제 1 데이터에 제 2 데이터 셋의 제1 데이터 및 제 2 데이터가 중복되어 매칭되는 것을, 복수의 칼럼 항목간의 유사도 연산을 통하여 데이터 매칭을 실시하여, 제 1 데이터 셋의 제 1 행 데이터와 제 2 데이터 셋의 제1 행 데이터가 매칭되도록 할 수 있다.또한, 데이터 병합 장치(100)는 복수의 데이터 셋의 데이터 유사도를 분석하여 매칭하므로, 데이터 엔지니어 전문가와 업무 담당자의 개입 없이 데이터 병합이 가능할 수 있다. 데이터 병합 장치(100)는 빅데이터 환경하에서 늘어나는 데이터 양과 특정 업부 도메인의 데이터 특성을 학습 분석함으로써 데이터 매칭 정확율을 향상시킬 수 있다. In addition, the
또한, 데이터 병합 장치(100)는 매칭이 불가능하다고 판단되는 데이터 항목을 사용자에게 직접 매칭 후보들을 선택하게 하여 결과를 보정함으로써, 보다 정확한 데이터 매칭 및 병합을 수행할 수 있다. In addition, the
데이터 베이스(110)는 빅데이터 병합에 사용되는 복수의 데이터 셋을 포함할 수 있다. 데이터 베이스(110)는 비정형데이터를 포함할 수 있다. The
데이터 매칭부(120)는 데이터 베이스(110)에 포함된 복수의 데이터 셋 중 데이터 매칭을 수행할 제 1 데이터 셋(10) 및 제 2 데이터 셋(20)을 결정할 수 있다. 본원의 일 실시예에 따르면, 제 1 데이터 셋(10) 및 제 2 데이터 셋(20)은 유사 항목 분석부(140)의 유사도 연산 결과에 기초하여 미리 설정된 유사도 정보의 컬럼 항목을 복수개 포함하는 데이터 셋일 수 있다. 다른 일 예에 따르면, 제 1 데이터 셋(10) 및 제 2 데이터 셋(20)은 사용자의 선택에 따라 결정된 데이터 셋일 수 있다. 데이터 매칭부(120)는 복수의 데이터 셋 중 병합이 필요한 항목을 포함하고 있는 제 1 데이터 셋(10) 및 제 2 데이터 셋(20)을 결정하여 유사도 연산을 수행할 수 있다. The
데이터 매칭부(120)는 제 1 데이터 셋 및 제 2 데이터 셋의 칼럼 항목 중 복수의 칼럼 항목을 선택하여 선택된 칼럼 항목 간의 유사도를 연산할 수 있다. 데이터 매칭부(120)는 유사도 연산 수행 시 인공지능 기반의 알고리즘을 사용하여 연산을 수행할 수 있다. 본원의 일 실시예에 따른, 데이터 매칭부(120)의 데이터 매칭 알고리즘은 Fuzzy Data Matching 알고리즘을 사용하여 유사도 연산을 수행할 수있으나, 이에 한정되는 것은 아니다. Fuzzy Data Matching 알고리즘은 편집거리(레펜슈타인, Levenshtein Distance)를 기반으로 계산된 결과값을 사용하여 데이터 간에 매칭을 수행하는 알고리즘이다. The
예시적으로, 도 2a내지 도 2b를 참고하면, 도 2a내지 도 2b의 도면 부호(a)는 제 1 데이터 셋(10)이고, 도 2a내지 도 2b의 도면 부호(b)는 제 2 데이터 셋(10)일 수 있다. 제 1 데이터 셋은 4개의 칼럼 항목(11 내지 14)을 포함할 수 있다. 또한, 제 2 데이터 셋은 4개의 칼럼 항목(21 내지 24)를 포함할 수 있다. 제 1 데이터 셋 및 제 2 데이터 셋에 포함된 칼럼 항목은 대표 키로 구분될 수 있다. 예를 들어, 제 1 데이터 셋의 제 1 칼럼 항목(11)의 대표 키는 '주차장명'일 수 있고, 제 1칼럼 항목(11)은 대표 키 '주차장명'에 포함된 열의 집합일 수 있다. 즉, 제 1 데이터 셋(10)에 포함된 제 1 칼럼 항목(11)의 대표 키는 '주차장명'이고, 제 1 데이터셋(10)의 제 2 칼럼 항목(12)의 대표 키는 '주차장 운영 시작 시간'이고, 제 1 데이터 셋(10)의 제 3 칼럼 항목(13)의 대표 키는 '주차장 운영 종료 시간'이고, 제 1 데이터 셋(10)의 제 4 칼럼 항목(14)의 대표 키는 '주차요금(10분당, 원단위)' 일 수 있다. 제 2 데이터 셋(20)의 제 1 칼럼 항목(21)의 대표 키는 '주차장'이고, 제 2 데이터 셋(20)의 제 2 칼럼 항목(22)의 대표 키는 '주차장 운영 시작 시간'이고, 제 2 데이터 셋(20)의 제 3 칼럼 항목(23)의 대표 키는 '주차장 운영 종료 시간'이고, 제 2 데이터 셋(20)의 제 4 칼럼 항목(24)의 대표 키는 '주소'일 수 있다.2A to 2B, reference numeral a of FIGS. 2A to 2B denotes a
본원의 일 실시예에 따르면, 데이터 매칭부(120)는 제 1 데이터 셋(10) 및 제 2 데이터 셋(20)의 복수의 칼럼 항 목 중 제 1 데이터 셋(10)의 제 1 칼럼 항목 내지 제 3 칼럼 항목(11 내지 13)을 선택하고, 제 2 데이터 셋(20)의 제 1 칼럼 항목 내지 제 3 칼럼 항목(21 내지 23)을 선택하여 선택된 칼럼 항목 간의 유사도를 연산할 수 있다. 이때, 제 1 데이터 셋(10) 및 제 2 데이터 셋(20)의 복수의 칼럼 항목의 개수는 일치해야한다. 즉, 데이터 매칭부(120)는 데이터 매칭을 진행할 칼럼 항목의 개수를 일치하여 결정할 수 있다. 다른 일예로, 사용자가 데이터 매칭을 진행할 칼럼 항목을 선택할 수 있다. According to an exemplary embodiment of the present disclosure, the
데이터 매칭부(120)는 선택된 복수의 칼럼 항목 중 대표 칼럼 항목을 선택할 수 있다. 예시적으로, 도 2c를 참조하면, 데이터 매칭부(120)는 제 1 데이터 셋(10)의 제 1 칼럼 항목(11)를 대표 칼럼 항목으로 선택하고, 제 2 데이터 셋(20)의 제 2 칼럼 항목(21)를 대표 칼럼 항목으로 선택하여, 유사도 연산을 수행할 수 있다. 다른 일 예로, 대표 칼럼 항목은 사용자에 의해 선택될 수 있다. 데이터 매칭부(120)는 선택된 복수의 칼럼 항목 중 대표 칼럼 항목을 선택하여 유사도 연산 수행 시 Fuzzy 알고리즘을 이용하여 데이터 매칭을 수행할 수 있으나, 이에 한정 되는 것은 아니다.The
데이터 매칭부(120)는 제 1 데이터 셋(10) 및 제 2 데이터 셋(20)의 제 1 칼럼(11 및 21)을 기반으로 제 1 매칭 유사도 연산을 수행하여 제 1 유사도 순위 데이터 셋(30)을 도출할 수 있다. 예를 들어, 제 1 데이터 셋 및 제 2 데이터 셋의 제 1 칼럼은 주차장명(11) 및 주차장(21)일 수 있다. 본원의 일 실시예일뿐, 제 1 칼럼이 주차장(11) 및 주차장명(21)으로 한정되는 것은 아니고, 데이터 매칭부(120) 또는 사용자의 선택에 의해 제 1 칼럼(11 및 21)을 기반으로 제 1 매칭 유사도 연산을 수행하여 제 1 유사도 순위 데이터 셋(30)을 도출할 수 있다. The
데이터 매칭부(120)는 제 1 데이터 셋(10)의 각 행 데이터와 제2데이터 셋(20)의 대응되는 칼럼 항목의 모든 행 데이터 간의 유사도 연산을 수행할 수 있다. 제 1 매칭 유사도 연산은 제 1 데이터 셋(10)의 제 1 칼럼 항목(11)의 제 1 행 데이터(예를 들어, 훈련원)와 제 2 데이터 셋(20)의 제 1 칼럼 항목(21)과의 유사도를 비교하는 연산일 수 있다. 예시적으로, 도 2c를 참조하면, 제 1 데이터 셋(10)의 제 1 칼럼 항목(11)은 대표 키 주자차명으로, 제 1 데이터 셋(10)의 제 1 칼럼 항목(11)에 포함된, 제 1 데이터 '훈련원'과 제 2 데이터 셋(20)의 제 1 칼럼 항목(21)은 대표 키 주차장으로, 제 2 데이터 셋(20)의 제 1 칼럼 항목(21)에 포함된 ‘한외빌딩(타워)’, '서울역 2주차장’,’서울역 3주차장’,’청계천 두산 위브 더 제니스’, ‘제일은행(본점)’, ‘훈련원공원’,’ 신방화역(9호선 연계)’, ‘제일주차장, ‘골든타워’와 유사도 연산을 수행하는 것일 수 있다. 즉, 데이터 매칭부(120)는 제 1 데이터 셋(10)의 제 1 칼럼 항목(11)의 각각의 행 데이터와 제 2 데이터 셋(20)의 제 1 칼럼 항목(21)과의 유사도를 비교할 수 있다. The
제 1 유사도 순위 데이터 셋(30)은 제 1 데이터 셋(10)의 제 1 칼럼 항목(11)에 포함된 각각의 행 데이터와 제 2 데이터 셋(20)의 제 1 칼럼 항목(21)에 포함된 각각의 행 데이터와 비교하여 유사도가 높은 순위로 나열된 데이터 셋일 수 있다. 본원의 일 실시예에 따른 제 1 유사도 순위 데이터 셋(30)은 도2d를 참조하여, 설명할 수 있다. 도 2d의 Column A는 제 1 데이터 셋(10)의 제 1 칼럼 항목(11)에 포함된 각각의 행 데이터이다. A의 1차 유사도 Rank1내지 A의 1차 유사도 Rank 3은 제 1 데이터 셋(10)의 제 1 칼럼 항목(11)의 각각의 행 데이터와 제 2 데이터 셋(20)의 제 1 칼럼 항목(21)간의 유사도 연산 결과의 값이 높은 순으로 나열된 제 2 데이터 셋(20)의 제 1 칼럼 항목(21)에 포함된 데이터이다. 제 1 데이터 셋(10)의 제 1 칼럼 항목(11)의 각각의 행 데이터와 제 2 데이터 셋(20)의 제 1 칼럼 항목(21)간의 유사도 연산 결과의 값이 중복되는 경우, 예를 들어, 제 1 데이터 셋(10)의 제 1 칼럼 항목(11)의 제 1데이터(예를 들어, 서울역 주차장)의 데이터에 매칭된 제 2 데이터 셋(20)의 제 1 칼럼 항목(21)에 포함된 데이터가 중복(예를 들어, 서울역 2주차장, 서울역 3주차장)되는 경우, 데이터 매칭부(120)는 제 2 데이터 셋(20)에 배치된 제2 데이터 셋(20)의 제 1 칼럼 항목(21)의 칼럼 인덱스의 순서대로 제 1 유사도 순위 데이터 셋을 도출할 수 있다. The first similarity ranking data set 30 is included in each row data included in the
예를 들어, 데이터 매칭부(120)는 제 1 데이터 셋(10)의 제 1 칼럼 항목(11)의 '훈련원'의 데이터 유사도 연산 결과를 제 2 데이터 셋(20)의 제 1 칼럼 항목(21)에 포함된 행 데이터 중 ('훈련원공원', 90, 5), ('한외빌딩(타워)', 0 ,0) ('서울역 2주차장', 0, 1)의 순으로 결정하여 제 1 유사도 순위 데이터 셋을 도출 할 수 있다. 데이터 매칭부(120)는 제 1 유사도 순위 데이터 셋에 유사도 연산 결과 값 및 제 2 데이터 셋(20)의 칼럼 인덱스를 포함하여 제 1 매칭 유사도 순위 데이터 셋(30)의 데이터를 도출할 수 있다. 즉, 제 1 칼럼 항목(11)에 포함된 '훈련원'과 '훈련원공원'과의 유사도 결과 값은 90이고, '훈련원공원' 데이터의 제 2 데이터 셋(20)에서의 칼럼 인덱스는 5일 수 있다. 또한, 제 1 칼럼 항목(11)에 포함된 행 데이터와 제 2 데이터 셋(20)의 제 1 칼럼 항목(21)의 유사도 결과 값이 일치하는 경우, 제 2 데이터 셋(20)에서의 칼럼 인덱스의 순대로 나열될 수 있다. 예를 들어, '서울역 주차창' 과 '서울역 2 주차장', '서울역 3주차장'의 연산 결과 값은 93으로 동일하고, '서울역 2 주차장'의 칼럼 인덱스는 1이고, '서울역 3주차장'은 2인경우, 데이터 매칭부(120)는 제 2 데이터 셋(20)에 배치된 칼럼 인덱스의 순서대로 연산 결과를 나열할 수 있다. For example, the
데이터 매칭부(120)는 제 1 유사도 순위 데이터 셋(30)을 기반으로 제 2 매칭 유사도 연산을 수행하여 제 2 유사도 순위 데이터 셋(40)을 도출 할 수 있다. 이때, 제 1 유사도 순위 데이터 셋(30) 및 제 2 유사도 순위 데이터 셋(40)은 제 2 데이터 셋(20)의 각 데이터 행의 순위 정보를 포함할 수 있다. 제 1 유사도 순위 데이터 셋(30) 및 제 2 유사도 순위 데이터 셋(40)은 제 2 데이터 셋(20)의 각 데이터 행를 유사도 값의 순위에 따라 나열하여 포함할 수 있다.The
데이터 매칭부(120)는 제 1 매칭 유사도 순위 데이터 셋(30)을 기반으로 제 1 데이터 셋(10) 및 제 2 데이터 셋(20)의 복수의 칼럼 항목을 비교하여 제 2 유사도 순위 데이터 셋을 도출 할 수 있다. 데이터 매칭부(120)는 제1 칼럼(11 및 21)을 기반으로 제 1 매칭 유사도 연산을 수행하여 제 1 유사도 순위 데이터 셋(30)을 도출하고, 제 1 유사도 순위 데이터 셋(30)의 유사도 순위에 따라 제 1 데이터 셋(10) 및 제 2 데이터 셋(20)의 칼럼 항목 중 선택한 복수의 나머지 칼럼 항목에 포함된 각 행 데이터에 대하여 제 2 매칭 유사도 연산을 수행할 수 있다. 데이터 매칭부(120)는 제 1 유사도 순위 데이터 셋(30)의 유사도 순위 대로 순차적으로 제 1 유사도 순위 데이터 셋(30)에 포함된 제 2 데이터 셋(20)의 각 행 데이터의 나머지 칼럼 데이터(각 행 데이터)와 제1데이터 셋(10)의 나머지 칼럼 데이터(각 행 데이터)의 유사도를 연산하여 제 2 매칭 유사도 연산을 수행할 수 있다. The
예시적으로 도 3을 참조하면, 도 3의 (a)는 제 2 유사도 순위 데이터 셋(40)을 도출하는 과정일 수 있다. 데이터 매칭부(120)는 2차 매칭 유사도 연산에서 도 3(a)의 ①과 같이 제 1 칼럼 (11 및 21)을 기반으로 칼럼 항목 간의 유사도 연산을 수행하고, 데이터 매칭부 (120)는 2차 매칭 유사도 연산에서 도 3의 (a)의 ②와 같이 제 2 칼럼 (12 및 22)을 기반으로 칼럼 항목 간의 유사도 연산을 수행하고, 도 3(a)의 ③과 같이 제 3 칼럼(13 및 23)을 기반으로 칼럼 항목 간의 유사도 연산을 수행할 수 있다. 다시 말해, 데이터 매칭부(120)는 제 1 매칭 유사도 연산 시 제 1 데이터 셋(10)의 제 1 칼럼 항목(11)의 제 1 행 데이터 '훈련원'에 기반하여, 제 2 데이터 셋(20)의 제 1 칼럼 항목(21)간의 유사도를 연산하고, 상기 유사도 연산 결과가 도 3의 (a)의 ①과 같은 제 1 유사도 순위 데이터 셋(30)으로 도출 될 수 있다. 데이터 매칭부(120)는 제 1 데이터 셋(10)의 제 1 칼럼 항목(11)의 제 1 행 데이터 '훈련원'과 동일한 행에 위치한 제 2 칼럼 항목(12) 및 제 3 칼럼 항목(13) 및 제 2 데이터 셋(20)의 제 1 칼럼 항목(21) 의 제 1 데이터 내지 제 3 데이터 '훈련원 공원' 내지 '서울역 2주차장'과 동일한 행에 위치한 제 2 칼럼 항목(12) 및 제 3 칼럼 항목(13) 간의 제 2 매칭 유사도 연산을 수행할 수 있다. 제2매칭 유사도 연산은 제1데이터 셋(10)의 각 행 데이터에 대하여 제 2 데이터 셋(20)의 모든 행 데이터와의 유사도 연산을 포함한다.For example, referring to FIG. 3, FIG. 3A may refer to a process of deriving a second similarity ranking
데이터 매칭부(120)는 제 2 매칭 유사도 연산을 수행 시 제 1 데이터 셋(10)의 '주차장명' 의 칼럼 항목의 행 데이터인 '훈련원'과 제 2 데이터 셋(20)의 '주차장'의 칼럼 항목의 행 데이터인 '훈련원공원'과의 유사도를 연산(①)하고, 제 1 데이터 셋(10)의 '훈련원'의 행 데이터의 '주차장 운영 시작 시간'의 칼럼 항목에 포함된 데이터 및 제 2 데이터 셋(20)의 '훈련원공원'의 행 데이터인 '주차장 운영 시작 시간'에 포함된 데이터 간의 유사도를 연산(②)하고, 제 1 데이터 셋(10)의 '훈련원'의 행 데이터의'주차장 운영 종료 시간'의 칼럼 항목에 포함된 데이터 및 제 2 데이터 셋(20)의 '훈련원공원'의 행 데이터인 '주차장 운영 종료 시간'에 포함된 데이터 간의 유사도를 연산(③)한 결과의 평균으로 제2유사도 순위를 결정하고 제 2 유사도 순위 데이터 셋(40)을 도출할 수 있다. When performing the second matching similarity calculation, the
데이터 매칭부(120)는 제 2 유사도 순위 데이터 셋(40) 도출 시 제 1 칼럼 항목(11)의 각 데이터와 제 1 유사도 순위 데이터 셋(30)의 각 행 데이터의 연산 결과를 포함하여 도출할 수 있다. 즉, 도 3의 (b)를 참조하면, 데이터 매칭부(120)는 훈련원공원'의 제 2 데이터 셋(20)에서의 칼럼 인덱스는 5이고, '훈련원'과 '훈련원공원'과의 제 1 매칭 유사도 연산 결과 값은 90이고, 제 2 매칭 유사도 결과 값(①, 및 유사도 결과의 평균값)은 96.67로 분석할 수 있다. 본원의 일 실시예에 따르면, 제1컬럼 항목만을 고려하여 연산된 제1매칭 유사도 값에 비하여 제1내지 제3컬럼 항목을 고려하여 연산된 제2매칭 유사도 값이 증가한 것을 알 수 있으며, 복수개의 칼럼 항목간의 비교를 통하여 보다 정확한 데이터 매칭이 수행될 수 있다. 데이터 매칭부(120)는 유사도에 기초하여 제 1 데이터 셋 및 제 2 데이터 셋의 데이터 행을 매칭할 수 있다. When deriving the second similarity ranking data set 40, the
도 4를 참조하면, 도 4 의 (a)는 제 1 데이터 셋(10) 및 제 2 데이터 셋(20)의 제 1 칼럼(11)을 기반으로 제 1 매칭 유사도 연산을 수행한 수행 결과값 중 유사도가 가장 높은 데이터의 결과를 나타낸 도면일 수 있다. 예를 들어, 제 1 데이터 셋(10)에 포함된 '훈련원'과 제 2 데이터 셋(20)에 포함된 '훈련원공원'간의 1차 유사도 연산 결과 유사도는 90%로 연산될 수 있다. 제 1 데이터 셋(10)의 제 1 칼럼(11)에 중복되는 데이터의 명칭이 존재하는 경우, 예를들어, '서울역 주차장'은 제 2 데이터 셋(20)의 제 2 칼럼(21)의 데이터 매칭 결과가 서로 상이하게 존재하고, 유사도 값 역시 93%로 일치 할 수 있다. 즉, 제 1 데이터 셋(10)의 제 1 칼럼(11)의 '서울역 주차장'은 매칭되는 데이터가 '서울역 2주차장' 및 '서울역 3주차장'으로 복수의 데이터가 매칭될 수 있다. Referring to FIG. 4, (a) of FIG. 4 is a result of performing a first matching similarity calculation based on the
도 4의(b)는 제 2 칼럼 항목을 추가하여, 제 2 매칭 유사도 연산을 수행한 결과를 나타낸 것일 수 있다. 제 1 매칭 유사도에서 제 1 데이터 셋(10) 및 제 2 데이터 셋(20)의 제 1 칼럼(11 및 21)을 기반으로 수행한 결과에 기반하여, 제 2 칼럼(12 및22)를 포함하여, 유사도 연산을 수행할 수 있다. 데이터 매칭부(120)는 복수의 칼럼에 기반하여 유사도 연산을 수행함으로써, 단일 칼럼 시 수행한 연산의 결과보다 정확한 유사도 연산 결과를 도출할 수 있다. FIG. 4B illustrates a result of performing a second matching similarity calculation by adding a second column item. Based on the results of performing the
도 4에는 제 1 칼럼 및 제 2 칼럼에 기반하여 제 1 매칭 유사도 연산 및 제 2 매칭 유사도 연산을 수행하였지만, 제 2 매칭 유사도 연산 수행 시 복수개의 (예를 들어 3개의) 칼럼을 선택하여 유사도 결과 값을 연산할 수 있다. 상기 설명된 칼럼은 데이터 매칭부(120)에 의해 선택될 수 있으나, 이에 한정되는 것은 아니고, 사용자의 결정에 의해 제 1 데이터 셋(10)의 칼럼 항목 및 제 2 데이터 셋(20)의 칼럼 항목의 유사도 연산이 수행될 수 있다. In FIG. 4, although the first matching similarity operation and the second matching similarity operation are performed based on the first column and the second column, similarity results are obtained by selecting a plurality of (eg, three) columns when performing the second matching similarity operation. Can compute a value. The column described above may be selected by the
본원의 일 실시예에서는. 제 1 매칭 유사도 연산 수행 후 발생하는 중복 데이터를 보다 정확하게 매칭하기 위해, 제 1 매칭 유사도 연산 수행 후, 제 1 유사도 연산 결과에 기초하여, 제 2 매칭 유사도 연산을 수행하고, 제 1 매칭 유사도 연산 결과와 제 2 매칭 유사도 연산을 비교하여 최종 데이터 매칭을 수행할 수 있다. 데이터 매칭부(120)는 제 1 매칭 유사도 연산 결과 및 제 2 매칭 유사도 연산 결과를 비교하여 최종 데이터 매칭을 수행함으로써 제 1 데이터 셋(10) 및 제 2 데이터 셋(20)간의 행 데이터 매칭시 데이터 매칭 정확도를 높이는 효과가 있다.In one embodiment of the present application. To more accurately match duplicate data generated after performing the first matching similarity operation, after performing the first matching similarity operation, the second matching similarity operation is performed based on the first similarity operation result, and the first matching similarity operation result. And the second matching similarity operation may be compared to perform final data matching. The
데이터 매칭부(120)는 제 1 유사도 순위 데이터 셋(30) 및 제 2 유사도 순위 데이터 셋(40)을 비교하여 유사도가 가장 높은 데이터를 기반으로 제 1 데이터 셋(10) 및 제 2 데이터 셋(20)의 데이터 행을 매칭할 수 있다. The
이하 도 5a 설명 시 사용되는 용어에서 a 는 제 1 유사도 순위 데이터 셋(30) 에서 1순위(Rank 1)인 데이터 이고, a'은 제 2 유사도 순위 데이터 셋(40)에서 1순위 (Rank 1)인 데이터 일 수 있다. N은 제 1 유사도 순위 데이터 셋(30) 에서 1순위(Rank 1)인 데이터의 제 2 유사도 순위 데이터 셋(40)에서의 순위이고, N'은 제 2 유사도 순위 데이터 셋(40)에서 1순위 (Rank 1)인 데이터의 제 1 유사도 순위 데이터 셋(30) 에서의 순위일 수 있다. Hereinafter, in terms used in the description of FIG. 5A, a is data of
도 5a 를 참조하면, 본원의 일 실시예에 따르면, 데이터 매칭부(120)는 단계 S510에서 N과 N'을 비교할 수 있다. 데이터 매칭부(120)는 N과 N'의 비교결과가 일치하는 경우, 데이터 매칭부(120)는 단계 S520에서 a와 a'을 비교할 수 있다. 데이터 매칭부(120)는 N과 N'이 일치하고, a와 a'이 일치하는 경우, 제 1 유사도 순위 데이터 셋(30)의 제 1 순위에 위치한 제 2 데이터 셋(20)의 행 데이터가 제 1 데이터 셋(10)의 제 1 행 데이터와 매칭되는 것으로 판단할 수 있다. 본원의 일 실시예에 따르면, 데이터 매칭부(120)는 제 1 데이터 셋(10)의 제1행 데이터(예를 들어, A1)와 연계하여, 제 1 유사도 순위 데이터 셋(30)의 제 1순위에 위치한 제2데이터 셋(20)의 행 데이터의 제 2 유사도 순위 데이터 셋(40)에서의 순위(N) 및 제 2 유사도 순위 데이터 셋(40)의 제 1 순위에 위치한 제2데이터 셋(20)의 행 데이터의 제1유사도 순위 데이터 셋(30)에서의 순위(N')가 모두 1이고, 제 1 유사도 순위 데이터 셋(30)의 제 1 순위에 위치한 제2데이터 셋(20)의 행 데이터 (a) 및 제 2 유사도 순위 데이터 셋(40)의 제 1 순위에 위치한 제2데이터 셋(20)의 행 데이터(a')가 일치하는 경우, 제 1 유사도 순위 데이터 셋(30)의 제 1순위에 위치한 제2데이터 셋(30)의 행 데이터가 제 1 데이터 셋(10)의 제 1 행 데이터와 매칭되는 것으로 판단할 수 있다. Referring to FIG. 5A, according to an embodiment of the present disclosure, the
예를 들어, 도 5b의(a)를 참고하면, 데이터 매칭부(120)는 N과 N'이 일치하고, a와 a'이 일치하는 경우 '훈련원' 과 '훈련원공원'이 매칭되는 것으로 판단할 수 있다. 즉, '훈련원'과 연계하여 제 1 유사도 순위 데이터 셋(30)에서 순위가 1인 '훈련원공원'의 제 2 유사도 순위 데이터 셋(40)에서의 순위는 1이고, 제 2 유사도 순위 데이터 셋(40)에서 순위가 1인 '훈련원공원'의 제 1 유사도 순위 데이터 셋(30)에서의 순위가 1이기 때문에 N과 N'이 일치하는 것을 판단할 수 있다. 또한, '훈련원'과 연계하여, 제 1 유사도 순위 데이터 셋(30)의 유사도 값의 순위가 1인 '훈련원공원'과 제 2 유사도 순위 데이터 셋(40)의 유사도 값의 순위가 1인 '훈련원공원'이 일치하므로, 데이터 매칭부(120)는 '훈련원' ('훈련원'이 포함된 제1데이터 셋(10)의 행 데이터)과 '훈련원공원'('훈련원공원'이 포함된 제2데이터 셋(20)의 행 데이터)이 매칭되는 것으로 판단할 수 있다.For example, referring to FIG. 5B (a), when N and N 'match and a and a' match, the
또한, 본원의 일 실시예에 따르면, 데이터 매칭부(120)는 단계 S510에서 N과 N'이 일치하는 경우, 데이터 매칭부(120)는 단계 S520에서 a와 a'을 비교할 수 있다. 단계 S520에서 a와 a'비교 결과 a와 a'일치하지 않는 경우, 제 1 행 데이터에 매칭되는 제 2 데이터 셋(20)의 행 데이터를 매칭 불가로 판단할 수 있다. 다시 말해, 제 1 데이터 셋(10)의 제1행 데이터와 연계하여, 제 1 유사도 순위 데이터 셋(30)의 제 1순위에 위치한 제2데이터 셋(20)의 행 데이터의 제 2 유사도 순위 데이터 셋(40)에서의 순위 및 제 2 유사도 순위 데이터 셋(40)의 제 1 순위에 위치한 제2데이터 셋(20)의 행 데이터의 제1유사도 순위 데이터 셋(30)에서의 순위가 모두 1인 제2데이터 셋(20)의 행 데이터가 복수개인 경우, 제 1 행 데이터에 매칭되는 제2데이터 셋(20)의 행 데이터를 매칭 불가로 판단할 수 있다. In addition, according to an exemplary embodiment of the present disclosure, when N and N 'match in step S510, the
예를 들어, 도 5b의(b)를 참고하면, 데이터 매칭부(120)는 N과 N'이 1로 일치하되, N과 N'이 1인 a와 a'의 데이터가 복수개 존재하는 경우 매칭 불가로 판단할 수 있다. 데이터 매칭부(120)는 '오피시아'와 연계하여 제 2 데이터 셋(20)에 포함된 데이터 항목을 비교하여, 제 1 유사도 순위 데이터 셋(30)은 ('오피시아1', 89,13) 및 ('오피시아2', 89, 14) 등으로 나열된 셋이고, 제 2 유사도 순위 데이터 셋(40)은 ('오피시아1', 13, 89, 94.5) 및 ('오피시아2', 14,89,94.5)등으로 나열된 셋일 수 있다. 데이터 매칭부(120)는 제 1 유사도 순위 데이터 셋(30)에서의 유사도 연산 결과가 1인 데이터를 '오피시아 1'과 '오피시아2'로 판단하고(즉, 제1유사도 순위가 1위인 행 데이터가 '오피시아 1'과 '오피시아2'로서 복수개), 제 2 유사도 순위 데이터 셋(40)에서의 유사도 연산 결과가 1위인 데이터를 '오피시아 1'과 '오피시아2'로 판단할 수 있다(즉, 제2유사도 순위가 1위인 행 데이터가 '오피시아 1'과 '오피시아2'로서 복수개). 도 5b의 (b)에서 RANK 1, RANK 2는 유사도 순위가 아니라 데이터의 수일 수 있다. 데이터 매칭부(120)는 '오피시아'와 매칭할 수 있는 데이터가 복수개 존재하므로, 보다 정확한 매칭 결과를 얻기 위해 사용자에게 판단결과를 제공하고, 제1데이터 셋(10)의 제 1 행 데이터 매칭되는 제 2 데이터 셋의 행 데이터를 매칭할 수 있다. 즉, 데이터 매칭부(120)는 제1데이터 셋(10)의 특정 행 데이터에 대하여 제1유사도 순위와 제2유사도 순위가 모두 1위인 제2데이터 셋(20)의 행 데이터가 복수인 경우, 상기 제1데이터 셋(10)의 특정 행 데이터에 매칭되는 제2데이터 셋(20)의 행 데이터를 결정할 수 없다. 본원의 일 실시예에 따르면, 제1데이터 셋(10)의 제 1 행 데이터 매칭되는 제 2 데이터 셋의 행 데이터를 매칭할 수 없는 경우, 사용자의 보정 또는 선택을 통해 제1데이터 셋(10)의 제 1 행 데이터 매칭되는 제 2 데이터 셋의 행 데이터를 결정할 수 있다.For example, referring to FIG. 5B (b), the
또한, 본원의 일 실시예에 따르면, 데이터 매칭부(120)는 단계 S510에서 N과 N'이 일치하지 않을 경우, 단계 S530에서 N과 N'을 비교할 수 있다. 데이터 매칭부(120)는 N과 N' 비교 결과 N이 N'보다 이상인 경우 제 2 유사도 순위 데이터 셋(40)의 순위가 1인 데이터를 제 1 데이터 셋(10)의 제 1 행 데이터와 매칭되는 것으로 판단할 수 있다. 다시 말해, 제 1 데이터 셋(10)의 제1행 데이터(예를 들어, A1)와 연계하여, 제2데이터 셋(20)의 제1행 데이터 및 제2행 데이터의 제 1 유사도 순위 데이터 셋(30)의 순위가 모두 1이고, 제2데이터 셋(20)의 제1행 데이터의 제 2 유사도 순위 데이터 셋(40)의 순위가 1이고, 제2데이터 셋(20)의 제2행 데이터의 제 2 유사도 순위 데이터 셋(40)의 순위가 1이 아닌 경우, 제2데이터 셋(20)의 제1행 데이터가 제 1 행 데이터와 매칭되는 것으로 판단할 수 있다. 데이터 매칭부(120)는 각 행 데이터(a, a')의 순위 정보(N. N')를 산출하여 비교할 수 있다.In addition, according to an exemplary embodiment of the present application, when N and N 'do not coincide in step S510, the
예를 들어, 도 5b의 (c)를 참조하면, 데이터 매칭부(120)는 N과 N'이 불일치 하는 경우, N과 N'의 순위를 비교하여, 데이터가 매칭되는 것으로 판단할 수 있다. 제 1 데이터 셋의 제 1 행 데이터를 '서울역 주차장'으로 결정할 수 있다. 데이터 매칭부(120)는 '서울역 주차장'의 제 1 유사도 순위 데이터 셋(30)에서의 연산 결과를 ('서울역 2주차장', 93,1) 및 ('서울역 3주차장', 93,2)등으로 나열하여 데이터 셋을 도출할 수 있고, 제 2 유사도 순위 데이터 셋(40)에서의 연산 결과를 ('서울역 3주차장', 2, 93, 97.67) 및 ('서울역 2주차장', 1, 93,84.33)등으로 나열하여 제 2 유사도 순위 데이터 셋(40)을 도출할 수 있다. 데이터 매칭부(120)는 a를 서울역 2주차장으로 판단하고, a'를 서울역 3주차장으로 판단하고, N을 2, N'는 1로 판단할 수 있다. 즉, 데이터 매칭부(120)는 N과 N'이 불일치 하고, N'보다 N이 더 큰 순위에 위치한 것을 판단하고, 제 2 유사도 순위 데이터 셋(40)의 1에 위치하는 데이터(서울역 3주차장)를 제 1 데이터 셋의 제 1 행 데이터(서울역 주차장)과 매칭되는 것으로 판단할 수 있다. 데이터 매칭부(120)는 각 행 데이터(a, a')의 순위 정보(N. N')를 산출하여 비교할 수 있다.For example, referring to (c) of FIG. 5B, when N and N 'do not match, the
데이터 매칭부(120)는 제 1 데이터 셋(10)의 제1행 데이터(예를 들어, A1)와 연계하여, 제2데이터 셋(20)의 제1행 데이터 및 제2행 데이터의 제 1 유사도 순위 데이터 셋(30)의 순위가 모두 1이었으나, 제2유사도 순위 데이터에서 제1행 데이터 및 제2행 데이터의 순위가 달라지는 경우, 더 높은 유사도 순위를 가지는 제2데이터 셋(20)의 행 데이터를 제1데이터 셋(10)의 제 1 행 데이터와 매칭되는 것으로 판단할 수 있다.The
도 6a 내지 도6b는 본원의 일 실시예에 따른 데이터 분석 및 유사항목 분석의 일 실시예를 설명하기 위한 개략도이다. 6A to 6B are schematic diagrams for describing an embodiment of data analysis and similarity analysis according to an embodiment of the present application.
도 6a를 참조하면, 프로파일링부(130)는 데이터 분석을 통해 제 1 데이터 셋(10) 및 제 2 데이터 셋(20)의 복수의 칼럼 항목의 데이터 타입 및 문자열 패턴을 분석할 수 있다. 프로파일링부(130)는 데이터 베이스(110)에 포함된 복수의 데이터 셋의 데이터를 칼럼 항목 별로 데이터 타입 및 문자열 패턴으로 분석할 수 있다. 프로파일링부(130)는 데이터 베이스(110)에 포함된 비정형 데이터를 정형화하는 분석을 수행할 수 있다. Referring to FIG. 6A, the
도6b를 참조하면, 유사 항목 분석부(140)는 프로파일링부(130)의 분석 결과를 기반으로 제 1 데이터 셋(10) 및 제 2 데이터 셋(20)간 유사 항목을 분석할 수 있다. 예를 들어, 유사 항목 분석부(140)는 제 1 데이터 셋(10)에 포함된 복수의 칼럼 항목(11 내지 14) 의 대표 키 및 제 2 데이터 셋(20)에 포함된 복수의 칼럼 항목(21 내지 24) 의 대표 키의 문자열 패턴을 분석하여 유사도 분석을 수행할 수 있다. 제 1 데이터 셋(10)에 포함된 '주차장 운영 시작 시간'의 대표키 및 제 2 데이터 셋(20)에 포함된 '주차장 운영 시작 시간'의 대표키의 유사도 분석 결과는 유사도 99%로 연산될 수 있다. 즉, '주차장 운영 시작 시간'에 해당하는 칼럼은 제 1 데이터 셋(10)에도 포함되어 있고, 제 2 데이터 셋(20)에도 포함되어 있다는 것을 의미한다. 유사 항목 분석부(140)는 제 1 데이터 셋(10)의 '주차장명'과 제 2 데이터 셋(20)의 '주차장'의 유사도를 80%로 연산할 수 있다. 유사 항목 분석부(140)는 '주차장명' 과 '주차장'의 문자열 패턴 분석 결과 유사한 문자열이 사용되었으나, 제 1 데이터 셋(10) 및 제 2 데이터 셋(20)에 동일한 칼럼 항목이 포함되는 것은 아니라고 판단할 수 있다. Referring to FIG. 6B, the
데이터 매칭부(120) 및 유사 항목 분석부(140)는 유사도 분석은 레펜슈타인 거리 Levenshtein Distance)를 기반으로 유사도 분석을 수행할 수 있다.The
도 7은 본원의 일 실시예에 따른 빅데이터 분석을 위한 데이터 병합의 일 실시예를 설명하기 위한 개략도이다. 7 is a schematic diagram illustrating an embodiment of data merging for big data analysis according to an embodiment of the present application.
데이터 병합부(150)는 데이터 행의 매칭 결과에 기초하여 제 1 데이터 셋(10) 및 제 2 데이터 셋(20)을 병합할 수 있다. 또한, 데이터 병합부(150)는 유사 항목 분석부(140)의 분석 결과에 기초하여, 제 1 데이터 셋 및 제 2 데이터 셋의 복수의 칼럼 항목 병합 시 중복되는 칼럼 항목은 제외하고, 제 1 데이터 셋(10) 및 제 2 데이터 셋(20)의 병합을 수행할 수 있다. 데이터 병합부(150)는 데이터 행의 매칭 결과에따라 제 1 데이터 셋(10) 과 제 2 데이터 셋(20)의 매칭되는 행 데이터를 이용하여 각 칼럼 항목을 병합할 수 있다.The
예시적으로, 도 7을 참조하면, 데이터 병합부(150)는 빅데이터 분석 시 필요한 칼럼 항목에 기반하여, 제 1 데이터 셋(10) 및 제 2 데이터 셋(20)의 병합을 수행할 수 있다. 데이터 병합부(150)는 제 1 데이터 셋(10)은 주차장명(11), 주차장 운영 시작 시간(12), 주차장 운영 종료 시간(13), 주차 요금((14) 10분당, 원단위)의 칼럼 항목을 포함하고, 제 2 데이터 셋(20)는 주차장(21), 주차장 운영 시작 시간(22), 주차장 운영 종료 시간(23), 주소(24)의 칼럼 항목을 선택하여 병합을 수행할 수 있다. 예시적으로, 데이터 병합부(150)는 칼럼 항목을 사용자의 결정에 의하여 선택된 칼럼 항목을 기반으로 병합을 수행할 수 있으나, 이에 한정되는 것은 아니다. For example, referring to FIG. 7, the
데이터 병합부(150)는 유사 항목 분석부(140)의 분석 결과에 기초하여, 제 1 데이터 셋(10) 및 제 2 데이터 셋(20)에 중복된 주차장 운영 시작 시간(12 및 22), 주차장 운영 종료 시간(13 및 23)의 두가지 칼럼 항목 중 하나의 칼럼 항목을 선택하여 데이터 병합을 수행할 수 있다. The
본원의 일 실시예에서는, 데이터 병합부(150)는 주차장(11), 주차장 운영 시작 시간(12), 주차장 운영 종료 시간(13), 주차 요금((14) 10분당, 원단위), 주소(24)의 칼럼 항목을 선택하여 병합하였지만, 제 1 데이터 셋(10) 및 제 2 데이터 셋(20)에 포함된 복수의 칼럼 항목 중 복수의 칼럼 항목을 선택하여 데이터 병합을 수행할 수 있다. In one embodiment of the present application, the
도8은 본원의 일 실시예에 따른 데이터 병합 방법을 나타낸 흐름도이다. 도 8에 도시된 데이터 병합 방법은 도 1 내지 도 7을 통해 설명된 데이터 병합 장치(100)에 의하여 수행된다. 따라서, 이하 생략된 내용이라고 하더라도 도 1 내지 도 7을 통해 데이터 병합 장치(100)에 대하여 설명된 내용은 도 8에도 적용될 수 있다. 8 is a flowchart illustrating a data merging method according to an embodiment of the present application. The data merging method illustrated in FIG. 8 is performed by the
단계, S801에서 데이터 병합 장치(100)는 복수의 데이터 셋 중 데이터 매칭을 수행할 제 1 데이터 셋(10) 및 제 2 데이터 셋(20)을 결정할 수 있다. In operation S801, the
단계, S802에서 데이터 병합 장치(100)는 제 1 데이터 셋(10) 및 제 2 데이터 셋(20)의 제 1 칼럼을 기반으로 제 1 매칭 유사도 연산을 수행하여 제 1 유사도 순위 데이터 셋(30)을 도출할 수 있다. In operation S802, the
단계, S803에서 데이터 병합 장치(100)는 제 1 유사도 순위 데이터 셋(30)을 기반으로 제 2 매칭 유사도 연산을 수행하여 제 2 유사도 순위 데이터 셋(40)을 도출할 수 있다. In operation S803, the
단계, S804에서 데이터 병합 장치(100)는 제 1 유사도 순위 데이터 셋(30) 및 제 2 유사도 순위 데이터 셋(40)을 비교하여 제 1 데이터 셋(10)의 각 데이터 행에 매칭되는 제 2 데이터 셋(20)의 데이터 행을 매칭할 수 있다. In operation S804, the
단계, S805에서 데이터 병합 장치(100)는 매칭 결과에 기초하여 제 1 데이터 셋(10) 및 제 2 데이터 셋(20)을 병합할 수 있다. In operation S805, the
전술한 본원의 설명은 예시를 위한 것이며, 본원이 속하는 기술분야의 통상의 지식을 가진 자는 본원의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.The above description of the present application is intended for illustration, and it will be understood by those skilled in the art that the present invention may be easily modified in other specific forms without changing the technical spirit or essential features of the present application. Therefore, it should be understood that the embodiments described above are exemplary in all respects and not restrictive. For example, each component described as a single type may be implemented in a distributed manner, and similarly, components described as distributed may be implemented in a combined form.
본원의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본원의 범위에 포함되는 것으로 해석되어야 한다.The scope of the present application is indicated by the following claims rather than the above description, and it should be construed that all changes or modifications derived from the meaning and scope of the claims and their equivalents are included in the scope of the present application.
10: 제 1 데이터 셋 20: 제 2 데이터 셋
30: 제 1 유사도 순위 데이터 셋 40: 제 2 유사도 순위 데이터 셋
100: 데이터 병합 장치
110: 데이터 베이스
120: 데이터 매칭부
130: 프로파일링부
140: 유사 항목 분석부
150: 데이터 병합부10: first data set 20: second data set
30: first similarity ranking data set 40: second similarity ranking data set
100: data merge device
110: database
120: data matching unit
130: profiling unit
140: analog analysis unit
150: data merge unit
Claims (9)
복수의 데이터 셋을 포함하는 데이터 베이스;
상기 데이터 베이스에 포함된 복수의 데이터 셋 중 데이터 매칭을 수행할 제 1 데이터 셋 및 제 2 데이터 셋을 결정하고, 상기 제 1 데이터 셋 및 상기 제 2 데이터 셋에 포함된 복수의 칼럼 항목 중 대표 칼럼 항목을 선택하고, 선택된 상기 제 1 데이터 셋의 대표 칼럼 항목 각각의 행 데이터와 상기 제 2 데이터 셋의 대표 칼럼 항목 전체의 데이터의 문자열 패턴을 분석하는 유사도 연산을 수행하고, 유사도에 기초하여 상기 제 1 데이터 셋 및 상기 제 2 데이터 셋의 데이터 행을 매칭하는 데이터 매칭부; 및
상기 제 1 데이터 셋에 포함된 복수의 칼럼 항목의 대표 키 및 상기 제 2 데이터 셋에 포함된 복수의 칼럼 항목의 대표 키의 문자열 패턴을 분석한 유사도 분석 결과에 기초하여, 상기 제 1 데이터 셋 및 상기 제 2 데이터 셋의 복수의 칼럼 항목 병합 시 중복되는 칼럼 항목은 제외하고, 상기 제 1 데이터 셋 및 상기 제 2 데이터 셋의 데이터 행의 유사도 순위를 포함하는 매칭 결과에 따라 상기 제 1 데이터 셋 및 상기 제 2 데이터 셋의 매칭되는 행 데이터를 이용하여 상기 제 1 데이터 셋 및 상기 제 2 데이터 셋의 칼럼 항목을 병합하는 데이터 병합부,
를 포함하는, 데이터 병합 장치.In the data merging device for big data analysis,
A database comprising a plurality of data sets;
Determine a first data set and a second data set to perform data matching among a plurality of data sets included in the database, and represent a representative column among a plurality of column items included in the first data set and the second data set. Selecting an item, performing a similarity operation for analyzing the string pattern of the row data of each of the selected representative column item of the first data set and the data of the entire representative column item of the second data set, and based on the similarity, A data matcher for matching data rows of the first data set and the second data set; And
Based on a similarity analysis result of analyzing a string pattern of a representative key of a plurality of column items included in the first data set and a representative key of a plurality of column items included in the second data set, the first data set and The first data set and the second data set according to a matching result including a similarity rank of data rows of the first data set and the second data set, except for overlapping column items when merging a plurality of column items of the second data set; A data merging unit for merging column items of the first data set and the second data set using matching row data of the second data set;
Including, the data merging device.
상기 데이터 매칭부는,
상기 제 1 데이터 셋 및 상기 제 2 데이터 셋의 제 1 칼럼을 기반으로 제 1 매칭 유사도 연산을 수행하여 제 1 유사도 순위 데이터 셋을 도출하고, 상기 제1 유사도 순위 데이터 셋을 기반으로 제 2 매칭 유사도 연산 수행하여 제 2 유사도 순위 데이터 셋을 도출하되,
상기 제 1 유사도 순위 데이터 셋 및 상기 제 2 유사도 순위 데이터 셋을 비교하여 유사도가 가장 높은 데이터를 기반으로 상기 제 1 데이터 셋 및 상기 제 2 데이터 셋의 데이터 행을 매칭하는 것인, 데이터 병합 장치.The method of claim 1,
The data matching unit,
A first similarity ranking data set is derived by performing a first matching similarity operation based on the first column of the first data set and the second data set, and a second matching similarity based on the first similarity ranking data set. Perform a calculation to derive a second similarity rank data set,
And comparing the first similarity ranking data set and the second similarity ranking data set to match data rows of the first data set and the second data set based on data having the highest similarity.
상기 제 1 유사도 순위 데이터 셋 및 상기 제 2 유사도 순위 데이터 셋은 상기 제 2 데이터 셋의 각 데이터 행의 순위 정보를 포함하는 것인, 데이터 병합 장치.The method of claim 2,
And the first similarity ranking data set and the second similarity ranking data set include ranking information of each data row of the second data set.
상기 데이터 매칭부는,
상기 제 1 데이터 셋의 제1행 데이터와 연계하여, 상기 제 1 유사도 순위 데이터 셋의 제 1순위에 위치한 제2데이터 셋의 행 데이터의 제 2 유사도 순위 데이터 셋에서의 순위 및 상기 제 2 유사도 순위 데이터 셋의 제 1 순위에 위치한 제2데이터 셋의 행 데이터의 제1유사도 순위 데이터 셋에서의 순위가 모두 1이고, 상기 제 1 유사도 순위 데이터 셋의 제 1 순위에 위치한 제2데이터 셋의 행 데이터 및 상기 제 2 유사도 순위 데이터 셋의 제 1 순위에 위치한 제2데이터 셋의 행 데이터가 일치하는 경우, 상기 제 1 유사도 순위 데이터 셋의 제 1순위에 위치한 제2데이터 셋의 행 데이터가 상기 제 1 행 데이터와 매칭되는 것으로 판단하는 것인, 데이터 병합 장치. The method of claim 3, wherein
The data matching unit,
A second similarity rank and a second similarity rank of a second similarity rank data set of row data of a second data set positioned in a first rank of the first similarity rank data set in association with first row data of the first data set; The first similarity rank data sets of the row data of the second data set located at the first rank of the data set are all one, and the row data of the second data set located at the first rank of the first similarity rank data set. And when the row data of the second data set located at the first rank of the second similarity rank data set is matched, the row data of the second data set located at the first rank of the first similarity rank data set is matched to the first data. And determine to match the row data.
상기 데이터 매칭부는,
상기 제 1 데이터 셋의 제1행 데이터와 연계하여, 상기 제 1 유사도 순위 데이터 셋의 제 1순위에 위치한 제2데이터 셋의 행 데이터의 제 2 유사도 순위 데이터 셋에서의 순위 및 상기 제 2 유사도 순위 데이터 셋의 제 1 순위에 위치한 제2데이터 셋의 행 데이터의 제1유사도 순위 데이터 셋에서의 순위가 모두 1인 제2데이터 셋의 행 데이터가 복수개인 경우, 상기 제 1 행 데이터에 매칭되는 제2데이터 셋의 행 데이터를 매칭 불가로 판단하는 것인, 데이터 병합 장치. The method of claim 3, wherein
The data matching unit,
A second similarity rank and a second similarity rank of a second similarity rank data set of row data of a second data set positioned in a first rank of the first similarity rank data set in association with first row data of the first data set; A first similarity degree of the row data of the second data set positioned in the first rank of the data set, when there is a plurality of row data of the second data set having a rank of all 1 in the rank data set, the first matched to the first row data; And determining row data of the two data sets as non-matchable.
상기 데이터 매칭부는,
상기 제 1 데이터 셋의 제1행 데이터와 연계하여, 제2데이터 셋의 제1행 데이터 및 제2행 데이터의 상기 제 1 유사도 순위 데이터 셋의 순위가 모두 1이고, 제2데이터 셋의 제1행 데이터의 상기 제 2 유사도 순위 데이터 셋의 순위가 1이고, 제2데이터 셋의 제2행 데이터의 상기 제 2 유사도 순위 데이터 셋의 순위가 1이 아닌 경우, 상기 제2데이터 셋의 제1행 데이터가 상기 제 1 데이터 셋의 제 1 행 데이터와 매칭되는 것으로 판단하는 것인, 데이터 병합 장치. The method of claim 3, wherein
The data matching unit,
In association with the first row data of the first data set, the first similarity ranking data set of the first row data and the second row data of the second data set are both one, and the first of the second data set is first. The first row of the second data set when the rank of the second similarity rank data set of row data is 1 and the rank of the second similarity rank data set of second row data of the second data set is not one. And determine that data matches the first row data of the first data set.
데이터 분석을 통해 상기 제 1 데이터 셋 및 상기 제 2 데이터 셋의 복수의 칼럼 항목의 데이터 타입 및 문자열 패턴을 분석하는 프로파일링부; 및
상기 프로파일링부의 분석 결과를 기반으로 상기 제 1 데이터 셋 및 상기 제 2 데이터 셋 간 유사 항목을 분석하는 유사 항목 분석부,
를 더 포함하는, 데이터 병합 장치. The method of claim 1,
A profiling unit which analyzes data types and string patterns of a plurality of column items of the first data set and the second data set through data analysis; And
A similar item analysis unit analyzing a similar item between the first data set and the second data set based on an analysis result of the profiling unit;
Further comprising, the data merging device.
데이터 베이스에 포함된 복수의 데이터 셋 중 데이터 매칭을 수행할 제 1 데이터 셋 및 제 2 데이터 셋을 결정하는 단계;
상기 제 1 데이터 셋 및 상기 제 2 데이터 셋에 포함된 복수의 칼럼 항목 중 대표 칼럼 항목을 선택하고, 선택된 상기 제 1 데이터 셋의 대표 칼럼 항목 각각의 행 데이터와 상기 제 2 데이터 셋의 대표 칼럼 항목 전체의 데이터의 문자열 패턴을 분석하는 제 1매칭 유사도 연산을 수행하여 제 1 유사도 순위 데이터 셋을 도출하는 단계;
상기 제 1 유사도 순위 데이터 셋을 기반으로 선택된 상기 제 1 데이터 셋의 대표 칼럼 항목 및 상기 제 2 데이터 셋의 대표 칼럼 항목 전체의 데이터의 문자열 패턴을 비교하는 제 2 매칭 유사도 연산을 수행하여 제 2 유사도 순위 데이터 셋을 도출하는 단계;
상기 제 1 유사도 순위 데이터 셋 및 상기 제 2 유사도 순위 데이터 셋을 비교하여 제 1 데이터 셋의 각 데이터 행에 매칭되는 제 2 데이터 셋의 데이터 행을 매칭하는 단계; 및
상기 제 1 데이터 셋에 포함된 복수의 칼럼 항목의 대표 키 및 상기 제 2 데이터 셋에 포함된 복수의 칼럼 항목의 대표 키의 문자열 패턴을 분석한 유사도 분석 결과에 기초하여, 상기 제 1 데이터 셋 및 상기 제 2 데이터 셋의 복수의 칼럼 항목 병합 시 중복되는 칼럼 항목은 제외하고, 상기 제 1 데이터 셋 및 상기 제 2 데이터 셋의 데이터 행의 유사도 순위를 포함하는 매칭 결과에 따라 상기 제 1 데이터 셋 및 상기 제 2 데이터 셋의 매칭되는 행 데이터를 이용하여 상기 제 1 데이터 셋 및 상기 제 2 데이터 셋의 칼럼 항목을 병합하는 단계,
를 포함하는 데이터 병합 방법.In the data merging device, in the data merging method for big data analysis,
Determining a first data set and a second data set to perform data matching among a plurality of data sets included in the database;
A representative column item is selected from a plurality of column items included in the first data set and the second data set, and the row data of each of the representative column items of the selected first data set and the representative column item of the second data set Deriving a first similarity ranking data set by performing a first matching similarity operation analyzing the string pattern of the entire data;
A second similarity similarity operation by performing a second matching similarity operation that compares a string pattern of data of all the representative column items of the first data set selected based on the first similarity ranking data set and the representative column items of the second data set; Deriving a rank data set;
Comparing the first similarity ranking data set and the second similarity ranking data set to match data rows of a second data set matching each data row of the first data set; And
Based on a similarity analysis result of analyzing a string pattern of a representative key of a plurality of column items included in the first data set and a representative key of a plurality of column items included in the second data set, the first data set and The first data set and the second data set according to a matching result including a similarity rank of data rows of the first data set and the second data set, except for overlapping column items when merging a plurality of column items of the second data set; Merging column items of the first data set and the second data set using matching row data of the second data set;
Data merging method comprising a.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170149691A KR102033151B1 (en) | 2017-11-10 | 2017-11-10 | Data merging device and method for bia datda analysis |
PCT/KR2018/012358 WO2019093675A1 (en) | 2017-11-10 | 2018-10-18 | Data merging device and method for big data analysis |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170149691A KR102033151B1 (en) | 2017-11-10 | 2017-11-10 | Data merging device and method for bia datda analysis |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20190053616A KR20190053616A (en) | 2019-05-20 |
KR102033151B1 true KR102033151B1 (en) | 2019-10-16 |
Family
ID=66438462
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020170149691A KR102033151B1 (en) | 2017-11-10 | 2017-11-10 | Data merging device and method for bia datda analysis |
Country Status (2)
Country | Link |
---|---|
KR (1) | KR102033151B1 (en) |
WO (1) | WO2019093675A1 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20210060830A (en) | 2019-11-19 | 2021-05-27 | 주식회사 피씨엔 | Big data intelligent collecting method and device |
KR20220069482A (en) | 2020-11-20 | 2022-05-27 | 주식회사 피씨엔 | Big data intelligent collecting system |
KR20230054216A (en) | 2021-10-15 | 2023-04-24 | 주식회사 피씨엔 | Big data augmented analysis profiling method and apparatus for maximizing big data reliability and usability |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102378737B1 (en) * | 2020-01-16 | 2022-03-28 | (주) 에스아이 오토 금융 서비스 | Automotive Quotation Provision System |
KR102483584B1 (en) * | 2021-12-03 | 2023-01-02 | 한국과학기술정보연구원 | Method for managing data set using standard item names and apparatus implementing the same method |
KR102513676B1 (en) * | 2022-05-30 | 2023-03-24 | 한국과학기술정보연구원 | System for analyzing data and method thereof |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006099236A (en) | 2004-09-28 | 2006-04-13 | Toshiba Corp | Classification support device, classification support method, and classification support program |
US8122045B2 (en) | 2007-02-27 | 2012-02-21 | International Business Machines Corporation | Method for mapping a data source to a data target |
JP4997856B2 (en) | 2006-07-19 | 2012-08-08 | 富士通株式会社 | Database analysis program, database analysis apparatus, and database analysis method |
JP5785617B2 (en) | 2010-09-14 | 2015-09-30 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | Method and arrangement for handling data sets, data processing program and computer program product |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9380128B2 (en) * | 2013-12-20 | 2016-06-28 | Facebook, Inc. | Combining user profile information maintained by various social networking systems |
KR20150077669A (en) * | 2013-12-30 | 2015-07-08 | 충남대학교산학협력단 | Data Analysis Method and System Using MapReduce Approach |
-
2017
- 2017-11-10 KR KR1020170149691A patent/KR102033151B1/en active IP Right Grant
-
2018
- 2018-10-18 WO PCT/KR2018/012358 patent/WO2019093675A1/en active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006099236A (en) | 2004-09-28 | 2006-04-13 | Toshiba Corp | Classification support device, classification support method, and classification support program |
JP4997856B2 (en) | 2006-07-19 | 2012-08-08 | 富士通株式会社 | Database analysis program, database analysis apparatus, and database analysis method |
US8122045B2 (en) | 2007-02-27 | 2012-02-21 | International Business Machines Corporation | Method for mapping a data source to a data target |
JP5785617B2 (en) | 2010-09-14 | 2015-09-30 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | Method and arrangement for handling data sets, data processing program and computer program product |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20210060830A (en) | 2019-11-19 | 2021-05-27 | 주식회사 피씨엔 | Big data intelligent collecting method and device |
KR102345410B1 (en) | 2019-11-19 | 2021-12-30 | 주식회사 피씨엔 | Big data intelligent collecting method and device |
KR20220069482A (en) | 2020-11-20 | 2022-05-27 | 주식회사 피씨엔 | Big data intelligent collecting system |
KR20230054216A (en) | 2021-10-15 | 2023-04-24 | 주식회사 피씨엔 | Big data augmented analysis profiling method and apparatus for maximizing big data reliability and usability |
Also Published As
Publication number | Publication date |
---|---|
KR20190053616A (en) | 2019-05-20 |
WO2019093675A1 (en) | 2019-05-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102033151B1 (en) | Data merging device and method for bia datda analysis | |
Butter et al. | Deep-learned top tagging with a Lorentz layer | |
Gao et al. | Smartembed: A tool for clone and bug detection in smart contracts through structural code embedding | |
Whang et al. | Question selection for crowd entity resolution | |
Karagiannis et al. | Scrutinizer: A mixed-initiative approach to large-scale, data-driven claim verification | |
Amazona et al. | Modelling student performance using data mining techniques: Inputs for academic program development | |
US7984031B2 (en) | Query builder for testing query languages | |
CN104268275B (en) | It is a kind of that data are done with the method that business is abstracted and path searching is analyzed | |
Guruler et al. | Modeling student performance in higher education using data mining | |
Nakhkob et al. | Predicted increase enrollment in higher education using neural networks and data mining techniques | |
CN105373424A (en) | Speculative multithreading division method based on machine learning | |
Ortona et al. | Joint repairs for web wrappers | |
Sezavar Keshavarz et al. | Provenance for online decision making | |
Li et al. | Using LLM to select the right SQL Query from candidates | |
Jemal et al. | What if mixing technologies for Big Data mining and queries optimization | |
CN113569055A (en) | Strip mine knowledge map construction method based on genetic algorithm optimization neural network | |
Li et al. | A trustworthy view on xai method evaluation | |
KR20220093567A (en) | Evaluation system of work efficiency for bim-based architectural design process | |
Li et al. | Machine learning methodology for enhancing automated process in IT incident management | |
ShanmughaSundaram et al. | A measurement of similarity to identify identical code clones | |
Patel et al. | An approach for query optimization by using schema object base view | |
Athar et al. | A Comparative Analysis of Software Architecture Evaluation Methods. | |
Jadhav et al. | A Survey on Software Data Reduction Techniques for Effective Bug Triage | |
Sahana | Software Defect Prediction Based on Classication Rule Mining | |
Kim | Model selection in artificial neural network |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |