WO2018155816A1 - 데이터의 도메인을 판별하는 장치 및 그 방법 - Google Patents

데이터의 도메인을 판별하는 장치 및 그 방법 Download PDF

Info

Publication number
WO2018155816A1
WO2018155816A1 PCT/KR2018/000580 KR2018000580W WO2018155816A1 WO 2018155816 A1 WO2018155816 A1 WO 2018155816A1 KR 2018000580 W KR2018000580 W KR 2018000580W WO 2018155816 A1 WO2018155816 A1 WO 2018155816A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
domain
determining
type
name
Prior art date
Application number
PCT/KR2018/000580
Other languages
English (en)
French (fr)
Inventor
김종현
이진형
김지혁
Original Assignee
(주)위세아이텍
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 (주)위세아이텍 filed Critical (주)위세아이텍
Publication of WO2018155816A1 publication Critical patent/WO2018155816A1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2246Trees, e.g. B+trees
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/268Morphological analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/289Phrasal analysis, e.g. finite state techniques or chunking
    • G06F40/295Named entity recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • G06F40/53Processing of non-Latin text

Definitions

  • the present invention relates to an apparatus and method for determining a domain of data, and to an apparatus and method for automatically determining a domain based on artificial intelligence.
  • Data management technologies are mainly developed for data storage and access technologies.
  • the awareness of data quality is very low, and there is a need for data quality management due to damages and costs of low quality data.
  • the database is in the low awareness of the data quality of the database, such as low awareness of the importance and inaccurate data, lack of awareness of data quality management costs, and lack of data quality experts, the lack of data quality experts, Application techniques considered are required.
  • the present invention is to solve the above-mentioned problems of the prior art, an object of the present invention to provide a system for automatically determining the domain of the data in the big data environment. In addition, an object of the present invention is to provide an apparatus and method for automatically determining the domain using a machine learning algorithm for the data domain defined in the data quality guidelines.
  • the third classification through the decision tree algorithm based on the first classification criteria, the third classification criteria and the storage result of the plurality of classification criteria including the data type, data Korean name and data English name may further include determining a domain of data as a third domain.
  • a data type may be classified into any one of a numeric type, a character type, and a string type according to a type of a column of data.
  • the data Korean name may be to separate the column into morpheme units, and select any one of the separated morphemes.
  • the data English name when the data English name is the English column, it may be to select a portion based on a predetermined symbol of the column.
  • the determining of the first domain may include: when the first classification criterion is a data type and the second classification criterion is a data Korean name, the data type is a numeric type and the data Korean name is an amount. If the morpheme is included, the data can be determined as the money domain.
  • the determining of the second domain may include: when the second classification mood is a data type and the third classification mood is a data English name, the data type is a numeric type, and the data English name is a number. Including at least one of a meaning abbreviation and a code, data may be determined as a number domain.
  • the determining of the third domain may include: when the first classification criterion is a data type and the third classification criterion is a date, the data type is any one of a letter or a numeric type. If the date has a true value, data may be determined as the date domain.
  • the determining of the second domain may include: when the second classification criterion is a data type and whether the third classification criterion is 200 or more characters, the data type is a string type and is 200 or more characters. If it is true, the data can be determined as the content domain.
  • the determining of the second domain may include determining whether the first classification criterion is a data type, whether the second classification criterion is 200 characters or more, and the third classification criterion is a data Korean name. If the type is a character type or a character string type, and whether the 200th character or more has a false value and the Korean name includes a morpheme meaning a name, data can be determined as a name domain.
  • after the step of determining as the second domain may further comprise the step of storing the domain of the second data as the second domain.
  • the apparatus for determining the domain of the data is a decision tree based on the first classification criteria and the second classification criteria of the plurality of classification criteria including the data type, the data Korean name and the data English name
  • the domain of the second data may be determined as the second domain through the decision tree algorithm based on the second classification criteria, the third classification criteria, and the storage result among the plurality of classification criteria.
  • FIG. 1 is a block diagram of a system for determining a domain of data according to an embodiment of the present application.
  • FIG. 2 is a view showing the configuration of the domain discrimination apparatus 10 according to an embodiment of the present application.
  • 3A to 3B are diagrams illustrating a process of determining a domain of data according to an embodiment of the present application.
  • FIG. 4 is a flowchart illustrating a process of determining a domain of data according to an embodiment of the present application.
  • FIG. 5 is an operation flowchart illustrating a flow of determining a domain of data according to an embodiment of the present application.
  • a system for determining a domain of data may include a domain determination device 10, a standard data dictionary 20, and a detection target database 30.
  • a domain determination device 10 may include a domain determination device 10, a standard data dictionary 20, and a detection target database 30.
  • the configuration of the system shown in FIG. 1 is not limited to the above configuration.
  • the domain determination apparatus 10 may perform prior learning through artificial intelligence based on the standard data dictionary 20, and perform domain determination on the detection target database 30 based on the learning result.
  • the domain determining apparatus 10 may determine the domain of the column as 11 domains for the column of the detection target database 30, and use the domain determining apparatus to determine the domain by storing and learning the type of the determined domain.
  • the configuration of the domain determination device 10 is described in detail with reference to FIG.
  • the standard data dictionary 20 may have preceding data for allowing the domain discriminating apparatus 10 to perform prior learning.
  • DBMS Database Management System
  • SQL Database Management System
  • SQL recommends the use of data standards to solve problems such as understanding meaning of data, duplication of data, data inconsistency, data integration, change and maintenance.
  • the standard data dictionary 20 provides information such as name, definition, format, and rule with respect to information elements scattered by various systems in order to provide an initial learning material in the domain discriminating apparatus 10 in determining a domain for data. It may include.
  • a data name is a name that uniquely distinguishes data, and a name that uniquely identifies that concept.
  • a standard data dictionary (such as 20) can be designed.
  • 'Customer Account Number' or 'Customer Account Number' may be designed to be used as a 'customer account number'.
  • the data name defines the scope and qualifications of the data, and specifies a scope and qualifications of the data so that the user can understand the meaning of the data and a standard that can serve to convey it. It can be designed within the data dictionary 20.
  • the data may be described by a third party so that a user of the data may understand the meaning of the data, or may be designed to describe the value of data that may actually occur when it is difficult to convey the meaning of the data only by the definition of the expression.
  • the data format can be designed within the standard data dictionary 20 to minimize data entry errors and control risks through the definition of the data representation form.
  • the format of the data can be designed to be used according to data types such as numbers, characters, strings, and date formats.
  • data rules can be designed within the standard data dictionary 20 to predefine possible data values that can be entered to minimize data entry errors and control risks.
  • a default value of the numeric type zero may be automatically input, only a string having a predetermined length may be input, or may be designed to limit a range of data values.
  • the standard data dictionary 20 may include data for allowing the domain determination device 10 to store or learn dictionary information in determining a domain for data.
  • it may include a standard data set defined by a DB company such as SQL or Oracle Cubird, or may include a standard data set defined by the OPEN API provided by Seoul City.
  • the standard data dictionary 20 may include a data set as shown in Table 1 below, and may provide a source so that the domain determination apparatus 10 may learn dictionary information in determining a domain. .
  • Table 1 shows the data names and definitions defined in the Open API for using the database in Seoul.
  • a service ID may be represented as INF_ID and a tag may be represented as INF_TAG in a database of Seoul.
  • the database of the city of Seoul is utilized as the standard data dictionary 20, at this time, the domain determination device 10 can determine the domain by learning the definition, name, etc. of the data defined in the database of the city of Seoul.
  • the detection target database 30 is a database that is a target of domain determination, and the domain determination apparatus 10 may determine a domain of data included in the detection target database 30 based on the learning result.
  • the domain determining apparatus 10 may include a database 110 and a domain determining unit 120.
  • the configuration of the domain determination device 10 shown in FIG. 2 is not limited to those described above.
  • the domain determination apparatus 10 may automatically identify or learn a new type of domain based on artificial intelligence in a big data environment, thereby enabling quality management of the domain.
  • the advanced learning may be performed through artificial intelligence based on the standard data dictionary 20, and the determination of the data domain in the detection target database 30 may be performed based on the prior learning result.
  • the prior learning may be to generate a criterion for the domain based on the data in the standard data dictionary 20 and to determine the domain according to the generated criterion.
  • data quality management may refer to a procedure of measuring the quality of data contained in an information system that is currently being operated or managed to evaluate the current level and to analyze the causes of quality degradation.
  • Data quality management can mean diagnosing the quality of data by analyzing data values based on tables, columns, codes, relationships, and business rules in the operational database. It can refer to the process of calculating the details and analyzing the cause of the error.
  • the domain generally refers to the characteristics of the column, which is the smallest unit of data that is given when designing the database, and by applying a data work rule corresponding to the domain, it can have the effect of maintaining the integrity of the data.
  • a domain is a unique property that is applied to each column during the design stage of a table in a database, and thus, a definition of a characteristic of a column, which is the smallest unit of data managed by the database.
  • the domain determination device 10 may determine a domain based on column information held by the detection target database 30.
  • the domain discriminating unit 120 determines a first domain of the first data through a decision tree algorithm based on a first classification criteria and a second classification criteria including a plurality of classification criteria including a data type, a data Korean name, and a data English name. Can be determined by domain.
  • the domain determination unit 120 may be configured based on various classification criteria such as data type, data Korean name, data English name, decimal point, date, number, unique number, 200 or more characters, and digit variation. You can determine the domain for your data.
  • the data type may refer to a type of data stored in a column in the detection target database 30. For example, it may be classified into a type such as a number, a letter, or a string, and may be classified and stored as 'NUMBER', 'CHAR' or 'VARCHAR'.
  • the data Korean name may be to divide the column into morpheme units when the column of the data is Korean, and to select any one of the separated morphemes. For example, the last morpheme of the Korean name of the column can be selected. More specifically, the number can be selected as the data Korean name by selecting 'number' from the column 'Customer Number', and from 'purchasing date'. Date ”to select the name of the data in Korean, and the morpheme named 'name' from 'customer name'.
  • the English name of the data may be to select a predetermined portion of the column based on a predetermined symbol when the column of the data is English. More specifically, 'ID', which is a character string of '_' or less, can be selected as the data English name from the column named 'CUST_ID', 'AMT' from 'SALES_AMT' and 'DT' from 'PURCHASE_DT' as the data English name. Can be selected.
  • Whether the decimal point may include information indicating whether the data type includes a decimal point among data having a number. For example, if the data type is NUMBER (10,0), only 10 digits can be input.In the case of NUMBER (10,2), 10 digits and 2 digits can be entered. have. On the other hand, whether the decimal point may include whether the current data has a decimal point through a true value represented by 'Y', a false value represented by 'N'.
  • Whether or not the date may include information indicating whether data in the column has a date format. For example, if the data is 2018, it can be represented as a true value because it can mean the year, and 20170102 can be represented as a true value because it can mean information about year, month, and day. On the other hand, since 20121134 cannot be a date format, it can be represented as a false value.
  • the current data has a date format with a true or false value. It may indicate whether or not there is, or may include such information.
  • Whether the number is may include information indicating whether the value in the column is a number. For example, if the current data is 2018, it can be represented as a true value because the data can mean a number, and it can be represented as a Korean or English name such as 'Gongilpal' or 'Two' but it can mean a number. It can be represented as
  • the unique number may include information on the number of data remaining when removing duplicates among data stored in a column, or information indicating whether the number of remaining data after deduplication is two is true or false. For example, if the column of the current data is gender and the number of data remaining after all deduplication is 2 (male or female), it may be represented as a true value. On the other hand, if the column is a social security number, the number of data remaining after all deduplication may be the number of data stored in the current column. In this case, the unique number may be represented as a false value if the number of data stored in the column and the number of data remaining after deduplication do not match, since the social security number cannot be duplicated.
  • Whether the character is 200 characters or more may include information on whether the maximum number of digits of the data stored in the column is 200 characters or more among data whose type is a character or a string.
  • the content may be more than 200 characters and thus may be represented as a true value, and character data such as name and address may be represented as a false value.
  • Whether or not the number of digits is changed may include information about whether there is data having a changed number of digits for the data in the column. For example, if the first data included in the column is 'ABC' and the second data is 'AB', the digits may be changed and represented as true. In another example, when a column includes information on a phone number, the column may be stored with 13 digits of information including a dash in a format of '000-0000-0000', but any one data may be ' If 12-digit information is stored in the format of 00-0000-0000 ', the number of digits is changed and may be represented as a true value.
  • the domain determination unit 120 may determine a domain for the first data as the first domain based on the various classification criteria as described above. More specifically, the domain discriminating unit 120 includes a morpheme where the first classification criterion is a data type, and the second classification criterion is a data Korean name, the data type is a numeric type, and the data Korean name represents an amount of money. In this case, the data can be determined as the money domain. That is, the domain determination unit 120 includes morphemes in which the column names mean amounts selected according to the second classification criteria such as amount, tax, price, unit price, cost, fee, balance, total amount, repayment amount, fee, income, principal, etc. If the data type is a numeric type, the domain for the data or the domain for the column may be determined as the amount.
  • the domain determination unit 120 may determine various domains for the data of the detection target database 30. Examples of the domain to be determined may include an amount, a number, a rate, a code, an ID, a name, a content, a date, a flag, a number, and a contact, but are not limited thereto.
  • the amount domain may refer to a number related to money, such as sales, sales amount, or cost, among data whose data type is numeric type.
  • the money domain is a value representing the amount of money, and may be composed of values of a numeric type corresponding to a national currency.
  • Ongoing management of monetary domains ensures that the data stored in the monetary domains is always in valid form and that the scope of the data itself is valid. Examples of an amount domain may include an amount, tax, price, unit price, cost, fee, balance or total amount.
  • the number domain may mean a number that is not an amount of money such as the number of customers, the number of products, and the number of audiences among the data whose data type is a numeric type.
  • the number domain may mean an item managed numerically, such as the number, size, and number of times. Ongoing management of the quantity domain allows you to maintain an effective range of maximum and minimum values for data stored in the number domain.
  • Examples of the water domain may include a number, number of copies, turn, number, distance, scale, length, weight, speed, number of times, equilibrium, area, or temperature.
  • the rate domain may refer to a number including a ratio, such as achievement rate, accuracy, and cost rate, among data whose data type is numeric type. More specifically, the rate domain can be defined and used in various ways such as progress rate, growth rate, rate of return, rate of change, interest rate, addition rate, and rate, and the rate of increase, rate of return, rate of change, etc. , Interest rates, addition rates, rates, etc. may be managed as reference information applied to the calculation of other numerical data. Examples of rate domains may include interest rates, interest rates, rates, exchange rates or percentages.
  • the code domain is a predefined item of data whose data type is numeric or character type, and may include codes and values. For example, if a woman expresses 'F' and a man expresses 'M', 'F' and 'M' can be codes, and woman and man can be values. More specifically, a code domain can mean data that has been replaced by a short code value to limit the data available or to manage data with the same meaning in the same representation, and code domains are generally managed by code and code values. Can be.
  • the code may mean a gender classification code, a customer rating code, a department code, a product code, a region code, and the like, and the code value may include data in a corresponding information item such as 'M' or 'F' of the gender classification code. It can mean a value to represent or limit.
  • the code domain may be managed by predefined standard codes.
  • the ID domain may mean a unique value defined by a user, such as a USER ID.
  • the name domain includes a character string having a predetermined length or less and may mean a customer name, a product name, or the like.
  • the name domain is a name attached to an object, a person, a group, etc. to identify the other, and may include a name, a place, a customer name, an English customer name, a URL, an IP, and the like.
  • the content domain includes a string having a predetermined length or more, and may mean a post content or a cover letter.
  • the value of the content domain may refer to data describing a description or reference of an object or action, and examples of definition, description, remark, content, summary, and the like may exist.
  • the content domain may have properties that consist of unstructured characters.
  • the date domain may mean a date such as year, year, month, date, and date.
  • the date domain may mean an item managed by a date, and may include data representing a date and time such as a reception date, a registration date and time, a settlement date month, and a transmission time.
  • Data type of date domain can use character type and method using date data type provided by DBMS. When using the date data type provided by the DBMS, there is almost no error in the date value because the invalid date value is checked by the DBMS itself. However, when used as a character type, an incorrect date value may be entered.
  • the flag domain indicates whether the flag domain is 0, 1, 'Y', 'N', 'true', false ',' True ', False' may be composed of two opposing values.
  • the flag domain is one of the domains for which standardization and management of data is simple, and may consist of two or three simple classification values such as whether or not, 'Y', 'N' or 1, 0, etc. Can be defined as a separate value. Data stored in the flag domain is always managed in the same form to maintain consistency between information systems.
  • the number domain may refer to a numerical value that does not mean to increase sequentially, such as customer number and product number.
  • a number domain is composed of a combination of letters or numbers and can be managed mostly according to the internal and external number system.
  • No. Domain is data that complies with domestic and international standard number system such as social security number, business registration number, zip code, corporation number, IP address, international standard data number (ISBN / ISSN), or user number, account number, permission There may be data managed according to the company's internal standard number management system such as number, approval number, registration number and product number.
  • the contact domain may refer to data including information such as an address, an email, and a contact.
  • No domain Domain example One Price Revenue, Sales Amount, Cost, Amount, Tax, Price, Unit Price, Cost, Fee, Balance, Total 2 Number Number of customers, number of products, number of audiences, number of pieces, number of copies, turn, number, distance, scale, length, weight, speed, number of times, equilibrium, area, temperature 3 rate Achievement rate, accuracy, cost rate, interest rate, interest rate, rate, exchange rate, percentage 4 code Gender code, abbreviation code, rating code 5 ID USER ID 6 designation Customer Name, Product Name, Address, Place 7 Contents Cover letter, post, content, note, description, information, summary 8 date Year, month, year, month, hour, minute, second, day, half-year, quarter 9 flag True, false 10 number Customer number, product number, posting number 11 Contact Address, email, contact
  • Table 2 shows the types of domains determined by the domain discriminating unit 120 and examples thereof.
  • the domain determined by the domain determination unit 120 is not limited to those described above.
  • the domain determination unit 120 may determine a key domain for identifying data, and the classified key domain may include a primary key for identifying data and a unique key for preventing duplication of data. Unique Key), a foreign key for identifying a reference relationship between data, and the like.
  • the domain determination unit 120 may determine a domain of the first data through a decision tree algorithm based on a first classification criteria and a second classification criteria including a plurality of classification criteria including a data type, a data Korean name, and a data English name.
  • the first domain may be determined as the first domain
  • the domain of the second data is determined as the second domain through the decision tree algorithm based on the second classification criteria and the third classification criteria among the plurality of classification criteria, or the plurality of classification criteria.
  • the domain of the third data may be determined as the third domain through a decision tree algorithm.
  • the domain discriminating unit 120 for any one data according to various classification criteria, when the first classification criteria is a data type, the second classification criteria is a data Korean name, the data type is a numeric type, the data If the Korean name includes a morpheme meaning an amount of money, the data can be discriminated into an amount domain, and if the second classification mood is a data type and the third classification mood is a data English name, the data type is a numeric type and the data English name is If at least one of an abbreviation and a code indicating a number is included, data may be determined as a number domain.
  • the domain determination unit 120 may be one of a character or a numeric type and the date is true. If it has a value, the data may be determined by the date domain. At this time, the domain determination unit 120 may determine the domain through the decision tree algorithm.
  • the domain determination unit 120 may apply various classification criteria to various data or columns in the detection target database 30, and determine a domain of the data or column based on the applied classification criteria.
  • the domain determination unit 120 may store the first domain determined for the first data in the database 110 and use the same to determine a domain for other data.
  • the domain determination unit 120 has a data type of a string type and whether or not 200 characters or more has a true value
  • the first classification criterion is a data type
  • the second classification criterion is 200 characters or more
  • the third classification criterion is a data Korean name
  • the data type is a character type or a string type
  • the 200th If more than one character has a false value and a Korean name includes a morpheme meaning a name, data can be determined as a name domain.
  • the domain determination unit 120 may store the domain of the second data as the second domain in the database 110.
  • the domain determination unit 120 has a data type of character type, a data Korean name of 'day', a data English name of 'YMD', and whether the date is true based on various classification criteria. If you have a value, you can determine the domain for that data as a date. Thereafter, the domain determination unit 120 may store the domain determined for the corresponding data and the classification criteria thereof, and use the domain determination unit to determine the domain for other data.
  • the domain determining unit has a data type of character, the data Korean name is 'time', the data English name is 'TIME', If the date has a true value, the domain for other data may be determined as the date domain based on the classification criteria and the domain discrimination result stored in the database 110.
  • the domain discrimination result stored in the database 110 may also be used for domain discrimination as one classification criterion.
  • FIG. 3A is a diagram illustrating a process of determining a domain of data according to an embodiment of the present application
  • FIG. 3B illustrates an example showing classification criteria and a domain determination result for the detection target database 30.
  • the domain discriminating unit 120 determines 1791 pieces of data whose data Korean name is 'amount' as a value domain in step S301 according to various classification criteria for a plurality of data included in the detection target database 30.
  • step S302 1480 data having a digit change value of 'N' is determined as the money domain, and in step S303, 737 data having a numeric type as the money domain, and in step S304 The 354 data having 'QTY' can be determined as the money domain.
  • the domain determining unit 120 determines 743 data whose data type is not a numeric type as the name domain for data whose data Korean name is not 'amount' in step S305, and whether or not 200 characters or more is determined in step S306. 165 data having a Y 'value can be determined as the content domain, and in step S307, 578 data having a true value of 200 or more letters can be determined as the name domain. Meanwhile, the domain determination unit 120 may determine 111 data having a true value as a date domain at step S308 and 467 data having a false value as a date at step S309 as name data. .
  • the domain determination unit 120 may increase the reliability of the determination result by determining a domain for data satisfying many classification criteria based on various classification criteria through the steps.
  • step S302 may include the condition of step S301, and the data having a data Korean name of 'amount' and a change of digits having a value of 'N' as the monetary domain.
  • steps S302 and S301 may be determined. Including the condition, the data Korean name is 'amount', the number of digits change is 'N' value, and the data type is a numeric type of data can be determined as the amount domain.
  • the accuracy of the determination result of the domain determination unit 120 may increase.
  • the domain determining unit 120 has any data or the first data having a data type of character type, a data Korean name of 'one', a decimal point having an 'N' value, and a data English name.
  • 'YMD' whether or not the date has a value of 'Y', and if 200 or more characters have a value of 'N', that is, if any one of the data satisfies the above-described classification criteria, the domain determination unit 120 Can determine the data as the date domain.
  • the domain determination unit 120 may determine a domain even when a part of the classification criteria is satisfied. For example, even if the data type is numeric, the data Korean name is 'character', and whether the decimal point is a 'Y' value, the English name of the data is 'YMD' based on the classification criteria accumulated in the database 110, and whether the date is Has a value of 'Y', the domain of the data may be determined as the date domain.
  • the domain discriminating unit 120 determines whether to satisfy the various classification criteria or the combination of the classification criteria based on the domain discrimination result stored in the database 110 and the machine learning algorithm or the decision tree algorithm based on the big data. You can decide. For example, although not shown in FIG. 3B, when the data type is a character type, the data English name is 'SEC', and the date is 'Y', the machine learning algorithm or the decision tree Through the algorithm, the domain for the corresponding data can be determined as the date domain, and it can be stored and used as a classification criterion for the next data.
  • Price Decision Tree Algorithm Only data type, data Korean name, and data alphanumeric type data can be included Number Decision Tree Algorithm Only data type and data can be included.
  • rate Decision Tree Algorithm Rule-based Algorithm Only data type, data Korean name, and data alphanumeric type data can be included code Decision Tree Algorithm Rule-based Algorithm Data type, data Korean name, data English name digit cannot be changed ID Decision Tree Algorithm Data type, data Korean name, data English name designation Decision Tree Algorithm Rule-based Algorithm Data type, data Korean name, data English name Data cannot exceed 200 characters Contents Decision Tree Algorithm Rule-based Algorithm Data type, data Korean name, data English name Data can exceed 200 characters date Decision Tree Algorithm Rule-based Algorithm Data type, data Korean name, data English name flag Decision Tree Algorithm Rule-based Algorithm Data type, data Korean name, data English name number Decision Tree Algorithm Rule-based Algorithm Data type, data Korean
  • the domain discrimination unit 120 may determine the data type, the data Korean name, and the data English name based on the classification criteria that are used as criteria for determining the domain.
  • the domain may be determined according to various classification criteria, such as the number of unique numbers, 200 or more characters, and the change in the number of digits.
  • the domain determination apparatus 10 may learn data about classification criteria for domain determination based on the standard data dictionary 20, and store the training results in the database 110 in operation S402. Can be. Subsequently, in step S403, the domain determination apparatus 10 performs domain determination on the data included in the detection target database 30 on the basis of the learning result, and domains such as the domain determined in step S404 or classification criteria used in the determination, and the like. Related information may be stored in the database 110. In operation S405, the domain determination apparatus 10 may determine a domain for other data through a decision tree algorithm based on the plurality of classification criteria and the storage result stored in the database.
  • the wholesaler discrimination apparatus 10 may perform domain discrimination on the detection target database 30 through artificial intelligence based on a decision tree algorithm, and as the number of domain discriminations increases, Learning can increase the accuracy of domain discrimination, thereby increasing the reliability of data quality management.
  • FIG. 5 is an operation flowchart illustrating a flow of determining a domain of data according to an embodiment of the present application.
  • the domain determination method illustrated in FIG. 5 performs the operation of the domain determination apparatus 10 described with reference to FIGS. 1 to 4. Therefore, since the content not described in FIG. 5 also applies to the description of the domain determination apparatus 10 described with reference to FIGS. 1 to 4, detailed description thereof will be omitted.
  • the domain determining apparatus 10 determines a decision tree algorithm based on a first classification criterion and a second classification criterion among a plurality of classification criteria including a data type, a data Korean name, and a data English name.
  • the domain of the first data is determined as the first domain via the first domain, and the domain of the first data is stored as the first domain in step S502.
  • the domain determination apparatus 10 performs a second decision through a decision tree algorithm based on a second classification criteria, a third classification criteria, and a storage result among a plurality of classification criteria including a data type, a data Korean name, and a data English name.
  • the domain of the data may be determined as the second domain.
  • the present application can provide an apparatus and method for improving the reliability of quality for big data by performing automatic domain-based domain identification based on big data. To this end, the present application may determine domains through various classification criteria for automatically discriminating domains defined in the data quality guidelines.
  • the present application may perform prior learning through artificial intelligence based on a standard data dictionary, and perform domain determination on a supporting target database based on the results of prior learning.
  • the domain discrimination result may also be stored and learned to increase the accuracy of domain discrimination, and even when a new domain type is found, the domain discrimination result may be learned and used for domain discrimination.
  • This company can automate the manual work of engineers for data quality management, and by doing so, it can minimize the manpower and perform continuous data quality management without human intervention.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Machine Translation (AREA)

