KR102525231B1 - Method and apparatus for generating machine learning model - Google Patents

Method and apparatus for generating machine learning model Download PDF

Info

Publication number
KR102525231B1
KR102525231B1 KR1020200146143A KR20200146143A KR102525231B1 KR 102525231 B1 KR102525231 B1 KR 102525231B1 KR 1020200146143 A KR1020200146143 A KR 1020200146143A KR 20200146143 A KR20200146143 A KR 20200146143A KR 102525231 B1 KR102525231 B1 KR 102525231B1
Authority
KR
South Korea
Prior art keywords
machine learning
data
generating
item
user
Prior art date
Application number
KR1020200146143A
Other languages
Korean (ko)
Other versions
KR20220060300A (en
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 주식회사 엔씨소프트
Priority to KR1020200146143A priority Critical patent/KR102525231B1/en
Publication of KR20220060300A publication Critical patent/KR20220060300A/en
Application granted granted Critical
Publication of KR102525231B1 publication Critical patent/KR102525231B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

기계 학습 모델 생성 방법 및 장치가 개시된다. 일 실시예에 따른 기계 학습 모델 생성 방법은, 아이템과 관련된 하나 이상의 아이템 특성, 사용자와 관련된 하나 이상의 사용자 특성 및 상기 아이템과 상기 사용자 사이의 상호 관계와 관련된 하나 이상의 관계 특성을 포함하는 원본 데이터에 대한 전처리를 수행하는 동작; 상기 하나 이상의 아이템 특성, 상기 하나 이상의 사용자 특성 및 상기 하나 이상의 관계 특성을 포함하는 복수의 특성 중 적어도 하나에 기초하여 하나 이상의 신규 특성을 생성하는 동작; 상기 복수의 특성 및 상기 하나 이상의 신규 특성에 기초한 복수의 기계 학습 알고리즘을 수행하여 상이한 복수의 기계 학습 모델을 생성하는 동작; 및 상기 복수의 기계 학습 모델 중 최적 학습 모델을 결정하는 동작을 포함한다.A method and apparatus for generating a machine learning model are disclosed. A method for generating a machine learning model according to an embodiment may include generating data for original data including one or more item characteristics related to an item, one or more user characteristics related to a user, and one or more relational characteristics related to a mutual relationship between the item and the user. performing preprocessing; generating one or more new properties based on at least one of a plurality of properties including the one or more item properties, the one or more user properties, and the one or more relationship properties; generating a plurality of different machine learning models by performing a plurality of machine learning algorithms based on the plurality of characteristics and the one or more new characteristics; and determining an optimal learning model from among the plurality of machine learning models.

Description

기계 학습 모델 생성 방법 및 장치{METHOD AND APPARATUS FOR GENERATING MACHINE LEARNING MODEL}Machine learning model generation method and apparatus {METHOD AND APPARATUS FOR GENERATING MACHINE LEARNING MODEL}

개시되는 실시예들은 기계 학습 기술과 관련된다.The disclosed embodiments relate to machine learning techniques.

기계 학습(machine learning) 알고리즘을 이용한 모델 생성에 있어서 학습 데이터의 어떤 특성이 학습을 위한 입력 변수로 이용되었는지 따라 생성되는 모델의 성능에 큰 영향을 미치게 된다. 따라서, 학습을 위해 이용되는 데이터를 가공하여 다양한 특성을 생성하는 특성 엔지니어링(feature engineering) 과정은 매우 중요한 모델 성능 향상을 위한 과정이다. In model generation using a machine learning algorithm, the performance of the generated model is greatly affected depending on which characteristics of training data are used as input variables for learning. Therefore, a feature engineering process of generating various features by processing data used for learning is a very important process for improving model performance.

그러나, 일반적으로 특성 엔지니어링을 통한 특성 생성은 데이터의 도메인에 대한 지식을 가진 분석가에 의해 수행되므로, 분석가의 전문성에 큰 영향을 받게 되며 지나치게 많은 시간과 비용을 요구한다는 문제점이 있다.However, since feature generation through feature engineering is generally performed by an analyst with knowledge of a data domain, the expertise of the analyst is greatly affected and excessive time and cost are required.

개시되는 실시예들은 기계 학습 모델 생성 방법 및 장치를 제공하기 위한 것이다.Disclosed embodiments are to provide a method and apparatus for generating a machine learning model.

일 실시예에 따른 기계 학습 모델 생성 방법은, 아이템과 관련된 하나 이상의 아이템 특성, 사용자와 관련된 하나 이상의 사용자 특성 및 상기 아이템과 상기 사용자 사이의 상호 관계와 관련된 하나 이상의 관계 특성을 포함하는 원본 데이터에 대한 전처리를 수행하는 동작; 상기 하나 이상의 아이템 특성, 상기 하나 이상의 사용자 특성 및 상기 하나 이상의 관계 특성을 포함하는 복수의 특성 중 적어도 하나에 기초하여 하나 이상의 신규 특성을 생성하는 동작; 상기 복수의 특성 및 상기 하나 이상의 신규 특성에 기초한 복수의 기계 학습 알고리즘을 수행하여 상이한 복수의 기계 학습 모델을 생성하는 동작; 및 상기 복수의 기계 학습 모델 중 최적 학습 모델을 결정하는 동작을 포함한다.A method for generating a machine learning model according to an embodiment may include generating data for original data including one or more item characteristics related to an item, one or more user characteristics related to a user, and one or more relational characteristics related to a mutual relationship between the item and the user. performing preprocessing; generating one or more new properties based on at least one of a plurality of properties including the one or more item properties, the one or more user properties, and the one or more relationship properties; generating a plurality of different machine learning models by performing a plurality of machine learning algorithms based on the plurality of characteristics and the one or more new characteristics; and determining an optimal learning model from among the plurality of machine learning models.

상기 신규 특성을 생성하는 동작은, 상기 복수의 특성 중 하나 이상의 특성에 대해 데이터 변환, 데이터 치환, 데이터 분할 및 데이터 결합 중 적어도 하나를 수행하여 상기 하나 이상의 신규 특성을 생성할 수 있다.The operation of generating the new characteristic may generate the one or more new characteristics by performing at least one of data conversion, data replacement, data division, and data combining on one or more characteristics among the plurality of characteristics.

상기 신규 특성을 생성하는 동작은, 상기 복수의 특성 각각에 대한 변수 타입, 데이터 타입, 값의 종류 및 값의 범위 중 적어도 하나에 기초하여 상기 데이터 변환, 상기 데이터 치환, 상기 데이터 분할 및 상기 데이터 결합 중 적어도 하나를 수행할 수 있다.The operation of generating the new characteristic may include the data conversion, the data substitution, the data division, and the data combination based on at least one of a variable type, a data type, a value type, and a value range for each of the plurality of characteristics. At least one of these may be performed.

상기 신규 특성을 생성하는 동작은, 상기 하나 이상의 사용자 특성 및 상기 하나 이상의 아이템 특성 중 적어도 하나에 대해 상기 하나 이상의 관계 특성에 기초한 통계값 및 확률값 중 적어도 하나를 산출하여 상기 하나 이상의 신규 특성을 생성할 수 있다.The generating of the new characteristics may include generating the one or more new characteristics by calculating at least one of a statistical value and a probability value based on the one or more relationship characteristics with respect to at least one of the one or more user characteristics and the one or more item characteristics. can

상기 복수의 기계 학습 알고리즘은, 인공 신경망 기반의 기계 학습 알고리즘, 의사 결정 트리(decision tree), 서포트 벡터 머신(SVM, Support Vector Machine), 선형 회귀(Linear Regression), 로지스틱 회귀(Logistic Regression), 랜덤 포레스트(random forest) 및 앙상블 학습(ensemble learning) 중 적어도 하나를 포함할 수 있다.The plurality of machine learning algorithms include an artificial neural network-based machine learning algorithm, a decision tree, a support vector machine (SVM), linear regression, logistic regression, random It may include at least one of random forest and ensemble learning.

일 실시예에 따른 기계 학습 모델 생성 장치는, 하나 이상의 명령어를 저장하는 메모리; 및 상기 하나 이상의 명령어를 실행하는 하나 이상의 하드웨어 프로세서를 포함하고, 상기 하나 이상의 하드웨어 프로세서는, 아이템과 관련된 하나 이상의 아이템 특성, 사용자와 관련된 하나 이상의 사용자 특성 및 상기 아이템과 상기 사용자 사이의 상호 관계와 관련된 하나 이상의 관계 특성을 포함하는 원본 데이터에 대한 전처리를 수행하고, 상기 하나 이상의 아이템 특성, 상기 하나 이상의 사용자 특성 및 상기 하나 이상의 관계 특성을 포함하는 복수의 특성 중 적어도 하나에 기초하여 하나 이상의 신규 특성을 생성하고, 상기 복수의 특성 및 상기 하나 이상의 신규 특성에 기초한 복수의 기계 학습 알고리즘을 수행하여 상이한 복수의 기계 학습 모델을 생성하고, 상기 복수의 기계 학습 모델 중 최적 학습 모델을 결정할 수 있다.An apparatus for generating a machine learning model according to an embodiment includes a memory storing one or more instructions; and one or more hardware processors to execute the one or more instructions, the one or more hardware processors comprising: one or more item properties related to an item, one or more user properties related to a user, and a correlation between the item and the user. Preprocessing is performed on original data including one or more relationship characteristics, and one or more new characteristics are generated based on at least one of the one or more item characteristics, the one or more user characteristics, and a plurality of characteristics including the one or more relationship characteristics. generate, perform a plurality of machine learning algorithms based on the plurality of characteristics and the one or more new characteristics to generate a plurality of different machine learning models, and determine an optimal learning model among the plurality of machine learning models.

상기 하나 이상의 하드웨어 프로세서는, 상기 복수의 특성 중 하나 이상의 특성에 대해 데이터 변환, 데이터 치환, 데이터 분할 및 데이터 결합 중 적어도 하나를 수행하여 상기 하나 이상의 신규 특성을 생성할 수 있다.The one or more hardware processors may generate the one or more new characteristics by performing at least one of data conversion, data substitution, data division, and data combining on one or more characteristics among the plurality of characteristics.

상기 하나 이상의 하드웨어 프로세서는, 상기 복수의 특성 각각에 대한 변수 타입, 데이터 타입, 값의 종류 및 값의 범위 중 적어도 하나에 기초하여 상기 데이터 변환, 상기 데이터 치환, 상기 데이터 분할 및 상기 데이터 결합 중 적어도 하나를 수행할 수 있다.The one or more hardware processors may perform at least one of the data conversion, the data replacement, the data division, and the data combination based on at least one of a variable type, a data type, a value type, and a value range for each of the plurality of characteristics. can do one

상기 하나 이상의 하드웨어 프로세서는, 상기 하나 이상의 사용자 특성 및 상기 하나 이상의 아이템 특성 중 적어도 하나에 대해 상기 하나 이상의 관계 특성에 기초한 통계값 및 확률값 중 적어도 하나를 산출하여 상기 하나 이상의 신규 특성을 생성할 수 있다.The one or more hardware processors may generate the one or more new characteristics by calculating at least one of a statistical value and a probability value based on the one or more relationship characteristics for at least one of the one or more user characteristics and the one or more item characteristics. .

상기 복수의 기계 학습 알고리즘은, 인공 신경망 기반의 기계 학습 알고리즘, 의사 결정 트리(decision tree), 서포트 벡터 머신(SVM, Support Vector Machine), 선형 회귀(Linear Regression), 로지스틱 회귀(Logistic Regression), 랜덤 포레스트(random forest) 및 앙상블 학습(ensemble learning) 중 적어도 하나를 포함할 수 있다.The plurality of machine learning algorithms include an artificial neural network-based machine learning algorithm, a decision tree, a support vector machine (SVM), linear regression, logistic regression, random It may include at least one of random forest and ensemble learning.

개시되는 실시예들에 따르면, 데이터에 포함된 다양한 특성을 이용하여 하나 이상의 신규 특성을 자동으로 생성하고, 생성된 신규 특성을 이용한 복수의 기계 학습 알고리즘을 수행하여 최적의 학습 모델을 결정함으로써, 도메인 지식 없이도 다양한 특성 생성을 자동적으로 생성 가능하며, 이에 따라 기계 학습을 통해 학습 모델 생성을 위한 시간과 비용을 절감할 수 있게 된다.According to the disclosed embodiments, one or more new features are automatically generated using various features included in the data, and an optimal learning model is determined by performing a plurality of machine learning algorithms using the generated new features. It is possible to automatically generate various features without knowledge, and accordingly, it is possible to save time and cost for creating a learning model through machine learning.

도 1은 일 실시예에 따른 기계 학습 모델 생성 장치의 블록도이다.
도 2 내지 도 4는 일 실시예에 따른 신규 특성 생성을 설명하기 위한 예시도이다.
도 5는 일 실시예에 따라 특성별 중요도를 시각화하는 일 예를 도시한 도면이다.
도 6은 일 실시예에 따른 기계 학습 모델 생성 방법의 순서도이다.
도 7은 일 실시예에 따른 컴퓨팅 장치를 포함하는 컴퓨팅 환경을 예시하여 설명하기 위한 블록도이다.
1 is a block diagram of an apparatus for generating a machine learning model according to an embodiment.
2 to 4 are exemplary diagrams for explaining creation of a new characteristic according to an exemplary embodiment.
5 is a diagram illustrating an example of visualizing the importance of each characteristic according to an embodiment.
6 is a flowchart of a method for generating a machine learning model according to an embodiment.
7 is a block diagram illustrating a computing environment including a computing device according to an exemplary embodiment.

이하, 도면을 참조하여 구체적인 실시형태를 설명하기로 한다. 이하의 상세한 설명은 본 명세서에서 기술된 방법, 장치 및/또는 시스템에 대한 포괄적인 이해를 돕기 위해 제공된다. 그러나 이는 예시에 불과하며 본 발명은 이에 제한되지 않는다.Hereinafter, specific embodiments will be described with reference to the drawings. The detailed descriptions that follow are provided to provide a comprehensive understanding of the methods, devices and/or systems described herein. However, this is only an example and the present invention is not limited thereto.

실시예들을 설명함에 있어서, 관련된 공지기술에 대한 구체적인 설명이 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략하기로 한다. 그리고, 후술되는 용어들은 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다. 상세한 설명에서 사용되는 용어는 단지 실시예들을 기술하기 위한 것이며, 결코 제한적이어서는 안 된다. 명확하게 달리 사용되지 않는 한, 단수 형태의 표현은 복수 형태의 의미를 포함한다. 본 설명에서, "포함" 또는 "구비"와 같은 표현은 어떤 특성들, 숫자들, 단계들, 동작들, 요소들, 이들의 일부 또는 조합을 가리키기 위한 것이며, 기술된 것 이외에 하나 또는 그 이상의 다른 특성, 숫자, 단계, 동작, 요소, 이들의 일부 또는 조합의 존재 또는 가능성을 배제하도록 해석되어서는 안 된다.In describing the embodiments, if it is determined that a detailed description of related known technologies may unnecessarily obscure the subject matter, the detailed description will be omitted. In addition, terms to be described later are terms defined in consideration of functions, which may vary according to intentions or customs of users and operators. Therefore, the definition should be made based on the contents throughout this specification. Terminology used in the detailed description is merely for describing the embodiments and should in no way be limiting. Unless expressly used otherwise, singular forms of expression include plural forms. In this description, expressions such as "comprising" or "comprising" are intended to indicate any characteristic, number, step, operation, element, portion or combination thereof, one or more other than those described. It should not be construed to exclude the existence or possibility of any other feature, number, step, operation, element, part or combination thereof.

도 1은 일 실시예에 따른 기계 학습 모델 생성 장치의 블록도이다.1 is a block diagram of an apparatus for generating a machine learning model according to an embodiment.

도 1을 참조하면, 일 실시예에 따른 기계 학습 모델 생성 장치(100)는 전처리부(110), 특성 생성부(120) 및 모델 생성부(130)를 포함한다.Referring to FIG. 1 , an apparatus 100 for generating a machine learning model according to an embodiment includes a pre-processing unit 110, a feature generation unit 120, and a model generation unit 130.

일 실시예에 따르면, 전처리부(110), 특성 생성부(120) 및 모델 생성부(130)는 각각 물리적으로 구분된 하나 이상의 장치를 이용하여 구현되거나, 하나 이상의 하드웨어 프로세서 또는 하나 이상의 하드웨어 프로세서 및 소프트웨어의 결합에 의해 구현될 수 있으며, 도시된 예와 달리 구체적 동작에 있어 명확히 구분되지 않을 수 있다.According to one embodiment, the pre-processor 110, the characteristic generator 120, and the model generator 130 are each implemented using one or more physically separated devices, or one or more hardware processors or one or more hardware processors and It may be implemented by a combination of software, and unlike the illustrated example, specific operations may not be clearly distinguished.

전처리부(110)는 하나 이상의 아이템(item) 각각과 관련된 하나 이상의 특성(feature)(이하, 아이템 특성)을 포함하는 아이템 데이터, 아이템에 대한 하나 이상의 사용자 각각과 관련된 하나 이상의 특성(이하, 사용자 특성)을 포함하는 사용자 데이터 및 하나 이상의 아이템과 하나 이상의 사용자 사이의 상호 관계와 관련된 하나 이상의 특성(이하, 관계 특성)을 포함하는 관계 데이터를 포함하는 원본 데이터에 대한 전처리를 수행한다.The pre-processing unit 110 includes item data including one or more features related to each of one or more items (hereinafter, item characteristics), and one or more characteristics related to each of one or more users of the item (hereinafter, user characteristics). ) and user data including one or more items and relational data including one or more characteristics (hereinafter referred to as relationship characteristics) related to a mutual relationship between one or more items and one or more users.

