Apparatus and method for data mapping between heterogeneous systems based on artificial intelligence

KR103016877B1Active Publication Date: 2026-09-09YESNET CO LTD
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
KR1020250157411
Authority / Receiving Office
KR · KR
Patent Type
Patents
Current Assignee / Owner
Filing Date
2025-10-28
Publication Date
2026-09-09
Estimated Expiration
2045-10-28

Smart Images

  • Figure 112025119867519-PAT00021_ABST
    Figure 112025119867519-PAT00021_ABST
Patent Text Reader

Abstract

An apparatus and method for data mapping between heterogeneous systems based on artificial intelligence are disclosed. In an apparatus for data mapping between heterogeneous systems based on artificial intelligence, the apparatus according to one embodiment comprises a processor and a memory for storing instructions executable by the processor, wherein the processor collects first data configured according to a first schema from a first system, collects second data configured according to a second schema from a second system different from the first system, and generates target mapping data by performing mapping of the first data and the second data using an artificial intelligence model learned based on past mapping history and past schema history.
Need to check novelty before this filing date? Find Prior Art

Description

Technology Field

[0001] The embodiments relate to a device and method for data mapping between heterogeneous systems based on artificial intelligence. Background Technology

[0002] In corporate environments, various information systems such as ERP (Enterprise Resource Planning), CRM (Customer Relationship Management), and SCM (Supply Chain Management) are introduced and operated across different business areas. These systems are often built on different vendors or platforms, and their data structures, code schemes, and data formats differ from one another.

[0003] For example, it is common for data of the same concept to exist in different names and formats, such as managing products by item code in one system and by SKU (Stock Keeping Unit) code in another.

[0004] Data inconsistency between these heterogeneous systems has acted as a major factor making data exchange and integration between internal or external corporate systems difficult.

[0005] Traditionally, data transformation tools based on the Extract-Transform-Load (ETL) method have been primarily used for data linkage between heterogeneous systems. The ETL method performs a procedure in which data is extracted from a source system, transformed according to predefined transformation rules, and loaded into a target system.

[0006] However, this method has the problem of being difficult to maintain because the conversion rules must be manually modified whenever the system-specific data schema or code system changes, and it is inefficient in environments where real-time data synchronization is required. means of solving the problem

[0007] In a data mapping device between heterogeneous systems based on artificial intelligence, the data mapping device according to one embodiment includes a processor and a memory that stores instructions executable by the processor, and the processor collects first data configured according to a first schema from a first system, collects second data configured according to a second schema from a second system different from the first system, and generates target mapping data by performing mapping of the first data and the second data using an artificial intelligence model learned based on past mapping history and past schema history.

[0008] The processor may generate the target mapping data based on the schema history when a mapping history exists between the first data and the second data, and when no mapping history exists, generate a plurality of candidate mapping data based on the similarity between the first data and the second data, and provide the plurality of candidate mapping data to an end user.

[0009] The processor may, if the mapping history exists, search the schema history of the first schema and the second schema, and if the first schema and the second schema are identical to the schema history, generate the target mapping data by automatically mapping the first data and the second data, and if the first schema and the second schema are different from the schema history, send a request for approval of the result of the automatic mapping of the first data and the second data to the end user.

[0010] If the above processor does not have the above mapping history, it can generate normalized first data and normalized second data by normalizing the above first data and the above second data based on a predefined reference code rule, calculate the similarity based on the string, attribute, pattern, and semantic of the normalized first data and the normalized second data, and determine the plurality of candidate mapping data based on the similarity.

[0011] The processor determines whether the target mapping data includes sensitive information, and if the target mapping data includes sensitive information, it may transmit a query to the end user of the data mapping device to determine whether to transmit the sensitive information.

[0012] The processor determines whether the target mapping data is automatically transmitted and can store a log record of the automatically transmitted target mapping data in the memory.

[0013] The processor can determine the case where the mapping history exists and the first schema and the second schema are identical to the schema history as the automatically transmitted target mapping data.

[0014] The processor can calculate the string similarity between the first data and the second data, calculate the attribute similarity between the first data and the second data, calculate the pattern similarity between the first data and the second data, calculate the semantic similarity between the first data and the second data, and calculate the similarity based on a combination of the string similarity, the attribute similarity, the pattern similarity, and the semantic similarity.

[0015] The processor calculates string similarity based on the Levenshtein distance, TF-IDF (Term Frequency-Inverse Document Frequency) vector cosine, and character embedding cosine between a string included in the first data and a string included in the second data; calculates quantity similarity based on a log-scale kernel of the quantity included in the first data and the quantity included in the second data; calculates ex-factory price similarity based on a log-scale kernel of the ex-factory price included in the first data and the ex-factory price included in the second data; calculates attribute similarity based on quantity similarity and ex-factory price similarity; calculates pattern similarity based on the similarity between a first pattern vector generated based on the prefix structure, suffix structure, ratio of numbers and characters, delimiter placement rules, and ratio of character classes of the code included in the first data, and a second pattern vector generated based on the prefix structure, suffix structure, ratio of numbers and characters, delimiter placement rules, and ratio of character classes of the code included in the second data; and the name, option name, or specification of the first data is a dictionary A first embedding vector is generated by inputting the name, option name, or specification of the second data into a pre-trained language model, and a second embedding vector is generated by inputting the name, option name, or specification of the second data into a pre-trained language model, and the semantic similarity can be calculated based on the first embedding vector and the second embedding vector. Effects of the invention

[0016] The embodiments can efficiently perform data transformation by automatically inferring the correspondence relationship between data items between different systems through data mapping using artificial intelligence (AI).

[0017] The embodiments can ensure interoperability between various data sources in large-scale database or cloud platform environments by automatically performing data mapping.

[0018] The embodiments can increase data compatibility between heterogeneous systems and improve the efficiency of data integration by performing data mapping based on artificial intelligence.

[0019] In addition, various effects that can be identified directly or indirectly through this document may be provided. Brief explanation of the drawing

[0020] FIG. 1 shows a schematic block diagram of a data mapping device according to one embodiment. Figure 2 shows an example of an implementation of the data mapping device illustrated in Figure 1. Figure 3 is a diagram illustrating the operation of the mapping engine shown in Figure 2. Figure 4 is a diagram illustrating the similarity measurement operation of the recommendation engine shown in Figure 2. Figure 5 is a diagram illustrating the process by which the recommendation engine shown in Figure 2 determines target mapping data through an end user. Figure 6 shows the flow of operation of the data mapping device illustrated in Figure 1. Specific details for implementing the invention

[0021] Specific structural or functional descriptions of the embodiments are disclosed for illustrative purposes only and may be modified and implemented in various forms. Accordingly, actual implementations are not limited to the specific embodiments disclosed, and the scope of this specification includes modifications, equivalents, or substitutions included in the technical concept described by the embodiments.

