[go: up one dir, main page]

KR102131353B1 - Method for applying feedback to prediction data of machine learning and system thereof - Google Patents

Method for applying feedback to prediction data of machine learning and system thereof Download PDF

Info

Publication number
KR102131353B1
KR102131353B1 KR1020200010559A KR20200010559A KR102131353B1 KR 102131353 B1 KR102131353 B1 KR 102131353B1 KR 1020200010559 A KR1020200010559 A KR 1020200010559A KR 20200010559 A KR20200010559 A KR 20200010559A KR 102131353 B1 KR102131353 B1 KR 102131353B1
Authority
KR
South Korea
Prior art keywords
cluster
feedback
data
event
clusters
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
KR1020200010559A
Other languages
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 주식회사 이글루시큐리티
Priority to KR1020200010559A priority Critical patent/KR102131353B1/en
Application granted granted Critical
Publication of KR102131353B1 publication Critical patent/KR102131353B1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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

Embodiments of the present invention relate to a method for applying prediction data feedback of machine learning which increases efficiency and accuracy of machine learning feedback and a system thereof. The method for applying prediction data feedback comprises the operations of: generating data of events included in a cluster as cluster data; calculating reliability scores of the plurality of clusters; determining a priority of applying feedback of the plurality of clusters; determining a representative event of the cluster; classifying the events in the cluster into an applied event to which the feedback is to be applied and a non-applied event to which the feedback is not applied; receiving the feedback on the representative event from a user; and applying the feedback to data corresponding to the applied event.

Description

머신 러닝의 예측 데이터 피드백 적용 방법 및 그 시스템{METHOD FOR APPLYING FEEDBACK TO PREDICTION DATA OF MACHINE LEARNING AND SYSTEM THEREOF}Method and system for applying predictive data feedback in machine learning{METHOD FOR APPLYING FEEDBACK TO PREDICTION DATA OF MACHINE LEARNING AND SYSTEM THEREOF}

아래 실시예들은 머신 러닝의 예측 데이터 피드백 적용 방법 및 그 시스템에 관한 것이다.The following embodiments relate to a method and system for applying predictive data feedback in machine learning.

초창기의 머신 러닝 모델은 정확도 및 정합성이 기대 수준으로 나오기 어려워, 머신 러닝 모델의 정확도 및 정합성을 올리기 위해, 머신 러닝 모델이 예측한 결과를 사용자가 정정하여 재학습시키는 시도가 많이 발생하였다. 이를 머신 러닝 피드백이라고 한다.In the early days of the machine learning model, it was difficult for the accuracy and consistency to reach the expected level, so many attempts were made to correct and re-learn the results predicted by the machine learning model to increase the accuracy and consistency of the machine learning model. This is called machine learning feedback.

이러한 피드백을 통해, 사용자는 머신 러닝 모델을 자신이 원하는 방향으로 지도할 수 있었다. 사용자는 만족스러운 예측 결과와 불만족스러운 예측 결과에 대해 각각 다른 레이블을 부여(Negative Reinforcement)하거나, 해당 레이블을 재확인(Positive Reinforcement)함으로써, 머신 러닝 모델의 성능 향상시킬 수 있었다.With this feedback, the user was able to map the machine learning model in the direction he wanted. The user can improve the performance of the machine learning model by assigning different labels for satisfactory prediction results and unsatisfactory prediction results (Negative Reinforcement), or reaffirming the labels (Positive Reinforcement).

그러나, 기존의 피드백 방식은 사용자가 예측 결과 내 이벤트를 한 건씩 지정해야하므로 그 효율성이 굉장히 낮으며, 숙련되지 않은 사용자가 피드백을 할 경우 머신 러닝 모델을 잘못 학습시키는 상황이 발생하곤 하였다.However, the existing feedback method has a very low efficiency because the user must designate an event in the prediction result one by one, and when an inexperienced user provides feedback, a situation in which the machine learning model is trained incorrectly occurs.

이에 따라, 피드백의 효율성과 정확성를 높이기 위한 능동 학습(Active Learning) 기반의 피드백 적용 기술 개발이 요구되고 있다.Accordingly, there is a need to develop a technique for applying feedback based on active learning to increase the efficiency and accuracy of feedback.

이 배경기술 부분에 기재된 사항은 발명의 배경에 대한 이해를 증진하기 위하여 작성된 것으로써, 이 기술이 속하는 분야에서 통상의 지식을 가진 자에게 이미 알려진 종래기술이 아닌 사항을 포함할 수 있다.The items described in this background section are written to improve the understanding of the background of the invention, and may include matters not known in the prior art that are already known to those of ordinary skill in the field to which this technology belongs.

아래 실시예들은 전술한 문제점을 해결하기 위하여 안출된 것으로서, 일 실시예는 머신 러닝 피드백의 효율성과 정확성를 높이기 위한 능동 학습(Active Learning) 기반의 피드백 적용 기술을 제공하는 것을 목적으로 한다.The following embodiments have been devised to solve the above-described problems, and one embodiment is intended to provide an active learning-based feedback application technology for increasing the efficiency and accuracy of machine learning feedback.

일 실시예가 해결하고자 하는 과제들은 이상에서 언급된 과제로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.The problems to be solved by one embodiment are not limited to the problems mentioned above, and other problems not mentioned will be clearly understood by those skilled in the art from the following description.

일 실시예에 따르면 예측 데이터 피드백 적용 장치에서 수행되는 머신 러닝의 예측 데이터에 피드백을 적용한 방법으로, 상기 예측 데이터의 이벤트를 군집으로 분류하고, 상기 군집의 군집 데이터를 생성하는 동작; 상기 군집의 대표 이벤트를 결정하는 동작; 사용자로부터 상기 대표 이벤트에 대한 피드백을 입력받는 동작; 및 상기 피드백을 상기 군집 데이터에 적용하는 동작을 포함하는 예측 데이터 피드백 적용 방법을 제공한다,According to an embodiment, a method of applying feedback to prediction data of machine learning performed by a prediction data feedback applying apparatus, classifying events of the prediction data into clusters and generating cluster data of the clusters; Determining a representative event of the cluster; Receiving feedback from the user for the representative event; And applying the feedback to the cluster data.

일 실시예는 상기 군집의 신뢰도 점수를 계산하는 동작; 및 상기 신뢰도 점수를 이용하여, 상기 군집의 우선 순위를 결정하는 동작을 포함하고, 상기 피드백 적용 동작은 상기 군집의 우선 순위에 따라, 상기 군집 데이터에 상기 피드백을 적용한다.One embodiment includes calculating a reliability score of the cluster; And determining the priority of the cluster using the reliability score, and the feedback applying operation applies the feedback to the cluster data according to the priority of the cluster.

일 실시예는 상기 신뢰도 점수 계산 동작은 상기 군집 내 이벤트의 거리 정보 및 신뢰도를 이용하여 계산한다.In one embodiment, the reliability score calculation operation is performed using distance information and reliability of an event in the cluster.

일 실시예는 상기 대표 이벤트 결정 동작은 상기 군집 내 이벤트의 데이터 평균 값과 학습 데이터를 이용하여, 상기 군집의 대표 이벤트를 결정한다.In one embodiment, the representative event determination operation determines the representative event of the cluster by using the data average value and learning data of the event in the cluster.

일 실시예는 상기 대표 이벤트 결정 동작은 상기 군집 내 이벤트의 데이터 평균 값과 학습 데이터의 코사인 유사도(Cosine Similarity)를 이용하여, 상기 군집의 대표 이벤트를 결정한다.In one embodiment, the representative event determination operation determines a representative event of the cluster by using a data mean value of the event in the cluster and cosine similarity of learning data.

일 실시예는 상기 군집 내 이벤트를 분류하는 동작; 및상기 분류된 이벤트에서 상기 피드백을 적용할 적용 이벤트를 결정하는 동작을 포함하고, 상기 피드백 적용 동작은 상기 군집 데이터 중 상기 적용 이벤트에 해당하는 데이터에 상기 피드백을 적용한다.One embodiment includes the operation of classifying an event in the cluster; And determining an application event to which the feedback is applied in the classified event, and the feedback application operation applies the feedback to data corresponding to the application event among the cluster data.

일 실시예는 예측 데이터의 이벤트를 군집으로 분류하고, 상기 군집의 군집 데이터를 생성하도록 구성된 군집 데이터 생성부; 상기 군집의 대표 이벤트를 결정하도록 구성된 대표 이벤트 결정부; 사용자로부터 상기 대표 이벤트에 대한 피드백을 입력받는 동작; 및 상기 피드백을 상기 군집 데이터에 적용하도록 구성된 피드백 적용부를 포함하는 예측 데이터 피드백 적용 장치를 제공한다.According to an embodiment of the present invention, a cluster data generator configured to classify events of prediction data into clusters and generate cluster data of the clusters; A representative event determination unit configured to determine a representative event of the cluster; Receiving feedback from the user for the representative event; And a feedback application unit configured to apply the feedback to the cluster data.

이상에서 설명한 바와 같은 일 실시예들에 따르면, 사용자는 적은 수의 피드백만으로도 머신 러닝 모델을 효율적이고 사용자의 의도에 부학하도록 학습시킬 수 있다.According to one embodiment as described above, the user can train the machine learning model to be efficient and adhere to the user's intention with only a small number of feedbacks.

일 실시예의 효과들은 이상에서 언급된 효과로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.The effects of one embodiment are not limited to the effects mentioned above, and other effects not mentioned will be clearly understood by those skilled in the art from the following description.