일 실시예에 따르면, 아이템은 사용자에게 제공되거나, 사용자들 사이에 거래 내지는 교환되거나, 사용자에 의해 이용되는 유/무형의 상품 내지는 서비스를 의미할 수 있다. 예를 들어, 아이템은 음원 스트리밍 서비스를 통해 사용자에게 제공되는 음원 콘텐츠, 동영상 스트리밍 서비스를 통해 사용자에게 제공되는 동영상 콘텐츠, 온라인 게임에서 사용자의 캐릭터에 의해 이용되는 게임 아이템, 식당에서 판매되는 음식, 의류 매장에서 판매되는 의류, 온라인 중고거래 서비스에서 사용자 사이에 거래되는 물품, 모바일 통화 서비스, 영상 통화 서비스, 특정 서비스를 통해 제공되는 부가 서비스(예를 들어, 모바일 통화 서비스를 통해 제공되는 MMS(Multimedia Messaging Service) 서비스) 등 일 수 있다. According to an embodiment, an item may refer to a tangible/intangible product or service provided to users, traded or exchanged between users, or used by users. For example, the item may be music content provided to the user through a music streaming service, video content provided to the user through a video streaming service, game item used by the user's character in an online game, food sold at a restaurant, and clothing. Clothing sold in stores, goods traded between users in online used trading services, mobile call service, video call service, supplementary services provided through specific services (e.g., Multimedia Messaging (MMS) provided through mobile call service) Service) and the like.

