KR102400582B1 - Method and device for personalized learning amount recommendation based on big data and artificial intelligence - Google Patents

Method and device for personalized learning amount recommendation based on big data and artificial intelligence Download PDF

Info

Publication number
KR102400582B1
KR102400582B1 KR1020210171886A KR20210171886A KR102400582B1 KR 102400582 B1 KR102400582 B1 KR 102400582B1 KR 1020210171886 A KR1020210171886 A KR 1020210171886A KR 20210171886 A KR20210171886 A KR 20210171886A KR 102400582 B1 KR102400582 B1 KR 102400582B1
Authority
KR
South Korea
Prior art keywords
learning
vector
data
learning amount
academic achievement
Prior art date
Application number
KR1020210171886A
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 KR1020210171886A priority Critical patent/KR102400582B1/en
Priority to KR1020220060148A priority patent/KR102506132B1/en
Application granted granted Critical
Publication of KR102400582B1 publication Critical patent/KR102400582B1/en

Links

Images

Classifications

    • 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
    • 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
    • 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
    • G06N3/082Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/04Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"

Landscapes

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

Abstract

Disclosed is a device for recommending a personalized learning amount based on big data and artificial intelligence (AI). The device for recommending the personalized learning amount based on big data and AI comprises: a learning data collection unit collecting a large number of learning data from student terminals corresponding to a large number of users; an academic achievement ability prediction unit predicting the type of academic achievement ability corresponding to each user of each of the student terminals by using the large number of learning data; a learning amount table generation unit pre-processing the learning data in accordance with the predicted type of academic achievement ability, and generating a learning amount table; and a recommended learning amount determination unit determining the recommended learning amount corresponding to a target user by referring to the learning amount table, and providing the determined recommended learning amount to the student terminal of the target user. The present invention aims to provide a device for recommending a personalized learning amount based on big data and AI, which is able to maximize learning effects.

Description

빅데이터와 인공지능 기반의 개인화된 학습량 추천 방법 및 장치{METHOD AND DEVICE FOR PERSONALIZED LEARNING AMOUNT RECOMMENDATION BASED ON BIG DATA AND ARTIFICIAL INTELLIGENCE}Recommendation method and device for personalized learning amount based on big data and artificial intelligence

본 발명은 학습량 추천 기술에 관한 것으로, 더욱 상세하게는 빅데이터와 인공지능 기반의 개인화된 학습량을 추천하는 방법 및 장치에 관한 것이다.The present invention relates to a learning amount recommendation technology, and more particularly, to a method and apparatus for recommending a personalized learning amount based on big data and artificial intelligence.

국내는 교육에 대한 학부모의 관심과 열의가 매우 높고, 이 때문에 학생들의 학교 수업과 이를 통한 대학 입시에는 굉장히 많은 사람들이 관심을 갖고 있다.Parents' interest and enthusiasm for education in Korea is very high, and for this reason, many people are interested in students' school classes and university entrance exams through them.

학생들이 학습량을 최대한 많이 늘릴수록 좋은 학습 성취 결과를 얻을 가능성이 높아질 수는 있지만, 학습량을 무작정 늘리는 것은 물리적으로 불가능하고 체력적으로도 역효과를 초래할 수 있어, 주어진 시간 내에서 최적의 학습량을 결정하는 것은 매우 중요한 이슈가 된다.Although students are more likely to achieve good learning outcomes by increasing the amount of learning as much as possible, it is physically impossible and physically counterproductive to increase the amount of learning blindly, so it is difficult to determine the optimal amount of learning within a given time becomes a very important issue.

통상적인 경우, 현재의 학습 결과가 다음 학습에 영향을 미치기 때문에 현재의 학습 결과에 따라 다음 학습량을 늘리거나 줄이는 방식으로 개별적으로 결정하고 있어 학업성취결과가 제각각으로 나타나는 경우가 많다.In general, since the current learning result affects the next learning, the amount of next learning is individually determined by increasing or decreasing the next learning according to the current learning result, so the academic achievement results are often different.

이러한 문제를 해결하기 위하여, 종래의 기술(특허출원번호 10-2018-0135206)은 최근에 수행한 소정 개수의 학습 결과 데이터에 근거하여, 시기적으로 최근일 수록 더 높은 가중치를 부여하는 방식으로 사전 지정된 가중치를 적용하여 예상 학습량을 추정하고 있다.In order to solve this problem, the prior art (Patent Application No. 10-2018-0135206) is based on a predetermined number of recently performed learning result data, the more recent the time, the higher the weight is assigned in advance. is applied to estimate the expected learning amount.

그러나 상술한 종래의 기술의 경우, 사전 지정된 가중치에 따라 예측 결과가 크게 달라질 수 있는 문제가 있으며, 가중치를 선정하는 기준 자체가 구현 방식에 따라 매우 상이하게 결정되기 때문에 일정한 예측 결과를 기대하기 어려운 문제가 있었다.However, in the case of the prior art described above, there is a problem in that the prediction result can vary greatly depending on the pre-specified weight, and since the criterion for selecting the weight is determined very differently depending on the implementation method, it is difficult to expect a constant prediction result. there was

한편, 최근에는 사람의 지능을 모방하여 복잡한 일을 수행하는 인공지능(artificial intelligence)에 대한 연구가 활발히 진행되고 있으며, 인공지능은 기계학습 알고리즘을 이용하여 학습되어 동작하는 형태의 머신 러닝(machine learning)을 포함하는 넓은 개념이며, 머신 러닝 분야에서도 사람의 뉴런들을 모방하여 구현된 딥 러닝(deep learning)이 조금 더 진보된 개념으로 알려져 있다.On the other hand, recently, research on artificial intelligence that imitates human intelligence to perform complex tasks is being actively conducted. ), and in the field of machine learning, deep learning implemented by mimicking human neurons is known as a slightly more advanced concept.

딥 러닝에 따른 심층 신경망(Deep Neural Network, DNN)은, 다중의 은닉층을 포함하여 다양한 비선형적 관계를 학습하고, 학습 결과를 기반으로 예측 결과를 제공하는 인공신경망(ANN, Artificial Neural Network)으로서, 이에 대한 많은 관심과 연구가 이루어지고 있다.A deep neural network (DNN) based on deep learning is an artificial neural network (ANN) that learns various nonlinear relationships including multiple hidden layers and provides prediction results based on the learning results, A lot of interest and research is being done on this.

심층 신경망은 알고리즘에 따라 비지도 학습(unsupervised learning)을 기반으로 하는 심층 신뢰 신경망(DBN, Deep Belief Network), 심층 오토인코더(Deep Autoencoder) 등이 있으며, 이미지와 같은 2차원 데이터를 처리하기 위한 합성곱 신경망(CNN, Convolutional Neural Network), 시계열 데이터를 처리하는 데 유용한 순환 신경망(RNN, Recurrent Neural Network) 등이 알려져 있다.The deep neural network includes a deep trust neural network (DBN) based on unsupervised learning, a deep autoencoder, etc., depending on the algorithm, and is synthesized for processing two-dimensional data such as images. Convolutional neural networks (CNNs), recurrent neural networks (RNNs) useful for processing time series data, and the like are known.

상기와 같은 문제점을 해결하기 위한 본 발명의 목적은, 빅데이터와 인공지능 기반의 개인화된 학습량 추천 방법 및 장치를 제공하는 데 있다.An object of the present invention for solving the above problems is to provide a personalized learning amount recommendation method and apparatus based on big data and artificial intelligence.

상기 목적을 달성하기 위한 본 발명의 일 측면은, 빅데이터와 인공지능 기반의 개인화된 학습량 추천 장치를 제공한다.One aspect of the present invention for achieving the above object provides a personalized learning amount recommendation device based on big data and artificial intelligence.

상기 빅데이터와 인공지능 기반의 개인화된 학습량 추천 장치는, 다수의 사용자들에 대응하는 학생 단말들로부터 다수의 학습 데이터들을 수집하는 학습 데이터 수집부; 상기 다수의 학습 데이터들을 이용하여 상기 학생 단말들 각각의 사용자와 대응하는 학업성취능력 타입을 예측하는 학업성취능력 예측부; 예측된 학업성취능력 타입에 따라 상기 학습 데이터들을 전처리(pre-processing)하여 학습량 테이블을 생성하는 학습량 테이블 생성부; 및 상기 학습량 테이블을 참조하여 타겟 사용자에 대응하는 추천 학습량을 결정하고, 결정된 상기 추천 학습량을 상기 타겟 사용자의 학생 단말에 제공하는 추천 학습량 결정부;를 포함한다.The big data and artificial intelligence-based personalized learning amount recommendation apparatus includes: a learning data collection unit for collecting a plurality of learning data from student terminals corresponding to a plurality of users; an academic achievement predicting unit for predicting an academic achievement type corresponding to the user of each of the student terminals by using the plurality of learning data; a learning amount table generation unit for generating a learning amount table by pre-processing the learning data according to the predicted academic achievement type; and a recommended learning amount determining unit for determining a recommended learning amount corresponding to a target user by referring to the learning amount table, and providing the determined recommended learning amount to a student terminal of the target user.

상기 학업성취능력 예측부는, 현재 교육과정에 따른 상기 학습 데이터들을 이용하여 상기 사용자들을 클러스터링함으로써, 상기 사용자들 각각에 대응하는 클러스터(cluster)를 결정하고, 결정된 클러스터에 부여된 학업성취능력 타입을 해당 클러스터에 속하는 사용자의 학업성취능력 타입으로 예측하는 군집화 엔진; 및 상기 사용자들 각각의 학습 데이터와 대응하는 훈련 입력값 및 상기 군집화 엔진을 통해 학업성취능력 타입이 라벨링된 훈련 출력값으로 구성되는 훈련 데이터를 이용하여 지도학습(supervised-learning)되고, 딥러닝 기반으로 상기 타겟 사용자에 대응하는 학업성취능력 타입을 예측하는 인공신경망 엔진;을 포함한다.The academic achievement predicting unit determines a cluster corresponding to each of the users by clustering the users using the learning data according to the current curriculum, and corresponds to the academic achievement type assigned to the determined cluster. a clustering engine that predicts the academic achievement type of users belonging to the cluster; And supervised-learning using training data consisting of training input values corresponding to the learning data of each of the users and training output values labeled with an academic achievement type through the clustering engine, based on deep learning and an artificial neural network engine for predicting the academic achievement type corresponding to the target user.

상기 인공신경망 엔진은, 상기 사용자들 각각의 현재 교육과정에 따른 학습 데이터를 변환하여 획득되는 학습 특징 벡터를 입력받고, 상기 학습 특징 벡터의 성분값 개수와 동일한 개수의 뉴런들로 구성되는 입력층; 상기 입력층으로부터 전달받은 출력값들을 이용하여 산출된 출력 벡터를 출력층에 전달하는 은닉층; 및 상기 출력 벡터에 활성화함수(activation function)를 적용하여 상기 출력 벡터에 대응하는 확률을 결정하고, 결정된 확률이 가장 높은 출력 벡터를 출력하는 출력층을 포함한다.The artificial neural network engine may include: an input layer configured to receive a learning feature vector obtained by transforming learning data according to a current curriculum of each of the users, and configured with the same number of neurons as the number of component values of the learning feature vector; a hidden layer that transmits an output vector calculated using the output values received from the input layer to the output layer; and an output layer that determines a probability corresponding to the output vector by applying an activation function to the output vector, and outputs an output vector having the highest determined probability.

상기 인공신경망 엔진은, 상기 훈련 입력값을 입력받았을 때 상기 은닉층의 출력으로 획득되는 출력 벡터와 상기 훈련 출력값에 따른 학업 성취능력 타입을 지시하는 훈련출력 벡터를 이용하여 하기 수학식에 따른 손실함수를 연산하고, 연산된 상기 손실함수의 결과값이 최소화되도록 지도학습되고,The artificial neural network engine, when receiving the training input value, uses an output vector obtained as an output of the hidden layer and a training output vector indicating an academic achievement type according to the training output value to obtain a loss function according to the following equation Calculation and supervised learning so that the result value of the calculated loss function is minimized,

Figure 112021140496157-pat00001
Figure 112021140496157-pat00001

상기 수학식에서 Ym은 목표 출력 벡터(Ym)의 m(m은 1 이상의 자연수)번째 성분이고, Y`m은 상기 은닉층의 출력으로 획득되는 출력 벡터(Y`)의 m번째 성분이다.In the above equation, Ym is the m-th component (m is a natural number greater than or equal to 1) of the target output vector Ym, and Y'm is the m-th component of the output vector Y' obtained as an output of the hidden layer.

상기 인공신경망 엔진은, 상기 입력층과 상기 은닉층 사이에 자기집중 메커니즘(self-attention mechanism)에 따른 기법을 수행하는 자가주의 집중계층(self-attention layer)을 더 포함한다.The artificial neural network engine further includes a self-attention layer that performs a technique according to a self-attention mechanism between the input layer and the hidden layer.

상기 자가주의 집중계층은, 상기 입력층의 출력으로 획득되는 중간 연산 벡터들 각각의 중요도를 판별하고, 판별된 중요도가 상대적으로 낮은 중간 연산 벡터를 배제시킴으로써 상기 중간 연산 벡터들 중 일부를 선택적으로 상기 은닉층에 전달한다.The self-attention concentration layer determines the importance of each of the intermediate operation vectors obtained as an output of the input layer, and selectively selects some of the intermediate operation vectors by excluding the intermediate operation vectors having a relatively low determined importance. transmitted to the hidden layer.

상기 학습량 테이블이 생성된 이후에, 상기 학습 데이터 수집부는, 상기 타겟 사용자의 학생 단말로부터 상기 타겟 사용자의 현재 교육과정에 따른 타겟 학습 데이터를 획득하고, 상기 학업성취능력 예측부는, 상기 타겟 학습 데이터를 기반으로 상기 타겟 사용자와 대응하는 학업성취능력 타입을 예측하고, 상기 추천 학습량 결정부는, 상기 학습량 테이블에서, 상기 타겟 사용자에 대하여 예측된 학업성취능력 타입과 대응하는 다음 교육과정에 따른 다수의 학습량들 각각에 대한 통계 데이터를 이용하여 상기 타겟 사용자의 다음 교육과정에 대한 상기 추천 학습량을 결정한다.After the learning amount table is created, the learning data collection unit acquires target learning data according to the current curriculum of the target user from the student terminal of the target user, and the academic achievement predicting unit obtains the target learning data Predict the academic achievement type corresponding to the target user based on the learning amount, and the recommended learning amount determiner is, in the learning amount table, a plurality of learning amounts according to the next curriculum corresponding to the academic achievement type predicted for the target user The recommended learning amount for the next training course of the target user is determined by using the statistical data for each.