[0022] Terms such as "first" or "second" may be used to describe various components, but these terms should be interpreted solely for the purpose of distinguishing one component from another. For example, the first component may be named the second component, and similarly, the second component may be named the first component.

[0023] When it is stated that a component is "connected" to another component, it should be understood that it may be directly connected to or joined to that other component, or that there may be other components in between.

[0024] Singular expressions include plural expressions unless the context clearly indicates otherwise. In this document, phrases such as “A or B,” “at least one of A and B,” “at least one of A or B,” “A, B or C,” “at least one of A, B and C,” and “at least one of A, B, or C” may each include any one of the items listed together with the corresponding phrase, or all possible combinations thereof. In this specification, terms such as “comprising” or “having” are intended to designate the existence of the described feature, number, step, action, component, part, or combination thereof, and should be understood as not precluding the existence or addition of one or more other features, numbers, steps, actions, components, parts, or combinations thereof.

[0025] Unless otherwise defined, all terms used herein, including technical or scientific terms, have the same meaning as generally understood by those skilled in the art. Terms such as those defined in commonly used dictionaries should be interpreted as having a meaning consistent with their meaning in the context of the relevant technology, and should not be interpreted in an ideal or overly formal sense unless explicitly defined in this specification.

[0026] As used herein, the term "module" may include a unit implemented in hardware, software, or firmware, and may be used interchangeably with terms such as logic, logic block, component, or circuit. A module may be a component formed integrally, or a minimum unit of said component or a part thereof that performs one or more functions. For example, according to one embodiment, a module may be implemented in the form of an application-specific integrated circuit (ASIC).

[0027] As used in this document, the term "part" refers to a software or hardware component, such as an FPGA or ASIC, that performs certain roles. However, "part" is not limited to software or hardware. "Part" may be configured to reside in an addressable storage medium or configured to operate one or more processors. For example, "part" may include components such as software components, object-oriented software components, class components, and task components, as well as processes, functions, attributes, procedures, subroutines, segments of program code, drivers, firmware, microcode, circuits, data, databases, data structures, tables, arrays, and variables. The functions provided within the components and "parts" may be combined into a smaller number of components and "parts" or further separated into additional components and "parts." Furthermore, components and "parts" may be implemented to operate one or more CPUs within a device or secure multimedia card. Additionally, '~part' may include one or more processors.

[0028] Hereinafter, embodiments will be described in detail with reference to the attached drawings. In the description with reference to the attached drawings, identical components are given the same reference numeral regardless of the drawing number, and redundant descriptions thereof will be omitted.

[0030] FIG. 1 shows a schematic block diagram of a data mapping device according to one embodiment.

[0031] Referring to FIG. 1, the data mapping device (10) can perform data mapping between heterogeneous systems based on artificial intelligence.

[0032] A heterogeneous system may refer to two or more information processing systems having different data structures, schemas, data formats, database structures, or communication protocols.

[0033] Heterogeneous systems can operate based on different platforms, operating systems, or applications. For example, heterogeneous systems may include an internal Enterprise Resource Planning (ERP) system and an external e-commerce platform, a Manufacturing Execution System (MES) and a Warehouse Management System (WMS), and a local database and a cloud-based database.

[0034] Since heterogeneous systems use independent data models and code systems, data of the same concept can be managed using different identifiers or formats.

[0035] The data mapping device (10) can perform data mapping to resolve structural or format inconsistency between heterogeneous systems.

[0036] Data mapping may include the process of defining, creating, storing, and / or updating correspondence relationships between data for different data fields or data structures existing between heterogeneous systems.

[0037] Data mapping may include data normalization, similarity computation, mapping relationship generation, and mapping result storage and / or mapping history management.

[0038] Data normalization may include the process of converting the code system, data type, or unit used by the data in each system into a consistent format according to predefined reference code rules.

[0039] Similarity calculation may include a process of calculating a similarity score by comparing elements constituting data, such as strings, attributes, patterns, and / or semantics, between data items of the first system and the second system.

[0040] The creation of mapping relationships may include a process of matching identical or similar data items between different systems based on similarity scores, or generating multiple candidate mappings.

[0041] Mapping result storage and history management can maintain or manage mapping validity by recording confirmed mapping relationships in a repository such as a vector database (Vector DB) and tracking whether the schema has changed.

[0042] Data mapping is a core process for automating data exchange, integration, transformation, or synchronization between systems, and the data mapping device (10) can automatically generate similarity-based mapping candidates using an artificial intelligence model and perform an auto transfer or user approval procedure according to existing mapping history and schema history.

[0043] The data mapping device (10) can be implemented as a printed circuit board (PCB), such as a motherboard, an integrated circuit (IC), or a system on chip (SoC). The device (10) can be implemented as an application processor.

[0044] Additionally, the data mapping device (10) can be implemented in a PC (personal computer), data server, kiosk, or portable device.

[0045] Portable devices can be implemented as laptop computers, mobile phones, smartphones, tablet PCs, mobile internet devices (MID), personal digital assistants (PDA), enterprise digital assistants (EDA), digital still cameras, digital video cameras, portable multimedia players (PMP), personal navigation devices (PND), handheld game consoles, e-books, or smart devices. Smart devices can be implemented as smart watches, smart bands, or smart rings.

[0046] The data mapping device (10) can perform data mapping between heterogeneous systems based on artificial intelligence.

[0047] Artificial intelligence can refer to a computer system equipped with functions such as learning, reasoning, or judgment. Artificial intelligence can be implemented using neural networks.

[0048] Neural networks (or artificial neural networks) in machine learning and cognitive science can include statistical learning algorithms that mimic biological neurons. A neural network can refer to a model in general that possesses problem-solving capabilities by having artificial neurons (nodes), which form a network through synaptic connections, change the strength of these connections through learning.

[0049] Neurons in a neural network may include a combination of weights or biases. A neural network may include one or more neurons or one or more layers composed of nodes. A neural network can infer a result to be predicted from an arbitrary input by changing the weights of the neurons through learning.

[0050] Neural networks can include deep neural networks. Neural networks include CNN (Convolutional Neural Network), RNN (Recurrent Neural Network), perceptron, multilayer perceptron, FF (Feed Forward), RBF (Radial Basis Network), DFF (Deep Feed Forward), LSTM (Long Short Term Memory), GRU (Gated Recurrent Unit), AE (Auto Encoder), VAE (Variational Auto) Encoder), DAE (Denoising Auto Encoder), SAE (Sparse Auto Encoder), MC (Markov Chain), HN (Hopfield Network), BM (Boltzmann Machine), RBM (Restricted Boltzmann Machine), DBN (Depp Belief Network), DCN (Deep Convolutional Network), DN (Deconvolutional Network), DCIGN (Deep Convolutional Inverse Graphics Network), GAN (Generative Adversarial Network), LSM (Liquid State Machine), ELM (Extreme Learning Machine), ESN (Echo It may include State Network), DRN (Deep Residual Network), DNC (Differentiable Neural Computer), NTM (Neural Turning Machine), CN (Capsule Network), KN (Kohonen Network), Transformer, and AN (Attention Network).