도 1은 일 실시예에 따른 예측 데이터 피드백 적용 시스템을 도시한 도면이다.
도 2는 일 실시예에 따른 예측 데이터 피드백 적용 장치의 구성을 도시한 도면이다.
도 3은 일 실시예에 따른 군집 데이터 생성을 설명하기 위한 도면이다.
도 4는 일 실시예에 따른 군집 데이터의 우선 순위 결정을 설명하기 위한 도면이다.
도 5는 일 실시예에 따른 군집 데이터의 피드백을 도시한 도면이다.
도 6은 일 실시예에 따른 군집 데이터의 적용 이벤트를 도시한 도면이다.
도 7은 일 실시예에 따른 예측 데이터 피드백 적용 방법의 흐름도를 도시한 도면이다.
도 8은 일 실시예에 따른 군집 데이터 우선 순위에 따른 피드백 적용 방법의 흐름도를 도시한 도면이다.
도 9는 일 실시예에 따른 적용 이벤트에 피드백 적용 방법의 흐름도를 도시한 도면이다.
도 10은 일 실시예에 따른 사용자 단말의 구성을 도시한 도면이다.
1 is a diagram illustrating a system for applying predictive data feedback according to an embodiment.
2 is a diagram illustrating a configuration of an apparatus for applying predictive data feedback according to an embodiment.
3 is a diagram for describing cluster data generation according to an embodiment.
4 is a diagram for explaining priority determination of cluster data according to an embodiment.
5 is a diagram illustrating feedback of cluster data according to an embodiment.
6 is a diagram illustrating an application event of cluster data according to an embodiment.
7 is a flowchart illustrating a method of applying predictive data feedback according to an embodiment.
8 is a flowchart illustrating a method of applying feedback according to cluster data priority according to an embodiment.
9 is a flowchart illustrating a method of applying feedback to an application event according to an embodiment.
10 is a diagram showing the configuration of a user terminal according to an embodiment.

이하에서, 첨부된 도면을 참조하여 실시예들을 상세하게 설명한다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다. 아래 설명하는 실시예들에는 다양한 변경이 가해질 수 있다. 아래 설명하는 실시예들은 실시 형태에 대해 한정하려는 것이 아니며, 이들에 대한 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.Hereinafter, embodiments will be described in detail with reference to the accompanying drawings. The same reference numerals in each drawing denote the same members. Various modifications may be made to the embodiments described below. The examples described below are not intended to be limiting with respect to the embodiments, and should be understood to include all modifications, equivalents, or substitutes thereof.

실시예에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 실시예를 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 동작, 동작, 구성 요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 동작, 동작, 구성 요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terms used in the examples are only used to describe specific examples, and are not intended to limit the examples. Singular expressions include plural expressions unless the context clearly indicates otherwise. In this specification, terms such as “include” or “have” are intended to indicate that a feature, number, operation, operation, component, part, or combination thereof described on the specification exists, and that one or more other features are present. It should be understood that the existence or addition possibilities of fields or numbers, operations, operations, components, parts or combinations thereof are not excluded in advance.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless otherwise defined, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by a person skilled in the art to which the embodiment belongs. Terms, such as those defined in a commonly used dictionary, should be interpreted as having meanings consistent with meanings in the context of related technologies, and should not be interpreted as ideal or excessively formal meanings unless explicitly defined in the present application. Does not.

또한, 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조 부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 실시예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 실시예의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.In addition, in the description with reference to the accompanying drawings, the same components are given the same reference numerals regardless of the reference numerals, and redundant descriptions thereof will be omitted. In describing the embodiments, when it is determined that detailed descriptions of related known technologies may unnecessarily obscure the subject matter of the embodiments, the detailed descriptions will be omitted.

도 1은 일 실시예에 따른 예측 데이터 피드백 적용 시스템(10)을 도시한 도면이다.1 is a diagram illustrating a prediction data feedback application system 10 according to an embodiment.

도 1을 참조하면, 일 실시예에 따른 예측 데이터 피드백 적용 시스템(10)은 예측 데이터 피드백 적용 장치(100), 사용자 단말(200) 및 학습 데이터 생성 장치(300)을 포함한다.Referring to FIG. 1, the prediction data feedback applying system 10 according to an embodiment includes a prediction data feedback applying apparatus 100, a user terminal 200, and a learning data generating apparatus 300.

예측 데이터 피드백 적용 장치(100)는 머신 러닝을 통해 생성된 예측 데이터(20)에 피드백(30)을 적용한다. 예측 데이터(20)는 이벤트들에 대한 머신 러닝 모델의 예측 결과 값이며, 피드백(30)은 사용자가 예측 데이터(20)를 정정하기 위한 데이터이다.The prediction data feedback applying apparatus 100 applies the feedback 30 to the prediction data 20 generated through machine learning. The prediction data 20 is a prediction result value of a machine learning model for events, and the feedback 30 is data for a user to correct the prediction data 20.

예측 데이터 피드백 적용 장치(100)는 예측 데이터(20)의 군집을 생성하고, 해당 군집에 포함된 이벤트의 데이터인 군집 데이터(22)를 생성한다. 그리고, 군집 데이터(22)에 피드백(30)을 적용한다.The apparatus 100 for applying predictive data feedback generates a cluster of prediction data 20 and generates cluster data 22 that is data of an event included in the cluster. Then, the feedback 30 is applied to the cluster data 22.

예측 데이터 피드백 적용 장치(100)의 구체적인 구성 및 기능에 대해서는 이하 도 2에서 자세히 설명하도록 한다.The detailed configuration and function of the prediction data feedback applying apparatus 100 will be described in detail in FIG. 2 below.

예측 데이터 피드백 적용 장치(100)는 예를 들어, 컴퓨터, UMPC(Ultra Mobile PC), 워크스테이션, 넷북(net-book), PDA(Personal Digital Assistants), 포터블(portable) 컴퓨터, 웹 타블렛(web tablet), 무선 전화기(wireless phone), 모바일 폰(mobile phone), 스마트폰(smart phone), PMP(portable multimedia player) 같은 전자 장치 중 하나로서, 예측 데이터 피드백 적용 장치(100)와 관련된 어플리케이션의 설치 및 실행이 가능한 모든 전자 장치를 포함할 수 있다. 전자 장치는 어플리케이션의 제어 하에 예를 들어, 서비스 화면의 구성, 데이터 입력, 데이터 송수신, 데이터 저장 등과 같은 서비스 전반의 동작을 수행할 수 있다.The apparatus 100 for applying predictive data feedback may include, for example, a computer, an Ultra Mobile PC (UMPC), a workstation, a net-book, a PDA (Personal Digital Assistants), a portable computer, and a web tablet. ), as one of electronic devices such as a wireless phone, a mobile phone, a smart phone, and a portable multimedia player (PMP), installation of an application related to the predictive data feedback applying device 100 and It may include any executable electronic device. The electronic device may perform overall service operations, such as configuration of a service screen, data input, data transmission and reception, and data storage, under the control of an application.

사용자 단말(200)은 사용자가 예측 데이터(20)를 정정하기 위한 데이터인 피드백(30)을 생성하여, 생성된 피드백(30)을 예측 데이터 피드백 적용 장치(100)에 전송한다.The user terminal 200 generates feedback 30 which is data for a user to correct the prediction data 20 and transmits the generated feedback 30 to the prediction data feedback applying apparatus 100.

사용자 단말(200)의 구체적인 구성과 기능에 대해서는 이하 도 10에서 자세히 설명하도록 한다.The detailed configuration and function of the user terminal 200 will be described in detail in FIG. 10 below.

학습 데이터 생성 장치(300)는 머신 러닝을 위한 기초 자료인 학습 데이터를 생성하여, 생성된 학습 데이터를 예측 데이터 피드백 적용 장치(100)에 전송한다.The learning data generation device 300 generates learning data, which is basic data for machine learning, and transmits the generated learning data to the prediction data feedback applying device 100.

도 2는 일 실시예에 따른 예측 데이터 피드백 적용 장치(100)의 구성을 도시한 도면이다.2 is a diagram illustrating a configuration of an apparatus 100 for applying predictive data feedback according to an embodiment.

도 2를 참조하면, 일 실시예에 예측 데이터 피드백 적용 장치(100)는 제어부(110), 군집 데이터 생성부(120), 우선 순위 결정부(130), 대표 이벤트 결정부(140), 적용 이벤트 결정부(150), 피드백 적용부(160), 사용자 인터페이스부(170), 데이터베이스부(180) 및 통신부(190)를 포함한다.Referring to FIG. 2, the apparatus 100 for applying predictive data feedback in one embodiment includes a control unit 110, a cluster data generation unit 120, a priority determination unit 130, a representative event determination unit 140, and an application event It includes a determination unit 150, a feedback application unit 160, a user interface unit 170, a database unit 180 and a communication unit 190.

예측 데이터 피드백 적용 장치(100) 내에 포함된 다양한 개체들(entities) 간의 통신은 유/무선 네트워크(미도시)를 통해 수행될 수 있다. 유/무선 네트워크는 표준 통신 기술 및/또는 프로토콜들이 사용될 수 있다.Communication between various entities included in the apparatus 100 for applying predictive data feedback may be performed through a wired/wireless network (not shown). Standard communication technologies and/or protocols may be used in the wired/wireless network.

예측 데이터 피드백 적용 장치(100)의 하드웨어 구성은 다양하게 구현될 수 있다. 군집 데이터 생성부(120)와 우선 순위 결정부(130)를 통합하거나, 대표 이벤트 결정부(140)와 적용 이벤트 결정부(150)를 통합하여 하드웨어를 구성할 수 있다. 이와 같이, 예측 데이터 피드백 적용 장치(100)의 하드웨어 구성은 본 명세서의 기재에 한정되지 아니하며, 다양한 방법과 조합으로 구현될 수 있다.The hardware configuration of the apparatus 100 for applying predictive data feedback may be implemented in various ways. The hardware may be configured by integrating the cluster data generation unit 120 and the priority determination unit 130 or by integrating the representative event determination unit 140 and the applied event determination unit 150. As such, the hardware configuration of the apparatus 100 for applying predictive data feedback is not limited to the description of the present specification and may be implemented in various methods and combinations.

제어부(110)는 예측 데이터 피드백 적용 장치(100)의 다양한 기능을 수행하도록 군집 데이터 생성부(120), 우선 순위 결정부(130), 대표 이벤트 결정부(140), 적용 이벤트 결정부(150), 피드백 적용부(160), 사용자 인터페이스부(170), 데이터베이스부(180) 및 통신부(190)를 제어한다.The control unit 110 includes a cluster data generation unit 120, a priority determination unit 130, a representative event determination unit 140, and an application event determination unit 150 to perform various functions of the prediction data feedback application device 100 , Control the feedback application unit 160, the user interface unit 170, the database unit 180 and the communication unit 190.

그리고, 제어부(110)는 프로세서(Processor), 컨트롤러(controller), 마이크로 컨트롤러(microcontroller), 마이크로 프로세서(microprocessor), 마이크로 컴퓨터(microcomputer) 등으로도 호칭될 수 있으며, 제어부는 하드웨어(hardware) 또는 펌웨어(firmware), 소프트웨어 또는 이들의 결합에 의해 구현될 수 있다.In addition, the controller 110 may also be referred to as a processor, a controller, a microcontroller, a microprocessor, a microcomputer, etc., and the controller may be hardware or firmware. (firmware), software, or a combination thereof.