상기 군집화 엔진은, K-평균 알고리즘(K-means algorithm)을 이용하여 클러스터링을 수행한다.The clustering engine performs clustering using a K-means algorithm.

상기 학습량 테이블 생성부는, 상기 학습량 테이블을 생성한 이후에, 상기 추천 학습량에 따라 상기 타겟 사용자의 다음 교육과정에 대한 학습 데이터를 이용하여 상기 학습량 테이블을 갱신한다.The learning amount table generation unit, after generating the learning amount table, updates the learning amount table by using the learning data for the next educational course of the target user according to the recommended learning amount.

상기와 같은 본 발명에 따른 빅데이터와 인공지능 기반의 개인화된 학습량 추천 방법 및 장치를 이용할 경우에는 학생의 학업성취능력을 미리 지도학습된 인공신경망을 이용하여 예측하고, 예측된 학습성취능력에 따른 최적의 추천 학습량을 빅데이터 기반으로 결정하여 학생에게 제공함으로써 가장 효율적인 학습량을 학생에게 가이드하고 학습 효과를 극대화할 수 있다.In the case of using the personalized learning amount recommendation method and apparatus based on big data and artificial intelligence according to the present invention as described above, the student's academic achievement ability is predicted using a pre-supervised artificial neural network, and according to the predicted learning achievement ability By determining the optimal amount of recommended learning based on big data and providing it to students, it is possible to guide the most efficient amount of learning to students and maximize the learning effect.

도 1은 일 실시예에 따른 빅데이터와 인공지능 기반의 개인화된 학습량 추천 방법이 수행되는 환경을 나타낸 개념도이다.
도 2는 도 1에 따른 빅데이터와 인공지능 기반의 개인화된 학습량 추천 장치의 기능적 구성요소들을 나타낸 블록도이다.
도 3은 도 1에 따른 학습량 테이블의 구성을 예시적으로 나타낸 도면이다.
도 4는 도 2에 따른 학습량 테이블을 참조하여 가중점수를 산출한 결과를 나타낸 도면이다.
도 5는 도 2에 따른 군집화 엔진의 동작을 설명하기 위한 도면이다.
도 6은 도 2에 따른 인공신경망 엔진의 동작을 설명하기 위한 도면이다.
도 7은 도 6에 따른 인공신경망 엔진의 구조를 구체적으로 도시한 도면이다.
도 8은 일 실시예에 따른 자가주의집중계층에서의 K벡터를 결정하는 방법을 설명하기 위한 도면이다.
도 9는 일 실시예에 따른 빅데이터와 인공지능 기반의 개인화된 학습량 추천 장치의 하드웨어 구성을 예시적으로 나타낸 도면이다.
도 10은 일 실시예에 따른 빅데이터와 인공지능 기반의 개인화된 학습량 추천 방법 및 장치의 효과를 확인할 수 있는 통계 분석 결과를 나타낸 그래프이다.
1 is a conceptual diagram illustrating an environment in which a personalized learning amount recommendation method based on big data and artificial intelligence is performed according to an embodiment.
FIG. 2 is a block diagram illustrating functional components of the personalized learning amount recommendation apparatus based on big data and artificial intelligence according to FIG. 1 .
FIG. 3 is a diagram exemplarily showing the configuration of a learning amount table according to FIG. 1 .
4 is a diagram illustrating a result of calculating a weighted score with reference to the learning amount table according to FIG. 2 .
FIG. 5 is a diagram for explaining the operation of the clustering engine according to FIG. 2 .
FIG. 6 is a view for explaining the operation of the artificial neural network engine according to FIG. 2 .
7 is a diagram specifically illustrating the structure of the artificial neural network engine according to FIG. 6 .
8 is a diagram for explaining a method of determining a K vector in a self-attention layer according to an embodiment.
9 is a diagram exemplarily showing a hardware configuration of a personalized learning amount recommendation device based on big data and artificial intelligence according to an embodiment.
10 is a graph showing statistical analysis results that can confirm the effect of the big data and artificial intelligence-based personalized learning amount recommendation method and apparatus according to an embodiment.

본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다. Since the present invention can have various changes and can have various embodiments, specific embodiments are illustrated in the drawings and described in detail in the detailed description. However, this is not intended to limit the present invention to specific embodiments, and it should be understood to include all modifications, equivalents and substitutes included in the spirit and scope of the present invention. In describing each figure, like reference numerals have been used for like elements.

제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다. Terms such as first, second, A, and B 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 component from another. For example, without departing from the scope of the present invention, a first component may be referred to as a second component, and similarly, a second component may also be referred to as a first component. and/or includes a combination of a plurality of related listed items or any of a plurality of related listed items.

어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. When an element is referred to as being “connected” or “connected” to another element, it is understood that it may be directly connected or connected to the other element, but other elements 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 the other element does not exist in the middle.

본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terms used in the present application are only used 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 the present application, terms such as “comprise” or “have” are intended to designate that a feature, number, step, operation, component, part, or combination thereof described in the specification exists, but one or more other features It should be understood that this does not preclude the existence or addition of numbers, 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 commonly used dictionaries 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 application. does not

이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.Hereinafter, preferred embodiments according to the present invention will be described in detail with reference to the accompanying drawings.

도 1은 일 실시예에 따른 빅데이터와 인공지능 기반의 개인화된 학습량 추천 방법이 수행되는 환경을 나타낸 개념도이다.1 is a conceptual diagram illustrating an environment in which a personalized learning amount recommendation method based on big data and artificial intelligence is performed according to an embodiment.

도 1을 참조하면, 빅데이터와 인공지능 기반의 개인화된 학습량 추천 방법은, 이하에서 설명하는 학습량 추천 서버(100, 빅데이터와 인공지능 기반의 개인화된 학습량 추천 장치로도 혼용하여 지칭될 수 있음)에 의해 수행될 수 있다.Referring to FIG. 1 , the personalized learning amount recommendation method based on big data and artificial intelligence may be referred to as a learning amount recommendation server 100, which is also referred to as a personalized learning amount recommendation device based on big data and artificial intelligence, to be described below. ) can be done by

학습량 추천 서버(100)는, 다수의 학생 단말들(200a~200n)과 연동하여 학습 데이터를 수집할 수 있다. The learning amount recommendation server 100 may collect learning data in conjunction with a plurality of student terminals 200a to 200n.

학생 단말들(200a~200n) 각각에는 미리 배포된 학습용 애플리케이션이 설치되어 구동될 수 있으며, 학습용 애플리케이션이 실행됨에 따라 학생 단말들(200a~200n) 각각은 교육과정에 따른 다수의 학습 문제들을 선정하여 학생 단말(200)의 사용자에게 제공하고, 사용자의 문제 풀이 결과를 저장할 수 있다.Each of the student terminals 200a to 200n may have a pre-distributed learning application installed and driven, and as the learning application is executed, each of the student terminals 200a to 200n selects a plurality of learning problems according to the curriculum. It may be provided to the user of the student terminal 200, and the user's problem solving result may be stored.

학생 단말(200)의 사용자는 미리 학생 단말(200)을 이용하여 학습량 추천 서버(100)에 접속하고, 사용자 인증 절차를 통해 사용자 정보를 학습량 추천 서버(100)에 등록(registration)할 수 있다. 사용자 정보는 자신의 나이, 학년, 학교 등을 포함할 수 있다.The user of the student terminal 200 may access the learning amount recommendation server 100 by using the student terminal 200 in advance, and register user information in the learning amount recommendation server 100 through a user authentication procedure. The user information may include his or her age, grade, school, and the like.

또한, 학생 단말들(200a~200n) 각각은 학생 단말(200)의 사용자에게 제공된 학습 문제들에 따른 문제 풀이 결과를 나타내는 학습 데이터를 실시간으로 또는 미리 지정된 주기마다 또는 미리 지정된 시기들마다 학습량 추천 서버(100)에 제공할 수 있다.In addition, each of the student terminals 200a to 200n provides learning data representing a problem solving result according to the learning problems provided to the user of the student terminal 200 in real time or at a predetermined period or at predetermined times, a learning amount recommendation server (100) can be provided.

구체적으로, 학습 데이터는, 주별 또는 일별로 교육 과정(ex: 덧셈 과정)에 따라 적어도 하나의 레슨(lesson)에 대하여 제공되는 학습 문제들에 대한 풀이 결과들을 의미할 수 있다. 교육 과정은, 커리큘럼에 따라 제공되는 학습과제 대분류에 해당할 수 있으며, 레슨은 특정 교육 과정 내에서 제공되는 학습과제 소분류에 해당할 수 있다. 예를 들어, 교육 과정은, 덧셈 기초 과정, 덧셈 심화 과정, 뺄셈 기초 과정, 뺄셈 심화 과정 등으로서, 미리 정해진 순서를 가질 수 있다. 구체적으로, 덧셈 기초 과정 다음에 학습할 교육 과정이 덧셈 심화 과정일 수 있고, 덧셈 심화 과정 다음에 학습할 교육 과정이 뺄셈 기초 과정일 수 있다.In detail, the learning data may mean solving results for learning problems provided for at least one lesson according to an educational process (eg, an addition process) on a weekly or daily basis. The curriculum may correspond to a large classification of learning tasks provided according to a curriculum, and a lesson may correspond to a small classification of learning tasks provided within a specific curriculum. For example, the education course may have a predetermined order as an addition basic course, an advanced addition course, a basic subtraction course, an advanced subtraction course, and the like. Specifically, a training course to be learned after the basic addition course may be an advanced addition course, and a training course to be learned after the deep addition course may be a basic subtraction course.

예를 들어, 덧셈 기초 과정에 대한 레슨으로는 한자리 수에 대한 덧셈, 두자리 수에 대한 덧셈 등을 포함할 수 있고, 덧셈 심화 과정에 대한 레슨으로는 세자리 수에 대한 덧셈, 3개 이상의 수들 전체에 대한 덧셈 등을 포함할 수 있다.For example, a lesson on the basics of addition may include addition to single digit numbers, addition to two digits, etc., while lessons for an advanced addition course include addition to three digits and addition to all three or more numbers. addition may be included.

학습량 추천 서버(100)는, 다수의 학생 단말들(200a~200n)로부터 다수의 과거 학습 데이터들을 수집하고, 수집된 과거 학습 데이터들을 기초로, 학생 단말들(200a~200n) 각각의 사용자들을 머신러닝 엔진(10)을 이용하여 군집화(clustering)함으로써, 사용자들 각각에 대응하는 학업성취능력 타입을 결정할 수 있다.The amount of learning recommendation server 100 collects a plurality of past learning data from a plurality of student terminals 200a to 200n, and based on the collected past learning data, the user of each of the student terminals 200a to 200n is a machine. By using the learning engine 10 to cluster (clustering), it is possible to determine the academic achievement type corresponding to each of the users.

여기서, 머신러닝 엔진(10)은, 가우시안 혼합 모델 (Gaussian Mixture Model, GMM) 기반으로 동작하는 군집화 엔진(102a)을 포함할 수 있다. 군집화 엔진(102a)은 가우시안 혼합 모델(GMM)을 소프트웨어 상으로 구현한 일종의 소스코드 또는 소스코드의 동작 프로그램에 해당할 수 있다.Here, the machine learning engine 10 may include a clustering engine 102a operating based on a Gaussian mixture model (GMM). The clustering engine 102a may correspond to a kind of source code in which the Gaussian mixture model (GMM) is implemented in software or an operation program of the source code.

사람마다 각자 타고난 재능이나 기억력, 수학 연산 능력 등이 상이하기 때문에, 사용자들 마다 동일한 문제를 제공받더라도 쉽게 풀수 있는 사람과 쉽게 풀기 어려운 사람이 나뉜다. 또한, 동일한 학업성취수준을 갖고있는 사용자들이라고 하더라도, 특정인은 수학을 잘 하는 반면에 국어에 약한 반면 다른 특정인은 수학을 국어보다 상대적으로 못하는 경향성도 있다. Since each person has different innate talents, memory, and mathematical arithmetic abilities, there are those who can easily solve the problems and those who can't solve them easily even if each user is given the same problem. In addition, even among users with the same academic achievement level, there is a tendency that certain people are good at math, but weak in Korean, while other specific people are relatively poor at math.

본 발명의 일 실시예에서는 이처럼 사람마다 각자 학업성취능력이 상이한 점을 고려하여, 학업성취능력에 따라 가장 적합한 학습량을 추천할 수 있도록, 사용자들을 군집화하여 다수의 클러스터들(clusters)을 구성하고, 구성된 클러스터들 각각에 대응하는 학업성취능력 타입을 결정한다. 여기서, 학업성취능력 타입은 사용자가 속한 클러스터마다 개별적으로 부여되는 일종의 식별 기호로서 예를 들어, A, B, C 등과 같이 우열 없이 결정되는 기호를 사용하거나 그밖에 다양한 형태의 고유 식별 기호를 사용할 수 있다. 즉, 학업성취능력 타입은 해당 클러스터에 속하는 사용자들의 학업성취능력을 대표하는 의미로서 사용된다.In one embodiment of the present invention, considering that each person has different academic achievement abilities, cluster users to configure a plurality of clusters so as to recommend the most appropriate amount of learning according to academic achievement ability, The academic achievement type corresponding to each of the configured clusters is determined. Here, the academic achievement type is a kind of identification symbol that is individually assigned to each cluster to which the user belongs. For example, a symbol determined without superiority, such as A, B, C, etc. may be used, or various types of unique identification symbols may be used. . That is, the academic achievement type is used as a meaning representing the academic achievement ability of users belonging to the corresponding cluster.

군집화를 통해 사용자들 각각에 대응하는 학업성취능력 타입이 결정되면, 학습량 추천 서버(100)는, 사용자들에 대한 학습 데이터들을 학업성취능력 타입과 과거에 수행된 학습량에 따라 분류하고, 전처리함으로써 학습량 테이블(20)을 생성할 수 있다.When the academic achievement type corresponding to each of the users is determined through clustering, the learning amount recommendation server 100 classifies the learning data for users according to the academic achievement capability type and the amount of learning performed in the past, and pre-processing the amount of learning Table 20 can be created.