[0051] Neural networks can include Generative Artificial Intelligence (GAI). Generative AI can include foundation models. Foundation models can include Large Language Models (LM).

[0052] The data mapping device (10) includes a processor (100) and a memory (200). The device (10) may further include a receiver.

[0053] The receiver can receive data from an external source or from memory (200). The receiver may include a receiving interface. The receiver can transmit data to the processor (100).

[0054] Data stored in the processor (100) can be processed. The processor (100) can execute computer-readable code (e.g., software) stored in memory (200) and instructions triggered by the processor (100).

[0055] The processor (100) may be a data processing device implemented in hardware having a circuit having a physical structure for executing desired operations. For example, the desired operations may include code or instructions included in a program.

[0056] For example, a data processing device implemented in hardware may include a microprocessor, a central processing unit, a processor core, a multi-core processor, a multiprocessor, an Application-Specific Integrated Circuit (ASIC), and a Field Programmable Gate Array (FPGA).

[0057] The processor (100) can perform data mapping between heterogeneous systems based on artificial intelligence.

[0058] The processor (100) can collect first data configured according to a first schema from a first system. The processor (100) can collect second data configured according to a second schema from a second system different from the first system.

[0059] A schema can refer to metadata that defines the structure and format of data in a database, information system, or data exchange environment.

[0060] A schema can refer to a data definition that includes the names, data types, lengths, constraints, and relational structures of data items (fields) used by a specific system to store, manage, or exchange data.

[0061] A schema is information representing the structural definition of data and can be used as reference information to ensure data consistency, transform accuracy, and / or the safety of auto transfer during the data mapping process.

[0062] A schema can consist of tables, records, columns, and / or attributes. A schema can ensure structural consistency and integrity of data by specifying the name, format, unit, default value, and / or validation rule for each data item.

[0063] Schemas can be used as a criterion to determine the semantic consistency of data items when linking data between different systems.

[0064] The schema may include definition information regarding data structures held by the first system and the second system, respectively.

[0065] The processor (100) can determine structural identity and / or inconsistency between two systems by comparing the schemas of the data.

[0066] The processor (100) can generate target mapping data by performing mapping of the first data and the second data using an artificial intelligence model learned based on past mapping history and past schema history.

[0067] Target mapping data may refer to final mapping result data produced by the processor (100) after the data mapping procedure between the first system and the second system is completed.

[0068] Target mapping data may include mapping results determined by an artificial intelligence model as data pairs having the highest mapping probability for items such as code, name, option name, spec, quantity, or ex-factory price of the first data and second data.

[0069] In addition, the target mapping data may include a data set determined as the optimal correspondence relationship among multiple candidate mapping data.

[0070] The processor (100) can store the target mapping data in a database (DB) after the mapping is completed. The target mapping data can be used as a reference for the mapping history and schema history when the same or similar mapping request occurs later.

[0071] Target mapping data can function as a standardized final output for data exchange, integration, or auto transfer between systems.

[0072] If a mapping history exists between the first data and the second data, the processor (100) can generate target mapping data based on the schema history.

[0073] If no mapping history exists, the processor (100) can generate multiple candidate mapping data based on the similarity between the first data and the second data.

[0074] The processor (100) can provide multiple candidate mapping data to the end user.

[0075] If mapping history exists, the processor (100) can search the schema history of the first schema and the second schema. If the first schema and the second schema are identical to the schema history, the processor (100) can generate target mapping data by automatically mapping the first data and the second data.

[0076] If the first schema and the second schema differ from the schema history, the processor (100) can send a request for approval of the automatic mapping result of the first data and the second data to the end user.

[0077] If no mapping history exists, the processor (100) can generate normalized first data and normalized second data by normalizing the first data and second data based on a predefined reference code rule.

[0078] The processor (100) can calculate similarity based on the string, attribute, pattern, and semantic of the normalized first data and the normalized second data.

[0079] The processor (100) can determine multiple candidate mapping data based on similarity.

[0080] The processor (100) can determine whether the target mapping data contains sensitive information. If the target mapping data contains sensitive information, the processor (100) can send a query to the end user of the data mapping device to determine whether to transmit the sensitive information.

[0081] The processor (100) can determine whether to automatically transmit target mapping data. The processor (100) can store a log record of the automatically transmitted target mapping data in memory (200).

[0082] The processor (100) can determine that the case where a mapping history exists and the first schema and the second schema are identical to the schema history is the automatically transmitted target mapping data.

[0083] The processor (100) can calculate the string similarity between the first data and the second data. The processor (100) can calculate the attribute similarity between the first data and the second data. The processor (100) can calculate the pattern similarity between the first data and the second data.

[0084] The processor (100) can calculate the semantic similarity between the first data and the second data. The processor (100) can calculate similarity (e.g., final similarity or multi-layer similarity) based on a combination of string similarity, attribute similarity, pattern similarity and semantic similarity.

[0085] Final similarity or multilayer similarity may refer to a final similarity score calculated integrally through a weighted sum or fusion by an artificial intelligence model, after independently calculating the similarity for each of the string, attribute, pattern, or semantic.

[0086] Multilayer similarity can improve the accuracy and reliability of data mapping between heterogeneous systems by comprehensively reflecting structural, semantic, pattern-based, and numerical similarities between data that are difficult to express with a single metric.

[0087] A string may refer to a sequence of characters or symbols that constitute a character-based data field, such as a code, name, option name, or spec, included in the data of each of the first and second systems.

[0088] The string can be implemented as a code identifier, product name, option identifier, specification information, etc., and its format may include numeric, alphabetic, alphanumeric, or special symbols.

[0089] String similarity can refer to a value calculated for the morphological proximity between two data based on the character sequence pattern or edit distance of the strings.

[0090] An attribute may refer to a property or characteristic of numeric or non-numerical data that is additionally stored in dependency on the code of each of the first data and the second data.

[0091] For example, attributes may include quantity, ex-factory price, unit, stock amount, selling price, or specification. Each attribute may include data type, length, constraint, unit, and / or value.

[0092] Attribute similarity can be calculated based on numerical distance, unit normalization, and / or attribute name matching between these attribute values.

[0093] A pattern can refer to a rule, format, or repetitive structure inherent in the string structure or code format of data.

[0094] For example, the pattern may include the prefix and suffix structure of the code, an alphanumeric form, separator placement rules, and / or regex matching forms.

[0095] Pattern similarity can be calculated by expressing the degree of agreement of format features and regularity of the above code or name as a feature vector and comparing them.

[0096] Patterns can be used as criteria to verify structural consistency within strings, and can also be used in the process of determining the identity of code systems or matching data formats.