Abstract

데이터의 도메인을 판별하는 방법은 데이터 타입, 데이터 국문명 및 데이터 영문명을 포함하는 복수의 분류 기준 중 제 1 분류 기준 및 제 2 분류 기준에 기초하여 의사결정 트리 알고리즘을 통해 제 1 데이터의 도메인을 제 1 도메인으로 판별하는 단계, 제 1 데이터의 도메인을 제 1 도메인으로 저장하는 단계, 데이터 타입, 데이터 국문명 및 데이터 영문명을 포함하는 복수의 분류 기준 중 제 2 분류 기준 및 제 3 분류 기준과 저장 결과에 기초하여 의사결정 트리 알고리즘을 통해 제 2 데이터의 도메인을 제 2 도메인으로 판별하는 단계를 포함한다.

Description

데이터의 도메인을 판별하는 장치 및 그 방법
본원은 데이터의 도메인을 판별하는 장치 및 그 방법에 관한 것으로, 인공지능을 기반으로 도메인을 자동으로 판별하는 장치 및 그 방법에 관한 것이다.
수집된 빅 데이터의 품질을 확보하는 것 대한 요구가 증가하고 있어, 빅데이터의 품질을 확보하는 것은 중요한 화두로 대두되고 있으나, 데이터의 양은 무어의 법칙(Moore's law)에 대응하는 비율로 폭발적으로 증가하고 있어, 데이터 엔지니어의 경험과 노력으로 품질을 측정하는데 어려움이 따른다. 무어의 법칙은 반도체 집적회로의 성능이 18개월마다 2배로 증가한다는 법칙이다. 또한, 비즈니스의 복잡성 증가에 따른 정보 시스템의 복잡도도 증가하고 있으며, 데이터의 종류도 정형 데이터에서 비정형 데이터로 확장되고 있으며, 빅데이터의 활용에 대한 관심 증대에 따라 데이터의 양은 더욱 늘어나고 있다.
데이터 관리 기술들은 데이터 저장소나 액세스(Access) 기술이 주로 발전되고 있으며, 이에 반해 데이터 품질에 대한 인식은 매우 낮고, 저품질 데이터의 피해 사례와 비용 발생에 따른 데이터 품질 관리에 대한 필요성이 대두되고 있다. 예를 들면, 2009년을 5월을 기준으로 국민연금 가입자의 주민등록번호와 이름이 일치하지 않는 사례가 30만여건에 달하고 있으며, 국외에서는 주 관공서가 이미 사망한 아동의 부모들에게 위학 학교를 선택하라는 안내문을 발송하는 사례가 있다.
이렇듯, 국내 및 국외의 공공기관 또는 기업 등지에서 사용되는 데이터베이스와 관련된 사고가 점차 증가하고 있으며, 미국 NASA의 한 연구에서 빅데이터의 경우 증가하는 데이터 양에 부합하는 데이터 품질요구사항을 만족하기 위해 자동화된 데이터 품질 측정 도구가 필요하다고 언급하는 등, 인력으로는 해결할 수 없는 데이터베이스의 품질을 자동으로 관리하고 측정하는 기술에 대한 요구도 점차 증가하고 있다.
현재, 데이터베이스는 중요성 및 부정확한 데이터에 대한 낮은 인식, 데이터 품질 관리 비용의 인식 부족 등 데이터베이스의 데이터 품질에 대한 인식이 낮은 편에 속하며, 데이터 품질 전문가 부족으로, 기관 또는 기업에 적합한 데이터 품질 활동을 고려한 적용 기술이 요구된다.
본원의 배경이 되는 기술은 한국특허공개공보 제 2000-0055986호에 개시되어 있다.
본원은 전술한 종래 기술의 문제점을 해결하기 위한 것으로서, 빅데이터 환경 내에서 데이터의 도메인을 자동으로 판별하는 시스템을 제공하는 것을 목적으로 한다. 또한, 본원은 데이터 품질 가이드라인에서 정의하고 있는 데이터 도메인에 대하여 머신 러닝 알고리즘을 활용하여 해당 도메인에 대해 자동으로 판별하는 장치 및 그 방법을 제공하는 것을 목적으로 한다.
다만, 본원의 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제들도 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.
상기한 기술적 과제를 달성하기 위한 기술적 수단으로서, 데이터의 도메인을 판별하는 방법에 있어서, 데이터 타입, 데이터 국문명 및 데이터 영문명을 포함하는 복수의 분류 기준 중 제 1 분류 기준 및 제 2 분류 기준에 기초하여 의사결정 트리 알고리즘을 통해 제 1 데이터의 도메인을 제 1 도메인으로 판별하는 단계, 제 1 데이터의 도메인을 제 1 도메인으로 저장하는 단계 및 데이터 타입, 데이터 국문명 및 데이터 영문명을 포함하는 복수의 분류 기준 중 제 2 분류 기준 및 제 3 분류 기준과 저장 결과에 기초하여 의사결정 트리 알고리즘을 통해 제 2 데이터의 도메인을 제 2 도메인으로 판별하는 단계를 포함할 수 있다.
또한, 본원의 일 실시예에 따르면, 데이터 타입, 데이터 국문명 및 데이터 영문명을 포함하는 복수의 분류 기준 중 제 1 분류 기준 및 제 3 분류 기준과 저장 결과에 기초하여 의사결정 트리 알고리즘을 통해 제 3 데이터의 도메인을 제 3 도메인으로 판별하는 단계를 더 포함할 수 있다.
또한, 본원의 일 실시예에 따르면, 데이터 타입은 데이터의 컬럼의 타입(Type)에 따라 숫자 타입, 문자 타입 및 문자열 타입 중 어느 하나로 분류할 수 있다.
또한, 본원의 일 실시예에 따르면, 데이터 국문명은 데이터의 컬럼이 국문인 경우, 컬럼을 형태소 단위로 분리하고, 분리된 형태소 중 어느 하나를 선정하는 것일 수 있다.
또한, 본원의 일 실시예에 따르면, 데이터 영문명은 데이터의 컬럼이 영문인 경우, 컬럼 중 소정 기호를 기준으로 일정 부분을 선정하는 것 일 수 있다.
또한, 본원의 일 실시예에 따르면, 제 1 도메인으로 판별하는 단계는, 제 1 분류 기준이 데이터 타입이고, 제 2 분류 기준이 데이터 국문명인 경우, 데이터 타입이 숫자 타입이고, 데이터 국문명이 금액을 의미하는 형태소를 포함하면, 데이터를 금액 도메인으로 판별할 수 있다.
또한, 본원의 일 실시예에 따르면, 제 2 도메인으로 판별하는 단계는, 제 2 분류 기분이 데이터 타입이고, 제 3 분류 기분이 데이터 영문명인 경우, 데이터 타입이 숫자 타입이고, 데이터 영문명이 번호를 의미하는 약어, 코드 중 적어도 하나를 포함하면, 데이터를 번호 도메인으로 판별할 수 있다.
또한, 본원의 일 실시예에 따르면, 제 3 도메인으로 판별하는 단계는, 제 1 분류 기준이 데이터 타입이고, 제 3 분류 기준이 날짜 여부인 경우, 데이터 타입이 문자 또는 숫자 타입 중 어느 하나이고, 날짜 여부가 참 값을 가지는 경우, 데이터를 날짜 도메인으로 판별할 수 있다.
또한, 본원의 일 실시예에 따르면, 제 2 도메인으로 판별하는 단계는, 제 2 분류 기준이 데이터 타입이고, 제 3 분류 기준이 200자 이상 여부인 경우, 데이터 타입이 문자열 타입이고, 200자 이상 여부가 참 값을 가지는 경우, 데이터를 내용 도메인으로 판별할 수 있다.
또한, 본원의 일 실시예에 따르면, 제 2 도메인으로 판별하는 단계는, 제 1 분류 기준이 데이터 타입이고, 제 2 분류 기준이 200자 이상 여부이고, 제 3 분류 기준이 데이터 국문명인 경우, 데이터 타입이 문자 타입 또는 문자열 타입이고, 제 200자 이상 여부가 거짓 값을 가지고, 국문 명이 이름을 의미하는 형태소를 포함하면, 데이터를 명칭 도메인으로 판별할 수 있다.
또한, 본원의 일 실시예에 따르면, 제 2 도메인으로 판별하는 단계 이후에, 제 2 데이터의 도메인을 제 2 도메인으로 저장하는 단계를 더 포함할 수 있다.
또한, 본원의 일 실시예에 따르면, 데이터의 도메인을 판별하는 장치는 데이터 타입, 데이터 국문명 및 데이터 영문명을 포함하는 복수의 분류 기준 중 제 1 분류 기준 및 제 2 분류 기준에 기초하여 의사결정 트리 알고리즘을 통해 제 1 데이터의 도메인을 제 1 도메인으로 판별하는 도메인 판별부 및 제 1 데이터의 도메인을 제 1 도메인으로 저장하는 데이터베이스를 포함하되, 도메인 판별부는 데이터 타입, 데이터 국문명 및 데이터 영문명을 포함하는 복수의 분류 기준 중 제 2 분류 기준 및 제 3 분류 기준과 저장 결과에 기초하여 의사결정 트리 알고리즘을 통해 제 2 데이터의 도메인을 제 2 도메인으로 판별할 수 있다.
상술한 과제 해결 수단은 단지 예시적인 것으로서, 본원을 제한하려는 의도로 해석되지 않아야 한다. 상술한 예시적인 실시예 외에도, 도면 및 발명의 상세한 설명에 추가적인 실시예가 존재할 수 있다.
전술한 본원의 과제 해결 수단에 의하면, 기존의 데이터 엔지니어가 수작업으로 수행하던 업무를 도구를 활용하여 자동화함으로써 투입 인력을 최소화할 수 있으며, 데이터 엔지니어 전문가의 개입 없이 지속적인 데이터 품질 관리가 용이할 수 있다. 또한 빅데이터 환경 내에서 데이터의 도메인을 자동으로 판별함으로써, 엔지니어의 실수 등으로 인해 잘못될 수 있는 데이터 품질 관리를 방지할 수 있다.
도 1은 본원의 일 실시예에 따른 데이터의 도메인을 판별하는 시스템의 구성도이다.
도 2는 본원의 일 실시예에 따른 도메인 판별 장치(10)의 구성을 나타내는 도면이다.
도 3a 내지 도3b는 본원의 일 실시예에 따른 데이터의 도메인을 판별하는 과정을 나타내는 도면이다.
도 4는 본원의 일 실시예에 따른 데이터의 도메인을 판별하는 과정을 나타내는 흐름도이다.
도 5는 본원의 일 실시예에 따른 데이터의 도메인을 판별하는 흐름을 나타내는 동작 흐름도이다.
아래에서는 첨부한 도면을 참조하여 본원이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본원의 실시예를 상세히 설명한다. 그러나 본원은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본원을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
본원 명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다.
본원 명세서 전체에서, 어떤 부재가 다른 부재 "상에", "상부에", "상단에", "하에", "하부에", "하단에" 위치하고 있다고 할 때, 이는 어떤 부재가 다른 부재에 접해 있는 경우뿐 아니라 두 부재 사이에 또 다른 부재가 존재하는 경우도 포함한다.
본원 명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함" 한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있는 것을 의미한다.
도 1은 본원의 일 실시예에 따른 데이터의 도메인을 판별하는 시스템의 구성도이다. 도 1을 참조하면, 데이터의 도메인을 판별하는 시스템은 도메인 판별 장치(10), 표준 데이터 사전(20) 및 탐지 대상 데이터베이스(30)를 포함할 수 있다. 다만, 도 1에 도시된 시스템의 구성이 상기된 구성으로 한정되는 것은 아니다.
도메인 판별 장치(10)는 표준 데이터 사전(20)을 기반으로 인공지능을 통한 선행학습을 수행하고, 학습 결과에 기초하여 탐지 대상 데이터베이스(30)에 대한 도메인 판별을 수행할 수 있다. 도메인 판별 장치(10)는 탐지 대상 데이터베이스(30)의 컬럼에 대하여 컬럼의 도메인을 11개의 도메인으로 판별할 수 있으며, 판별된 도메인의 유형을 저장 및 학습함으로써, 도메인을 판별하는데 이용할 수 있다. 이와 같은 도메인 판별 장치(10)의 구성은 도 2를 통해 자세히 설명된다.
표준 데이터 사전(20)은 도메인 판별 장치(10)가 선행학습을 할 수 있도록 하는 선행 데이터를 가질 수 있다. 일반적으로 SQL 등의 DBMS(Database Management System)에서는 데이터에 대한 의미 파악, 데이터의 중복, 데이터 불일치 발생, 데이터 통합, 변경 및 유지 발생 등의 문제를 해결하기 위해 데이터 표준 사용을 권장하고 있다.
좀 더 상세히 말하면, 데이터가 기업의 전략적 의사 결정의 핵심 요소로 떠오름에 따라 데이터 통합이나 데이터 품질에 대한 관심이 증대되고 있다. 하지만, 정보 시스템 개발 및 운영 과정에서 동일한 의미로 데이터를 다른 명칭으로 중복 관리하거나, 동일한 명칭 데이터를 시스템 간에 상이한 로직으로 산출하여 다른 의미로 활용함으로서, 데이터의 중복에 따른 조직, 업무 시스템 별 데이터의 불일치가 발생할 수 있다.
또한, 데이터의 명칭, 데이터 정의에 대하여 새로운 정보 요건이나 정보 요건 변경 시 필요 데이터를 파악하는데 많은 시간을 할애해야 하는 문제로, 사용자에게 적시에 정보를 제공하는 데 어려움이 발생할 수 있으며, 단위 시스템 위주의 데이터 저장소 구축 등 전사 데이터에 대한 통합적인 정보 요건을 통합하는데 있어, 데이터의 의미 파악이나 데이터의 중복 여부를 파악하는데 어려움이 따를 수 있다. 정보 시스템의 변경이나 유지보수 시에도 마찬가지로 데이터의 의미 파악에 어려움을 겪을 수 있고, 새로운 정보 요건 반영 시 기존 데이터의 활용이 가능한지 여부를 파악하는데 많은 노력을 필요로 하게 된다.
상기된 바와 같은 문제점을 해결하기 위해 DBMS 또는 DBMS를 제공하는 기업이나 기관들은 데이터를 표준화 및 규격화하기 위한 기본 방침을 설정하고, 전사적인 정보 공유를 위해 유지 되어야할 공통 데이터 요소를 도출하여 시스템 개발의 효율성 및 데이터의 공유성을 향상시키기 위한 노력을 기울이고 있다.
표준 데이터 사전(20)는 도메인 판별 장치(10)가 데이터에 대한 도메인을 판별하는데 있어 최초 학습 자료를 제공하기 위해 다양한 시스템 별로 산재해 있는 정보 요소에 대하여 명칭, 정의, 형식, 규칙 등의 정보를 포함할 수 있다.
예를 들어, 데이터 명칭은 데이터를 유일하게 구별해주는 이름으로, 해당 개념을 유일하게 구분해주는 이름으로, 데이터를 표준화하는데 있어, 하나의 개념에 대하여 모든 사용자들이 하나의 명칭만을 사용하도록 표준 데이터 사전(20) 내에 설계될 수 있다. '고객 계좌번호' 또는 '고객 구좌번호' 등을 '고객 계좌번호'로 통일하여 사용되도록 설계될 수 있다.
다른 예에서, 데이터 명칭은 해당 데이터가 의미하는 범위 및 자격 요건을 규정하는 것으로서, 사용자가 데이터의 의미를 이해할 수 있도록 데이터의 범위와 자격 요건을 명시하고, 이를 전달하는 역할을 수행할 수 있도록 표준 데이터 사전(20) 내에 설계될 수 있다. 데이터 사용자가 데이터의 의미를 잘 이해할 수 있도록 제 3자 입장에서 기술하거나, 또는 서술식 정의만으로 데이터의 의미 전달이 어려운 경우 실제 발생할 수 있는 데이터의 값도 같이 기술하도록 설계될 수 있다.
다른 예에서, 데이터 형식은 데이터 표현 형태의 정의를 통해 데이터 입력 오류와 통제 위험을 최소화하도록 표준 데이터 사전(20) 내에서 설계될 수 있다. 데이터의 형식은 숫자, 문자, 문자열, 날짜 형식 등의 데이터 유형에 따라 사용될 수 있도록 설계될 수 있다.
다른 예에서, 데이터 규칙은 발생 가능한 데이터 값을 사전에 정의하여 데이터의 입력 오류와 통제 위험이 최소화 되도록 표준 데이터 사전(20) 내에서 설계될 수 있다. 숫자 타입의 기본값으로 0이 자동으로 입력되거나, 소정 길이를 갖는 문자열 만이 입력되거나 또는 데이터 값의 범위를 제한하도록 설계될 수 있다.
위와 같이, 표준 데이터 사전(20)은 도메인 판별 장치(10)가 데이터에 대한 도메인을 판별하는데 있어 사전 정보를 저장 또는 학습할 수 있도록 하는 데이터를 포함할 수 있다. 예를 들면, SQL, Oracle Cubird등의 DB업체에서 정의하는 표준 데이터 셋을 포함할 수 있으며, 서울시에서 제공하는 OPEN API 등에서 정의하는 표준 데이터 셋을 포함할 수도 있다.
예를 들면, 표준 데이터 사전(20)은 아래 표 1과 같은 데이터 셋을 포함하여, 도메인 판별 장치(10)가 도메인을 판별하는데 있어 사전 정보를 학습할 수 있도록 소스(Source)를 제공할 수 있다.
No 출력명 출력 설명
1 DB_NM 공공정보그룹명
2 DT_NM 공공정보명
3 INF_ID 서비스ID
4 INF_NM 서비스명
5 PAR_INFO_TYPE_ID 상위분류체계ID
6 INFO_TYPE_ID 분류체계ID
7 PAR_INFO_TYPE_NM 상위분류체계명
8 INFO_TYPE_NM 분류체계명
9 INF_TAG 태그
10 MNG_ORGAN_NAME 제공기관
11 MNG_STATION_NAME 제공부서
표 1은 서울시의 데이터베이스를 이용하기 위한 Open API에 정의된 데이터 명칭과 정의를 나타낸다. 표 1을 참조하면 서울시의 데이터베이스에서는 서비스 ID는 INF_ID로 표시하고, 태그는 INF_TAG로 표시하도록 설계될 수 있다. 한편, 서울시의 데이터베이스는 표준 데이터 사전(20)으로서 활용되고, 이 때, 도메인 판별 장치(10)는 서울시의 데이터베이스에 정의된 데이터의 정의, 명칭 등을 학습하여 도메인을 판별할 수 있다.
탐지 대상 데이터베이스(30)는 도메인 판별의 대상이 되는 데이터베이스로서, 도메인 판별 장치(10)는 학습 결과에 기초하여 탐지 대상 데이터베이스(30)에 포함된 데이터에 대한 도메인을 판별할 수 있다.
도 2는 본원의 일 실시예에 따른 도메인 판별 장치(10)의 구성을 나타내는 도면이다. 도 2를 참조하면, 도메인 판별 장치(10)는 데이터베이스(110) 및 도메인 판별부(120)를 포함할 수 있다. 다만, 도 2에 도시된 도메인 판별 장치(10)의 구성이 앞서 설명된 것들로 한정되는 것은 아니다.
도메인 판별 장치(10)는 빅데이터 환경에서 신규 유형의 도메인을 인공지능 기반으로 자동판별 또는 학습할 수 있으며, 이를 통해 도메인에 대한 품질관리가 가능해진다. 좀 더 상세히 말하면, 표준 데이터 사전(20)을 기반으로 인공지능을 통해 선행학습을 수행하고, 선행학습 결과에 기초하여 탐지 대상 데이터베이스(30) 내의 데이터 도메인에 대한 판별을 수행할 수 있다. 이 때, 선행학습은 표준 데이터 사전(20) 내의 데이터를 기초로 도메인에 대한 판별 기준을 생성하고 생성된 판별 기준에 따라 도메인을 판별하는 것일 수 있다.
일반적으로 데이터 품질 관리는 현재 운영 또는 관리되고 있는 정보 시스템 내에 수록된 데이터의 품질을 측정하여 현재의 수준을 평가하고, 품질 저하의 요인을 분석하는 절차를 의미할 수 있다. 데이터 품질 관리는 운영 데이터 베이스의 테이블, 컬럼, 코드, 관계, 업무 규칙 등을 기준으로 데이터의 값을 분석하여 데이터의 품질을 진단하는 것을 의미할 수 있으며, 데이터 값과 관련된 품질 기준을 적용하여 오류 내역을 산출하고 오류 원인을 분석하는 절차를 의미할 수 있다.
한편, 도메인은 일반적으로 데이터베이스 설계 시 부여되는 데이터의 가장 작은 단위인 컬럼의 특성을 의미하며, 도메인에 부합하는 데이터 업무 규칙을 적용하면, 데이터의 무결성을 유지할 수 있는 효과를 가질 수 있다. 좀 더 상세히 말하면, 도메인은 데이터베이스에서 테이블의 설계 단계에서 각 컬럼들에 적용되는 고유한 성격으로 데이터베이스에서 관리하는 데이터의 가장 작은 단위인 컬럼의 특성에 대한 정의라고 할 수 있다.
도메인 판별 장치(10)는 탐지 대상 데이터베이스(30)가 보유하고 있는 컬럼 정보에 기초하여 도메인을 판별할 수 있다.
도메인 판별부(120)는 데이터 타입, 데이터 국문명, 데이터 영문명을 포함하는 복수의 분류 기준 중 제 1 분류 기준 및 제 2 분류 기준에 기초하여 의사결정 트리 알고리즘을 통해 제 1 데이터의 도메인을 제 1 도메인으로 판별할 수 있다.
좀 더 상세히 말하면, 도메인 판별부(120)는 데이터 타입, 데이터 국문명, 데이터 영문명, 소수점 여부, 날짜 여부, 숫자 여부, 유니크 건수, 글자 200자 이상 여부, 자릿수 변동 여부 등 다양한 분류 기준에 기초하여 데이터에 대한 도메인을 결정할 수 있다.
데이터 타입은 탐지 대상 데이터베이스(30)에서 컬럼에 저장되는 데이터의 유형을 의미할 수 있다. 예를 들면, 숫자, 문자 또는 문자열 등의 유형으로 분류될 수 있으며, 'NUMBER', 'CHAR' 또는 'VARCHAR'등으로 구분되어 저장될 수 있다.
데이터 국문명은 데이터의 컬럼이 국문인 경우, 컬럼이 국문인 경우, 컬럼을 형태소 단위로 분리하고, 분리된 형태소 중 어느 하나를 선정하는 것일 수 있다. 예를 들면, 컬럼의 국문명의 가장 마지막 형태소를 선정할 수 있으며, 좀 더 상세히 말하면, '고객 번호'라는 컬럼으로부터 '번호'를 선정하여 데이터 국문명으로 선정할 수 있고, '구매 일자'로부터 '일자'를 선정하여 데이터 국문명으로 선정할 수 있으며, '고객명'으로부터 '명'이라는 형태소를 선정할 수도 있다.
데이터 영문명은 데이터의 컬럼이 영문인 경우, 컬럼 중 소정 기호를 기준으로 일정 부분을 선정하는 것 일 수 있다. 좀 더 상세히 말하면, 'CUST_ID'라는 컬럼으로부터 '_' 이하의 문자열인 'ID'를 데이터 영문명으로 선정할 수 있고, 'SALES_AMT' 로부터 'AMT'를, 'PURCHASE_DT'로부터 'DT'를 데이터 영문명으로 선정할 수 있다.
소수점 여부는 데이터의 유형이 숫자인 데이터 중 소수점을 포함하고 있는지 여부를 나타내는 정보를 포함하는 것일 수 있다. 예를 들어, 데이터 타입이 NUMBER(10,0)인 경우, 10자리 정수만 입력이 가능하고, NUMBER(10,2)인 경우, 10자리 정수와 2자리 소수점의 입력이 가능하다는 정보를 포함할 수 있다. 한편, 소수점 여부는 'Y'로 대표되는 참 값, 'N'으로 대표되는 거짓 값을 통해 현재 데이터가 소수점을 가지고 있는지 여부를 포함할 수도 있다.
날짜 여부는 컬럼에 들어가 있는 데이터가 날짜 형식을 가지고 있는지 여부를 나타내는 정보를 포함하는 것일 수 있다. 예를 들어, 데이터가 2018인 경우, 연도를 의미할 수 있으므로 참 값으로 나타낼 수 있으며, 20170102는 연도, 월, 일에 대한 정보를 의미할 수 잇으므로 참 값으로 나타낼 수 있다. 한편, 20121134는 날짜 형식이 될 수 없으므로, 거짓 값으로 나타낼 수 있다.
다른 예에서, 날짜 여부는 '17-01-02', '2017-01-02' 등 연도와 일자, 날짜가 소정 기호와 함께 표시되는 경우에도 참 또는 거짓 값을 통해 현재 데이터가 날짜 형식을 가지고 있는지 여부를 나타내거나 또는 해당 정보를 포함할 수 있다.
숫자 여부는 컬럼에 들어가 있는 값이 숫자인지 여부를 나타내는 정보를 포함하는 것일 수 있다. 예를 들어, 현재 데이터가 2018인 경우 해당 데이터가 숫자를 의미할 수 있으므로 참 값으로 나타낼 수 있으며, '이공일팔', 'Two' 등 국문이나 영문명으로 표시되어 있으나 숫자를 의미할 수 있으므로 참 값으로 나타낼 수 있다.
유니크 건수는 컬럼에 저장된 데이터들 중 중복을 제거 시 남은 데이터의 수에 대한 정보 또는 중복 제거 후 남은 데이터의 수가 2개인지 여부를 참 또는 거짓 값으로 나타내는 정보를 포함할 수 있다. 예를 들어, 현재 데이터의 컬럼이 성별이고, 모든 중복 제거 후 남은 데이터의 수가 2(남자 또는 여자)이면, 참 값으로 나타낼 수 있다. 한편, 컬럼이 주민등록번호인 경우, 모든 중복 제거 후 남은 데이터 수는 현재 컬럼에 저장된 데이터의 수가 될 수도 있다. 이 경우, 유니크 건수는 컬럼에 저장된 데이터의 수와 중복 제거 후 남은 데이터 수가 일치하지 않는 경우, 주민등록번호는 중복될 수 없기 때문에 거짓 값으로 나타낼 수 있다.
글자 200자 이상 여부는 데이터의 유형이 문자 또는 문자열인 데이터 중 컬럼에 저장된 데이터의 최대 자리수가 200자 이상인지 여부에 대한 정보를 포함할 수 있다. 일 예로, 자기소개서에 대한 데이터베이스의 경우, 그 내용이 200자를 초과할 수 있기 때문에 참 값으로 나타낼 수 있으며, 이름, 주소 등의 문자 데이터는 거짓 값으로 나타낼 수 있다.
자릿수 변동 여부는 컬럼 안의 데이터에 대하여 자릿수가 변동된 데이터가 잇는지 여부에 대한 정보를 포함할 수 있다. 예를 들면, 컬럼에 포함된 첫 번째 데이터가 'ABC'이고, 두 번째 데이터가 'AB'이면 자릿수가 변동한 것으로 참 값으로 나타낼 수 있다. 다른 예에서, 컬럼이 전화번호에 대한 정보를 포함하는 경우, 해당 컬럼은 '000-0000-0000'의 형식으로 대쉬 기호를 포함하여 13자리의 정보가 저장될 수 있으나, 어느 하나의 데이터가 '00-0000-0000'의 형식으로 12자리 정보가 저장된 경우, 자릿수 변동이 된 것으로 참 값으로 나타낼 수 있다.
도메인 판별부(120)는 상기된 바와 같은 다양한 분류 기준에 기초하여 제 1 데이터에 대한 도메인을 제 1 도메인으로 판별할 수 있다. 좀 더 상세한 예를 들면, 도메인 판별부(120)는 제 1 분류 기준이 데이터 타입이고, 제 2 분류 기준이 데이터 국문명인 경우, 데이터 타입이 숫자 타입이고, 데이터 국문명이 금액을 의미하는 형태소를 포함하면, 데이터를 금액 도메인으로 판별할 수 있다. 즉, 도메인 판별부(120)는 컬럼명이 금액, 세금, 가격, 단가, 비용, 요금, 잔액, 총액, 상환액, 수수료, 수입금, 원금 등 제 2 분류 기준에 따라 선정된 금액을 의미하는 형태소를 포함하고, 데이터의 유형이 숫자 유형이면, 해당 데이터에 대한 도메인 또는 해당 컬럼에 대한 도메인을 금액으로 결정할 수 있다.
도메인 판별부(120)는 탐지 대상 데이터베이스(30)의 데이터에 대한 다양한 도메인을 판별할 수 있다. 판별되는 도메인의 예시로는 금액, 수, 율, 코드, ID, 명칭, 내용, 날짜, 플래그, 번호 및 연락처 등이 있을 수 있으나 이에 한정되는 것은 아니며 다양한 도메인이 더 존재할 수 있다.
금액 도메인은 데이터의 유형이 숫자 유형인 데이터 중 매출액, 판매액, 원가 등 돈과 관련된 숫자를 의미할 수 있다. 좀 더 상세히 말하면, 금액 도메인은 돈의 액수를 표현하는 값으로써 국가별 화폐단위에 맞는 숫자 타입의 값으로 구성될 수 있다. 금액 도메인을 지속적으로 관리하면 금액 도메인에 저장되는 데이터를 항상 유효한 형태로 관리할 수 있으며 데이터 자체의 범위 유효성을 유지할 수 있다. 금액 도메인의 예시로는 금액, 세금, 가격, 단가, 비용, 요금, 잔액 또는 총액 등이 있을 수 있다.
수 도메인은 데이터의 유형이 숫자 유형인 데이터 중 고객수, 상품수, 관객수 등 금액이 아닌 숫자를 의미할 수 있다. 좀 더 상세히 말하면, 수 도메인은 건수, 규모, 횟수 등과 같이 숫자로 관리되는 항목을 의미할 수 있다. 수량 도메인을 지속적으로 관리하면 수 도메인에 저장되는 데이터에 대한 최대값과 최소값의 유효 범위를 유지할 수 있다. 수 도메인의 예시로는 건수, 매수, 회차, 개수, 거리, 규모, 길이, 무게, 속도, 횟수, 평형, 면적 또는 온도 등이 있을 수 있다.
율 도메인은 데이터의 유형이 숫자 유형인 데이터 중 달성율, 정확도, 원가율 등 비율을 포함하는 숫자를 의미할 수 있다. 좀 더 상세히 말하면, 율 도메인은 진척율, 증가율, 수익율, 변동율, 이자율, 가산율, 요율 등 매우 다양하게 정의되어 활용될 수 있으며, 이 때, 증가율, 수익율, 변동율 등은 계산식에 의해 산출될 수 있고, 이자율, 가산율, 요율 등은 다른 수치데이터의 산출에 적용되는 기준정보로 관리될 수 있다. 율 도메인의 예시로는 금리, 이율, 비율, 환율 또는 백분율 등이 있을 수 있다.
코드 도메인은 데이터의 유형이 숫자 또는 문자 유형인 데이터 중 사전에 정의된 항목으로 코드와 값을 포함할 수 있다. 예를 들면, 여자는 'F' 남자는 'M'으로 표현하는 경우, 'F', 'M'이 코드가 될 수 있고 여자와 남자가 값이 될 수 있다. 좀 더 상세히 말하면, 코드 도메인은 사용할 수 있는 데이터를 제한하거나 동일한 의미의 데이터를 동일 표현으로 관리하기 위해 간략한 코드값으로 대체된 데이터를 의미할 수 있고, 일반적으로 코드 도메인은 코드와 코드값으로 관리될 수 있다. 일 예로, 코드는 성별구분코드, 고객등급코드, 부서코드, 상품코드, 지역코드 등을 의미할 수 있고, 코드값은 성별구분코드의 'M', 'F' 등과 같이 해당 정보 항목에 데이터를 대표하거나 제한하기 위한 값을 의미할 수 있다. 코드 도메인은 표준화된 코드가 미리 정의되어 관리될 수 있다.
ID 도메인은 USER ID와 같이 사용자가 정의하는 고유한 값을 의미할 수 있다.
명칭 도메인은 소정 길이 이하의 문자열을 포함하며, 고객명, 상품명 등을 의미할 수 있다. 좀 더 상세히 말하면, 명칭 도메인은 다른 것과 식별하기 위하여 사물이나 인물, 단체 등에 붙이는 이름으로, 이름, 장소, 고객명, 영문고객명, URL, IP 등을 포함할 수 있다.
내용 도메인은 소정 길이 이상의 문자열을 포함하며, 게시물 내용 또는 자기소개서 내 등을 의미할 수 있다. 좀 더 상세히 말하면, 내용 도메인의 값은 사물 또는 행위에 대한 설명이나 참고가 될만한 내용들을 기술한 데이터를 의미할 수 있으며, 정의, 설명, 비고, 내용, 요약 등 예가 존재할 수 있다. 내용 도메인은 비정형 문자로 구성되는 특성을 가질 수 있다.
날짜 도메인은 연도, 연월, 연월일, 일자 등의 날짜를 의미할 수 있다. 좀 더 상세히 말하면, 날짜 도메인은 날짜로 관리되는 항목을 의미할 수 있으며, 접수일자, 등록일시, 결산년월, 전송시간 등 날짜 및 시간을 의미하는 데이터를 포함할 수 있다. 날짜 도메인의 데이터 타입은 DBMS에서 제공하는 날짜 데이터 타입을 사용하는 방법과 문자 타입을 사용할 수 있다. DBMS에서 제공하는 날짜 데이터 타입을 사용하는 경우에는 DBMS 자체에서 유효하지 않은 날짜 값을 체크하기 때문에 날짜 값의 오류가 거의 없으나, 문자 타입으로 정의하여 사용하는 경우에는 잘못된 날짜값이 입력될 수 있다.
플래그 도메인은 여부를 뜻하는 것으로, 0, 1, 'Y', 'N', '참', 거짓', 'True', False' 등 2개의 대향되는 값으로 구성될 수 있다. 좀 더 상세히 말하면, 플래그 도메인은 데이터의 표준화와 관리가 평이한 도메인 중에 하나로, 여부, 유무, 'Y', 'N' 또는 1, 0 등과 같이 2내지3개의 단순한 분류 값으로 구성될 수 있으며, 코드가 아닌 별개의 값으로 정의될 수 있다. 플래그 도메인에 저장되는 데이터는 항상 동일한 형태로 관리되어 정보 시스템 간의 정합성을 유지할 수 있다.
번호 도메인은 고객번호, 상품번호 등 순사적으로 증가하는 의미가 없는 숫자값을 의미할 수 있다. 좀 더 상세히 말하면, 번호 도메인은 문자 또는 숫자들의 조합에 의해 구성되며 대부분 내외부적인 번호 체 계에 따라 관리될 수 있다. 번호 도메인은 주민등록번호, 사업자등록번호, 우편번호, 법인번호, IP Address, 국제표준자료번호(ISBN/ISSN) 등과 같이 국내· 외 표준 번호 체계를 공통적으로 준수하는 데이터 또는, 사용자번호, 계좌번호, 허가번호, 승인번호, 등록번호, 상품번호 등과 같이 기업 내부적인 표준 번호 관리 체계에 따라 관리되는 데이터가 존재할 수 있다.
연락처 도메인은 주소, 이메일, 연락처와 같은 정보를 포함하는 데이터를 의미할 수 있다.
No 도메인 도메인 예시
1 금액 매출액, 판매액, 원가, 금액, 세금, 가격, 단가, 비용, 요금, 잔액, 총액
2 고객수, 상품수, 관객수, 건수, 매수, 회차, 개수, 거리, 규모, 길이, 무게, 속도, 횟수, 평형, 면적, 온도
3 달성율, 정확도, 원가율, 금리, 이율, 비율, 환율, 백분율
4 코드 성별코드, 약자코드, 등급코드
5 ID USER ID
6 명칭 고객명, 상품명, 주소, 장소
7 내용 자기소개서, 게시글, 내용, 비고, 설명, 정보, 요약
8 날짜 연, 월, 연월일, 연월, 시, 분, 초, 일, 반기, 분기
9 플래그 True, False
10 번호 고객번호, 상품번호, 게시번호
11 연락처 주소, 이메일, 연락처
표 2는 도메인 판별부(120)가 판별하는 도메인의 종류와 그 예시를 나타낸다. 다만, 도메인 판별부(120)를 통해 판별되는 도메인이 앞서 설명된 것들로 한정되는 것은 아니다. 예를 들면, 도메인 판별부(120)는 데이터를 식별하기 위한 키 도메인을 판별할 수 있으며, 분류되는 키 도메인은 데이터를 식별하기 위한 일차키(Primary Key), 데이터의 중복 방지를 위한 유일키(Unique Key), 데이터간의 참조관계를 식별하기 위한 외래키(Foreign Key) 등을 포함할 수 있다.
이와 같은 도메인 판별부(120)는 데이터 타입, 데이터 국문명 및 데이터 영문명을 포함하는 복수의 분류 기준 중 제 1 분류 기준 및 제 2 분류 기준에 기초하여 의사결정 트리 알고리즘을 통해 제 1 데이터의 도메인을 제 1 도메인으로 판별할 수 있으며, 복수의 분류 기준 중 제 2 분류 기준 및 제 3 분류 기준에 기초하여 의사결정 트리 알고리즘을 통해 제 2 데이터의 도메인을 제 2 도메인으로 판별하거나 또는, 복수의 분류 기준 중 제 1 분류 기준 및 제 3 분류 기준과 저장 결과에 기초하여 의사결정 트리 알고리즘을 통해 제 3 데이터의 도메인을 제 3 도메인으로 판별할 수 있다.
예를 들어, 도메인 판별부(120)는 다양한 분류 기준에 따라 어느 하나의 데이터에 대하여, 제 1 분류 기준이 데이터 타입이고, 제 2 분류 기준이 데이터 국문명인 경우, 데이터 타입이 숫자 타입이고, 데이터 국문명이 금액을 의미하는 형태소를 포함하면, 데이터를 금액 도메인으로 판별할 수 있고, 제 2 분류 기분이 데이터 타입이고, 제 3 분류 기분이 데이터 영문명인 경우, 데이터 타입이 숫자 타입이고, 데이터 영문명이 번호를 의미하는 약어, 코드 중 적어도 하나를 포함하면, 데이터를 번호 도메인으로 판별할 수 있다. 또한, 도메인 판별부(120)는 어느 하나의 데이터에 대하여 제 1 분류 기준이 데이터 타입이고, 제 3 분류 기준이 날짜 여부인 경우, 데이터 타입이 문자 또는 숫자 타입 중 어느 하나이고, 날짜 여부가 참 값을 가지는 경우, 데이터를 날짜 도메인으로 판별할 수도 있다. 이 때, 도메인 판별부(120)는 의사결정 트리 알고리즘을 통해 도메인을 판별할 수 있다.
다시 말해, 도메인 판별부(120)는 탐지 대상 데이터베이스(30) 내의 다양한 데이터 또는 컬럼에 대하여 다양한 분류 기준을 적용하고, 적용된 분류 기준에 기초하여 데이터 또는 컬럼에 대한 도메인을 판별할 수 있다.
도메인 판별부(120)는 제 1 데이터에 대하여 결정된 제 1 도메인을 데이터베이스(110)에 저장하고, 다른 데이터에 대한 도메인을 결정하는데 이용할 수 있다.
예를 들어, 도메인 판별부(120)는 제 2 분류 기준이 데이터 타입이고, 제 3 분류 기준이 200자 이상 여부인 경우, 데이터 타입이 문자열 타입이고, 200자 이상 여부가 참 값을 가지는 경우, 데이터를 내용 도메인으로 판별하고, 제 1 분류 기준이 데이터 타입이고, 제 2 분류 기준이 200자 이상 여부이고, 제 3 분류 기준이 데이터 국문명인 경우, 데이터 타입이 문자 타입 또는 문자열 타입이고, 제 200자 이상 여부가 거짓 값을 가지고, 국문 명이 이름을 의미하는 형태소를 포함하면, 데이터를 명칭 도메인으로 판별할 수 있다. 이후, 도메인 판별부(120)는 제 2 데이터의 도메인을 제 2 도메인으로 데이터베이스(110)에 저장할 수 있다.
다른 예에서, 도메인 판별부(120)는 다양한 분류 기준에 기초하여 어느 하나의 데이터에 대하여 데이터 타입이 문자 유형이고, 데이터 국문명이 '일'이고, 데이터 영문명이 'YMD'이고, 날짜 여부가 참 값을 갖는 경우, 해당 데이터에 대한 도메인을 날짜로 결정할 수 있다. 이후, 도메인 판별부(120)는 해당 데이터에 대하여 결정된 도메인과 그 분류 기준을 저장하고, 다른 데이터에 대하여 도메인을 판별하는데 이용할 수 있다. 좀 더 상세히 말하면, 도메인 판별부는 어느 하나의 데이터에 대한 도메인을 날짜 도메인으로 판별한 이후, 다른 데이터에 대하여 데이터의 유형이 문자이고, 데이터 국문명이 '시간'이고, 데이터 영문명이 'TIME'이고, 날짜 여부가 참 값을 가지는 경우, 분류 기준 및 데이터베이스(110)에 저장된 도메인 판별 결과에 기초하여 다른 데이터에 대한 도메인을 날짜 도메인으로 판별할 수 있다.
다시 말해, 데이터베이스(110)에 저장된 도메인 판별 결과 역시 하나의 분류 기준으로, 도메인 판별에 이용될 수 있다.
이하에서는 도메인 판별부(120)를 통해 도메인을 판별하는 과정을 도 3a 내지 도 3b을 통해 자세히 설명하고자 한다. 도 3a는 본원의 일 실시예에 따른 데이터의 도메인을 판별하는 과정을 나타내는 도면이고, 도3b는 탐지 대상 데이터베이스(30)에 대한 분류 기준과 도메인 판별 결과를 나타내는 예시를 나타낸다. 도 3a를 참조하면, 도메인 판별부(120)는 탐지 대상 데이터베이스(30)에 포함된 복수의 데이터에 대하여 다양한 분류 기준에 따라 단계 S301에서 데이터 국문명이 '금액'인 데이터 1791건을 금액 도메인으로 판별하고, 단계 S302에서 자릿수 변동 여부가 'N' 값을 가지는 데이터 1480건을 금액 도메인으로 판별하고, 단계 S303에서 데이터 타입이 숫자 유형인 데이터 737건을 금액 도메인으로 판별하고, 단계 S304에서 데이터 영문명이 'QTY'인 데이터 354건을 금액 도메인으로 판별할 수 있다.
한편, 도메인 판별부(120)는 단계 S305에서 데이터 국문명이 '금액'이 아닌 데이터에 대하여 데이터 타입이 숫자 타입이 아닌 데이터 743건을 명칭 도메인으로 판별하고, 단계 S306에서 글자 200자 이상 여부가 'Y' 값을 가지는 데이터 165건을 내용 도메인으로 판별하고, 단계 S307에서 글자 200자 이상 여부가 참 값을 가지는 데이터 578건을 명칭 도메인으로 판별할 수 있다. 한편, 도메인 판별부(120)는 단계 S308에서 날짜 여부가 참 값을 가지는 데이터 111건을 날짜 도메인으로 판별하고, 단계 S309에서 날짜 여부가 거짓 값을 가지는 데이터 467건을 명칭 데이터로 판별할 수 있다.
도메인 판별부(120)는 단계를 거치면서 다양한 분류 기준에 기초하여 많은 분류 기준을 만족시키는 데이터에 대하여 도메인을 판별함으로써, 판별 결과의 신뢰성을 높일 수 있다. 일 예로, 단계 S302는 단계 S301의 조건을 포함하고, 데이터 국문명이 '금액'이고, 자릿수 변동 여부가 'N' 값을 가지는 데이터를 금액 도메인으로 결정할 수 있으며, 단계 S303에서는 단계 S302 및 단계 S301의 조건을 포함하여, 데이터 국문명이 '금액'이고, 자릿수 변동 여부가 'N' 값을 가지고, 데이터의 유형이 숫자 유형인 데이터를 금액 도메인으로 결정할 수 있다. 금액 도메인을 판별하는 다양한 분류 기준을 만족할수록 도메인 판별부(120)의 판별 결과에 대한 정확도가 증가하는 효과를 가질 수 있다.
도 3b를 참조하면, 도메인 판별부(120)는 어느 하나의 데이터 또는 제1 데이터가 데이터 타입이 문자 타입이고, 데이터 국문명이 '일'이며, 소수점 여부가 'N' 값을 가지고, 데이터 영문명이 'YMD'이고, 날짜 여부가 'Y' 값을 가지고, 글자 200자 이상 여부가 'N' 값을 가지는 경우, 즉, 어느 하나의 데이터가 상기된 분류 기준을 만족하는 경우 도메인 판별부(120)는 해당 데이터를 날짜 도메인으로 판별할 수 있다.
도메인 판별부(120)는 분류 기준의 일부를 만족하는 경우에도 도메인을 판별할 수 있다. 일 예로, 데이터 타입이 숫자이고, 데이터 국문명이 '자'이고, 소수점 여부가 'Y' 값을 가질 지라도, 데이터베이스(110)에 축적된 분류 기준에 기초하여 데이터 영문명이 'YMD'이고, 날짜 여부가 'Y' 값을 가지는 경우, 해당 데이터의 도메인을 날짜 도메인으로 판별할 수 있다.
즉, 도메인 판별부(120)는 데이터베이스(110)에 저장된 도메인 판별 결과 및 빅데이터에 기초한 머신 러닝 알고리즘 또는 의사결정 트리 알고리즘 등에 기초하여 다양한 분류 기준의 만족 여부 또는 분류 기준의 조합에 대해서도, 도메인을 결정할 수 있다. 일 예로, 도 3b에 도시되지 않았으나, 도메인 판별부(120)는 데이터 타입이 문자 유형이고, 데이터 영문명이 'SEC'이고, 날짜 여부가 'Y' 값을 가지는 경우, 머신 러닝 알고리즘 또는 의사결정 트리 알고리즘을 통해, 해당 데이터에 대한 도메인을 날짜 도메인으로 판별할 수 있고, 이를 저장하여 다음 데이터의 분류 기준으로서 사용할 수 있다.
도메인 사용 알고리즘 분류 기준 예시
금액 의사결정 트리 알고리즘 데이터 타입, 데이터 국문명, 데이터 영문명숫자 타입 데이터만 포함 가능
의사결정 트리 알고리즘 데이터 타입, 데이터 국문명숫자 타입 데이터만 포함 가능
의사결정 트리 알고리즘규칙기반 알고리즘 데이터 타입, 데이터 국문명, 데이터 영문명숫자 타입 데이터만 포함 가능
코드 의사결정 트리 알고리즘규칙기반 알고리즘 데이터 타입, 데이터 국문명, 데이터 영문명자릿수가 변경될 수 없음
ID 의사결정 트리 알고리즘 데이터 타입, 데이터 국문명, 데이터 영문명
명칭 의사결정 트리 알고리즘규칙기반 알고리즘 데이터 타입, 데이터 국문명, 데이터 영문명데이터가 200자를 넘을 수 없음
내용 의사결정 트리 알고리즘규칙기반 알고리즘 데이터 타입, 데이터 국문명, 데이터 영문명데이터가 200자를 초과할 수 있음
날짜 의사결정 트리 알고리즘규칙기반 알고리즘 데이터 타입, 데이터 국문명, 데이터 영문명
플래그 의사결정 트리 알고리즘규칙기반 알고리즘 데이터 타입, 데이터 국문명, 데이터 영문명
번호 의사결정 트리 알고리즘규칙기반 알고리즘 데이터 타입, 데이터 국문명, 데이터 영문명자릿수가 변경될 수 없음
연락처 의사결정 트리 알고리즘 데이터 타입, 데이터 국문명, 데이터 영문명
표 3을 참조하면 도메인 판별에 사용되는 알고리즘 및 대표적인 분류 기준을 나타낸다. 도메인 판별부(120)는 도메인 판별에 대하여 판별의 기준이 되는 분류 기준을 데이터 타입, 데이터 국문명 및 데이터 영문명을 판별할 수 있으나, 이 밖에도 도메인의 특성에 기초하여 소수점 여부, 날짜 여부, 숫자 여부, 유니크 건수, 글자 200자 이상 여부, 및 자릿수 변동 여부 등 다양한 분류 기준에 따라 도메인을 판별할 수도 잇다.
도 4는 본원의 일 실시예에 따른 데이터의 도메인을 판별하는 과정을 나타내는 흐름도이다. 도 4를 참조하면, 단계 S401에서 도메인 판별 장치(10)는 표준 데이터 사전(20)에 기초하여 도메인 판별을 위한 분류 기준에 대한 데이터를 학습하고, 단계 S402에서 학습 결과를 데이터베이스(110)에 저장할 수 있다. 이후 단계 S403에서 도메인 판별 장치(10)는 학습 결과에 기초하여 탐지 대상 데이터베이스(30)에 포함된 데이터에 대하여 도메인 판별을 수행하고, 단계 S404에서 판별된 도메인 또는 판별에 이용된 분류 기준 등 도메인과 관련된 정보를 데이터베이스(110)에 저장할 수 있다. 단계 S405에서 도메인 판별 장치(10)는 복수의 분류 기준 및 데이터베이스에 저장된 저장 결과에 기초하여 의사 결정 트리 알고리즘을 통해 다른 데이터에 대한 도메인을 판별할 수 있다.
즉, 본원의 일 실시예에 따른 도매인 판별 장치(10)는 탐지 대상 데이터베이스(30)에 대하여 의사결정 트리 알고리즘에 기반한 인공지능을 통해 도메인 판별을 수행할 수 있으며, 도메인 판별의 횟수가 많아질수록 학습을 통해 도메인 판별에 대한 정확도가 증가하여, 데이터 품질관리의 신뢰도가 증가할 수 있다.
도 5는 본원의 일 실시예에 따른 데이터의 도메인을 판별하는 흐름을 나타내는 동작 흐름도이다. 도 5에 도시된 도메인 판별 방법은 도 1 내지 도 4를 통해 설명된 도메인 판별 장치(10)의 동작을 수행한다. 따라서 도 5에서 설명되지 않은 내용은 도 1 내지 도 4를 통해 설명된 도메인 판별 장치(10)의 설명에도 적용되므로 자세한 설명은 생략된다.
도 5를 참조하면, 도메인 판별 장치(10)는 단계 S501에서 데이터 타입, 데이터 국문명 및 데이터 영문명을 포함하는 복수의 분류 기준 중 제 1 분류 기준 및 제 2 분류 기준에 기초하여 의사결정 트리 알고리즘을 통해 제 1 데이터의 도메인을 제 1 도메인으로 판별하고, 단계 S502에서 제 1 데이터의 도메인을 제 1 도메인으로 저장한다.
단계 S503에서 도메인 판별 장치(10)는 데이터 타입, 데이터 국문명 및 데이터 영문명을 포함하는 복수의 분류 기준 중 제 2 분류 기준 및 제 3 분류 기준과 저장 결과에 기초하여 의사결정 트리 알고리즘을 통해 제 2 데이터의 도메인을 제 2 도메인으로 판별할 수 있다.
본원은 빅데이터를 적용한 시스템 내에서 인공지능 기반의 도메인 자동 판별을 수행함으로써, 빅 데이터에 대한 품질의 신뢰성을 향상시키기 위한 장치 및 방법을 제공할 수 있다. 이를 위해 본원은 데이터 품질 가이드라인에서 정의하고 있는 도메인에 대하여 자동으로 판별하기 위한 다양한 분류 기준을 통해 도메인을 판별할 수 있다.
본원은 표준 데이터 사전을 기반으로 인공지능을 통한 선행학습을 수행하고, 선행학습 결과를 기반으로 담지 대상 데이터베이스에 대한 도메인 판별을 수행할 수 있다. 도메인 판별 결과 역시 저장하여 학습함으로써, 도메인 판별의 정확도를 증가시킬 수 있으며, 새로운 도메인의 유형이 발견되는 경우에도 이를 학습하여 도메인 판별에 이용할 수 있다. 이러한 본원은 데이터 품질 관리를 위해 엔지니어가 수작업으로 진행하던 업무를 자동화 할 수 있으며, 자동화 함으로써, 투입인력을 최소화하고, 인력의 개입 없이 지속적인 데이터 품질 관리를 수행할 수 있다.
전술한 본원의 설명은 예시를 위한 것이며, 본원이 속하는 기술분야의 통상의 지식을 가진 자는 본원의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본원의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본원의 범위에 포함되는 것으로 해석되어야 한다.

Claims (12)

  1. 데이터의 도메인을 판별하는 방법에 있어서,
    데이터 타입, 데이터 국문명 및 데이터 영문명을 포함하는 복수의 분류 기준 중 제 1 분류 기준 및 제 2 분류 기준에 기초하여 의사결정 트리 알고리즘을 통해 제 1 데이터의 도메인을 제 1 도메인으로 판별하는 단계;
    상기 제 1 데이터의 도메인을 제 1 도메인으로 저장하는 단계; 및
    상기 데이터 타입, 상기 데이터 국문명 및 상기 데이터 영문명을 포함하는 복수의 분류 기준 중 상기 제 2 분류 기준 및 제 3 분류 기준과 상기 저장 결과에 기초하여 의사결정 트리 알고리즘을 통해 제 2 데이터의 도메인을 제 2 도메인으로 판별하는 단계를 포함하는 도메인 판별 방법.
  2. 제 1 항에 있어서,
    상기 제 2 도메인으로 판별하는 단계 이후에,
    상기 데이터 타입, 상기 데이터 국문명 및 상기 데이터 영문명을 포함하는 복수의 분류 기준 중 상기 제 1 분류 기준 및 상기 제 3 분류 기준과 상기 저장 결과에 기초하여 상기 의사결정 트리 알고리즘을 통해 제 3 데이터의 도메인을 제 3 도메인으로 판별하는 단계를 더 포함하는 것인, 도메인 판별 방법.
  3. 제 1 항에 있어서,
    상기 데이터 타입은 상기 데이터의 컬럼의 타입(Type)에 따라 숫자 타입, 문자 타입 및 문자열 타입 중 어느 하나로 분류하는 것이고,
    상기 제 1 도메인으로 판별하는 단계는
    상기 데이터 타입에 기초하여 상기 의사결정 트리 알고리즘을 통해 상기 제 1 데이터의 도메인을 제 1 도메인으로 판별하는 것인, 도메인 판별 방법.
  4. 제 1 항에 있어서,
    상기 데이터 국문명은 상기 데이터의 컬럼이 국문인 경우, 상기 컬럼을 형태소 단위로 분리하고, 상기 분리된 형태소 중 어느 하나를 선정하는 것이고,
    상기 제 1 도메인으로 판별하는 단계는
    상기 데이터 국문명에 기초하여 상기 의사결정 트리 알고리즘을 통해 상기 제 1 데이터의 도메인을 제 1 도메인으로 판별하는 것인, 도메인 판별 방법.
  5. 제 1 항에 있어서,
    상기 데이터 영문명은 상기 데이터의 컬럼이 영문인 경우, 상기 컬럼 중 소정 기호를 기준으로 일정 부분을 선정하는 것이고,
    상기 제 1 도메인으로 판별하는 단계는
    상기 데이터 영문명에 기초하여 상기 의사결정 트리 알고리즘을 통해 상기 제 1 데이터의 도메인을 제 1 도메인으로 판별하는 것인, 도메인 판별 방법.
  6. 제 1 항에 있어서,
    상기 제 1 도메인으로 판별하는 단계는,
    상기 제 1 분류 기준이 상기 데이터 타입이고, 상기 제 2 분류 기준이 상기 데이터 국문명인 경우, 상기 데이터 타입이 숫자 타입이고, 상기 데이터 국문명이 금액을 의미하는 형태소를 포함하면, 상기 의사결정 트리 알고리즘을 통해 상기 제 1 데이터를 금액 도메인으로 판별하는 것인, 도메인 판별 방법.
  7. 제 1 항에 있어서,
    상기 제 2 도메인으로 판별하는 단계는,
    상기 제 2 분류 기분이 상기 데이터 타입이고, 상기 제 3 분류 기분이 데이터 영문명인 경우, 상기 데이터 타입이 숫자 타입이고, 상기 데이터 영문명이 번호를 의미하는 약어, 코드 중 적어도 하나를 포함하면, 상기 의사결정 트리 알고리즘을 통해 상기 제2 데이터를 번호 도메인으로 판별하는 것인, 도메인 판별 방법.
  8. 제 2 항에 있어서,
    상기 제 3 도메인으로 판별하는 단계는,
    상기 제 1 분류 기준이 데이터 타입이고, 상기 제 3 분류 기준이 날짜 여부인 경우, 상기 데이터 타입이 문자 또는 숫자 타입 중 어느 하나이고, 상기 날짜 여부가 참 값을 가지면, 상기 의사결정 트리 알고리즘을 통해 상기 제 3 데이터를 날짜 도메인으로 판별하는 것인, 도메인 판별 방법.
  9. 제 1 항에 있어서,
    상기 제 2 도메인으로 판별하는 단계는,
    상기 제 2 분류 기준이 데이터 타입이고, 상기 제 3 분류 기준이 200자 이상 여부인 경우, 상기 데이터 타입이 문자열 타입이고, 상기 200자 이상 여부가 참 값을 가지면, 상기 의사결정 트리 알고리즘을 통해 상기 제 2 데이터를 내용 도메인으로 판별하는 것인, 도메인 판별 방법.
  10. 제 1 항에 있어서,
    상기 제 2 도메인으로 판별하는 단계는,
    상기 제 1 분류 기준이 데이터 타입이고, 상기 제 2 분류 기준이 200자 이상 여부이고, 상기 제 3 분류 기준이 데이터 국문명인 경우, 상기 데이터 타입이 문자 타입 또는 문자열 타입이고, 상기 제 200자 이상 여부가 거짓 값을 가지고, 상기 국문 명이 이름을 의미하는 형태소를 포함하면, 상기 의사결정 트리 알고리즘을 통해 상기 제 2 데이터를 명칭 도메인으로 판별하는 것인, 도메인 판별 방법.
  11. 제 1 항에 있어서,
    상기 제 2 도메인으로 판별하는 단계 이후에,
    상기 제 2 데이터의 도메인을 제 2 도메인으로 저장하는 단계를 더 포함하는 것인, 도메인 판별 방법.
  12. 데이터의 도메인을 판별하는 장치에 있어서,
    데이터 타입, 데이터 국문명 및 데이터 영문명을 포함하는 복수의 분류 기준 중 제 1 분류 기준 및 제 2 분류 기준에 기초하여 의사결정 트리 알고리즘을 통해 제 1 데이터의 도메인을 제 1 도메인으로 판별하는 도메인 판별부; 및
    상기 제 1 데이터의 도메인을 제 1 도메인으로 저장하는 데이터베이스를 포함하되,
    상기 도메인 판별부는 상기 데이터 타입, 상기 데이터 국문명 및 상기 데이터 영문명을 포함하는 복수의 분류 기준 중 상기 제 2 분류 기준 및 제 3 분류 기준과 상기 저장 결과에 기초하여 의사결정 트리 알고리즘을 통해 제 2 데이터의 도메인을 제 2 도메인으로 판별하는 것인, 도메인 판별 장치.
PCT/KR2018/000580 2017-02-24 2018-01-12 데이터의 도메인을 판별하는 장치 및 그 방법 WO2018155816A1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020170024634A KR101930034B1 (ko) 2017-02-24 2017-02-24 데이터의 도메인을 판별하는 장치 및 그 방법
KR10-2017-0024634 2017-02-24

Publications (1)

Publication Number Publication Date
WO2018155816A1 true WO2018155816A1 (ko) 2018-08-30

Family

ID=63253899

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2018/000580 WO2018155816A1 (ko) 2017-02-24 2018-01-12 데이터의 도메인을 판별하는 장치 및 그 방법

Country Status (2)

Country Link
KR (1) KR101930034B1 (ko)
WO (1) WO2018155816A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109815085A (zh) * 2018-12-29 2019-05-28 北京城市网邻信息技术有限公司 告警数据的分类方法、装置和电子设备及存储介质
CN110795335A (zh) * 2019-09-24 2020-02-14 北京首钢自动化信息技术有限公司 一种为参数设定的参数域校验方法

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10915792B2 (en) * 2018-09-06 2021-02-09 Nec Corporation Domain adaptation for instance detection and segmentation

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008181459A (ja) * 2007-01-26 2008-08-07 Mitsubishi Electric Corp テーブル分類装置
JP2009217499A (ja) * 2008-03-10 2009-09-24 Fuji Xerox Co Ltd 文書分類プログラム及び文書分類装置
JP2009244950A (ja) * 2008-03-28 2009-10-22 Internatl Business Mach Corp <Ibm> 情報分類システム、情報処理装置、情報分類方法およびプログラム
JP2010039593A (ja) * 2008-08-01 2010-02-18 Mitsubishi Electric Corp テーブル分類装置、テーブル分類方法及びテーブル分類プログラム
US20150161743A1 (en) * 2013-12-06 2015-06-11 Mastercard International Incorporated System and method for automatically classifying transaction information

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008181459A (ja) * 2007-01-26 2008-08-07 Mitsubishi Electric Corp テーブル分類装置
JP2009217499A (ja) * 2008-03-10 2009-09-24 Fuji Xerox Co Ltd 文書分類プログラム及び文書分類装置
JP2009244950A (ja) * 2008-03-28 2009-10-22 Internatl Business Mach Corp <Ibm> 情報分類システム、情報処理装置、情報分類方法およびプログラム
JP2010039593A (ja) * 2008-08-01 2010-02-18 Mitsubishi Electric Corp テーブル分類装置、テーブル分類方法及びテーブル分類プログラム
US20150161743A1 (en) * 2013-12-06 2015-06-11 Mastercard International Incorporated System and method for automatically classifying transaction information

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109815085A (zh) * 2018-12-29 2019-05-28 北京城市网邻信息技术有限公司 告警数据的分类方法、装置和电子设备及存储介质
CN110795335A (zh) * 2019-09-24 2020-02-14 北京首钢自动化信息技术有限公司 一种为参数设定的参数域校验方法

Also Published As

Publication number Publication date
KR20180097892A (ko) 2018-09-03
KR101930034B1 (ko) 2019-03-14

Similar Documents

Publication Publication Date Title
WO2018155817A1 (ko) 이상탐지시스템 내의 데이터에 대한 이상을 탐지하는 장치 및 그 방법
WO2018155816A1 (ko) 데이터의 도메인을 판별하는 장치 및 그 방법
Lansley et al. Creating a linked consumer register for granular demographic analysis
WO2009145472A1 (ko) 소상공인의 영업점 입지적합도 및 매출등급 계산 시스템 및 방법
WO2020040537A1 (ko) 건축규정 분류체계별 건축규정 법령정보 검색 시스템 및 그 방법
KR101125417B1 (ko) 데이터 품질 진단 방법과 시스템
Ma et al. Missing links between regulatory resources and risk concerns: Evidence from the case of food safety in China
Chi et al. A new attribute-linked residential property price dataset for England and Wales, 2011–2019
CN112052396A (zh) 课程匹配方法、系统、计算机设备和存储介质
Lindeberg The ambiguous identity of auditing
Poplavska et al. From prescription to description: Mapping the GDPR to a privacy policy corpus annotation scheme
CN116595173A (zh) 政策信息管理的数据处理方法、装置、设备及存储介质
CN110222180B (zh) 一种文本数据分类与信息挖掘方法
Mutemaringa et al. Record linkage for routinely collected health data in an African health information exchange
RU2549515C2 (ru) Способ выявления персональных данных открытых источников неструктурированной информации
Bachtrögler et al. Dataset of projects co-funded by the ERDF during the multi-annual financial framework 2014-2020
CN113204644A (zh) 一种基于知识图谱的政务百科构建方法
Duke-Williams et al. Census interaction data and their means of access
WO2014017678A1 (ko) 특허 평가 시스템 및 그 시스템의 정보 처리 방법
Lin et al. Semantic matching against a corpus: New applications and methods
CN117041207B (zh) 一种基于大数据分析的域名管理与服务方法
Peconi et al. Does deprivation affect the demand for NHS Direct? Observational study of routine data from Wales
Palumbo et al. Accuracy of Data for Employment Status as Measured by the CPS-Census 2000 Match
Benjamin et al. Improving Water Utilities' Access to Source Water Protection and Emergency Response Data
Tallett et al. How can patient experience scores be used to predict quality inspection ratings? A retrospective cross-sectional study of national primary care datasets in the UK

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 18757714

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18757714

Country of ref document: EP

Kind code of ref document: A1