그러나, 아이템은 반드시 상술한 예에 한정되는 것은 아니며, 실시예에 따라 다양하게 변경될 수 있다.However, the item is not necessarily limited to the above example, and may be variously changed according to embodiments.

아이템 특성은 아이템과 관련한 다양한 정보를 포함할 수 있다. 예를 들어, 아이템이 음원 콘텐츠인 경우, 아이템 특성은 음원 콘텐츠의 제목, 작곡가, 작사자, 가수, 장르, 가격, 인기순위, 다운로드 횟수 등을 포함할 수 있다.Item characteristics may include various information related to the item. For example, when an item is sound source content, the item characteristics may include the title, composer, lyricist, singer, genre, price, popularity ranking, and number of downloads of the sound source content.

다른 예로, 아이템이 의류인 경우, 아이템 특성은 의류 식별정보(예를 들어, 상품 코드), 가격, 판매량, 색상, 의류 카테고리, 할인율 등을 포함할 수 있다.As another example, if the item is clothing, item characteristics may include clothing identification information (eg, product code), price, sales volume, color, clothing category, discount rate, and the like.

사용자 특성은 예를 들어, 사용자의 성별, 나이, 거주지, 국적, 아이디, 사용자 유형 등과 같이 사용자와 관련된 다양한 정보를 포함할 수 있다. User characteristics may include various information related to the user, such as the user's gender, age, place of residence, nationality, ID, user type, and the like.

또한, 관계 특성은 예를 들어, 특정 아이템에 대한 특정 사용자의 구매 여부, 구매 시간, 구매 경로, 재구매 여부, 구매 가격, 구매 횟수, 시청 시간, 평점 등과 같이 아이템과 사용자 사이의 상호 관계에 대한 다양한 정보를 포함할 수 있다.In addition, the relationship characteristics are various information about the mutual relationship between an item and a user, such as, for example, whether a particular user purchases a particular item, purchase time, purchase path, whether or not to purchase again, purchase price, number of purchases, viewing time, rating, and the like. information may be included.

한편, 아이템 특성, 사용자 특성 및 관계 특성은 반드시 상술한 예에 한정되는 것은 아니며, 상술한 예 외에도 아이템의 종류, 형태, 유통 방식, 이용 방식 등에 따라 다양한 정보를 포함할 수 있다.Meanwhile, the item characteristics, user characteristics, and relationship characteristics are not necessarily limited to the above-described examples, and may include various information depending on the type, shape, distribution method, and use method of the item in addition to the above-described examples.

한편, 일 실시예에 따르면, 전처리부(110)에 의해 수행되는 원본 데이터에 대한 전처리는 결측값(missing value) 처리 및 이상값(outlier value) 처리 중 적어도 하나를 포함할 수 있다.Meanwhile, according to an embodiment, the preprocessing of original data performed by the preprocessor 110 may include at least one of missing value processing and outlier value processing.

구체적으로, 전처리부(110)는 원본 데이터 중 결측값 또는 이상값 존재하는 경우, 사전 설정된 규칙에 따라 결측값 또는 이상값을 다른 값으로 대체할 수 있다. Specifically, when a missing value or an outlier exists in the original data, the preprocessor 110 may replace the missing value or outlier with another value according to a preset rule.

예를 들어, 전처리부(110)는 변수 타입이 범주형 변수(categorical variable)인 특성에 대한 데이터에 결측값이 존재하는 경우, 사전 설정된 값으로 결측 값을 대체할 수 있다.For example, when a missing value exists in the data for a feature whose variable type is a categorical variable, the preprocessor 110 may replace the missing value with a preset value.

