KR102334268B1 - A system for predicting user drop out rate based on artificial intelligence learning and method thereof - Google Patents

A system for predicting user drop out rate based on artificial intelligence learning and method thereof Download PDF

Info

Publication number
KR102334268B1
KR102334268B1 KR1020200069381A KR20200069381A KR102334268B1 KR 102334268 B1 KR102334268 B1 KR 102334268B1 KR 1020200069381 A KR1020200069381 A KR 1020200069381A KR 20200069381 A KR20200069381 A KR 20200069381A KR 102334268 B1 KR102334268 B1 KR 102334268B1
Authority
KR
South Korea
Prior art keywords
information
user
learning
attention
prediction system
Prior art date
Application number
KR1020200069381A
Other languages
Korean (ko)
Other versions
KR20210105793A (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 (주)뤼이드
Publication of KR20210105793A publication Critical patent/KR20210105793A/en
Priority to KR1020210167171A priority Critical patent/KR20210153008A/en
Application granted granted Critical
Publication of KR102334268B1 publication Critical patent/KR102334268B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • G06N3/0454
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • G06Q50/20Education

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • Tourism & Hospitality (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Molecular Biology (AREA)
  • General Engineering & Computer Science (AREA)
  • Biophysics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Biomedical Technology (AREA)
  • Computational Linguistics (AREA)
  • Evolutionary Computation (AREA)
  • Educational Administration (AREA)
  • Educational Technology (AREA)
  • Economics (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

본 발명은 보다 향상된 정확성을 가지는 사용자 지식 추적 방법에 관한 발명으로, 복수의 인코더 신경망과 복수의 디코더 신경망을 포함하는 사용자 이탈율 예측 시스템의 동작 방법에 있어서, 제k 인코더 신경망에 문제 정보를 입력하고, 제k 디코더 신경망에 응답 정보를 입력하는 단계, 상기 응답 정보에 가중치를 반영하여 사용자가 정답 확률을 예측하고자 하는 문제에 대한 정보인 쿼리 데이터를 생성하고, 상기 문제 정보에 가중치를 반영하여 상기 쿼리 데이터에 대한 가중치로 사용될 어텐션 정보를 생성하는 단계 및 상기 어텐션 정보를 상기 쿼리 데이터에 대한 가중치로 사용하여 상기 사용자 이탈율 예측 시스템을 학습하는 단계를 포함한다.The present invention relates to a user knowledge tracking method with improved accuracy. In the method of operating a user churn rate prediction system including a plurality of encoder neural networks and a plurality of decoder neural networks, problem information is input to the kth encoder neural network, and , inputting response information into the kth decoder neural network, generating query data that is information about a problem for which a user wants to predict the probability of correct answer by reflecting a weight in the response information, and reflecting the weight in the problem information to make the query generating attention information to be used as a weight for data; and learning the user churn rate prediction system by using the attention information as a weight for the query data.

Description

인공 지능 학습 기반의 사용자 이탈율 예측 시스템 및 그것의 동작 방법{A SYSTEM FOR PREDICTING USER DROP OUT RATE BASED ON ARTIFICIAL INTELLIGENCE LEARNING AND METHOD THEREOF}A SYSTEM FOR PREDICTING USER DROP OUT RATE BASED ON ARTIFICIAL INTELLIGENCE LEARNING AND METHOD THEREOF

본 발명은 인공 지능 학습을 기반으로 사용자의 이탈율을 예측하기 위한 시스템 및 그것의 동작 방법에 관한 것이다. 구체적으로, 트랜스포머 구조의 인코더 신경망에 문제 정보를, 디코더 신경망에 응답 정보를 입력하여 사용자의 이탈율을 예측하기 위한 사용자 이탈율 예측 시스템에 관한 발명이다.The present invention relates to a system for predicting a user's churn rate based on artificial intelligence learning and an operating method thereof. Specifically, it is an invention related to a user churn rate prediction system for predicting a user churn rate by inputting problem information to an encoder neural network of a transformer structure and response information to a decoder neural network.

최근 인터넷과 전자장치의 활용이 각 분야에서 활발히 이루어지며 교육 환경 역시 빠르게 변화하고 있다. 특히, 다양한 교육 매체의 발달로 학습자는 보다 폭넓은 학습 방법을 선택하고 이용할 수 있게 되었다. 그 중에서도 인터넷을 통한 교육 서비스는 시간적, 공간적 제약을 극복하고 저비용의 교육이 가능하다는 이점 때문에 주요한 교수 학습 수단으로 자리매김하게 되었다.Recently, the use of the Internet and electronic devices has been actively carried out in each field, and the educational environment is also changing rapidly. In particular, with the development of various educational media, learners can choose and use a wider range of learning methods. Among them, the education service through the Internet has been positioned as a major teaching and learning method because of the advantage of overcoming time and spatial constraints and enabling low-cost education.

이러한 온라인 교육 서비스는 다양한 모델의 인공지능과 접목하여 기존에 오프라인 교육 환경에서는 불가능했던 임의의 문제에 대한 사용자의 정답 확률을 예측하여 보다 효율적인 학습 컨텐츠를 제공할 수 있게 되었다. 그러나 모바일 환경의 사용자는 학습 도중 온라인 학습환경에서 이탈을 야기하는 다양한 요인에 더욱 취약하게 노출되어 있기 때문에 온라인 환경에서의 이탈은 오프라인 환경에서의 이탈보다 더 빈번하게 발생될 수 있다. 예를 들어, 전화가 오거나, 문자를 수신하거나, 페이스북, 인스타그램과 같은 SNS 알림을 수신하거나, 그 외에 각종 알림을 수신할 때마다 사용자는 이들 정보를 확인하기 위해 학습 프로그램에서 이탈하게 되고, 이는 결국 학습 효율을 떨어뜨리는 결과를 야기한다. 오프라인 환경에서 사용자 이탈을 막기위한 방법들은 꾸준하게 연구되었으나 이처럼 온라인 환경에서의 학습 도중 이탈에 대한 연구는 아직 진행되지 않고 있다.By combining this online education service with artificial intelligence of various models, it is possible to provide more efficient learning contents by predicting the probability of a user's correct answer to a random problem that was previously impossible in an offline education environment. However, since users in the mobile environment are more vulnerable to various factors that cause departure from the online learning environment during learning, the departure from the online environment may occur more frequently than the departure from the offline environment. For example, whenever a call comes in, a text message is received, a SNS notification such as Facebook or Instagram is received, or other various notifications are received, the user leaves the learning program to check these information. , which in turn leads to a decrease in learning efficiency. Methods to prevent user churn in the offline environment have been continuously studied, but research on churn during learning in the online environment has not been conducted yet.

최근 다양한 인공지능 모델 중 트랜스포머 모델은 RNN을 쓰지 않고 어텐션만을 사용하여 인코더-디코더 구조를 만듦으로써 학습 속도가 무척 빠르고 성능 또한 RNN보다 우수하다는 장점이 있어 온라인 교육 분야에 적용되기 시작하였다. Recently, among various artificial intelligence models, the transformer model does not use RNN and uses only attention to create an encoder-decoder structure. It has the advantage of fast learning speed and superior performance than RNN, so it has been applied to the field of online education.

트랜스포머 모델을 이용하여 온라인 학습 환경에서 사용자가 도중에 이탈할 확률을 예측할 수 있는데, 트랜스포머 모델의 인코더와 디코더에 각각 입력되는 데이터를 어떻게 구성해야 온라인 학습환경에서 사용자 이탈율 예측에 최적화된 추론 결과를 얻을 수 있는지, 학습 컨텐츠 특성상 사용자가 아직 풀지 않은 문제를 기초로 이탈율이 예측되는 것을 방지하기 위해 어떤 방법을 사용할 수 있는지 등 트랜스포머 모델을 사용하여 보다 효과적으로 이탈율을 예측하기 위한 방법이 요구된다.Using the transformer model, it is possible to predict the probability that the user will deviate from the online learning environment. How to configure the data input to the encoder and decoder of the transformer model to obtain inference results optimized for predicting the user churn rate in the online learning environment A method for more effectively predicting the churn rate using the transformer model is required, such as whether it can be possible or what method can be used to prevent the churn rate from being predicted based on the problem that the user has not yet solved due to the nature of the learning content.

본 발명은 전술한 문제를 해결하기 위한 발명으로, 이탈율 예측에 최적화화된 트랜스포머 구조 기반의 인공지능 모델과 입력 데이터의 포맷을 제안하고, 이를 통해, 모바일 환경에서 학습하는 사용자의 이탈율을 보다 높은 정확도로 예측할 수 있는 효과가 있다.The present invention is an invention to solve the above-mentioned problem, and proposes a transformer structure-based artificial intelligence model and input data format optimized for churn rate prediction. It has the effect of predicting with high accuracy.

본 발명은 보다 향상된 정확성을 가지는 사용자 지식 추적 방법에 관한 발명으로, 복수의 인코더 신경망과 복수의 디코더 신경망을 포함하는 사용자 이탈율 예측 시스템의 동작 방법에 있어서, 제k 인코더 신경망에 문제 정보를 입력하고, 제k 디코더 신경망에 응답 정보를 입력하는 단계, 상기 응답 정보에 가중치를 반영하여 사용자가 정답 확률을 예측하고자 하는 문제에 대한 정보인 쿼리 데이터를 생성하고, 상기 문제 정보에 가중치를 반영하여 상기 쿼리 데이터에 대한 가중치로 사용될 어텐션 정보를 생성하는 단계 및 상기 어텐션 정보를 상기 쿼리 데이터에 대한 가중치로 사용하여 상기 사용자 이탈율 예측 시스템을 학습하는 단계를 포함한다.The present invention relates to a user knowledge tracking method with improved accuracy. In the method of operating a user churn rate prediction system including a plurality of encoder neural networks and a plurality of decoder neural networks, problem information is input to the kth encoder neural network, and , inputting response information into the kth decoder neural network, generating query data that is information about a problem for which a user wants to predict the probability of correct answer by reflecting a weight in the response information, and reflecting the weight in the problem information to make the query generating attention information to be used as a weight for data; and learning the user churn rate prediction system by using the attention information as a weight for the query data.

본 발명의 실시 예에 따른 인공지능 학습 기반의 사용자 이탈율 예측 시스템 및 그것의 동작 방법은, 이탈율 예측에 최적화화된 트랜스포머 구조 기반의 인공지능 모델과 입력 데이터의 포맷을 제안하고, 이를 통해, 모바일 환경에서 학습하는 사용자의 이탈율을 보다 높은 정확도로 예측할 수 있는 효과가 있다.An artificial intelligence learning-based user churn rate prediction system and an operating method thereof according to an embodiment of the present invention propose a transformer structure-based artificial intelligence model and input data format optimized for churn rate prediction, and through this, There is an effect of predicting the bounce rate of users learning in a mobile environment with higher accuracy.

도 1은 본 발명의 실시 예에 따른 사용자 이탈율 예측 시스템을 설명하기 위한 도면이다.
도 2는 도 1의 사용자 이탈율 예측 시스템의 동작을 상세하게 설명하기 위한 도면이다.
도 3은 본 발명의 실시 예에 따른 이탈(drop out)을 설명하기 위한 도면이다.
도 4는 키-쿼리 마스킹(key-query masking)과 상부 삼각 마스킹(upper triangular masking)을 설명하기 위한 도면이다.
도 5는 입력 데이터의 구성을 설명하기 위한 도면이다.
도 6은 본 발명의 실시 예에 따른 사용자 이탈율 예측 시스템의 AUC를 설명하기 위한 표이다.
도 7은 입력 데이터의 시퀀스 크기(sequence size)에 따른 사용자 이탈율 예측 시스템의 AUC를 설명하기 위한 그래프이다.
도 8은 입력 데이터의 포맷에 따른 사용자 이탈율 예측 시스템의 AUC를 설명하기 위한 그래프이다.
도 9는 본 발명의 실시 예에 따른, 사용자 이탈율 예측 시스템의 동작을 설명하기 위한 순서도이다.
도 10은 본 발명의 실시 예에 따른, 문제 정보 처리부 또는 응답 정보 처리부의 동작을 상세하게 설명하기 위한 순서도이다.
1 is a diagram for explaining a user churn rate prediction system according to an embodiment of the present invention.
FIG. 2 is a diagram for explaining in detail the operation of the user churn rate prediction system of FIG. 1 .
3 is a view for explaining drop out according to an embodiment of the present invention.
4 is a diagram for explaining key-query masking and upper triangular masking.
5 is a diagram for explaining the configuration of input data.
6 is a table for explaining the AUC of the user churn rate prediction system according to an embodiment of the present invention.
7 is a graph for explaining AUC of a user churn rate prediction system according to a sequence size of input data.
8 is a graph for explaining the AUC of the user churn rate prediction system according to the format of the input data.
9 is a flowchart illustrating an operation of a system for predicting a user churn rate according to an embodiment of the present invention.
10 is a flowchart for explaining in detail the operation of the problem information processing unit or the response information processing unit according to an embodiment of the present invention.

본 명세서 또는 출원에 개시되어 있는 본 발명의 개념에 따른 실시 예들에 대해서 특정한 구조적 내지 단계적 설명들은 단지 본 발명의 개념에 따른 실시 예를 설명하기 위한 목적으로 예시된 것으로, 본 발명의 개념에 따른 실시 예들은 다양한 형태로 실시될 수 있으며 본 발명의 개념에 따른 실시 예들은 다양한 형태로 실시될 수 있으며 본 명세서 또는 출원에 설명된 실시 예들에 한정되는 것으로 해석되어서는 아니 된다.Specific structural or step-by-step descriptions for the embodiments according to the concept of the present invention disclosed in this specification or application are only exemplified for the purpose of explaining the embodiments according to the concept of the present invention, and implementation according to the concept of the present invention Examples may be implemented in various forms, and embodiments according to the concept of the present invention may be implemented in various forms and should not be construed as being limited to the embodiments described in the present specification or application.

본 발명의 개념에 따른 실시 예는 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있으므로 특정 실시 예들을 도면에 예시하고 본 명세서 또는 출원에 상세하게 설명하고자 한다. 그러나, 이는 본 발명의 개념에 따른 실시 예를 특정한 개시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.Since the embodiment according to the concept of the present invention may have various changes and may have various forms, specific embodiments will be illustrated in the drawings and described in detail in the present specification or application. However, this is not intended to limit the embodiment according to the concept of the present invention with respect to a specific disclosed form, and should be understood to include all changes, equivalents or substitutes included in the spirit and scope of the present invention.

제1 및/또는 제2 등의 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만, 예컨대 본 발명의 개념에 따른 권리 범위로부터 이탈되지 않은 채, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.Terms such as first and/or second may be used to describe various elements, but the elements should not be limited by the terms. The above terms are used only for the purpose of distinguishing one element from another element, for example, without departing from the scope of the present invention, a first element may be called a second element, and similarly The second component may also be referred to as the first component.

어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.When a component is referred to as being “connected” or “connected” to another component, it is understood that the other component may be directly connected or connected to the other component, but other components may exist in between. it should be On the other hand, when it is said that a certain element is "directly connected" or "directly connected" to another element, it should be understood that no other element is present in the middle. Other expressions describing the relationship between elements, such as "between" and "immediately between" or "neighboring to" and "directly adjacent to", should be interpreted similarly.

본 명세서에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 서술된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terms used herein are used only to describe specific embodiments, and are not intended to limit the present invention. The singular expression includes the plural expression unless the context clearly dictates otherwise. In this specification, terms such as “comprise” or “have” are intended to designate that the stated feature, number, step, operation, component, part, or combination thereof exists, and includes one or more other features or numbers. , it is to be understood that it does not preclude the possibility of the existence or addition of steps, operations, components, parts, or combinations thereof.

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

실시 예를 설명함에 있어서 본 발명이 속하는 기술 분야에 익히 알려져 있고 본 발명과 직접적으로 관련이 없는 기술 내용에 대해서는 설명을 생략한다. 이는 불필요한 설명을 생략함으로써 본 발명의 요지를 흐리지 않고 더욱 명확히 전달하기 위함이다.In describing the embodiments, descriptions of technical contents that are well known in the technical field to which the present invention pertains and are not directly related to the present invention will be omitted. This is to more clearly convey the gist of the present invention without obscuring the gist of the present invention by omitting unnecessary description.

이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시 예를 설명함으로써, 본 발명을 상세히 설명한다. 이하, 본 발명의 실시 예를 첨부된 도면을 참조하여 상세하게 설명한다.Hereinafter, the present invention will be described in detail by describing preferred embodiments of the present invention with reference to the accompanying drawings. Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명의 실시 예에 따른 사용자 이탈율 예측 시스템을 설명하기 위한 도면이다.1 is a diagram for explaining a user churn rate prediction system according to an embodiment of the present invention.

도 1을 참조하면, 사용자 이탈율 예측 시스템(5)은 임베딩 수행부(10, 30), 인코더 신경망(20) 및 디코더 신경망(40)을 포함할 수 있다.Referring to FIG. 1 , the user churn rate prediction system 5 may include embedding performers 10 and 30 , an encoder neural network 20 , and a decoder neural network 40 .

트랜스포머(Transformer) 모델은 기존의 seq2seq의 구조인 인코더-디코더를 따르면서도, 어텐션(Attention)만으로 구현한 모델이다. 트랜스포머 모델은 RNN을 사용하지 않지만 기존의 seq2seq처럼 인코더에서 입력 시퀀스를 입력받고, 디코더에서 출력 시퀀스를 출력하는 인코더-디코더 구조를 유지하며, 인코더와 디코더의 단위가 N개씩 존재할 수 있다는 특징이 있다.The Transformer model follows the encoder-decoder, which is the structure of the existing seq2seq, and is implemented only with attention. Although the transformer model does not use RNN, it maintains an encoder-decoder structure that receives an input sequence from an encoder and outputs an output sequence from a decoder like the existing seq2seq, and has the characteristics that N units of encoder and decoder can exist.

어텐션 메커니즘은 RNN에 기반한 seq2seq의 문제점으로 지적받던 하나의 고정된 크기의 벡터에 모든 정보를 압축하는 데서 오는 정보 손실과, 기울기 소실(Vanishing Gradient) 문제를 해결하기 위해 제안되었다.The attention mechanism was proposed to solve the problem of vanishing gradient and information loss that comes from compressing all information into one fixed-size vector, which has been pointed out as a problem of seq2seq based on RNN.

어텐션 메커니즘에 따르면, 디코더에서 출력 단어를 예측하는 매 시점(time step)마다, 인코더에서의 전체 입력 데이터를 다시 한번 참고한다. 단, 전체 입력 데이터를 전부 다 동일한 비율로 참고하는 것이 아니라, 해당 시점에서 예측해야 할 데이터와 연관이 있는 입력 데이터 부분을 좀 더 집중(attention)하게 된다.According to the attention mechanism, at every time step that the decoder predicts the output word, the entire input data from the encoder is consulted once again. However, rather than referencing all the input data at the same rate, attention is focused on the part of the input data that is related to the data to be predicted at that time.

다시 도 1을 참조하면, 본 발명의 실시 예에 따른 사용자 이탈율 예측 시스템(5)은, 모바일 환경에서 학습 중인 사용자가 학습 프로그램을 종료할지에 대한 확률(이탈율)을 예측할 수 있다. 이러한 이탈율에 대한 정보는 이탈율 정보일 수 있다.Referring back to FIG. 1 , the user churn rate prediction system 5 according to an embodiment of the present invention may predict the probability (the churn rate) of whether a user who is learning in a mobile environment will terminate the learning program. The information on the bounce rate may be bounce rate information.

이탈율 정보는 시간을 기초로 생성될 수 있다. 이탈율 정보는 학습 중인 매시간마다 서로 다른 값으로 업데이트될 수 있다.Bounce rate information may be generated based on time. Bounce rate information may be updated with a different value every hour during learning.

나아가, 이탈율 정보는 문제의 난이도와 같은 문제 자체의 특성 뿐만 아니라, 현재까지 풀이한 문제들의 정답률, 평균 문제풀이 시간, 평소의 학습 시간 등 사용자의 학습 특성을 기초로 생성될 수도 있다.Furthermore, the dropout rate information may be generated based on the user's learning characteristics, such as the correct answer rate of the problems solved so far, the average problem solving time, and the usual learning time, as well as the characteristics of the problem itself, such as the difficulty of the problem.

모바일 환경의 사용자는 이탈을 야기하는 다양한 요인에 더욱 취약하게 노출되어 있기 때문에 온라인 환경에서의 이탈은 오프라인 환경에서의 이탈보다 더 빈번하게 발생될 수 있다. Since users in the mobile environment are more vulnerable to various factors that cause churn, churn in the online environment may occur more frequently than churn in the offline environment.

예를 들어, 전화가 오거나, 문자를 수신하거나, 페이스북, 인스타그램과 같은 SNS 알림을 수신하거나, 그 외에 각종 알림을 수신할 때마다 사용자는 이들 정보를 확인하기 위해 학습 프로그램에서 이탈하게 되고, 이는 결국 학습 효율을 떨어뜨리는 결과를 야기할 수 있다.For example, whenever a call comes in, a text message is received, a SNS notification such as Facebook or Instagram is received, or other various notifications are received, the user leaves the learning program to check these information. , which may eventually lead to a decrease in learning efficiency.

기존에 오프라인에서의 학습 이탈을 막고 학생의 집중력을 높이기 위한 다양한 방법들이 고안되었으나, 이 방법들은 오프라인 환경에 국한되어 온라인 환경에서 그대로 적용되기 어려운 문제가 있기 때문에 온라인 환경에서 사용자 개개인의 특성을 반영하여 이탈율을 예측하고 집중력을 높일 수 있는 방안이 필요하게 되었다.In the past, various methods have been devised to prevent departure from offline learning and increase student concentration. However, these methods are limited to the offline environment and are difficult to apply in the online environment. There was a need for a method to predict the dropout rate and increase concentration.

본 발명의 실시 예에 따른 사용자 이탈율 예측 시스템(5)은, 온라인 학습환경에 최적화된 트랜스포머 구조를 기반으로 이탈율을 예측하고, 입력 데이터를 이탈율 예측에 최적화된 포맷을 사용함으로써, 보다 향상된 정확도로 이탈율을 예측할 수 있다.The user churn rate prediction system 5 according to an embodiment of the present invention predicts the churn rate based on the transformer structure optimized for the online learning environment, and uses the format optimized for predicting the churn rate for input data. You can predict the churn rate with accuracy.

다시 도 1을 참조하면, 임베딩 수행부(10, 30)는 입력 데이터에 대해 임베딩을 수행할 수 있다. 본 발명의 실시 예에서, 입력 데이터는 문제 정보, 응답 정보를 포함할 수 있다.Referring back to FIG. 1 , the embedding performing units 10 and 30 may perform embedding on input data. In an embodiment of the present invention, the input data may include problem information and response information.

문제 정보는 사용자의 지식 수준을 측정하기 위해 제공되는 다양한 유형과 난이도를 가지는 문제에 대한 정보일 수 있다. 문제 정보는 문제 정보의 메타 데이터 및/또는 각 세션에서 해당 문제의 상대적인 위치를 포함할 수 있다. 세션은 사용자의 이탈이 일어난 시점을 기준으로 시간에 따라 구분된 학습 단위일 수 있다.The problem information may be information on problems having various types and difficulties provided to measure the user's knowledge level. The problem information may include metadata of the problem information and/or the relative position of the problem in each session. A session may be a learning unit divided according to time based on the time when the user leaves.

응답 정보는 상기 문제 정보에 응답하여 사용자가 선택한 답에 대한 정보일 수 있다. 응답 정보는 문제에 대한 사용자의 정답 그 자체뿐만 아니라, 사용자에게 주어진 문제를 푸는데 걸린 시간에 관한 정보를 포함할 수 있다.The response information may be information on an answer selected by the user in response to the problem information. The response information may include not only the user's correct answer to the problem itself, but also information about the time taken to solve the problem given to the user.

실시 예에 따라, 이러한 문제 정보와 응답 정보는 문제-응답 로그 데이터의 세트를 구성할 수 있다. 문제 정보와 이에 대응되는 응답 정보는 문제-응답 로그 데이터로 매칭되어, 하나의 데이터 단위로 사용자 이탈율 예측 시스템(5)에 입력될 수 있다.According to an embodiment, such problem information and response information may constitute a set of problem-response log data. The problem information and response information corresponding thereto may be matched as problem-response log data, and may be input to the user churn rate prediction system 5 as a single data unit.

실시 예에서, 문제 정보는 Example의 약자로 'E', 응답 정보는 Response의 약자로 'R', 이탈율 정보는 Drop out의 약자로 'd'로 표현될 수 있다. 문제-응답 로그 데이터는 Interaction의 약자로 'I'로 표현될 수 있다.In an embodiment, the problem information may be expressed as 'E' as an abbreviation for Example, the response information may be expressed as 'R' as an abbreviation of Response, and the departure rate information may be expressed as 'd' as an abbreviation for Drop out. Problem-response log data can be expressed as 'I' as an abbreviation for Interaction.

임베딩 수행부(10, 30)는 입력 데이터, 예를 들어 문제, 응답, 또는 문제와 응답의 세트를 벡터로 표현하여 사용자 지식 추적 시스템(5)에 임베딩하는 기능을 수행할 수 있다. 입력 데이터를 잠재 공간에 대한 벡터로 표현하는 방법은 다양할 수 있다. 예를 들어, 인공지능 안에서 단어를 수치화하여 사용하는 방법 중 하나일 수 있다. 사용자가 입력한 표현이나 형태가 다르더라도, 연관성을 계산, 수치를 통해 이를 나타내면서 단어, 문장, 글의 의미를 작성할 수 있다.The embedding performing units 10 and 30 may express input data, for example, a problem, a response, or a set of problems and responses as a vector, and perform a function of embedding it in the user knowledge tracking system 5 . There may be various ways to express the input data as a vector for the latent space. For example, it may be one of the ways to quantify and use words within artificial intelligence. Even if the expression or form input by the user is different, the meaning of words, sentences, and texts can be written while calculating the correlation and expressing this through numerical values.

도 5에 대한 설명에서 후술하는 바와 같이, 문제 정보는 문제 식별 정보, 카테고리 정보, 시작 시간 정보, 입력 시퀀스 위치 정보, 세션 위치 정보 중 적어도 어느 하나 이상의 정보의 임베딩을 합산하여 연산될 수 있다. 응답 정보는 시작 시간 정보, 입력 시퀀스 위치 정보, 세션 위치 정보, 응답 정확성 정보, 소요 시간 정보, 시간내 풀이 정보, 이탈율 정보 중 적어도 어느 하나 이상의 정보의 임베딩을 합산하여 연산될 수 있다.As will be described later in the description of FIG. 5 , the problem information may be calculated by adding up embeddings of at least any one of problem identification information, category information, start time information, input sequence location information, and session location information. The response information may be calculated by adding up embeddings of at least one of start time information, input sequence location information, session location information, response accuracy information, required time information, in-time solution information, and bounce rate information.

벡터로 표현된 문제 정보는 임베딩 수행부(10)에서 임베딩 되어 인코더 신경망(20)으로 입력될 수 있다. 벡터로 표현된 응답 정보는 임베딩 수행부(30)에서 임베딩 되어 디코더 신경망(40)으로 입력될 수 있다.The problem information expressed as a vector may be embedded in the embedding performing unit 10 and input to the encoder neural network 20 . Response information expressed as a vector may be embedded in the embedding performing unit 30 and input to the decoder neural network 40 .

인코더 신경망(20)은 임베딩된 문제 정보를 기초로 어텐션 정보를 생성할 수 있다. 어텐션 정보는 인코더 신경망(20)의 복수의 레이어를 거치면서 가중치가 부여된 문제 정보일 수 있다. 특히, 어텐션 정보는 인코더 신경망에서 자기 어텐션(self-attention)을 거쳐 생성된 정보일 수 있다. 어텐션 정보는 수학적으로 확률로 표현될 수 있으며, 모든 어텐션 정보의 합은 1이다.The encoder neural network 20 may generate attention information based on embedded problem information. The attention information may be problem information weighted through a plurality of layers of the encoder neural network 20 . In particular, the attention information may be information generated through self-attention in the encoder neural network. Attention information may be mathematically expressed as a probability, and the sum of all attention information is 1.

어텐션 정보는 디코더 신경망(40)에 입력되어 디코더 신경망(40)의 쿼리 데이터에 대한 가중치로 사용되어 사용자 이탈율 예측 시스템(5)을 학습시키는데 사용될 수 있다.Attention information may be input to the decoder neural network 40 and used as a weight for query data of the decoder neural network 40 to train the user churn rate prediction system 5 .

인공 신경망은 어느 부분이 중요한지 목적함수에 맞게 학습하기 위해 어텐션 정보를 활용할 수 있다. 특히, 자기 어텐션(self-attention)은 어텐션을 자기 자신에게 수행한다는 의미로, 특정 데이터 자체에서 중요하게 고려되어야 할 부분에 가중치를 부여하고, 이를 다시 자기 자신에게 반영하는 동작일 수 있다. 기존의 seq2seq에서의 어텐션에서는 인코더 측의 데이터와 디코더 측의 데이터라는 서로 다른 데이터들의 정보들을 가지고 연관성을 찾아냈기 때문에, 자기 어텐션에 따른 정보는 기존의 seq2seq의 어텐션 구조로는 찾을 수 없던 정보이다.The artificial neural network can use attention information to learn which part is important according to the objective function. In particular, self-attention refers to performing attention on oneself, and may be an operation in which a weight is given to a part to be considered important in specific data itself, and this is reflected back to oneself. In the existing attention in seq2seq, the correlation was found with information of different data such as encoder-side data and decoder-side data.

사용자 이탈율 예측 시스템(5)은 디코더 신경망(40)에 출력 결과(rk*)를 예측하는 매 시점마다 인코더 신경망(20)에 전체 입력 데이터(E1, E2, …, Ek, R1, R2, …, Rk-1)를 다시 참고할 수 있는데, 어텐션 정보에 따라 해당 출력 결과에 연관된 데이터에 집중(attention)할 수 있다.The user churn rate prediction system 5 transmits the entire input data E1, E2, ..., Ek, R1, R2, ... , Rk-1) can be referred to again, and according to the attention information, it is possible to focus on data related to the corresponding output result.

디코더 신경망(40)은 임베딩된 응답 정보와 어텐션 정보를 기초로 이탈율 정보를 생성할 수 있다. 디코더 신경망(40)은 응답 정보에, 전술한 자기 어텐션(self-attention)을 적어도 한 번 이상 수행하는 멀티 헤드 어텐션(Multi head attention)을 수행할 수 있다.The decoder neural network 40 may generate bounce rate information based on embedded response information and attention information. The decoder neural network 40 may perform multi-head attention for performing the aforementioned self-attention at least once on the response information.

이처럼, 디코더 신경망(40)은 인코더 신경망(20)에서 문제 정보에서 중요도에 따라 가중치가 부여된 어텐션 정보를 기초로, 응답 정보로부터 생성된 쿼리 데이터에 대해 멀티 헤드 어텐션을 수행하여 이탈율 정보를 생성할 수 있다.As such, the decoder neural network 40 generates bounce rate information by performing multi-head attention on the query data generated from the response information based on the attention information weighted according to the importance in the problem information in the encoder neural network 20 . can do.

본 발명의 실시 예에 따르면, 사용자 이탈율 예측에 최적화된 입력 데이터로서 인코더에는 문제 정보를, 디코더에는 응답 정보를 사용함으로써, 보다 향상된 성능을 가지는 사용자 이탈율 예측 시스템(5)을 구현할 수 있다. 사용자 이탈율 예측 시스템(5)은 문제 정보와 응답 정보를 입력 데이터로서 이탈율을 예측할 수 있도록 사용자 이탈율 예측 시스템(5)을 학습시킬 수 있다. 이후, 사용자 이탈율 예측 시스템은 학습된 사용자 이탈율 예측 시스템으로부터 이탈율 정보를 출력할 수 있다. 이는 추론 과정(inference)으로, 학습 과정에서 결정된 가중치에 따라 입력 데이터를 처리하여, 사용자가 해당 문제를 풀이하는 도중, 설명이나 강의를 듣거나 보는 도중 등에 이탈할 확률을 나타내는 이탈율 정보를 출력할 수 있다.According to an embodiment of the present invention, by using the problem information for the encoder and response information for the decoder as input data optimized for predicting the user bounce rate, the system 5 for predicting the user bounce rate with improved performance can be implemented. The user churn rate prediction system 5 may train the user churn rate prediction system 5 to predict the churn rate using problem information and response information as input data. Thereafter, the user churn rate prediction system may output the churn rate information from the learned user churn rate prediction system. This is an inference process, which processes input data according to the weight determined in the learning process, and outputs information about the churn rate indicating the probability that the user will deviate while solving the problem, while listening to or watching an explanation or lecture. can

또한, 본 발명은 온라인 학습 환경에 최적화된 트랜스포머 구조의 인코더 신경망과 디코더 신경망에 상부 삼각 마스킹(Upper triangular masking)을 사용함으로써 사용자가 아직 풀이하지 않은 문제로부터 이탈율이 예측되는 것을 방지할 수 있는 사용자 이탈율 예측 시스템(5)을 구현할 수 있다.In addition, the present invention uses upper triangular masking for the encoder neural network and the decoder neural network of the transformer structure optimized for the online learning environment, thereby preventing the user from predicting the churn rate from the problem that the user has not yet solved. A bounce rate prediction system 5 may be implemented.

도 2는 도 1의 사용자 이탈율 예측 시스템의 동작을 상세하게 설명하기 위한 도면이다.FIG. 2 is a diagram for explaining in detail the operation of the user churn rate prediction system of FIG. 1 .

도 2를 참조하면, 사용자 이탈율 예측 시스템(5)은 인코더 신경망(20), 디코더 신경망(40)을 포함할 수 있다. 다시, 인코더 신경망(20)은 문제 정보 처리부(21)와 비선형화 수행부(22)를, 디코더 신경망(40)은 제1 응답 정보 처리부(41), 제2 응답 정보 처리부(42) 및 비선형화 수행부(43)을 포함할 수 있다.Referring to FIG. 2 , the user churn rate prediction system 5 may include an encoder neural network 20 and a decoder neural network 40 . Again, the encoder neural network 20 includes the problem information processing unit 21 and the non-linearization performing unit 22, and the decoder neural network 40 includes the first response information processing unit 41, the second response information processing unit 42, and the non-linearization It may include a performer 43 .

도 2에는 도 1의 임베딩 수행부가 생략되었으나, 입력 데이터의 임베딩 동작은 전술한 도 1에 대한 설명을 참고하여 이해될 수 있다.Although the embedding performing unit of FIG. 1 is omitted in FIG. 2 , the embedding operation of input data may be understood with reference to the description of FIG. 1 .

문제 정보는 벡터로 표현된 복수의 문제들(E1, E2, …, Ek)로 구성될 수 있다. 응답 정보는 벡터로 표현된 복수의 문제들(E1, E2, …, Ek) 각각에 대한 사용자의 응답(R1, R2, …, Rk-1)으로 구성될 수 있다. 이탈율 정보는 벡터로 표현된 각 문제들에 대한 사용자의 이탈 확률을 나타낸 개별 이탈율 정보(d1, d2, …, dk)로 구성될 수 있다.The problem information may be composed of a plurality of problems (E1, E2, ..., Ek) expressed as vectors. The response information may consist of a user's responses (R1, R2, ..., Rk-1) to each of a plurality of problems (E1, E2, ..., Ek) expressed in vectors. Bounce rate information may be composed of individual bounce rate information (d1, d2, ..., dk) indicating the user's churn probability for each problem expressed as a vector.

실시 예에서, 이탈율 정보 dk는, 문제 E1에 대한 사용자 응답이 R1, 문제 E2에 대한 사용자 응답이 R2, …, 문제 Ek-1에 대한 사용자 응답이 Rk-1일 때, 사용자가 문제 따를 풀이 중일 때 학습 프로그램을 이탈할 확률에 관한 정보일 수 있다.In an embodiment, the bounce rate information dk may include R1 where the user response to the problem E1 is R1, the user response to the problem E2 is R2, . . . , when the user response to the problem Ek-1 is Rk-1, it may be information about the probability of leaving the learning program when the user is solving the problem to follow.

문제 풀이 중에 사용자가 학습 프로그램을 종료할 확률에 관한 정보를 이탈율 정보라고 설명하였지만, 실시 예에 따라 이탈율 정보는 사용자가 푼 문제에 대한 설명을 읽거나, 강의를 보는 중에 학습 프로그램을 종료할 확률이 포함될 수도 있다.Although the information regarding the probability that the user will terminate the learning program during problem solving has been described as the departure rate information, according to an embodiment, the departure rate information can be used to terminate the learning program while reading the description of the problem solved by the user or watching a lecture. Probability may be included.

이때는 사용자에게 문제가 제공된 시간으로부터 문제 풀이가 완료된 시간을 초과한 시간에, 사용자가 학습 프로그램을 이탈할 확률로서의 이탈율 정보가 생성될 수 있다. 이는 후술되는 도 3에 대한 설명에서 자세히 설명하도록 한다.In this case, the departure rate information as a probability that the user will deviate from the learning program may be generated at a time exceeding the time when the problem solving is completed from the time when the problem is provided to the user. This will be described in detail in the description of FIG. 3 to be described later.

문제 정보 처리부(21)는 문제 정보를 입력받고 자기 어텐션과 관련된 일련의 동작을 수행할 수 있다. 이러한 동작에는 문제 정보를 쿼리, 키, 벨류로 구분하고, 각각의 값에 대한 복수의 헤드값을 생성하며, 복수의 쿼리 헤드값과 복수의 키 헤드값으로부터 가중치를 생성하고, 생성된 가중치에 마스킹을 수행하고, 마스킹이 수행된 가중치를 복수의 벨류 헤드값에 적용하여 예측 데이터를 생성하는 과정을 포함할 수 있다. The problem information processing unit 21 may receive problem information and perform a series of operations related to self-attention. In this operation, problem information is divided into query, key, and value, a plurality of head values for each value are generated, a weight is generated from a plurality of query head values and a plurality of key head values, and the generated weight is masked. and generating prediction data by applying the masked weight to the plurality of value head values.

문제 정보 처리부(21)에서 생성된 예측 데이터는 어텐션 정보일 수 있다.The prediction data generated by the problem information processing unit 21 may be attention information.

특히, 문제 정보 처리부(21)는 마스킹 동작시 키-쿼리 마스킹(key-query masking) 뿐만 아니라 상부 삼각 마스킹(upper triangular masking)을 수행할 수 있다. 키-쿼리 마스킹(key-query masking)과 상부 삼각 마스킹(upper triangular masking)은 후술되는 도 4에 대한 설명에서 자세하게 설명하도록 한다.In particular, the problem information processing unit 21 may perform upper triangular masking as well as key-query masking during the masking operation. Key-query masking and upper triangular masking will be described in detail in the description of FIG. 4 to be described later.

비선형화 수행부(22)는 문제 정보 처리부(21)에서 출력된 예측 데이터를 비선형화 시키는 동작을 수행할 수 있다. 비선형화에는 ReLU 함수가 사용될 수 있다.The non-linearization performing unit 22 may perform an operation of non-linearizing the prediction data output from the problem information processing unit 21 . The ReLU function can be used for non-linearity.

도면에는 도시되지 않았지만, 인코더 신경망(20)은 적어도 하나 이상 존재할 수 있다. 인코더 신경망(20)에서 생성된 어텐션 정보는 다시 인코더 신경망(20)에 입력되어 자기 어텐션과 비선형화와 관련된 일련의 동작이 수차례 반복될 수 있다.Although not shown in the figure, at least one encoder neural network 20 may exist. Attention information generated in the encoder neural network 20 is again input to the encoder neural network 20, and a series of operations related to self-attention and non-linearization may be repeated several times.

이후, 어텐션 정보는 키와 벨류 값으로 나뉘어 제2 응답 정보 처리부에 입력될 수 있다. 어텐션 정보는 제2 응답 정보 처리부에 입력되는 쿼리 데이터에 대한 가중치로 사용되어 사용자 지식 이탈율 예측 시스템(5)을 학습시키는데 사용될 수 있다.Thereafter, the attention information may be divided into a key and a value value and input to the second response information processing unit. The attention information may be used as a weight for the query data input to the second response information processing unit to learn the user knowledge departure rate prediction system 5 .

제1 응답 정보 처리부(41)는 응답 정보를 입력 받고, 문제 정보 처리부(21)와 유사한 자기 어텐션과 관련된 일련의 동작을 수행할 수 있다. 이러한 동작에는 문제 정보를 쿼리, 키, 벨류로 구분하고, 각각의 값에 대한 복수의 헤드값을 생성하며, 복수의 쿼리 헤드값과 복수의 키 헤드값으로부터 가중치를 생성하고, 생성된 가중치에 마스킹을 수행하고, 마스킹이 수행된 가중치를 복수의 벨류 헤드값에 적용하여 예측 데이터를 생성하는 과정을 포함할 수 있다. The first response information processing unit 41 may receive response information and perform a series of operations related to self-attention similar to the problem information processing unit 21 . In this operation, problem information is divided into query, key, and value, a plurality of head values for each value are generated, a weight is generated from a plurality of query head values and a plurality of key head values, and the generated weight is masked. and generating prediction data by applying the masked weight to the plurality of value head values.

제1 응답 정보 처리부(41)에서 생성된 예측 데이터는 쿼리 데이터일 수 있다.The prediction data generated by the first response information processing unit 41 may be query data.

제2 응답 정보 처리부(42)는 제1 응답 정보 처리부로부터 쿼리 데이터를, 인코더 신경망(20)으로부터 어텐션 정보를 입력 받고, 이탈율 정보를 출력할 수 있다.The second response information processing unit 42 may receive query data from the first response information processing unit, attention information from the encoder neural network 20 , and output bounce rate information.

어텐션 정보는 디코더 신경망(40)에 입력되어 디코더의 쿼리 데이터에 대한 가중치로 사용되어 사용자 이탈율 예측 시스템(5)을 학습시키는데 사용될 수 있다.Attention information may be input to the decoder neural network 40 and used as a weight for query data of the decoder to train the user churn rate prediction system 5 .

어텐션 정보는 쿼리 데이터의 특정 영역을 중점적으로 고려하기 위해 부여되는 가중치에 관한 정보일 수 있다. 구체적으로, 사용자 이탈율 예측 시스템(5)은 디코더 신경망(40)에 출력 결과(d)를 예측하는 매 시점마다 인코더 신경망(20)에 전체 입력 데이터(E1, E2, …, Ek, R1, R2, …, Rk-1)를 다시 참고할 수 있는데, 해당 출력 결과에 연관된 데이터에 집중(attention)할 수 있다.The attention information may be information about a weight given to focus on a specific area of the query data. Specifically, the user churn rate prediction system 5 transmits the entire input data E1, E2, ..., Ek, R1, R2 to the encoder neural network 20 at every point in time to predict the output result d to the decoder neural network 40 . , ..., Rk-1) can be referred to again, and attention can be paid to the data related to the corresponding output result.

제2 응답 정보 처리부(42)는 상기 동작에 따라 문제 정보 Ek에 대한 사용자의 이탈율 정보인 dk를 생성할 수 있다. According to the above operation, the second response information processing unit 42 may generate dk, which is the user's departure rate information for the problem information Ek.

도면에는 도시되지 않았지만, 디코더 신경망(40)은 적어도 하나 이상 존재할 수 있다. 디코더 신경망(40)에서 생성된 이탈율 정보는 다시 디코더 신경망(40)에 입력되어 자기 어텐션, 멀티 헤드 어텐션 및 비선형화와 관련된 일련의 동작이 수차례 반복될 수 있다.Although not shown in the drawing, at least one decoder neural network 40 may exist. The churn rate information generated in the decoder neural network 40 is input to the decoder neural network 40 again, and a series of operations related to self-attention, multi-head attention, and non-linearization may be repeated several times.

문제 정보 처리부(21)와 마찬가지로, 제1 응답 정보 처리부(41) 및 제2 응답 정보 처리부는 마스킹 동작시 키-쿼리 마스킹(key-query masking) 뿐만 아니라 상부 삼각 마스킹(upper triangular masking)을 수행할 수 있다.Like the problem information processing unit 21, the first response information processing unit 41 and the second response information processing unit perform key-query masking as well as upper triangular masking during the masking operation. can

도 3은 본 발명의 실시 예에 따른 이탈(drop out)을 설명하기 위한 도면이다.3 is a view for explaining drop out according to an embodiment of the present invention.

도 3을 참조하면, 사용자는 주어진 문제(문제1, 문제2, 문제3)를 풀이하고(Solve), 각 문제에 대한 설명(설명1, 설명2, 설명3)을 읽고(Read), 강의(강의1, 강의2)를 볼 수 있다(Watch).Referring to FIG. 3 , the user solves a given problem (Problem 1, Problem 2, Problem 3), reads explanations (Explanation 1, Description 2, and Description 3) for each problem (Read), lectures ( You can watch lecture 1 and lecture 2) (Watch).

도 3에서, 문제1에 대한 설명과 강의는 설명1, 강의1,2이고, 문제2에 대한 설명은 설명2, 문제3에 대한 설명은 설명3일 수 있다. 각 문제에 대해 설명과 강의의 개수는 제한되지 않으며, 설명과 강의 중 어느 하나가 생략될 수도, 복수 개의 설명 또는 강의가 제공될 수도 있다. In FIG. 3 , the explanation and lecture for the problem 1 may be explanation 1 and lecture 1 and 2, the explanation for the problem 2 may be explanation 2, and the explanation for the problem 3 may be explanation 3. The number of explanations and lectures for each problem is not limited, and any one of the explanations and lectures may be omitted, or a plurality of explanations or lectures may be provided.

또한, 설명은 읽고(Read), 강의는 보는(Watch) 것으로 도시되었지만, 실시 예에 따라 학습 효율을 고려한 사람의 오감이 다양하게 활용될 수 있다.In addition, although the description is illustrated as read and the lecture is illustrated, according to an embodiment, a person's five senses in consideration of learning efficiency may be utilized in various ways.

도 3에서, 시간 정보는 각각의 활동이 시작된 시간일수도, 활동이 종료된 시간일수도, 시작과 종료시간의 중간 지점일수도, 시작과 종료 사이에서 미리 설정된 기준에 따라 선정된 시간일수도 있다. 이하, 시간 정보는 각각의 활동이 시작된 시간으로 가정하고 설명하도록 한다.In FIG. 3 , the time information may be the time when each activity started, the time the activity ended, the midpoint between the start and end times, or a time selected according to a preset criterion between the start and the end. . Hereinafter, the time information is assumed to be the start time of each activity and explained.

실시 예에서, t1에 문제1에 대한 사용자의 문제 풀이가 시작될 수 있다. 문제1의 풀이가 t2에서 종료된 후 학습 프로그램은 설명1과 강의1을 제공할 수 있다. 설명1이 t3까지 제공된 후, 강의1이 제공될 수 있다.In an embodiment, the user's problem solving for problem 1 may be started at t1. After the solution of problem 1 is finished at t2, the learning program can provide explanation 1 and lecture 1. After explanation 1 is provided until t3, lecture 1 may be provided.

사용자는 t4에서 학습 프로그램을 이탈(drop out)할 수 있다. 이탈하는 동작은 모바일 장치의 화면이 꺼지거나, 다른 어플리케이션이 켜지면서 학습 프로그램이 백그라운드 상태로 전환되거나, 모바일 장치의 전원이 꺼지는 등 사용자가 학습 프로그램을 더 이상 이용하지 않는 다양한 상황을 포함할 수 있다.The user may drop out of the learning program at t4. The leaving operation may include various situations in which the user no longer uses the learning program, such as the screen of the mobile device is turned off, the learning program is switched to the background state when another application is turned on, or the power of the mobile device is turned off. .

삭제delete

예를 들어, 도 3의 실시 예는 미리 설정된 시간이 1시간이 경우를 예시하고 있는데, 이때 세션은 인접한 활동들 사이의 시간 간격이 1시간 미만인 일련의 학습 활동으로 정의될 수 있고, 이탈은 사용자가 아무런 활동을 하지 않은 시간이 1시간 이상 지속된 경우로 정의될 수 있다.For example, the embodiment of FIG. 3 illustrates a case where the preset time is 1 hour, where the session may be defined as a series of learning activities in which the time interval between adjacent activities is less than 1 hour, and the departure is the user It can be defined as a case where the time of inactivity lasted more than 1 hour.

미리 설정된 시간은 1시간 이외에도 다양하게 설정될 수 있고, 문제 유형(또는 카테고리)에 따라 문제마다 서로 다르게 설정될 수도 있다. 예를 들어, 토익 시험에서 듣기 파트는 읽기 파트보다 짧은 시간으로 설정될 수 있고, 같은 듣기 파트에서도 지문이 길수록 시간은 길게 설정될 수도, 같은 읽기 파트에서도 지문이 짧을수록 시간도 짧게 설정될 수도 있다.The preset time may be variously set other than one hour, and may be set differently for each problem according to the problem type (or category). For example, in the TOEIC test, the listening part may be set to a shorter time than the reading part, the longer the passage in the same listening part, the longer the time may be set, or in the same reading part, the shorter the passage, the shorter the time may be set. .

t4에서 사용자가 학습 프로그램을 이탈하면, 학습 프로그램은 이탈 시점(t4)에 재생 중이던 강의1의 상태를 저장해둘 수 있다. 이후, 사용자가 다시 학습 프로그램을 실행시키면 자동으로 저장해둔 강의를 이탈된 시점(t4)부터 재생시킬 수 있다. 다시 재생되는 강의는 강의2일 수 있다.When the user leaves the learning program at t4, the learning program may store the state of lecture 1 being reproduced at the departure time t4. After that, when the user executes the learning program again, the automatically stored lecture may be reproduced from the time point t4 at which the user left off. The replayed lecture may be lecture 2.

전술한 과정에 따라 강의2, 문제2, 설명2, 문제3이 사용자에게 제공될 수 있다. 문제3이 제공된 t7이후 다음 활동으로 설명3이 제공되는 t8까지 1시간 이상의 시간이 경과되었으므로, 사용자 이탈율 예측 시스템은 사용자가 이탈했다고 판단할 수 있다. According to the above-described process, Lecture 2, Question 2, Description 2, and Question 3 may be provided to the user. Since more than one hour has elapsed from t7, when problem 3 is provided, to t8, when explanation 3 is provided as the next activity, the user churn rate prediction system may determine that the user has churned.

사용자 이탈율 예측 시스템은 이러한 사용자의 이탈을 인공지능 모델을 사용하여 사전에 예측하고 사용자 맞춤형 학습 데이터를 제공할 수 있다. 전술한 바와 같이, 사용자의 이탈은 문제 풀이가 종료되고 설명 또는 강의가 제공되는 도중에도 발생할 수 있으므로, 사용자 이탈율 예측 시스템은 사용자의 문제풀이 시간에 제한되지 않고 이탈 시간을 예측할 수 있다.The user churn rate prediction system can predict such user churn in advance using an artificial intelligence model and provide user-customized learning data. As described above, since the user's churn may occur even after problem solving is finished and explanations or lectures are provided, the user churn rate prediction system can predict the churn time without being limited by the user's problem solving time.

도 4는 키-쿼리 마스킹(key-query masking)과 상부 삼각 마스킹(upper triangular masking)을 설명하기 위한 도면이다.4 is a diagram for explaining key-query masking and upper triangular masking.

도 4는 키-쿼리 마스킹 이후 상부 삼각 마스킹이 수행되는 것으로 도시되었지만, 양자는 동시에 수행될 수 있고, 상부 삼각 마스킹이 먼저 수행될 수도 있다.Although FIG. 4 shows that upper triangular masking is performed after key-query masking, both may be performed simultaneously, and upper triangular masking may be performed first.

키-쿼리 마스킹은 선택 사항으로 값이 없는 값(제로 패딩)에 패널티를 부과하여 어텐션이 수행되지 못하게 하는 동작일 수 있다. 키-쿼리 마스킹이 수행된 예측 데이터의 값은 0으로, 나머지 부분은 1로 표현될 수 있다.Key-query masking may optionally be an operation that prevents attention from being performed by imposing a penalty on a value without a value (zero padding). A value of prediction data on which key-query masking is performed may be expressed as 0, and the remaining part may be expressed as 1.

도 4의 키-쿼리 마스킹은 설명의 편의를 위해 쿼리와 키의 마지막 값들이 마스킹된 것으로 도시되었지만, 이는 실시 예에 따라 다양하게 변경될 수 있다.In the key-query masking of FIG. 4 , for convenience of description, the last values of the query and the key are masked, but this may be variously changed according to embodiments.

상부 삼각 마스킹(upper triangular masking)은 다음 문제의 예측을 위해 미래 위치(포지션)에 해당하는 정보가 어텐션이 수행되지 못하게 하기 위한 동작일 수 있다. 예를 들어, 아직 사용자가 풀지 않은 문제로부터 예측값이 연산되는 것을 방지하기 위해 마스킹하는 동작일 수 있다. 키-쿼리 마스킹과 마찬가지로, 상부 삼각 마스킹이 수행된 예측 데이터의 값은 0으로, 나머지 부분은 1로 표현될 수 있다.Upper triangular masking may be an operation for preventing attention from being performed on information corresponding to a future location (position) for prediction of the next problem. For example, it may be an operation of masking to prevent a predicted value from being calculated from a problem that the user has not yet solved. Like the key-query masking, the value of the prediction data on which the upper triangular masking is performed may be expressed as 0, and the remaining part may be expressed as 1.

마스킹된 예측 데이터의 값들은 이후 임의의 큰 음수값이 반영되어 소프트맥스 함수를 통해 확률적으로 표현될 때 0에 가까운 확률을 가지도록 제어될 수 있다.The values of the masked prediction data may be controlled to have a probability close to zero when an arbitrary large negative value is reflected thereafter and is expressed probabilistically through a softmax function.

종래 트랜스포머 구조에서는 인코더 신경망에서는 키-쿼리 마스킹이 수행되고, 디코더 신경망에서는 키-쿼리 마스킹과 더불어 상부 삼각 마스킹이 수행되었다. 본 발명의 사용자 이탈율 예측 시스템에서는, 인코더 신경망과 디코더 신경망 모두에서 상부 삼각 마스킹을 수행하여, 이탈율 정보가 오직 사용자에게 기 제공된 문제 정보들(E1, E2, …, Ek)과 사용자가 이미 제출한 응답 정보(R1, R2, …, Rk-1)에만 의존하도록 제어될 수 있다.In the conventional transformer structure, key-query masking is performed in the encoder neural network, and upper triangular masking is performed in addition to the key-query masking in the decoder neural network. In the user churn rate prediction system of the present invention, upper triangular masking is performed in both the encoder neural network and the decoder neural network, so that the churn rate information is only provided to the user with problem information (E1, E2, ..., Ek) and the user has already submitted It can be controlled to depend on only one response information (R1, R2, ..., Rk-1).

도 5는 본 발명의 실시 예에 따른, 입력 데이터의 구성을 설명하기 위한 도면이다.5 is a diagram for explaining the configuration of input data according to an embodiment of the present invention.

도 5를 참조하면, 입력 데이터는 문제 정보(E)와 응답 정보(R)를 포함할 수 있다. 이때, 사용자 이탈율 예측 시스템의 인코더 신경망에는 문제 정보(E)가 입력되고, 디코더 신경망에는 응답 정보(R)가 입력될 수 있다.Referring to FIG. 5 , input data may include problem information (E) and response information (R). In this case, the problem information (E) may be input to the encoder neural network of the user churn rate prediction system, and the response information (R) may be input to the decoder neural network.

문제 식별 정보는 문제마다 부여되는 고유값일 수 있다. 사용자 또는 컴퓨터는 문제 식별 정보를 통해 해당 문제가 어떤 문제인지 판별할 수 있다. The problem identification information may be a unique value assigned to each problem. The user or computer can determine what kind of problem the problem is through the problem identification information.

문제 카테고리 정보는 해당 문제가 어떤 유형의 문제인지 알려주는 정보일 수 있다. 예를 들어, 토익 시험 문제에서 문제 카테고리는 듣기 파트인지 또는 읽기 파트인지를 알려주는 정보일 수 있다.The problem category information may be information indicating what type of problem the corresponding problem is. For example, in the TOEIC test question, the question category may be information indicating whether the listening part or the reading part.

시작 시간 정보는 사용자가 주어진 문제를 처음 접하는 시간일 수 있다. 즉, 사용자에게 문제가 제공된 시간일 수 있다.The start time information may be a time at which the user first encounters a given problem. That is, it may be the time the user was presented with the problem.

입력 시퀀스 위치 정보는 해당 문제 또는 응답이 전체 문제 또는 응답 시퀀스 내에서 어디에 위치하는지에 관한 정보일 수 있다. 트랜스포머 구조는 RNN 구조와 다르게 입력 데이터의 순서가 표시되지 않기 때문에 순서를 구분하기 위해 각각의 데이터가 전체 데이터 시퀀스 내에서 어디에 위치하는지를 별도로 표시할 필요가 있다. 입력 시퀀스 위치 정보는 입력 데이터와 함께 임베딩 되고, 임베딩된 입력 데이터에 더해져 인코딩 신경망과 디코딩 신경망에 입력될 수 있다. The input sequence position information may be information on where the corresponding problem or response is located within the entire problem or response sequence. Unlike the RNN structure, in the transformer structure, the order of input data is not indicated. In order to distinguish the order, it is necessary to separately indicate where each data is located within the entire data sequence. The input sequence position information may be embedded together with the input data, added to the embedded input data, and input to the encoding neural network and the decoding neural network.

세션 위치 정보는 세션에서 문제 또는 응답이 어디에 위치하는지에 관한 정보일 수 있다. 입력 시퀀스 위치 정보는 문제마다 1만큼 카운트될 수 있고, 다음 세션으로 넘어가면 입력 시퀀스 위치 정보는 1로 초기화되어 1부터 다시 카운트될 수 있다.The session location information may be information about where a problem or a response is located in the session. The input sequence location information may be counted by 1 for each problem, and when the next session is transferred, the input sequence location information may be initialized to 1 and counted again from 1.

응답 정확성 정보는 사용자의 응답이 정답인지 또는 오답인지를 나타내는 정보일 수 있다. 예를 들어, 사용자의 응답이 정답이면 '1', 반대로 사용자의 응답이 오답이면 '0'의 인덱스를 가지고 이 인덱스를 벡터로 맵핑할 수 있다.The response accuracy information may be information indicating whether the user's response is a correct answer or an incorrect answer. For example, the index may be mapped to a vector with an index of '1' if the user's response is a correct answer, and '0' if the user's response is an incorrect answer.

소요 시간 정보는 사용자가 문제를 푸는데 소요된 시간을 벡터로 나타낸 정보일 수 있다. 소요 시간 정보는 초, 분, 시간 등으로 표현될 수 있으며, 일정 시간(예를 들어 300초)을 초과한 시간에 대해서는 해당 시간(300초)만큼 소요됐다고 판단할 수도 있다.The required time information may be information representing a time required for a user to solve a problem as a vector. The required time information may be expressed in seconds, minutes, hours, and the like, and for a time exceeding a predetermined time (for example, 300 seconds), it may be determined that the time (300 seconds) has been consumed.

시간내 풀이 정보는 도메인 전문가가 제안한 시간 제한 내에 사용자가 응답했는지 여부에 관한 정보일 수 있다. true이면 '1', 그렇지 않으면 '0'의 인덱스를 가지고 이 인덱스를 벡터로 맵핑할 수 있다.The time-solving information may be information regarding whether the user responded within the time limit suggested by the domain expert. If true, it has an index of '1', otherwise '0', and this index can be mapped to a vector.

이탈율 정보는 해당 문제 풀이를 진행하는 도중 또는 설명을 읽거나 강의를 보는 도중에 사용자가 이탈했는지 여부를 나타내는 정보일 수 있다. true이면 '1', 그렇지 않으면 '0'의 인덱스를 가지고 이 인덱스를 벡터로 맵핑할 수 있다.Bounce rate information may be information indicating whether a user has left while solving a corresponding problem, reading an explanation, or watching a lecture. If true, it has an index of '1', otherwise '0', and this index can be mapped to a vector.

문제 정보(E)는 문제 식별 정보, 문제 카테고리 정보, 시작 시간 정보, 입력 시퀀스 위치 정보, 세션 위치 정보를 포함할 수 있다. 다만, 이에 한정되는 것은 아니며, 실시 예에 따라 어느 하나가 생략될 수도 있으며 다른 정보가 더 추가될 수도 있다.The problem information (E) may include problem identification information, problem category information, start time information, input sequence position information, and session position information. However, the present invention is not limited thereto, and any one may be omitted or other information may be further added according to embodiments.

응답 정보(R)는 시작 시간 정보, 입력 시퀀스 위치 정보, 세션 위치 정보, 응답 정확성 정보, 소요 시간 정보, 시간내 풀이 정보, 이탈율 정보를 포함할 수 있다. 다만, 이에 한정되는 것은 아니며, 실시 예에 따라 어느 하나가 생략될 수도 있으며 다른 정보가 더 추가될 수도 있다.The response information R may include start time information, input sequence location information, session location information, response accuracy information, required time information, solving time information, and exit rate information. However, the present invention is not limited thereto, and any one may be omitted or other information may be further added according to embodiments.

표에 도시되지는 않았지만, 문제-응답 로그 데이터(I)는 문제 식별 정보, 문제 카테고리 정보, 시작 시간 정보, 입력 시퀀스 위치 정보, 세션 위치 정보, 응답 정확성 정보, 소요 시간 정보, 시간내 풀이 정보, 이탈율 정보를 포함할 수 있다. 다만, 이에 한정되는 것은 아니며, 실시 예에 따라 어느 하나가 생략될 수도 있으며 다른 정보가 더 추가될 수도 있다.Although not shown in the table, the problem-response log data (I) includes problem identification information, problem category information, start time information, input sequence position information, session position information, response accuracy information, required time information, time-solving information, Bounce rate information may be included. However, the present invention is not limited thereto, and any one may be omitted or other information may be further added according to embodiments.

본 발명의 실시 예에 따른 사용자 이탈율 예측 시스템은, 전술한 데이터 포맷으로 구성된 문제 정보(E)를 사용자 이탈율 예측 시스템의 인코더 신경망에 입력하고, 응답 정보(R)를 디코더 신경망에 입력하여 이탈율 정보를 생성함으로써, 보다 향상된 정확도를 가지는 이탈율 예측 결과를 알 수 있는 효과가 있다.In the user churn rate prediction system according to an embodiment of the present invention, the problem information (E) configured in the above-described data format is input to the encoder neural network of the user churn rate prediction system, and the response information (R) is input to the decoder neural network to deviate By generating rate information, there is an effect of knowing a departure rate prediction result having more improved accuracy.

도 6은 본 발명의 실시 예에 따른 사용자 이탈율 예측 시스템의 AUC를 설명하기 위한 표이다. 6 is a table for explaining the AUC of the user churn rate prediction system according to an embodiment of the present invention.

DAS(Deep Attentive Study Session Dropout Prediction in Mobile Learning Environment)는 본 발명의 사용자 이탈율 예측 시스템을 지칭하는 용어일 수 있다. AUC(area under the receiver operating characteristic curve)는 전체 예측에 대한 올바른 예측의 비율을 나타내는 값이다. AUC는 특이도에 따른 민감도를 나타내는 값으로, AUC가 높을수록 예측의 정확도는 높다.Deep Attentive Study Session Dropout Prediction in Mobile Learning Environment (DAS) may be a term referring to a system for predicting a user churn rate of the present invention. The area under the receiver operating characteristic curve (AUC) is a value representing the ratio of the correct prediction to the overall prediction. AUC is a value indicating sensitivity according to specificity, and the higher the AUC, the higher the prediction accuracy.

도 6을 참조하면, 다양한 인공 신경망 모델(LSTM, GRU)과 비교하여, DAS의 AUC가 높은 것을 확인할 수 있다.Referring to FIG. 6 , it can be confirmed that the AUC of the DAS is high compared with various artificial neural network models (LSTM, GRU).

특히, 시퀀스 크기(sequence size)가 5일 때(DAS-5) AUC는 0.7379로, 시퀀스 사이즈가 25일 때(DAS-25) AUC는 0.6856로, DAS-5일 때가 DAS-25일 때보다 정확도가 높은 것을 확인할 수 있다.In particular, when the sequence size is 5 (DAS-5), the AUC is 0.7379, and when the sequence size is 25 (DAS-25), the AUC is 0.6856, and when the sequence size is 5 (DAS-5), the accuracy is higher than that of the DAS-25. It can be seen that is high.

도 7은 입력 데이터의 시퀀스 크기(sequence size)에 따른 사용자 이탈율 예측 시스템의 AUC를 설명하기 위한 그래프이다.7 is a graph for explaining AUC of a user churn rate prediction system according to a sequence size of input data.

입력 데이터로서 문제 정보와 응답 정보는 다양한 시퀀스 크기로 구성될 수 있다. 도 7은 시퀀스 크기에 따른 AUC를 나타낸 그래프이다.As input data, problem information and response information may be composed of various sequence sizes. 7 is a graph showing AUC according to sequence size.

도 7을 보면, 시퀀스 크기가 5일 때 AUC가 0.7379로, 가장 높은 정확도를 갖는 사용자 이탈율 예측 시스템을 구현할 수 있음을 알 수 있다.Referring to FIG. 7 , when the sequence size is 5, the AUC is 0.7379, and it can be seen that a user churn rate prediction system having the highest accuracy can be implemented.

도 8은 입력 데이터의 포맷에 따른 사용자 이탈율 예측 시스템의 AUC를 설명하기 위한 그래프이다.8 is a graph for explaining the AUC of the user churn rate prediction system according to the format of the input data.

전술한 도 5를 참고하여 도 8의 약어가 이해될 수 있다. 구체적으로, Id는 문제 식별 정보를, c는 문제 카테고리 정보를, st는 시작 시간 정보를, p는 입력 시퀀스 위치 정보를, sp는 세션 위치 정보를, r은 응답 정확성 정보를, et는 소요 시간 정보를, iot는 시간내 풀이 정보를, d는 이탈율 정보를 의미할 수 있다.The abbreviation of FIG. 8 may be understood with reference to FIG. 5 described above. Specifically, Id is the problem identification information, c is the problem category information, st is the start time information, p is the input sequence position information, sp is the session position information, r is the response accuracy information, et is the time spent information, iot may indicate in-time solution information, and d may indicate bounce rate information.

도 5를 참조하면, Base에서, 인코더 신경망에 입력되는 문제 정보가 문제 식별 정보, 문제 카테고리 정보, 입력 시퀀스 위치 정보를 포함하고, 디코더 신경망에 입력되는 응답 정보가 응답 정확성 정보, 입력 시퀀스 위치 정보를 포함할 때 AUC는 0.6346일 수 있다.Referring to FIG. 5 , in the Base, the problem information input to the encoder neural network includes problem identification information, problem category information, and input sequence position information, and the response information input to the decoder neural network includes response accuracy information and input sequence position information. The AUC when inclusive may be 0.6346.

이때, 문제 정보에 시작 시간 정보가 더 추가되고, 응답 정보에 시작 시간 정보, 시간내 풀이 정보, 소요 시간 정보가 순차적으로 추가될 때, AUC는 각각 0.6653, 0.6819, 0.7017일 수 있다.In this case, when start time information is further added to the problem information and start time information, intra-time solution information, and required time information are sequentially added to the response information, AUC may be 0.6653, 0.6819, and 0.7017, respectively.

여기서, 문제 정보에 세션 위치 정보가, 응답 정보에 세션 위치 정보와 이탈율 정보가 추가될 때, AUC는 0.7379일 수 있다.Here, when session location information is added to problem information and session location information and bounce rate information are added to response information, AUC may be 0.7379.

전술한 내용을 종합하면, 문제 정보는 문제 식별 정보, 문제 카테고리 정보, 시작 시간 정보, 입력 시퀀스 위치 정보, 세션 위치 정보를 포함하고, 응답 정보는 시작 시간 정보, 입력 시퀀스 위치 정보, 세션 위치 정보, 응답 정확성 정보, 소요 시간 정보, 시간내 풀이 정보, 이탈율 정보를 포함할 때, 가장 높은 정확도를 가지는 사용자 이탈율 예측 시스템을 구현할 수 있음을 알 수 있다.Summarizing the above, the problem information includes problem identification information, problem category information, start time information, input sequence location information, and session location information, and the response information includes start time information, input sequence location information, session location information, It can be seen that when response accuracy information, required time information, time-solving information, and bounce rate information are included, it is possible to implement a user bounce rate prediction system having the highest accuracy.

도 9는 본 발명의 실시 예에 따른, 사용자 이탈율 예측 시스템의 동작을 설명하기 위한 순서도이다.9 is a flowchart illustrating an operation of a system for predicting a user churn rate according to an embodiment of the present invention.

도 9를 참조하면, S901 단계에서, 사용자 이탈율 예측 시스템은 제k 인코더 신경망에 문제 정보를, 제k 디코더 신경망에 응답 정보를 각각 입력할 수 있다.Referring to FIG. 9 , in step S901 , the user churn rate prediction system may input problem information to the kth encoder neural network and response information to the kth decoder neural network, respectively.

문제 정보는 문제 식별 정보, 문제 카테고리 정보, 시작 시간 정보, 입력 시퀀스 위치 정보, 세션 위치 정보를 포함할 수 있다. 응답 정보는 시작 시간 정보, 입력 시퀀스 위치 정보, 세션 위치 정보, 응답 정확성 정보, 소요 시간 정보, 시간내 풀이 정보, 이탈율 정보를 포함할 수 있다. 다만, 이에 한정되는 것은 아니며, 실시 예에 따라 일부 정보가 생략될 수도 있으며 다른 정보가 더 추가될 수도 있다.The problem information may include problem identification information, problem category information, start time information, input sequence position information, and session position information. The response information may include start time information, input sequence location information, session location information, response accuracy information, required time information, solving time information, and exit rate information. However, the present invention is not limited thereto, and some information may be omitted or other information may be further added according to embodiments.

S903 단계에서, 사용자 이탈율 예측 시스템은 문제 정보에 가중치를 반영해 어텐션 정보를 생성하고, 응답 정보에 가중치를 반영해 쿼리 데이터를 생성할 수 있다.In step S903, the user churn rate prediction system may generate attention information by reflecting the weight in the problem information, and may generate query data by reflecting the weight in the response information.

구체적으로, 문제 정보는 자기 어텐션(self-attention)을 통해 문제 정보에 가중치를 반영할 수 있다. 자기 어텐션은 특정 데이터 자체에서 중요하게 고려되어야 할 부분에 가중치를 부여하고, 이를 다시 자기 자신에게 반영하는 동작일 수 있다.Specifically, the problem information may reflect a weight to the problem information through self-attention. Self-attention may be an operation in which a weight is given to a part to be considered important in specific data itself, and this is reflected back to oneself.

응답 정보는 자기 어텐션(self-attention) 뿐만 아니라, 어텐션 정보를 기초로 멀티 헤드 어텐션(multi head attention)이 수행되어 가중치가 반영될 수 있다.In response information, not only self-attention, but also multi-head attention is performed based on the attention information, so that a weight may be reflected.

S905 단계에서, 제k 디코더 신경망의 제1 응답 정보 처리부로부터 출력된 쿼리 데이터를 제2 응답 정보 처리부에 입력할 수 있다. 쿼리 데이터는 제1 응답 정보 처리부에서 출력된 예측 데이터 일 수 있다.In operation S905 , the query data output from the first response information processing unit of the kth decoder neural network may be input to the second response information processing unit. The query data may be prediction data output from the first response information processing unit.

S907 단계에서, 사용자 이탈율 예측 시스템은 어텐션 정보를 제2 응답 정보 처리부의 쿼리 데이터에 대한 가중치로 사용하여 사용자 이탈율 예측 시스템을 학습시킬 수 있다.In step S907 , the user churn rate prediction system may train the user churn rate prediction system by using the attention information as a weight for the query data of the second response information processing unit.

삭제delete

인코더 신경망과 디코더 신경망은 N개 만큼 스택될 수 있으므로, 스택된 모든 인코더 신경망과 디코더 신경망에 대해 자기 어텐션과 멀티 헤드 어텐션을 포함하는 일련의 동작이 종료될 때까지 위 과정이 반복될 수 있다.Since encoder neural networks and decoder neural networks can be stacked as many as N, the above process can be repeated for all the stacked encoder and decoder neural networks until a series of operations including self-attention and multi-head attention are completed.

S911 단계에서, 사용자 이탈율 예측 시스템은 학습된 사용자 이탈율 예측 시스템으로부터 이탈율 정보를 출력할 수 있다.In step S911, the user churn rate prediction system may output the churn rate information from the learned user churn rate prediction system.

이는 추론 과정(inference)으로, 학습 과정에서 결정된 가중치에 따라 입력 데이터를 처리하여, 사용자가 해당 문제를 풀이하는 도중, 설명이나 강의를 듣거나 보는 도중 등에 이탈할 확률을 나타내는 이탈율 정보를 출력할 수 있다.This is an inference process, which processes input data according to the weight determined in the learning process, and outputs information about the churn rate indicating the probability that the user will deviate while solving the problem, while listening to or watching an explanation or lecture. can

도 10은 본 발명의 실시 예에 따른, 문제 정보 처리부 또는 응답 정보 처리부의 동작을 상세하게 설명하기 위한 순서도이다.10 is a flowchart for explaining in detail the operation of the problem information processing unit or the response information processing unit according to an embodiment of the present invention.

도 10을 참조하면, S1001 단계에서, 각 구성은 문제 정보 또는 응답 정보에 대한 쿼리, 키, 벨류를 수신할 수 있다. 각각의 값은 벡터로 표현된 값일 수 있으며, 사용되는 역할에 따라 구분된 값일 수 있다. Referring to FIG. 10 , in step S1001, each component may receive a query, key, and value for problem information or response information. Each value may be a value expressed as a vector, or a value divided according to a role used.

S1003 단계에서, 각 구성은 쿼리, 키, 벨류 각각에 대한 복수의 헤드값을 생성할 수 있다. In step S1003, each configuration may generate a plurality of head values for each of a query, a key, and a value.

S1005 단계에서, 각 구성은 복수의 쿼리 헤드값과 복수의 키 헤드값으로부터 가중치를 생성하고, S1007 단계에서 키-쿼리 마스킹(key-query masking)과 상부 삼각 마스킹(upper triangular masking)을 포함하는 마스킹 동작이 수행될 수 있다.In step S1005, each configuration generates a weight from a plurality of query head values and a plurality of key head values, and in step S1007, a key-query masking (key-query masking) and upper triangular masking (upper triangular masking). An action may be performed.

키-쿼리 마스킹은 선택 사항으로 값이 없는 값(제로 패딩)에 패널티를 부과하여 어텐션이 수행되지 못하게 하는 동작일 수 있다. 키-쿼리 마스킹이 수행된 예측 데이터의 값은 0으로, 나머지 부분은 1로 표현될 수 있다.Key-query masking may optionally be an operation that prevents attention from being performed by imposing a penalty on a value without a value (zero padding). A value of prediction data on which key-query masking is performed may be expressed as 0, and the remaining part may be expressed as 1.

상부 삼각 마스킹(upper triangular masking)은 다음 문제에 대한 이탈율의 예측을 위해 미래 위치(포지션)에 해당하는 정보가 어텐션이 수행되지 못하게 막는 동작일 수 있다. Upper triangular masking may be an operation of preventing attention from being performed on information corresponding to a future location (position) for prediction of a churn rate for the next problem.

예를 들어, 아직 사용자가 풀지 않은 문제로부터 이탈율 정보가 예측되는 것을 방지하기 위해 아직 풀이하지 않은 문제에 대해 어텐션이 수행되는 것을 마스킹하는 동작일 수 있다. 키-쿼리 마스킹과 마찬가지로, 상부 삼각 마스킹이 수행된 예측 데이터의 값은 0으로, 나머지 부분은 1로 표현될 수 있다.For example, it may be an operation of masking that attention is performed on a problem that the user has not yet solved in order to prevent the prediction of the bounce rate information from a problem that the user has not yet solved. Like the key-query masking, the value of the prediction data on which the upper triangular masking is performed may be expressed as 0, and the remaining part may be expressed as 1.

이후, S1009 단계에서, 마스킹이 수행된 가중치를 복수의 벨류 헤드값에 적용하여 예측 데이터를 생성할 수 있다.Thereafter, in step S1009 , prediction data may be generated by applying the masked weight to the plurality of value head values.

문제 정보 처리부에서 생성된 예측 데이터는 어텐션 정보, 제1 응답 정보 처리부에서 생성된 예측 데이터는 쿼리 데이터, 제2 응답 정보 처리부에서 생성된 예측 데이터는 이탈율 정보일 수 있다.The prediction data generated by the problem information processing unit may be attention information, the prediction data generated by the first response information processing unit may be query data, and the prediction data generated by the second response information processing unit may be departure rate information.

본 발명에 따른 사용자 이탈율 예측 시스템은, 최적화된 입력 데이터 포맷을 사용하고, 트랜스포머 구조의 인코더 신경망과 디코더 신경망 모두에 상부 삼각 마스킹(Upper triangular masking)을 사용함으로써 향상된 성능을 가질 수 있다.The user bounce rate prediction system according to the present invention may have improved performance by using an optimized input data format and using upper triangular masking for both the encoder neural network and the decoder neural network of the transformer structure.

본 명세서와 도면에 게시된 본 발명의 실시 예들은 본 발명의 기술내용을 쉽게 설명하고 본 발명의 이해를 돕기 위해 특정 예를 제시한 것뿐이며, 본 명의 범위를 한정하고자 하는 것은 아니다. 여기에 게시된 실시 예들 이외에도 발명의 기술적 사상에 바탕을 둔 다른 변형 예들이 실시 가능하다는 것은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 자명한 것이다.Embodiments of the present invention published in the present specification and drawings are merely provided for specific examples in order to easily explain the technical contents of the present invention and help the understanding of the present invention, and are not intended to limit the scope of the present invention. It will be apparent to those of ordinary skill in the art to which the present invention pertains that other modifications based on the technical spirit of the present invention may be implemented in addition to the embodiments disclosed herein.

5: 사용자 이탈율 예측 시스템
10, 30: 임베딩 수행부
20: 인코더 신경망
21: 비선형화 수행부
22: 문제 정보 처리부
40: 디코더 신경망
41: 제1 응답 정보 처리부
42: 제2 응답 정보 처리부
43: 비선형화 수행부
5: User Bounce Rate Prediction System
10, 30: embedding execution unit
20: Encoder Neural Network
21: Non-linearization execution unit
22: Problem information processing unit
40: decoder neural network
41: first response information processing unit
42: second response information processing unit
43: non-linearization execution unit

Claims (8)

복수의 인코더 신경망과 복수의 디코더 신경망을 포함하는 사용자 이탈율 예측 시스템의 동작 방법에 있어서,
세션 위치 정보를 포함하는 문제 정보와 사용자의 응답 정보를 기초로, 학습 도중 사용자가 이탈할 확률에 관한 정보인 이탈율 정보를 예측하도록 인공지능 모델을 학습하는 단계; 및
상기 학습된 인공지능 모델을 기초로, 입력된 문제에 대한 사용자의 이탈율 정보를 예측하는 단계;를 포함하고,
상기 인공지능 모델을 학습하는 단계는,
제k 인코더 신경망에 문제 정보를 입력하고, 제k 디코더 신경망에 응답 정보를 입력하는 단계;
상기 응답 정보에 가중치를 반영하여 쿼리 데이터를 생성하고, 상기 문제 정보에 가중치를 반영하여 어텐션 정보를 생성하는 단계; 및
상기 어텐션 정보를 상기 쿼리 데이터에 대한 가중치로 사용하여 상기 사용자 이탈율 예측 시스템을 학습하는 단계를 포함하고,
상기 세션 위치 정보는,
사용자의 이탈이 일어난 시점을 기준으로 시간에 따라 구분된 학습 단위인 세션에서 문제의 위치를 나타내는 정보이고,
상기 어텐션 정보를 생성하는 단계는,
상기 복수의 인코더 신경망 및 상기 복수의 디코더 신경망에서 상부 삼각 마스킹을 수행하여, 사용자에게 기 제공된 문제와 사용자가 이미 제출한 응답 정보로부터 이탈율을 예측하는 단계;를 포함하는 사용자 이탈율 예측 시스템의 동작 방법.
A method of operating a user churn rate prediction system including a plurality of encoder neural networks and a plurality of decoder neural networks, the method comprising:
Learning an artificial intelligence model to predict churn rate information, which is information about a probability of a user churning out during learning, based on problem information including session location information and user response information; and
Predicting the user's churn rate information for the input problem based on the learned artificial intelligence model;
The step of learning the artificial intelligence model is,
inputting problem information to the kth encoder neural network and inputting response information to the kth decoder neural network;
generating query data by reflecting a weight in the response information, and generating attention information by reflecting the weight in the problem information; and
using the attention information as a weight for the query data to learn the user churn rate prediction system,
The session location information is
It is information indicating the location of the problem in the session, which is a learning unit divided by time based on the time when the user's departure occurred,
The step of generating the attention information includes:
Performing upper triangular masking in the plurality of encoder neural networks and the plurality of decoder neural networks to predict a bounce rate from a problem provided to a user and response information already submitted by the user; Way.
삭제delete 삭제delete 제1항에 있어서, 상기 사용자의 이탈 여부는,
모바일 장치의 화면이 꺼지거나, 다른 어플리케이션이 켜지면서 상기 사용자가 모바일 환경에서 학습을 수행하는 학습 프로그램이 백그라운드 상태로 전환되거나, 또는 상기 모바일 장치의 전원이 꺼지는 경우를 포함하는 사용자 이탈율 예측 시스템의 동작 방법.
The method of claim 1, wherein whether the user leaves the
The user churn rate prediction system, including when the screen of the mobile device is turned off or another application is turned on, and the learning program in which the user performs learning in the mobile environment is switched to a background state, or when the power of the mobile device is turned off how it works.
삭제delete 삭제delete 제1항에 있어서, 상기 어텐션 정보를 생성하는 단계는,
선택 사항으로 값이 없는 값(제로 패딩)에 패널티를 부과하여 어텐션이 수행되지 못하게 하는 동작인 키-쿼리 마스킹(key-query masking)을 수행하는 단계를 포함하는 사용자 이탈율 예측 시스템의 동작 방법.
The method of claim 1, wherein the generating of the attention information comprises:
Optionally, a method of operating a user churn rate prediction system comprising the step of performing key-query masking, which is an operation to prevent attention from being performed by imposing a penalty on a value without a value (zero padding).
세션 위치 정보를 포함하는 문제 정보와 사용자의 응답 정보를 기초로, 학습 도중 사용자가 이탈할 확률에 관한 정보인 이탈율 정보를 예측하도록 인공지능 모델을 학습하고, 상기 학습된 인공지능 모델을 기초로, 입력된 문제에 대한 사용자의 이탈율 정보를 예측하는 사용자 이탈율 예측 시스템에 있어서,
상기 문제 정보를 수신하고, 상기 문제 정보에 가중치를 반영하여 어텐션 정보를 생성하는 제k 인코더 신경망; 및
상기 응답 정보를 수신하고, 상기 응답 정보에 가중치를 반영하여 쿼리 데이터를 생성하고, 상기 어텐션 정보를 상기 쿼리 데이터에 대한 가중치로 사용하여 상기 사용자 이탈율 예측 시스템을 학습하는 제k 디코더 신경망을 포함하고,
상기 문제 정보는,
사용자의 이탈이 일어난 시점을 기준으로 시간에 따라 구분한 학습 단위인 세션에서, 해당 문제의 위치를 나타내는 세션 위치 정보를 포함하고,
복수의 인코더 신경망과 복수의 디코더 신경망은,
상부 삼각 마스킹을 수행하여 사용자에게 기 제공된 문제와 사용자가 이미 제출한 응답 정보로부터 이탈율을 예측하는 사용자 이탈율 예측 시스템.
Based on the problem information including the session location information and the user's response information, the artificial intelligence model is trained to predict the churn rate information, which is information about the probability that the user will leave during learning, and based on the learned artificial intelligence model , in the user churn rate prediction system for predicting the user churn rate information for the input problem,
a kth encoder neural network that receives the problem information and generates attention information by reflecting a weight on the problem information; and
A kth decoder neural network for receiving the response information, generating query data by reflecting a weight in the response information, and learning the user churn rate prediction system by using the attention information as a weight for the query data, ,
The problem information is
It includes session location information indicating the location of the problem in the session, which is a learning unit divided according to time based on the time when the user's departure occurred,
A plurality of encoder neural networks and a plurality of decoder neural networks are
A user bounce rate prediction system that performs upper triangular masking to predict the bounce rate from the problems provided to the user and the response information already submitted by the user.
KR1020200069381A 2020-02-19 2020-06-09 A system for predicting user drop out rate based on artificial intelligence learning and method thereof KR102334268B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210167171A KR20210153008A (en) 2020-02-19 2021-11-29 A system for predicting user drop out rate based on artificial intelligence learning and method thereof

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020200020228 2020-02-19
KR20200020228 2020-02-19

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020210167171A Division KR20210153008A (en) 2020-02-19 2021-11-29 A system for predicting user drop out rate based on artificial intelligence learning and method thereof

Publications (2)

Publication Number Publication Date
KR20210105793A KR20210105793A (en) 2021-08-27
KR102334268B1 true KR102334268B1 (en) 2021-12-02

Family

ID=77504630

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020200069381A KR102334268B1 (en) 2020-02-19 2020-06-09 A system for predicting user drop out rate based on artificial intelligence learning and method thereof
KR1020210167171A KR20210153008A (en) 2020-02-19 2021-11-29 A system for predicting user drop out rate based on artificial intelligence learning and method thereof

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020210167171A KR20210153008A (en) 2020-02-19 2021-11-29 A system for predicting user drop out rate based on artificial intelligence learning and method thereof

Country Status (1)

Country Link
KR (2) KR102334268B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022265127A1 (en) * 2021-06-15 2022-12-22 (주)뤼이드 Artificial intelligence learning-based user churn rate prediction and user knowledge tracing system, and operation method thereof

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115730710B (en) * 2022-11-11 2023-09-08 广东工业大学 Electric vehicle daily charging demand curve prediction method based on attention mechanism

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Attention Is All You Need. arXiv. Ashish Vaswani et al. 2017.*
Transformer (Attention Is All YouNeed) 구현하기 (2/3). cchyun. 2019.12.19.*

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022265127A1 (en) * 2021-06-15 2022-12-22 (주)뤼이드 Artificial intelligence learning-based user churn rate prediction and user knowledge tracing system, and operation method thereof

Also Published As

Publication number Publication date
KR20210153008A (en) 2021-12-16
KR20210105793A (en) 2021-08-27

Similar Documents

Publication Publication Date Title
KR20210141320A (en) A system for tracking user knowledge based on artificial intelligence learning and method thereof
US11049500B2 (en) Adversarial learning and generation of dialogue responses
Jiang et al. How can we know when language models know? on the calibration of language models for question answering
Zaib et al. Conversational question answering: A survey
US10861456B2 (en) Generating dialogue responses in end-to-end dialogue systems utilizing a context-dependent additive recurrent neural network
Kim et al. The eighth dialog system technology challenge
Vlasov et al. Few-shot generalization across dialogue tasks
KR20210153008A (en) A system for predicting user drop out rate based on artificial intelligence learning and method thereof
CN110413743A (en) A kind of key message abstracting method, device, equipment and storage medium
Wilks et al. A prototype for a conversational companion for reminiscing about images
CN117149989B (en) Training method for large language model, text processing method and device
Gregori Evaluation of modern tools for an omscs advisor chatbot
KR20210141420A (en) A system for tracking user knowledge based on artificial intelligence learning and method thereof
US20220398434A1 (en) System for Predicting User Drop-Out Rate and Tracking User Knowledge Based on Artificial Intelligence Learning and Method Therefor
KR20190140537A (en) A method, apparatus and computer program for self-generation of learning data, reinforcement learning method, apparatus and computer program
US20220405575A1 (en) System for predicting user drop-out rate based on artificial intelligence learning and method therefor
US11605307B2 (en) Assessing student understanding
Zhong et al. Question generation based on chat‐response conversion
CN116629346B (en) Language model training method and device
CN115934909B (en) Co-emotion reply generation method and device, terminal and storage medium
EP4328805A1 (en) Method and apparatus for generating target deep learning model
Hsiao et al. IMNTPU Dialogue System Evaluation at the NTCIR-16 DialEval-2 Dialogue Quality and Nugget Detection
Sidhu Development of Chatbot using Deep NLP and Python
Raman A Contribution to the Philosophy of Artificial Intelligence and Chatbot Communication
Awino Swahili Conversational Ai Voicebot for Customer Support

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant