WO2024038941A1 - Data providing method and device - Google Patents

Data providing method and device Download PDF

Info

Publication number
WO2024038941A1
WO2024038941A1 PCT/KR2022/012640 KR2022012640W WO2024038941A1 WO 2024038941 A1 WO2024038941 A1 WO 2024038941A1 KR 2022012640 W KR2022012640 W KR 2022012640W WO 2024038941 A1 WO2024038941 A1 WO 2024038941A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
feature
machine learning
setting information
learning model
Prior art date
Application number
PCT/KR2022/012640
Other languages
French (fr)
Korean (ko)
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 WO2024038941A1 publication Critical patent/WO2024038941A1/en

Links

Images

Classifications

    • 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
    • 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
    • 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/242Query formulation
    • 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/242Query formulation
    • G06F16/2428Query predicate definition using graphical user interfaces, including menus and forms
    • 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
    • G06F16/2455Query execution
    • 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/248Presentation of query results
    • 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/28Databases characterised by their database models, e.g. relational or object models
    • 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/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/955Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/08Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/08Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
    • G06Q10/083Shipping

Definitions

  • This disclosure relates to a data provision method and device.
  • Machine learning may require the process of acquiring features necessary for learning from a vast amount of data related to services.
  • the object of the present invention is to manage features used in machine learning based on settings, group one or more features necessary for machine learning, and provide a method and device that can be used for machine learning.
  • a method of providing data by an electronic device includes collecting at least one data from a business system using data acquisition setting information; Confirming a feature based on at least one data using feature setting information and storing the feature in a feature database; identifying a feature group including at least one feature related to a first machine learning model from a feature database; And it may include training a first machine learning model based on the feature group and providing first data using the learned first machine learning model.
  • the data acquisition setting information may include information about the repository and information about at least one target field of the repository, and the data providing method may include confirming at least one data from the at least one target field of the repository. You can.
  • the data acquisition setting information includes information about at least one source field and mapping information, each of the at least one source fields corresponds to a path to load each of at least one data in the business system, and the mapping information includes at least one includes information mapping each of the source fields to each of at least one target field, and the data providing method includes: loading each of at least one data from the business system based on a path corresponding to each of the at least one source field; It may include storing each of the at least one data in at least one target field of the storage based on the mapping information.
  • the path may include a JSON (JavaScript Object Notation) path.
  • JSON JavaScript Object Notation
  • the repository includes a first detailed repository and a second detailed repository
  • the data providing method includes checking at least one data from the first detailed repository if the feature is of a first type, and checking at least one data from the first detailed repository if the feature is of a second type. 2 It may include the step of checking at least one data from the detailed repository.
  • the feature setting information includes a script
  • the data providing method may include calculating a feature based on at least one data using a script.
  • the feature setting information includes filtering condition information and a calculation function
  • the data providing method includes filtering at least one data using the filtering condition information and confirming the filtered data; and calculating features based on the filtered data using a calculation function.
  • the feature setting information includes information about a specific time section
  • the data providing method may include calculating a feature based on data of a specific time section among at least one piece of data.
  • the storing step may be performed in a first cycle, and if the feature is of a second type, the storing step may be performed in a second cycle.
  • the electronic device may include a memory storing at least one program; and executing at least one program to collect at least one data from the business system using the data acquisition setting information, identify a feature based on the at least one data using the feature setting information, and store the feature in a feature database. Store, check a feature group including at least one feature related to the first machine learning model from the feature database, train the first machine learning model based on the feature group, and use the learned first machine learning model. It may include a processor that provides first data.
  • a non-transitory computer-readable recording medium can record a program for executing the above-described operation method on a computer.
  • users can create and manage features without separate coding and use them for machine learning, which has the effect of saving programmer or developer resources.
  • features can be created and managed centrally, which has the effect of eliminating the need for users to directly manage various types of databases used to store various types of features.
  • the user can directly write a script and check or edit the written script, which has the effect of easily managing the calculation logic of features.
  • features are divided into three types: realtime features, near-realtime features, and non-realtime features, and features are calculated at different intervals depending on the type of feature.
  • realtime features near-realtime features
  • non-realtime features features are calculated at different intervals depending on the type of feature.
  • FIG 1 shows an embodiment of an electronic device according to the present disclosure.
  • Figure 2 shows an embodiment of a data provision system according to the present disclosure.
  • Figure 3 shows an embodiment of a data providing system according to the present disclosure.
  • Figure 4 shows an embodiment of a data provision system according to the present disclosure.
  • Figure 5 shows an embodiment of a data provision system according to the present disclosure.
  • Figure 6 shows an embodiment of a data providing system according to the present disclosure.
  • Figure 7 shows an example of a data provision method according to the present disclosure.
  • first, second, etc. used in this specification may be used to describe various components, but the components should not be limited by terms containing the ordinal numbers.
  • the above terms are used in context only to distinguish one element from another element in one part of the specification.
  • a first element may be referred to as a second element in other parts of the specification, and conversely, the second element may also be referred to as a first element in other parts of the specification. It can be.
  • FIG. 1 illustrates an example, simplified block diagram of an electronic device 100 that may be used to practice at least one embodiment of the present disclosure.
  • electronic device 100 may be used to implement any system or method described in this disclosure.
  • electronic device 100 may include any data server, web server, portable computing device, personal computer, tablet computer, workstation, mobile phone, smart phone, or any other device described below. It can be configured to be used as an electronic device.
  • Electronic device 100 may include memory 120 and one or more processors 110 having one or more cache memories and a memory controller that may be configured to communicate with memory 120 . Additionally, the electronic device 100 may be connected to the electronic device 100 through one or more ports (e.g., Universal Serial Bus (USB), headphone jack, Lightning connector, Thunderbolt connector, etc.). May include devices. A device that can be connected to electronic device 100 can include a plurality of ports configured to receive fiber optic connectors.
  • the configuration of electronic device 100 shown is intended as a specific example only for the purpose of illustrating preferred embodiments of the device. In the illustrated electronic device 100, only components related to the present embodiments are shown. Accordingly, it is obvious to those skilled in the art that the electronic device 100 may further include other general-purpose components in addition to the components shown.
  • Processor 110 may be used to cause electronic device 100 to provide the steps or functions of any embodiment described in this disclosure.
  • the processor 110 generally controls the electronic device 100 by executing programs stored in the memory 120 within the electronic device 100.
  • the processor 110 may be implemented as a central processing unit (CPU), a graphics processing unit (GPU), an application processor (AP), etc. provided in the electronic device 100, but is not limited thereto.
  • the memory 120 is hardware that stores various data processed within the electronic device 100.
  • the memory 120 can store data processed through the processor 110 and data to be processed in the electronic device 100. there is.
  • the memory 120 stores basic programming and data structures that can provide the functions of at least one embodiment of the present disclosure, as well as applications (programs, code modules) that can provide the functions of the embodiments of the present disclosure. , commands), drivers, etc. can be saved.
  • the memory 120 includes random access memory (RAM) such as dynamic random access memory (DRAM), static random access memory (SRAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), CD- It may include ROM, Blu-ray or other optical disk storage, a hard disk drive (HDD), a solid state drive (SSD), or flash memory.
  • RAM random access memory
  • DRAM dynamic random access memory
  • SRAM static random access memory
  • ROM read-only memory
  • EEPROM electrically erasable programmable read-only memory
  • CD- It may include ROM, Blu-ray or other optical disk storage, a hard disk drive (HDD), a solid state drive (SSD), or flash memory.
  • the method and each step according to the present disclosure can be performed by the electronic device 100 or the processor 110.
  • the electronic device 100 operates under the control of the processor 110.
  • the following description will be made on the assumption that the electronic device 100 is the entity that performs the method and each step according to the present disclosure.
  • Figure 2 shows an embodiment of a data providing system 2000 according to the present disclosure.
  • the data provision system 2000 may be included in the electronic device 100.
  • the electronic device 100 collects at least one data about a feature from a business system using data acquisition setting information, verifies a feature based on the at least one data using feature setting information, Store the feature in a feature database, identify a feature group including at least one feature related to the first machine learning model from the feature database, train the first machine learning model based on the feature group, and use the learned first machine First data can be provided using a learning model.
  • the data provision system 2000 may include a business system 2100, a feature system 2200, and a machine learning platform 2300.
  • Business system 2100 may include data about e-commerce services or businesses.
  • the business system 2100 may include data such as expected delivery time, delivery route, or item price. This may be data about features.
  • the feature system 2200 uses model learning 2312 or online model service 2311 of the machine learning platform 2300 based on data about the business or data about features (in other words, feature data) of the business system 2100. You can check the features used.
  • the machine learning platform 2300 can use features as input to a machine learning model, and can use the features to learn a model (2312) or service the model online (2311).
  • the user 2600 may set the data provision system 2000 based on the requirements 2500.
  • the requirements 2500 may be defined to apply a machine learning algorithm to various data of the business system 2100.
  • data engineer 2610 may manage collection 2231 of feature data. That is, the data engineer 2610 can manage settings necessary for collecting feature data, such as creating, deleting, and changing them. Settings necessary for collection of feature data may be included in feature setting information. Settings required for collection of feature data will be described later.
  • a data engineer or scientist 2620 may manage the configuration of features.
  • the data engineer or scientist 2620 can manage settings such as creating, deleting, and changing settings necessary for calculating features using feature data.
  • Settings required to calculate features using feature data may be included in feature setting information. The settings required to calculate features will be explained later.
  • scientist 2630 may set up 2321 a machine learning model.
  • the scientist 2630 can use features to manage settings necessary for training a machine learning model, such as creating, deleting, and changing them.
  • Fisher system 2210 may include feature data collection 2210, feature runtime 2220, and feature management 2230.
  • the feature data collection 2210, feature runtime 2220, and feature management 2230 may be modules physically included in the electronic device 100 or logical modules stored in the memory 120 of the electronic device 100. .
  • Feature data of the business system 2100 is collected by feature data collection 2210.
  • feature data of the business system 2100 may include non-real-time data, near-real-time data, and real-time data.
  • non-real-time data refers to data updated on a daily basis
  • near-real-time data refers to data updated in minutes to tens of minutes
  • real-time data refers to data updated in several milliseconds to several seconds. It can mean.
  • Non-real-time data may be stored in storage 2214 via non-real-time channel 2211.
  • an event streaming platform such as Apache Kafka or a data warehouse solution such as Hive can be used.
  • Near-real-time data may be stored in storage 2214 via near-real-time channel 2212.
  • an event streaming platform such as Apache Kafka or a column-based database such as ClickHouse can be used.
  • Real-time data may be stored in storage 2214 through real-time channel 2213.
  • an event streaming platform such as Apache Kafka or a data engine such as Apache Spark can be used.
  • Feature data may be stored in storage 2214.
  • the storage 2214 may include elastic, graphDB, Apache HBase, etc.
  • repository 2214 includes a first detailed repository and a second detailed repository, and electronic device 100 determines at least one data from the first detailed repository if the feature is of a first type, and If is the second type, at least one data can be confirmed from the second detailed storage.
  • storage 2214 includes a non-real-time feature data store, a near-real-time data store, and a real-time data store, and electronic device 100 may store at least one of the non-real-time data stores if the feature is a non-real-time feature.
  • Identify one non-real-time data and if the feature is a near-real-time feature, identify at least one near-real-time data from a near-real-time data store, and if the feature is a real-time feature, at least one real-time data from a real-time data store You can check. In this way, there is an effect of increasing the efficiency of data input and output by using different storage depending on the type of data.
  • the feature runtime 2220 may check the feature data stored in the storage 2214 and calculate the feature using the calculation engine 2221.
  • the compute engine may include Apache Spark or Hive.
  • the feature engine 2221 may store calculated non-real-time features, near-real-time features, and real-time features in the feature database 2224 and provide them to the feature service 2223.
  • the feature database 2224 may include databases such as redis and Cassandra.
  • the feature service 2223 may provide features to the machine learning platform 2300.
  • the settings or data acquisition settings information required for collection of feature data include information about the storage 2214 and information about at least one target field of the storage 2214, and the electronic device 100 includes the storage 2214. At least one data or feature data can be confirmed from at least one target field.
  • the target field may refer to a field of feature data stored in the storage 2214.
  • settings or data acquisition setting information required for collection of feature data include information and mapping information for at least one source field, and each of the at least one source field is at least one data in the business system 2100. each corresponds to a path to be loaded, the mapping information includes information mapping each of at least one source field to each of at least one target field, and the electronic device 100 configures the path corresponding to each of at least one source field. Based on this, each of the at least one data can be loaded from the business system 2100, and each of the at least one data can be stored in at least one target field of the storage 2214 based on the mapping information.
  • the source field may refer to a field of feature data stored in the business system 2100.
  • Data acquisition setting information may be included in feature data collection management 2231.
  • the data engineer 2610 creates or modifies data acquisition setting information to determine which target field of the storage 2214 to store at least one data or feature data stored in which source field of the business system 2100. can be decided.
  • the electronic device 100 may transfer and store at least one data or feature data from the source field of the business system 2100 to the target field of the storage 2214 using the mapping information of the data acquisition setting information.
  • the path may include a JavaScript Object Notation (JSON) path, but is not limited to this, and the path may include any representation of the storage location of data stored in a database or computer system.
  • JSON JavaScript Object Notation
  • the electronic device 100 may use feature setting information to identify a feature based on at least one piece of data.
  • the calculation engine 2221 of the electronic device 100 may use feature setting information that may be included in the feature setting management 2232 to calculate a feature based on at least one data or feature data.
  • the data engineer or scientist 2620 can create and edit feature setting information to preset which feature data will be used to calculate which feature and the calculation method.
  • feature setting information includes a script
  • the electronic device 100 may calculate a feature based on at least one data using the script.
  • a data engineer or scientist 2620 may write a script related to feature calculation and include it in feature setting management 2232.
  • the electronic device 100 may calculate features using a script entered into feature setting management 2232.
  • a script can be anything that contains statements related to calculations, such as program commands or calculation formulas.
  • the data engineer or scientist 2620 inputs a script related to feature calculation through a separate interface, etc., and the electronic device 100 includes the input script in the feature setting management 2232 and sets the feature using the script. It can be calculated. This has the advantage of not wasting the programmer's human resources because the programmer does not have to separately code the script.
  • the feature setting information includes filtering condition information and a calculation function
  • the electronic device 100 filters at least one data using the filtering condition information to check the filtered data and filters the calculation function.
  • Features can be calculated based on the data.
  • Filtering condition information may include conditions for filtering feature data based on specific criteria. For example, filtering condition information may be set to filter only feature data with an age of 20 years or older. The data engineer or scientist 2620 can set filtering condition information through a separate interface, etc. to set the feature setting information to extract only feature data that matches specific conditions.
  • Calculation functions can contain simple calculation logic such as sum or average.
  • a data engineer or scientist 2620 may select a calculation function for calculating features based on feature data through a separate interface. The selected calculation function is included in the feature setting information.
  • feature setting information includes information about a specific time period
  • the electronic device 100 may calculate a feature based on data of a specific time period among at least one piece of data.
  • information about a specific time section may be a time section from 20 minutes before the current time to 10 minutes before the current time.
  • the electronic device 100 checks the specific time section information of the feature setting information and uses only at least one data or data corresponding to the time section from 20 minutes before to 10 minutes before the current time among the feature data to set the feature. can be calculated.
  • a data engineer or scientist 2620 can set specific time section information of feature setting information through a separate interface.
  • the electronic device 100 checks the feature in a first cycle and stores the feature in the feature database, and if the feature is of a second type, checks the feature in a second cycle.
  • Features can be stored in a feature database. Specifically, if the feature is a non-real-time feature, the electronic device 100 may calculate the non-real-time feature in a first cycle (preferably once a day) and store the non-real-time feature in the feature database. there is. Also specifically, when the feature is a near-real-time feature, the electronic device 100 calculates the near-real-time feature in a second period (preferably once every several hours, several tens of minutes, or several minutes), and Real-time features can be stored in the feature database.
  • the electronic device 100 calculates the real-time feature in a third cycle (preferably once every several seconds or tens to hundreds of milliseconds) and stores the real-time feature in the feature database. You can save it.
  • the electronic device 100 may check a feature group including at least one feature related to the first machine learning model from the feature database. At least one feature may be managed by being included in a feature group.
  • a feature group may correspond to a machine learning model.
  • the first machine learning model corresponds to the first feature group, and at least one feature included in the first feature group will be provided for training 2312 and online model service 2311 of the first machine learning model. You can.
  • a data engineer or scientist 2620 can manage a feature group through feature setting management 2232. Specifically, the data engineer or scientist 2620 can create, edit, or delete feature groups. A data engineer or scientist 2620 can define which features will be included in the feature group through a separate interface, etc. At this time, information about the source field or target field corresponding to the feature included in the feature group may be included in the feature group information.
  • the electronic device 100 may train a first machine learning model based on a feature group and provide first data using the learned first machine learning model.
  • Model settings 2321 may include setting information about the first machine learning model and information about features or feature groups to be used for learning and providing the first machine learning model.
  • the model setting 2321 may include identification information of the first feature group, and the electronic device 100 may check the identification information of the first feature group of the model setting 2321 to create a first machine learning model. At least one feature included in the first feature group can be used for learning and providing.
  • Figure 3 shows an embodiment of a data providing system 3000 according to the present disclosure.
  • the data provision system 3000 may be included in the electronic device 100.
  • the data provision system 3000 may include a management function 3100.
  • the management function 3100 may include a feature meta management function 3110 and a data collection meta management function 3120.
  • the feature meta management function 3110 may include a feature management function 3111, a group management function 3112, a view management function 3113, a version management function 3114, or a permission control management function 3115.
  • the data collection meta management function 3120 may include data source management 3121, business model management 3122, collection rule management 3123, or DSL 3124.
  • the data providing system 3000 may include a data source 3200.
  • the data source 3200 may include an order data source 3210, a delivery data source 3220, an automatically allocated data source 3230, or a delivery driver data source 3240.
  • the data providing system 3000 may include a channel 3300.
  • Channel 3300 may include Kafka/Canal (3310) or Amazon Se (3320).
  • the electronic device 100 may retrieve feature data from the data source 3200 through the channel 3300.
  • the data providing system 3000 may include a storage 3400.
  • Storage 3400 may include Redis (3410), Clickhouse (3420), HBase (3430), or Hive (3440).
  • Feature data retrieved through the channel 3300 may be stored in the storage 3400.
  • the data providing system 3000 may include a calculation engine 3500.
  • Computation engine 3500 may include a real-time engine pipeline 3510, a near-real-time engine pipeline 3520, or a non-real-time engine pipeline 3530.
  • the real-time engine pipeline 3510, the near-real-time engine pipeline 3520, and the non-real-time engine pipeline 3530 may each be used to calculate real-time features, near-real-time features, and non-real-time features, respectively.
  • the calculation engine 3500 may calculate features based on feature data stored in the storage 3400.
  • the data provision system 3000 may include a serving layer 3600.
  • Serving layer 3600 may include feature service 3610.
  • the serving layer 3600 may provide features calculated by the calculation engine 3500. Features may be used to train or provide machine learning models utilized in arrival time scenarios 3810, automatic allocation scenarios 3820, dynamic pricing scenarios 3830, or other scenarios 3840.
  • the data provision system 3000 may include a governance function 3700.
  • the governance function (3700) includes data assertion function (3710), blood function (3720), data quality function (3730), life cycle function (3740), access control function (3750), alert/alarm function (3760), and metric function. It may include a function 3770 or a monitoring function 3780.
  • Figure 4 shows an embodiment of a data providing system 4000 according to the present disclosure.
  • the data provision system 4000 may be included in the electronic device 100.
  • the near-real-time process 4410 is as follows.
  • the near-real-time feature data of the business system 4100 may then be format converted 4411 and dimensionally mapped 4412 through Kafka 4210.
  • Format conversion 4411 may mean conversion such as normalization of data.
  • Dimensional mapping 4412 may refer to mapping a source field to a target field.
  • the dimensionally mapped (4412) near-real-time feature data (4413) may be stored in Clickhouse (4414).
  • the job executor 4415 may cause near-real-time features to be calculated based on near-real-time feature data stored in Clickhouse 4414.
  • the scheduler 4416 may trigger the job executor 4415 at regular time intervals.
  • the Spark Streaming (4421) module can acquire real-time feature data from the business system 4100 through Kafka (4210) and then calculate and output the features. there is.
  • Near-real-time and real-time features can be stored in a feature database (4600) such as Redis (4610) or Cassandra (4620) through Kafka (4510) and used in business scenarios (4800) through the feature API server (4700). It can be used for learning machine learning models.
  • a feature database such as Redis (4610) or Cassandra (4620) through Kafka (4510) and used in business scenarios (4800) through the feature API server (4700). It can be used for learning machine learning models.
  • non-real-time data of the business system 4100 may be temporarily stored in the database 4220.
  • Non-real-time data may be stored back in the data warehouse 4431 and non-real-time features may be calculated through learning 4432.
  • Non-real-time features may be stored in a feature database 4600 such as Redis 4610 or Cassandra 4620 through the SDK 4520, or stored in Amazon S3 4630.
  • a feature database 4600 such as Redis 4610 or Cassandra 4620 through the SDK 4520, or stored in Amazon S3 4630.
  • Figure 5 shows an embodiment of a data providing system 5000 according to the present disclosure.
  • the data provision system 5000 may be included in the electronic device 100.
  • the data provision system 5000 may include a business system 5100 and other systems 5200.
  • the business system 5100 may include delivery information 5110, consumer information 5120, seller information 5130, management data warehouse 5140, and other information 5150.
  • the data providing system 5000 may include a feature setting function 5300.
  • the feature setting function 5300 includes the collection meta information management function 5310, near-real-time feature management function 5320, real-time/non-real-time feature management function 5330, feature life cycle management function 5340, or feature lineage management. It may include functions (5350), etc.
  • non-real-time flows 5410 In data collection/storage 5400, non-real-time flows 5410, near-real-time flows 5420, and real-time flows 5430 can be distinguished.
  • non-real-time feature data may be stored in Hive (5413) via Canel (5411) and Kafka (5412).
  • Spark/Spark Graph (5414) can create a graph from data stored in Hive (5413) and save it in GraphDB (5416).
  • Job Scheduler / Airflow (5415) can pass non-real-time feature data from Hive (5413) to the offline feature engine (5510) of the calculation engine (5500).
  • near-real-time feature data may be delivered to ClickHouse 5422 through Kafka 5421 or may be delivered to the streaming framework 5432.
  • ClickHouse 5422 may pass the near-real-time feature data to the near-real-time feature engine 5520 of the calculation engine 5500.
  • real-time feature data may be delivered to the real-time consumer 5433 through the feature service API 5431 and then again to ES 5434, Hbase 5435, or GraphDB 5436.
  • the real-time feature engine 5430 can check real-time features using real-time feature data stored in ES 5434, Hbase 5435, or GraphDB 5436.
  • the calculation engine 5500 may calculate features using feature data identified in the data collection/storage 5400 and store them in the feature database 5600.
  • the feature database 5600 may include Redis (5610), Cassandra (5620), or Hbase (5630). Features stored in the feature database 5600 may be provided to the machine learning platform 5800 through the feature service 5700.
  • the machine learning platform 5800 can learn an offline model based on features provided through the feature service 5700 (5810) and service the learned online model (5820).
  • the online model can be utilized in business scenarios 5900.
  • the business scenario 5900 can be used for automatic allocation (5910), delivery route planning (5920), intelligent pricing (5930), intelligent promotion (5940), or intelligent recommendation (5950).
  • Figure 6 shows an embodiment of a data providing system 6000 according to the present disclosure.
  • the data provision system 6000 may be included in the electronic device 100.
  • the data provision system 6000 may include an event platform 6100.
  • the event platform 6100 may include an event collection function 6110 and a metadata management function 6120.
  • Data provision system 6000 may include a fundamental calculation-storage system 6200.
  • the fundamental calculation-storage system 6200 can dimensionally transform or store feature data, event data, or metadata.
  • Data providing system 6000 may include feature system 6300.
  • the feature system 6300 may calculate features 6360 based on feature data stored in the fundamental calculation-storage system 6200.
  • the feature system 6300 may include a data view management function 6310, a system management function 6320, a feature management 6330 function, a feature service function 6340, and a feature analysis function 6350.
  • Feature system 6300 may include engine 6370.
  • the data provision system 6000 may include a model service platform 6400 and a machine learning platform 6500.
  • Machine learning models can be used in business scenarios 6600.
  • FIG. 7 shows a method of operating the electronic device 100 according to an embodiment. Description of each step of the operation method of FIG. 7 that overlaps with the operation of the electronic device 100 described in FIGS. 1 to 6 will be omitted.
  • the electronic device 100 may acquire at least one data from the business system using data acquisition setting information.
  • the electronic device 100 may identify a feature based on at least one piece of data using feature setting information and store the feature in a feature database.
  • step S730 the electronic device 100 may check a feature group including at least one feature related to the first machine learning model from the feature database.
  • step S740 the electronic device 100 may train a first machine learning model based on the feature group and provide first data using the learned first machine learning model.
  • Embodiments according to the present disclosure described above may be implemented in the form of program instructions that can be executed through various computer components and recorded on a computer-readable recording medium or non-transitory recording medium.
  • the computer-readable recording medium or non-transitory recording medium may include program instructions, data files, data structures, etc., singly or in combination.
  • Program instructions recorded on the computer-readable recording medium or non-transitory recording medium may be specially designed and constructed for the present invention or may be known and usable by those skilled in the computer software field.
  • Examples of computer-readable recording media or non-transitory recording media include magnetic media such as hard disks, floppy disks and magnetic tapes, optical recording media such as CD-ROMs and DVDs, and magneto-optical media such as floptical disks.
  • magneto-optical media and hardware devices specifically configured to store and perform program instructions, such as ROM, RAM, flash memory, etc.
  • program instructions include not only machine language code such as that created by a compiler, but also high-level language code that can be executed by a computer using an interpreter or the like.
  • the hardware device or electronic device may be configured to operate as one or more software modules to perform processing according to the present disclosure, and vice versa.
  • This embodiment can be represented by functional block configurations and various processing steps. These functional blocks may be implemented as various numbers of hardware, software, or combinations thereof that execute specific functions. For example, embodiments include integrated circuit configurations such as memory, processing, logic, look-up tables, etc. that can execute various functions under the control of one or more microprocessors or other control devices. can be hired. Similar to how the components can be implemented as software programming or software elements, the present embodiments include various algorithms implemented as combinations of data structures, processes, routines or other programming constructs, such as C, C++, Java ( It can be implemented in a programming or scripting language such as Java), assembler, etc. Functional aspects may be implemented as algorithms running on one or more processors. Additionally, this embodiment may employ conventional technologies for electronic environment setting, signal processing, data processing, or a combination thereof.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Business, Economics & Management (AREA)
  • Economics (AREA)
  • Mathematical Physics (AREA)
  • Medical Informatics (AREA)
  • Marketing (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • Development Economics (AREA)
  • General Business, Economics & Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Human Resources & Organizations (AREA)
  • Evolutionary Computation (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Strategic Management (AREA)
  • Tourism & Hospitality (AREA)
  • Human Computer Interaction (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

Provided are an electronic device and an operation method thereof, the electronic device: identifying a payment request for at least one item; generating information on an order including order identification information in response to the identified payment request; identifying the state of a circuit breaker and using data acquisition configuration information to collect at least one piece of data from a business system; identifying a feature on the basis of the at least one piece of data by using feature configuration information; storing the feature in a feature database; identifying a feature group including at least one feature relating to a first machine learning model from the feature database; training the first machine learning model on the basis of the feature group; and providing first data by using the trained first machine learning model.

Description

데이터 제공 방법 및 그 장치Data provision method and device
본 개시는 데이터 제공 방법 및 그 장치에 관한 것이다.This disclosure relates to a data provision method and device.
정보통신기술의 발전에 따라 전자상거래 시장은 빠르게 발전하여 쇼핑의 한 분야로 자리잡았다. 고객은 전자 기기 등을 사용하여 온라인 상에서 물품을 구매하고, 원하는 장소로 물품을 배달시킬 수 있다. 이에 따라 판매자와 구매자 간의 매매를 중개하고 배송 서비스를 배송하는 매매 중개 서비스가 활성화되고 있다. With the advancement of information and communication technology, the e-commerce market has developed rapidly and has become a field of shopping. Customers can purchase goods online using electronic devices and have them delivered to a desired location. Accordingly, sales brokerage services that broker transactions between sellers and buyers and provide delivery services are becoming active.
이와 같은 매매 중개 서비스에서 기계학습(Machine Learning)을 이용하여 서비스 이용자에게 보다 효율적인 서비스를 제공하려는 시도가 증가하고 있다. 기계학습을 위해서는 서비스와 관련된 방대한 양의 데이터에서 학습에 필요한 피쳐(Feature)를 획득하는 과정이 필요할 수 있다. In such trading brokerage services, attempts to provide more efficient services to service users by using machine learning are increasing. Machine learning may require the process of acquiring features necessary for learning from a vast amount of data related to services.
기계학습에 필요한 피쳐를 계산하기 위해서는 서비스 데이터 중 피쳐를 계산하기 위한 데이터를 선별하고, 선별된 데이터를 기초로 피쳐를 계산하는 과정이 필요하다. 하지만 서비스가 점점 복잡해짐에 따라, 서비스에서 획득할 수 있는 데이터의 양도 증가하고, 서비스 이용자에게 제공되는 정보의 양이 증가하게 되면서 서비스의 제공에 있어 더 많은 기계학습이 필요하게 되고, 기계학습의 수가 증가함에 따라 기계학습에 필요한 피쳐의 종류나 수도 증가하게 된다. 이러한 경우, 데이터 과학자 또는 데이터 엔지니어가 보다 효율적으로 피쳐를 관리하고 기계학습에 활용할 수 있는 방안이 요구된다.In order to calculate the features needed for machine learning, it is necessary to select the data for calculating the features among the service data and calculate the features based on the selected data. However, as services become more complex, the amount of data that can be obtained from the service increases, and the amount of information provided to service users increases, more machine learning is needed to provide services, and machine learning As the number increases, the type and number of features required for machine learning also increase. In these cases, a method is needed so that data scientists or data engineers can manage features more efficiently and utilize them for machine learning.
본 발명과 관련하여, KR 10-2018-0039013 A 건, KR 10-2021-0124377 A 등의 선행문헌들을 참조할 수 있다.In relation to the present invention, prior documents such as KR 10-2018-0039013 A and KR 10-2021-0124377 A may be referred to.
본 발명의 과제는 설정을 기반으로 기계학습에 사용되는 피쳐를 관리하고, 기계학습에 필요한 하나 이상의 피쳐를 그룹으로 묶어 기계학습에 활용할 수 있는 방법 및 그 장치를 제공하는데 있다.The object of the present invention is to manage features used in machine learning based on settings, group one or more features necessary for machine learning, and provide a method and device that can be used for machine learning.
본 발명이 이루고자 하는 기술적 과제는 상기된 바와 같은 과제로 한정되지 않으며, 이하의 실시예들로부터 또 다른 기술적 과제들이 유추될 수 있다.The technical problem to be achieved by the present invention is not limited to the problems described above, and other technical problems can be inferred from the following examples.
일 실시예에 따라, 전자 장치의 데이터 제공 방법은, 데이터 획득 설정 정보를 이용하여 비즈니스 시스템으로부터 적어도 하나의 데이터를 수집하는 단계; 피쳐 설정 정보를 이용하여 적어도 하나의 데이터를 기초로 피쳐를 확인하고, 피쳐를 피쳐 데이터베이스에 저장하는 단계; 피쳐 데이터베이스로부터 제1 기계학습 모델에 관한 적어도 하나의 피쳐를 포함하는 피쳐 그룹을 확인하는 단계; 및 피쳐 그룹을 기초로 제1 기계학습 모델을 학습시키고, 학습된 제1 기계학습 모델을 이용하여 제1 데이터를 제공하는 단계를 포함할 수 있다.According to one embodiment, a method of providing data by an electronic device includes collecting at least one data from a business system using data acquisition setting information; Confirming a feature based on at least one data using feature setting information and storing the feature in a feature database; identifying a feature group including at least one feature related to a first machine learning model from a feature database; And it may include training a first machine learning model based on the feature group and providing first data using the learned first machine learning model.
또한, 데이터 획득 설정 정보는 저장소에 대한 정보 및 저장소의 적어도 하나의 타겟 필드에 대한 정보를 포함하고, 데이터 제공 방법은, 저장소의 적어도 하나의 타겟 필드로부터 적어도 하나의 데이터를 확인하는 단계를 포함할 수 있다.Additionally, the data acquisition setting information may include information about the repository and information about at least one target field of the repository, and the data providing method may include confirming at least one data from the at least one target field of the repository. You can.
또한, 데이터 획득 설정 정보는 적어도 하나의 소스 필드에 대한 정보 및 매핑 정보를 포함하고, 적어도 하나의 소스 필드 각각은 비즈니스 시스템에서 적어도 하나의 데이터 각각을 로드할 경로에 대응되고, 매핑 정보는 적어도 하나의 소스 필드 각각을 적어도 하나의 타겟 필드 각각에 매핑하는 정보를 포함하고, 데이터 제공 방법은, 적어도 하나의 소스 필드 각각에 대응하는 경로를 기초로 비즈니스 시스템에서 적어도 하나의 데이터 각각을 로드하는 단계; 매핑 정보에 기반하여 적어도 하나의 데이터 각각을 저장소의 적어도 하나의 타겟 필드에 저장하는 단계를 포함할 수 있다.Additionally, the data acquisition setting information includes information about at least one source field and mapping information, each of the at least one source fields corresponds to a path to load each of at least one data in the business system, and the mapping information includes at least one includes information mapping each of the source fields to each of at least one target field, and the data providing method includes: loading each of at least one data from the business system based on a path corresponding to each of the at least one source field; It may include storing each of the at least one data in at least one target field of the storage based on the mapping information.
또한, 경로는 JSON(JavaScript Object Notation) 경로를 포함할 수 있다.Additionally, the path may include a JSON (JavaScript Object Notation) path.
또한, 저장소는 제1 세부 저장소 및 제2 세부 저장소를 포함하고, 데이터 제공 방법은, 피쳐가 제1 타입인 경우 제1 세부 저장소로부터 적어도 하나의 데이터를 확인하고, 피쳐가 제2 타입인 경우 제2 세부 저장소로부터 적어도 하나의 데이터를 확인하는 단계를 포함할 수 있다.Additionally, the repository includes a first detailed repository and a second detailed repository, and the data providing method includes checking at least one data from the first detailed repository if the feature is of a first type, and checking at least one data from the first detailed repository if the feature is of a second type. 2 It may include the step of checking at least one data from the detailed repository.
또한, 피쳐 설정 정보는 스크립트를 포함하고, 데이터 제공 방법은, 스크립트를 이용하여 적어도 하나의 데이터를 기초로 피쳐를 계산하는 단계를 포함할 수 있다.Additionally, the feature setting information includes a script, and the data providing method may include calculating a feature based on at least one data using a script.
또한, 피쳐 설정 정보는 필터링 조건 정보 및 계산 함수를 포함하고, 데이터 제공 방법은, 필터링 조건 정보를 이용하여 적어도 하나의 데이터를 필터링하여 필터링된 데이터를 확인하는 단계; 및 계산 함수를 이용하여 필터링된 데이터를 기초로 피쳐를 계산하는 단계를 포함할 수 있다.Additionally, the feature setting information includes filtering condition information and a calculation function, and the data providing method includes filtering at least one data using the filtering condition information and confirming the filtered data; and calculating features based on the filtered data using a calculation function.
또한, 피쳐 설정 정보는 특정 시간 구간에 대한 정보를 포함하고, 데이터 제공 방법은, 적어도 하나의 데이터 중 특정 시간 구간의 데이터를 기초로 피쳐를 계산하는 단계를 포함할 수 있다.Additionally, the feature setting information includes information about a specific time section, and the data providing method may include calculating a feature based on data of a specific time section among at least one piece of data.
또한, 피쳐가 제1 타입인 경우, 저장하는 단계는 제1 주기로 실행되고, 피쳐가 제2 타입인 경우, 저장하는 단계는 제2 주기로 실행될 수 있다.Additionally, if the feature is of a first type, the storing step may be performed in a first cycle, and if the feature is of a second type, the storing step may be performed in a second cycle.
또한, 전자 장치는, 적어도 하나의 프로그램이 저장된 메모리; 및 적어도 하나의 프로그램을 실행함으로써, 데이터 획득 설정 정보를 이용하여 비즈니스 시스템으로부터 적어도 하나의 데이터를 수집하고, 피쳐 설정 정보를 이용하여 적어도 하나의 데이터를 기초로 피쳐를 확인하고, 피쳐를 피쳐 데이터베이스에 저장하고, 피쳐 데이터베이스로부터 제1 기계학습 모델에 관한 적어도 하나의 피쳐를 포함하는 피쳐 그룹을 확인하고, 피쳐 그룹을 기초로 제1 기계학습 모델을 학습시키고, 학습된 제1 기계학습 모델을 이용하여 제1 데이터를 제공하는 프로세서를 포함할 수 있다.Additionally, the electronic device may include a memory storing at least one program; and executing at least one program to collect at least one data from the business system using the data acquisition setting information, identify a feature based on the at least one data using the feature setting information, and store the feature in a feature database. Store, check a feature group including at least one feature related to the first machine learning model from the feature database, train the first machine learning model based on the feature group, and use the learned first machine learning model. It may include a processor that provides first data.
또한, 컴퓨터로 읽을 수 있는 비일시적 기록매체는, 상술한 동작 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록할 수 있다Additionally, a non-transitory computer-readable recording medium can record a program for executing the above-described operation method on a computer.
기타 실시예들의 구체적인 사항은 상세한 설명 및 도면들에 포함된다.Details of other embodiments are included in the detailed description and drawings.
본 발명에 따르면, 사용자는 별도의 코딩 없이도 피쳐를 생성 및 관리하여 기계학습에 활용할 수 있게 되어, 프로그래머 또는 개발자 자원이 절약되는 효과가 있다.According to the present invention, users can create and manage features without separate coding and use them for machine learning, which has the effect of saving programmer or developer resources.
또한 본 발명에 따르면, 피쳐를 중앙 집중식(Centralized)으로 생성 및 관리할 수 있게 되어, 다양한 종류의 피쳐를 저장하기 위해 사용하는 다양한 종류의 데이터베이스를 사용자가 직접 관리하지 않아도 되는 효과가 있다.Additionally, according to the present invention, features can be created and managed centrally, which has the effect of eliminating the need for users to directly manage various types of databases used to store various types of features.
또한 본 발명에 따르면, 사용자가 직접 스크립트를 작성하고, 작성된 스크립트를 확인 또는 편집할 수 있어 피쳐의 계산 로직을 쉽게 관리할 수 있는 효과가 있다.In addition, according to the present invention, the user can directly write a script and check or edit the written script, which has the effect of easily managing the calculation logic of features.
또한 본 발명에 따르면, 하나의 비즈니스 시나리오에 대한 기계학습에 필요한 수십 내지 수천 개의 피쳐를 그룹으로 묶을 수 있게 되어, 기계학습에 필요한 피쳐를 보다 편리하게 관리할 수 있게 되는 효과가 있다. Additionally, according to the present invention, tens to thousands of features required for machine learning for one business scenario can be grouped, which has the effect of allowing the features required for machine learning to be managed more conveniently.
또한 본 발명에 따르면, 다른 비즈니스 시나리오에 대한 기계학습에 필요한 피쳐를 재활용할 수 있게 되어, 하드웨어 자원 또는 컴퓨팅 자원을 절약할 수 있는 효과가 있다. Additionally, according to the present invention, it is possible to recycle features required for machine learning for other business scenarios, which has the effect of saving hardware resources or computing resources.
또한 본 발명에 따르면, 피쳐를 실시간(Realtime) 피쳐, 근-실시간(Near-realtime) 피쳐 및 비-실시간(Non-realtime) 피쳐의 3가지 타입으로 구분하고 피쳐의 타입에 따라 다른 주기로 피쳐를 계산하거나 다른 데이터베이스를 사용함으로써 하드웨어 자원의 사용을 최적화할 수 있는 효과가 있다. In addition, according to the present invention, features are divided into three types: realtime features, near-realtime features, and non-realtime features, and features are calculated at different intervals depending on the type of feature. Alternatively, there is an effect of optimizing the use of hardware resources by using another database.
발명의 효과는 이상에서 언급한 효과만으로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 청구범위 기재로부터 당해 기술 분야의 통상의 기술자에게 명확하게 이해될 수 있다.The effect of the invention is not limited to the effects mentioned above, and other effects not mentioned can be clearly understood by those skilled in the art from the claims.
도 1은 본 개시에 따른 전자 장치의 일 실시예를 나타낸다.1 shows an embodiment of an electronic device according to the present disclosure.
도 2는 본 개시에 따른 데이터 제공 시스템의 일 실시예를 나타낸다.Figure 2 shows an embodiment of a data provision system according to the present disclosure.
도 3 는 본 개시에 따른 데이터 제공 시스템의 일 실시예를 나타낸다. Figure 3 shows an embodiment of a data providing system according to the present disclosure.
도 4는 본 개시에 따른 데이터 제공 시스템의 일 실시예를 나타낸다.Figure 4 shows an embodiment of a data provision system according to the present disclosure.
도 5는 본 개시에 따른 데이터 제공 시스템의 일 실시예를 나타낸다.Figure 5 shows an embodiment of a data provision system according to the present disclosure.
도 6 은 본 개시에 따른 데이터 제공 시스템의 일 실시예를 나타낸다.Figure 6 shows an embodiment of a data providing system according to the present disclosure.
도 7 은 본 개시에 따른 데이터 제공 방법의 일 실시예를 나타낸다.Figure 7 shows an example of a data provision method according to the present disclosure.
본 개시에 기술된 실시예는 본 개시를 제한하는 것이 아니라 예시하는 것이고, 통상의 기술자는 첨부된 청구범위에 의해 정의된 본 개시의 범주를 벗어나지 않으면서, 다수의 대안적인 실시예를 설계할 수 있다. 실시 예들에서 사용되는 용어는 본 개시에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 개시에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 개시의 전반에 걸친 내용을 토대로 정의되어야 한다.The embodiments described in this disclosure are illustrative rather than limiting, and those skilled in the art may design many alternative embodiments without departing from the scope of the disclosure as defined by the appended claims. there is. The terms used in the embodiments are general terms that are currently widely used as much as possible while considering the functions in the present disclosure, but this may vary depending on the intention or precedent of a person working in the art, the emergence of new technology, etc. In addition, in certain cases, there are terms arbitrarily selected by the applicant, and in this case, the meaning will be described in detail in the relevant description. Therefore, the terms used in this disclosure should be defined based on the meaning of the term and the overall content of this disclosure, rather than simply the name of the term.
본 명세서에서 사용되는 단수의 표현은 문맥상 명백하게 반대되는 기재가 존재하지 않는 한, 단수는 물론 복수를 모두 포함한다. As used herein, the singular expressions singular and plural include both the singular and the plural, unless the context clearly states otherwise.
본 명세서 전체에서 어떤 부분이 어떤 구성요소들 또는 어떤 단계들을 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한, 어떤 부분이 구성요소들 또는 단계들을 반드시 모두 포함해야 하는 것은 아니고, 청구범위 또는 명세서 전체에 열거된 것 이외의 구성요소 또는 단계가 포함되는 것을 배제하는 것도 아니며, 단지 이들을 더 포함할 수 있음을 의미한다. Throughout the specification, when a part is said to “include” certain elements or certain steps, this does not necessarily mean that any part must include all of the elements or steps, unless specifically stated to the contrary, and is not included in the claims. Additionally, it does not exclude the inclusion of components or steps other than those listed throughout the specification, but only means that they may be further included.
또한, 본 명세서에서 사용되는 제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 서수를 포함하는 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 문맥상 명세서의 일 부분에서 일 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리범위를 벗어나지 않으면서 제1 구성요소는 명세서의 다른 부분에서 제2 구성요소로 명명될 수 있고, 반대로 제2 구성요소도 명세서의 다른 부분에서 제1 구성요소로 명명될 수 있다.Additionally, terms containing ordinal numbers, such as first, second, etc., used in this specification may be used to describe various components, but the components should not be limited by terms containing the ordinal numbers. The above terms are used in context only to distinguish one element from another element in one part of the specification. For example, without departing from the scope of the present invention, a first element may be referred to as a second element in other parts of the specification, and conversely, the second element may also be referred to as a first element in other parts of the specification. It can be.
본 명세서에서 "매커니즘", "요소", "수단", "구성"과 같은 용어는 넓게 사용될 수 있으며, 기계적이고 물리적인 구성들로서 한정되는 것은 아니다. 상기 용어는 프로세서 등과 연계하여 소프트웨어의 일련의 처리들(routines)의 의미를 포함할 수 있다.In this specification, terms such as “mechanism,” “element,” “means,” and “configuration” may be used broadly and are not limited to mechanical and physical configurations. The term may include the meaning of a series of software routines in connection with a processor, etc.
본 명세서(특히 청구범위에서)에서 "상기"의 용어 및 이와 유사한 지시 용어의 사용은 단수 및 복수 모두에 해당하는 것일 수 있다. 또한, 범위(range)를 기재한 경우 상기 범위에 속하는 개별적인 값을 포함하는 것으로서(이에 반하는 기재가 없다면), 상세한 설명에 상기 범위를 구성하는 각 개별적인 값을 기재한 것과 같다. 마지막으로, 방법을 구성하는 단계들에 대하여 명백하게 순서를 기재하거나 반하는 기재가 없다면, 상기 단계들은 적당한 순서로 재배열되어 행해질 수 있고, 반드시 상기 단계들의 기재 순서에 한정되는 것은 아니다. 모든 예들 또는 예시적인 용어(예들 들어, 등등)의 사용은 단순히 기술적 사상을 상세히 설명하기 위한 것으로서 청구범위에 의해 한정되지 않는 이상 상기 예들 또는 예시적인 용어로 인해 범위가 한정되는 것은 아니다. 통상의 기술자는 본 명세서에 개시된 실시예에 설계 조건 및 팩터에 따라 다양한 수정, 조합 및 변경을 부가하여 특허청구범위 또는 그 균등물의 범주에 속하는 새로운 실시예를 구성할 수 있다.In this specification (particularly in the claims), the use of the term “above” and similar referential terms may refer to both the singular and the plural. In addition, when a range is described, it includes individual values within the range (unless there is a statement to the contrary), which is the same as describing each individual value constituting the range in the detailed description. Lastly, unless the order of the steps constituting the method is clearly stated or stated to the contrary, the steps may be rearranged and performed in an appropriate order, and are not necessarily limited to the order of description of the steps. The use of any examples or illustrative terms (e.g., etc.) is merely for illustrating the technical idea in detail, and the scope is not limited by the examples or illustrative terms unless limited by the claims. A person skilled in the art can add various modifications, combinations, and changes to the embodiments disclosed in this specification according to design conditions and factors to construct new embodiments that fall within the scope of the patent claims or their equivalents.
이하에서는 도면을 참조하여 본 개시의 실시예를 설명한다.Hereinafter, embodiments of the present disclosure will be described with reference to the drawings.
도 1 은 본 개시의 적어도 하나의 실시예를 실행하는데 사용될 수 있는 전자 장치(100)의 예시적이고 단순화된 블록도를 나타낸다. 다양한 실시예에서, 전자 장치(100)는 본 개시에서 서술된 임의의 시스템 또는 방법을 구현하는데 사용될 수 있다. 예를 들어, 전자 장치(100)는 데이터 서버, 웹 서버, 휴대용 컴퓨팅 디바이스, 개인용 컴퓨터, 태블릿 컴퓨터, 워크스테이션, 휴대폰, 스마트 폰(smart phone) 또는 아래에서 서술되는 임의의 다른 디바이스를 포함하는 임의의 전자 장치로서 사용되도록 구성될 수 있다.1 illustrates an example, simplified block diagram of an electronic device 100 that may be used to practice at least one embodiment of the present disclosure. In various embodiments, electronic device 100 may be used to implement any system or method described in this disclosure. For example, electronic device 100 may include any data server, web server, portable computing device, personal computer, tablet computer, workstation, mobile phone, smart phone, or any other device described below. It can be configured to be used as an electronic device.
전자 장치(100)는 메모리(120) 및 메모리(120)와 통신하도록 구성될 수 있는 하나 이상의 캐시 메모리 및 메모리 제어기를 갖는 하나 이상의 프로세서(110)를 포함할 수 있다. 추가적으로, 전자 장치(100)는 하나 이상의 포트(예컨대, USB(Universal Serial Bus), 헤드폰 잭, 라이트닝(Lightning) 커넥터, 썬더볼트(Thunderbolt) 커넥터 등)를 통해 전자 장치(100)에 연결될 수 있는 다른 디바이스를 포함할 수 있다. 전자 장치(100)에 연결될 수 있는 디바이스는 광섬유 커넥터를 수용하도록 구성되는 복수의 포트를 포함할 수 있다. 도시된 전자 장치(100)의 구성은 디바이스의 바람직한 실시예를 예시할 목적으로 특정 예시로서만 의도된다. 도시된 전자 장치(100)에는 본 실시예들과 관련된 구성요소들만이 도시되어 있다. 따라서, 전자 장치(100)에 도시된 구성요소들 외에 다른 범용적인 구성요소들이 더 포함될 수 있음은 당해 기술분야의 통상의 기술자에게 자명하다. Electronic device 100 may include memory 120 and one or more processors 110 having one or more cache memories and a memory controller that may be configured to communicate with memory 120 . Additionally, the electronic device 100 may be connected to the electronic device 100 through one or more ports (e.g., Universal Serial Bus (USB), headphone jack, Lightning connector, Thunderbolt connector, etc.). May include devices. A device that can be connected to electronic device 100 can include a plurality of ports configured to receive fiber optic connectors. The configuration of electronic device 100 shown is intended as a specific example only for the purpose of illustrating preferred embodiments of the device. In the illustrated electronic device 100, only components related to the present embodiments are shown. Accordingly, it is obvious to those skilled in the art that the electronic device 100 may further include other general-purpose components in addition to the components shown.
프로세서(110)는 전자 장치(100)가 본 개시에서 서술된 임의의 실시예의 단계 또는 기능을 제공하도록 하기 위해 이용될 수 있다. 예를 들어, 프로세서(110)는 전자 장치(100) 내의 메모리(120)에 저장된 프로그램들을 실행함으로써, 전자 장치(100)를 전반적으로 제어한다. 프로세서(110)는 전자 장치(100) 내에 구비된 CPU(central processing unit), GPU(graphics processing unit), AP(application processor) 등으로 구현될 수 있으나, 이에 제한되지 않는다. Processor 110 may be used to cause electronic device 100 to provide the steps or functions of any embodiment described in this disclosure. For example, the processor 110 generally controls the electronic device 100 by executing programs stored in the memory 120 within the electronic device 100. The processor 110 may be implemented as a central processing unit (CPU), a graphics processing unit (GPU), an application processor (AP), etc. provided in the electronic device 100, but is not limited thereto.
메모리(120)는 전자 장치(100) 내에서 처리되는 각종 데이터들을 저장하는 하드웨어로서, 메모리(120)는 전자 장치(100)에서 프로세서(110)를 통해 처리된 데이터들 및 처리될 데이터들을 저장할 수 있다. 또한, 메모리(120)는 본 개시의 적어도 하나의 실시예의 기능을 제공할 수 있는 기본 프로그래밍 및 데이터 구조를 저장하는 것은 물론, 본 개시의 실시예의 기능을 제공할 수 있는 애플리케이션들(프로그램, 코드 모듈, 명령어), 드라이버들 등을 저장할 수 있다. 메모리(120)는 DRAM(dynamic random access memory), SRAM(static random access memory) 등과 같은 RAM(random access memory), ROM(read-only memory), EEPROM(electrically erasable programmable read-only memory), CD-ROM, 블루레이 또는 다른 광학 디스크 스토리지, HDD(hard disk drive), SSD(solid state drive), 또는 플래시 메모리를 포함할 수 있다. The memory 120 is hardware that stores various data processed within the electronic device 100. The memory 120 can store data processed through the processor 110 and data to be processed in the electronic device 100. there is. In addition, the memory 120 stores basic programming and data structures that can provide the functions of at least one embodiment of the present disclosure, as well as applications (programs, code modules) that can provide the functions of the embodiments of the present disclosure. , commands), drivers, etc. can be saved. The memory 120 includes random access memory (RAM) such as dynamic random access memory (DRAM), static random access memory (SRAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), CD- It may include ROM, Blu-ray or other optical disk storage, a hard disk drive (HDD), a solid state drive (SSD), or flash memory.
본 개시에 따른 방법 및 각 단계는 전자 장치(100) 또는 프로세서(110)가 수행할 수 있다. 전자 장치(100)는 프로세서(110)의 제어에 의해 동작한다. 설명을 간단히 하기 위하여 아래부터는 전자 장치(100)가 본 개시에 따른 방법 및 각 단계의 수행 주체임을 전제하여 설명한다.The method and each step according to the present disclosure can be performed by the electronic device 100 or the processor 110. The electronic device 100 operates under the control of the processor 110. To simplify the explanation, the following description will be made on the assumption that the electronic device 100 is the entity that performs the method and each step according to the present disclosure.
도 2 는 본 개시에 따른 데이터 제공 시스템(2000)의 일 실시예를 나타낸다. 데이터 제공 시스템(2000)은 전자 장치(100)에 포함될 수 있다. Figure 2 shows an embodiment of a data providing system 2000 according to the present disclosure. The data provision system 2000 may be included in the electronic device 100.
일 실시예에서, 전자 장치(100)는 데이터 획득 설정 정보를 이용하여 비즈니스 시스템으로부터 피쳐에 관한 적어도 하나의 데이터를 수집하고, 피쳐 설정 정보를 이용하여 적어도 하나의 데이터를 기초로 피쳐를 확인하고, 피쳐를 피쳐 데이터베이스에 저장하고, 피쳐 데이터베이스로부터 제1 기계학습 모델에 관한 적어도 하나의 피쳐를 포함하는 피쳐 그룹을 확인하고, 피쳐 그룹을 기초로 제1 기계학습 모델을 학습시키고, 학습된 제1 기계학습 모델을 이용하여 제1 데이터를 제공할 수 있다.In one embodiment, the electronic device 100 collects at least one data about a feature from a business system using data acquisition setting information, verifies a feature based on the at least one data using feature setting information, Store the feature in a feature database, identify a feature group including at least one feature related to the first machine learning model from the feature database, train the first machine learning model based on the feature group, and use the learned first machine First data can be provided using a learning model.
일 실시예에서, 데이터 제공 시스템(2000)은 비즈니스 시스템(2100), 피쳐 시스템(2200) 및 기계학습 플랫폼(2300)을 포함할 수 있다. In one embodiment, the data provision system 2000 may include a business system 2100, a feature system 2200, and a machine learning platform 2300.
비즈니스 시스템(2100)은 전자 상거래 서비스 또는 비즈니스에 관한 데이터를 포함할 수 있다. 예를 들어 비즈니스 시스템(2100)은 예상 배송 시간, 배송 경로 또는 아이템의 가격 등의 데이터를 포함할 수 있다. 이는 피쳐에 관한 데이터일 수 있다. Business system 2100 may include data about e-commerce services or businesses. For example, the business system 2100 may include data such as expected delivery time, delivery route, or item price. This may be data about features.
피쳐 시스템(2200)은 비즈니스 시스템(2100)의 비즈니스에 관한 데이터 또는 피쳐에 관한 데이터(다른 말로, 피쳐 데이터)를 기초로 기계학습 플랫폼(2300)의 모델 학습(2312) 또는 온라인 모델 서비스(2311)에 사용되는 피쳐를 확인할 수 있다.The feature system 2200 uses model learning 2312 or online model service 2311 of the machine learning platform 2300 based on data about the business or data about features (in other words, feature data) of the business system 2100. You can check the features used.
기계학습 플랫폼(2300)은 기계학습 모델의 입력으로 피쳐를 사용할 수 있고, 피쳐를 이용하여 모델을 학습(2312) 또는 온라인으로 모델을 서비스(2311)할 수 있다.The machine learning platform 2300 can use features as input to a machine learning model, and can use the features to learn a model (2312) or service the model online (2311).
일 실시예에서, 사용자(2600)는 요구조건(2500)을 기초로 데이터 제공 시스템(2000)을 설정할 수 있다. 요구조건(2500)은 비즈니스 시스템(2100)의 다양한 데이터에 기계학습 알고리즘을 적용하기 위하여 정의된 것일 수 있다. In one embodiment, the user 2600 may set the data provision system 2000 based on the requirements 2500. The requirements 2500 may be defined to apply a machine learning algorithm to various data of the business system 2100.
일 실시예에서, 데이터 엔지니어(2610)는 피쳐 데이터의 수집을 관리(2231)할 수 있다. 즉, 데이터 엔지니어(2610)는 피쳐 데이터의 수집에 필요한 설정을 생성, 삭제 및 변경하는 등 관리할 수 있다. 피쳐 데이터의 수집에 필요한 설정은 피쳐 설정 정보에 포함될 수 있다. 피쳐 데이터의 수집에 필요한 설정에 관하여는 이후에 설명한다. In one embodiment, data engineer 2610 may manage collection 2231 of feature data. That is, the data engineer 2610 can manage settings necessary for collecting feature data, such as creating, deleting, and changing them. Settings necessary for collection of feature data may be included in feature setting information. Settings required for collection of feature data will be described later.
일 실시예에서, 데이터 엔지니어 또는 과학자(2620)는 피쳐의 설정을 관리할 수 있다. 즉, 데이터 엔지니어 또는 과학자(2620)는 피쳐 데이터를 이용하여 피쳐를 계산하는데 필요한 설정을 생성, 삭제 및 변경하는 등 관리할 수 있다. 피쳐 데이터를 이용하여 피쳐를 계산하는데 필요한 설정은 피쳐 설정 정보에 포함될 수 있다. 피쳐를 계산하는데 필요한 설정에 관하여는 이후에 설명한다. In one embodiment, a data engineer or scientist 2620 may manage the configuration of features. In other words, the data engineer or scientist 2620 can manage settings such as creating, deleting, and changing settings necessary for calculating features using feature data. Settings required to calculate features using feature data may be included in feature setting information. The settings required to calculate features will be explained later.
일 실시예에서, 과학자(2630)는 기계학습 모델을 설정(2321)할 수 있다. 즉, 과학자(2630)는 피쳐를 이용하여 기계학습 모델을 학습시키는데 필요한 설정을 생성, 삭제 및 변경하는 등 관리할 수 있다. In one embodiment, scientist 2630 may set up 2321 a machine learning model. In other words, the scientist 2630 can use features to manage settings necessary for training a machine learning model, such as creating, deleting, and changing them.
피셔 시스템(2210)은 피쳐 데이터 수집(2210), 피쳐 런타임(2220) 및 피쳐 관리(2230)를 포함할 수 있다. 피쳐 데이터 수집(2210), 피쳐 런타임(2220) 및 피쳐 관리(2230)는 전자 장치(100)에 물리적으로 포함되는 모듈이거나, 전자 장치(100)의 메모리(120)에 저장되는 논리적 모듈일 수 있다. Fisher system 2210 may include feature data collection 2210, feature runtime 2220, and feature management 2230. The feature data collection 2210, feature runtime 2220, and feature management 2230 may be modules physically included in the electronic device 100 or logical modules stored in the memory 120 of the electronic device 100. .
비즈니스 시스템(2100)의 피쳐 데이터는 피쳐 데이터 수집(2210)에 의해 수집된다. 이 때, 비즈니스 시스템(2100)의 피쳐 데이터는 비-실시간 데이터, 근-실시간 데이터 및 실시간 데이터를 포함할 수 있다. 제한되지는 않지만, 비-실시간 데이터는 하루 단위로 갱신되는 데이터를, 근-실시간 데이터는 수 분 내지 수십 분 단위로 갱신되는 데이터를, 실시간 데이터는 수 밀리초 내지 수 초 단위로 갱신되는 데이터를 의미할 수 있다.Feature data of the business system 2100 is collected by feature data collection 2210. At this time, feature data of the business system 2100 may include non-real-time data, near-real-time data, and real-time data. Although not limited, non-real-time data refers to data updated on a daily basis, near-real-time data refers to data updated in minutes to tens of minutes, and real-time data refers to data updated in several milliseconds to several seconds. It can mean.
비-실시간 데이터는 비-실시간 채널(2211)을 통해 저장소(2214)에 저장될 수 있다. 이 때 Apache kafka와 같은 이벤트 스트리밍 플랫폼 또는 Hive 와 같은 데이터 웨어하우스 솔루션이 이용될 수 있다.Non-real-time data may be stored in storage 2214 via non-real-time channel 2211. At this time, an event streaming platform such as Apache Kafka or a data warehouse solution such as Hive can be used.
근-실시간 데이터는 근-실시간 채널(2212)을 통해 저장소(2214)에 저장될 수 있다. 이 때 Apache kafka와 같은 이벤트 스트리밍 플랫폼 또는 ClickHouse 와 같은 컬럼(column)-기반 데이터베이스가 이용될 수 있다.Near-real-time data may be stored in storage 2214 via near-real-time channel 2212. At this time, an event streaming platform such as Apache Kafka or a column-based database such as ClickHouse can be used.
실시간 데이터는 실시간 채널(2213)을 통해 저장소(2214)에 저장될 수 있다. 이 때 Apache kafka와 같은 이벤트 스트리밍 플랫폼 또는 Apache Spark와 같은 데이터 엔진이 이용될 수 있다.Real-time data may be stored in storage 2214 through real-time channel 2213. At this time, an event streaming platform such as Apache Kafka or a data engine such as Apache Spark can be used.
피쳐 데이터는 저장소(2214)에 저장될 수 있다. 예를 들어, 저장소(2214)는 elastic, graphDB, Apache HBase 등을 포함할 수 있다. 일 실시예에서, 저장소(2214)는 제1 세부 저장소 및 제2 세부 저장소를 포함하고, 전자 장치(100)는 피쳐가 제1타입인 경우 제1 세부 저장소로부터 적어도 하나의 데이터를 확인하고, 피쳐가 제2 타입인 경우 제2 세부 저장소로부터 적어도 하나의 데이터를 확인할 수 있다. 예를 들어, 저장소(2214)는 비-실시간 피쳐 데이터 저장소, 근-실시간 데이터 저장소 및 실시간 데이터 저장소를 포함하고, 전자 장치(100)는 피쳐가 비-실시간 피쳐인 경우 비-실시간 데이터 저장소로부터 적어도 하나의 비-실시간 데이터를 확인하고, 피쳐가 근-실시간 피쳐인 경우 근-실시간 데이터 저장소로부터 적어도 하나의 근-실시간 데이터를 확인하고, 피쳐가 실시간 피쳐인 경우 실시간 데이터 저장소로부터 적어도 하나의 실시간 데이터를 확인할 수 있다. 이와 같이 데이터의 타입에 따라 서로 다른 저장소를 사용하여 데이터 입출력의 효율을 높일 수 있는 효과가 있다.Feature data may be stored in storage 2214. For example, the storage 2214 may include elastic, graphDB, Apache HBase, etc. In one embodiment, repository 2214 includes a first detailed repository and a second detailed repository, and electronic device 100 determines at least one data from the first detailed repository if the feature is of a first type, and If is the second type, at least one data can be confirmed from the second detailed storage. For example, storage 2214 includes a non-real-time feature data store, a near-real-time data store, and a real-time data store, and electronic device 100 may store at least one of the non-real-time data stores if the feature is a non-real-time feature. Identify one non-real-time data, and if the feature is a near-real-time feature, identify at least one near-real-time data from a near-real-time data store, and if the feature is a real-time feature, at least one real-time data from a real-time data store You can check. In this way, there is an effect of increasing the efficiency of data input and output by using different storage depending on the type of data.
피쳐 런타임(2220)은 저장소(2214)에 저장된 피쳐 데이터를 확인하고, 계산 엔진(2221)을 활용하여 피쳐를 계산할 수 있다. 예를 들어, 계산 엔진에는 Apache Spark 또는 Hive 등이 포함될 수 있다. 피쳐 엔진(2221)은 계산된 비-실시간 피쳐, 근-실시간 피쳐 및 실시간 피쳐를 피쳐 데이터베이스(2224)에 저장하고, 피쳐 서비스(2223)에 제공할 수 있다. 예를 들어, 피쳐 데이터베이스(2224)에는 redis, Cassandra 등의 데이터베이스가 포함될 수 있다. 피쳐 서비스(2223)은 피쳐를 기계학습 플랫폼(2300)에 제공할 수 있다.The feature runtime 2220 may check the feature data stored in the storage 2214 and calculate the feature using the calculation engine 2221. For example, the compute engine may include Apache Spark or Hive. The feature engine 2221 may store calculated non-real-time features, near-real-time features, and real-time features in the feature database 2224 and provide them to the feature service 2223. For example, the feature database 2224 may include databases such as redis and Cassandra. The feature service 2223 may provide features to the machine learning platform 2300.
일 실시예에서, 피쳐 데이터의 수집에 필요한 설정 또는 데이터 획득 설정 정보는 저장소(2214)에 대한 정보 및 저장소(2214)의 적어도 하나의 타겟 필드에 대한 정보를 포함하고, 전자 장치(100)는 저장소의 적어도 하나의 타겟 필드로부터 적어도 하나의 데이터 또는 피쳐 데이터를 확인할 수 있다. 타겟 필드는 저장소(2214)에 저장된 피쳐 데이터의 필드를 의미할 수 있다.In one embodiment, the settings or data acquisition settings information required for collection of feature data include information about the storage 2214 and information about at least one target field of the storage 2214, and the electronic device 100 includes the storage 2214. At least one data or feature data can be confirmed from at least one target field. The target field may refer to a field of feature data stored in the storage 2214.
일 실시예에서, 피쳐 데이터의 수집에 필요한 설정 또는 데이터 획득 설정 정보는 적어도 하나의 소스 필드에 대한 정보 및 매핑 정보를 포함하고, 적어도 하나의 소스 필드 각각은 비즈니스 시스템(2100)에서 적어도 하나의 데이터 각각을 로드할 경로에 대응되고, 매핑 정보는 적어도 하나의 소스 필드 각각을 적어도 하나의 타겟 필드 각각에 매핑하는 정보를 포함하고, 전자 장치(100)는, 적어도 하나의 소스 필드 각각에 대응하는 경로를 기초로 비즈니스 시스템(2100)에서 적어도 하나의 데이터 각각을 로드하고, 매핑 정보에 기반하여 적어도 하나의 데이터 각각을 저장소(2214)의 적어도 하나의 타겟 필드에 저장할 수 있다. 소스 필드는 비즈니스 시스템(2100)에 저장된 피쳐 데이터의 필드를 의미할 수 있다. 데이터 획득 설정 정보는 피쳐 데이터 수집 관리(2231)에 포함될 수 있다. 데이터 엔지니어(2610)는 데이터 획득 설정 정보를 생성 또는 수정하여 비즈니스 시스템(2100)의 어떤 소스 필드에 저장된 적어도 하나의 데이터 또는 피쳐 데이터를 저장소(2214)의 어떤 타겟 필드로 저장할 것인지를 결정하는 매핑 정보를 결정할 수 있다. 전자 장치(100)는 데이터 획득 설정 정보의 매핑 정보를 이용하여 비즈니스 시스템(2100)의 소스 필드로부터 저장소(2214)의 타겟 필드로 적어도 하나의 데이터 또는 피쳐 데이터를 옮겨 저장할 수 있다.In one embodiment, settings or data acquisition setting information required for collection of feature data include information and mapping information for at least one source field, and each of the at least one source field is at least one data in the business system 2100. each corresponds to a path to be loaded, the mapping information includes information mapping each of at least one source field to each of at least one target field, and the electronic device 100 configures the path corresponding to each of at least one source field. Based on this, each of the at least one data can be loaded from the business system 2100, and each of the at least one data can be stored in at least one target field of the storage 2214 based on the mapping information. The source field may refer to a field of feature data stored in the business system 2100. Data acquisition setting information may be included in feature data collection management 2231. The data engineer 2610 creates or modifies data acquisition setting information to determine which target field of the storage 2214 to store at least one data or feature data stored in which source field of the business system 2100. can be decided. The electronic device 100 may transfer and store at least one data or feature data from the source field of the business system 2100 to the target field of the storage 2214 using the mapping information of the data acquisition setting information.
일 실시예에서, 경로는 JSON(JavaScript Object Notation) 경로를 포함할 수 있으나, 이에 한정되지 않고, 데이터베이스 또는 컴퓨터 시스템에 저장된 데이터의 저장 위치에 대한 어떠한 표현이든 경로에 포함될 수 있다.In one embodiment, the path may include a JavaScript Object Notation (JSON) path, but is not limited to this, and the path may include any representation of the storage location of data stored in a database or computer system.
일 실시예에서, 전자 장치(100)는 피쳐 설정 정보를 이용하여, 적어도 하나의 데이터를 기초로 피쳐를 확인할 수 있다. 구체적으로, 전자 장치(100)의 계산 엔진(2221)은 피쳐 설정 관리(2232)에 포함될 수 있는 피쳐 설정 정보를 이용하여, 적어도 하나의 데이터 또는 피쳐 데이터를 기초로 피쳐를 계산할 수 있다. 데이터 엔지니어 또는 과학자(2620)는 피쳐 설정 정보를 생성 및 편집하여, 어떤 피쳐 데이터를 사용하여 어떤 피쳐를 계산할 것인지, 그 계산 방법을 미리 설정할 수 있다. In one embodiment, the electronic device 100 may use feature setting information to identify a feature based on at least one piece of data. Specifically, the calculation engine 2221 of the electronic device 100 may use feature setting information that may be included in the feature setting management 2232 to calculate a feature based on at least one data or feature data. The data engineer or scientist 2620 can create and edit feature setting information to preset which feature data will be used to calculate which feature and the calculation method.
일 실시예에서, 피쳐 설정 정보는 스크립트를 포함하고, 전자 장치(100)는 스크립트를 이용하여 적어도 하나의 데이터를 기초로 피쳐를 계산할 수 있다. 데이터 엔지니어 또는 과학자(2620)는 피쳐의 계산에 관한 스크립트를 작성하고, 피쳐 설정 관리(2232)에 포함시킬 수 있다. 전자 장치(100)는 피쳐 설정 관리(2232)에 입력된 스크립트를 이용하여 피쳐를 계산할 수 있다. 스크립트는 프로그램 명령어 또는 계산식 등 계산과 관련된 문장을 포함하는 그 어떤 것도 될 수 있다. 데이터 엔지니어 또는 과학자(2620)는 별도의 인터페이스 등을 통해 피쳐의 계산에 관한 스크립트를 입력하고, 전자 장치(100)는 입력된 스크립트를 피쳐 설정 관리(2232)에 포함시키고, 스크립트를 이용하여 피쳐를 계산할 수 있다. 이는 프로그래머가 스크립트에 관한 별도의 코딩을 하지 않아도 되어 프로그래머의 인적 자원이 낭비되지 않는 이점이 있다.In one embodiment, feature setting information includes a script, and the electronic device 100 may calculate a feature based on at least one data using the script. A data engineer or scientist 2620 may write a script related to feature calculation and include it in feature setting management 2232. The electronic device 100 may calculate features using a script entered into feature setting management 2232. A script can be anything that contains statements related to calculations, such as program commands or calculation formulas. The data engineer or scientist 2620 inputs a script related to feature calculation through a separate interface, etc., and the electronic device 100 includes the input script in the feature setting management 2232 and sets the feature using the script. It can be calculated. This has the advantage of not wasting the programmer's human resources because the programmer does not have to separately code the script.
일 실시예에서, 피쳐 설정 정보는 필터링 조건 정보 및 계산 함수를 포함하고, 전자 장치(100)는, 필터링 조건 정보를 이용하여 적어도 하나의 데이터를 필터링하여 필터링된 데이터를 확인하고, 계산 함수를 필터링된 데이터를 기초로 피쳐를 계산할 수 있다. In one embodiment, the feature setting information includes filtering condition information and a calculation function, and the electronic device 100 filters at least one data using the filtering condition information to check the filtered data and filters the calculation function. Features can be calculated based on the data.
필터링 조건 정보는 피쳐 데이터를 특정한 기준으로 필터링하기 위한 조건을 포함할 수 있다. 예를 들어, 필터링 조건 정보는 나이가 20세 이상인 피쳐 데이터만을 필터링하도록 설정될 수 있다. 데이터 엔지니어 또는 과학자(2620)는 별도의 인터페이스 등을 통해 필터링 조건 정보를 설정하여 특정한 조건에 합치하는 피쳐 데이터만을 추출하도록 피쳐 설정 정보를 설정할 수 있다.Filtering condition information may include conditions for filtering feature data based on specific criteria. For example, filtering condition information may be set to filter only feature data with an age of 20 years or older. The data engineer or scientist 2620 can set filtering condition information through a separate interface, etc. to set the feature setting information to extract only feature data that matches specific conditions.
계산 함수는 합계 또는 평균 등 간단한 계산 로직을 포함할 수 있다. 데이터 엔지니어 또는 과학자(2620)는 별도의 인터페이스 등을 통해 피쳐 데이터를 기초로 피쳐를 계산하기 위한 계산 함수를 선택할 수 있다. 선택된 계산 함수는 피쳐 설정 정보에 포함되게 된다.Calculation functions can contain simple calculation logic such as sum or average. A data engineer or scientist 2620 may select a calculation function for calculating features based on feature data through a separate interface. The selected calculation function is included in the feature setting information.
일 실시예에서, 피쳐 설정 정보는 특정 시간 구간에 대한 정보를 포함하고, 전자 장치(100)는 적어도 하나의 데이터 중 특정 시간 구간의 데이터를 기초로 피쳐를 계산할 수 있다. 예를 들어, 특정 시간 구간에 대한 정보는 현재 시각으로부터 20분 전 내지 현재 시각으로부터 10분 전까지의 시간 구간일 수 있다. 전자 장치(100)는 피쳐 설정 정보의 특정 시간 구간 정보를 확인하고, 적어도 하나의 데이터 또는 피쳐 데이터 중 현재 시각으로부터 20분 전 내지 현재 시각으로부터 10분 전까지의 시간 구간에 해당하는 데이터만을 사용하여 피쳐를 계산할 수 있다. 데이터 엔지니어 또는 과학자(2620)는 별도의 인터페이스 등을 통해 피쳐 설정 정보의 특정 시간 구간 정보를 설정할 수 있다.In one embodiment, feature setting information includes information about a specific time period, and the electronic device 100 may calculate a feature based on data of a specific time period among at least one piece of data. For example, information about a specific time section may be a time section from 20 minutes before the current time to 10 minutes before the current time. The electronic device 100 checks the specific time section information of the feature setting information and uses only at least one data or data corresponding to the time section from 20 minutes before to 10 minutes before the current time among the feature data to set the feature. can be calculated. A data engineer or scientist 2620 can set specific time section information of feature setting information through a separate interface.
일 실시예에서, 전자 장치(100)는, 피쳐가 제1타입인 경우, 제1 주기로 피쳐를 확인하고 피쳐를 피쳐 데이터 베이스에 저장하고, 피쳐가 제2 타입인 경우 제2 주기로 피쳐를 확인하고 피쳐를 피쳐 데이터베이스에 저장할 수 있다. 구체적으로, 전자 장치(100)는 피쳐가 비-실시간 피쳐인 경우, 제1 주기(바람직하게는, 하루에 한 번)로 비-실시간 피쳐를 계산하고, 비-실시간 피쳐를 피쳐 데이터베이스에 저장할 수 있다. 또한 구체적으로, 전자 장치(100)는 피쳐가 근-실시간 피쳐인 경우, 제2 주기(바람직하게는, 수 시간, 수 십분 또는 수 분에 한 번)로 근-실시간 피쳐를 계산하고, 근-실시간 피쳐를 피쳐 데이터베이스에 저장할 수 있다. 또한 구체적으로, 전자 장치(100)는 피쳐가 실시간 피쳐인 경우, 제3 주기(바람직하게는, 수 초 또는 수십-수백 밀리초에 한 번)로 실시간 피쳐를 계산하고, 실시간 피쳐를 피쳐 데이터베이스에 저장할 수 있다. In one embodiment, if the feature is of a first type, the electronic device 100 checks the feature in a first cycle and stores the feature in the feature database, and if the feature is of a second type, checks the feature in a second cycle. Features can be stored in a feature database. Specifically, if the feature is a non-real-time feature, the electronic device 100 may calculate the non-real-time feature in a first cycle (preferably once a day) and store the non-real-time feature in the feature database. there is. Also specifically, when the feature is a near-real-time feature, the electronic device 100 calculates the near-real-time feature in a second period (preferably once every several hours, several tens of minutes, or several minutes), and Real-time features can be stored in the feature database. Also specifically, when the feature is a real-time feature, the electronic device 100 calculates the real-time feature in a third cycle (preferably once every several seconds or tens to hundreds of milliseconds) and stores the real-time feature in the feature database. You can save it.
일 실시예에서, 전자 장치(100)는 피쳐 데이터베이스로부터 제1 기계학습 모델에 관한 적어도 하나의 피쳐를 포함하는 피쳐 그룹을 확인할 수 있다. 적어도 하나의 피쳐는 피쳐 그룹에 포함되어 관리될 수 있다. 피쳐 그룹은 기계학습 모델에 대응되는 것일 수 있다. 예를 들어, 제1 기계학습 모델은 제1 피쳐 그룹에 대응되고, 제1 피쳐 그룹에 포함되는 적어도 하나의 피쳐가 제1 기계학습 모델의 학습(2312) 및 온라인 모델 서비스(2311)에 제공될 수 있다. In one embodiment, the electronic device 100 may check a feature group including at least one feature related to the first machine learning model from the feature database. At least one feature may be managed by being included in a feature group. A feature group may correspond to a machine learning model. For example, the first machine learning model corresponds to the first feature group, and at least one feature included in the first feature group will be provided for training 2312 and online model service 2311 of the first machine learning model. You can.
데이터 엔지니어 또는 과학자(2620)는 피쳐 설정 관리(2232)를 통해 피쳐 그룹을 관리할 수 있다. 구체적으로, 데이터 엔지니어 또는 과학자(2620)는 피쳐 그룹을 생성, 편집 또는 삭제할 수 있다. 데이터 엔지니어 또는 과학자(2620)는 별도의 인터페이스 등을 통해 피쳐 그룹에 포함될 피쳐가 무엇인지 정의할 수 있다. 이 때, 피쳐 그룹에 포함될 피쳐에 대응하는 소스 필드 또는 타겟 필드에 대한 정보가 피쳐 그룹 정보에 포함될 수 있다. A data engineer or scientist 2620 can manage a feature group through feature setting management 2232. Specifically, the data engineer or scientist 2620 can create, edit, or delete feature groups. A data engineer or scientist 2620 can define which features will be included in the feature group through a separate interface, etc. At this time, information about the source field or target field corresponding to the feature included in the feature group may be included in the feature group information.
일 실시예에서, 전자 장치(100)는 피쳐 그룹을 기초로 제1 기계학습 모델을 학습시키고, 학습된 제1 기계학습 모델을 이용하여 제1 데이터를 제공할 수 있다. 모델 설정(2321)에는 제1 기계학습 모델에 관한 설정 정보 및 제1 기계학습 모델의 학습 및 제공에 사용할 피쳐 또는 피쳐 그룹에 관한 정보가 포함될 수 있다. 예를 들어, 모델 설정(2321)은 제1 피쳐 그룹의 식별 정보를 포함할 수 있고, 전자 장치(100)는 모델 설정(2321)의 제1 피쳐 그룹의 식별 정보를 확인하여 제1 기계학습 모델의 학습 및 제공에 제1 피쳐 그룹에 포함되는 적어도 하나의 피쳐를 사용할 수 있다.In one embodiment, the electronic device 100 may train a first machine learning model based on a feature group and provide first data using the learned first machine learning model. Model settings 2321 may include setting information about the first machine learning model and information about features or feature groups to be used for learning and providing the first machine learning model. For example, the model setting 2321 may include identification information of the first feature group, and the electronic device 100 may check the identification information of the first feature group of the model setting 2321 to create a first machine learning model. At least one feature included in the first feature group can be used for learning and providing.
도 3 은 본 개시에 따른 데이터 제공 시스템(3000)의 일 실시예를 나타낸다. 데이터 제공 시스템(3000)은 전자 장치(100)에 포함될 수 있다.Figure 3 shows an embodiment of a data providing system 3000 according to the present disclosure. The data provision system 3000 may be included in the electronic device 100.
데이터 제공 시스템(3000)은 관리 기능(3100)을 포함할 수 있다. 관리 기능(3100)는 피쳐 메타 관리 기능(3110) 및 데이터 수집 메타 관리 기능(3120)을 포함할 수 있다. 피쳐 메타 관리 기능(3110)은 피쳐 관리 기능(3111), 그룹 관리 기능(3112), 뷰 관리 기능(3113), 버전 관리 기능(3114) 또는 허가 제어 관리 기능(3115)을 포함할 수 있다. 데이터 수집 메타 관리 기능(3120)은 데이터 소스 관리(3121), 비즈니스 모델 관리(3122), 수집 룰 관리(3123) 또는 DSL(3124)를 포함할 수 있다.The data provision system 3000 may include a management function 3100. The management function 3100 may include a feature meta management function 3110 and a data collection meta management function 3120. The feature meta management function 3110 may include a feature management function 3111, a group management function 3112, a view management function 3113, a version management function 3114, or a permission control management function 3115. The data collection meta management function 3120 may include data source management 3121, business model management 3122, collection rule management 3123, or DSL 3124.
데이터 제공 시스템(3000)은 데이터 소스(3200)를 포함할 수 있다. 데이터 소스(3200)는 주문 데이터 소스(3210), 배송 데이터 소스(3220), 자동 할당 데이터 소스(3230) 또는 배송기사 데이터 소스(3240) 등을 포함할 수 있다.The data providing system 3000 may include a data source 3200. The data source 3200 may include an order data source 3210, a delivery data source 3220, an automatically allocated data source 3230, or a delivery driver data source 3240.
데이터 제공 시스템(3000)은 채널(3300)을 포함할 수 있다. 채널(3300)은 Kafka/Canal(3310) 또는 Amazon Se(3320) 등을 포함할 수 있다. 전자 장치(100)는 채널(3300)을 통해 데이터 소스(3200)의 피쳐 데이터를 가져올 수 있다.The data providing system 3000 may include a channel 3300. Channel 3300 may include Kafka/Canal (3310) or Amazon Se (3320). The electronic device 100 may retrieve feature data from the data source 3200 through the channel 3300.
데이터 제공 시스템(3000)은 저장소(3400)를 포함할 수 있다. 저장소(3400)는 Redis(3410), Clickhouse(3420), HBase(3430) 또는 Hive(3440)를 포함할 수 있다. 채널(3300)을 통해 가져온 피쳐 데이터는 저장소(3400)에 저장될 수 있다.The data providing system 3000 may include a storage 3400. Storage 3400 may include Redis (3410), Clickhouse (3420), HBase (3430), or Hive (3440). Feature data retrieved through the channel 3300 may be stored in the storage 3400.
데이터 제공 시스템(3000)은 계산 엔진(3500)을 포함할 수 있다. 계산 엔진(3500)은 실시간 엔진 파이프라인(3510), 근-실시간 엔진 파이프라인(3520) 또는 비-실시간 엔진 파이프라인(3530)을 포함할 수 있다. 실시간 엔진 파이프라인(3510), 근-실시간 엔진 파이프라인(3520) 및 비-실시간 엔진 파이프라인(3530) 각각은 실시간 피쳐, 근-실시간 피쳐 및 비-실시간 피쳐 각각의 계산에 이용될 수 있다. 계산 엔진(3500)은 저장소(3400)에 저장된 피쳐 데이터를 기초로 피쳐를 계산할 수 있다.The data providing system 3000 may include a calculation engine 3500. Computation engine 3500 may include a real-time engine pipeline 3510, a near-real-time engine pipeline 3520, or a non-real-time engine pipeline 3530. The real-time engine pipeline 3510, the near-real-time engine pipeline 3520, and the non-real-time engine pipeline 3530 may each be used to calculate real-time features, near-real-time features, and non-real-time features, respectively. The calculation engine 3500 may calculate features based on feature data stored in the storage 3400.
데이터 제공 시스템(3000)은 서빙 레이어(3600)을 포함할 수 있다. 서빙 레이어(3600)은 피쳐 서비스(3610)를 포함할 수 있다. 서빙 레이어(3600)는 계산 엔진(3500)에 의해 계산된 피쳐를 제공할 수 있다. 피쳐는 도착시간 시나리오(3810), 자동할당 시나리오(3820), 동적 가격 책정 시나리오(3830) 또는 다른 시나리오(3840)에서 활용되는 기계 학습 모델의 학습 또는 제공에 이용될 수 있다.The data provision system 3000 may include a serving layer 3600. Serving layer 3600 may include feature service 3610. The serving layer 3600 may provide features calculated by the calculation engine 3500. Features may be used to train or provide machine learning models utilized in arrival time scenarios 3810, automatic allocation scenarios 3820, dynamic pricing scenarios 3830, or other scenarios 3840.
데이터 제공 시스템(3000)은 거버넌스 기능(3700)을 포함할 수 있다. 거버넌스 기능(3700)은 데이터 어서트 기능(3710), 블러드 기능(3720), 데이터 퀄리티 기능(3730), 라이프 사이클 기능(3740), 엑세스 제어 기능(3750), 얼럿/알람 기능(3760), 메트릭 기능(3770) 또는 모니터링 기능(3780)을 포함할 수 있다. The data provision system 3000 may include a governance function 3700. The governance function (3700) includes data assertion function (3710), blood function (3720), data quality function (3730), life cycle function (3740), access control function (3750), alert/alarm function (3760), and metric function. It may include a function 3770 or a monitoring function 3780.
도 4 는 본 개시에 따른 데이터 제공 시스템(4000)의 일 실시예를 나타낸다. 데이터 제공 시스템(4000)은 전자 장치(100)에 포함될 수 있다.Figure 4 shows an embodiment of a data providing system 4000 according to the present disclosure. The data provision system 4000 may be included in the electronic device 100.
피쳐 수집 및 계산 프로세스(4410) 중 근-실시간 프로세스(4410)는 다음과 같다. 비즈니스 시스템(4100)의 근-실시간 피쳐 데이터는 Kafka(4210)를 통한 다음, 포맷 변환(4411) 및 차원 매핑(4412)될 수 있다. 포맷 변환(4411)은 데이터의 정규화 등의 변환을 의미할 수 있다. 차원 매핑(4412)은 소스 필드를 타겟 필드로 매핑하는 것을 의미할 수 있다. 차원 매핑(4412)된 근-실시간 피쳐 데이터(4413)는 Clickhouse(4414)에 저장될 수 있다. 잡 실행기(4415)는 Clickhouse(4414)에 저장된 근 실시간 피쳐 데이터를 기초로 근-실시간 피쳐가 계산되도록 할 수 있다. 이 때 스케줄러(4416)가 잡 실행기(4415)를 일정 시간 간격으로 트리거할 수 있다.Among the feature collection and calculation processes 4410, the near-real-time process 4410 is as follows. The near-real-time feature data of the business system 4100 may then be format converted 4411 and dimensionally mapped 4412 through Kafka 4210. Format conversion 4411 may mean conversion such as normalization of data. Dimensional mapping 4412 may refer to mapping a source field to a target field. The dimensionally mapped (4412) near-real-time feature data (4413) may be stored in Clickhouse (4414). The job executor 4415 may cause near-real-time features to be calculated based on near-real-time feature data stored in Clickhouse 4414. At this time, the scheduler 4416 may trigger the job executor 4415 at regular time intervals.
피쳐 수집 및 계산 프로세스(4410) 중 실시간 프로세스(4420)에서는, Spark Streaming(4421) 모듈이 Kafka(4210)를 통해 비즈니스 시스템(4100)의 실시간 피쳐 데이터를 획득한 다음, 피쳐를 계산 및 출력할 수 있다.In the real-time process 4420 of the feature collection and calculation process 4410, the Spark Streaming (4421) module can acquire real-time feature data from the business system 4100 through Kafka (4210) and then calculate and output the features. there is.
근-실시간 및 실시간 피쳐는 Kafka(4510)를 통해 Redis(4610) 또는 Cassandra(4620) 등의 피쳐 데이터베이스(4600)에 저장될 수 있고, 피쳐 API 서버(4700)를 통해 비즈니스 시나리오(4800)에 이용되는 기계학습 모델의 학습에 사용될 수 있다.Near-real-time and real-time features can be stored in a feature database (4600) such as Redis (4610) or Cassandra (4620) through Kafka (4510) and used in business scenarios (4800) through the feature API server (4700). It can be used for learning machine learning models.
피쳐 수집 및 계산 프로세스(4410) 중 비-실시간 프로세스(4430)에서는, 비즈니스 시스템(4100)의 비-실시간 데이터가 데이터베이스(4220)에 임시로 저장될 수 있다. 비-실시간 데이터는 데이터 웨어하우스(4431)에 다시 저장될 수 있고, 학습(4432)을 통해 비-실시간 피쳐가 계산될 수 있다. In the non-real-time process 4430 of the feature collection and calculation process 4410, non-real-time data of the business system 4100 may be temporarily stored in the database 4220. Non-real-time data may be stored back in the data warehouse 4431 and non-real-time features may be calculated through learning 4432.
비-실시간 피쳐는 SDK(4520)를 통해 Redis(4610) 또는 Cassandra(4620) 등의 피쳐 데이터베이스(4600)에 저장되거나, Amazon S3(4630)에 저장될 수 있다.Non-real-time features may be stored in a feature database 4600 such as Redis 4610 or Cassandra 4620 through the SDK 4520, or stored in Amazon S3 4630.
도 5 는 본 개시에 따른 데이터 제공 시스템(5000)의 일 실시예를 나타낸다. 데이터 제공 시스템(5000)은 전자 장치(100)에 포함될 수 있다.Figure 5 shows an embodiment of a data providing system 5000 according to the present disclosure. The data provision system 5000 may be included in the electronic device 100.
데이터 제공 시스템(5000)은 비즈니스 시스템(5100) 및 기타 시스템(5200)을 포함할 수 있다. 비즈니스 시스템(5100)에는 배송 정보(5110), 소비자 정보(5120), 판매자 정보(5130), 경영 데이터 웨어하우스(5140) 및 기타 정보(5150)가 포함될 수 있다. The data provision system 5000 may include a business system 5100 and other systems 5200. The business system 5100 may include delivery information 5110, consumer information 5120, seller information 5130, management data warehouse 5140, and other information 5150.
데이터 제공 시스템(5000)은 피쳐 설정 기능(5300)을 포함할 수 있다. 피쳐 설정 기능(5300)은 수집 메타 정보 관리 기능(5310), 근-실시간 피쳐 관리 기능(5320), 실시간/비-실시간 피쳐 관리 기능(5330), 피쳐 라이프사이클 관리 기능(5340) 또는 피쳐 리니지 관리 기능(5350) 등을 포함할 수 있다.The data providing system 5000 may include a feature setting function 5300. The feature setting function 5300 includes the collection meta information management function 5310, near-real-time feature management function 5320, real-time/non-real-time feature management function 5330, feature life cycle management function 5340, or feature lineage management. It may include functions (5350), etc.
데이터 수집/저장소(5400)에서는 비-실시간 흐름(5410), 근-실시간 흐름(5420) 및 실시간 흐름(5430)이 구분될 수 있다. In data collection/storage 5400, non-real-time flows 5410, near-real-time flows 5420, and real-time flows 5430 can be distinguished.
비-실시간 흐름(5410)에서는 비-실시간 피쳐 데이터가 Canel(5411) 및 Kafka(5412)를 거쳐 Hive(5413)에 저장될 수 있다. Spark/Spark Graph(5414)는 Hive(5413)에 저장된 데이터로부터 그래프를 생성하고, GraphDB(5416)에 저장할 수 있다. Job Scheduler / Airflow(5415)는 Hive(5413)으로부터 비-실시간 피쳐 데이터를 계산 엔진(5500)의 오프라인 피쳐 엔진(5510)에 넘길 수 있다.In the non-real-time flow 5410, non-real-time feature data may be stored in Hive (5413) via Canel (5411) and Kafka (5412). Spark/Spark Graph (5414) can create a graph from data stored in Hive (5413) and save it in GraphDB (5416). Job Scheduler / Airflow (5415) can pass non-real-time feature data from Hive (5413) to the offline feature engine (5510) of the calculation engine (5500).
근-실시간 흐름(5420)에서는 근-실시간 피쳐 데이터가 Kafka(5421)를 통해 ClickHouse(5422)로 전달되거나 스트리밍 프레임워크(5432)로 전달될 수 있다. ClickHouse(5422)는 근-실시간 피쳐 데이터를 계산 엔진(5500)의 근-실시간 피쳐 엔진(5520)에 넘길 수 있다.In the near-real-time flow 5420, near-real-time feature data may be delivered to ClickHouse 5422 through Kafka 5421 or may be delivered to the streaming framework 5432. ClickHouse 5422 may pass the near-real-time feature data to the near-real-time feature engine 5520 of the calculation engine 5500.
실시간 흐름(5430)에서는 실시간 피쳐 데이터가 피쳐 서비스 API(5431)를 통해 실시간 컨슈머(5433)로 전달되고, 다시 ES(5434), Hbase(5435) 또는 GraphDB(5436)로 전달될 수 있다. 실시간 피쳐 엔진(5430)은 ES(5434), Hbase(5435) 또는 GraphDB(5436)에 저장된 실시간 피쳐 데이터를 이용하여 실시간 피쳐를 확인할 수 있다.In the real-time flow 5430, real-time feature data may be delivered to the real-time consumer 5433 through the feature service API 5431 and then again to ES 5434, Hbase 5435, or GraphDB 5436. The real-time feature engine 5430 can check real-time features using real-time feature data stored in ES 5434, Hbase 5435, or GraphDB 5436.
계산 엔진(5500)은 데이터 수집/저장소(5400)에서 확인된 피쳐 데이터를 이용하여 피쳐를 계산하고, 피쳐 데이터베이스(5600)에 저장할 수 있다. 피쳐 데이터베이스(5600)는 Redis(5610), Cassandra(5620) 또는 Hbase(5630) 등을 포함할 수 있다. 피쳐 데이터베이스(5600)에 저장된 피쳐는 피쳐 서비스(5700)를 통해 기계학습 플랫폼(5800)에 제공될 수 있다. The calculation engine 5500 may calculate features using feature data identified in the data collection/storage 5400 and store them in the feature database 5600. The feature database 5600 may include Redis (5610), Cassandra (5620), or Hbase (5630). Features stored in the feature database 5600 may be provided to the machine learning platform 5800 through the feature service 5700.
기계학습 플랫폼(5800)은 피쳐 서비스(5700)를 통해 제공받은 피쳐를 기초로 오프라인 모델을 학습(5810)하고, 학습된 온라인 모델을 서비스(5820)할 수 있다. 온라인 모델은 비즈니스 시나리오(5900)에 활용될 수 있다. 비즈니스 시나리오(5900)는 자동 할당(5910), 배송 경로 계획(5920), 지능적 가격 책정(5930), 지능적 프로모션(5940) 또는 지능적 추천(5950) 등에 활용될 수 있다.The machine learning platform 5800 can learn an offline model based on features provided through the feature service 5700 (5810) and service the learned online model (5820). The online model can be utilized in business scenarios 5900. The business scenario 5900 can be used for automatic allocation (5910), delivery route planning (5920), intelligent pricing (5930), intelligent promotion (5940), or intelligent recommendation (5950).
도 6 은 본 개시에 따른 데이터 제공 시스템(6000)의 일 실시예를 나타낸다. 데이터 제공 시스템(6000)은 전자 장치(100)에 포함될 수 있다.Figure 6 shows an embodiment of a data providing system 6000 according to the present disclosure. The data provision system 6000 may be included in the electronic device 100.
데이터 제공 시스템(6000)은 이벤트 플랫폼(6100)을 포함할 수 있다. 이벤트 플랫폼(6100)은 이벤트 수집 기능(6110) 및 메타 데이터 관리 기능(6120)을 포함할 수 있다.The data provision system 6000 may include an event platform 6100. The event platform 6100 may include an event collection function 6110 and a metadata management function 6120.
데이터 제공 시스템(6000)은 펀더먼털 계산-스토리지 시스템(6200)을 포함할 수 있다. 펀더먼털 계산-스토리지 시스템(6200)은 피쳐 데이터, 이벤트 데이터 또는 메타 데이터 등을 차원 변환하거나 저장할 수 있다. Data provision system 6000 may include a fundamental calculation-storage system 6200. The fundamental calculation-storage system 6200 can dimensionally transform or store feature data, event data, or metadata.
데이터 제공 시스템(6000)은 피쳐 시스템(6300)을 포함할 수 있다. 피쳐 시스템(6300)은 펀더먼털 계산-스토리지 시스템(6200)에 저장된 피쳐 데이터를 기초로 피쳐를 계산(6360)할 수 있다. 피쳐 시스템(6300)은 데이터 뷰 관리 기능(6310), 시스템 관리 기능(6320), 피쳐 관리(6330) 기능 피쳐 서비스 기능(6340) 및 피쳐 분석 기능(6350)을 포함할 수 있다. 피쳐 시스템(6300)은 엔진(6370)을 포함할 수 있다. Data providing system 6000 may include feature system 6300. The feature system 6300 may calculate features 6360 based on feature data stored in the fundamental calculation-storage system 6200. The feature system 6300 may include a data view management function 6310, a system management function 6320, a feature management 6330 function, a feature service function 6340, and a feature analysis function 6350. Feature system 6300 may include engine 6370.
데이터 제공 시스템(6000)은 모델 서비스 플랫폼(6400) 및 기계학습 플랫폼(6500)을 포함할 수 있다. 기계학습 모델은 비즈니스 시나리오(6600)에 활용될 수 있다.The data provision system 6000 may include a model service platform 6400 and a machine learning platform 6500. Machine learning models can be used in business scenarios 6600.
도 7 는 일 실시예에 따른 전자 장치(100)의 동작 방법을 나타낸다. 도 7 의 동작 방법의 각 단계에 대해 도 1 내지 도 6 에서 설명한 전자 장치(100)의 동작과 중복되는 내용에 대해서는 설명을 생략한다.FIG. 7 shows a method of operating the electronic device 100 according to an embodiment. Description of each step of the operation method of FIG. 7 that overlaps with the operation of the electronic device 100 described in FIGS. 1 to 6 will be omitted.
단계 S710에서, 전자 장치(100)는, 데이터 획득 설정 정보를 이용하여 비즈니스 시스템으로부터 적어도 하나의 데이터를 획득할 수 있다.In step S710, the electronic device 100 may acquire at least one data from the business system using data acquisition setting information.
단계 S720에서, 전자 장치(100)는, 피쳐 설정 정보를 이용하여 적어도 하나의 데이터를 기초로 피쳐를 확인하고, 피쳐를 피쳐 데이터베이스에 저장할 수 있다.In step S720, the electronic device 100 may identify a feature based on at least one piece of data using feature setting information and store the feature in a feature database.
단계 S730에서, 전자 장치(100)는, 피쳐 데이터베이스로부터 제1 기계학습 모델에 관한 적어도 하나의 피쳐를 포함하는 피쳐 그룹을 확인할 수 있다.In step S730, the electronic device 100 may check a feature group including at least one feature related to the first machine learning model from the feature database.
단계 S740에서, 전자 장치(100)는, 피쳐 그룹을 기초로 제1 기계학습 모델을 학습시키고, 학습된 제1 기계학습 모델을 이용하여 제1 데이터를 제공 할 수 있다.In step S740, the electronic device 100 may train a first machine learning model based on the feature group and provide first data using the learned first machine learning model.
이상 설명된 본 개시에 따른 실시예들은 다양한 컴퓨터 구성요소를 통하여 수행될 수 있는 프로그램 명령어의 형태로 구현되어 컴퓨터 판독 가능한 기록 매체 또는 비일시적 기록 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능한 기록 매체 또는 비일시적 기록 매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 컴퓨터 판독 가능한 기록 매체 또는 비일시적 기록 매체에 기록되는 프로그램 명령어는 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능한 기록 매체 또는 비일시적 기록 매체의 예에는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 ROM, RAM, 플래시 메모리 등과 같은 프로그램 명령어를 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령어의 예에는, 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함된다. 상기 하드웨어 장치 또는 전자 장치는 본 개시에 따른 처리를 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.Embodiments according to the present disclosure described above may be implemented in the form of program instructions that can be executed through various computer components and recorded on a computer-readable recording medium or non-transitory recording medium. The computer-readable recording medium or non-transitory recording medium may include program instructions, data files, data structures, etc., singly or in combination. Program instructions recorded on the computer-readable recording medium or non-transitory recording medium may be specially designed and constructed for the present invention or may be known and usable by those skilled in the computer software field. Examples of computer-readable recording media or non-transitory recording media include magnetic media such as hard disks, floppy disks and magnetic tapes, optical recording media such as CD-ROMs and DVDs, and magneto-optical media such as floptical disks. Includes magneto-optical media and hardware devices specifically configured to store and perform program instructions, such as ROM, RAM, flash memory, etc. Examples of program instructions include not only machine language code such as that created by a compiler, but also high-level language code that can be executed by a computer using an interpreter or the like. The hardware device or electronic device may be configured to operate as one or more software modules to perform processing according to the present disclosure, and vice versa.
본 실시 예는 기능적인 블록 구성들 및 다양한 처리 단계들로 나타내어질 수 있다. 이러한 기능 블록들은 특정 기능들을 실행하는 다양한 개수의 하드웨어, 소프트웨어, 또는 이들의 조합들로 구현될 수 있다. 예를 들어, 실시 예는 하나 이상의 마이크로프로세서들의 제어 또는 다른 제어 장치들에 의해서 다양한 기능들을 실행할 수 있는, 메모리, 프로세싱, 로직(logic), 룩 업 테이블(look-up table) 등과 같은 직접 회로 구성들을 채용할 수 있다. 구성 요소들이 소프트웨어 프로그래밍 또는 소프트웨어 요소들로 실행될 수 있는 것과 유사하게, 본 실시 예는 데이터 구조, 프로세스들, 루틴들 또는 다른 프로그래밍 구성들의 조합으로 구현되는 다양한 알고리즘을 포함하여, C, C++, 자바(Java), 어셈블러(assembler) 등과 같은 프로그래밍 또는 스크립팅 언어로 구현될 수 있다. 기능적인 측면들은 하나 이상의 프로세서들에서 실행되는 알고리즘으로 구현될 수 있다. 또한, 본 실시 예는 전자적인 환경 설정, 신호 처리, 데이터 처리 또는 이들의 조합 등을 위하여 종래 기술을 채용할 수 있다.This embodiment can be represented by functional block configurations and various processing steps. These functional blocks may be implemented as various numbers of hardware, software, or combinations thereof that execute specific functions. For example, embodiments include integrated circuit configurations such as memory, processing, logic, look-up tables, etc. that can execute various functions under the control of one or more microprocessors or other control devices. can be hired. Similar to how the components can be implemented as software programming or software elements, the present embodiments include various algorithms implemented as combinations of data structures, processes, routines or other programming constructs, such as C, C++, Java ( It can be implemented in a programming or scripting language such as Java), assembler, etc. Functional aspects may be implemented as algorithms running on one or more processors. Additionally, this embodiment may employ conventional technologies for electronic environment setting, signal processing, data processing, or a combination thereof.

Claims (11)

  1. 전자 장치의 데이터 제공 방법에 있어서,In a method of providing data from an electronic device,
    데이터 획득 설정 정보를 이용하여 비즈니스 시스템으로부터 피쳐에 관한 적어도 하나의 데이터를 수집하는 단계;collecting at least one data about a feature from a business system using data acquisition setting information;
    피쳐 설정 정보를 이용하여 상기 적어도 하나의 데이터를 기초로 상기 피쳐를 확인하고, 상기 피쳐를 피쳐 데이터베이스에 저장하는 단계;Confirming the feature based on the at least one data using feature setting information and storing the feature in a feature database;
    상기 피쳐 데이터베이스로부터 제1 기계학습 모델에 관한 적어도 하나의 피쳐를 포함하는 피쳐 그룹을 확인하는 단계; 및identifying a feature group including at least one feature related to a first machine learning model from the feature database; and
    상기 피쳐 그룹을 기초로 상기 제1 기계학습 모델을 학습시키고, 학습된 제1 기계학습 모델을 이용하여 제1 데이터를 제공하는 단계를 포함하는, 데이터 제공 방법.A data providing method comprising training the first machine learning model based on the feature group and providing first data using the learned first machine learning model.
  2. 제1항에 있어서,According to paragraph 1,
    상기 데이터 획득 설정 정보는 저장소에 대한 정보 및 상기 저장소의 적어도 하나의 타겟 필드에 대한 정보를 포함하고,The data acquisition setting information includes information about a storage and information about at least one target field of the storage,
    상기 수집하는 단계는,The collecting step is,
    상기 저장소의 상기 적어도 하나의 타겟 필드로부터 상기 적어도 하나의 데이터를 확인하는 단계를 포함하는, 데이터 제공 방법.A method of providing data, comprising: identifying the at least one data from the at least one target field in the repository.
  3. 제2항에 있어서,According to paragraph 2,
    상기 데이터 획득 설정 정보는 적어도 하나의 소스 필드에 대한 정보 및 매핑 정보를 포함하고,The data acquisition setting information includes information about at least one source field and mapping information,
    상기 적어도 하나의 소스 필드 각각은 상기 비즈니스 시스템에서 상기 적어도 하나의 데이터 각각을 로드할 경로에 대응되고,Each of the at least one source field corresponds to a path to load each of the at least one data in the business system,
    상기 매핑 정보는 상기 적어도 하나의 소스 필드 각각을 상기 적어도 하나의 타겟 필드 각각에 매핑하는 정보를 포함하고, The mapping information includes information mapping each of the at least one source field to each of the at least one target field,
    상기 수집하는 단계는,The collecting step is,
    상기 적어도 하나의 소스 필드 각각에 대응하는 경로를 기초로 상기 비즈니스 시스템에서 상기 적어도 하나의 데이터 각각을 로드하는 단계; 및Loading each of the at least one data from the business system based on a path corresponding to each of the at least one source field; and
    상기 매핑 정보에 기반하여 상기 적어도 하나의 데이터 각각을 상기 저장소의 상기 적어도 하나의 타겟 필드에 저장하는 단계를 포함하는, 데이터 제공 방법.A method for providing data, comprising storing each of the at least one data in the at least one target field of the storage based on the mapping information.
  4. 제3항에 있어서,According to paragraph 3,
    상기 경로는 JSON(JavaScript Object Notation) 경로를 포함하는, 데이터 제공 방법.A method of providing data, wherein the path includes a JSON (JavaScript Object Notation) path.
  5. 제2항에 있어서,According to paragraph 2,
    상기 저장소는 제1 세부 저장소 및 제2 세부 저장소를 포함하고,The repository includes a first detailed repository and a second detailed repository,
    상기 적어도 하나의 데이터를 확인하는 단계는, The step of checking the at least one data includes,
    상기 피쳐가 제1 타입인 경우 상기 제1 세부 저장소로부터 상기 적어도 하나의 데이터를 확인하고, 상기 피쳐가 제2 타입인 경우 제2 세부 저장소로부터 상기 적어도 하나의 데이터를 확인하는 단계를 포함하는, 데이터 제공 방법.Confirming the at least one data from the first detailed repository if the feature is of a first type, and confirming the at least one data from a second detailed repository if the feature is of a second type. How to provide.
  6. 제1항에 있어서,According to paragraph 1,
    상기 피쳐 설정 정보는 스크립트를 포함하고,The feature setting information includes a script,
    상기 저장하는 단계는,The saving step is,
    상기 스크립트를 이용하여 상기 적어도 하나의 데이터를 기초로 상기 피쳐를 계산하는 단계를 포함하는, 데이터 제공 방법.A method of providing data, comprising calculating the feature based on the at least one data using the script.
  7. 제1항에 있어서,According to paragraph 1,
    상기 피쳐 설정 정보는 필터링 조건 정보 및 계산 함수를 포함하고,The feature setting information includes filtering condition information and calculation function,
    상기 저장하는 단계는,The saving step is,
    상기 필터링 조건 정보를 이용하여 상기 적어도 하나의 데이터를 필터링하여 필터링된 데이터를 확인하는 단계; 및filtering the at least one data using the filtering condition information and confirming the filtered data; and
    상기 계산 함수를 이용하여 상기 필터링된 데이터를 기초로 상기 피쳐를 계산하는 단계를 포함하는, 데이터 제공 방법.A method of providing data, comprising calculating the feature based on the filtered data using the calculation function.
  8. 제1항에 있어서, According to paragraph 1,
    상기 피쳐 설정 정보는 특정 시간 구간에 대한 정보를 포함하고, The feature setting information includes information about a specific time period,
    상기 저장하는 단계는,The saving step is,
    상기 적어도 하나의 데이터 중 상기 특정 시간 구간의 데이터를 기초로 상기 피쳐를 계산하는 단계를 포함하는, 데이터 제공 방법.A data providing method comprising calculating the feature based on data of the specific time interval among the at least one data.
  9. 제1항에 있어서,According to paragraph 1,
    상기 피쳐가 제1 타입인 경우, 상기 저장하는 단계는 제1 주기로 실행되고,If the feature is of a first type, the storing step is performed in a first cycle,
    상기 피쳐가 제2 타입인 경우, 상기 저장하는 단계는 제2 주기로 실행되는, 데이터 제공 방법.If the feature is of a second type, the storing step is performed in a second cycle.
  10. 전자 장치로서, As an electronic device,
    적어도 하나의 프로그램이 저장된 메모리; 및a memory in which at least one program is stored; and
    상기 적어도 하나의 프로그램을 실행함으로써,By executing the at least one program,
    데이터 획득 설정 정보를 이용하여 비즈니스 시스템으로부터 적어도 하나의 데이터를 수집하고,Collect at least one data from the business system using data acquisition setting information,
    피쳐 설정 정보를 이용하여 상기 적어도 하나의 데이터를 기초로 피쳐를 확인하고, 상기 피쳐를 피쳐 데이터베이스에 저장하고,Confirming a feature based on the at least one data using feature setting information and storing the feature in a feature database,
    상기 피쳐 데이터베이스로부터 제1 기계학습 모델에 관한 적어도 하나의 피쳐를 포함하는 피쳐 그룹을 확인하고,Identifying a feature group including at least one feature related to a first machine learning model from the feature database,
    상기 피쳐 그룹을 기초로 상기 제1 기계학습 모델을 학습시키고, 학습된 제1 기계학습 모델을 이용하여 제1 데이터를 제공하는 프로세서를 포함하는, 전자 장치.An electronic device comprising a processor that trains the first machine learning model based on the feature group and provides first data using the learned first machine learning model.
  11. 전자 장치의 데이터 제공 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 비일시적 기록매체로서, A non-transitory computer-readable recording medium that records a program for executing a data provision method of an electronic device on a computer,
    상기 데이터 제공 방법은,The method of providing the above data is,
    데이터 획득 설정 정보를 이용하여 비즈니스 시스템으로부터 적어도 하나의 데이터를 수집하는 단계;collecting at least one data from a business system using data acquisition setting information;
    피쳐 설정 정보를 이용하여 상기 적어도 하나의 데이터를 기초로 피쳐를 확인하고, 상기 피쳐를 피쳐 데이터베이스에 저장하는 단계;Confirming a feature based on the at least one data using feature setting information and storing the feature in a feature database;
    상기 피쳐 데이터베이스로부터 제1 기계학습 모델에 관한 적어도 하나의 피쳐를 포함하는 피쳐 그룹을 확인하는 단계; 및identifying a feature group including at least one feature related to a first machine learning model from the feature database; and
    상기 피쳐 그룹을 기초로 상기 제1 기계학습 모델을 학습시키고, 학습된 제1 기계학습 모델을 이용하여 제1 데이터를 제공하는 단계를 포함하는, 비일시적 기록 매체.A non-transitory recording medium comprising training the first machine learning model based on the feature group and providing first data using the learned first machine learning model.
PCT/KR2022/012640 2022-08-17 2022-08-24 Data providing method and device WO2024038941A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2022-0102756 2022-08-17
KR1020220102756A KR20240024585A (en) 2022-08-17 2022-08-17 Data providing method and apparatus for the same

Publications (1)

Publication Number Publication Date
WO2024038941A1 true WO2024038941A1 (en) 2024-02-22

Family

ID=89941880

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2022/012640 WO2024038941A1 (en) 2022-08-17 2022-08-24 Data providing method and device

Country Status (2)

Country Link
KR (1) KR20240024585A (en)
WO (1) WO2024038941A1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112100419A (en) * 2020-09-15 2020-12-18 贵州迅畅科技有限公司 Single weather image identification method and system based on image retrieval
CN112547528A (en) * 2021-03-01 2021-03-26 华鹏飞股份有限公司 Logistics sorting method and system based on classification identification
US20210209089A1 (en) * 2020-05-09 2021-07-08 Beijing Baidu Netcom Science And Technology Co., Ltd. Data processing method, apparatus, device and storage medium
CN113297289A (en) * 2021-04-28 2021-08-24 上海淇玥信息技术有限公司 Method and device for extracting business data from database and electronic equipment
CN113918577A (en) * 2021-12-15 2022-01-11 北京新唐思创教育科技有限公司 Data table identification method and device, electronic equipment and storage medium

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210209089A1 (en) * 2020-05-09 2021-07-08 Beijing Baidu Netcom Science And Technology Co., Ltd. Data processing method, apparatus, device and storage medium
CN112100419A (en) * 2020-09-15 2020-12-18 贵州迅畅科技有限公司 Single weather image identification method and system based on image retrieval
CN112547528A (en) * 2021-03-01 2021-03-26 华鹏飞股份有限公司 Logistics sorting method and system based on classification identification
CN113297289A (en) * 2021-04-28 2021-08-24 上海淇玥信息技术有限公司 Method and device for extracting business data from database and electronic equipment
CN113918577A (en) * 2021-12-15 2022-01-11 北京新唐思创教育科技有限公司 Data table identification method and device, electronic equipment and storage medium

Also Published As

Publication number Publication date
KR20240024585A (en) 2024-02-26

Similar Documents

Publication Publication Date Title
US11164131B2 (en) Measure factory
CN108536761A (en) Report data querying method and server
CN109741087A (en) The management method and device of electronic coupons
WO2014029111A1 (en) Processing system and method for user behaviour
CN110032594B (en) Customizable data extraction method and device for multi-source database and storage medium
JP6847590B2 (en) Integrated monitoring operation system and method
WO2010047170A1 (en) Calculation device, system management device, calculation method, and program
CN111563703B (en) Project management system, project management method, computer device, and computer-readable storage medium
CN110175206A (en) Intellectual analysis operational approach, system and medium for multiple database separation
WO2022059826A1 (en) Digital twin environment-based convergence-type smart-iot connected middleware device, and method for providing same
CN112799897A (en) Information management method, management system and storage medium based on big data
WO2024038941A1 (en) Data providing method and device
CN104182414A (en) Method and equipment for managing database in multi-tenant system
CN111176944A (en) Block chain intelligent contract calling record analysis method, device, terminal and storage medium
WO2023048498A1 (en) Method, system and non-transitory computer-readable recording medium for supporting collaboration related to advertisement campaign
US20200159641A1 (en) Debugging asynchronous functions
CN106445634A (en) Container monitoring method and device
WO2022010217A1 (en) System for providing stable salary via prediction of future income
US20220092503A1 (en) Measure factory
US7844506B2 (en) Method, system, and program product for automatically populating a field of a record
WO2022114889A1 (en) Point provision system and method
WO2023204333A1 (en) Electronic device for providing user profile information and method therefor
CN113377604A (en) Data processing method, device, equipment and storage medium
US20140006732A1 (en) Analyzing and reducing dump data
CN107798593A (en) Processing method, device, medium and the electronic equipment of financial data

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: 22955814

Country of ref document: EP

Kind code of ref document: A1