다른 예로, 전처리부(110)는 변수 타입이 수치형 변수(numerical variable)인 특성에 대한 데이터에 결측값이 존재하는 경우, 해당 특성에 대한 다른 데이터들의 평균값, 최빈값, 중간값 등으로 결측값을 대체할 수 있다.As another example, if there is a missing value in the data for a characteristic whose variable type is a numerical variable, the preprocessor 110 detects the missing value as the average value, mode, median value, etc. of other data for the corresponding characteristic. can be replaced

특성 생성부(120)는 전처리된 원본 데이터에 기초하여 하나 이상의 신규 특성을 생성한다.The feature generator 120 creates one or more new features based on the preprocessed original data.

일 실시예에 따르면, 특성 생성부(120)는 전처리된 원본 데이터에 포함된 하나 이상의 아이템 특성, 하나 이상의 사용자 특성 및 하나 이상의 관계 특성을 포함하는 복수의 특성 중 하나 이상의 특성 각각에 대해 데이터 변환, 데이터 치환, 데이터 분할 및 데이터 결합 중 적어도 하나를 수행하여 하나 이상의 신규 특성을 생성할 수 있다. 이때, 특성 생성부(120)는 예를 들어, 텍스트 데이터의 문자 수를 산출하는 length() 함수, 날짜 데이터를 요일을 나타내는 수치 데이터로 변환하는 WEEKDAY() 함수, 날짜 데이터를 월(month)로 변환하는 MONTH() 함수 등과 같이 사전 설정된 다양한 함수들을 이용하여 데이터 변환, 데이터 치환, 데이터 분할 및 데이터 결합 중 적어도 하나를 수행할 수 있다.According to an embodiment, the characteristic generator 120 converts data for each of one or more characteristics among a plurality of characteristics including one or more item characteristics, one or more user characteristics, and one or more relationship characteristics included in the preprocessed original data; At least one of data permutation, data segmentation, and data combining may be performed to create one or more new characteristics. At this time, the feature generating unit 120 may, for example, convert the length() function to calculate the number of characters of text data, the WEEKDAY() function to convert date data into numerical data representing the day of the week, and convert date data into a month. At least one of data conversion, data substitution, data division, and data combination may be performed using various preset functions such as the MONTH() function for conversion.

구체적으로, 일 실시예에 따르면, 특성 생성부(120)는 전처리된 원본 데이터의 각 특성에 대한 변수 타입(예를 들어, 범주형 변수, 수치형 변수 등), 데이터 타입(텍스트, 정수, 실수, 불리언(Boolean), 날짜, 요일, 시간), 값의 종류, 값의 범위 중 적어도 하나에 기초하여 데이터 변환, 데이터 치환, 데이터 분할 및 데이터 결합 중 적어도 하나를 수행할 수 있다.Specifically, according to an embodiment, the feature generation unit 120 includes a variable type (eg, categorical variable, numeric variable, etc.), data type (text, integer, real number) for each feature of the preprocessed original data. , Boolean, date, day, time), value type, and value range, at least one of data conversion, data replacement, data division, and data combination may be performed.

예를 들어, 특성 생성부(120)는 변수 타입이 범주형 변수인 특성에 대해 원-핫 인코딩(one-hot encoding), 레이블 인코딩(label encoding), 바이너리 인코딩(binary encoding), 빈도 인코딩(frequency encoding) 중 적어도 하나를 수행하여 하나 이상의 신규 특성을 생성할 수 있다.For example, the feature generation unit 120 performs one-hot encoding, label encoding, binary encoding, and frequency encoding for a feature whose variable type is a categorical variable. encoding) to generate one or more new features.

다른 예로, 특성 생성부(120)는 변수 타입이 수치형 변수인 특성에 대해 정규화(normalization) 및 표준화(standardization) 중 적어도 하나를 수행하여 하나 이상의 신규 특성을 생성할 수 있다. As another example, the feature generator 120 may generate one or more new features by performing at least one of normalization and standardization on a feature whose variable type is a numeric variable.

또 다른 예로, 특성 생성부(120)는 데이터 타입이 날짜 데이터 또는 시간 데이터인 특성에 대해 수량화(Quantification)을 수행하여 하나 이상의 신규 특성을 생성할 수 있다. As another example, the feature generator 120 may generate one or more new features by performing quantification on a feature whose data type is date data or time data.

또 다른 예로, 특성 생성부(120)는 데이터 타입이 날짜 데이터인 특성의 데이터를 년(year), 월(month) 및 일(day)로 분할하여 하나 이상의 신규 특성을 생성할 수 있다.As another example, the feature generator 120 may generate one or more new features by dividing feature data whose data type is date data into year, month, and day.

또 다른 예로, 특성 생성부(120)는 변수 타입이 연속형 변수인 특성을 범주형 변수로 변환(예를 들어, 시간을 오전/오후로 변환)하여 하나 이상의 신규 특성을 생성할 수 있다. As another example, the feature generator 120 may generate one or more new features by converting a feature whose variable type is a continuous variable into a categorical variable (eg, converting time into AM/PM).

또 다른 예로, 특성 생성부(120)는 데이터 타입이 텍스트인 특성에 대해 POS(Part of Speech) 태깅, 워드 임베딩(word embedding)을 이용한 벡터화, 텍스트 길이 추출 등을 수행하여 하나 이상의 신규 특성을 생성할 수 있다.As another example, the feature generator 120 generates one or more new features by performing Part of Speech (POS) tagging, vectorization using word embedding, text length extraction, etc. on a feature whose data type is text. can do.

또 다른 예로, 특성 생성부(120)는 2 이상의 특성에 대한 데이터를 연결(concatenate)하거나, 2 이상의 특성에 대한 데이터 사이의 연산(예를 들어, 곱셈, 덧셈 등)을 수행하여 하나 이상의 신규 특성을 생성할 수 있다.As another example, the feature generator 120 concatenates data of two or more features or performs an operation (eg, multiplication, addition, etc.) between data of two or more features to obtain one or more new features. can create

한편, 일 실시예에 따르면, 특성 생성부(120)는 하나 이상의 사용자 특성 및 하나 이상의 아이템 특성 중 적어도 하나에 대해 하나 이상의 관계 특성에 기초한 통계값 및 확률값 중 적어도 하나를 생성함으로써 하나 이상의 신규 특성을 생성할 수 있다. 이때, 특성 생성부(120)는 AVG() 함수, MAX() 함수, MIN() 함수, SUM() 함수, STD() 함수, COUNT() 함수 등과 같이 사전 설정된 다양한 함수를 이용하여 하나 이상의 신규 특성을 생성할 수 있다.Meanwhile, according to an embodiment, the characteristic generating unit 120 generates one or more new characteristics by generating at least one of a statistical value and a probability value based on one or more relationship characteristics with respect to at least one of one or more user characteristics and one or more item characteristics. can create At this time, the feature generating unit 120 uses various preset functions such as AVG() function, MAX() function, MIN() function, SUM() function, STD() function, COUNT() function, etc. to generate one or more new functions. properties can be created.

예를 들어, 특성 생성부(120)는 특정 사용자의 특정 의상 구입 여부를 나타내는 관계 특성에 기초하여, 특정 의상을 구매한 사용자들의 나이 평균 값을 신규 특성으로 생성할 수 있다. For example, the characteristic generating unit 120 may generate, as a new characteristic, an average age value of users who have purchased a specific costume, based on a relationship characteristic indicating whether a specific user has purchased a specific costume.

다른 예로, 특성 생성부(120)는 특정 사용자의 특정 의상 구입 여부를 나타내는 관계 특성에 기초하여, 특정 의상에 대한 사용자의 연령대별 구매 확률을 신규 특성으로 생성할 수 있다.As another example, the feature generator 120 may generate a purchase probability of a specific apparel by age group of a user as a new feature based on a relationship feature indicating whether a specific user has purchased a specific apparel.