군집 데이터 생성부(120)는 예측 데이터(20)의 군집을 생성하고, 해당 군집에 포함된 이벤트의 데이터인 군집 데이터(22)를 생성한다. 예측 데이터(20) 내 이벤트 중에서 유사한 값을 가지는 이벤트를 하나의 군집으로 분류하고, 해당 군집에 포함된 이벤트의 데이터를 군집 데이터(22)로 생성하는 것이다. 예측 데이터(20)에 대해 복수의 군집들이 생성된 경우, 군집 데이터(22)는 복수의 군집들 각각에 포함된 이벤트 데이터들을 포함할 수 있다.The cluster data generation unit 120 generates a cluster of prediction data 20 and generates cluster data 22 that is data of an event included in the cluster. Among events in the prediction data 20, events having similar values are classified into one cluster, and data of the events included in the cluster is generated as the cluster data 22. When a plurality of clusters are generated for the prediction data 20, the cluster data 22 may include event data included in each of the plurality of clusters.

군집 데이터 생성부(120)는 예측 데이트(20)의 군집을 생성하기 위하여, 다양한 알고리즘을 이용할 수 있다.The cluster data generation unit 120 may use various algorithms to generate clusters of the prediction data 20.

일례로, 군집 데이터 생성부(120)는 예측 데이터(20)가 바이너리 형식의 범주형 데이터(0과 1로 이루어진 데이터)로 구성된 경우, 코사인 유사도(Cosine Similarity) 기반의 군집화 알고리즘을 이용할 수 있다. 또한, 기존의 유클리디언 거리(Euclidean Distance) 기반의 군집화 알고리즘인 K-means 또는 K-Nearest Neighbors (KNN) 등을 이용할 수도 있다.For example, the cluster data generation unit 120 may use a clustering algorithm based on cosine similarity when the prediction data 20 is composed of binary type categorical data (data consisting of 0s and 1s). In addition, K-means or K-Nearest Neighbors (KNN), which are clustering algorithms based on the existing Euclidean distance, may be used.

우선 순위 결정부(130)는 군집 데이터 생성부(120)에서 생성된 군집의 신뢰도 점수(23)를 계산하고, 군집의 신뢰도 점수(23)에 따라 해당 군집의 우선 순위를 결정한다. 군집의 신뢰도 점수(23)를 이용하여, 피드백(30) 적용의 우선 순위를 결정하는 것이다.The priority determining unit 130 calculates the reliability score 23 of the cluster generated by the cluster data generating unit 120 and determines the priority of the cluster according to the reliability score 23 of the cluster. The priority of applying the feedback 30 is determined by using the reliability score 23 of the cluster.

예측 데이터(20)로부터 제 1 군집, 제 2 군집, 제 3 군집이 생성된 경우, 우선 순위 결정부(130)는 제 1 군집, 제 2 군집, 제 3 군집 각각의 신뢰도 점수(23)를 계산하고, 군집의 신뢰도 점수(23)에 따라, 피드백(30) 적용의 우선 순위를 결정할 수 있다.When the first cluster, the second cluster, and the third cluster are generated from the prediction data 20, the priority determining unit 130 calculates the reliability score 23 of each of the first cluster, the second cluster, and the third cluster And, according to the reliability score (23) of the cluster, it is possible to determine the priority of applying the feedback (30).

우선 순위 결정부(130)는 군집의 신뢰도 점수(23)를 계산하기 위하여, 다양한 알고리즘을 이용할 수 있다.The priority determining unit 130 may use various algorithms to calculate the reliability score 23 of the cluster.

일례로, 우선 순위 결정부(130)는 군집에 포함된 이벤트의 거리 정보와 신뢰도를 이용하여, 군집의 신뢰도 점수(23)를 계산할 수 있다. 군집에 포함된 이벤트는 군집에 확실히 속하는 이벤트(군집 중심에 상대적으로 가까운 이벤트)와 군집에 약하게 속하는 이벤트(군집 중심에서 상대적으로 먼 이벤트)로 구성될 수 있는데, 해당 이벤트의 거리 정보와 신뢰도를 이용하여 군집의 신뢰도 점수(23) 계산할 수 있다.For example, the priority determining unit 130 may calculate the reliability score 23 of the cluster using distance information and reliability of the events included in the cluster. The events included in the cluster can be composed of events that belong to the cluster (events that are relatively close to the center of the cluster) and events that are weakly belonging to the cluster (events that are relatively far from the center of the cluster). By calculating the reliability score (23) of the cluster.

구체적으로 설명하면, 제 1 군집(Cluster 1)에 속한 이벤트를 Ei라고 했을 때, 제 1 군집(Cluster 1)은 C1 = {E1, E2, …, En}으로 표현될 수 있다. 이 때, 제 1 군집(Cluster 1)의 신뢰도 점수(Cluster Confidence Score, CCS, 23)는 아래의 수학식으로 계산될 수 있다.Specifically, when the event belonging to the first cluster (Cluster 1) is Ei, the first cluster (Cluster 1) is C1 = {E1, E2,… , En}. At this time, the reliability score (Cluster Confidence Score, CCS, 23) of the first cluster (Cluster 1) may be calculated by the following equation.

Figure 112020009582910-pat00001
Figure 112020009582910-pat00001

여기서, ICS(Individual Confidence Score)는 이벤트의 신뢰도 정보로, 기존 예측 데이터(20)에 포함된 이벤트 신뢰도 정보를 그대로 활용할 수 있으며, Bi는 이벤트가 군집에 얼마나 강하게 소속되어 있는지를 나타내는 정보로, 군집 중심과의 거리 정보를 이용하여 생성할 수 있다.Here, ICS (Individual Confidence Score) is the reliability information of the event, and the event reliability information included in the existing prediction data 20 can be utilized as it is, and Bi is information indicating how strongly the event belongs to the cluster, and It can be generated using distance information from the center.

우선 순위 결정부(130)는 계산된 군집의 신뢰도 점수(23)를 이용하여, 피드백(30) 적용의 우선 순위를 결정할 수 있다. 군집의 우선 순위는 어떤 군집에 피드백(30)이 더 필요한가를 나타내는 정보로, 우선 순위 결정부(130)는 높은 신뢰도 점수(23)를 가진 군집 순서대로 우선 순위를 결정할 수 있다. 피드백 적용부(160)는 우선 순위 결정부(130)에서 결정된 우선 순위에 따라, 해당 군집의 군집 데이터(22)에 피드백(30)을 적용할 수 있다.The priority determining unit 130 may determine the priority of applying the feedback 30 using the calculated reliability score 23 of the cluster. The priority of the cluster is information indicating which cluster 30 needs more feedback, and the priority determining unit 130 may determine the priority in the order of clusters having a high reliability score 23. The feedback application unit 160 may apply the feedback 30 to the cluster data 22 of the corresponding cluster according to the priority determined by the priority determination unit 130.

대표 이벤트 결정부(140)는 군집 데이터 생성부(120)에서 생성된 군집의 대표 이벤트를 결정한다.The representative event determination unit 140 determines a representative event of the cluster generated by the cluster data generation unit 120.

대표 이벤트는 군집에 포함된 이벤트 중에서 군집 데이터(20)의 성질을 가장 잘 표현하고 있는 이벤트로, 대표 이벤트 결정부(140)는 다양한 알고리즘을 이용하여 군집의 대표 이벤트를 결정할 수 있다.The representative event is an event that best expresses the properties of the cluster data 20 among the events included in the cluster, and the representative event determination unit 140 may determine a representative event of the cluster using various algorithms.

일례로, 대표 이벤트 결정부(140)는 코사인 유사도(Cosine Similarity) 알고리즘을 이용하여, 군집의 대표 이벤트를 결정할 수 있다. 대표 이벤트 결정부(140)는 군집 내 이벤트의 데이터 평균 값과 학습 데이터의 코사인 유사도(Cosine Similarity)를 계산하고, 유사도가 가장 높은 이벤트를 해당 군집의 대표 이벤트로 결정할 수 있다.For example, the representative event determination unit 140 may determine a representative event of a cluster using a cosine similarity algorithm. The representative event determination unit 140 may calculate a data average value of events in a cluster and cosine similarity of training data, and determine an event having the highest similarity as a representative event of the corresponding cluster.

구체적으로 설명하면, 군집 내 이벤트의 데이터 평균 값을 M={Mf1, Mf2, …Mfn}이라고 표현할 때, 학습 데이터와의 코사인 유사도(Cosine Similarity, CS)는 아래의 수학식으로 계산될 수 있다.Specifically, the data average value of the events in the cluster is M={Mf1, Mf2,… Mfn}, cosine similarity (CS) with learning data can be calculated by the following equation.

Figure 112020009582910-pat00002
Figure 112020009582910-pat00002

이 때, 대표 이벤트는 max{CS1, CS2, …CSn}로 결정될 수 있다.At this time, the representative event is max{CS1, CS2,… CSn}.

대표 이벤트 결정부(140)에서 결정된 군집의 대표 이벤트는 사용자 단말(200)에 전송되어, 사용자에게 제공된다. 다른 일례로, 군집의 대표 이벤트는 사용자 인터페이스(170)를 통해 사용자에게 제공될 수도 있다. 사용자는 군집의 대표 이벤트를 이용하여 군집 전체에 적용할 피드백(30)을 결정할 수 있으며, 이에 따라 사용자는 군집 내 이벤트를 일일히 살펴보지 않고, 군집의 피드백(30)을 결정할 수 있다.The representative event of the cluster determined by the representative event determination unit 140 is transmitted to the user terminal 200 and provided to the user. As another example, the representative event of the cluster may be provided to the user through the user interface 170. The user can determine the feedback 30 to be applied to the entire cluster by using the representative event of the cluster, and accordingly, the user can determine the feedback 30 of the cluster without examining the events in the cluster.

적용 이벤트 결정부(150)는 피드백(30)을 적용할 이벤트인 적용 이벤트(40)를 결정한다.The application event determination unit 150 determines an application event 40 that is an event to which the feedback 30 is applied.