여기서 생성되는 학습량 테이블(20)은 추후에 특정 사용자를 위한 추천 학습량을 결정하기 위한 빅데이터로서 사용되며, 최대한 많은 사용자들을 대상으로 학습 데이터들을 수집하고, 사용자들 각각에 대응하는 학업성취능력 타입을 결정함으로써 최대한 방대한 빅데이터(big data) 기반의 학습량 테이블(20)을 구성하는 것이 바람직할 수 있다.The amount of learning table 20 generated here is used as big data for later determining the amount of recommended learning for a specific user, collects learning data for as many users as possible, and determines the academic achievement type corresponding to each of the users. By determining, it may be desirable to configure the learning amount table 20 based on large data as much as possible.

군집화를 통해 학습량 테이블(20)이 생성되면, 학습량 추천 서버(100)는, 특정인에 대한 추천 학습량을 제공하도록 동작할 수 있다.When the learning amount table 20 is generated through clustering, the learning amount recommendation server 100 may operate to provide a recommended learning amount for a specific person.

먼저, 학습량 추천 서버(100)는, 사용자들 중 타겟 사용자의 학생 단말(200)로부터 타겟 학습 데이터를 수신할 수 있고, 수신된 타겟 학습 데이터를 기반으로 머신러닝 엔진(10)을 이용하여 타겟 사용자와 대응하는 학업성취능력 타입을 예측할 수 있다.First, the learning amount recommendation server 100 may receive target learning data from the student terminal 200 of the target user among users, and using the machine learning engine 10 based on the received target learning data, the target user It is possible to predict the type of academic achievement ability corresponding to

이때, 머신러닝 엔진(10)으로는 전술한 군집화 엔진(102a)이 사용될 수 있으나, 이에 한정되지 않는다.In this case, the aforementioned clustering engine 102a may be used as the machine learning engine 10 , but is not limited thereto.

예를 들어, 머신러닝 엔진(10)으로 심층 신경망(deep neural network) 기반의 인공신경망 엔진(102b)이 사용될 수도 있다. 인공신경망 엔진(102b)은 훈련 입력값과 훈련 출력값의 셋트(set)로 구성되는 훈련 데이터를 이용하여, 특정 사용자의 학습 데이터를 입력받으면, 해당 특정 사용자와 대응하는 학업성취능력 타입을 지시하는 출력값을 출력하도록 미리 지도학습(supervised learning)될 수 있다.For example, an artificial neural network engine 102b based on a deep neural network may be used as the machine learning engine 10 . The artificial neural network engine 102b uses training data composed of a set of a training input value and a training output value to receive the learning data of a specific user, an output value indicating an academic achievement type corresponding to the specific user It may be pre-supervised learning to output .

따라서, 학습량 추천 서버(100)는, 군집화 엔진(102a)을 이용하여 타겟 학습 데이터를 기반으로 타겟 사용자가 속하는 클러스터와 대응하는 학업성취능력 타입을 예측하거나, 인공신경망 엔진(102b)을 이용하여 타겟 학습 데이터를 기반으로 타겟 사용자와 대응하는 학업성취능력 타입을 예측할 수 있도록 구성될 수 있다.Accordingly, the learning amount recommendation server 100 predicts the academic achievement type corresponding to the cluster to which the target user belongs based on the target learning data using the clustering engine 102a, or uses the artificial neural network engine 102b to predict the target It may be configured to predict the academic achievement type corresponding to the target user based on the learning data.

학습량 추천 서버(100)는, 예측된 학업성취능력 타입을 기반으로 학습량 테이블(20)을 분석하여 예측된 학업성취능력 타입에 따른 타겟 사용자를 위한 추천 학습량을 결정할 수 있다.The learning amount recommendation server 100 may analyze the learning amount table 20 based on the predicted academic achievement type and determine the recommended learning amount for the target user according to the predicted academic achievement type.

예를 들어, 추천 학습량(또는 학습량)은, 타겟 학습 데이터에 따른 타겟 사용자의 현재 교육 과정 이후에 학습할 다음 교육 과정(도면상의 뺄셈 과정) 및 주별 학습 횟수 및 일별 레슨 개수 등을 의미할 수 있다.For example, the recommended learning amount (or learning amount) may mean the next training course (subtraction process on the drawing) to be learned after the current training course of the target user according to the target learning data, the number of lessons per week, the number of lessons per day, etc. .

학습량 추천 서버(100)는, 결정된 추천 학습량을 타겟 사용자의 학생 단말(200)에 전송할 수 있다.The learning amount recommendation server 100 may transmit the determined recommended learning amount to the student terminal 200 of the target user.

타겟 사용자는, 학생 단말(200)로 자신의 학업성취능력 타입에서 가장 높은 성과를 달성할 것으로 예상되는 추천 학습량을 제공받기 때문에, 추천 학습량에 따라 학습을 진행함으로써 최적의 학업성취 결과를 달성할 가능성이 높아지게 될 수 있다.Since the target user receives the recommended amount of learning expected to achieve the highest performance in his/her academic achievement type with the student terminal 200, the possibility of achieving optimal academic achievement results by learning according to the recommended amount of learning This can be high.

도 2는 도 1에 따른 빅데이터와 인공지능 기반의 개인화된 학습량 추천 장치의 기능적 구성요소들을 나타낸 블록도이다. 도 3은 도 1에 따른 학습량 테이블의 구성을 예시적으로 나타낸 도면이다. 도 4는 도 2에 따른 학습량 테이블을 참조하여 가중점수를 산출한 결과를 나타낸 도면이다.FIG. 2 is a block diagram illustrating functional components of the personalized learning amount recommendation apparatus based on big data and artificial intelligence according to FIG. 1 . FIG. 3 is a diagram exemplarily showing the configuration of a learning amount table according to FIG. 1 . 4 is a diagram illustrating a result of calculating a weighted score with reference to the learning amount table according to FIG. 2 .

도 2를 참조하면, 학습량 추천 서버(100)는, 다수의 사용자들에 대응하는 학생 단말(200)들 각각으로부터 학습 데이터를 수집하는 학습 데이터 수집부(101), 학생 단말(200)들로부터 수집된 다수의 학습 데이터들을 이용하여 학생 단말(200)들 각각의 사용자들과 대응하는 학업성취능력 타입을 예측하는 학업성취능력 예측부(102), 예측된 학업성취능력 타입에 따라 학습 데이터들을 전처리(pre-processing)하여 학습량 테이블을 생성하는 학습량 테이블 생성부(103), 및 학습량 테이블을 참조하여 타겟 사용자에 대응하는 추천 학습량을 결정하고, 결정된 추천 학습량을 타겟 사용자의 학생 단말(200)에 제공하는 추천 학습량 결정부(104)를 포함할 수 있다.Referring to FIG. 2 , the learning amount recommendation server 100 collects learning data from each of the student terminals 200 corresponding to a plurality of users. The academic achievement predicting unit 102 for predicting the academic achievement type corresponding to the users of each of the student terminals 200 by using the plurality of learning data, pre-processing the learning data according to the predicted academic achievement type ( pre-processing) to determine the recommended learning amount corresponding to the target user by referring to the learning amount table generation unit 103 for generating the learning amount table, and the learning amount table, and providing the determined recommended learning amount to the target user's student terminal 200 It may include a recommended learning amount determiner 104 .

학습 데이터 수집부(101)는, 다수의 학생 단말(200)들과 연동하여 학습 데이터를 수집할 수 있다. 이를 위해 학생 단말(200)들과 주기적으로 유선 또는 무선 네트워크를 통해 통신함으로써 학습 데이터를 획득할 수 있다. 예를 들어, 학생 단말(200)들 각각에서 교육 과정에 따른 학습이 완료되면, 학생 단말(200)들 각각이 학습 데이터 수집부(101)로 학습 완료에 따른 학습 데이터를 전송할 수 있다.The learning data collection unit 101 may collect learning data in conjunction with a plurality of student terminals 200 . To this end, learning data may be acquired by periodically communicating with the student terminals 200 through a wired or wireless network. For example, when learning according to the educational process is completed in each of the student terminals 200 , each of the student terminals 200 may transmit learning data according to the completion of learning to the learning data collection unit 101 .

학업성취능력 예측부(102)는, 학습 데이터들을 이용하여 사용자들 각각과 대응하는 학업성취능력 타입을 예측하여 학습량 테이블 생성부(103)에 제공할 수 있다. The academic achievement predicting unit 102 may predict the academic achievement type corresponding to each of the users by using the learning data, and provide it to the learning amount table generating unit 103 .

구체적으로, 학업성취능력 예측부(102)는, 학습 데이터들 각각에 대응하는 사용자들을 클러스터링함으로써, 사용자들 각각과 대응하는 클러스터를 결정하고, 결정된 클러스터에 부여되는 학업성취능력 타입을 결정하는 군집화 엔진(102a)을 포함할 수 있다.Specifically, the academic achievement predicting unit 102 is a clustering engine that determines a cluster corresponding to each of the users by clustering users corresponding to each of the learning data, and determines the academic achievement type assigned to the determined cluster. (102a) may be included.

예를 들어, 군집화 엔진(102a)은, 가우시안 혼합 모델(Gaussian Mixture Model, GMM)에 따른 클러스터링 또는 K-평균 알고리즘에 따른 클러스터링을 수행할 수 있다.For example, the clustering engine 102a may perform clustering according to a Gaussian Mixture Model (GMM) or clustering according to a K-means algorithm.

여기서, K-평균 알고리즘은 가우시안 혼합 모델과 달리 비지도학습에 속하는 머신러닝 기반의 클러스터링 기법일 수 있다. 구체적으로 K-평균 알고리즘은 K개의 클러스터들 각각에 대한 초기 중심점에 해당하는 벡터값을 설정한 후, 사용자들 각각을 대표하는 학습 특징 벡터와 가까운 초기 중심점을 가진 클러스터에 사용자들을 할당한다.Here, the K-means algorithm may be a machine learning-based clustering technique belonging to unsupervised learning, unlike the Gaussian mixture model. Specifically, the K-means algorithm sets a vector value corresponding to an initial center point for each of the K clusters, and then allocates users to a cluster having an initial center point close to the learning feature vector representing each of the users.

다음으로, 모든 사용자들에 대한 클러스터 할당이 끝나면, 해당 클러스터에 속하는 사용자들의 학습 특징 벡터들의 중간값 또는 평균값으로 각 클러스터의 중심점을 재설정하고, 재설정된 중심점을 기준으로 모든 사용자들의 클러스터 할당을 다시 시행한다.Next, when cluster assignment to all users is finished, the center point of each cluster is reset to the median or average value of the learning feature vectors of users belonging to the cluster, and cluster assignment of all users is re-executed based on the reset center point. do.

상술하는 중심점 재설정과 클러스터 재할당을 중심점의 변동이 없을 때까지 반복함으로써 사용자들을 클러스터들에 할당할 수 있다.Users can be assigned to clusters by repeating the above-described center point resetting and cluster reallocation until there is no change in the center point.

학습량 테이블 생성부(103)는, 군집화 엔진(102a)에 의해 결정되는 학업성취능력 타입에 따라 학습 데이터들을 전처리하여 학습량 테이블(20)을 생성할 수 있다.The learning amount table generating unit 103 may generate the learning amount table 20 by preprocessing the learning data according to the academic achievement type determined by the clustering engine 102a.

구체적으로, 학습량 테이블 생성부(103)는, 사용자의 현재 교육 과정에 따른 학습 데이터들을 기초로 군집화 엔진(102a)에 의해 결정되는 학업성취능력 타입과 현재 교육 과정 이후의 다음 교육 과정에서 수행된 학습량에 따라 분류하고, 분류된 학업성취능력 타입과 학습량에 대응하는 학습 데이터들에 대한 통계 데이터를 산출함으로써 학습 데이터들을 전처리할 수 있다.Specifically, the amount of learning table generation unit 103 is, based on the learning data according to the user's current educational process, the academic achievement type determined by the clustering engine 102a and the amount of learning performed in the next educational process after the current educational process. It is possible to preprocess the learning data by classifying according to , and calculating statistical data for the learning data corresponding to the classified academic achievement type and learning amount.

즉, 학업성취능력 타입은 사용자의 현재 교육 과정에 따른 학습 데이터들을 기초로 군집화 엔진(102a)에 의해 예측된다.That is, the academic achievement type is predicted by the clustering engine 102a based on the learning data according to the user's current educational process.

도 3을 참조하면, 학습량 테이블(20)은, 학업성취능력 타입과 학습량에 따라 현재 교육 과정에 따른 학습 데이터들을 분류하고, 분류된 학습 데이터들에 대한 통계 연산 처리를 통해 얻어진 통계 데이터로서, 분류된 학습 데이터들에 대한 평가 통과율, 평가점수 평균 등을 포함할 수 있다.Referring to FIG. 3 , the learning amount table 20 classifies learning data according to the current educational process according to the academic achievement type and learning amount, and is statistical data obtained through statistical calculation processing on the classified learning data. It may include an evaluation pass rate, an evaluation score average, and the like for the acquired learning data.

여기서, 학습량은 해당 학업성취능력 타입의 사용자들의 다음 교육과정에서 수행한 주별 학습 횟수 및 일별 학습레슨 개수를 의미할 수 있다. 또 다른 예시로 학습량은 다음 교육과정에서 수행한 주별 학습일수와 학습시간을 의미할 수도 있다. 여기서 학습량은 그 지표를 설정되는 기준에 따라 시간, 일, 또는 월 단위로 설정될 수 있거나 그 혼용된 단위로 설정될 수도 있으며 이는 통상의 기술자의 용이 변형 사항에 해당하므로 자세한 설명은 생략한다.Here, the amount of learning may mean the number of learning per week and the number of learning lessons per day performed in the next educational course of users of the corresponding academic achievement type. As another example, the amount of learning may mean the number of learning days and learning hours per week performed in the following curriculum. Here, the amount of learning may be set in units of hours, days, or months according to the criteria for setting the index, or may be set in units of a mixture thereof.

여기서, 평가 통과율은 해당 학업성취능력 타입으로 결정된 사용자들을 대상으로, 다음 교육과정에서 제공된 학습량에 따른 풀이 결과가 특정 기준 점수를 초과하는 사용자들의 비율일 수 있다.Here, the evaluation pass rate may be a ratio of users whose solution result according to the amount of learning provided in the next curriculum exceeds a specific reference score for users determined by the corresponding academic achievement type.