[0097] Semantic meaning can refer to the actual concept, content context, or equivalence of the entity implied by the data.

[0098] For example, “jeans” and “denim pants” are different strings but represent the same product concept, so they can be semantically identical.

[0099] Semantic similarity can refer to the result of calculating the semantic proximity between two data sets by utilizing natural language embeddings or concept dictionaries for code names, names, options, or specifications.

[0100] Semantic similarity can be calculated by learning word or sentence-level vector representations through an artificial intelligence (AI) model, and can be used as a criterion to determine whether data between different systems represents the same concept.

[0101] The processor (100) can calculate string similarity based on the Levenshtein distance, TF-IDF (Term Frequency-Inverse Document Frequency) vector cosine and character embedding cosine between the string included in the first data and the string included in the second data.

[0102] The processor (100) can calculate quantity similarity based on a log scale kernel of the quantity included in the first data and the quantity included in the second data.

[0103] The processor (100) can calculate the similarity of the release price based on the log scale kernel of the release price included in the first data and the release price included in the second data.

[0104] The processor (100) can calculate attribute similarity based on quantity similarity and outgoing price similarity.

[0105] The processor (100) can calculate pattern similarity based on the similarity between a first pattern vector generated based on the prefix structure, suffix structure, ratio of numbers and characters, arrangement rules of separators, and ratio of character classes of the code included in the first data, and a second pattern vector generated based on the prefix structure, suffix structure, ratio of numbers and characters, arrangement rules of separators, and ratio of character classes of the code included in the second data.

[0106] The processor (100) can generate a first embedding vector by inputting the name, option name, or specification of the first data into a pre-trained language model. The processor (100) can generate a second embedding vector by inputting the name, option name, or specification of the second data into a pre-trained language model. The processor (100) can calculate semantic similarity based on the first embedding vector and the second embedding vector.

[0107] The specific process for calculating similarity is explained in more detail with reference to Figures 4 and 5.

[0108] Memory (200) can store data for operations or results of operations. Memory (200) can store instructions (or programs) executable by the processor (100). For example, the instructions may include instructions for executing operations of the processor and / or operations of each component of the processor.

[0109] The memory (200) can be implemented as a volatile memory device or a non-volatile memory device.

[0110] Volatile memory devices can be implemented as DRAM (dynamic random access memory), SRAM (static random access memory), T-RAM (thyristor RAM), Z-RAM (zero capacitor RAM), or TTRAM (Twin Transistor RAM).

[0111] Non-volatile memory devices can be implemented as EEPROM (Electrically Erasable Programmable Read-Only Memory), flash memory, MRAM (Magnetic RAM), Spin-Transfer Torque (STT)-MRAM, Conductive Bridging RAM (CBRAM), FeRAM (Ferroelectric RAM), PRAM (Phase change RAM), Resistive RAM (RRAM), Nanotube RRAM, Polymer RAM (PoRAM), Nano Floating Gate Memory (NFGM), holographic memory, Molecular Electronic Memory Device, or Insulator Resistance Change Memory.

[0113] Figure 2 shows an example of an implementation of the data mapping device illustrated in Figure 1.

[0114] Referring to FIG. 2, a processor (e.g., processor (100) of FIG. 1) may include an Artificial Intelligence (AI) engine (110). The AI ​​engine (110) may include a mapping engine (111) and a recommendation engine (113).

[0115] The AI ​​engine (110) can collect data from an API (Application Programming Interface) (A) (210) corresponding to the first system and an API (B) (230) corresponding to the second system.

[0116] The AI ​​engine (110) can collect first data from API (A) (210) and collect second data from API (B) (230). The first data and the second data can be implemented in JSON (JavaScript Object Notation) or XML (eXtensible Markup Language) format.

[0117] The AI ​​engine (110) can perform data mapping between heterogeneous systems based on artificial intelligence.

[0118] The mapping engine (111) can collect first data configured according to a first schema from API (A) (210). The mapping engine (111) can collect second data configured according to a second schema from API (B) (230).

[0119] The AI ​​engine (110) can generate target mapping data by performing mapping of the first data and the second data using an artificial intelligence model learned based on the past mapping history and past schema history stored in the vector DB (250).

[0120] The AI ​​engine (110) can store the target mapping data in the vector DB (250) after the mapping is completed. The target mapping data can be used as a reference for the mapping history and schema history when the same or similar mapping request occurs later.

[0121] If a mapping engine (111) has a mapping history between the first data and the second data, it can generate target mapping data based on the schema history.

[0122] If no mapping history exists, the mapping engine (111) can induce the generation of target mapping data through the recommendation engine (113). The recommendation engine (113) can generate multiple candidate mapping data based on the similarity between the first data and the second data.

[0123] The recommendation engine (113) can provide multiple candidate mapping data to the end user.

[0124] If mapping history exists, the mapping engine (111) can search the schema history of the first schema and the second schema. If the first schema and the second schema are identical to the schema history, the mapping engine (111) can generate target mapping data by automatically mapping the first data and the second data.

[0125] The mapping engine (111) can send a request for approval of the automatic mapping result of the first data and the second data to the end user if the first schema and the second schema are different from the schema history.

[0126] If no mapping history exists, the recommendation engine (113) can generate normalized first data and normalized second data by normalizing the first data and second data based on a predefined reference code rule.

[0127] Predefined standard codes may include product codes and / or SKU codes managed in any system (e.g., ERP or shopping mall platform). Master data may include inventory, price information, data types, lengths, and / or constraints.

[0128] The recommendation engine (113) can generate normalized data by performing column grouping pre-specified by the end user. For example, the recommendation engine (113) can generate normalized data by performing grouping on at least one column among ERP product code + option code, shopping mall SKU code + additional option information, ERP standard price, stock quantity, shopping mall sales price and / or available quantity for sale.

[0129] The recommendation engine (113) can create column grouping by grouping the information values ​​(e.g., product name, option name, etc.) of each column linked to the reference code into a single key value, and can measure similarity using the normalized data created through column grouping.

[0130] The recommendation engine (113) can update the price and stock quantity information of the reference code linked to the key value together when the similarity measurement is completed and the end user makes a selection.

[0131] The mapping engine (111) may, in principle, request approval from the end user for new mappings. The mapping engine (111) may assist automated mapping by obtaining approval from the end user for specific conditions.

[0132] The recommendation engine (113) can present recommendation candidate mapping data to the end user so that the end user can make a quick decision by providing the end user with multiple mapping data candidates, similarity scores and / or attribute comparison results.

[0133] The recommendation engine (113) can facilitate the end user's selection by suggesting grouped column-unit mapping data or highlighting whether the reference code matches.

[0134] The recommendation engine (113) can calculate similarity based on the string, attribute, pattern, and semantic of the normalized first data and the normalized second data.

[0135] The recommendation engine (113) can determine multiple candidate mapping data based on similarity.