적용 이벤트 결정부(150)는 군집 내 이벤트를 일 기준에 따라 분류하고, 분류된 이벤트에서 적용 이벤트(40)를 선택하여 결정한다. 즉, 적용 이벤트 결정부(150)는 일 기준에 따라, 군집 내 이벤트를 피드백(30)을 적용할 이벤트인 적용 이벤트(40)와 적용하지 않을 비적용 이벤트(41)로 분류하는 것이다.The application event determination unit 150 classifies the events in the cluster according to one standard, and selects and determines the application event 40 from the classified events. That is, the application event determining unit 150 classifies the events in the cluster into an application event 40 to be applied to the feedback 30 and an application event 41 not to be applied, according to a standard.

적용 이벤트 결정부(150)는 다양한 알고리즘을 이용하여, 군집 내 이벤트를 분류하고, 적용 이벤트(40)를 결정할 수 있는데, 일례로 One-class SVM 등의 Novelty Detection 알고리즘을 이용하여 적용 이벤트(40)를 결정할 수 있다.The application event determination unit 150 may classify the events in the cluster and determine the application event 40 using various algorithms. For example, the application event 40 using a novel detection algorithm such as One-class SVM Can decide.

이에 따라, 피드백 적용부(160)는 군집의 피드백(30)을 군집 데이터(22) 중 적용 이벤트(40)에 해당하는 데이터에만 적용할 수 있다. 즉, 군집의 피드백(30)을 군집 내 모든 이벤트들에 적용하지 않고, 일정한 기준에 따라 결정된 적용 이벤트(40)에만 적용하는 것이다.Accordingly, the feedback application unit 160 may apply the feedback 30 of the cluster only to data corresponding to the application event 40 among the cluster data 22. That is, the feedback 30 of the cluster is not applied to all events in the cluster, but only to the applied event 40 determined according to a certain criterion.

피드백 적용부(160)는 사용자 단말(200)로부터 수신하거나 사용자 인터페이스부(170)를 통해 입력된 피드백(30)을 군집 데이터(22)에 적용한다.The feedback application unit 160 applies the feedback 30 received from the user terminal 200 or input through the user interface unit 170 to the cluster data 22.

전술한 바와 같이, 피드백 적용부(160)는 우선 순위 결정부(130)에서 결정된 우선 순위에 따라, 피드백(30)을 적용할 군집의 순서를 결정할 수 있으며, 적용 이벤트 결정부(150)에서 결정된 적용 이벤트(40)에 따라, 피드백(30)을 적용 이벤트(40)에만 적용할 수 있다.As described above, the feedback application unit 160 may determine the order of clusters to which the feedback 30 is applied, according to the priority determined by the priority determination unit 130, and determined by the application event determination unit 150 According to the application event 40, the feedback 30 can be applied only to the application event 40.

사용자 인터페이스부(170)는 사용자에게 데이터를 입력할 수 있는 인터페이스를 제공한다. 사용자는 사용자 인터페이스부(150)를 통해 군집의 피드백(30)을 입력할 수 있다.The user interface unit 170 provides an interface through which data can be input to the user. The user may input the feedback 30 of the cluster through the user interface 150.

데이터베이스부(180)는 예측 데이터 피드백 적용 장치(100)가 예측 데이터에 피드백을 적용하는데 필요한 다양한 데이터를 저장한다. 일례로, 데이터베이스부(160)는 예측 데이터(20), 군집 데이터(22), 피드백 데이터(30) 등을 저장할 수 있다.The database unit 180 stores various data necessary for the apparatus 100 for applying the prediction data feedback to apply feedback to the prediction data. For example, the database unit 160 may store prediction data 20, cluster data 22, feedback data 30, and the like.

통신부(190)는 외부 장치들과와 데이터 통신한다. 통신부(170)는 학습 데이터 생성 장치(300)로부터 학습 데이터를 수신하고, 사용자 단말(200)로부터 피드백(30)을 수신할 수 있다. 또한, 사용자 단말(200)에 군집의 대표 이벤트를 전송할 수 있다.The communication unit 190 performs data communication with external devices. The communication unit 170 may receive learning data from the learning data generation device 300 and receive feedback 30 from the user terminal 200. Also, a representative event of the cluster may be transmitted to the user terminal 200.

도 3은 일 실시예에 따른 군집 데이터(22) 생성을 설명하기 위한 도면이다.3 is a diagram for explaining generation of cluster data 22 according to an embodiment.

도 3을 참조하면, 도 (a)는 예측 데이터(20)를 도시하고 있으며, 도 (b)는 예측 데이터(20)의 분포 데이터(21)를 도시하고 있으며, 도 (c)는 군집 데이터(22)를 도시하고 있다.Referring to FIG. 3, FIG. (a) shows prediction data 20, FIG. (b) shows distribution data 21 of prediction data 20, and FIG. (c) shows cluster data ( 22).

전술한 바와 같이, 군집 데이터 생성부(120)는 예측 데이터(20)의 군집을 생성하고, 해당 군집에 포함된 이벤트의 데이터인 군집 데이터(22)를 생성한다. 예측 데이터(20)에 대해 복수의 군집들이 생성된 경우, 군집 데이터(22)는 복수의 군집들 각각에 포함된 이벤트 데이터들을 포함할 수 있다.As described above, the cluster data generation unit 120 generates a cluster of prediction data 20 and generates cluster data 22 which is data of an event included in the cluster. When a plurality of clusters are generated for the prediction data 20, the cluster data 22 may include event data included in each of the plurality of clusters.

도면에서, 예측 데이터(20)의 이벤트들이 3개의 군집들로 구성되어 있는 것을 볼 수 있다. 따라서, 군집 데이터 생성부(120)는 3개의 군집들의 이벤트 데이터들이 포함된 군집 데이터(22)를 생성할 수 있다.In the figure, it can be seen that the events of the prediction data 20 are composed of three clusters. Accordingly, the cluster data generation unit 120 may generate cluster data 22 including event data of three clusters.

도 4는 일 실시예에 따른 군집 데이터(22)의 우선 순위 결정을 설명하기 위한 도면이다.4 is a diagram for explaining priority determination of cluster data 22 according to an embodiment.

도 4를 참조하면, 도 (a)는 군집 데이터(22)를 도시하고 있으며, 도 (b)는 군집들의 신뢰도 점수(23)를 도시하고 있다.Referring to FIG. 4, FIG. (a) shows cluster data 22, and FIG. (b) shows the reliability scores 23 of clusters.

전술한 바와 같이, 우선 순위 결정부(130)는 군집 데이터 생성부(120)에서 생성된 군집의 신뢰도 점수(23)를 계산하고, 군집의 신뢰도 점수(23)에 따라 해당 군집의 우선 순위를 결정한다. 군집의 우선 순위는 어떤 군집에 피드백(30)이 더 필요한가를 나타내는 정보로, 우선 순위 결정부(130)는 높은 신뢰도 점수(23)를 가진 군집 순서대로 우선 순위를 결정할 수 있다. 피드백 적용부(160)는 우선 순위 결정부(130)에서 결정된 우선 순위에 따라, 해당 군집의 군집 데이터(22)에 피드백(30)을 적용할 수 있다.As described above, the priority determination unit 130 calculates the reliability score 23 of the cluster generated by the cluster data generation unit 120, and determines the priority of the cluster according to the reliability score 23 of the cluster do. The priority of the cluster is information indicating which cluster 30 needs more feedback, and the priority determining unit 130 may determine the priority in the order of clusters having a high reliability score 23. The feedback application unit 160 may apply the feedback 30 to the cluster data 22 of the corresponding cluster according to the priority determined by the priority determination unit 130.

도면에서, 제 1 군집(Red Cluster)의 신뢰도 점수는 0.51로, 제 2 군집(Blue Cluster)의 신뢰도 점수는 0.89로, 제 3 군집(Green Cluster)의 신뢰도 점수는 0.81로 계산된 것으로 확인할 수 있다. 우선 순위 결정부(130)는 제 2 군집(Blue Cluster), 제 3 군집(Green Cluster), 제 1 군집(Red Cluster) 순으로 우선 순위를 결정할 수 있다.In the drawing, it can be confirmed that the reliability score of the first cluster (Red Cluster) was 0.51, the reliability score of the second cluster (Blue Cluster) was 0.89, and the reliability score of the third cluster (Green Cluster) was 0.81. . The priority determining unit 130 may determine the priority in the order of the second cluster (Blue Cluster), the third cluster (Green Cluster), and the first cluster (Red Cluster).

따라서, 피드백 적용부(160)는 우선 순위 결정부(130)에서 결정된 우선 순위대로, 즉 제 2 군집(Blue Cluster), 제 3 군집(Green Cluster), 제 1 군집(Red Cluster) 순서대로 피드백(30)을 적용할 수 있다.Therefore, the feedback applying unit 160 feedbacks in the order of priority determined by the priority determining unit 130, that is, in the order of the second cluster (Blue Cluster), the third cluster (Green Cluster), and the first cluster (Red Cluster). 30) can be applied.

도 5는 일 실시예에 따른 군집 데이터(22)의 피드백(30)을 도시한 도면이다.5 is a diagram illustrating feedback 30 of cluster data 22 according to an embodiment.

피드백(30)은 사용자가 예측 데이터(20)를 정정하기 위한 데이터로, 사용자 단말(200)를 통해 전송되거나 사용자 인터페이스(170)를 통해 입력된다. 일 실시예에 따르면, 예측 데이터(20)가 복수의 군집들로 구성된 경우, 피드백(30)을 각 군집 별로 입력받을 수 있다.The feedback 30 is data for the user to correct the prediction data 20, and is transmitted through the user terminal 200 or input through the user interface 170. According to an embodiment, when the prediction data 20 is composed of a plurality of clusters, the feedback 30 may be input for each cluster.

도 5를 참조하면, 제 1 군집(Red Cluster)의 피드백(30)은 Suspicious로, 제 2 군집(Blue Cluster)의 피드백(30)은 Critical로, 제 3 군집(Green Cluster)의 피드백(30)은 Information으로 입력된 것으로 볼 수 있다.5, the feedback 30 of the first cluster (Red Cluster) is Suspicious, the feedback 30 of the second cluster (Blue Cluster) is Critical, and the feedback 30 of the third cluster (Green Cluster) Can be seen as entered as Information.

도 6은 일 실시예에 따른 군집 데이터(22)의 적용 이벤트(40)를 도시한 도면이다.6 is a diagram illustrating an application event 40 of cluster data 22 according to an embodiment.