평가점수 평균은 해당 학업성취능력 타입으로 결정된 사용자들을 대상으로, 다음 교육과정에서 제공된 학습량에 따른 풀이 결과에서 평가점수들의 평균값일 수 있다.The average evaluation score may be an average value of evaluation scores in a solution result according to the amount of learning provided in the next educational course for users determined by the corresponding academic achievement ability type.

도 3을 참조하면, 현재 교육과정에서의 학업성취능력 타입이 클러스터 A에 속하는 사용자들 중에서, 다음 교육과정으로 제공된 학습량에 따른 주별 학습횟수가 3회이고, 일별 학습레슨 개수가 3개인 사용자들이 169명이고, 169명인 사용자들을 대상으로 다음 교육과정으로 제공된 학습량에 대한 평가 통과율이 92%이며, 학습량에 대한 평가점수 평균은 94점인 것을 확인할 수 있다.Referring to FIG. 3 , among users whose academic achievement ability type in the current curriculum belongs to cluster A, the number of learning times per week according to the amount of learning provided for the next curriculum is 3 times, and the number of users with 3 learning lessons per day is 169 It can be seen that the evaluation pass rate for the amount of learning provided as the next curriculum for the 169 users is 92%, and the average evaluation score for the amount of learning is 94 points.

이와 같이, 학습량 테이블(20)은, 매우 방대한 다수의 사용자들의 현재 교육과정에 따른 학습 데이터들을 대상으로 사용자들 각각에 대응하는 학업성취능력 타입을 군집화 엔진(102a)을 이용하여 예측하고, 예측된 학업성취능력 타입에 따라 다음 교육과정에 따른 학습 데이터들에 대한 통계 데이터를 산출하는 방식으로 구성될 수 있다.In this way, the learning amount table 20 predicts the academic achievement type corresponding to each of the users based on the learning data according to the current curriculum of a very large number of users using the clustering engine 102a, and predicts the predicted According to the type of academic achievement, it may be configured in a manner of calculating statistical data for learning data according to the following curriculum.

이와 같이 학습량 테이블(20)이 현재 교육과정에 따른 학습 데이터들을 기반으로 예측된 학업성취능력 타입에 따라 분류되어 있어, 특정 타겟 사용자의 현재 교육과정에 따른 학습데이터들을 기초로 다음 교육과정에 따른 학습량을 추천하는 것이 용이하다.As described above, the amount of learning table 20 is classified according to the type of academic achievement predicted based on the learning data according to the current curriculum, so the amount of learning according to the next curriculum based on the learning data according to the current curriculum of a specific target user It is easy to recommend

학습량 테이블(20)이 생성되면 추천 학습량을 제공하는 기능이 활성화된다.When the learning amount table 20 is generated, the function of providing the recommended learning amount is activated.

또한, 학습량 테이블 생성부(103)는, 학습량 테이블(20)을 생성한 이후에, 추천 학습량에 따라 타겟 사용자의 다음 교육과정에 대하여 수행된 학습 데이터를 이용하여 학습량 테이블(20)을 갱신함으로써 계속 새로운 데이터가 추가되도록 구성되는 것이 바람직하다.In addition, the learning amount table generating unit 103 continues by updating the learning amount table 20 by using the learning data performed for the next educational course of the target user according to the recommended learning amount after generating the learning amount table 20 . It is preferably configured so that new data is added.

구체적으로, 학습 데이터 수집부(101)는, 타겟 사용자의 학생 단말(200)로부터 타겟 사용자의 현재 교육과정에 따른 타겟 학습 데이터를 획득할 수 있다. 여기서 현재 교육과정이란 타겟 사용자가 현재 진행하고 있는 교육과정의 단계를 의미할 수 있다.Specifically, the learning data collection unit 101 may acquire target learning data according to the current curriculum of the target user from the student terminal 200 of the target user. Here, the current curriculum may refer to a stage of a curriculum currently in progress by the target user.

학업성취능력 예측부(102)는, 현재 교육과정에 따른 타겟 학습 데이터를 기반으로 타겟 사용자에 대응하는 학업성취능력 타입을 예측할 수 있다. The academic achievement predicting unit 102 may predict the academic achievement type corresponding to the target user based on target learning data according to the current curriculum.

일 실시예에서, 학업성취능력 예측부(102)는, 군집화 엔진(102a)을 이용하여 타겟 사용자와 대응하는 클러스터를 결정하고, 결정된 클러스터에 부여된 학업성취능력 타입을 타겟 사용자에 대응하는 학업성취능력 타입으로 예측할 수 있다.In an embodiment, the academic achievement predicting unit 102 determines a cluster corresponding to the target user using the clustering engine 102a, and sets the academic achievement type assigned to the determined cluster to the academic achievement corresponding to the target user. It can be predicted by the ability type.

다른 일 실시예에서, 학업성취능력 예측부(102)는, 딥러닝 기반의 인공신경망 엔진(102b)을 이용하여 타겟 사용자와 대응하는 학업성취능력 타입을 예측할 수도 있다. 인공신경망 엔진(102b)은, 훈련 데이터를 이용하여 미리 지도학습될 수 있다.In another embodiment, the academic achievement predicting unit 102 may predict the academic achievement type corresponding to the target user by using the deep learning-based artificial neural network engine 102b. The artificial neural network engine 102b may be supervised in advance using training data.

이때, 훈련 데이터를 구성하는 훈련 입력값은 다수의 사용자들 각각으로부터 수집된 학습 데이터를 이용하여 생성된 학습 특징 벡터일 수 있고, 훈련 출력값은 군집화 엔진(102a)을 이용하여 사용자들 각각에 대응하는 클러스터에 대하여 부여된 학업성취능력 타입일 수 있다.In this case, the training input value constituting the training data may be a learning feature vector generated using the learning data collected from each of a plurality of users, and the training output value corresponds to each of the users using the clustering engine 102a. It may be the type of academic achievement given to the cluster.

즉, 인공신경망 엔진(102b)은, 군집화 엔진(102a)을 통해 학업성취능력 타입이 라벨링(labeling)된 훈련 출력값을 제공받기 때문에, 인공신경망을 지도학습하기 위한 방대한 학습 데이터 수집의 어려움을 해소할 수 있다.That is, since the artificial neural network engine 102b receives the training output value labeled with the academic achievement type through the clustering engine 102a, the difficulty of collecting massive learning data for supervising the artificial neural network can be solved. can

게다가, 군집화 엔진(102a)이, 머신러닝 기반의 가우시안 혼합 모델을 이용하여 구현되기 때문에 군집화 엔진(102a)을 통해 라벨링된 훈련 출력값을 사용하더라도 통계적으로 유의미하게 라벨링될 수 있어 이를 통해 학습된 인공신경망 엔진(102b)의 학업성취능력 타입에 대한 예측 정확도가 비교적 정확하게 구현된다.In addition, since the clustering engine 102a is implemented using a machine learning-based Gaussian mixture model, even if the training output value labeled through the clustering engine 102a is used, it can be labeled statistically and meaningfully. The prediction accuracy for the academic achievement type of the engine 102b is implemented relatively accurately.

추천 학습량 결정부(104)는, 학습량 테이블(20)에서 타겟 사용자에 대하여 예측된 학업성취능력 타입에 대응하는 학습량 별 통계 데이터를 이용하여 미리 지정된 수학식에 따른 가중점수를 산출하고, 산출된 가중점수에 기초하여 추천 학습량을 결정할 수 있다.The recommended learning amount determining unit 104 calculates a weighted score according to a predetermined equation using statistical data for each learning amount corresponding to the type of academic achievement predicted for the target user in the learning amount table 20 , and calculates the calculated weight A recommended learning amount may be determined based on the score.

예를 들어, 가중점수는 도 4에 도시된 것과 같이 학업성취능력 타입과 학습량에 따른 통계 데이터들을 대상으로 산출되며, 구체적으로 하기 수학식 1에 따라 산출될 수 있다. For example, as shown in FIG. 4 , the weighted score is calculated for statistical data according to the type of academic achievement and the amount of learning, and may be specifically calculated according to Equation 1 below.

Figure 112021140496157-pat00002
Figure 112021140496157-pat00002

수학식 1을 참조하면, N은 학업성취능력 타입과 학습량에 해당하는 학습인원들의 수이고, Nmin은 미리 학습능력 타입과 학습량에 따라 개별적으로 정의되는 최소 학습인원의 수이고, PP는 학업성취능력 타입과 학습량에 해당하는 학습인원들의 평가 통과율이고, acSC는 학업성취능력 타입과 학습량에 해당하는 학습인원들의 평가점수의 평균이고, k는 미리 학습성취능력 타입과 학습량에 따라 개별적으로 정의되는 가중치 상수이고, avgN은 학업성취능력 타입별 학습인원들의 수에 대한 평균값일 수 있다.Referring to Equation 1, N is the number of learners corresponding to the academic achievement type and learning amount, Nmin is the minimum number of learners individually defined in advance according to the learning ability type and learning amount, and PP is the academic achievement ability It is the evaluation pass rate of the learners corresponding to the type and learning amount, acSC is the average of the evaluation scores of the learners corresponding to the academic achievement type and learning amount, and k is a weight constant defined individually according to the learning achievement type and learning amount in advance. , and avgN may be an average value of the number of learners for each academic achievement type.

예를 들어, 타겟 사용자에 대하여 예측된 학업성취능력 타입이 클러스터 A에 해당하는 경우, 도 4에 도시된 것과 같이 학업성취능력 타입이 클러스터 A에 대응하는 다수의 학습량들 각각에 대한 통계 데이터들을 이용하여 학습량들 각각에 대하여 수학식 1에 따른 가중점수를 산출할 수 있다.For example, when the academic achievement type predicted for the target user corresponds to cluster A, as shown in FIG. 4 , statistical data for each of a plurality of learning amounts corresponding to the cluster A of the academic achievement type is used. Thus, it is possible to calculate a weighted score according to Equation 1 for each of the learning amounts.

이때, 추천 학습량 결정부(104)는, 수학식 1에 따라 학습량들 각각에 대하여 산출된 가중점수들 중에서, 가장 높게 산출된 가중점수와 대응하는 학습량을 추천 학습량으로서 결정할 수 있다.In this case, the recommended learning amount determiner 104 may determine, as the recommended learning amount, a learning amount corresponding to the highest calculated weighted score among weighted scores calculated for each of the learning amounts according to Equation 1 .

즉, 도 4에서의 경우, 가중점수가 학습량으로서 주별 학습횟수가 3회이고, 일별 학습레슨의 개수가 3개일 때 가장 높은 값으로 산출되었기 때문에, 다음 교육과정에서의 추천 학습량은 주별 학습횟수가 3회이고, 일별 학습레슨의 개수가 3개인 학습량으로 결정된다.That is, in the case of FIG. 4, since the weighted score was calculated as the highest value when the number of learning times per week was 3 and the number of daily learning lessons was 3 as the amount of learning, the recommended learning amount in the next curriculum is the number of learning times per week. It is 3 times, and the number of learning lessons per day is determined by the amount of learning that is three.

도 5는 도 2에 따른 군집화 엔진의 동작을 설명하기 위한 도면이다.FIG. 5 is a diagram for explaining the operation of the clustering engine according to FIG. 2 .

군집화 엔진(102a)은 사용자별로 수집되는 학습 데이터들을 이용하여 사용자의 현재 교육과정을 대표하는 학습 특징 벡터를 생성할 수 있다.The clustering engine 102a may generate a learning feature vector representing the user's current curriculum by using the learning data collected for each user.

예를 들어, 도 5를 참조하면, 군집화 엔진(102a)은, 사용자별 수집되는 현재 교육과정에 따른 학습 데이터들을 이용하여 현재 교육과정과 레슨에 따른 문제풀이 횟수, 평가 통과 횟수, 교육과정에서의 평균 통과 횟수, 교육과정에서의 평균 점수, 및 레슨에서의 테스트 점수를 포함하는 전처리 학습 데이터를 획득할 수 있다.For example, referring to FIG. 5 , the clustering engine 102a uses the learning data according to the current curriculum collected for each user, the number of problem solving according to the current curriculum and lesson, the number of evaluation passes, and the number of times in the curriculum. It is possible to obtain preprocessing learning data including the average number of passes, the average score in the curriculum, and the test score in the lesson.

군집화 엔진(102a)은 획득된 전처리 학습 데이터에 포함된 지표들 중 적어도 일부를 이용하여 사용자에 대응하는 학습 특징 벡터를 생성할 수 있다.The clustering engine 102a may generate a learning feature vector corresponding to the user by using at least some of the indices included in the obtained pre-processing learning data.

예를 들어, 군집화 엔진(102a)은, 현재 교육과정에서 레슨의 식별기호, 전처리 학습 데이터에서 문제풀이 횟수, 평가 통과 횟수, 평균 통과 횟수, 평균 점수, 및 레슨에서의 테스트 점수 각각을 성분값으로 하는 학습 특징 벡터를 생성할 수 있다.For example, the clustering engine 102a uses each of the identifier of the lesson in the current curriculum, the number of problem solving in the preprocessing learning data, the number of evaluation passes, the average number of passes, the average score, and the test score in the lesson as component values. It is possible to create a learning feature vector that

학습 특징 벡터는, 현재 교육과정에 속하는 레슨들마다 각각 하나씩 생성될 수 있다.One learning feature vector may be generated for each lesson belonging to the current curriculum.

군집화 엔진(102a)은 사용자들 각각의 현재 교육과정에 따른 적어도 하나의 학습 특징 벡터를 이용하여 사용자들 각각을 다수의 클러스터들 중 하나로 분류(classify)할 수 있다. 예를 들어, 가우시안 혼합 모델(GMM)의 경우, 미리 지정된 K(K는 1보다 큰 자연수)개의 가우시안 분포들 각각이 클러스터와 대응하며. 사용자들을 K개의 가우시안 분포들 중 하나로 분류하도록 동작한다.The clustering engine 102a may classify each of the users into one of a plurality of clusters using at least one learning feature vector according to the current curriculum of each of the users. For example, in the case of a Gaussian mixture model (GMM), each of K (K is a natural number greater than 1) Gaussian distributions specified in advance corresponds to a cluster. It operates to classify users into one of K Gaussian distributions.

구체적으로, 군집화 엔진(102a)의 경우, 베이즈 정리(Bayes' theorem)를 이용하여 K개의 가우시안 분포들 중에서 하기 수학식 2에 따른 가우시안 분포 선택함수(γ)의 결과값이 가장 높은 가우시안 분포를 선정하고, 선정된 가우시안 분포를 해당 사용자의 현재 교육과정에 대응하는 학업성취능력 타입으로 결정한다. Specifically, in the case of the clustering engine 102a, the Gaussian distribution having the highest result value of the Gaussian distribution selection function (γ) according to Equation 2 below among K Gaussian distributions using Bayes' theorem is selected, and the selected Gaussian distribution is determined as the academic achievement ability type corresponding to the current curriculum of the user.

Figure 112021140496157-pat00003
Figure 112021140496157-pat00003

수학식 2에서 (γ)는 선택함수이고, xn은 해당 교육과정에서 n번째 레슨에 따른 학습 특징 벡터이고, znk는 학습 특징 벡터가 주어졌을 때 가우시안 혼합 모델에서 k(k는 1과 K 사이의 자연수)번째 가우시안 분포가 선택되면 1이고, 아니면 0의 값을 갖는 2진 변수이다. 또한 수학식 2에서 μ와 Σ는 가우시안 혼합 모델에 따른 파라미터로서 미리 가우시안 혼합 모델에 대한 학습 과정을 통해 확정되는 값이다. 가우시안 혼합 모델에 따른 파라미터를 결정하기 위한 학습 과정에 대해서는 Christopher Bishop의 Pattern Recognition and Machine Learning, 2008.03.18 을 참조하면 이해할 수 있으므로 구체적인 설명은 생략한다.In Equation 2, (γ) is a selection function, x n is a learning feature vector according to the nth lesson in the corresponding curriculum, and z nk is k (k is 1 and K in a Gaussian mixture model when a learning feature vector is given) It is a binary variable with a value of 1 if the Gaussian distribution is selected, otherwise 0. Also, μ and Σ in Equation 2 are parameters according to the Gaussian mixture model, and are values determined in advance through a learning process for the Gaussian mixture model. For the learning process for determining the parameters according to the Gaussian mixture model, it can be understood by referring to Christopher Bishop's Pattern Recognition and Machine Learning, 2008.03.18, so a detailed description will be omitted.

도 6은 도 2에 따른 인공신경망 엔진의 동작을 설명하기 위한 도면이다. 도 7은 도 6에 따른 인공신경망 엔진의 구조를 구체적으로 도시한 도면이다. 도 8은 일 실시예에 따른 자가주의집중계층에서의 K벡터를 결정하는 방법을 설명하기 위한 도면이다.FIG. 6 is a view for explaining the operation of the artificial neural network engine according to FIG. 2 . 7 is a diagram specifically illustrating the structure of the artificial neural network engine according to FIG. 6 . 8 is a diagram for explaining a method of determining a K vector in a self-attention layer according to an embodiment.

도 6을 참조하면, 딥러닝 기반의 인공신경망 엔진(102b)은, 훈련 데이터를 구성하는 훈련 입력값으로 현재 교육과정에 따른 레슨 별 학습 특징 벡터들을 순차적으로 입력받았을 때, 인공신경망 엔진(102b)의 출력값으로 얻어지는 학업성취능력 타입을 훈련출력값과 서로 비교하고 비교 결과에 따라 인공신경망 엔진(102b)을 구성하는 파라미터들(parameters)을 조정(tuning)하는 방식으로 지도학습된다.6, when the deep learning-based artificial neural network engine 102b sequentially receives learning feature vectors for each lesson according to the current curriculum as training input values constituting training data, the artificial neural network engine 102b Supervised learning is performed by comparing the academic achievement ability type obtained as the output value of , with the training output value, and tuning parameters constituting the artificial neural network engine 102b according to the comparison result.

구체적으로, 딥러닝 기반의 인공신경망 엔진(102b)은, 인공신경망 엔진(102b)의 출력값으로 얻어지는 학업성취능력 타입을 지시하는 출력벡터와 훈련출력값에 따른 학업성취능력 타입을 지시하는 훈련출력벡터를 이용하여 미리 정의된 손실함수(loss function)에 따라 산출하고, 산출된 손실함수의 결과값이 최소화되도록 인공신경망 엔진(102b)을 구성하는 파라미터들을 조정할 수 있다.Specifically, the deep learning-based artificial neural network engine 102b generates an output vector indicating the academic achievement type obtained as an output value of the artificial neural network engine 102b and a training output vector indicating the academic achievement ability type according to the training output value. It is calculated according to a pre-defined loss function by using it, and parameters constituting the artificial neural network engine 102b may be adjusted so that the result value of the calculated loss function is minimized.

이때, 손실함수는 크로스 엔트로피(Cross Entropy) 함수일 수 있다.In this case, the loss function may be a cross entropy function.

도 7을 참조하면, 인공 신경망 엔진(102b)은, 학습 특징 벡터(X)를 입력받고, 입력받은 학습 특징 벡터의 성분값 개수와 동일한 개수(N)의 입력 노드들로 구성되는 입력층(11), 입력층(11)으로부터 전달받은 출력값들을 이용하여 산출된 출력 벡터(Y`)를 출력층(13)에 전달하는 은닉층(12), 및 출력 벡터(Y`)에 활성화 함수를 적용하여 출력 벡터(Y`)에 대응하는 확률(p)을 결정하고, 결정된 확률(p)이 가장 높은 출력 벡터(Y`)를 출력하는 출력층(13)을 포함할 수 있다. 본 발명에서 인공 신경망 엔진(102b)을 구성하는 노드들 각각은 본 발명이 속하는 기술분야에서 흔히 사용하는 표현인 뉴런(neuron)이라는 용어로도 혼용하여 지칭될 수 있다.Referring to FIG. 7 , the artificial neural network engine 102b receives a learning feature vector (X), and the input layer 11 is composed of the same number of input nodes as the number of component values of the received learning feature vector (N). ), a hidden layer 12 that transmits an output vector Y′ calculated using the output values received from the input layer 11 to the output layer 13, and an output vector by applying an activation function to the output vector Y′ The output layer 13 may include an output layer 13 that determines a probability p corresponding to (Y′) and outputs an output vector Y′ having the highest determined probability p. In the present invention, each of the nodes constituting the artificial neural network engine 102b may be referred to as a neuron, which is an expression commonly used in the technical field to which the present invention belongs.

구체적으로, 인공 신경망 엔진(102b)은, 훈련 입력값으로 제공된 학습 특징 벡터(X)를 입력받으면, 은닉층(12)의 출력으로서 획득되는 출력 벡터(Y`)와 훈련 출력값으로 제공받은 학업성취능력 타입을 지시하는 훈련출력벡터(Y)를 사용하여 손실함수(loss function)을 연산하고, 연산된 손실함수의 결과값이 최소화되도록 지도학습된다.Specifically, when the artificial neural network engine 102b receives a learning feature vector (X) provided as a training input value, an output vector (Y′) obtained as an output of the hidden layer 12 and academic achievement ability provided as a training output value A loss function is calculated using the training output vector (Y) indicating the type, and supervised learning is performed so that the result of the calculated loss function is minimized.

예를 들어, 손실 함수(H(Y,Y`))는, 크로스 엔트로피(Cross Entropy) 함수일 수 있다. 출력 벡터(Y`)와 훈련출력벡터(Y) 사이의 크로스 엔트로피(H(Y,Y`))는 다음의 수학식 3과 같이 정의될 수 있다.For example, the loss function H(Y, Y`) may be a cross entropy function. The cross entropy (H(Y, Y')) between the output vector (Y') and the training output vector (Y) may be defined as in Equation 3 below.

Figure 112021140496157-pat00004
Figure 112021140496157-pat00004

수학식 3에서 Ym은 훈련출력벡터(Y)의 m(m은 1 이상의 자연수)번째 성분이고, Y`m은 출력 벡터(Y`)의 m번째 성분일 수 있다.In Equation 3, Ym may be the m-th component (m is a natural number greater than or equal to 1) of the training output vector (Y), and Y'm may be the m-th component of the output vector (Y').

입력층(11)은 학습 특징 벡터(X)를 입력받고, 입력받은 학습 특징 벡터(X)의 성분들 각각에 대하여, 입력 노드들과 대응하는 하나 이상의 연결 강도값들을 적용하여 은닉층(12)에 전달할 수 있다.The input layer 11 receives a learning feature vector (X), and applies one or more connection strength values corresponding to input nodes to each of the components of the received learning feature vector (X) to the hidden layer 12 . can transmit

예를 들어, 입력 노드들 각각에 대응하는 하나 이상의 연결 강도값들은 N×M의 크기를 갖는 제1 연결강도 행렬(WN×M)로 표현할 수 있다. 이때, N은 입력노드들과 동일한 개수일 수 있고, M은 N보다 1/10 배 이하로 충분히 작게 설정된다. 제1 연결강도 행렬(WN×M)은 임의의 초기값으로 설정된 후 지도학습을 통해 지속적으로 갱신되는 파라미터일 수 있다.For example, one or more connection strength values corresponding to each of the input nodes may be expressed as a first connection strength matrix W N×M having a size of N×M. In this case, N may be the same number as the input nodes, and M is set sufficiently smaller than N by 1/10 times or less. The first connection strength matrix (W N×M ) may be a parameter that is set to an arbitrary initial value and is continuously updated through supervised learning.

종합하면, 입력층(11)은 입력받은 학습 특징 벡터(X)에 제1 연결강도 행렬(WN×M)을 행렬곱 연산하여 얻어진 중간 연산 벡터(X)을 은닉층(12)에 전달할 수 있다.In summary, the input layer 11 may transmit an intermediate operation vector (X) obtained by matrix multiplication operation of the received learning feature vector (X) with the first connection strength matrix (W N×M ) to the hidden layer 12 . .

은닉층(12)은, 입력층(11)으로부터 전달받은 중간 연산 벡터(X)에서 획득되는 특징 벡터(feature vector, F)에 은닉 노드들 각각에 대응하는 하나 이상의 연결 강도를 적용하여 출력 벡터(Y`)를 생성하고, 생성된 출력 벡터(Y`)를 출력층(13)에 전달할 수 있다. The hidden layer 12 applies one or more connection strengths corresponding to each of the hidden nodes to a feature vector (F) obtained from an intermediate operation vector (X) transmitted from the input layer 11 to an output vector (Y). `), and the generated output vector (Y`) may be transmitted to the output layer 13 .

예를 들어, 은닉층(12)은, 중간 연산 벡터(X)로부터 아래 수학식 4를 만족하는 대각 행렬(diagonal matrix)인 특징 벡터(F)를 획득할 수 있다.For example, the hidden layer 12 may obtain the feature vector F, which is a diagonal matrix satisfying Equation 4 below, from the intermediate operation vector X.

Figure 112021140496157-pat00005
Figure 112021140496157-pat00005

수학식 4에서, R는 대각 행렬인 특징 벡터(F)와 중간 연산 벡터(X) 사이에 수학식4에 따른 관계를 가역적으로 만족시키는 행렬로서, 좌표변환행렬에 해당한다. 수학식 4에 따른 연산은 대각화 연산의 하나로 지칭될 수 있으며, 통상의 기술자에게 쉽게 이해될 수 있으므로 구체적인 설명은 생략한다.In Equation 4, R is a matrix that reversibly satisfies the relation according to Equation 4 between the diagonal matrix feature vector F and the intermediate operation vector X, and corresponds to a coordinate transformation matrix. The operation according to Equation 4 may be referred to as one of the diagonalization operations, and since it can be easily understood by those skilled in the art, a detailed description thereof will be omitted.

이때, 은닉 노드들 각각에 대응하는 하나 이상의 연결 강도값들은 M×Q의 크기를 갖는 제2 연결강도 행렬(UM×Q)로 표현할 수 있다. 즉, 제2 연결강도 행렬(UM×Q)은 M개의 차원으로 사상된 특징 벡터(F)를 다시 Q개의 차원으로 늘린다. Q는 M보다 10배 이상 충분히 큰 값으로 설정된다.In this case, one or more connection strength values corresponding to each of the hidden nodes may be expressed as a second connection strength matrix (U M×Q ) having a size of M×Q. That is, the second connection strength matrix (UM×Q) increases the feature vector F mapped in M dimensions to Q dimensions again. Q is set to a value sufficiently larger than M by 10 times or more.

한편, 제2 연결강도 행렬(UM×Q)의 초기값은 임의의 값으로 설정된 후, 특징 벡터(F)와 제2 연결강도 행렬(UM×Q) 사이의 행렬곱 연산하여 생성된 출력 벡터(Y`)가 훈련 출력값인 훈련출력벡터(Y)가 되도록 지속적으로 갱신될 수 있다. 즉, 제2 연결강도 행렬(UM×Q)도 훈련 데이터를 지속적으로 지도학습함에 따라 갱신되는 파라미터일 수 있다.On the other hand, after the initial value of the second connection strength matrix (U M×Q ) is set to an arbitrary value, the output generated by the matrix multiplication operation between the feature vector (F) and the second connection strength matrix (U M×Q ) The vector (Y`) may be continuously updated to become the training output vector (Y), which is the training output value. That is, the second connection strength matrix (U M×Q ) may also be a parameter that is updated as the training data is continuously supervised.

즉, 은닉층(12)은, 입력층(11)으로부터 전달받은 중간 연산 벡터(X)를 특징 벡터로 변환하고, 특징 벡터에 대하여 연결강도를 적용하여 출력 벡터(Y`)를 생성하므로, 마치 CNN(convolutional neural network)의 특징 추출을 담당하는 컨볼루셔널 레이어와 유사한 기능을 은닉층(12)에서 수행하도록 구성할 수 있다.That is, the hidden layer 12 converts the intermediate operation vector (X) received from the input layer 11 into a feature vector, and applies the connection strength to the feature vector to generate an output vector (Y'), so it is like a CNN A function similar to the convolutional layer responsible for feature extraction of a (convolutional neural network) may be configured to be performed in the hidden layer 12 .

출력층(13)은, 은닉층(12)으로부터 전달받은 출력 벡터(Y`)에 활성화 함수를 적용함으로써 출력 벡터(Y`)에 대응하는 확률(p)을 결정하고, 결정된 확률(p)이 가장 높은 출력 벡터(Y`)를 출력할 수 있다. 활성화 함수는 다양한 범위를 가지는 값들을 0과 1 사이의 값으로 확대 또는 축소함으로써 확률로 변환하는 효과가 있다. 예를 들어, 활성화 함수는, ReLU 함수 또는 Softmax 함수일 수 있으나 이에 한정되는 것은 아니다.The output layer 13 determines a probability p corresponding to the output vector Y′ by applying an activation function to the output vector Y′ received from the hidden layer 12, and the determined probability p has the highest You can output an output vector (Y`). The activation function has the effect of converting values having various ranges into probabilities by expanding or reducing them to values between 0 and 1. For example, the activation function may be a ReLU function or a Softmax function, but is not limited thereto.

한편, 일 실시예에서 입력층(11)과 은닉층(12) 사이에 2의 8제곱에 해당하는 값인 256의 p 배수(p는 2 이상의 자연수로서 예를 들면 3)에 해당하는 개수의 뉴런들로 구성되는 자가주의집중 계층(14)이 더 포함될 수 있다. 자가주의집중계층(14, self-attention layer)은, 자기집중 메커니즘(self-attention mechanism)에 따른 기법을 수행하는 계층으로서, 입력층(11)으로부터 전달되는 시퀀스로부터 정보를 통합하는 신경망 구조의 한 종류이다. On the other hand, in an embodiment, between the input layer 11 and the hidden layer 12, a value corresponding to the power of 2 is a p multiple of 256 (p is a natural number equal to or greater than 2, for example 3). The configured self-attention layer 14 may be further included. The self-attention layer (14) is a layer that performs a technique according to the self-attention mechanism, and is one of the neural network structures that integrates information from the sequence transmitted from the input layer (11). it is kind

자가집중 메커니즘에 대해서는 Vaswani , output probability to another component or to another sys- A. , Shazeer , N. , Parmar , N. , Uszkoreit , J. , Jones , L. , Gomez , tem , and the like . Examples of the output terminal may 45 A. N. , Kaiser , L. and Polosukhin , I. , 2017.을 참조하여 이해될 수 있으므로, 기본적인 설명은 간략히 하였다.For self-focusing mechanisms, Vaswani , output probability to another component or to another sys- A. , Shazeer , N. , Parmar , N. , Uszkoreit , J. , Jones , L. , Gomez , tem , and the like . Examples of the output terminal may 45 A. N. , Kaiser , L. and Polosukhin , I. , 2017. Since it can be understood with reference to, the basic explanation has been simplified.

한편, 본 발명의 일 실시예에서 자가주의집중계층(14)은, 입력층(11)의 출력으로 제공되는 중간 연산 벡터(X)들 각각의 중요도를 판별하여 중요도가 상대적으로 낮은 정보를 배제시켜 은닉층(12)으로 전달하도록 동작함으로써 예측 결과를 높일 수 있는 역할을 한다. 특히, 입력층(11)으로 하나의 교육 과정에 따른 레슨 별 학습 특징 벡터(X)가 순차적으로 입력될 경우, 다음 교육 과정에 영향이 큰 레슨과 영향이 적은 레슨이 구별되기 때문에 이를 고려하여 은닉층(12)에 전달함으로써 예측 성공율을 높이도록 구성하는 것이 바람직하다.On the other hand, in an embodiment of the present invention, the self-attention layer 14 determines the importance of each of the intermediate operation vectors X provided as an output of the input layer 11, and excludes information having a relatively low importance. By operating to transfer to the hidden layer 12, it serves to increase the prediction result. In particular, when a learning feature vector (X) for each lesson according to one training course is sequentially input to the input layer 11, a lesson with a large influence on the next training course and a lesson with a small influence are distinguished. It is preferable to configure so as to increase the prediction success rate by passing to (12).

구체적으로, 자가주의집중계층(14)은, 쿼리(query)와 키(key), 값(value)이라고 하는 3개의 변수들 각각과 대응하는 벡터들을 이용하여 입력층(11)에서 전달받는 중간 연산 벡터(X)들 마다 중요도를 나타내는 자가주의집중 값(α)을 산출한 뒤, 입력층(11)에서 전달받은 중간 연산 벡터(X)들 중에서, 산출된 자가주의집중 값이 가장 높게 산출되는 중간 연산 벡터(X)를 선정하여 은닉층(12)으로 전달하도록 구성될 수 있다.Specifically, the self-attention layer 14 is an intermediate operation received from the input layer 11 using vectors corresponding to each of three variables, namely a query, a key, and a value. After calculating the self-attention value (α) indicating the importance for each vector (X), among the intermediate operation vectors (X) received from the input layer 11, the intermediate value in which the calculated self-attention value is calculated the highest It may be configured to select an operation vector (X) and transmit it to the hidden layer (12).

자가주의집중 값(α)을 산출하기 위하여, 쿼리(query) 변수와 대응하는 q벡터, 키(key) 변수와 대응하는 K벡터, 값(value) 변수와 대응하는 V 벡터가 먼저 결정되어야 한다. 여기서, q벡터는 중요도를 판별하고자 하는 대상으로서, 본 발명에서는 입력층(11)의 출력으로 제공되는 중간 연산 벡터(X)일 수 있다. K벡터는 q벡터와 연산됨으로써 중요도 판별의 기준값을 도출하는 역할을 할 수 있다. V벡터는 K벡터와 q벡터 사이의 연산 결과로 얻어지는 확률값에 대해 적절한 크기의 자가주의집중 값(α)을 도출하는 역할을 한다. q벡터, K벡터, 및 v벡터는 모두 동일한 차원을 갖는 벡터이다.In order to calculate the self-attention value (α), a q vector corresponding to a query variable, a K vector corresponding to a key variable, and a V vector corresponding to a value variable must first be determined. Here, the q vector is an object for which importance is to be determined, and in the present invention, it may be an intermediate operation vector (X) provided as an output of the input layer 11 . The K vector can serve to derive a reference value for determining importance by being calculated with the q vector. The V vector plays a role in deriving the self-attention value (α) of an appropriate size for the probability value obtained as a result of the operation between the K vector and the q vector. The q vector, the K vector, and the v vector are all vectors having the same dimension.

도 8을 참조하면, 일 실시예에서 K 벡터는 현재 교육과정에 따른 레슨의 총 개수, 레슨에서 문제풀이 횟수에 따른 평가 통과 횟수의 비율, 및 현재 교육과정에서 평균 통과 횟수에 따른 평균 점수의 비율 각각을 성분값으로 갖는 초기 K벡터가 구성될 수 있다.Referring to FIG. 8 , in one embodiment, the K vector is the total number of lessons according to the current curriculum, the ratio of the number of evaluation passes according to the number of problem solving in the lesson, and the ratio of the average score according to the average number of passes in the current curriculum An initial K vector having each as a component value may be constructed.

다음으로, 초기 K벡터가 q벡터와 대응하는 차원을 갖도록 미리 설정된 기준값을 이용하여 패딩(padding) 처리되고, 마스크 벡터(mask vecter)와 쉬프트 내적 연산된 결과값으로서 K벡터가 결정될 수 있다. 마스크 벡터는 연산 대상이 되는 성분값들에 대한 데이터 평활화(data smoothing)을 하는 벡터로서, 다양한 형태의 스무딩용 벡터들이 존재하므로 통상의 기술자는 주지된 스무딩 벡터들 중 하나를 선택적으로 활용할 수 있다.Next, the initial K vector may be padded using a preset reference value to have a dimension corresponding to the q vector, and the K vector may be determined as a result value obtained by performing a shift dot product operation with a mask vector. A mask vector is a vector that performs data smoothing on component values to be calculated. Since various types of smoothing vectors exist, a person skilled in the art can selectively use one of well-known smoothing vectors.

쉬프트 내적 연산은 마스크 벡터가 하나의 성분값씩 이동하면서 패딩 처리된 초기 K벡터와의 내적(dot)연산을 순차적으로 수행하는 것을 의미할 수 있다. 즉, 내적 연산이 수행될 때마다 순차적으로 얻어지는 결과값들이 K벡터의 성분값들이 된다. The shift dot product operation may mean sequentially performing a dot product operation with the padded initial K vector while the mask vector moves one component value. That is, whenever the dot product operation is performed, sequentially obtained result values become the component values of the K vector.

V 벡터는 관리자에 의해 미리 설정되는 고정된 성분값을 갖는 벡터일 수 있다.The V vector may be a vector having a fixed component value preset by an administrator.

결정된 q벡터, K벡터, V벡터를 기반으로 하기 수학식에 따른 자가주의집중 값(α)이 다음과 같이 산출될 수 있다.Based on the determined q vector, K vector, and V vector, the self-attention value α according to the following equation can be calculated as follows.

Figure 112021140496157-pat00006
Figure 112021140496157-pat00006

상기 수학식 5를 참조하면, activate는 입력값에 대한 확률값을 출력하는 활성화함수로서 전술한 ReLU 함수 또는 Softmax 함수일 수 있다. q는 상기 q벡터이고, K는 상기 K벡터이고, V는 상기 V벡터이고, d는 q벡터와 K벡터 사이의 연산 결과를 미리 설정된 크기의 값 이하로 낮춰주는 상수로서 미리 설정되는 값일 수 있다. Referring to Equation 5 above, activate is an activation function that outputs a probability value with respect to an input value, and may be the aforementioned ReLU function or Softmax function. q is the q vector, K is the K vector, V is the V vector, and d is a constant that lowers the operation result between the q vector and the K vector to less than or equal to a value of a preset size, and may be a preset value. .

본 발명의 일 실시예에서 은닉층(12)은, 동일한 개수의 뉴런들을 가지며, 서로 다르고 순차적으로 연결된 복수의 은닉층들로 구성될 수 있다. 예를 들어, 은닉층(12)은 서로 다르고 순차적으로 연결된 제1 은닉층, 제2 은닉층, 제3 은닉층, 및 제4 은닉층으로 구성될 수 있다. 이때, 제1 내지 제4 은닉층은 선형 레이어(linear layer)일 수 있으며, 제1 내지 제4 은닉층들 중에서 적어도 하나는 밀집 레이어(dense layer)일 수 있다. 여기서 선형 레이어 또는 밀집 레이어의 지정은 Tensorflow에서 미리 정의된 함수를 통해 간단하게 설정될 수 있으므로 설명은 생략한다.In an embodiment of the present invention, the hidden layer 12 has the same number of neurons and may be composed of a plurality of different and sequentially connected hidden layers. For example, the hidden layer 12 may include a first hidden layer, a second hidden layer, a third hidden layer, and a fourth hidden layer that are different and sequentially connected. In this case, the first to fourth hidden layers may be linear layers, and at least one of the first to fourth hidden layers may be a dense layer. Here, the designation of a linear layer or a dense layer can be simply set through a predefined function in Tensorflow, so a description will be omitted.

또한, 제1 내지 제4 은닉층들 중에서 적어도 하나는 은닉층들의 개수와 은닉층들 각각이 갖는 뉴런들의 수에 따라 결정되는 확률(p)에 따라 드랍아웃(drop out)이 적용될 수 있다.Also, drop out may be applied to at least one of the first to fourth hidden layers according to a probability p determined according to the number of hidden layers and the number of neurons in each of the hidden layers.

본 발명의 일 실시예에서, 드랍아웃이란, 해당 계층을 구성하는 뉴런들 중에서 확률(p)에 따라 무작위로 선택된 적어도 일부의 뉴런들의 가중치를 0 또는 미리 정의된 상수로 설정함으로써 해당 일부의 뉴런들을 비활성화하거나 방해하도록 구성하는 것을 의미할 수 있다.In an embodiment of the present invention, dropout refers to setting the weights of at least some neurons randomly selected according to probability p among neurons constituting a corresponding layer to 0 or a predefined constant, so that some of the neurons are It can mean disable or configure to interfere.

예를 들어, 제1 은닉층이 768개의 뉴런들로 구성되고, 확률(p)이 0.2인 경우, 768개의 뉴런들 중 무작위로 선택된 20%의 뉴런들(즉, 768/5 개의 뉴런들)에 대한 가중치가 0 또는 미리 정의된 상수로 설정될 수 있다.For example, if the first hidden layer consists of 768 neurons, and the probability p is 0.2, then for 20% of randomly selected neurons among 768 neurons (ie, 768/5 neurons) The weight can be set to 0 or a predefined constant.

예를 들어, 확률(p)는 다음의 수학식 6과 같이 정의될 수 있다.For example, the probability p may be defined as in Equation 6 below.

Figure 112021140496157-pat00007
Figure 112021140496157-pat00007

수학식 6에서 NRn은 제1 내지 제4 은닉층들에 포함된 뉴런들의 평균 개수일 수 있고, HDn은 은닉층들의 전체 개수로서 제1 내지 제4 은닉층들로 구성될 경우 4일 수 있다. In Equation 6, NRn may be the average number of neurons included in the first to fourth hidden layers, and HDn may be the total number of hidden layers and may be 4 when the first to fourth hidden layers are configured.

이처럼, 제1 내지 제4 은닉층들 중에서 적어도 하나에 대하여 드랍아웃을 적용할 경우, 은닉층들의 수와 각 뉴런들의 수가 증가함에 따라 발생할 수 있는 과적합 경향성을 보상하거나 상쇄할 수 있어 더 높은 예측 효과를 가져오는 데 도움이 될 수 있다. As such, when dropout is applied to at least one of the first to fourth hidden layers, it is possible to compensate or offset the tendency of overfitting that may occur as the number of hidden layers and the number of each neuron increases, so that a higher prediction effect can be obtained. It can help to bring

일 실시예에서, 제1 내지 제4 은닉층들 중에서 제1 은닉층 및 제3 은닉층 내지 제4 은닉층 각각은 서로 동일한 뉴런들의 수로 구성될 수 있다. 예를 들어, 각각 768개의 뉴런들로 구성될 수 있다.In an embodiment, each of the first hidden layer and the third hidden layer to the fourth hidden layer among the first to fourth hidden layers may be configured with the same number of neurons. For example, each may be composed of 768 neurons.

이때, 제1 은닉층 뒤에 연결되는 제2 은닉층을 구성하는 뉴런들의 수는 다른 은닉층들 각각이 갖는 뉴런들의 수보다 적어도 4 배이상 클 수 있다. 제2 은닉층을 구성하는 뉴런들의 수를 다른 은닉층들 각각이 갖는 뉴런들의 수보다 기준치 이상 크게 설정할 경우, 인공 신경망 엔진(102b)이 과적합되는 경향성이 줄어들 수 있는 장점이 있다.In this case, the number of neurons constituting the second hidden layer connected behind the first hidden layer may be at least 4 times greater than the number of neurons in each of the other hidden layers. When the number of neurons constituting the second hidden layer is set to be larger than the reference value or more than the number of neurons in each of the other hidden layers, there is an advantage in that the tendency of the artificial neural network engine 102b to overfit can be reduced.

도 9는 일 실시예에 따른 빅데이터와 인공지능 기반의 개인화된 학습량 추천 장치의 하드웨어 구성을 예시적으로 나타낸 도면이다.9 is a diagram exemplarily illustrating a hardware configuration of an apparatus for recommending personalized learning amount based on big data and artificial intelligence according to an embodiment.

도 9를 참조하면, 학습량 추천 서버(100)는, 적어도 하나의 프로세서(110), 상기 적어도 하나의 프로세서(110)가 적어도 하나의 동작(operation)을 수행하도록 지시하는 명령어들(instructions)을 저장하는 메모리(memory, 120)를 포함할 수 있다.Referring to FIG. 9 , the learning amount recommendation server 100 stores at least one processor 110 and instructions for instructing the at least one processor 110 to perform at least one operation. It may include a memory (memory, 120).

여기서, 적어도 하나의 동작은 전술한 학습량 추천 서버(100)이 동작이나 기능들 중에서 적어도 일부를 포함하는 것으로 해석되며, 중복 설명을 방지하기 위하여 구체적인 설명은 생략된다.Here, at least one operation is interpreted as including at least some of the operations or functions of the above-described learning amount recommendation server 100, and detailed descriptions are omitted to prevent overlapping descriptions.

여기서 적어도 하나의 프로세서(110)는 중앙 처리 장치(central processing unit, CPU), 그래픽 처리 장치(graphics processing unit, GPU), 또는 본 발명의 실시예들에 따른 방법들이 수행되는 전용의 프로세서를 의미할 수 있다. 메모리(120)는 휘발성 저장 매체 및 비휘발성 저장 매체 중에서 적어도 하나로 구성될 수 있다. Here, the at least one processor 110 may mean a central processing unit (CPU), a graphics processing unit (GPU), or a dedicated processor on which methods according to embodiments of the present invention are performed. can The memory 120 may be configured as at least one of a volatile storage medium and a non-volatile storage medium.

학습량 추천 서버(100)는, 적어도 하나의 동작을 수행함에 따른 입력 데이터, 중간 처리 데이터, 임시 데이터, 출력 데이터 등을 비일시적으로 저장하기 위한 저장 장치(160)를 더 포함할 수 있다.The learning amount recommendation server 100 may further include a storage device 160 for non-temporarily storing input data, intermediate processing data, temporary data, output data, etc. according to performing at least one operation.

예를 들어, 메모리(120)는 읽기 전용 메모리(read only memory, ROM) 및 랜덤 액세스 메모리(random access memory, RAM) 중 하나일 수 있고, 저장 장치(160)는, 플래시메모리(flash-memory), 하드디스크 드라이브(HDD), 솔리드 스테이트 드라이브(SSD), 또는 각종 메모리 카드(예를 들어, micro SD 카드) 등일 수 있다.For example, the memory 120 may be one of a read only memory (ROM) and a random access memory (RAM), and the storage device 160 is a flash-memory. , a hard disk drive (HDD), a solid state drive (SSD), or various memory cards (eg, micro SD card).

또한, 학습량 추천 서버(100)는, 무선 네트워크를 통해 통신을 수행하는 송수신 장치(transceiver)(130)를 더 포함할 수 있다. 또한, 학습량 추천 서버(100)는 입력 인터페이스 장치(140), 출력 인터페이스 장치(150) 등을 더 포함할 수 있다. 학습량 추천 서버(100)에 포함된 각각의 구성 요소들은 버스(bus)(170)에 의해 연결되어 서로 통신을 수행할 수 있다.In addition, the learning amount recommendation server 100 may further include a transceiver 130 for performing communication through a wireless network. In addition, the learning amount recommendation server 100 may further include an input interface device 140 , an output interface device 150 , and the like. Each of the components included in the learning amount recommendation server 100 may be connected by a bus 170 to communicate with each other.

학습량 추천 서버(100)의 예를 들면, 통신 가능한 데스크탑 컴퓨터(desktop computer), 랩탑 컴퓨터(laptop computer), 노트북(notebook), 스마트폰(smart phone), 태블릿 PC(tablet PC), 모바일폰(mobile phone), 스마트 워치(smart watch), 스마트 글래스(smart glass), e-book 리더기, PMP(portable multimedia player), 휴대용 게임기, 네비게이션(navigation) 장치, 디지털 카메라(digital camera), DMB(digital multimedia broadcasting) 재생기, 디지털 음성 녹음기(digital audio recorder), 디지털 음성 재생기(digital audio player), 디지털 동영상 녹화기(digital video recorder), 디지털 동영상 재생기(digital video player), PDA(Personal Digital Assistant) 등일 수 있다.For example, the amount of learning recommendation server 100, a communicable desktop computer (desktop computer), a laptop computer (laptop computer), a notebook (notebook), a smart phone (smart phone), a tablet PC (tablet PC), a mobile phone (mobile) phone), smart watch, smart glass, e-book reader, PMP (portable multimedia player), portable game console, navigation device, digital camera, DMB (digital multimedia broadcasting) ) player, digital audio recorder, digital audio player, digital video recorder, digital video player, PDA (Personal Digital Assistant), and the like.