[0136] The AI ​​engine (111) can determine whether the target mapping data contains sensitive information. If the target mapping data contains sensitive information, the AI ​​engine (111) can send a query to the end user of the data mapping device to determine whether to transmit the sensitive information.

[0137] The AI ​​engine (111) can determine whether to automatically transmit target mapping data. The AI ​​engine (111) can store log records of the automatically transmitted target mapping data in the vector DB (250).

[0138] The AI ​​engine (111) can determine that the first schema and the second schema are identical to the past schema history as automatically transmitted target mapping data, where a mapping history exists.

[0139] The recommendation engine (113) can calculate the string similarity between the first data and the second data. The recommendation engine (113) can calculate the attribute similarity between the first data and the second data. The recommendation engine (113) can calculate the pattern similarity between the first data and the second data.

[0140] The recommendation engine (113) can calculate the semantic similarity between the first data and the second data. The recommendation engine (113) can calculate similarity (e.g., final similarity or multi-level similarity) based on a combination of string similarity, attribute similarity, pattern similarity and semantic similarity.

[0141] The recommendation engine (113) can calculate string similarity based on the Levenstein distance, TF-IDF vector cosine, and character embedding cosine between the string included in the first data and the string included in the second data.

[0142] The recommendation engine (113) can calculate quantity similarity based on the log scale kernel of the quantity included in the first data and the quantity included in the second data.

[0143] The recommendation engine (113) can calculate the similarity of the release price based on the log scale kernel of the release price included in the first data and the release price included in the second data.

[0144] The recommendation engine (113) can calculate attribute similarity based on quantity similarity and price similarity.

[0145] The recommendation engine (113) can calculate pattern similarity based on the similarity between a first pattern vector generated based on the prefix structure, suffix structure, ratio of numbers and characters, arrangement rules of separators, and ratio of character classes of the code included in the first data, and a second pattern vector generated based on the prefix structure, suffix structure, ratio of numbers and characters, arrangement rules of separators, and ratio of character classes of the code included in the second data.

[0146] The recommendation engine (113) can generate a first embedding vector by inputting the name, option name, or specification of the first data into a pre-trained language model. The recommendation engine (113) can generate a second embedding vector by inputting the name, option name, or specification of the second data into a pre-trained language model. The recommendation engine (113) can calculate semantic similarity based on the first embedding vector and the second embedding vector.

[0147] The mapping engine (111) can manage the mapping history and schema history together when mapping code between the first system and the second system.

[0148] As described above, the mapping engine (111) has an existing mapping history and, if the schema of the first data and the second data are the same, can automatically map the first data and the second data and then transmit them to the end user.

[0149] The mapping engine (111) may request approval from the end user after automatic data mapping if the schema of the first data or the second data is changed or different from the existing mapping history. In other words, if the schema is changed, the mapping engine (111) may determine the target mapping data only after obtaining approval from the end user.

[0150] If no mapping history exists, the mapping engine (111) may induce the recommendation engine (113) to generate similarity-based candidate mapping data. The recommendation engine (113) may extract multiple candidate mapping data based on reference code normalization and similarity and provide them to the end user.

[0151] The end user can select one data from among multiple candidate mapping data as the target mapping data. The recommendation engine (113) can determine the data selected by the end user as the target mapping data and store it in the vector DB (250).

[0152] The vector DB (250) can store data generated from the AI ​​engine (110). For example, the AI ​​engine (110) can receive and store target mapping data, mapping history, or schema history from the vector DB (250).

[0153] The AI ​​engine (110) can store target mapping data in a vector DB (250). The vector DB (250) can be implemented in memory (memory (200) of FIG. 1).

[0155] Figure 3 is a diagram illustrating the operation of the mapping engine shown in Figure 2.

[0156] Referring to FIG. 3, the mapping engine (111) can collect first data (e.g., reference data) (310) from API (A) (210) and collect second data (e.g., raw data) (330) from API (B) (230).

[0157] The mapping engine (111) can explore the mapping history and schema history for the first data (310) and the second data (330) through the vector DB (250). For example, product code A010 in the first system (e.g., ERP) and product code Y101 in the second system (e.g., shopping mall platform SKU code) may have been previously mapped and stored in the vector DB (250).

[0158] The mapping engine (111) may also store a schema history (or schema fingerprint) in the vector DB (250). The schema history (or schema fingerprint) may include column header types and / or lengths.

[0159] If the first data (310) and the second data (330) have a mapping history and the past schema and the current schema are the same, the target mapping data (350) can be configured to be identical to the past mapping history and the past schema history and immediately transmitted to the end user.

[0160] The mapping engine (111) has a mapping history of the first data (310) and the second data (330), and if the schema of at least one of the first data (310) or the second data (330) is changed, it can detect a schema discrepancy between the past mapping time and the current time.

[0161] For example, if the product code column in the first system (e.g., ERP) is changed from VARCHAR (10) to VARCHAR (20), the mapping engine (111) can detect the discrepancy between the schema at the time of past mapping and the current schema.

[0162] If a schema inconsistency is detected, the mapping engine (111) may block the automatic transmission of target mapping data and require the end user to undergo a re-approval procedure. The mapping engine (111) may determine the target mapping data in response to the end user's approval.

[0163] The mapping engine (111) can determine whether the target mapping data contains sensitive information. If the target mapping data contains sensitive information, the mapping engine (111) can send a query to the end user of the data mapping device to determine whether to transmit the sensitive information.

[0164] The mapping engine (111) can determine whether to automatically transmit target mapping data. The mapping engine (111) can store a log record of the automatically transmitted target mapping data in the vector DB (250).

[0165] The mapping engine (111) can determine that the mapping history exists and that the first schema and the second schema are identical to the schema history as automatically transmitted target mapping data.

[0167] FIG. 4 is a diagram illustrating the similarity measurement operation of the recommendation engine illustrated in FIG. 2, and FIG. 5 is a diagram illustrating the process of the recommendation engine illustrated in FIG. 2 determining target mapping data through an end user.

[0168] Referring to FIGS. 4 and 5, the mapping engine (111) can collect first data (e.g., reference data) (310) from API (A) (210) and collect second data (e.g., raw data) (330) from API (B) (230).

[0169] If there is no mapping history between the first data (310) and the second data (330), the mapping engine (111) can generate multiple candidate mapping data through the recommendation engine (113).

[0170] If no mapping history exists, the recommendation engine (113) can generate multiple candidate mapping data based on the similarity between the first data (310) and the second data (330).

[0171] The recommendation engine (113) can provide multiple candidate mapping data to the end user.

[0172] If no mapping history exists, the recommendation engine (113) can generate normalized first data (410) and normalized second data (430) by normalizing first data (310) and second data (330) based on a predefined reference code rule. The normalization process of the first data (310) and second data (330) may optionally be excluded. According to an embodiment, the recommendation engine (113) may omit or add the normalization process.

[0173] In the following, we will explain using the case where normalization is performed as an example, but depending on the embodiment, it is also possible to calculate similarity without performing normalization.

[0174] The recommendation engine (113) can calculate similarity based on the string, attribute, pattern and / or semantic of the normalized first data (410) and the normalized second data (430).

[0175] The recommendation engine (113) can determine multiple candidate mapping data based on similarity.

[0176] The recommendation engine (113) can calculate string similarity between normalized first data (410) and normalized second data (430). The recommendation engine (113) can calculate attribute similarity between normalized first data (410) and normalized second data (430). The recommendation engine (113) can calculate pattern similarity between normalized first data (410) and normalized second data (430).

[0177] String similarity can refer to a value calculated for the morphological proximity between two data based on the character sequence pattern or edit distance of the strings.

[0178] The recommendation engine (113) can calculate string similarity based on the Levenshtein distance, TF-IDF (Term Frequency-Inverse Document Frequency) vector cosine, and character embedding cosine between the string contained in the normalized first data (410) and the string contained in the normalized second data (430).

[0179] The recommendation engine (113) can calculate string similarity using mathematical formulas 1 to 4.

[0181]

[0183]

[0185]

[0186]

[0188] Here, S L means Levenstein Street, and S T represents the TF-IDF vector cosine, and S E can mean the character embedding cosine. S str can represent the final string similarity. a can represent the string of the first data, and b can represent the string of the second data. α1, α2, and α3 can represent the weights.

[0189] The recommendation engine (113) can calculate quantity similarity based on the log scale kernel of the quantity included in the normalized first data (410) and the quantity included in the normalized second data (430).

[0190] The recommendation engine (113) can calculate the similarity of the release price based on the release price included in the normalized first data (410) and the release price included in the normalized second data (430) and the log scale kernel.

[0191] The recommendation engine (113) can calculate attribute similarity based on quantity similarity and price similarity.

[0192] The recommendation engine (113) can calculate attribute similarity using mathematical formulas 5 to 7.

[0194]

[0196]

[0198]

[0200] Here, S qty represents quantitative similarity, and S price represents the similarity of the ex-factory price, and S attr may represent attribute similarity. q1 may represent the quantity of the first data, and q2 may represent the quantity of the second data. p1 may represent the release price of the first data, and p2 may represent the release price of the second data. β1, β2, and β3 may represent the weights for each term.

[0201] The processor (100) can calculate pattern similarity based on the similarity between a first pattern vector generated based on the prefix structure, suffix structure, ratio of numbers and characters, arrangement rules of separators and / or ratio of character classes of the code included in the first data, and a second pattern vector generated based on the prefix structure, suffix structure, ratio of numbers and characters, arrangement rules of separators and / or ratio of character classes of the code included in the second data.

[0203]

[0205] Here, S pat represents pattern similarity, x represents the pattern of the first data, and y represents the pattern of the second data. The pattern vector P can be defined as in Equation 9.

[0207]

[0209] Here, f may mean a function relating to a regular expression, a prefix feature, a suffix feature, a number-to-character ratio, a separator pattern, and / or a character class ratio. f can be calculated using Equations 10 through 15.

[0211]

[0213] Here, f regex refers to a function related to regular expressions, and R i can mean a predefined regular pattern.

[0215]

[0217] Here, f prefix represents a function regarding prefix features, and E can represent an embedding function.

[0219]

[0221] Here, f suffix represents a function regarding suffix features, and E can represent an embedding function.

[0223]

[0225] Here, fratio can mean a function regarding the number-to-character ratio.

[0227]

[0229] Here, fsep,k can mean a function for a delimiter (e.g., hyphen, underscore, or slash).

[0231]

[0233] Here, f class can mean a function regarding the ratio of character classes. Character classes can include uppercase letters, lowercase letters, numbers, and / or special characters.

[0234] f in Equation 9 may be one or more of the functions in Equations 10 to 15.

[0235] The recommendation engine (113) can generate a first embedding vector by inputting the name, option name, or specification of the normalized first data (410) into a pre-trained language model. The recommendation engine (113) can generate a second embedding vector by inputting the name, option name, or specification of the normalized second data (430) into a pre-trained language model. The recommendation engine (113) can calculate semantic similarity based on the first embedding vector and the second embedding vector.

[0236] For example, the recommendation engine (113) can calculate semantic similarity using mathematical formula 16.

[0238]

[0240] Here, E can represent an embedding function. The embedding function can be computed by a pre-trained language model.

[0241] The pre-trained language model may include an artificial intelligence model for embedding the semantics of sentences or phrases in vector form, utilizing a neural network structure pre-trained on a large text data corpus. For example, the pre-trained language model may include BERT (Bidirectional Encoder Representations from Transformers), RoBERTa (Robustly Optimized BERT Pretraining Approach), Sentence-BERT (SBERT), or Universal Sentence Encoder (USE). Depending on the embodiment, any other multilingual embedding model may also be used as the pre-trained language model.

[0242] The recommendation engine (113) can calculate the semantic similarity of the normalized first data (410) and the normalized second data (430). The recommendation engine (113) can calculate similarity (e.g., final similarity or multi-layer similarity) based on a combination of string similarity, attribute similarity, pattern similarity, and semantic similarity.

[0243] Final similarity or multilayer similarity may refer to a final similarity score calculated integrally through a weighted sum or fusion by an artificial intelligence model, after independently calculating the similarity for each of the string, attribute, pattern, or semantic.

[0244] Multilayer similarity can improve the accuracy and reliability of data mapping between heterogeneous systems by comprehensively reflecting structural, semantic, pattern-based, and numerical similarities between data that are difficult to express with a single metric.

[0245] The recommendation engine (113) can calculate the final similarity by inferring weights corresponding to string similarity, attribute similarity, pattern similarity and / or semantic similarity using artificial intelligence.

[0246] In other words, optimal weights can be determined by updating the weights corresponding to string similarity, attribute similarity, pattern similarity, and / or semantic similarity through the learning of artificial intelligence.

[0247] The recommendation engine (113) can calculate the semantic similarity between the normalized first data (410) and the normalized second data (430).

[0248] The recommendation engine (113) can calculate similarity (e.g., final similarity or multi-layer similarity) based on a combination of string similarity, attribute similarity, pattern similarity and semantic similarity.

[0249] Here, final similarity or multilayer similarity may refer to a final similarity score calculated by independently calculating the similarity for each of the string, attribute, pattern, or semantic, and then fusing these similarity values ​​according to weights learned using an artificial intelligence model.

[0250] That is, the recommendation engine (113) uses an artificial intelligence model to each similarity element (S str , S attr , S pat , S sem The weight (w) corresponding to ) str , w attr , w pat , w sem It can automatically calculate or update ).