전술한 바와 같이, 적용 이벤트 결정부(150)는 피드백(30)을 적용할 이벤트를 결정한다. 적용 이벤트 결정부(150)는 일 기준에 따라, 군집 내 이벤트를 피드백(30)을 적용할 이벤트인 적용 이벤트(40)와 적용하지 않을 비적용 이벤트(41)로 분류하는 것이다.As described above, the application event determination unit 150 determines an event to which the feedback 30 is applied. The application event determining unit 150 classifies the events in the cluster into an application event 40 to be applied to the feedback 30 and an application event 41 not to be applied, according to a standard.

도면은 Novelty Detection 알고리즘에 따라 생성된 군집 내 이벤트들의 분포도를 도시하고 있으며, 군집 중심과의 거리 정보를 이용하여, 적용 이벤트(40)와 비적용 이벤트(41)를 분류하는 것으로 볼 수 있다. 도면의 보라색으로 표현된 이벤트들이 피드백(30)을 적용할 이벤트인 적용 이벤트(40)이고, 노란색으로 표현된 이벤트들이 피드백(30)을 적용하지 않을 비적용 이벤트(41)이다.The drawing shows a distribution diagram of events in a cluster generated according to the Novelty Detection algorithm, and can be viewed as classifying the applied event 40 and the non-applied event 41 using distance information from the cluster center. The events expressed in purple in the drawing are applied events 40 which are events to which feedback 30 is applied, and the events expressed in yellow are non-applied events 41 to which feedback 30 is not applied.

도 7은 일 실시예에 따른 예측 데이터 피드백 적용 방법의 흐름도를 도시한 도면이다.7 is a flowchart illustrating a method of applying predictive data feedback according to an embodiment.

도 7을 참조하면, 일 실시예에 따른 예측 데이터 피드백 적용 방법은 군집 데이터 생성 단계(S100), 군집의 대표 이벤트 결정 단계(S110), 군집의 피드백 수신 단계(S120) 및 군집 데이터에 피드백 적용 단계(S130)를 포함한다.Referring to FIG. 7, a method of applying predictive data feedback according to an embodiment includes a cluster data generation step (S100), a representative event determination step (S110) of a cluster, a feedback reception step (S120) of the cluster, and a feedback application step of the cluster data (S130).

우선, 군집 데이터 생성 단계(S100)로, 군집 데이터 생성부(120)는 예측 데이터(20)의 군집을 생성하고, 해당 군집에 포함된 이벤트의 데이터인 군집 데이터(22)를 생성한다.First, in the cluster data generation step (S100 ), the cluster data generation unit 120 generates a cluster of prediction data 20 and generates cluster data 22 which is data of an event included in the cluster.

군집 데이터 생성부(120)는 예측 데이터(20) 내 이벤트 중에서 유사한 값을 가지는 이벤트를 하나의 군집으로 분류하고, 해당 군집에 포함된 이벤트의 데이터를 군집 데이터(22)로 생성하는 것이다. 예측 데이터(20)에 대해 복수의 군집들이 생성된 경우, 군집 데이터(22)는 복수의 군집들 각각에 포함된 이벤트 데이터들을 포함할 수 있다. 군집 데이터 생성부(120)는 예측 데이트(20)의 군집을 생성하기 위하여, 다양한 알고리즘을 이용할 수 있다.The cluster data generation unit 120 classifies events having similar values among the events in the prediction data 20 into one cluster, and generates data of the events included in the cluster as the cluster data 22. When a plurality of clusters are generated for the prediction data 20, the cluster data 22 may include event data included in each of the plurality of clusters. The cluster data generation unit 120 may use various algorithms to generate clusters of the prediction data 20.

그리고, 군집의 대표 이벤트 결정 단계(S110)로, 대표 이벤트 결정부(140)는 군집 데이터 생성부(120)에서 생성된 군집의 대표 이벤트를 결정한다.Then, in a representative event determination step (S110) of the cluster, the representative event determination unit 140 determines a representative event of the cluster generated by the cluster data generation unit 120.

대표 이벤트는 군집에 포함된 이벤트 중에서 군집 데이터(20)의 성질을 가장 잘 표현하고 있는 이벤트로, 대표 이벤트 결정부(140)는 다양한 알고리즘을 이용하여 군집의 대표 이벤트를 결정할 수 있다.The representative event is an event that best expresses the properties of the cluster data 20 among the events included in the cluster, and the representative event determination unit 140 may determine a representative event of the cluster using various algorithms.

대표 이벤트 결정부(140)에서 결정된 군집의 대표 이벤트는 사용자 단말(200)에 전송되어, 사용자에게 제공된다. 이에 따라, 사용자는 군집의 대표 이벤트를 이용하여 군집 전체에 적용할 피드백(30)을 결정할 수 있다.The representative event of the cluster determined by the representative event determination unit 140 is transmitted to the user terminal 200 and provided to the user. Accordingly, the user can determine the feedback 30 to be applied to the entire cluster by using a representative event of the cluster.

그리고, 군집의 피드백 수신 단계(S120)로, 통신부(190)는 사용자 단말(200)로부터 군집의 피드백(30)을 수신한다. 다른 일례로, 사용자 인터페이스(170)를 통해 사용자로부터 피드백(30)을 입력받을 수 있다.Then, in the feedback reception step (S120) of the cluster, the communication unit 190 receives the feedback of the cluster (30) from the user terminal 200. As another example, the feedback 30 may be input from the user through the user interface 170.

그리고, 군집 데이터에 피드백 적용 단계(S130)로, 피드백 적용부(160)는 사용자 단말(200)로부터 수신되거나 사용자 인터페이스부(170)를 통해 입력된 피드백(30)을 군집 데이터(22)에 적용한다.Then, in a feedback application step (S130) to the cluster data, the feedback application unit 160 applies the feedback 30 received from the user terminal 200 or input through the user interface unit 170 to the cluster data 22. do.

도 8은 일 실시예에 따른 군집 데이터 우선 순위에 따른 피드백 적용 방법의 흐름도를 도시한 도면이다.8 is a flowchart illustrating a method of applying feedback according to cluster data priority according to an embodiment.

도 8을 참조하면, 일 실시예에 따른 군집 데이터 우선 순위에 따른 피드백 적용 방법은 군집의 신뢰도 점수 계산 단계(S200), 군집의 우선 순위 결정 단계(S210) 및 우선 순위에 따라 군집 데이터에 피드백 적용 단계(S220)를 포함한다.Referring to FIG. 8, in a method of applying feedback according to a cluster data priority according to an embodiment, feedback is applied to cluster data according to a cluster reliability score calculation step (S200), a cluster priority determination step (S210), and priority. Step S220 is included.

우선, 군집의 신뢰도 점수 계산 단계(S200)로, 순위 결정부(130)는 군집 데이터 생성부(120)에서 생성된 군집의 신뢰도 점수(23)를 계산한다.First, in the reliability score calculation step (S200) of the cluster, the ranking unit 130 calculates the reliability score 23 of the cluster generated by the cluster data generation unit 120.

우선 순위 결정부(130)는 군집의 신뢰도 점수(23)를 계산하기 위하여, 다양한 알고리즘을 이용할 수 있다. 일례로, 우선 순위 결정부(130)는 군집에 포함된 이벤트의 거리 정보와 신뢰도를 이용하여, 군집의 신뢰도 점수(23)를 계산할 수 있다.The priority determining unit 130 may use various algorithms to calculate the reliability score 23 of the cluster. For example, the priority determining unit 130 may calculate the reliability score 23 of the cluster using distance information and reliability of the events included in the cluster.

그리고, 군집의 우선 순위 결정 단계(S210)로, 우선 순위 결정부(130)는 계산된 군집의 신뢰도 점수(23)를 이용하여, 피드백(30) 적용의 우선 순위를 결정할 수 있다. 군집의 우선 순위는 어떤 군집에 피드백(30)이 더 필요한가를 나타내는 정보로, 우선 순위 결정부(130)는 높은 신뢰도 점수(23)를 가진 군집 순서대로 우선 순위를 결정할 수 있다.In addition, in the priority determination step S210 of the cluster, the priority determination unit 130 may determine the priority of applying the feedback 30 using the calculated reliability score 23 of the cluster. The priority of the cluster is information indicating which cluster 30 needs more feedback, and the priority determining unit 130 may determine the priority in the order of clusters having a high reliability score 23.

그리고, 우선 순위에 따라 군집 데이터에 피드백 적용 단계(S220)로, 피드백 적용부(160)는 우선 순위 결정부(130)에서 결정된 우선 순위에 따라, 해당 군집의 군집 데이터(22)에 피드백(30)을 적용할 수 있다.Then, in a step of applying feedback to the cluster data according to the priority (S220), the feedback applying unit 160 feedbacks the cluster data 22 of the corresponding cluster according to the priority determined by the priority determining unit 130 (30). ) Can be applied.

도 9는 일 실시예에 따른 적용 이벤트에 피드백 적용 방법의 흐름도를 도시한 도면이다.9 is a flowchart illustrating a method of applying feedback to an application event according to an embodiment.

도 9를 참조하면, 일 실시예에 따른 적용 이벤트에 피드백 적용 방법은 군집 내 이벤트 분류 단계(S300), 적용 이벤트 결정 단계(S310) 및 적용 이벤트에 피드백 적용 단계(S320)를 포함한다.Referring to FIG. 9, a method for applying feedback to an application event according to an embodiment includes an event classification step (S300) in the cluster, an application event determination step (S310), and a feedback application step (S320) to the application event.

우선, 군집 내 이벤트 분류 단계(S300)로, 적용 이벤트 결정부(150)는 군집 내 이벤트를 일 기준에 따라 분류한다.First, in the event classification step (S300) in the cluster, the applied event determination unit 150 classifies the events in the cluster according to one standard.

그리고, 적용 이벤트 결정 단계(S310)로, 적용 이벤트 결정부(150)는 분류된 군집 내 이벤트에서 피드백(30)을 적용할 적용 이벤트(40)를 선택하여 결정한다. Then, in the application event determination step (S310 ), the application event determination unit 150 selects and determines the application event 40 to which the feedback 30 is to be applied in the categorized event within the cluster.

적용 이벤트 결정부(150)는 다양한 알고리즘을 이용하여, 군집 내 이벤트를 분류하고 적용 이벤트(40)를 결정할 수 있는데, 일례로 One-class SVM 등의 Novelty Detection 알고리즘을 이용할 수 있다.The application event determination unit 150 may classify the events in the cluster and determine the application event 40 using various algorithms, for example, a novel detection algorithm such as a one-class SVM.