도 10은 일 실시예에 따른 빅데이터와 인공지능 기반의 개인화된 학습량 추천 방법 및 장치의 효과를 확인할 수 있는 통계 분석 결과를 나타낸 그래프이다.10 is a graph showing statistical analysis results that can confirm the effect of the big data and artificial intelligence-based personalized learning amount recommendation method and apparatus according to an embodiment.

도 10을 참조하면, 본 발명의 일 실시예에 따른 빅데이터와 인공지능 기반의 개인화된 학습량 추천 방법 또는 빅데이터와 인공지능 기반의 개인화된 학습량 추천 장치에서 제공되는 추천 학습량으로 다음 교육과정에서의 학습을 실시한 제1 사용자 그룹에 대한 평가성적(Xi)에 따른 확률분포(with AI)가 도시된다.Referring to FIG. 10 , the recommended learning amount provided by the big data and artificial intelligence-based personalized learning amount recommendation method or the big data and artificial intelligence-based personalized learning amount recommendation device according to an embodiment of the present invention is used in the next curriculum. A probability distribution (with AI) according to the evaluation result (X i ) for the first user group that has been trained is shown.

또한, 도 10을 참조하면, 본 발명의 일 실시예에 따라 제공되는 추천 학습량으로 다음 교육과정에서의 학습을 실시하지 않고, 사용자들 각자의 선택에 따른 학습량으로 다음 교육과정에서의 학습을 실시한 제2 사용자 그룹에 대한 평가성적(Xi)에 따른 확률분포(General)가 도시된다.In addition, referring to FIG. 10 , according to an embodiment of the present invention, learning in the next curriculum is not carried out with the recommended learning amount provided according to an embodiment of the present invention, but learning in the next curriculum is performed with the learning amount according to the user's own selection. 2 The probability distribution (General) according to the evaluation result (X i ) for the user group is shown.

여기서, 제1 사용자 그룹과 제2 사용자 그룹이 수행한 현재 교육과정과 다음 교육과정은 동일하며, 각 그룹에 속하는 사용자들의 수는 동일하다. 도면에서 곱셉, 나눗셈, 분수/소수는 각각 다음 교육과정을 의미하며, 덧셈 -> 곱셈 -> 나눗셈 -> 분수/소수의 교육과정 순서를 가진다.Here, the current curriculum and the next curriculum performed by the first user group and the second user group are the same, and the number of users belonging to each group is the same. In the drawing, multiplication, division, and fraction/decimal mean the following curriculum, respectively, and have the sequence of addition -> multiplication -> division -> fraction/decimal curriculum.

이때, 도 9에 도시된 것과 같이 학업성취능력 타입이 D 타입이고, 다음 교육과정이 분수/소수인 경우를 제외한 거의 모든 학업성취능력 타입에 따른 다음 교육과정에서 모두 본 발명의 일 실시예에 따른 추천 학습량을 실시하였을 때 더 높은 평가성적을 갖는 것이 확인된다.At this time, as shown in FIG. 9 , in the following curriculum according to almost all academic achievement types except for the case where the academic achievement type is D type and the next educational process is a fraction/decimal, all according to an embodiment of the present invention It is confirmed that a higher evaluation result is obtained when the recommended learning amount is implemented.

따라서, 본 발명의 일 실시예에 따라 제공되는 추천 학습량으로 학습할 경우 학습 효과가 더욱 높아질 수 있어 학업 효율이 크게 증가할 수 있는 장점이 있다. 또한 자신의 학습량을 스스로 선택하거나 계획하기 힘든 어린 학생일수록, 추천 학습량을 제공받았을 때 더욱 높은 학업 성취도 증가 효과가 나타날 수 있다.Therefore, when learning with the recommended amount of learning provided according to an embodiment of the present invention, the learning effect can be further increased, and thus academic efficiency can be greatly increased. In addition, younger students who find it difficult to select or plan their own learning volume may have a higher academic achievement increase effect when provided with a recommended learning amount.

본 발명에 따른 방법들은 다양한 컴퓨터 수단을 통해 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 컴퓨터 판독 가능 매체에 기록되는 프로그램 명령은 본 발명을 위해 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다.The methods according to the present invention may be implemented in the form of program instructions that can be executed by various computer means and recorded in a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, and the like, alone or in combination. The program instructions recorded on the computer-readable medium may be specially designed and configured for the present invention, or may be known and available to those skilled in the art of computer software.

컴퓨터 판독 가능 매체의 예에는 롬(ROM), 램(RAM), 플래시 메모리(flash memory) 등과 같이 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함될 수 있다. 프로그램 명령의 예에는 컴파일러(compiler)에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터(interpreter) 등을 사용해서 컴퓨터에 의해 실행될 수 있는 고급 언어 코드를 포함할 수 있다. 상술한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 적어도 하나의 소프트웨어 모듈로 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.Examples of computer-readable media may include hardware devices specially configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like. Examples of program instructions may include not only machine language codes such as those generated by a compiler, but also high-level language codes that can be executed by a computer using an interpreter or the like. The hardware device described above may be configured to operate as at least one software module to perform the operations of the present invention, and vice versa.

또한, 상술한 방법 또는 장치는 그 구성이나 기능의 전부 또는 일부가 결합되어 구현되거나, 분리되어 구현될 수 있다. In addition, the above-described method or apparatus may be implemented by combining all or part of its configuration or function, or may be implemented separately.

상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다. Although the above has been described with reference to the preferred embodiment of the present invention, those skilled in the art can variously modify and change the present invention within the scope without departing from the spirit and scope of the present invention as described in the claims below. You will understand that it can be done.

10: 머신러닝 엔진
20: 학습량 테이블
100: 학습량 추천 서버
101: 학습 데이터 수집부
102: 학업성취능력 예측부
102a: 군집화 엔진
102b: 인공신경망 엔진
103: 학습량 테이블 생성부
104: 추천 학습량 결정부
200: 학생 단말
10: Machine Learning Engine
20: Learning amount table
100: learning amount recommendation server
101: learning data collection unit
102: academic achievement predicting unit
102a: clustering engine
102b: artificial neural network engine
103: learning amount table generation unit
104: recommended learning amount determining unit
200: student terminal

Claims (8)

빅데이터와 인공지능 기반의 개인화된 학습량 추천 장치로서,
다수의 사용자들에 대응하는 학생 단말들로부터 다수의 학습 데이터들을 수집하는 학습 데이터 수집부;
상기 다수의 학습 데이터들을 이용하여 상기 학생 단말들 각각의 사용자와 대응하는 학업성취능력 타입을 예측하는 학업성취능력 예측부;
예측된 학업성취능력 타입에 따라 상기 학습 데이터들을 전처리(pre-processing)하여 학습량 테이블을 생성하는 학습량 테이블 생성부; 및
상기 학습량 테이블을 참조하여 타겟 사용자에 대응하는 추천 학습량을 결정하고, 결정된 상기 추천 학습량을 상기 타겟 사용자의 학생 단말에 제공하는 추천 학습량 결정부;를 포함하고,
상기 학업성취능력 예측부는,
현재 교육과정에 따른 상기 학습 데이터들을 이용하여 상기 사용자들을 클러스터링함으로써, 사용자들 각각에 대응하는 클러스터(cluster)를 결정하고, 결정된 클러스터에 부여된 학업성취능력 타입을 해당 클러스터에 속하는 사용자의 학업성취능력 타입으로 예측하는 군집화 엔진; 및
상기 사용자들 각각의 학습 데이터와 대응하는 훈련 입력값 및 상기 군집화 엔진을 통해 학업성취능력 타입이 라벨링된 훈련 출력값으로 구성되는 훈련 데이터를 이용하여 지도학습(supervised-learning)되고, 딥러닝 기반으로 상기 타겟 사용자에 대응하는 학업성취능력 타입을 예측하는 인공신경망 엔진;을 포함하되,
상기 인공신경망 엔진은,
상기 사용자들 각각의 현재 교육과정에 따른 학습 데이터를 변환하여 획득되는 학습 특징 벡터를 입력받고, 상기 학습 특징 벡터의 성분값 개수와 동일한 개수의 뉴런들로 구성되는 입력층;
상기 입력층으로부터 전달받은 출력값을 이용하여 산출된 출력 벡터를 출력층에 전달하는 은닉층;
상기 출력 벡터에 활성화함수(activation function)를 적용하여 상기 출력 벡터에 대응하는 확률을 결정하고, 결정된 확률이 가장 높은 출력 벡터를 출력하는 출력층; 및
상기 입력층과 상기 은닉층 사이에 자기집중 메커니즘(self-attention mechanism)에 따른 기법을 수행하는 자가주의 집중계층(self-attention layer)을 포함하고,
상기 자가주의 집중계층은, 상기 입력층의 출력으로 얻어지는 중간 연산 벡터들 각각에 대하여 자가주의집중값(α)을 산출하고, 산출된 상기 자가주의집중값이 가장 높은 중간 연산 벡터를 상기 입력층의 출력값으로 선정하여 상기 은닉층으로 전달하되,
상기 자가주의집중값(α)은 하기 수학식에 따라 산출되고,
Figure 112022019680967-pat00019