또 다른 예로, 특정 사용자의 특정 동영상 컨텐츠 시청 횟수를 나타내는 관계 특성에 기초하여, 특정 동영상 컨텐츠를 시청한 사용자들의 평균 시청 횟수를 신규 특성으로 생성할 수 있다.As another example, based on the relationship characteristic indicating the number of times a particular user has watched a particular video content, the average viewing count of users who have watched a particular video content may be created as a new characteristic.

또 다른 예로, 특성 생성부(120)는 특정 사용자의 특정 아이템에 대한 구매 여부를 나타내는 관계 특성에 기초하여, 특정 아이템을 구매한 사용자의 수를 카운트함으로써 하나 이상의 신규 특성을 생성할 수 있다.As another example, the characteristic generator 120 may generate one or more new characteristics by counting the number of users who have purchased a specific item based on a relationship characteristic indicating whether a specific user has purchased a specific item.

한편, 도 2 내지 도 4는 일 실시예에 따른 신규 특성 생성을 설명하기 위한 예시도이다.Meanwhile, FIGS. 2 to 4 are exemplary diagrams for explaining creation of a new characteristic according to an exemplary embodiment.

도 2 내지 도 4에서는 아이템이 음원 스트리밍 서비스를 통해 제공되는 음원 컨텐츠인 것으로 가정한다.In FIGS. 2 to 4 , it is assumed that the item is sound source content provided through a sound source streaming service.

구체적으로, 도 2는 음원 스트리밍 서비스를 이용하는 사용자들인 "User 1", "User 2" 및 "User 3" 각각의 사용자 특성인 "나이" 특성과 "성별" 특성을 포함하는 사용자 데이터(310), 음원 스트리밍 서비스를 통해 제공되는 음원 컨텐츠인 "M1", "M2" 및 "M3" 각각의 아이템 특성인 "제목" 특성과 "가수" 특성을 포함하는 아이템 데이터(320) 및 각 음원 컨텐츠와 각 사용자 사이의 관계 특성인 "Music ID" 특성, "청취자 ID" 특성 및 "청취 횟수" 특성을 포함하는 관계 데이터(330)를 예시하고 있다.Specifically, FIG. 2 shows user data 310 including “age” characteristics and “gender” characteristics, which are user characteristics of “User 1”, “User 2”, and “User 3” who use the music streaming service, respectively; Item data 320 including "title" and "singer" characteristics, which are item characteristics of each of "M1", "M2", and "M3", which are sound source contents provided through a sound source streaming service, and each sound source content and each user Relationship data 330 including a “Music ID” characteristic, a “listener ID” characteristic, and a “listening frequency” characteristic, which are relational characteristics between the two, is exemplified.

한편, 특성 생성부(120)는 도 3에 도시된 예와 같이 사용자 데이터(310)에 포함된 사용자 특성 중 "나이" 특성(311)과 관계 데이터(330)에 포함된 관계 특성 중 "청취자 ID" 특성(331)에 기초하여 각 음원 컨텐츠의 청취자 나이에 해당하는 "나이" 특성(332)을 관계 데이터(330)의 신규 특성으로 생성할 수 있다.On the other hand, as shown in the example shown in FIG. 3 , the characteristic generator 120 selects “age” characteristic 311 among user characteristics included in user data 310 and “listener ID” among relational characteristics included in relation data 330. Based on the characteristic 331, an “age” characteristic 332 corresponding to the age of a listener of each sound source content may be generated as a new characteristic of the relationship data 330.

또한, 특성 생성부(120)는 도 4에 도시된 예와 같이 관계 데이터(330)에 포함된 "Music ID" 특성(333)과 도 3에서 관계 데이터(330)에 추가된 "나이" 특성(332)에 기초하여, 각 음원 컨텐츠를 청취한 사용자들의 평균 나이에 해당하는 "평균 나이" 특성(321)을 아이템 데이터(320)의 신규 특성으로 생성할 수 있다.In addition, the characteristic generating unit 120, as in the example shown in FIG. 4 , the “Music ID” characteristic 333 included in the relationship data 330 and the “age” characteristic added to the relationship data 330 in FIG. 3 ( 332), an “average age” characteristic 321 corresponding to the average age of users who listen to each sound source content may be created as a new characteristic of the item data 320.

한편, 특성 생성부(120)에 의한 신규 특성 생성 방식은 반드시 상술한 예에 한정되는 것은 아니며, 특성 생성부(120)는 상술한 예 외에도 사전 설정된 다양한 규칙 내지는 함수를 이용하여 하나 이상의 신규 특성을 생성할 수 있다.On the other hand, the new characteristic generation method by the characteristic generator 120 is not necessarily limited to the above-described examples, and the characteristic generator 120 generates one or more new characteristics using various preset rules or functions in addition to the above-described examples. can create

모델 생성부(130)는 전처리된 원본 데이터에 대한 복수의 특성 및 특성 생성부(120)에 의해 생성된 하나 이상의 신규 특성에 기초한 복수의 기계 학습 알고리즘을 수행하여 복수의 학습 모델을 생성하고, 생성된 복수의 학습 모델 중 최적 학습 모델을 결정할 수 있다.The model generation unit 130 generates and generates a plurality of learning models by performing a plurality of machine learning algorithms based on a plurality of characteristics of the preprocessed original data and one or more new characteristics generated by the characteristic generation unit 120. An optimal learning model may be determined from among a plurality of learning models.

일 실시예에 따르면, 복수의 기계 학습 모델은 각각 상이한 기계 학습 알고리즘을 이용하여 학습될 수 있다. 구체적으로, 모델 생성부(130)는 CNN(Convolutional Neural Network), RNN(Recurrent Neural Network) 등과 같은 인공 신경망 기반의 기계 학습 알고리즘, 의사 결정 트리(decision tree), 서포트 벡터 머신(SVM, Support Vector Machine), 선형 회귀(Linear Regression), 로지스틱 회귀(Logistic Regression), 랜덤 포레스트(random forest) 및 앙상블 학습(ensemble learning) 등과 같이 사전 설정된 복수의 기계 학습 알고리즘을 이용하여 복수의 기계 학습 모델을 학습할 수 있다. According to one embodiment, each of the plurality of machine learning models may be trained using different machine learning algorithms. Specifically, the model generation unit 130 is a machine learning algorithm based on an artificial neural network, such as a convolutional neural network (CNN) and a recurrent neural network (RNN), a decision tree, and a support vector machine (SVM). ), linear regression, logistic regression, random forest, and ensemble learning. Multiple machine learning models can be learned using a plurality of preset machine learning algorithms. there is.

한편, 일 실시예에 따르면, 모델 생성부(130)는 복수의 학습 모델이 생성된 경우, 생성된 각 모델의 예측 값의 정확도에 기초하여 최적 학습 모델을 결정할 수 있다. Meanwhile, according to an embodiment, when a plurality of learning models are generated, the model generation unit 130 may determine an optimal learning model based on the accuracy of prediction values of each generated model.

또한, 일 실시예에 따르면, 모델 생성부(130)는 최적 학습 모델이 결정된 경우, 결정된 최적 학습 모델과 관련된 모델 정보를 사용자에게 제공할 수 있다. 이때, 모델 정보는 예를 들어, 최적 학습 모델의 구조(예를 들어, 신경망 구조), 학습 및 테스트 결과, 예측 성능, 예측 값 생성을 위해 이용된 특성 및 각 특성별 중요도(feature importance) 중 적어도 하나를 포함할 수 있다.Also, according to an embodiment, when the optimal learning model is determined, the model generator 130 may provide model information related to the determined optimal learning model to the user. At this time, the model information may include, for example, at least one of the structure of the optimal learning model (eg, neural network structure), learning and test results, prediction performance, characteristics used to generate predicted values, and feature importance for each feature. may contain one.