그리고, 적용 이벤트에 피드백 적용 단계(S320)로, 피드백 적용부(160)는 군집 데이터(22) 중 적용 이벤트 결정부(150)에서 결정된 적용 이벤트(40)에 해당하는 데이터에 군집의 피드백(30)을 적용한다.Then, in a step of applying feedback to the applied event (S320), the feedback applying unit 160 provides feedback of the cluster to the data corresponding to the applied event 40 determined by the applied event determining unit 150 among the clustered data 22 (30). ).

즉, 피드백 적용부(160)는 군집의 피드백(30)을 군집 내 모든 이벤트들에 적용하지 않고, 일정한 기준에 따라 결정된 적용 이벤트(40)에만 적용하는 것이다.That is, the feedback application unit 160 does not apply the feedback 30 of the cluster to all events in the cluster, but applies only to the applied event 40 determined according to a certain criterion.

도 10은 일 실시예에 따른 사용자 단말의 구성(200)을 도시한 도면이다. 이하, 도 10에 도시된 사용자 단말(200)를 구성하는 구성요소들에 대해 차례로 살펴본다.10 is a diagram illustrating a configuration 200 of a user terminal according to an embodiment. Hereinafter, components constituting the user terminal 200 shown in FIG. 10 will be described in turn.

무선 통신부(210)는 사용자 단말(200)와 무선 통신 시스템 사이의 무선 통신 또는 사용자 단말(200)와 사용자 단말(200)가 위치한 네트워크 사이의 무선 통신을 수행하는 하나 이상의 구성요소를 포함할 수 있다. 예를 들어, 무선 통신부(210)는 방송 수신 모듈(211), 이동통신 모듈(212), 무선 인터넷 모듈(213), 근거리 통신 모듈(214) 및 위치정보 모듈(215) 등을 포함할 수 있다.The wireless communication unit 210 may include one or more components that perform wireless communication between the user terminal 200 and the wireless communication system or wireless communication between the user terminal 200 and the network where the user terminal 200 is located. . For example, the wireless communication unit 210 may include a broadcast reception module 211, a mobile communication module 212, a wireless Internet module 213, a short-range communication module 214, and a location information module 215. .

방송 수신 모듈(211)은 방송 채널을 통하여 외부의 방송 관리 서버로부터 방송 신호 및/또는 방송 관련된 정보를 수신한다. 여기에서, 방송 채널은 위성 채널, 지상파 채널을 포함할 수 있다. 한편, 방송 관련 정보는 이동통신망을 통하여도 제공될 수 있으며, 이러한 경우에는 이동통신 모듈(212)에 의해 수신될 수 있다.The broadcast receiving module 211 receives broadcast signals and/or broadcast related information from an external broadcast management server through a broadcast channel. Here, the broadcast channel may include a satellite channel and a terrestrial channel. Meanwhile, broadcast-related information may also be provided through a mobile communication network, and in this case, may be received by the mobile communication module 212.

또한, 이동통신 모듈(212)은 이동 통신망 상에서 기지국, 외부의 단말, 서버 중 적어도 하나와 무선 신호를 송수신한다. 여기에서, 무선 신호는 음성 호 신호, 화상 통화 호 신호 또는 문자/멀티미디어 메시지 송수신에 따른 다양한 형태의 데이터를 포함할 수 있다.In addition, the mobile communication module 212 transmits and receives wireless signals to and from at least one of a base station, an external terminal, and a server on a mobile communication network. Here, the wireless signal may include various types of data according to transmission and reception of a voice call signal, a video call signal, or a text/multimedia message.

무선 인터넷 모듈(213)은 무선 인터넷 접속을 위한 모듈을 말하는 것으로, 사용자 단말(200)에 내장되거나 외장 될 수 있다.The wireless Internet module 213 refers to a module for wireless Internet access, and may be built in or external to the user terminal 200.

근거리 통신 모듈(214)은 근거리 통신을 위한 모듈을 말한다. 근거리 통신 기술로, 블루투스(Bluetooth), RFID(Radio Frequency Identification), 적외선 통신(IrDA, infrared Data Association), UWB(Ultra Wideband), ZigBee 등이 이용될 수 있다.The short-range communication module 214 refers to a module for short-range communication. As a short-range communication technology, Bluetooth, radio frequency identification (RFID), infrared data association (IrDA), ultra wideband (UWB), or ZigBee may be used.

또한, 위치정보 모듈(215)은 사용자 단말(200)의 위치를 확인하거나 얻기 위한 모듈이다. 일례로 GPS(Global Position System) 모듈을 들 수 있다. GPS 모듈은 복수 개의 인공위성으로부터 위치 정보를 수신한다. 여기에서, 위치 정보는 위도 및 경도로 표시되는 좌표 정보를 포함할 수 있다.In addition, the location information module 215 is a module for confirming or obtaining the location of the user terminal 200. An example is a GPS (Global Position System) module. The GPS module receives location information from a plurality of satellites. Here, the location information may include coordinate information represented by latitude and longitude.

한편, A/V(Audio/Video) 입력부(220)는 오디오 신호 또는 비디오 신호 입력을 위한 것으로, 이에는 카메라(221)와 마이크(222) 등이 포함될 수 있다. 카메라(221)는 화상 통화 모드 또는 촬영 모드에서 이미지 센서에 의해 얻어지는 정지영상 또는 동영상 등의 화상 프레임을 처리한다. 그리고, 처리된 화상 프레임은 디스플레이부(251)에 표시될 수 있다.Meanwhile, the A/V (Audio/Video) input unit 220 is for inputting an audio signal or a video signal, and may include a camera 221 and a microphone 222. The camera 221 processes image frames such as still images or moving images obtained by an image sensor in a video call mode or a shooting mode. Then, the processed image frame may be displayed on the display unit 251.

카메라(221)에서 처리된 화상 프레임은 메모리(260)에 저장되거나 무선 통신부(210)를 통하여 외부로 전송될 수 있다. 카메라(221)는 사용자 단말(200)의 구성 태양에 따라 2개 이상이 구비될 수도 있다.The image frames processed by the camera 221 may be stored in the memory 260 or transmitted to the outside through the wireless communication unit 210. Two or more cameras 221 may be provided according to a configuration aspect of the user terminal 200.

마이크(222)는 통화모드 또는 녹음모드, 음성인식 모드 등에서 마이크로폰(Microphone)에 의해 외부의 음향 신호를 입력받아 전기적인 음성 데이터로 처리한다. 그리고, 처리된 음성 데이터는 통화 모드인 경우 이동통신 모듈(212)을 통하여 이동통신 기지국으로 송신 가능한 형태로 변환되어 출력될 수 있다. 마이크(222)는 외부의 음향 신호를 입력받는 과정에서 발생하는 잡음(noise)을 제거하기 위한 다양한 잡음 제거 알고리즘을 구현할 수 있다.The microphone 222 receives an external sound signal by a microphone in a call mode, a recording mode, or a voice recognition mode, and processes it as electrical voice data. Then, the processed voice data may be converted into a form transmittable to a mobile communication base station through the mobile communication module 212 and output. The microphone 222 may implement various noise removal algorithms to remove noise generated in the process of receiving an external sound signal.

사용자 입력부(230)는 사용자로부터 입력 동작을 받아들여, 사용자 단말(200)의 동작 제어를 위한 입력 데이터를 발생시킨다.The user input unit 230 accepts an input operation from a user and generates input data for controlling the operation of the user terminal 200.

센싱부(240)는 사용자 단말(200)의 위치, 사용자 접촉 유무, 사용자 단말(200)의 방위, 사용자 단말(200)의 가속/감속 등과 같이, 사용자 단말(200)의 현 상태를 감지하여 사용자 단말(200)의 동작을 제어하기 위한 센싱 신호를 발생시킨다. The sensing unit 240 detects the current state of the user terminal 200, such as the location of the user terminal 200, the presence or absence of user contact, the orientation of the user terminal 200, the acceleration/deceleration of the user terminal 200, and the like. A sensing signal for controlling the operation of the terminal 200 is generated.

인터페이스부(270)는 사용자 단말(200)에 연결되는 모든 외부기기와의 인터페이스 역할을 한다. 예를 들어, 유/무선 헤드셋 포트, 외부 충전기 포트, 유/무선 데이터 포트, 메모리 카드(memory card) 포트, 식별 모듈이 구비된 장치를 연결하는 포트, 오디오 I/O(Input/Output) 포트, 비디오 I/O(Input/Output) 포트, 이어폰 포트 등이 포함될 수 있다.The interface unit 270 serves as an interface with all external devices connected to the user terminal 200. For example, wired/wireless headset port, external charger port, wired/wireless data port, memory card port, port for connecting devices equipped with an identification module, audio input/output (I/O) port, A video input/output (I/O) port, an earphone port, and the like may be included.

출력부(250)는 오디오 신호 또는 비디오 신호 또는 알람(alarm) 신호의 출력을 위한 것으로, 이에는 디스플레이부(251)와 음향 출력 모듈(252), 알람부(253) 등이 포함될 수 있다.The output unit 250 is for outputting an audio signal, a video signal, or an alarm signal, and may include a display unit 251, an audio output module 252, an alarm unit 253, and the like.

디스플레이부(251)는 사용자 단말(200)에서 처리되는 정보를 표시 출력한다. 예를 들어, 단말기가 통화 모드인 경우, 통화와 관련된 UI(User Interface) 또는 GUI(Graphic User Interface)를 표시한다. 그리고, 사용자 단말(200)가 화상 통화 모드 또는 촬영 모드인 경우, 촬영 또는/및 수신된 영상 또는 UI, GUI를 표시한다.The display unit 251 displays and outputs information processed by the user terminal 200. For example, when the terminal is in a call mode, a UI (User Interface) or a GUI (Graphic User Interface) related to the call is displayed. Then, when the user terminal 200 is in a video call mode or a photographing mode, the photographed and/or received video or UI, GUI is displayed.