[0251] The recommendation engine (113) can be trained to minimize mapping accuracy or similarity prediction error by using a past mapping history or a training mapping dataset.

[0252] For example, the final similarity can be expressed as in Equation 17.

[0254]

[0256] The weights of mathematical formula 17 can be inferred through the artificial intelligence model of mathematical formula 18.

[0258]

[0260] Here, θ can represent a set of learning parameters.

[0262] The recommendation engine (113) can perform an artificial intelligence model to minimize the objective function of Equation 19 using past mapping history (e.g., pairs of mapping data).

[0264]

[0266] Here, can mean the actual mapping similarity in the training dataset or the similarity corresponding to the correct label.

[0267] The recommendation engine (113) can automatically calculate weights to reflect the importance of each similarity item during the multilayer similarity calculation process. For example, it can be trained to assign a high weight to attribute similarity or pattern similarity when there is a large difference in data structure between systems, and to adjust the weight of semantic similarity to a high weight when text-based name comparison is the focus.

[0268] These weights are dynamically updated based on the learning results of the artificial intelligence model and can be periodically retrained to improve mapping accuracy.

[0269] If there is no mapping history between the first data (310) and the second data (330), the recommendation engine (113) can normalize the first data (310) and the second data (330) based on a predefined reference code.

[0270] The recommendation engine (113) can calculate similarity by combining strings, attributes, patterns and / or meanings. Based on similarity, the recommendation engine (113) can select any number of mapping data with high similarity as candidate mapping data.

[0271] The recommendation engine (113) provides multiple candidate mapping data to the end user and can determine the target mapping data according to the end user's selection. The recommendation engine (113) can store the determined target mapping data and schema information in the vector DB (250).

[0272] Below, the operation of the recommendation engine (113) is explained by example. Data can be collected from a first system (e.g., ERP) where the product code is A010, the inventory is 100, and the price information is 10,000 won.

[0273] Data can be collected from a second system (e.g., shopping mall SKU code) where the code is Y101, the stock is 80, and the price is 12,000 won.

[0274] The end user can confirm the mapping of codes A010 and Y101 to the same data. In this case, when transmitting target mapping data from the ERP to the shopping mall, the data can be updated with the information Y101 / 100 items / 10,000 won.

[0275] When sending target mapping data from a shopping mall to ERP, the data can be updated with A010 / 80 items / 10,000 won information.

[0276] The recommendation engine (113) can store target mapping data and schema history in the vector DB (250). Subsequently, when the same request occurs, if mapping history exists and the schema is also the same, automatic transmission can proceed.

[0277] Even if the mapping history is saved, when the shopping mall SKU code column changes from VARCHAR (10) to VARCHAR (20), the mapping engine (111) can detect the schema mismatch and request re-approval from the end user.

[0278] Through the data mapping operation described above, the data mapping device (10) can integrate columns and / or codes between multiple systems into a reference code and perform mapping based on similarity.

[0279] The data mapping device (10) can pre-specify a reference code and can efficiently perform data mapping through multi-layer similarity (string, attribute, pattern and / or meaning) and AI learning using the same. The data mapping device (10) can request automatic transmission or end user approval depending on whether there is a mapping history.

[0280] The data mapping device (10) can automatically link data between systems by taking into account column structure, data attributes, and transmission direction. The data mapping device (10) manages mapping history and schema history based on the vector DB (250), and can perform data mapping that accurately reflects the user's intent by requesting re-approval from the end user when the history changes.

[0281] The data mapping device (10) can prevent mapping mismatch, transmission direction error, incorrect history reference, or risk of automatic transmission of sensitive data when schema changes occur due to automatic transmission of target mapping data.

[0282] Specifically, the data mapping device (10) compares the schema history and, if the schema history and the schema are the same, automatically transmits the target mapping data, and if they are inconsistent, requests re-approval from the end user.

[0283] The data mapping device (10) restricts the automatic transmission of sensitive data and can transmit it only after obtaining approval from the end user. The data mapping device (10) can apply the mapping process to the entire data after verifying the sample data.

[0284] In addition, the data mapping device (10) can prevent mapping mismatch, transmission direction error, incorrect history reference, or risk of automatic transmission of sensitive data when changing the schema.

[0285] Specifically, the data mapping device (10) can record audit logs and notifications for all automatic transmissions.

[0286] In conclusion, the data mapping device (10) does not simply perform data code conversion, but can provide integrated standard code normalization, multi-layer similarity-based AI mapping, and mapping history and schema history management.

[0287] The data mapping device (10) supports automatic transmission after verifying schema identity when there is a mapping history, and can ensure reliability by undergoing an end user approval process when there is a new mapping or schema change. The data mapping device (10) can automate data linkage between heterogeneous systems more safely and efficiently.

[0289] Figure 6 shows the flow of operation of the data mapping device illustrated in Figure 1.

[0290] Referring to FIG. 6, a processor (e.g., processor (100) of FIG. 1) can perform data mapping between heterogeneous systems based on artificial intelligence.

[0291] The processor (100) can collect first data configured according to a first schema from a first system (610). The processor (100) can collect second data configured according to a second schema from a second system different from the first system (630).

[0292] The processor (100) can generate target mapping data by performing mapping of the first data and the second data using an artificial intelligence model learned based on past mapping history and past schema history (650).

[0293] If a mapping history exists between the first data and the second data, the processor (100) can generate target mapping data based on the schema history.

[0294] If no mapping history exists, the processor (100) can generate multiple candidate mapping data based on the similarity between the first data and the second data.

[0295] The processor (100) can provide multiple candidate mapping data to the end user.

[0296] If mapping history exists, the processor (100) can search the schema history of the first schema and the second schema. If the first schema and the second schema are identical to the schema history, the processor (100) can generate target mapping data by automatically mapping the first data and the second data.

[0297] If the first schema and the second schema differ from the schema history, the processor (100) can send a request for approval of the automatic mapping result of the first data and the second data to the end user.

[0298] If no mapping history exists, the processor (100) can generate normalized first data and normalized second data by normalizing the first data and second data based on a predefined reference code rule.

[0299] The processor (100) can calculate similarity based on the string, attribute, pattern, and semantic of the normalized first data and the normalized second data.

[0300] The processor (100) can determine multiple candidate mapping data based on similarity.

[0301] The processor (100) can determine whether the target mapping data contains sensitive information. If the target mapping data contains sensitive information, the processor (100) can send a query to the end user of the data mapping device to determine whether to transmit the sensitive information.

[0302] The processor (100) can determine whether to automatically transmit target mapping data. The processor (100) can store a log record of the automatically transmitted target mapping data in memory (200).

[0303] The processor (100) can determine that the case where a mapping history exists and the first schema and the second schema are identical to the schema history is the automatically transmitted target mapping data.

[0304] The processor (100) can calculate the string similarity between the first data and the second data. The processor (100) can calculate the attribute similarity between the first data and the second data. The processor (100) can calculate the pattern similarity between the first data and the second data.