상기 수학식에서 activate는 입력값에 대한 확률값을 출력하는 활성화함수로서 ReLU 함수 또는 Softmax 함수이고, q는 상기 입력층의 출력으로 제공되는 중간 연산 벡터들 각각을 나타내는 q벡터이고, V는 관리자에 의해 미리 설정되는 고정된 성분값을 갖는 V벡터이고, K는 초기 K벡터에 대한 패딩(padding) 처리 후 마스크 벡터(mask vector)와의 쉬프트 내적 연산의 결과값으로 도출되는 K벡터이며,
상기 마스크 벡터는 연산 대상이 되는 성분값들에 대한 데이터 평활화(data smoothing)을 수행하도록 미리 정의된 벡터이고, 상기 초기 K벡터는, 현재 교육과정에 따른 레슨의 총 개수, 레슨에서 문제풀이 횟수에 따른 평가 통과 횟수의 비율, 및 현재 교육과정에서 평균 통과 횟수에 따른 평균 점수의 비율 각각을 성분값으로 갖는 벡터인, 빅데이터와 인공지능 기반의 개인화된 학습량 추천 장치.
As a personalized learning amount recommendation device based on big data and artificial intelligence,
a learning data collection unit for collecting a plurality of learning data from student terminals corresponding to a plurality of users;
an academic achievement predicting unit for predicting an academic achievement type corresponding to the user of each of the student terminals by using the plurality of learning data;
a learning amount table generation unit for generating a learning amount table by pre-processing the learning data according to the predicted academic achievement type; and
A recommended learning amount determining unit that determines a recommended learning amount corresponding to a target user by referring to the learning amount table, and provides the determined recommended learning amount to a student terminal of the target user;
The academic achievement predicting unit,
By clustering the users using the learning data according to the current curriculum, a cluster corresponding to each of the users is determined, and the academic achievement type assigned to the determined cluster is assigned to the academic achievement ability of the user belonging to the cluster. a clustering engine that predicts by type; and
Supervised-learning is performed using training data composed of training input values corresponding to the learning data of each of the users and training output values labeled with an academic achievement type through the clustering engine, and based on deep learning, the An artificial neural network engine that predicts the academic achievement type corresponding to the target user;
The artificial neural network engine,
an input layer configured to receive a learning feature vector obtained by transforming learning data according to the current curriculum of each of the users, and configured with the same number of neurons as the number of component values of the learning feature vector;
a hidden layer that transmits an output vector calculated using the output value received from the input layer to the output layer;
an output layer that determines a probability corresponding to the output vector by applying an activation function to the output vector, and outputs an output vector having the highest determined probability; and
a self-attention layer that performs a technique according to a self-attention mechanism between the input layer and the hidden layer;
The self-attention concentration layer calculates a self-attention concentration value (α) for each of the intermediate operation vectors obtained as an output of the input layer, and sets the calculated intermediate operation vector with the highest self- attention concentration value of the input layer. It is selected as an output value and delivered to the hidden layer,
The self-attention value (α) is calculated according to the following equation,
Figure 112022019680967-pat00019

In the above equation, activate is an activation function that outputs a probability value for an input value, and is a ReLU function or a Softmax function, q is a q vector representing each of the intermediate operation vectors provided as an output of the input layer, and V is a preset by an administrator. It is a V vector having a set fixed component value, and K is a K vector derived as a result of a shift dot product operation with a mask vector after padding on the initial K vector,
The mask vector is a vector predefined to perform data smoothing on the component values to be calculated, and the initial K vector is the total number of lessons according to the current curriculum and the number of problem solving in the lesson. A personalized learning amount recommendation device based on big data and artificial intelligence, which is a vector having, as a component value, each of the ratio of the number of passing evaluations and the ratio of the average score according to the average number of passes in the current curriculum.
삭제delete 청구항 1에서,
상기 인공신경망 엔진은, 상기 훈련 입력값을 입력받았을 때 상기 은닉층의 출력으로 획득되는 출력 벡터와 상기 훈련 출력값에 따른 학업 성취능력 타입을 지시하는 훈련출력 벡터를 이용하여 하기 수학식에 따른 손실함수를 연산하고, 연산된 상기 손실함수의 결과값이 최소화되도록 지도학습되는,
Figure 112021140496157-pat00008

상기 수학식에서 Ym은 목표 출력 벡터(Ym)의 m(m은 1 이상의 자연수)번째 성분이고, Y`m은 상기 은닉층의 출력으로 획득되는 출력 벡터(Y`)의 m번째 성분인, 빅데이터와 인공지능 기반의 개인화된 학습량 추천 장치.
In claim 1,
The artificial neural network engine, when receiving the training input value, uses an output vector obtained as an output of the hidden layer and a training output vector indicating an academic achievement type according to the training output value to obtain a loss function according to the following equation supervised learning so that the calculation and the result value of the calculated loss function are minimized,
Figure 112021140496157-pat00008

In the above equation, Ym is the mth component (m is a natural number greater than or equal to 1) of the target output vector (Ym), and Y`m is the mth component of the output vector (Y`) obtained as an output of the hidden layer, big data and A personalized learning amount recommendation device based on artificial intelligence.
삭제delete 삭제delete 청구항 1에서,
상기 학습량 테이블이 생성된 이후에,
상기 학습 데이터 수집부는, 상기 타겟 사용자의 학생 단말로부터 상기 타겟 사용자의 현재 교육과정에 따른 타겟 학습 데이터를 획득하고,
상기 학업성취능력 예측부는, 상기 타겟 학습 데이터를 기반으로 상기 타겟 사용자와 대응하는 학업성취능력 타입을 예측하고,
상기 추천 학습량 결정부는,
상기 학습량 테이블에서, 상기 타겟 사용자에 대하여 예측된 학업성취능력 타입과 대응하는 다음 교육과정에 따른 다수의 학습량들 각각에 대한 통계 데이터를 이용하여 상기 타겟 사용자의 다음 교육과정에 대한 상기 추천 학습량을 결정하는, 빅데이터와 인공지능 기반의 개인화된 학습량 추천 장치.
In claim 1,
After the learning amount table is created,
The learning data collection unit obtains target learning data according to the current curriculum of the target user from the student terminal of the target user,
The academic achievement predicting unit predicts the academic achievement type corresponding to the target user based on the target learning data,
The recommended learning amount determining unit,
In the learning amount table, the recommended learning amount for the next curriculum of the target user is determined by using statistical data for each of a plurality of learning amounts according to the next curriculum corresponding to the academic achievement type predicted for the target user A personalized learning amount recommendation device based on big data and artificial intelligence.
청구항 6에서,
상기 군집화 엔진은,
K-평균 알고리즘(K-means algorithm)을 이용하여 클러스터링을 수행하는, 빅데이터와 인공지능 기반의 개인화된 학습량 추천 장치.
In claim 6,
The clustering engine is
A personalized learning amount recommendation device based on big data and artificial intelligence that performs clustering using the K-means algorithm.
청구항 6에서,
상기 학습량 테이블 생성부는,
상기 학습량 테이블을 생성한 이후에,
상기 추천 학습량에 따라 상기 타겟 사용자의 다음 교육과정에 대한 학습 데이터를 이용하여 상기 학습량 테이블을 갱신하는, 빅데이터와 인공지능 기반의 개인화된 학습량 추천 장치.
In claim 6,
The learning amount table generation unit,
After creating the learning amount table,
A personalized learning amount recommendation device based on big data and artificial intelligence that updates the learning amount table by using the learning data for the next training course of the target user according to the recommended learning amount.
KR1020210171886A 2021-12-03 2021-12-03 Method and device for personalized learning amount recommendation based on big data and artificial intelligence KR102400582B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020210171886A KR102400582B1 (en) 2021-12-03 2021-12-03 Method and device for personalized learning amount recommendation based on big data and artificial intelligence
KR1020220060148A KR102506132B1 (en) 2021-12-03 2022-05-17 Method and device for personalized learning amount recommendation based on self-attention mechanism

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210171886A KR102400582B1 (en) 2021-12-03 2021-12-03 Method and device for personalized learning amount recommendation based on big data and artificial intelligence

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020220060148A Division KR102506132B1 (en) 2021-12-03 2022-05-17 Method and device for personalized learning amount recommendation based on self-attention mechanism

Publications (1)

Publication Number Publication Date
KR102400582B1 true KR102400582B1 (en) 2022-05-20

Family

ID=81799137

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020210171886A KR102400582B1 (en) 2021-12-03 2021-12-03 Method and device for personalized learning amount recommendation based on big data and artificial intelligence
KR1020220060148A KR102506132B1 (en) 2021-12-03 2022-05-17 Method and device for personalized learning amount recommendation based on self-attention mechanism

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020220060148A KR102506132B1 (en) 2021-12-03 2022-05-17 Method and device for personalized learning amount recommendation based on self-attention mechanism

Country Status (1)

Country Link
KR (2) KR102400582B1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230101668A (en) * 2021-12-03 2023-07-06 (주)대교씨엔에스 Method and apparatus for recommending learning amount using clustering and artificial intelligence using gaussian mixed model at the same time
CN116738371A (en) * 2023-08-14 2023-09-12 广东信聚丰科技股份有限公司 User learning portrait construction method and system based on artificial intelligence
KR102607903B1 (en) * 2022-10-17 2023-11-30 주식회사 보인정보기술 Method for providing diagnosis, analysis and prediction platform for hyper-personalized learning and apparatus for performing the method
CN117688248A (en) * 2024-02-01 2024-03-12 安徽教育网络出版有限公司 Online course recommendation method and system based on convolutional neural network

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180102786A (en) * 2017-03-08 2018-09-18 김동희 Customized learning service providing method based on big data associated with learning
KR102040506B1 (en) * 2018-11-06 2019-11-05 주식회사 대교 Individually costomized learning workload prediction system and method
KR20210086577A (en) * 2019-12-31 2021-07-08 주식회사 달공 Metacognitive based education content curation system
KR20210108319A (en) * 2020-02-25 2021-09-02 한국전자통신연구원 Method and system for automatic classification based on machine learning
KR20210141320A (en) * 2020-02-18 2021-11-23 (주)뤼이드 A system for tracking user knowledge based on artificial intelligence learning and method thereof

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180102786A (en) * 2017-03-08 2018-09-18 김동희 Customized learning service providing method based on big data associated with learning
KR102040506B1 (en) * 2018-11-06 2019-11-05 주식회사 대교 Individually costomized learning workload prediction system and method
KR20210086577A (en) * 2019-12-31 2021-07-08 주식회사 달공 Metacognitive based education content curation system
KR20210141320A (en) * 2020-02-18 2021-11-23 (주)뤼이드 A system for tracking user knowledge based on artificial intelligence learning and method thereof
KR20210108319A (en) * 2020-02-25 2021-09-02 한국전자통신연구원 Method and system for automatic classification based on machine learning

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230101668A (en) * 2021-12-03 2023-07-06 (주)대교씨엔에스 Method and apparatus for recommending learning amount using clustering and artificial intelligence using gaussian mixed model at the same time
KR102563986B1 (en) * 2021-12-03 2023-08-07 (주)대교씨엔에스 Method and apparatus for recommending learning amount using artificial intelligence and clustering using k-means algorithm at the same time
KR102607903B1 (en) * 2022-10-17 2023-11-30 주식회사 보인정보기술 Method for providing diagnosis, analysis and prediction platform for hyper-personalized learning and apparatus for performing the method
CN116738371A (en) * 2023-08-14 2023-09-12 广东信聚丰科技股份有限公司 User learning portrait construction method and system based on artificial intelligence
CN116738371B (en) * 2023-08-14 2023-10-24 广东信聚丰科技股份有限公司 User learning portrait construction method and system based on artificial intelligence
CN117688248A (en) * 2024-02-01 2024-03-12 安徽教育网络出版有限公司 Online course recommendation method and system based on convolutional neural network
CN117688248B (en) * 2024-02-01 2024-04-26 安徽教育网络出版有限公司 Online course recommendation method and system based on convolutional neural network

Also Published As

Publication number Publication date
KR102506132B1 (en) 2023-03-07

Similar Documents

Publication Publication Date Title
KR102400582B1 (en) Method and device for personalized learning amount recommendation based on big data and artificial intelligence
CN110796190B (en) Exponential modeling with deep learning features
Knox Machine learning: a concise introduction
KR102071582B1 (en) Method and apparatus for classifying a class to which a sentence belongs by using deep neural network
Spratling Predictive coding as a model of cognition
Silva-Ramírez et al. Single imputation with multilayer perceptron and multiple imputation combining multilayer perceptron and k-nearest neighbours for monotone patterns
Zafra et al. Multiple instance learning for classifying students in learning management systems
US11468337B2 (en) System and methods for facilitating pattern recognition
KR102563986B1 (en) Method and apparatus for recommending learning amount using artificial intelligence and clustering using k-means algorithm at the same time
CN111667022A (en) User data processing method and device, computer equipment and storage medium
US20220172260A1 (en) Method, apparatus, storage medium, and device for generating user profile
Du et al. An integrated framework based on latent variational autoencoder for providing early warning of at-risk students
CN110852390A (en) Student score classification prediction method and system based on campus behavior sequence
Athani et al. Student academic performance and social behavior predictor using data mining techniques
Alloghani et al. Applications of machine learning techniques for software engineering learning and early prediction of students’ performance
Sokkhey et al. Development and optimization of deep belief networks applied for academic performance prediction with larger datasets
KR102473188B1 (en) Method and apparatus for recommending learning amount based on artificial intelligence and weighted score for statistical learning amount
Vafadar et al. Academic Education in the Era of Generative Artificial Intelligence
CN114202402A (en) Behavior characteristic prediction method and device
Gambo et al. Performance comparison of convolutional and multiclass neural network for learning style detection from facial images
Lu et al. Application of neighborhood components analysis to process and survey data to predict student learning of statistics
KR102509367B1 (en) Learning amount recommendation method and apparatus using deep learning-based artificial intelligence composed of a plurality of hidden layers that compensate for overfitting tendencies through dropout
CN116029760A (en) Message pushing method, device, computer equipment and storage medium
Jiang et al. Applying AdaBoost to improve diagnostic accuracy
Dhumal et al. Automatic Handwriting Analysis and Personality Trait Detection using Multi-Task Learning Technique

Legal Events

Date Code Title Description
A107 Divisional application of patent
GRNT Written decision to grant