한편, 전술한 바와 같이, 디스플레이부(251)와 터치 패드가 상호 레이어 구조를 이루어 터치 스크린으로 구성되는 경우, 디스플레이부(251)는 출력 장치 이외에 입력 장치로도 사용될 수 있다. 디스플레이부(251)는 액정 디스플레이(liquid crystal display), 박막 트랜지스터 액정 디스플레이(thin film transistor-liquid crystal display), 유기 발광 다이오드(organic light-emitting diode), 플렉시블 디스플레이(flexible display), 3차원 디스플레이(3D display) 중에서 적어도 하나를 포함할 수 있다. 그리고, 사용자 단말(200)의 구현 형태에 따라, 디스플레이부(251)는 2개 이상 존재할 수도 있다. 예를 들어, 사용자 단말(200)에 외부 디스플레이부(미도시)와 내부 디스플레이부(미도시)가 동시에 구비될 수 있다.Meanwhile, as described above, when the display unit 251 and the touch pad are configured as a touch screen by forming a mutual layer structure, the display unit 251 may be used as an input device in addition to an output device. The display unit 251 includes a liquid crystal display, a thin film transistor-liquid crystal display, an organic light-emitting diode, a flexible display, and a three-dimensional display ( 3D display). And, depending on the implementation form of the user terminal 200, there may be two or more display units 251. For example, an external display unit (not shown) and an internal display unit (not shown) may be simultaneously provided to the user terminal 200.

음향 출력 모듈(252)은 호 신호 수신, 통화모드 또는 녹음 모드, 음성인식 모드, 방송수신 모드 등에서, 무선 통신부(210)로부터 수신되거나 메모리(260)에 저장된 오디오 데이터를 출력한다. 또한, 음향 출력 모듈(252)은 사용자 단말(200)에서 수행되는 기능(예를 들어, 호신호 수신음, 메시지 수신음 등)과 관련된 음향 신호를 출력한다. 이러한 음향 출력 모듈(252)에는 스피커(speaker), 버저(buzzer) 등이 포함될 수 있다.The audio output module 252 outputs audio data received from the wireless communication unit 210 or stored in the memory 260 in a call signal reception, a call mode or a recording mode, a voice recognition mode, a broadcast reception mode, or the like. In addition, the sound output module 252 outputs sound signals related to functions (for example, call signal reception sound, message reception sound, etc.) performed by the user terminal 200. The sound output module 252 may include a speaker, a buzzer, and the like.

알람부(253)는 사용자 단말(200)의 이벤트 발생을 알리기 위한 신호를 출력한다. 단말기에서 발생되는 이벤트의 예로는 호 신호 수신, 메시지 수신, 키 신호 입력 등이 있다. The alarm unit 253 outputs a signal for notifying the occurrence of an event in the user terminal 200. Examples of events generated in the terminal include call signal reception, message reception, and key signal input.

메모리(260)는 제어부(280)의 처리 및 제어를 위한 프로그램이 저장될 수도 있고, 입/출력되는 데이터들(예를 들어, 폰북, 메시지, 정지영상, 동영상 등)의 임시 저장을 위한 기능을 수행할 수도 있다.The memory 260 may store a program for processing and control of the control unit 280, and may provide a function for temporarily storing input/output data (eg, a phone book, a message, a still image, a video, etc.). You can also do

메모리(260)는 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 램(RAM, Random Access Memory) SRAM(Static Random Access Memory), 롬(ROM, Read-Only Memory), EEPROM(Electrically Erasable Programmable Read-Only Memory), PROM(Programmable Read-Only Memory) 자기 메모리, 자기 디스크, 광디스크 중 적어도 하나의 타입의 저장매체를 포함할 수 있다.The memory 260 is a flash memory type, hard disk type, multimedia card micro type, card type memory (for example, SD or XD memory, etc.), RAM (RAM, Random Access Memory) SRAM (Static Random Access Memory), ROM (ROM, Read-Only Memory), EEPROM (Electrically Erasable Programmable Read-Only Memory), PROM (Programmable Read-Only Memory) magnetic memory, magnetic disk, It may include at least one type of storage medium among optical discs.

그리고, 제어부(280)는 통상적으로 단말기의 전반적인 동작을 제어한다. 예를 들어, 음성 통화, 데이터 통신, 화상 통화 등을 위한 관련된 제어 및 처리를 수행한다. 또한, 제어부(280)는 멀티 미디어 재생을 위한 멀티미디어 모듈(281)을 구비할 수도 있다. 멀티미디어 모듈(281)은 제어부(280) 내에 구현될 수도 있고, 제어부(280)와 별도로 구현될 수도 있다.Then, the control unit 280 typically controls the overall operation of the terminal. For example, it performs related control and processing for voice calls, data communications, video calls, and the like. Also, the controller 280 may include a multimedia module 281 for multimedia playback. The multimedia module 281 may be implemented in the control unit 280, or may be implemented separately from the control unit 280.

그리고, 제어부(280)는 사용자가 예측 데이터(20)를 정정하기 위한 데이터인 피드백(30)을 생성하여, 예측 데이터 피드백 적용 장치(100)에 전송한다.Then, the control unit 280 generates feedback 30 which is data for the user to correct the prediction data 20 and transmits it to the prediction data feedback applying apparatus 100.

전원 공급부(290)는 제어부(280)의 제어에 의해 외부의 전원, 내부의 전원을 인가받아 각 구성요소들의 동작에 필요한 전원을 공급한다.The power supply unit 290 receives external power and internal power under the control of the controller 280 and supplies power required for the operation of each component.

여기에 설명되는 다양한 실시예는 예를 들어 소프트웨어, 하드웨어 또는 이들의 조합된 것을 이용하여, 컴퓨터로 읽을 수 있는 기록매체 내에서 구현될 수 있다.The various embodiments described herein can be implemented in a computer-readable recording medium, for example, using software, hardware, or a combination thereof.

하드웨어적인 구현에 의하면, 여기에 설명되는 실시예는 ASICs(application specific integrated circuits), DSPs(digital signal processors), DSPDs(digital signal processing devices), PLDs(programmable logic devices), FPGAs(field programmable gate arrays), 프로세서(processors), 제어기(controllers), 마이크로 컨트롤러(micro-controllers), 마이크로 프로세서(microprocessors), 기능 수행을 위한 전기적인 유닛 중 적어도 하나를 이용하여 구현될 수 있다. 일부의 경우에 그러한 실시 예들이 제어부(280)에 의해 구현될 수 있다.According to a hardware implementation, the embodiments described herein include application specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field programmable gate arrays (FPGAs) , It can be implemented using at least one of processors, controllers, micro-controllers, microprocessors, and electrical units for performing functions. In some cases, such embodiments may be implemented by the control unit 280.

소프트웨어적인 구현에 의하면, 절차나 기능과 같은 실시 예들은 적어도 하나의 기능 또는 작동을 수행하게 하는 별개의 소프트웨어 모듈과 함께 구현될 수 있다. 소프트웨어 코드는 적절한 프로그램 언어로 쓰여진 소프트웨어 어플리케이션에 의해 구현될 수 있다. 또한, 소프트웨어 코드는 메모리(260)에 저장되고, 제어부(280)에 의해 실행될 수 있다.According to a software implementation, embodiments such as procedures or functions may be implemented together with separate software modules that perform at least one function or operation. The software code can be implemented by software applications written in the appropriate programming language. Also, the software code is stored in the memory 260 and can be executed by the control unit 280.