[0305] The processor (100) can calculate the semantic similarity between the first data and the second data. The processor (100) can calculate similarity (e.g., final similarity or multi-layer similarity) based on a combination of string similarity, attribute similarity, pattern similarity and semantic similarity.

[0306] The processor (100) can calculate string similarity based on the Levenshtein distance, TF-IDF (Term Frequency-Inverse Document Frequency) vector cosine and character embedding cosine between the string included in the first data and the string included in the second data.

[0307] The processor (100) can calculate quantity similarity based on a log scale kernel of the quantity included in the first data and the quantity included in the second data.

[0308] The processor (100) can calculate the similarity of the release price based on the log scale kernel of the release price included in the first data and the release price included in the second data.

[0309] The processor (100) can calculate attribute similarity based on quantity similarity and outgoing price similarity.

[0310] The processor (100) can calculate pattern similarity based on the similarity between a first pattern vector generated based on the prefix structure, suffix structure, ratio of numbers and characters, arrangement rules of separators, and ratio of character classes of the code included in the first data, and a second pattern vector generated based on the prefix structure, suffix structure, ratio of numbers and characters, arrangement rules of separators, and ratio of character classes of the code included in the second data.

[0311] The processor (100) generates a first embedding vector by inputting the name, option name, or specification of the first data into a pre-trained language model, and

[0312] The processor (100) can generate a second embedding vector by inputting the name, option name, or specification of the second data into a pre-trained language model. The processor (100) can calculate semantic similarity based on the first embedding vector and the second embedding vector.

[0314] The embodiments described above may be implemented as hardware components, software components, and / or combinations of hardware and software components. For example, the devices, methods, and components described in the embodiments may be implemented using a general-purpose computer or a special-purpose computer, such as, for example, a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable gate array (FPGA), a programmable logic unit (PLU), a microprocessor, or any other device capable of executing and responding to instructions. The processing unit may execute an operating system (OS) and software applications executed on said operating system. Additionally, the processing unit may access, store, manipulate, process, and generate data in response to the execution of the software. For ease of understanding, the processing unit may be described as being used as a single unit, but those skilled in the art will understand that the processing unit may include multiple processing elements and / or multiple types of processing elements. For example, the processing unit may include multiple processors or one processor and one controller. In addition, other processing configurations, such as parallel processors, are also possible.

[0315] Software may include computer programs, code, instructions, or a combination of one or more of these, and may configure a processing unit to operate as desired or command the processing unit independently or collectively. Software and / or data may be permanently or temporarily embodied in any type of machine, component, physical device, virtual equipment, computer storage medium or device, or transmitted signal wave in order to be interpreted by the processing unit or to provide instructions or data to the processing unit. Software may be distributed over networked computer systems and may be stored or executed in a distributed manner. Software and data may be stored on computer-readable recording media.

[0316] The method according to the embodiment may be implemented in the form of program instructions that can be executed through various computer means and recorded on a computer-readable medium. The computer-readable medium may store program instructions, data files, data structures, etc., either individually or in combination, and the program instructions recorded on the medium may be those specifically designed and configured for the embodiment or those known and available to those skilled in the art of computer software. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tapes; optical recording media such as CD-ROMs and DVDs; magneto-optical media such as floptical disks; and hardware devices specifically configured to store and execute program instructions, such as ROM, RAM, and flash memory. Examples of program instructions include machine code, such as that generated by a compiler, as well as high-level language code that can be executed by a computer using an interpreter, etc.

[0317] The hardware device described above may be configured to operate as one or more software modules to perform the operation of the embodiment, and vice versa.

[0318] Although the embodiments have been described above with reference to the limited drawings, those skilled in the art can apply various technical modifications and variations based thereon. For example, suitable results may be achieved even if the described techniques are performed in a different order than described, and / or if the components of the described system, structure, device, circuit, etc. are combined or assembled in a form different from described, or replaced or substituted by other components or equivalents.

[0319] Therefore, other implementations, other embodiments, and equivalents to the claims also fall within the scope of the claims set forth below.

Claims

Claim 1 In a data mapping device between heterogeneous systems based on artificial intelligence, a processor; and includes a memory for storing instructions executable by the processor, wherein the processor collects first data configured according to a first schema from a first system and collects second data configured according to a second schema from a second system different from the first system, and generates target mapping data by performing mapping of the first data and the second data using an artificial intelligence model learned based on past mapping history and past schema history, wherein the processor generates the target mapping data based on the schema history if a mapping history of the first data and the second data exists, and if the mapping history does not exist, generates a plurality of candidate mapping data based on the similarity of the first data and the second data, and provides the plurality of candidate mapping data to an end user, and if the mapping history does not exist, generates normalized first data and normalized second data by normalizing the first data and the second data based on a predefined standard code rule, and the string, attribute, pattern and of the normalized first data and normalized second data Calculate the similarity based on semantics, determine the plurality of candidate mapping data based on the similarity, calculate the string similarity between the first data and the second data, calculate the attribute similarity between the first data and the second data, calculate the pattern similarity between the first data and the second data, calculate the semantic similarity between the first data and the second data, calculate the similarity based on a combination of the string similarity, the attribute similarity, the pattern similarity, and the semantic similarity, and the prefix structure, suffix structure, and ratio of numbers and characters of the code included in the first data,A data mapping device that calculates pattern similarity based on the similarity between a first pattern vector generated based on the arrangement rules of a delimiter and the ratio of character classes, and a second pattern vector generated based on the prefix structure, suffix structure, ratio of numbers and characters of a code included in the second data, the arrangement rules of a delimiter and the ratio of character classes. Claim 2 delete Claim 3 A data mapping device according to claim 1, wherein the processor searches for the schema history of the first schema and the second schema when the mapping history exists, generates the target mapping data by automatically mapping the first data and the second data when the first schema and the second schema are identical to the schema history, and transmits a request for approval of the automatic mapping result of the first data and the second data to the end user when the first schema and the second schema are different from the schema history. Claim 4 delete Claim 5 In claim 1, the processor determines whether the target mapping data includes sensitive information, and if the target mapping data includes sensitive information, the data mapping device transmits a query to the end user of the data mapping device to determine whether to transmit the sensitive information. Claim 6 In claim 1, the data mapping device, wherein the processor determines whether the target mapping data is automatically transmitted and stores a log record of the automatically transmitted target mapping data in the memory. Claim 7 In claim 6, the processor determines the case where the mapping history exists and the first schema and the second schema are identical to the schema history as the automatically transmitted target mapping data.

Citation Information

Patent Citations

  • Adaptive data loss prevention policies

    US20100162347A1

  • Learning ETL rules by example

    US20190318272A1

  • Generating and reusing transformations for evolving schema mapping

    US20190384836A1

  • System and method for learning-based synthesis of data transformation rules

    US20230153278A1