구체적으로, 도 5는 일 실시예에 따라 특성별 중요도를 시각화하는 일 예를 도시한 도면이다.Specifically, FIG. 5 is a diagram illustrating an example of visualizing the importance of each characteristic according to an exemplary embodiment.

도 5에 도시된 예와 같이 모델 생성부(130)는 최적 학습 모델의 예측 값 생성을 위해 이용된 각 특성의 중요도를 그래프의 형태로 시각화하여 사용자에게 제공할 수 있다.As in the example shown in FIG. 5 , the model generating unit 130 may visualize the importance of each characteristic used to generate the predicted value of the optimal learning model in the form of a graph and provide the visualized value to the user.

이때, 최적 학습 모델이 예를 들어, 의사 결정 트리와 같은 트리 기반 모델인 경우, 특성별 중요도는 예를 들어, 지니 중요도(Gini Importance)일 수 있으나, 특성별 중요도는 최적 학습 모델의 종류에 따라 상이한 방식으로 측정될 수 있다.In this case, when the optimal learning model is a tree-based model such as a decision tree, the importance of each feature may be, for example, Gini importance, but the importance of each feature depends on the type of optimal learning model. It can be measured in different ways.

도 6은 일 실시예에 따른 기계 학습 모델 생성 방법의 순서도이다.6 is a flowchart of a method for generating a machine learning model according to an embodiment.

도 6에 도시된 방법은 예를 들어, 도 1에 도시된 기계 학습 모델 생성 장치(100)에 의해 수행될 수 있다.The method shown in FIG. 6 may be performed by, for example, the machine learning model generating apparatus 100 shown in FIG. 1 .

도 6을 참조하면, 우선, 기계 학습 모델 생성 장치(100)는 아이템과 관련된 하나 이상의 아이템 특성, 사용자와 관련된 하나 이상의 사용자 특성 및 상기 아이템과 상기 사용자 사이의 상호 관계와 관련된 하나 이상의 관계 특성을 포함하는 원본 데이터에 대한 전처리를 수행한다(610).Referring to FIG. 6 , first, the machine learning model generation apparatus 100 includes one or more item characteristics related to an item, one or more user characteristics related to a user, and one or more relationship characteristics related to a mutual relationship between the item and the user. Performs preprocessing on the original data to be performed (610).

이후, 기계 학습 모델 생성 장치(100)는 하나 이상의 아이템 특성, 하나 이상의 사용자 특성 및 하나 이상의 관계 특성 중 적어도 하나에 기초하여 하나 이상의 신규 특성을 생성한다(620).Thereafter, the machine learning model generating apparatus 100 generates one or more new characteristics based on at least one of one or more item characteristics, one or more user characteristics, and one or more relationship characteristics (620).

이후, 기계 학습 모델 생성 장치(100)는 하나 이상의 아이템 특성, 하나 이상의 사용자 특성, 하나 이상의 관계 특성 및 하나 이상의 신규 특성에 기초한 복수의 기계 학습 알고리즘을 수행하여 상이한 복수의 기계 학습 모델을 생성한다(630). Thereafter, the machine learning model generating apparatus 100 generates a plurality of different machine learning models by performing a plurality of machine learning algorithms based on one or more item characteristics, one or more user characteristics, one or more relationship characteristics, and one or more new characteristics ( 630).

이후, 기계 학습 모델 생성 장치(100)는 복수의 기계 학습 모델 중 최적 학습 모델을 결정한다(640).Thereafter, the machine learning model generating apparatus 100 determines an optimal learning model from among a plurality of machine learning models (640).

한편, 도 6에 도시된 순서도에서 적어도 일부의 단계들은 순서를 바꾸어 수행되거나, 다른 단계와 결합되어 함께 수행되거나, 생략되거나, 세부 단계들로 나뉘어 수행되거나, 도시되지 않은 하나 이상의 단계가 부가되어 수행될 수 있다.Meanwhile, in the flowchart shown in FIG. 6, at least some of the steps are performed in reverse order, combined with other steps, performed together, omitted, divided into detailed steps, or performed by adding one or more steps not shown. It can be.

도 7은 일 실시예에 따른 컴퓨팅 장치를 포함하는 컴퓨팅 환경을 예시하여 설명하기 위한 블록도이다. 7 is a block diagram illustrating a computing environment including a computing device according to an exemplary embodiment.

도시된 실시예에서, 각 컴포넌트들은 이하에 기술된 것 이외에 상이한 기능 및 능력을 가질 수 있고, 이하에 기술된 것 이외에도 추가적인 컴포넌트를 포함할 수 있다.In the illustrated embodiment, each component may have different functions and capabilities other than those described below, and may include additional components other than those described below.

도시된 컴퓨팅 환경(10)은 컴퓨팅 장치(12)를 포함한다. 일 실시예에서, 컴퓨팅 장치(12)는 도 1에 도시된 기계 학습 모델 생성 장치(100)에 포함되는 하나 이상의 컴포넌트일 수 있다.The illustrated computing environment 10 includes a computing device 12 . In one embodiment, computing device 12 may be one or more components included in machine learning model generating device 100 shown in FIG. 1 .

컴퓨팅 장치(12)는 적어도 하나의 프로세서(14), 컴퓨터 판독 가능 저장 매체(16) 및 통신 버스(18)를 포함한다. 프로세서(14)는 컴퓨팅 장치(12)로 하여금 앞서 언급된 예시적인 실시예에 따라 동작하도록 할 수 있다. 예컨대, 프로세서(14)는 컴퓨터 판독 가능 저장 매체(16)에 저장된 하나 이상의 프로그램들을 실행할 수 있다. 상기 하나 이상의 프로그램들은 하나 이상의 컴퓨터 실행 가능 명령어를 포함할 수 있으며, 상기 컴퓨터 실행 가능 명령어는 프로세서(14)에 의해 실행되는 경우 컴퓨팅 장치(12)로 하여금 예시적인 실시예에 따른 동작들을 수행하도록 구성될 수 있다.Computing device 12 includes at least one processor 14 , a computer readable storage medium 16 and a communication bus 18 . Processor 14 may cause computing device 12 to operate according to the above-mentioned example embodiments. For example, processor 14 may execute one or more programs stored on computer readable storage medium 16 . The one or more programs may include one or more computer-executable instructions, which when executed by processor 14 are configured to cause computing device 12 to perform operations in accordance with an illustrative embodiment. It can be.

컴퓨터 판독 가능 저장 매체(16)는 컴퓨터 실행 가능 명령어 내지 프로그램 코드, 프로그램 데이터 및/또는 다른 적합한 형태의 정보를 저장하도록 구성된다. 컴퓨터 판독 가능 저장 매체(16)에 저장된 프로그램(20)은 프로세서(14)에 의해 실행 가능한 명령어의 집합을 포함한다. 일 실시예에서, 컴퓨터 판독 가능 저장 매체(16)는 메모리(랜덤 액세스 메모리와 같은 휘발성 메모리, 비휘발성 메모리, 또는 이들의 적절한 조합), 하나 이상의 자기 디스크 저장 디바이스들, 광학 디스크 저장 디바이스들, 플래시 메모리 디바이스들, 그 밖에 컴퓨팅 장치(12)에 의해 액세스되고 원하는 정보를 저장할 수 있는 다른 형태의 저장 매체, 또는 이들의 적합한 조합일 수 있다.Computer-readable storage medium 16 is configured to store computer-executable instructions or program code, program data, and/or other suitable form of information. Program 20 stored on computer readable storage medium 16 includes a set of instructions executable by processor 14 . In one embodiment, computer readable storage medium 16 includes memory (volatile memory such as random access memory, non-volatile memory, or a suitable combination thereof), one or more magnetic disk storage devices, optical disk storage devices, flash memory devices, other forms of storage media that can be accessed by computing device 12 and store desired information, or any suitable combination thereof.