이상에서 설명된 실시예들은 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치, 방법 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, 중앙 처리 장치(Central Processing Unit; CPU), 그래픽 프로세싱 유닛(Graphics Processing Unit; GPU), ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 주문형 집적 회로(Application Specific Integrated Circuits; ASICS), 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. The embodiments described above may be implemented with hardware components, software components, and/or combinations of hardware components and software components. For example, the apparatus, method, and components described in the embodiments may include, for example, a processor, a controller, a central processing unit (CPU), a graphics processing unit (GPU), an ALU ( arithmetic logic unit, digital signal processor, microcomputer, field programmable gate array (FPGA), programmable logic unit (PLU), microprocessor, application specific integrated circuits (ASICS), or instructions ( instructions), and any other device capable of executing and responding, may be implemented using one or more general purpose computers or special purpose computers.

실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The method according to the embodiment may be implemented in the form of program instructions that can be executed through various computer means and recorded on a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, or the like alone or in combination. The program instructions recorded on the medium may be specially designed and configured for the embodiment or may be known and usable by those skilled in computer software. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tapes, optical media such as CD-ROMs, DVDs, and magnetic media such as floptical disks. -Hardware devices specially configured to store and execute program instructions such as magneto-optical media, and ROM, RAM, flash memory, and the like. Examples of program instructions include high-level language code that can be executed by a computer using an interpreter, etc., as well as machine language codes made by a compiler. The hardware device described above may be configured to operate as one or more software modules to perform the operations of the embodiments, and vice versa.

이상과 같이 비록 한정된 도면에 의해 실시예들이 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다. 그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.Although the embodiments have been described by the limited drawings as described above, a person skilled in the art can make various modifications and variations from the above description. For example, the described techniques are performed in a different order than the described method, and/or the components of the described system, structure, device, circuit, etc. are combined or combined in a different form from the described method, or other components Alternatively, even if replaced or substituted by equivalents, appropriate results can be achieved. Therefore, other implementations, other embodiments, and equivalents to the claims are also within the scope of the following claims.

Claims (12)

예측 데이터 피드백 적용 장치에서 수행되는 머신 러닝의 예측 데이터에 피드백을 적용하는 방법으로,
상기 예측 데이터의 이벤트를 유사도에 따라 복수의 군집으로 분류하고, 상기 군집에 포함된 이벤트의 데이터를 군집 데이터로 생성하는 동작;
상기 복수의 군집의 신뢰도 점수를 계산하는 동작; 및
상기 신뢰도 점수를 이용하여, 높은 신뢰도 점수를 가진 군집 순서대로 상기 복수의 군집의 피드백 적용 우선 순위를 결정하는 동작;
상기 군집에 적용할 피드백을 결정하기 위한 상기 군집의 대표 이벤트를 결정하는 동작;
Novelty Detection 알고리즘을 이용하여, 상기 군집 내 이벤트를 상기 피드백을 적용할 적용 이벤트와 상기 피드백을 적용하지 않을 비적용 이벤트로 분류하는 동작;
사용자로부터 상기 대표 이벤트에 대한 상기 피드백을 입력받는 동작; 및
상기 복수의 군집의 피드백 우선 순위에 따라 상기 피드백을 적용할 군집의 순서를 결정하고, 군집 데이터 중 상기 적용 이벤트에 해당하는 데이터에 상기 피드백을 적용하는 동작을 포함하는
예측 데이터 피드백 적용 방법.
A method of applying feedback to prediction data of machine learning performed by a prediction data feedback applying device,
Classifying the events of the prediction data into a plurality of clusters according to similarity, and generating data of the events included in the clusters as cluster data;
Calculating a reliability score of the plurality of clusters; And
Determining a priority of applying the feedback of the plurality of clusters in the order of clusters having a high reliability score using the reliability score;
Determining a representative event of the cluster to determine feedback to be applied to the cluster;
Classifying an event in the cluster into an applied event to which the feedback is applied and a non-applied event to which the feedback is not applied, using a Novelty Detection algorithm;
Receiving the feedback for the representative event from a user; And
And determining an order of clusters to apply the feedback according to the feedback priority of the plurality of clusters, and applying the feedback to data corresponding to the application event among cluster data.
How to apply predictive data feedback.
삭제delete 제 1 항에 있어서,
상기 신뢰도 점수 계산 동작은
상기 군집 내 이벤트의 거리 정보 및 신뢰도를 이용하여 계산하는
예측 데이터 피드백 적용 방법.
According to claim 1,
The reliability score calculation operation
Calculated using the distance information and reliability of the event in the cluster
How to apply predictive data feedback.
제 1 항에 있어서,
상기 대표 이벤트 결정 동작은
상기 군집 내 이벤트의 데이터 평균 값과 학습 데이터를 이용하여, 상기 군집의 대표 이벤트를 결정하는
예측 데이터 피드백 적용 방법.
According to claim 1,
The representative event determination operation
Determining a representative event of the cluster by using the data average value and learning data of the event in the cluster
How to apply predictive data feedback.
제 4 항에 있어서,
상기 대표 이벤트 결정 동작은
상기 군집 내 이벤트의 데이터 평균 값과 학습 데이터의 코사인 유사도(Cosine Similarity)를 이용하여, 상기 군집의 대표 이벤트를 결정하는
예측 데이터 피드백 적용 방법.
The method of claim 4,
The representative event determination operation
Determining a representative event of the cluster by using the data mean value of the event in the cluster and cosine similarity of the training data
How to apply predictive data feedback.
삭제delete 예측 데이터의 이벤트를 유사도에 따라 복수의 군집으로 분류하고, 상기 군집에 포함된 이벤트의 데이터를 군집 데이터로 생성하는 군집 데이터 생성부;
상기 복수의 군집의 신뢰도 점수를 계산하고, 상기 신뢰도 점수를 이용하여, 높은 신뢰도 점수를 가진 군집 순서대로 상기 군집의 피드백 적용 우선 순위를 결정하도록 구성된 우선 순위 결정부;
상기 군집에 적용할 피드백을 결정하기 위한 상기 군집의 대표 이벤트를 결정하도록 구성된 대표 이벤트 결정부;
Novelty Detection 알고리즘을 이용하여, 상기 군집 내 이벤트를 상기 피드백을 적용할 적용 이벤트와 상기 피드백을 적용하지 않을 비적용 이벤트로 분류하도록 구성된 적용 이벤트 결정부;
사용자로부터 상기 대표 이벤트에 대한 상기 피드백을 입력받는 사용자 인터페이스부; 및
상기 복수의 군집의 피드백 우선 순위에 따라 상기 피드백을 적용할 군집의 순서를 결정하고, 군집 데이터 중 상기 적용 이벤트에 해당하는 데이터에 상기 피드백을 적용하도록 구성된 피드백 적용부를 포함하는
예측 데이터 피드백 적용 장치.
A cluster data generator configured to classify events of prediction data into a plurality of clusters according to similarity, and to generate data of events included in the clusters as cluster data;
A priority determining unit configured to calculate the reliability scores of the plurality of clusters, and to determine the priority of applying the feedback of the clusters in the order of the clusters having the high reliability scores, using the reliability scores;
A representative event determination unit configured to determine a representative event of the cluster for determining feedback to be applied to the cluster;
An application event determination unit configured to classify the events in the cluster into an application event to which the feedback is applied and a non-application event to which the feedback is not applied, using a novel detection algorithm;
A user interface unit that receives the feedback for the representative event from a user; And
And a feedback application unit configured to determine an order of clusters to apply the feedback according to the feedback priority of the plurality of clusters and to apply the feedback to data corresponding to the application event among the cluster data.
Apparatus for applying predictive data feedback.
삭제delete 제 7 항에 있어서,
상기 우선 순위 결정부는
상기 군집 내 이벤트의 거리 정보 및 신뢰도를 이용하여 계산하도록 구성된
예측 데이터 피드백 적용 장치.
The method of claim 7,
The priority determining unit
Configured to calculate using distance information and reliability of the events in the cluster
Apparatus for applying predictive data feedback.
제 7 항에 있어서,
상기 대표 이벤트 결정부는
상기 군집 내 이벤트의 데이터 평균 값과 학습 데이터를 이용하여, 상기 군집의 대표 이벤트를 결정하도록 구성된
예측 데이터 피드백 적용 장치.
The method of claim 7,
The representative event decision unit
Configured to determine a representative event of the cluster by using the data average value and learning data of the event in the cluster
Apparatus for applying predictive data feedback.
제 10 항에 있어서,
상기 대표 이벤트 결정부는
상기 군집 내 이벤트의 데이터 평균 값과 학습 데이터의 코사인 유사도(Cosine Similarity)를 이용하여, 상기 군집의 대표 이벤트를 결정하도록 구성된
예측 데이터 피드백 적용 장치.
The method of claim 10,
The representative event decision unit
It is configured to determine the representative event of the cluster by using the data mean value of the event in the cluster and the cosine similarity of the training data.
Apparatus for applying predictive data feedback.
삭제delete
KR1020200010559A 2020-01-29 2020-01-29 Method for applying feedback to prediction data of machine learning and system thereof Active KR102131353B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200010559A KR102131353B1 (en) 2020-01-29 2020-01-29 Method for applying feedback to prediction data of machine learning and system thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200010559A KR102131353B1 (en) 2020-01-29 2020-01-29 Method for applying feedback to prediction data of machine learning and system thereof

Publications (1)

Publication Number Publication Date
KR102131353B1 true KR102131353B1 (en) 2020-07-07

Family

ID=71602730

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200010559A Active KR102131353B1 (en) 2020-01-29 2020-01-29 Method for applying feedback to prediction data of machine learning and system thereof

Country Status (1)

Country Link
KR (1) KR102131353B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102420239B1 (en) * 2022-03-07 2022-07-13 주식회사 이글루코퍼레이션 Apparatus and method for improving model performance based on artificial intelligence in security management system

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010231768A (en) * 2009-03-27 2010-10-14 Mitsubishi Electric Research Laboratories Inc How to train a multi-class classifier
JP2011150541A (en) * 2010-01-21 2011-08-04 Sony Corp Learning apparatus, learning method and program
JP5187635B2 (en) * 2006-12-11 2013-04-24 日本電気株式会社 Active learning system, active learning method, and active learning program
JP2017167834A (en) * 2016-03-16 2017-09-21 セコム株式会社 Learning data selection device

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5187635B2 (en) * 2006-12-11 2013-04-24 日本電気株式会社 Active learning system, active learning method, and active learning program
JP2010231768A (en) * 2009-03-27 2010-10-14 Mitsubishi Electric Research Laboratories Inc How to train a multi-class classifier
JP2011150541A (en) * 2010-01-21 2011-08-04 Sony Corp Learning apparatus, learning method and program
JP2017167834A (en) * 2016-03-16 2017-09-21 セコム株式会社 Learning data selection device

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102420239B1 (en) * 2022-03-07 2022-07-13 주식회사 이글루코퍼레이션 Apparatus and method for improving model performance based on artificial intelligence in security management system
KR20230131752A (en) * 2022-03-07 2023-09-14 주식회사 이글루코퍼레이션 Apparatus and method for improving model performance based on artificial intelligence in security management system
KR102810993B1 (en) 2022-03-07 2025-05-22 주식회사 이글루코퍼레이션 Method for training a model for providding security control services based on artificial intelligence

Similar Documents

Publication Publication Date Title
US11288514B2 (en) Video processing method and device, and storage medium
US11798278B2 (en) Method, apparatus, and storage medium for classifying multimedia resource
US20210209392A1 (en) Image Processing Method and Device, and Storage Medium
CN109189950B (en) Multimedia resource classification method and device, computer equipment and storage medium
CN111933112B (en) Awakening voice determination method, device, equipment and medium
CN108595634B (en) Short message management method and device and electronic equipment
CN108874967A (en) Dialogue state determines method and device, conversational system, terminal, storage medium
KR102110480B1 (en) Method for detecting anomaly based on unsupervised learning and system thereof
CN111104980B (en) Method, device, equipment and storage medium for determining classification result
CN113515942A (en) Text processing method, device, computer equipment and storage medium
CN111950255B (en) Poem generation method, device, equipment and storage medium
CN113486957A (en) Neural network training and image processing method and device
US20210004702A1 (en) System and method for generating information for interaction with a user
KR102131353B1 (en) Method for applying feedback to prediction data of machine learning and system thereof
WO2023066373A1 (en) Sample image determination method and apparatus, device, and storage medium
KR102175143B1 (en) Method for generating response instruction based on machine learning and system thereof
CN112115740B (en) Method and apparatus for processing image
CN113823266A (en) Keyword detection method, device, equipment and storage medium
CN113705292A (en) Time sequence action detection method and device, computer equipment and storage medium
CN114118408B (en) Image processing model training method, image processing method, device and equipment
WO2023236908A1 (en) Image description method, electronic device and computer-readable storage medium
CN113838479B (en) Word pronunciation evaluation method, server and system
KR102131347B1 (en) Method for generating learning data of machine learning and system thereof
CN114332902A (en) Video character recognition method, device, equipment and storage medium
CN114299322A (en) Training method of image classification model, image classification method, device and equipment

Legal Events

Date Code Title Description
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20200129

PA0201 Request for examination
PA0302 Request for accelerated examination

Patent event date: 20200212

Patent event code: PA03022R01D

Comment text: Request for Accelerated Examination

Patent event date: 20200129

Patent event code: PA03021R01I

Comment text: Patent Application

E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20200508

Patent event code: PE09021S01D

E701 Decision to grant or registration of patent right
GRNT Written decision to grant
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20200701

PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20200701

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20200701

End annual number: 3

Start annual number: 1

PG1601 Publication of registration
PR1001 Payment of annual fee

Payment date: 20240317

Start annual number: 5

End annual number: 5