통신 버스(18)는 프로세서(14), 컴퓨터 판독 가능 저장 매체(16)를 포함하여 컴퓨팅 장치(12)의 다른 다양한 컴포넌트들을 상호 연결한다.Communications bus 18 interconnects various other components of computing device 12, including processor 14 and computer-readable storage medium 16.

컴퓨팅 장치(12)는 또한 하나 이상의 입출력 장치(24)를 위한 인터페이스를 제공하는 하나 이상의 입출력 인터페이스(22) 및 하나 이상의 네트워크 통신 인터페이스(26)를 포함할 수 있다. 입출력 인터페이스(22) 및 네트워크 통신 인터페이스(26)는 통신 버스(18)에 연결된다. 입출력 장치(24)는 입출력 인터페이스(22)를 통해 컴퓨팅 장치(12)의 다른 컴포넌트들에 연결될 수 있다. 예시적인 입출력 장치(24)는 포인팅 장치(마우스 또는 트랙패드 등), 키보드, 터치 입력 장치(터치패드 또는 터치스크린 등), 음성 또는 소리 입력 장치, 다양한 종류의 센서 장치 및/또는 촬영 장치와 같은 입력 장치, 및/또는 디스플레이 장치, 프린터, 스피커 및/또는 네트워크 카드와 같은 출력 장치를 포함할 수 있다. 예시적인 입출력 장치(24)는 컴퓨팅 장치(12)를 구성하는 일 컴포넌트로서 컴퓨팅 장치(12)의 내부에 포함될 수도 있고, 컴퓨팅 장치(12)와는 구별되는 별개의 장치로 컴퓨팅 장치(12)와 연결될 수도 있다.Computing device 12 may also include one or more input/output interfaces 22 and one or more network communication interfaces 26 that provide interfaces for one or more input/output devices 24 . An input/output interface 22 and a network communication interface 26 are connected to the communication bus 18 . Input/output device 24 may be coupled to other components of computing device 12 via input/output interface 22 . Exemplary input/output devices 24 include a pointing device (such as a mouse or trackpad), a keyboard, a touch input device (such as a touchpad or touchscreen), a voice or sound input device, various types of sensor devices, and/or a photographing device. input devices, and/or output devices such as display devices, printers, speakers, and/or network cards. The exemplary input/output device 24 may be included inside the computing device 12 as a component constituting the computing device 12, or may be connected to the computing device 12 as a separate device distinct from the computing device 12. may be

이상에서 대표적인 실시예를 통하여 본 발명에 대하여 상세하게 설명하였으나, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 전술한 실시예에 대하여 본 발명의 범주에서 벗어나지 않는 한도 내에서 다양한 변형이 가능함을 이해할 것이다. 그러므로 본 발명의 권리범위는 설명된 실시예에 국한되어 정해져서는 안 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.Although the present invention has been described in detail through representative examples above, those skilled in the art can make various modifications to the above-described embodiments without departing from the scope of the present invention. will understand Therefore, the scope of the present invention should not be limited to the described embodiments and should not be defined, and should be defined by not only the claims to be described later, but also those equivalent to these claims.

10: 컴퓨팅 환경
12: 컴퓨팅 장치
14: 프로세서
16: 컴퓨터 판독 가능 저장 매체
18: 통신 버스
20: 프로그램
22: 입출력 인터페이스
24: 입출력 장치
26: 네트워크 통신 인터페이스
100: 기계 학습 모델 생성 장치
110: 전처리부
120: 특성 생성부
130: 모델 생성부
10: Computing environment
12: computing device
14: Processor
16: computer readable storage medium
18: communication bus
20: program
22: I/O interface
24: I/O device
26: network communication interface
100: machine learning model generating device
110: pre-processing unit
120: characteristic generator
130: model generating unit

Claims (10)

컴퓨팅 장치에 의해 수행되는 기계 학습 모델 생성 방법에 있어서,
아이템과 관련된 하나 이상의 아이템 특성, 사용자와 관련된 하나 이상의 사용자 특성 및 상기 아이템과 상기 사용자 사이의 상호 관계와 관련된 하나 이상의 관계 특성을 포함하는 원본 데이터에 대한 전처리를 수행하는 동작;
상기 하나 이상의 아이템 특성, 상기 하나 이상의 사용자 특성 및 상기 하나 이상의 관계 특성을 포함하는 복수의 특성 중 적어도 하나에 기초하여 하나 이상의 신규 특성을 생성하는 동작;
상기 복수의 특성 및 상기 하나 이상의 신규 특성에 기초한 복수의 기계 학습 알고리즘을 수행하여 상이한 복수의 기계 학습 모델을 생성하는 동작; 및
상기 복수의 기계 학습 모델 중 최적 학습 모델을 결정하는 동작을 포함하는 기계 학습 모델 생성 방법.
A method for generating a machine learning model performed by a computing device,
performing preprocessing on original data including one or more item properties related to an item, one or more user properties related to a user, and one or more relationship properties related to a mutual relationship between the item and the user;
generating one or more new properties based on at least one of a plurality of properties including the one or more item properties, the one or more user properties, and the one or more relationship properties;
generating a plurality of different machine learning models by performing a plurality of machine learning algorithms based on the plurality of characteristics and the one or more new characteristics; and
A method for generating a machine learning model comprising determining an optimal learning model from among the plurality of machine learning models.
청구항 1에 있어서,
상기 신규 특성을 생성하는 동작은, 상기 복수의 특성 중 하나 이상의 특성에 대해 데이터 변환, 데이터 치환, 데이터 분할 및 데이터 결합 중 적어도 하나를 수행하여 상기 하나 이상의 신규 특성을 생성하는 기계 학습 모델 생성 방법.
The method of claim 1,
The generating of the new feature comprises generating the one or more new features by performing at least one of data conversion, data replacement, data splitting, and data combining on one or more of the plurality of features.
청구항 2에 있어서,
상기 신규 특성을 생성하는 동작은, 상기 복수의 특성 각각에 대한 변수 타입, 데이터 타입, 값의 종류 및 값의 범위 중 적어도 하나에 기초하여 상기 데이터 변환, 상기 데이터 치환, 상기 데이터 분할 및 상기 데이터 결합 중 적어도 하나를 수행하는 기계 학습 모델 생성 방법.
The method of claim 2,
The operation of generating the new characteristic may include the data conversion, the data substitution, the data division, and the data combination based on at least one of a variable type, a data type, a value type, and a value range for each of the plurality of characteristics. A method for generating a machine learning model that performs at least one of the following.
청구항 1에 있어서,
상기 신규 특성을 생성하는 동작은, 상기 하나 이상의 사용자 특성 및 상기 하나 이상의 아이템 특성 중 적어도 하나에 대해 상기 하나 이상의 관계 특성에 기초한 통계값 및 확률값 중 적어도 하나를 산출하여 상기 하나 이상의 신규 특성을 생성하는 기계 학습 모델 생성 방법.
The method of claim 1,
The generating of the new characteristics may include generating the one or more new characteristics by calculating at least one of a statistical value and a probability value based on the one or more relationship characteristics with respect to at least one of the one or more user characteristics and the one or more item characteristics. How to create a machine learning model.
청구항 1에 있어서,
상기 복수의 기계 학습 알고리즘은, 인공 신경망 기반의 기계 학습 알고리즘, 의사 결정 트리(decision tree), 서포트 벡터 머신(SVM, Support Vector Machine), 선형 회귀(Linear Regression), 로지스틱 회귀(Logistic Regression), 랜덤 포레스트(random forest) 및 앙상블 학습(ensemble learning) 중 적어도 하나를 포함하는 기계 학습 모델 생성 방법.
The method of claim 1,
The plurality of machine learning algorithms include an artificial neural network-based machine learning algorithm, a decision tree, a support vector machine (SVM), linear regression, logistic regression, random A method of generating a machine learning model comprising at least one of random forest and ensemble learning.
하나 이상의 명령어를 저장하는 메모리; 및
상기 하나 이상의 명령어를 실행하는 하나 이상의 하드웨어 프로세서를 포함하고,
상기 하나 이상의 하드웨어 프로세서는,
아이템과 관련된 하나 이상의 아이템 특성, 사용자와 관련된 하나 이상의 사용자 특성 및 상기 아이템과 상기 사용자 사이의 상호 관계와 관련된 하나 이상의 관계 특성을 포함하는 원본 데이터에 대한 전처리를 수행하고,
상기 하나 이상의 아이템 특성, 상기 하나 이상의 사용자 특성 및 상기 하나 이상의 관계 특성을 포함하는 복수의 특성 중 적어도 하나에 기초하여 하나 이상의 신규 특성을 생성하고,
상기 복수의 특성 및 상기 하나 이상의 신규 특성에 기초한 복수의 기계 학습 알고리즘을 수행하여 상이한 복수의 기계 학습 모델을 생성하고,
상기 복수의 기계 학습 모델 중 최적 학습 모델을 결정하는 기계 학습 모델 생성 장치.
a memory that stores one or more instructions; and
one or more hardware processors to execute the one or more instructions;
The one or more hardware processors,
Perform preprocessing on original data including one or more item properties related to an item, one or more user properties related to a user, and one or more relational properties related to a mutual relationship between the item and the user;
create one or more new properties based on at least one of a plurality of properties including the one or more item properties, the one or more user properties, and the one or more relationship properties;
performing a plurality of machine learning algorithms based on the plurality of characteristics and the one or more new characteristics to generate a plurality of different machine learning models;
A machine learning model generating device for determining an optimal learning model from among the plurality of machine learning models.
청구항 6에 있어서,
상기 하나 이상의 하드웨어 프로세서는, 상기 복수의 특성 중 하나 이상의 특성에 대해 데이터 변환, 데이터 치환, 데이터 분할 및 데이터 결합 중 적어도 하나를 수행하여 상기 하나 이상의 신규 특성을 생성하는 기계 학습 모델 생성 장치.
The method of claim 6,
The one or more hardware processors generate the one or more new features by performing at least one of data conversion, data replacement, data division, and data combination on one or more features among the plurality of features.
청구항 7에 있어서,
상기 하나 이상의 하드웨어 프로세서는, 상기 복수의 특성 각각에 대한 변수 타입, 데이터 타입, 값의 종류 및 값의 범위 중 적어도 하나에 기초하여 상기 데이터 변환, 상기 데이터 치환, 상기 데이터 분할 및 상기 데이터 결합 중 적어도 하나를 수행하는 기계 학습 모델 생성 장치.
The method of claim 7,
The one or more hardware processors may perform at least one of the data conversion, the data replacement, the data division, and the data combination based on at least one of a variable type, a data type, a value type, and a value range for each of the plurality of characteristics. A machine learning model generator that does one.
청구항 6에 있어서,
상기 하나 이상의 하드웨어 프로세서는, 상기 하나 이상의 사용자 특성 및 상기 하나 이상의 아이템 특성 중 적어도 하나에 대해 상기 하나 이상의 관계 특성에 기초한 통계값 및 확률값 중 적어도 하나를 산출하여 상기 하나 이상의 신규 특성을 생성하는 기계 학습 모델 생성 장치.
The method of claim 6,
The one or more hardware processors perform machine learning to generate the one or more new characteristics by calculating at least one of a statistical value and a probability value based on the one or more relationship characteristics for at least one of the one or more user characteristics and the one or more item characteristics. model generator.
청구항 6에 있어서,
상기 복수의 기계 학습 알고리즘은, 인공 신경망 기반의 기계 학습 알고리즘, 의사 결정 트리(decision tree), 서포트 벡터 머신(SVM, Support Vector Machine), 선형 회귀(Linear Regression), 로지스틱 회귀(Logistic Regression), 랜덤 포레스트(random forest) 및 앙상블 학습(ensemble learning) 중 적어도 하나를 포함하는 기계 학습 모델 생성 장치.
The method of claim 6,
The plurality of machine learning algorithms include an artificial neural network-based machine learning algorithm, a decision tree, a support vector machine (SVM), linear regression, logistic regression, random An apparatus for generating a machine learning model including at least one of random forest and ensemble learning.
KR1020200146143A 2020-11-04 2020-11-04 Method and apparatus for generating machine learning model KR102525231B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200146143A KR102525231B1 (en) 2020-11-04 2020-11-04 Method and apparatus for generating machine learning model

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200146143A KR102525231B1 (en) 2020-11-04 2020-11-04 Method and apparatus for generating machine learning model

Publications (2)

Publication Number Publication Date
KR20220060300A KR20220060300A (en) 2022-05-11
KR102525231B1 true KR102525231B1 (en) 2023-04-24

Family

ID=81607000

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200146143A KR102525231B1 (en) 2020-11-04 2020-11-04 Method and apparatus for generating machine learning model

Country Status (1)

Country Link
KR (1) KR102525231B1 (en)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100647322B1 (en) * 2005-03-02 2006-11-23 삼성전자주식회사 Apparatus and method of generating shape model of object and apparatus and method of automatically searching feature points of object employing the same
KR20200104522A (en) * 2019-02-27 2020-09-04 상명대학교산학협력단 Failure prediction method using linked log data of other system based on machine learning

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"머신러닝에서 특성 생성 자동화를 위한 딥러닝 활용", 한국지능정보시스템학회 학술대회논문집(pp. 70-71), 2019.06.*

Also Published As

Publication number Publication date
KR20220060300A (en) 2022-05-11

Similar Documents

Publication Publication Date Title
Li et al. Spam review detection with graph convolutional networks
CN112785397B (en) Product recommendation method, device and storage medium
US20230334570A1 (en) Utilizing artificial intelligence to make a prediction about an entity based on user sentiment and transaction history
Vidanagama et al. Deceptive consumer review detection: a survey
US11995112B2 (en) System and method for information recommendation
US20210383453A1 (en) Generalized enterprise catalog classification for shorthand item descriptors
Malik et al. EPR-ML: E-Commerce Product Recommendation Using NLP and Machine Learning Algorithm
Abinaya et al. Enhancing top-N recommendation using stacked autoencoder in context-aware recommender system
Mahoto et al. An Intelligent Business Model for Product Price Prediction Using Machine Learning Approach.
US8738459B2 (en) Product recommendation
CN115147130A (en) Problem prediction method, apparatus, storage medium, and program product
CN115935185A (en) Training method and device for recommendation model
Ermakova et al. Commercial sentiment analysis solutions: a comparative study
US20200356725A1 (en) System and method for automatically tagging customer messages using artificial intelligence models
KR102525231B1 (en) Method and apparatus for generating machine learning model
Park et al. GNN-IR: Examining graph neural networks for influencer recommendations in social media marketing
Sa RETRACTED: Customer’s opinion mining from online reviews using intelligent rules with machine learning techniques
TWI771468B (en) System and method for dynamic synthesis and transient clustering of semantic attributions for feedback and adjudication
Ermakova et al. A comparison of commercial sentiment analysis services
Zhao A dynamic pricing mechanism model based on sentiments analysis
Kotsokechagia Predictive model for customer satisfaction in e-commerce
Li et al. CTR prediction with user behavior: An augmented method of deep factorization machines
Kasimu et al. Explainable Sentiment Analysis for Textile Personalized Marketing
KR20200029647A (en) Generalization method for curated e-Commerce system by user personalization
Lutfi et al. Automating the Optimization of Web Interfaces for E-Commerce

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant