KR102075936B1 - 학습 효율을 기반으로 개인 맞춤형 교육 컨텐츠를 제공하기 위한 기계학습 방법, 장치 및 컴퓨터 프로그램 - Google Patents
학습 효율을 기반으로 개인 맞춤형 교육 컨텐츠를 제공하기 위한 기계학습 방법, 장치 및 컴퓨터 프로그램 Download PDFInfo
- Publication number
- KR102075936B1 KR102075936B1 KR1020190102598A KR20190102598A KR102075936B1 KR 102075936 B1 KR102075936 B1 KR 102075936B1 KR 1020190102598 A KR1020190102598 A KR 1020190102598A KR 20190102598 A KR20190102598 A KR 20190102598A KR 102075936 B1 KR102075936 B1 KR 102075936B1
- Authority
- KR
- South Korea
- Prior art keywords
- user
- probability
- test
- score
- view
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 36
- 238000010801 machine learning Methods 0.000 title description 3
- 238000004590 computer program Methods 0.000 title 1
- 230000008859 change Effects 0.000 claims abstract description 29
- 238000004458 analytical method Methods 0.000 claims description 6
- 230000000694 effects Effects 0.000 abstract description 3
- 238000012360 testing method Methods 0.000 description 174
- 238000007405 data analysis Methods 0.000 description 74
- 230000006870 function Effects 0.000 description 58
- 239000013598 vector Substances 0.000 description 29
- 238000004088 simulation Methods 0.000 description 24
- 230000008569 process Effects 0.000 description 15
- 238000012549 training Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 7
- 238000004422 calculation algorithm Methods 0.000 description 6
- 239000011159 matrix material Substances 0.000 description 6
- 238000012935 Averaging Methods 0.000 description 3
- 238000002474 experimental method Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 230000009466 transformation Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000001174 ascending effect Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000003930 cognitive ability Effects 0.000 description 1
- 230000001149 cognitive effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000012067 mathematical method Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
- G06Q50/20—Education
- G06Q50/205—Education administration or guidance
- G06Q50/2057—Career enhancement or continuing education service
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Tourism & Hospitality (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Educational Technology (AREA)
- Educational Administration (AREA)
- Human Resources & Organizations (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- Marketing (AREA)
- General Business, Economics & Management (AREA)
- Primary Health Care (AREA)
- General Health & Medical Sciences (AREA)
- Economics (AREA)
- Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Electrically Operated Instructional Devices (AREA)
Abstract
본 발명은 서비스 서버에서, 사용자 맞춤형 학습 컨텐츠를 제공하는 방법에 대한 것으로, 특정 과목에 대해 적어도 하나 이상의 보기를 포함하는 객관식 문제를 적어도 하나 이상 포함하는 문제 데이터베이스를 구성하고, 상기 문제를 사용자 디바이스에 제공하고, 상기 사용자 디바이스로부터 상기 문제에 대한 사용자의 보기 선택 데이터를 수집하는 a 단계; 상기 사용자 각각의 상기 보기 선택 데이터를 이용하여, 상기 사용자 각각에 대해 상기 문제에 대한 정답 확률을 추정하는 b 단계; 임의의 사용자가 임의의 문제에 대해 각각의 보기를 선택한 것으로 가정하여, 상기 문제 데이터베이스에 포함된 문제 전체의 상기 사용자에 대한 정답 확률의 변경율을 각각의 문제에 대해 계산하고, 상기 문제 데이터베이스에 포함된 문제를, 상기 변경률이 높은 순서대로 정렬하여 상기 사용자에게 추천하는 단계를 포함하는 것을 특징으로 한다.
Description
본 발명은 데이터를 기반으로, 사용자 맞춤형 컨텐츠를 제공하는 방법에 대한 것이다. 보다 구체적으로 본 발명은 수집된 문제 풀이 결과 데이터를 기계 학습 프레임워크에 적용하여 사용자의 문제에 대한 학습 효율을 추정하고 이를 기반으로 교육 컨텐츠를 추천하는 방법에 대한 것이다.
지금까지 교육 컨텐츠는 일반적으로 패키지로 제공되어 왔다. 예를 들어 종이에 기록되는 문제집은 권당 최소 700문제가 수록되어 있으며, 온라인 또는 오프라인 강의 역시 1-2 시간 단위로 최소 한달간 공부할 양을 묶어서 한번에 판매된다.
그러나 교육을 받는 학생들 입장에서는 개별적으로 취약한 단원과 취약한 문제 유형이 모두 상이하기 때문에 패키지 형태보다는 개인 맞춤형 컨텐츠에 대한 니즈가 존재한다. 제한된 시간에 가장 효율적인 학습을 하기 위해서는 학습효율이 가장 높은 문제를 골라서 학습하는 것이 문제집의 7백 문제 전체를 푸는 것보다 훨씬 효율적이기 때문이다.
그러나 피교육자인 학생들 스스로 자신에게 적합한 문제를 골라내는 것은 매우 어렵다. 나아가 학원, 출판사 등 종래의 교육 업계에서도 주관적 경험과 직관에 의존하여 학생 및 문제들을 분석하기 때문에 개별 학생들에게 최적화된 문제를 제공하는 것은 쉽지 않다.
이와 같이 종래의 교육 환경에서는 피교육자가 가장 효율적으로 학습 결과를 낼 수 있는 개인 맞춤형 컨텐츠를 제공하는 것이 쉽지 않으며, 학생들은 일률적으로 제공되는 교육 컨텐츠에 대해 성취감과 흥미를 금방 잃게 되는 문제가 발생한다.
본 발명은 상기와 같은 문제를 해결하는 것을 목적으로 한다. 보다 구체적으로 본 발명은, 대량의 문제 풀이 결과 데이터를 기반으로, 사용자 및/또는 문제를 분석하고, 이를 기반으로 각각의 사용자에 대한 문제별 학습 효율을 계산하여, 학습 효율에 따라 학습 컨텐츠를 추천하는 방법에 대한 것이다.
본 발명의 실시예를 따르는 서비스 서버에서, 사용자 맞춤형 학습 컨텐츠를 제공하는 방법은, 특정 과목에 대해 적어도 하나 이상의 보기를 포함하는 객관식 문제를 적어도 하나 이상 포함하는 문제 데이터베이스를 구성하고, 상기 문제를 사용자 디바이스에 제공하고, 상기 사용자 디바이스로부터 상기 문제에 대한 사용자의 보기 선택 데이터를 수집하는 a 단계; 상기 사용자 각각의 상기 보기 선택 데이터를 이용하여, 상기 사용자 각각에 대해 상기 문제에 대한 정답 확률을 추정하는 b 단계; 임의의 사용자가 임의의 문제에 대해 각각의 보기를 선택한 것으로 가정하여, 상기 문제 데이터베이스에 포함된 문제 전체의 상기 사용자에 대한 정답 확률의 변경율을 각각의 문제에 대해 계산하고, 상기 문제 데이터베이스에 포함된 문제를, 상기 변경률이 높은 순서대로 정렬하여 상기 사용자에게 추천하는 단계를 포함하는 것을 특징으로 한다.
본 발명의 실시예를 따르면, 사용자 및/또는 문제 분석 결과를 토대로, 사용자에게 최적화된 학습 컨텐츠를 제공할 수 있어, 사용자의 학습 효과를 극대화시킬 수 있는 효과가 있다.
도 1은 본 발명의 실시예를 따라 사용자 맞춤형 컨텐츠를 추천하는 과정을 설명하기 위한 순서도
도 2는 본 발명의 실시예를 따라 사용자의 문제별 학습 효율을 계산하는 과정을 설명하기 위한 순서도
도 3은 본 발명의 다른 실시예를 따라 사용자의 문제별 학습 효율을 계산하는 과정을 설명하기 위한 순서도
도 2는 본 발명의 실시예를 따라 사용자의 문제별 학습 효율을 계산하는 과정을 설명하기 위한 순서도
도 3은 본 발명의 다른 실시예를 따라 사용자의 문제별 학습 효율을 계산하는 과정을 설명하기 위한 순서도
본 발명은 이하에 기재되는 실시예들의 설명 내용에 한정되는 것은 아니며, 본 발명의 기술적 요지를 벗어나지 않는 범위 내에서 다양한 변형이 가해질 수 있음은 자명하다. 그리고 실시예를 설명함에 있어서 본 발명이 속하는 기술 분야에 널리 알려져 있고 본 발명의 기술적 요지와 직접적으로 관련이 없는 기술 내용에 대해서는 설명을 생략한다.
한편, 첨부된 도면에서 동일한 구성요소는 동일한 부호로 표현된다. 그리고 첨부 도면에 있어서 일부 구성요소는 과장되거나 생략되거나 개략적으로 도시될 수도 있다. 이는 본 발명의 요지와 관련이 없는 불필요한 설명을 생략함으로써 본 발명의 요지를 명확히 설명하기 위함이다.
최근 IT 디바이스의 보급이 확대되면서, 사용자 분석을 위한 데이터 수집이 용이해지고 있다. 사용자 데이터를 충분히 수집할 수 있으면, 사용자의 분석이 보다 정밀해지고 해당 사용자에게 가장 적합한 형태의 컨텐츠를 제공할 수 있다.
이러한 흐름과 함께 특히 교육 업계에서 사용자 맞춤형 교육 컨텐츠 제공에 대한 니즈가 높다.
간단한 예를 들어, 어떤 사용자가 영어 과목에서 “동사의 시제”에 대한 이해도가 떨어지는 경우, “동사의 시제”에 대한 개념을 포함하고 있는 문제를 추천할 수 있으면 학습 효율은 보다 높아질 것이다. 그런데 이와 같이 사용자 맞춤형 교육 컨텐츠를 제공하기 위해서는 각각의 컨텐츠 및 사용자 개개인에 대한 정밀한 분석이 필요하다.
종래에는 컨텐츠와 사용자를 분석하기 위해 해당 과목의 개념들을 전문가에 의해 수작업으로 정의하고 해당 과목에 대한 각 문제가 어떤 개념을 포함하고 있는지 전문가가 개별적으로 판단하여 태깅하는 방식을 따랐다. 이후 각 사용자가 특정 개념에 대해 태깅된 문제들을 풀어본 결과 정보를 토대로 학습자의 실력을 분석하는 것이다.
사용자가 문제를 풀이하는 과정을 살펴보면, 문제 출제자의 의도는 한 두개일 수 있지만 사용자가 해당 문제를 틀리는 이유는 수십 가지일 수 있다. 예를 들어 어떤 문제의 유형이 "가정법 과거"이며, 출제자의 의도는 "조동사의 과거형과 가정법을 구분할 줄 아는가"에 대한 경우를 가정할 수 있다.
이 경우, 사용자가 해당 문제를 틀리는 이유는 출제의도와 동일하게 "조동사의 과거형과 가정법을 구분할 줄 몰라서"일 수 있지만, 지문의 특정 단어를 몰랐기 때문일 수도 있다. 이 경우, 해당 사용자에게 가장 효율적인 문제는 상기 단어를 학습하기 위한 문제일 것이다.
그러나 전문가가 모든 경우의 수를 고려하여 해당 사용자를 분석하는 것은 불가능하기 때문에, 일반적으로 사용자는 문제 유형 태그 및 출제자 의도 태그에 따라 “가정법 과거”, “조동사 과거”, “가정법” 등의 개념에 대한 학습이 필요한 것으로 판단하고 그와 관련된 문제가 추천될 것이다.
이와 같이, 전문가가 미리 정의한 태그 정보를 기반으로 사용자를 분석하는 방법은 태그 정보가 사람의 주관에 의존하며, 인간의 행동에 대한 다양한 경우의 수가 포괄되지 않는 문제점이 있다. 사람의 주관이 개입되지 않고 수학적으로 생성된 태그 정보들이 수학적으로 문제에 부여되는 것이 아니기 때문에 결과 데이터에 대한 신뢰도가 높을 수 없는 문제가 있었다.
따라서 본 발명의 실시예를 따르는 데이터 분석 서버는 학습 데이터 분석에 머신 러닝 프레임워크를 적용하여 데이터 처리 과정의 사람의 개입을 배제하는 것을 목적으로 한다.
이에 따르면, 해당 과목의 개념을 사전에 별도로 정의하지 않고, (즉, 문제에 포함된 개념에 대한 태그 정보를 생성하지 않고) 사용자의 문제 풀이 결과 로그를 기반으로 사용자 및 문제를 분석할 수 있다. 예를 들어 데이터 분석 서버는 사용자의 문제 풀이 결과 로그를 수집하고, 사용자와 문제로 구성된 다차원 공간을 구성하고, 사용자가 문제를 맞았는지 틀렸는지를 기준으로 상기 다차원 공간에 값을 부여하여, 각각의 사용자 및 문제에 대한 벡터를 계산하는 방식으로 사용자 및/또는 문제를 모델링할 수 있다.
이 경우, 사용자 모델은 전체 문제에 대한 사용자 각각의 특성에 대한 정보를 포함할 수 있으며, 문제 모델은 전체 사용자에 대한 문제 각각의 특성에 대한 정보를 포함할 수 있다. 나아가 문제 모델은 특정 문제의 해당 과목을 구성하는 개념에 대한 포함도, 사용자 모델은 특정 사용자의 해당 과목을 구성하는 개념에 대한 이해도로 표현될 수 있다.
나아가 본 발명의 실시예를 따르면, 상기 문제 모델과 사용자 모델을 이용하여, 임의의 사용자가 임의의 문제에 대해 정답 보기를 선택할 확률, 즉, 사용자의 문제별 정답 확률을 계산할 수 있다. 이때 본 발명에서 상기 사용자 벡터, 상기 문제 벡터들이 어떤 속성, 또는 피처를 포함하고 있는지는 제한하여 해석될 수 없음을 유의해야 한다.
예를 들어 본 발명의 실시예를 따르면, 상기 사용자 벡터는 상기 사용자가 임의의 개념에 대해 이해하고 있는 정도, 즉 개념의 이해도를 포함할 수 있다. 나아가 상기 문제 벡터는 상기 문제가 어떤 개념들로 구성되어 있는지, 즉 개념 구성도를 포함할 수 있다.
나아가 본 발명의 실시예를 따르면, 특정 사용자에 대한 문제 데이터베이스에 포함된 문제들 각각에 대한 학습효율을 계산할 수 있어, 학습효율이 높은 순서대로 사용자에게 문제가 추천될 수 있다.
예를 들어 본 발명의 제 1 실시예를 따르면, 정답 확률이 낮은 문제가 학습 효율이 높을 것으로 가정할 수 있다. 이에 따르면 특정 사용자가 이미 이해하고 있기 때문에 맞힐 문제는 배제하고, 틀릴 문제들만 골라서 추천하게 될 것이다. 상기 실시예를 따르면 사용자는 틀릴 것이 확실한 문제부터 학습할 수 있다.
본 발명의 제 2 실시예를 따르면, 사용자가 어떤 문제를 맞추게 되면, 해당 문제를 포함해 새롭게 학습된 모델이 예측하는 문제 전체의 상기 사용자에 대한 정답 확률의 증가율이 높은 문제가 학습 효율이 높을 것으로 가정할 수 있다. 이에 따르면, 사용자에게 문제 데이터베이스 전체를 보다 잘 풀 수 있게 되는 문제가 추천될 것이다. 이에 따르면, 사용자는 전체 문제의 정답 확률을 높일 수 있는 문제부터 학습하게 될 것이다.
나아가 본 발명의 제 3 실시예를 따르면, 사용자의 실제 시험 점수를 높일 수 있는 문제가 학습 효율이 높을 것으로 가정할 수 있다. 이에 따르면, 문제 데이터베이스 외부에서 출제된, 동일한 과목에 대한 실제 시험 점수를 사용자 별로 추정하고, 상기 실제 시험 점수를 높일 수 있는 문제가 추천될 것이다. 이에 따르면 사용자는 실제 시험 점수를 높일 수 있는 문제부터 학습하게 될 것이다.
도 1은 본 발명의 실시예를 따라 사용자 맞춤형 컨텐츠를 추천하는 과정을 설명하기 위한 순서도이다.
단계 110 및 단계 130는 본 발명의 실시예를 따르는 데이터 분석 시스템에서 학습 데이터를 수집하고 문제와 사용자를 모델링하는 단계이다.
단계 110에서 데이터 분석 서버는, 문제 데이터베이스 및 사용자 데이터베이스를 생성할 수 있다.
예를 들어 데이터 분석 서버는 시중에 나와 있는 각종 문제들을 수집하여 문제 데이터베이스를 생성할 수 있다. 상기 문제는 듣기 평가 문제를 포함하고, 텍스트, 이미지, 오디오, 및/또는 동영상 형태일 수 있다. 나아가 데이터 분석 서버는 사용자 식별 정보를 포함하는 사용자 데이터베이스를 생성할 수 있다.
단계 120에서 데이터 분석 서버는 상기 문제 데이터베이스를 사용자 디바이스에 제공하고, 사용자가 해당 문제를 풀이한 결과 데이터를 수집할 수 있다.
이때 데이터 분석 서버는 수집된 문제 풀이 결과 데이터를 사용자, 문제, 결과에 대한 리스트 형태로 구성할 수 있다. 예를 들어 Y (u, i)는 사용자 u가 문제 i를 푼 결과를 의미하며, 정답인 경우 1, 오답인 경우 0의 값이 부여될 수 있다.
나아가 본 발명의 실시예를 따르는 데이터 분석 서버는 사용자와 문제로 구성된 다차원 공간을 구성하고, 사용자가 문제를 맞았는지 틀렸는지를 기준으로 상기 다차원 공간에 값을 부여하여, 각각의 사용자 및 문제에 대한 벡터를 계산할 수 있다. 이때 상기 사용자 벡터와 문제 벡터가 포함하는 피처는 특정되지 않는 것으로 해석되어야 한다. (단계 130)
예를 들어, 본 발명의 실시예를 따르는 데이터 분석 서버는, Y가 충분한 크기이면, 개념을 별도로 정의하지 않고, Y로부터 사용자의 개념 이해도 L, 문제의 개념 구성도 R를 추정할 수 있다. 이때 본 발명의 실시예를 따르면 상기 L의 각 원소는 0에서 1 사이의 값을 가지며, R의 각 행의 원소들의 합은 1이 될 수 있다.
예를 들어 L의 1번째 행의 값이 [0, 0, 1, 0.5, 1] 인 경우, 이는 제 1 사용자가 제 1 개념 및 제 2 개념은 전혀 이해하지 못하고, 제 3 개념 및 제 5 개념은 완벽히 이해하고, 그리고 제 4 개념은 절반만큼 이해한 것으로 해석될 것이다.
예를 들어 R의 1번째 행의 값이 [0, 0.2, 0.5, 0.3, 0]이라 할 때, 제 1 문제는 제 2 개념이 20% 정도 포함, 제 3 개념이 50% 정도 포함, 제 4 개념이 30% 정도 포함된 것으로 해석될 것이다.
한편 본 발명의 실시예를 따르는 데이터 분석 시스템은, L과 R이 충분한 신뢰도로 추정되면 사용자와 문제 사이의 상호 관계를 낮은 계수 행렬을 통해 수학적으로 연결할 수 있다.
예를 들어 서비스 서버는 분석 대상 전체 사용자 수가 n, 분석 대상 전체 문제 개수가 m인 경우, 해당 과목을 구성하는 미지의 개념의 개수를 r로 상정하면, 사용자의 개념별 이해도 행렬 L을 n by r 행렬로 정의하고, 문제의 개념별 포함 정도에 대한 행렬 R을 m by r 행렬로 정의할 수 있다. 이 경우, L을 R의 전치행렬 RT과 연결하면, 개념 또는 개념의 개수를 별도로 정의하지 않고 사용자와 문제의 상호 관계를 분석할 수 있다.
이를 적용하면 L의 1번째 행의 값이 [0, 0, 1, 0.5, 1], R의 1번째 행의 값이 [0, 0.2, 0.5, 0.3, 0]인 위의 예에서, 제 1 사용자가 제 1 문제에 대한 이해도 X(1,1)은 와 같이 계산될 수 있다. 즉, 제 1 사용자는 제 1 문제 를 65퍼센트 이해하는 것으로 추정될 수 있다.
그러나 사용자가 특정 문제에 대한 이해도와 특정 문제를 맞출 확률은 동일하다고 할 수 없다. 위의 예에서 제 1 사용자가 제 1 문제를 65 퍼센트 이해한다면, 제 1 문제를 실제로 풀었을 때 정답일 확률은 어느 정도인 것인가
이를 위해 본 발명은 심리학, 인지과학, 교육학 등에 사용되는 문항 반응 이론 (Item Response Theory)의 방법론을 도입하였다. 문항 반응 이론은 평가 문항들에 대한 응답을 이용하여, 피험자의 특성, 예를 들어 인지 능력, 물리적 능력, 기술, 지식, 태도, 인격 특징이나 평가 문항의 난이도를 측정하기 위한 검사 이론이다.
상기 이론을 적용하여 충분히 큰 데이터를 사용하여 실험한 결과 문제 이해도 X 와 문제를 맞출 확률 P은 리니어하지 않은 것으로 분석된다. 문제 이해도 X와 문제를 맞출 확률 P를 충분히 큰 데이터를 사용하여 실험한 결과, 2차원 그래프를 얻을 수 있다. 이를 설명할 수 있는 함수를 종래의 수학적 방법을 이용하여 계산하면, 사용자가 문제를 맞출 확률 P를 추정하기 위한 함수 를 아래의 수학식 1와 같이 도출할 수 있다. 다시 말하면, 문제 정답 확률 P는 함수 에 문제 이해도 X를 적용하면 계산될 수 있다.
제 1 사용자의 제 1 문제에 대한 이해도가 65퍼센트인 위의 예에서, 제 1 사용자가 제 1 문제를 맞출 확률은 와 같이 계산되어 86%에 해당한다. 즉, 제 1 사용자는 제 2, 4 개념은 전혀 이해하지 못하고, 제 3 개념을 완전히 이해하며, 제 1 문제는 제 2 개념이 20%, 제 3 개념을 50%, 제 4 개념이 30%로 구성된 문제인데, 위의 공식에 의하면 제 1 사용자가 제 1 문제 1을 풀게 되면 86퍼센트의 확률로 정답일 것으로 추정될 수 있다.
한편, 사용자의 개념 이해도 L, 문제의 개념 구성도 R를 추정하기 위해 아래에 예시된 방법을 따를 수 있다. 이는 확률적 그래디언트 알고리즘을 기반으로 사용자 i의 개념 이해도 Li 및 문제 j의 개념 구성도 Rj를 추정하기 위한 방법이며, 이는 예시에 불과하여 본 발명은 이에 한정되지 않음을 유의해야 한다.
본 발명의 실시예를 따르는 데이터 분석 시스템은 사용자 i의 개념 이해도 Li, 문제 j의 개념 구성도 Rj의 초기 값을 임의의 값으로 부여할 수 있다. 예를 들어 데이터 분석 시스템은 사용자 i의 임의의 개념 이해도 Li의 초기값 및 문제 j의 임의의 개념 구성도 Rj의 초기값을 0 내지 1 사이의 임의의 값으로 부여할 수 있다.
나아가 문제 풀이 결과 데이터를 각각의 사용자 i, 각각의 문제 j에 대해 정답인 경우 1, 오답인 경우 0으로 val를 설정한 리스트를 생성할 수 있다. 예를 들어 사용자별 문제 풀이 결과 데이터 세트를 유저 i가 문제 j를 풀었을 때 정답인 경우 (i, j, 1), 오답인 경우 (i, j, 0)인 형태의 리스트로 변환할 수 있다.
이후 데이터 분석 시스템은 문제 풀이 결과 리스트의 데이터를 랜덤하게 하나씩 로딩할 수 있다. 보다 구체적으로, 데이터분석 시스템은 해당 시점의 사용자 i의 개념 이해도 개념 이해도 Li, 문제 j의 개념 구성도 Rj를 적용하여 특정 사용자 i가 특정 문제 j를 맞출 확률 P( i,j )의 임시값 tmp 를 계산할 수 있다.
이는 해당 시점의 사용자 i의 개념 이해도 Li, 문제 j의 개념 구성도 Rj를 적용하여 계산한 확률 P( i,j ), 즉 특정 사용자 i가 특정 문제 j를 맞출 확률과 해당 사용자 i의 해당 문제 j에 대한 실제 문제 풀이 결과값인 val (정답인 경우 1, 오답인 경우 0) 사이의 차이를 이용하여 L 및 R을 업데이트하기 위한 것이다.
선택한 데이터가 (i, j, val)인 경우, 데이터 분석 시스템은 해당 시점의 Li (사용자 i의 개념 이해도), Rj(문제 j의 개념 구성도)를 이용하여 사용자 i가 문제 j를 맞출 확률의 임시값 tmp ( )를 계산할 수 있다.
예를 들어 선택한 데이터가 (1, 1, 0)인 경우, 제 1 사용자가 제 1 문제를 풀어서 틀렸다는 의미이다. 그런데 해당 시점의 L1, R1 를 이용하여 계산한 결과, 제 1 사용자가 제 1 문제를 푼다면 86퍼센트의 확률로 맞을 것이라는, 즉 P=0.86인 결과가 나왔다면, L1, R1은 데이터 (1, 1, 0) 를 반영하여 업데이트 될 필요가 있다.
이를 위해 본 발명의 실시예를 따르는 데이터 분석 시스템은 사용자 i가 문제 j를 맞출 확률의 임시값 tmp 및 사용자 i가 문제 j를 실제 풀이한 데이터인 val의 차이를 이용하여 선택한 데이터 (i, j, val)에 대한 근사 그래디언트 grad 를 계산할 수 있다. 이는 아래의 수학식 2를 이용하여 계산될 수 있다.
나아가, grad와 함께 해당 사용자가 푼 문제의 개수 ui, 해당 문제가 풀린 횟수 vj를 반영하여 아래와 같은 수학식 3에 따라 사용자 i의 개념 이해도 Li, 문제 j의 개념 구성도 Rj을 업데이트할 수 있다.
이때, 상기 mu는 상기 수식의 성능을 좌우하는 파라미터로 종래의 기술에 따라 실험에 의해 선택되며, 상기 step은 상기 수식이 새로운 데이터를 받아들이는 속도에 대한 파라미터로 종래의 기술에 따라 실험에 의해 선택할 수 있다.
본 발명의 실시예를 따르면, 전체 데이터에 대한 이와 같은 과정을 반복하고, 모든 데이터가 반영되면 다시 랜덤하게 리스트를 섞어서 상기 과정을 충분히 반복하면 L, R을 신뢰도 있게 추정할 수 있다.
그런데 본 발명의 실시예를 따르는 데이터 분석 프레임워크에서 사용자와 문제를 모델링 벡터로 표현하는 이유는 궁극적으로는 특정 사용자가 특정 문제를 맞출지 틀릴지를 정밀하게 예측하기 위한 것이다.
사용자의 문제에 대한 정답률은 전술한 바와 같이 사용자의 정오답 결과를 수집하여 분석하는 방식으로 추정할 수 있지만, 보기의 선택 확률을 이용하여 추정할 수도 있다.
예를 들어 제 1 사용자가 특정 문제에 대한 보기 선택 확률이 (0.1, 0.2, 0, 0.7)인 경우, 사용자는 높은 확률로 보기 4번을 선택할 것이고, 해당 문제의 정답이 4번인 경우, 제 1 사용자는 그 문제를 맞을 확률이 높을 것으로 예상할 수 있다.
한편, 문제의 난이도는 전체 사용자들의 정오답 결과를 수집하여 분석하는 방식으로 추정할 수도 있지만, 보기의 선택확률을 이용하여 추정할 수도 있다.
예를 들어 4지 선다형으로 구성된 특정 문제에 대해 사용자들의 보기 선택 확률이 (0.5, 0.1, 0.3, 0.6)인 경우, 사용자들이 제 2 문제에서 보기 1번을 고를 확률과 보기 4번을 고를 확률이 비슷하므로, 제 2 문제는 난이도가 높은 것으로 분류할 수 있다.
이를 위해 데이터 분석 서버는 전체 문제와 전체 사용자에 대한 풀이 결과 데이터를 사용자가 선택한 보기 요소를 포함하여 수집할 수 있다.
보다 구체적으로 데이터 분석 서버는 문제 데이터베이스에 속하는 전체 문제들에 대해 사용자가 해당 문제에서 어떤 보기를 선택했는지, 보기 선택 결과를 수집하는 방식으로 풀이 결과 로그를 수집할 수 있으며, 추가적으로 해당 문제에 대한 정오답 결과를 수집할 수도 있다. 이때 데이터분석 서버는 사용자, 문제, 해당 사용자가 해당 문제에서 선택한 보기에 대한 리스트를 구성할 수 있다.
이후 데이터분석 서버는 하나의 문제를 보기 단위로 확장하여 데이터 분석 처리를 수행할 수 있다.
예를 들어 문제 i가 사지선다형 문제인 경우, 문제 i는 (i, 1) (i, 2) (i, 3) (i, 4)의 변수 4개로 확장되며, 각 문제-보기의 각 사용자의 선택 여부가 값으로 부여될 수 있다.
예를 들어 E (i, j)는 문제 i의 보기 j를 의미하며, Y' (u, E)는 사용자 u가 문제 i의 보기 j를 선택했는지를 의미하며, 본 발명의 실시예를 따르면 선택한 경우 1, 선택하지 않은 경우 0의 값이 부여될 수 있다.
나아가 데이터 분석 서버는 사용자 및 문제-보기를 변수로 다차원 공간을 구성하고, 사용자가 해당 문제-보기를 선택했는지를 기준으로 상기 다차원 공간에 값을 부여하여, 각각의 사용자 및 문제-보기에 대한 벡터를 계산할 수 있다.
이후 데이터 분석 서버는 상기 사용자 벡터와 상기 문제-보기 벡터를 이용하여 임의의 사용자가 임의의 문제-보기를 선택할 확률, 즉 선택률을 추정할 수 있다.
이때 상기 사용자 벡터와 상기 문제-보기 벡터에 다양한 알고리즘을 적용하여 상기 선택률을 추정할 수 있으며, 본 발명을 해석함에 있어 선택률을 계산하기 위한 알고리즘은 제한되지 않는다.
예를 들어, 본 발명의 실시예를 따르면, 아래의 수학식 4와 같은 시그모이드 함수를 적용하면, 사용자의 문제-보기 선택률을 추정할 수 있다. (x는 문제-보기 벡터, 는 사용자 벡터)
나아가 본 발명의 실시예를 따르는 데이터 분석 서버는 사용자의 보기 선택률을 이용하여 문제의 정답률을 추정할 수 있다.
그런데 예를 들어 4지 선다형으로 구성된 특정 문제에 대해 특정 사용자의 보기 선택 확률이 (0.5, 0.1, 0.3, 0.6)이며, 정답 보기는 1번인 경우, 상기 사용자가 해당 문제를 맞출 확률은 얼마인지가 문제된다. 즉, 해당 문제에 대한 복수의 보기 선택률을 이용하여 해당 문제의 정답률을 추정하는 방법을 고려할 수 있다.
본 발명의 실시예를 따라 보기 선택률을 문제 정답률로 환원하는 간단한 방식으로는 전체 보기의 선택률 대비 정답 보기의 선택률을 비교하는 방법을 고려할 수 있다.
이 경우 앞의 예에서 해당 사용자의 해당 문제에 대한 정답률은 0.5 / (0.5+0.1+0.3+0.6)로 계산할 것이다. 그러나 사용자는 문제를 풀이할 때는 보기 단위로 구분하여 해당 문제를 이해하는 것이 아니라, 전체 보기에 대한 구성 및 문제의 출제 의도를 포함하여 문제 단위로 이해하기 때문에 보기 선택률과 정답률은 단순 연결될 수 없다.
따라서 본 발명의 실시예를 따르면, 해당 문제의 전체 보기 선택률을 평균화하고 정답 보기의 평균화된 선택률을 전체 보기의 선택률에 적용하는 방식으로 보기 선택률로부터 해당 문제의 정답률을 추정할 수 있다.
앞의 예에서 보기의 선택 확률이 (0.5, 0.1, 0.3, 0.6)인 경우, 이를 전체 보기에 대해 평균화하면 각각의 보기 선택률은 (0.33, 0.07, 0.20, 0.41)로 스케일이 변경될 수 있다. 정답 보기가 1번인 경우, 보기 1의 평균화된 선택률은 0.33으로, 해당 사용자의 해당 문제에 대한 정답률은 33%로 추정될 수 있다.
나아가 본 발명의 실시예를 따르는 서비스 서버는 사용자의 문제-보기 선택 확률을 이용하여 문제의 정답률을 추정할 수 있으며, 이를 통해 특정 개념에 대한 사용자의 이해도를 추정할 수 있다.
나아가 데이터 분석 서버는 문제 모델 및 사용자 모델을 기반으로 해당 사용자의 특정 문제에 대한 학습 효율을 계산할 수 있다. (단계 140)
본 발명의 실시예를 따르는 데이터 분석 서버는 전술한 바와 같이, 문제의 보기 단위의 모델과 사용자 모델을 이용하여 각각의 사용자에 대해 문제의 보기 단위의 선택 확률 및 해당 사용자의 문제 단위의 정답 확률을 계산할 수 있다.
본 발명의 제 1 실시예를 따르면, 정답 확률이 낮은 문제가 학습 효율이 높을 것으로 가정할 수 있다. 이를 따르면, 서비스 서버는 정답 확률이 높은 문제는 사용자가 이미 이해하고 있는 것으로 보고, 사용자가 맞힐 문제는 배제하고, 틀릴 문제들만 골라서 추천할 것이다.
보다 구체적으로, 서비스 서버는 문제 데이터베이스 세트 중 사용자가 이미 풀어본 문제를 제외하고, 나머지 문제들을 특정 사용자에 대한 정답률이 낮은 순서대로 정렬하여 해당 사용자에 대한 추천 문제 리스트를 작성하고 이를 제공할 수 있다. (단계 150)
예를 들어 사용자-문제 정답률 P의 1번 행의 값이 [0.3, 0.4, 0.1, 0.9, 0.7]인 경우 사용자 1이 문제 1, 2, 3, 4, 5를 맞출 확률이 각각 30%, 40%, 10%, 90%, 70%인 것으로 해석될 것이다. 서비스 서버는 문제 3, 1, 2, 5, 4의 순서로 우선순위를 부여한 문제 추천 리스트를 사용자에게 제공할 수 있다. 이때 문제 5번을 사용자 1이 이미 풀었다면 서비스 서버는 문제 5번은 제외하고 문제 추천 리스트를 작성할 수 있다.
상기 실시예를 따르면 서비스 서버는 문제 데이터베이스에 포함된 문제를 사용자 정답 확률이 낮은 순서로 정렬하여 사용자에게 추천할 수 있다. 사용자는 틀릴 것이 확실한 문제부터 학습하게 될 것이다.
한편 데이터 분석 서버는 사용자 벡터, 문제-보기 벡터, 보기 선택률, 문제의 정답률, 사용자의 개념 이해도, 문제의 개념 구성도 중 적어도 하나 이상을 이용하여 사용자 맞춤형 컨텐츠를 추천할 수 있다. (단계 150)
예를 들어 서비스 서버는 특정 개념에 대한 이해도가 낮은 사용자에게 해당 개념에 대한 심화 강좌를 추천할 수 있다. 또 다른 예로 서비스 서버는 복수의 개념을 모두 포함하는 문제에 대한 정답률이 낮은 사용자에게 상기 복수의 개념을 포함하도록 구성된 문제를 추천할 수 있다.
한편 본 발명의 제 2 실시예를 따르면, 사용자가 어떤 문제를 맞히게 되면, 문제 전체의 상기 사용자에 대한 정답 확률의 변경률이 높은 문제가 학습 효율이 높을 것으로 가정할 수 있다. 이에 따르면, 사용자에게 문제 데이터베이스 전체를 보다 잘 풀 수 있게 되는 문제가 추천될 것이며, 사용자는 전체 문제의 정답 확률을 높일 수 있는 문제부터 학습하게 될 것이다.
상기 제 2 실시예에 따라 사용자의 문제별 학습 효율을 계산하는 과정에 대한 설명은 첨부된 도 2에 대한 설명에서 후술된다. 도 2는 본 발명의 실시예를 따라 사용자의 문제별 학습 효율을 계산하는 과정을 설명하기 위한 순서도이다.
임의의 시점에 사용자의 문제별 정답 확률 또는 임의의 문제의 보기별 선택 확률은 해당 사용자의 풀이 결과 데이터가 추가로 수집되면 이를 반영하여 업데이트될 것이다. 이를 고려하면, 특정 문제에 대해 해당 사용자가 문제 데이터베이스에 포함된 임의의 문제에 대해 정답 보기를 선택한 것으로 가정하면, 다른 문제들에 대한 해당 사용자의 정답 확률이 조금씩 변경될 것이다. (단계 210 내지 단계 230)
이후 서비스 서버는 전체 문제 데이터베이스에 포함된 문제들 각각에 대해 해당 사용자가 정답 보기를 선택한 것으로 가정하고, 다른 문제들 각각에 대해 정답 확률의 증가값을 계산하고 정답 확률의 변경값의 전체 합계 또는 정답 확률의 변경 값의 평균을 해당 문제의 학습 효율로 계산할 수 있다. (단계 240)
보다 구체적으로, 본 발명의 실시예를 따르는 데이터 분석 서버는, 특정 사용자의 임의의 문제의 보기별 선택 확률에 상기 사용자가 해당 보기를 선택한 경우, 다른 문제의 정답률 변경값의 평균값을 적용하면 해당 문제의 학습 효율을 계산할 수 있다.
예를 들어 사용자 A의 특정 문제 a의 제 1 보기에 대한 선택률이 a1, 제 2 보기에 대한 선택률이 a2, 제 3 보기에 대한 선택률이 a3, 제 4 보기에 대한 선택률이 a4인 경우를 고려할 수 있다.
그때, 사용자 A가 해당 문제에 대해 1 보기를 선택한 것으로 가정하면, 사용자 A의 모델 및 전체 문제들의 모델은 사용자 A의 제 1 보기 선택 이벤트가 적용하여 다소 변경될 것이며, 변경된 모델에 따라 각 문제들의 정답률이 다소 변경될 것이다.
이에 따라 데이터 분석 서버는 사용자 A의 제 1 보기 선택에 대한 가상 이벤트를 적용하여 전체 문제들의 정답률 변경 평균값 AVC_a1을 계산할 수 있다.
동일한 방법으로 데이터 분석 서버는 사용자 A가 제 2 보기를 선택한 것으로 가정하여 AVC_a2를 계산하고, 제 3 보기를 선택한 것으로 가정하여 AVC_a3를 계산하고, 제 4 보기를 선택한 것으로 가정하여 AVC_a4를 계산할 수 있다.
이후 데이터 분석 서버는 사용자 A의 문제 a를 통한 학습효율 E(A,a)를 아래의 수식을 통해 계산할 수 있다.
나아가 데이터 분석 서버는 전체 문제에 대해 E(A)를 계산하고, E(A)를 해당 문제의 학습 효율로 활용할 수 있다.
이후 서비스 서버는 학습 효율이 높은 순서대로 전체 문제를 정렬할 수 있다. 즉, 해당 문제를 사용자가 학습하여 맞히게 되면, 다른 문제들 전체의 정답 확률의 변경되는데, 상기 정답 확률의 변경값이 높으면, 사용자는 문제 데이터베이스 전체를 보다 잘 풀 수 있게 되기 때문에, 학습 효율이 높다고 보아 사용자에게 추천될 것이다. (단계 250)
한편 본 발명의 제 3 실시예를 따르면, 사용자의 실제 시험 점수를 높일 수 있는 문제가 학습 효율이 높을 것으로 가정할 수 있다. 이에 따르면, 문제 데이터베이스 외부에서 출제된, 동일한 과목에 대한 실제 시험 점수를 사용자 별로 추정하고, 상기 실제 시험 점수를 높일 수 있는 문제가 추천될 것이다. 이에 따르면 사용자는 실제 시험 점수를 높일 수 있는 문제부터 학습하게 될 것이다.
상기 제 3 실시예에 따라 사용자의 문제별 학습 효율을 계산하는 과정에 대한 설명은 첨부된 도 3에 대한 설명에서 후술된다. 도 3는 본 발명의 제 3 실시예를 따라 실제 시험 점수를 올릴 수 있는 문제별 학습 효율을 계산하는 과정을 설명하기 위한 순서도이다.
상기 실시예를 따르면, 문제 모델과 사용자 모델을 이용하여, 실제 시험 점수를 추정하는 과정이 필수적으로 요구된다. 문제 데이터베이스 외부에서 출제되는 실제 시험 점수를 어떻게 추정할 것인가?
종래 특정 시험에 대한 피시험자의 예상 점수는 전문가들의 노하우에 따라 추정되는 것이 일반적이었다. 예를 들어 대학 수학 능력 시험의 경우, 전문가들의 노하우에 따라 실제 대학 수학 능력 시험과 유사하게 모의고사를 구성하고, 학생들이 모의고사를 풀어본 결과를 토대로 대학 수학 능력 시험의 예상 점수가 예측되게 된다.
그러나 이와 같은 방법은 전문가들의 주관적 경험과 직관에 의존하기 때문에 실제 시험 결과와 크게 차이가 나는 경우가 적지 않다. 전문가들은 각자의 경험과 직관을 통해 모의고사를 설계하기 때문에, 이와 같은 모의고사를 통해서는 학생들의 실력을 제대로 예측하거나 실제 시험 점수를 정확하게 예측할 수 없다.
나아가 수험생들이 모의고사를 푸는 행위 자체는 능률적인 공부라고 보기 어렵다. 모의고사는 실제 시험과 문제 유형이 유사한지를 기준으로 구성되기 때문에 응시자의 실력과는 무관하게 출제된다. 즉, 모의고사는 시험점수를 추정하여 전체 학생들 중에서 자신의 위치를 확인하는데 목적이 있을 뿐, 응시자의 학습을 위해 구성된 문제가 아니며, 학습 효율을 높여주는 방식은 더더욱 아닐 것이다.
이를 해결하기 위한 본 발명의 실시예를 따르면, 실제 시험 점수 데이터가 존재하는 사용자 그룹의 실제 시험 점수 데이터를 이용하여, 문제 데이터베이스 외부에서 출제되는 실제 시험 점수를 추정하고, 실제 시험 점수 추정값이 상승하기 위해 필요한 문제들이 추천될 수 있다.
보다 구체적으로, 본 발명의 실시예를 따르면, 상기 사용자 그룹의 실제 시험 점수 데이터를 이용하여, (단계 320) 상기 사용자 그룹의 문제 데이터베이스에 포함된 모든 문제에 대한 정답 확률의 평균과 실제 시험 점수와의 관계를 나타내는 모델링 함수를 각 유저별로 계산할 수 있다. 즉, 실제 시험 점수 데이터를 이용하여, 전체문제의 정답 확률의 평균을 실제 점수로 변환하는 모델링 함수가 계산될 수 있다. (상기 모델링 함수를 계산하는 보다 구체적인 방법은 후술됨)
상기 모델링 함수가 계산되면, 상기 사용자 그룹에 속하지 않는 사용자, 즉, 실제 시험 점수 데이터가 존재하지 않는 사용자의 상기 문제 데이터베이스에 포함된 모든 문제들에 대한 정답 확률의 평균을 실제 시험 점수로 변환할 수 있다. (단계 330)
보다 구체적으로, 외부 시험 점수 데이터가 존재하지 않는 다른 사용자들에 대해, 단계 310에서 사용자 모델이 충분한 신뢰도로 계산된 경우, 상기 사용자 모델을 이용하면 문제 데이터베이스에 포함된 문제들에 대한 정답 확률을 예측할 수 있으며, 예측된 정답 확률을 상기 모델링 함수에 적용하면 정답 확률을 외부 시험 점수로 변환할 수 있다.
이후 임의의 사용자가 임의의 문제에 대해 임의의 보기를 선택한 것으로 가정하면, (단계 340) 사용자 모델 및 문제 모델은 해당 사용자의 보기 선택 이벤트가 적용되어 다소 변경될 것이며, 변경된 모델에 따라 각 문제들의 정답률이 다소 변경되고, 상기 모델링 함수를 적용하여 변환한 실제 시험 점수 예측값 역시 변경될 것이다. (단계 350)
즉, 서비스 서버는 전체 문제 데이터베이스에 포함된 문제들 각각에 대해 해당 사용자가 각각의 보기를 선택한 것으로 가정하고, 실제 시험 점수 예측의 변경값을 계산하고, 실제 시험 점수 예측의 변경값의 전체 합계 또는 변경 값의 평균을 해당 문제의 학습 효율로 계산할 수 있다.
한편, 본 발명의 다른 발명의 실시예를 따르면, 상기 사용자 그룹, 즉 실제 시험 점수 데이터가 존재하는 사용자 그룹의 실제 시험 점수 데이터를 이용하여, (단계 320) 상기 사용자 그룹에 대한 추정 점수가 상기 실제 시험 점수 데이터와 유사하도록 모의고사 문제 세트를 문제 데이터베이스로부터 구성할 수 있다. (상기 모의고사 문제 세트를 구성하는 보다 구체적인 방법은 후술됨)
상기 모의고사 문제 세트는, 전문가에 의해 실제 시험과 동일한 문제 유형으로 구성되는 종래의 모의고사와 달리, 추정 점수가 실제 시험 점수와 유사한지를 기준으로 구성되는 특징이 있다.
상기 모의고사 문제 세트가 구성되면, 상기 사용자 그룹에 속하지 않는 사용자의 사용자 모델을 이용하여, 상기 모의고사 문제 세트의 추정 점수를 계산할 수 있다. (단계 330) 상기 모의고사 문제 세트는 추정 점수가 실제 시험 점수와 유사하도록 구성되었기 때문에, 실제 시험 점수 데이터가 존재하지 않는 사용자들의 상기 모의고사 문제 세트에 대한 추정 점수를 실제 시험 점수의 예측값으로 갈음할 수 있다.
이후 임의의 사용자가 임의의 문제에 대해 각각의 보기를 선택한 것으로 가정하면, (단계 340) 사용자 모델 및 문제 모델은 해당 사용자의 보기 선택 이벤트가 적용되어 다소 변경될 것이며, 변경된 모델에 따라 각 문제들의 정답률이 다소 변경되고, 상기 모의고사 문제 세트에 대한 추정 점수 역시 변경될 것이다. (단계 350)
즉, 서비스 서버는 전체 문제 데이터베이스에 포함된 문제들 각각에 대해 해당 사용자가 각각의 보기를 선택한 것으로 가정하고, 실제 시험 점수 예측 (즉, 모의고사 문제 세트에 대한 추정 점수)의 변경값을 계산하고, 실제 시험 점수 예측의 변경값의 전체 합계 또는 변경 값의 평균을 해당 문제의 학습 효율로 계산할 수 있다.
이후 서비스 서버는 실제 시험 점수 예측값의 상승률이 높은 순서로 문제 데이터베이스를 정렬하여 사용자에게 추천할 수 있다. (단계 360)
한편, 문제 데이터베이스에 포함된 문제 각각에 대한 정답 확률과 외부 시험 점수와의 관계를 나타내는 모델링 함수를 계산하는 과정은 다음과 같다.
전술한 바와 같이, 데이터 분석 서버는 전체 사용자 중 외부 시험 점수 데이터가 존재하는 사용자 그룹을 확인할 수 있다. 이는 상기 사용자 그룹의 외부 시험 점수 데이터와 각 사용자 모델, 문제-보기 모델로부터 구할 수 있는 정답 확률과 관계를 이용하여, 외부 시험 점수 예측 효율이 높은 문제 세트를 구성하기 위한 것이다.
나아가 본 발명의 실시예를 따르는 데이터 분석 서버는, 문제 세트의 성능, 즉 문제 세트가 외부 시험 점수의 예측 효율이 높은지 여부를 검사하거나 또는 상기 문제 세트의 점수를 외부 시험 점수로 변환하는 모델링 함수의 성능을 검사하기 위해 상기 사용자 그룹의 일부를 테스트 그룹으로 분할할 수 있다.
예를 들어 데이터베이스에 속하는 전체 사용자 중, 외부 시험 데이터가 존재하는 사용자가 {A, B, C, D, E, F, G, H} 인 경우, 데이터 분석 서버는 {A, B, C, D, E}를 트레이닝 세트로 구분하고, {F, G, H}를 테스트 세트로 구분할 수 있다.
보다 구체적으로 데이터 분석 서버는 외부 시험 점수 데이터가 존재하는 사용자 그룹을 임의로 두 그룹으로 나누어, 하나의 그룹은 데이터 분석 프레임워크에 상기 문제 세트 및 시험 점수 변환 모델링 함수를 구성하기 위한 데이터를 제공하는 트레이닝 세트로 그룹핑하고, 다른 하나의 그룹은 상기 문제 세트 및 모델링 함수의 성능을 검사하기 위한 데이터를 제공하는 테스트 세트로 그룹핑할 수 있다.
다시 말하면, 외부 시험 점수 데이터가 존재하는 사용자 그룹 중, 상기 트레이닝 세트에 속하는 사용자들의 데이터는 문제 세트 및 시험 점수 변환 모델링 함수 구성에 사용되며, 상기 테스트 세트에 속하는 사용자들의 데이터는 상기 문제 세트 및 시험 점수 변환 모델링 함수의 성능을 검사하는데 사용될 수 있다.
이후, 데이터 분석 서버는 상기 사용자 그룹의 외부 시험 점수 데이터 및 사용자 모델링 벡터를 이용하여 문제 데이터베이스에서 외부 시험 점수 예측 효율이 높은 문제 세트를 구성할 수 있다.
특히 본 발명의 실시예를 따르는 문제 세트는 종래의 모의고사처럼 외부 시험과 유사한지를 기준으로 구성되는 것이 아니라, 외부 시험 점수에 대한 예측 효율이 높은지를 기준으로 구성되어 문제 개수 및/또는 문제 유형 등이 외부 시험에 종속될 필요가 없는 특징이 있다.
보다 구체적으로 특히 데이터 분석 서버는, 문제 데이터베이스에 포함되는 각각의 문제에 대해, 외부 시험 점수 데이터가 존재하는 사용자 그룹의 모델링 벡터를 이용하여 계산한 정답 확률과 상기 사용자 그룹의 외부 점수 데이터의 관계를 다차원 평면에 표현할 수 있다.
예를 들어 문제 데이터베이스에 포함된 문제가 100문제인 경우, 데이터 분석 서버는 x축을 문제 개수만큼 100개를 생성하고, y 축을 외부 시험 점수로 구성하여 다차원 평면을 생성할 수 있다.
예를 들어 외부 시험 점수 데이터가 존재하는 사용자 중, 트레이닝 세트에 속하는 사용자가 A, B, C, D, E, 5명인 경우, 데이터 분석 서버는 사용자 A에 대해 미리 계산한 모델링 벡터를 이용하여 제 1 문제의 정답 확률을 계산할 수 있으며, 이를 제 1 x축 (x1)의 x 값으로 설정하고, 사용자 A의 외부 시험 점수를 y 값으로 설정하여 사용자 A의 제 1 평면의 좌표를 결정할 수 있다.
데이터 분석 서버는 동일한 방식으로 사용자 B 내지 사용자 E의 제 1 평면의 좌표를 결정하여 제 1 문제 (x1)의 외부 시험 점수와의 관계를 다차원 공간 중 x1 평면에 표현할 수 있다.
나아가 데이터 분석 서버는 동일한 방식으로 제 2 문제 내지 제 100 문제에 대한 평면을 형성하고 각각의 문제 평면에 대한 사용자 A 내지 E의 (x, y) 좌표를 결정하여 제 2 문제 내지 제 100 문제의 외부 시험 점수와의 관계를 다차원 공간에 표현할 수 있다.
이 경우, 상기 사용자 그룹의 개별 문제에 대한 추정 정답 확률과 외부 시험 점수는 실질적으로 2차원 평면에 표현될 것이며, 본 발명의 실시예를 따르는 데이터 분석 서버는 2차원 평면에 표현된 값들의 관계를 수학적으로 표현하는 모델링 함수로 변경할 수 있다.
예를 들어, 본 발명의 실시예를 따르는 데이터 분석 서버는, 트레이닝 세트에 속하는 사용자 A, B, C, D, E의 외부 시험 점수 및 사용자 A, B, C, D, E의 사용자 모델링 벡터를 이용하여 계산한 제 1 문제에 대한 정답 확률의 관계를 수학적으로 표현하는 모델링 함수 f1(x1)를 계산할 수 있다.
나아가 제 2 문제 내지 제 100 문제에 대한 데이터를 같은 방식으로 처리하여 모델링 함수 f1(x2) 내지 f1(x100) 구할 수 있다. 이때, f1(x1) 내지 f1(x100)은 동일한 기준에 따라 결정되어야 한다.
즉, 문제 세트를 구성하기 위해 계산되는 모델링 함수의 형태는 데이터베이스에 속하는 전체 문제에 대해 동일한 형태로 결정되는 것이 적절하다. 예를 들어 제 1 문제의 모델링 함수 f1(x1)가 ax+b 형태의 1차원 함수로 표현되면, 제 2 문제 내지 제 100 문제에 대한 모델링 함수 f1(x2) 내지 f1(x100)의 모델링 함수 역시 1차원 함수 형태로 표현되는 것이 적절할 것이다.
문제 세트는 문제 데이터베이스에 속하는 문제 중, 외부 시험 점수 예측 효율이 높은 문제들로 구성되어 하기 때문에 비교 기준이 동일해야 하기 때문이다.
나아가 본 발명의 실시예를 따르는 모델링 함수는 전체 문제에 대해 동일한 기준이 적용되면, 그 형태는 제한되지 않는다. 즉, 모델링 함수는 트레이닝 세트의 데이터를 표현하기에 최적화된 형태로 작성되면 족하며, 종래 적용되는 다양한 알고리즘에 따라 계산될 수 있다.
각 문제에 대한 모델링 함수가 전체 문제에 대해 동일한 형태로 결정되면, 본 발명의 실시예를 따르는 데이터 분석 서버는 해당 문제의 모델링 함수 및 테스트 세트에 속하는 사용자의 외부 시험 점수의 편차를 이용하여 외부 시험 점수 예측 효율이 높은 문제세트를 구성할 수 있다.
예를 들어 데이터 분석 서버는 테스트 세트에 속하는 사용자 F, G, H의 사용자 모델링 벡터를 이용하여 계산한 제 1 문제 (x1)의 정답 확률을 제 1 문제의 모델링 함수 f(x1)에 적용한 값과 사용자 F, G, H의 외부 시험 점수의 차이값의 평균을 계산하고, 상기 평균값 (e)이 작으면 외부 시험 점수 예측 효율이 높은 것으로 판단할 수 있다.
상기 평균값 e을 구하는 수학식은 아래와 같으며, e는 문제 세트의 외부 시험 점수 추정 효율을 의미할 수 있다. 보다 구체적으로, e 값이 작을수록 해당 문제 세트의 외부 시험 점수 추정 효율이 높은 것으로 해석될 수 있다.
이후 데이터 분석 서버는 동일한 기준에 따라 e2 내지 e100을 계산할 수 있으며, 가장 작은 e를 가지는 문제가 외부 시험 점수 예측 효율이 가장 높은 것으로 판단할 수 있다.
예를 들어 제 4 문제에 대한 e4가 e1, e2, e3, e5 내지 e100 보다 가장 작은 경우, 제 4 문제가 외부 시험 예측 효율이 가장 높은 것으로 판단할 수 있기 때문에 데이터 분석 서버는 제 4 문제를 문제 세트에 최초로 포함시킬 수 있다.
이후 데이터 분석 서버는 제 4 문제와 함께 분석되는 것을 전제로 제 1, 제 2, 제 3 및 제 5 내지 제 100 문제 중에서 외부 시험 예측 효율이 높을 문제를 추출할 수 있다.
이를 위해 본 발명의 실시예를 따르는 데이터 분석 서버는, 제 4 문제에 대한 평면을 고정하고, 나머지 제 1, 제 2, 제 3 및 제 5 내지 제 100 문제에 대한 평면을 형성하여, 트레이닝 세트에 속하는 사용자 A, B, C, D, E의 외부 시험 점수 및 사용자 A, B, C, D, E의 사용자 모델링 벡터를 이용하여 계산한 나머지 제 1, 제 2, 제 3 및 제 5 내지 제 100 문제에 대한 정답 확률의 관계를 수학적으로 표현하는 모델링 함수 f(x4, x1), f(x4, x2), f(x4, x3), f(x4, x5) 내지 f(x4, x100)를 다시 한번 계산할 수 있다. (제 2 모델링 함수)
상기 제 2 모델링 함수값은 제 4 문제와 해당 문제에 대한 외부 시험 점수 추정값으로 해석될 수 있다.
이때, 위의 2차원 모델링 함수 f(x4, x1), f(x4, x2), f(x4, x3), f(x4, x5) 내지 f(x4, x100)들은 제 4 문제만을 가지고 모델링 함수를 구성할 때와 동일한 기준에 따라 결정되어야 할 것이다.
즉, 예를 들어 제 4 문제와 함께 제공되는 제 1 문제의 모델링 함수 f(x4, x1)는 cx4+dx1+e 형태로, 기존의 f(x4)의 ax4+b 와 같이 선형 모델의 기준을 그대로 따르면서 x1의 변수를 추가해 차원만 늘린 2차원 함수로 표현되어야 한다. 제 4 문제와 함께 제공되는 제 2 문제, 제 3 문제, 제 5 문제 내지 제 100 문제에 대한 모델링 함수 f2(x4, x2), f2(x4, x3), f2(x4, x5) 내지 f2(x4, x100)의 모델링 함수 역시 기존의 f(x4)와 동일한 선형 모델이며, 각 문제 x가 변수로 추가된 2차원 함수 형태로 표현되는 것이 적절할 것이다.
제 4 문제가 문제 세트에 포함되는 것을 전제로, 나머지 문제에 대한 2차원모델링 함수가 결정되면, 본 발명의 실시예를 따르는 데이터 분석 서버는 해당 문제들의 2차원 함수 및 테스트 세트에 속하는 사용자의 외부 시험 점수의 편차를 이용하여 외부 시험 점수 예측 효율이 높은 문제세트를 구성할 수 있다.
예를 들어 데이터 분석 서버는 테스트 세트에 속하는 사용자 F, G, H의 사용자 모델링 벡터를 이용하여 계산한 제 1 문제 (x1)의 정답 확률, 제 4 문제 (x4)의 정답 확률을 2차원 모델링 함수 f(x4, x1)에 적용한 값 (이는 제 4 문제와 제 1 문제의 외부 시험 점수 추정값으로 해석될 것이다)과 사용자 F, G, H의 외부 시험 점수의 차이값의 평균을 계산하고, 상기 평균값이 작으면 외부 시험 점수 예측 효율이 높은 것으로 판단할 수 있다. 이를 수학식으로 표현하면 아래와 같다.
이후 데이터 분석 서버는 동일한 기준에 따라 e4, 2 내지 e4, 100을 계산할 수 있으며, 가장 작은 e를 가지는 문제가 외부 시험 점수 예측 효율이 가장 높은 것으로 판단할 수 있다.
예를 들어 제 1 문제에 대한 e4,1가 e4,2, e4,3, e4,5 내지 e4,100 보다 가장 작은 경우, 제 4 문제와 함께 제공되기에 제 1 문제가 외부 시험 예측 효율이 가장 높은 것으로 판단할 수 있기 때문에 데이터 분석 서버는 제 1 문제를 문제 세트에 포함시킬 수 있다.
이후 데이터 분석 서버는 제 1, 4 문제와 함께 분석되는 것을 전제로 제 2, 제 3 및 제 5 내지 제 100 문제 중에서 외부 시험 예측 효율이 높을 문제를 전술한 방법과 같은 논리를 따라 추출할 수 있다.
한편, 이와 같은 방법에 따라 최소한의 e 를 가지는 문제들로 문제 세트를 구성하는 경우, 문제 세트 구성의 완료 시점이 문제될 수 있다. 문제 세트에 포함되는 문제의 개수가 많을수록 추정의 정밀도는 높아질 수 있으나, 문제 세트를 구성하기 위해 개별 문제마다 모델링 함수를 계산하고, 우선 순위를 계산하기 위해 소요되는 리소스 사용량이 증가될 수 있다. 따라서 외부 시험 점수 추정에 최적화된 개수로 문제 세트를 구성하는 것이 효율적이다.
본 발명의 실시예를 따르면, 테스트 세트에 속하는 사용자들의 모델링 벡터를 이용하여 계산한 문제 세트에 대한 정답 확률을 해당 문제 세트의 모델링 함수에 적용한 값과 테스트 세트에 속하는 사용자들의 외부 시험 점수의 차이값의 평균, 즉, e를 계산하고, 문제 세트의 업데이트에 따르는 e의 변경 추이에 따라 문제 세트 구성 종료 여부를 결정할 수 있다.
본 발명의 실시예를 따르는 데이터 분석 서버는 문제 세트의 e의 업데이트 추이를 확인하여 문제 세트 업데이트 종료 여부를 결정할 수 있다. 보다 구체적으로, 문제 세트 업데이트를 종료하는 경우는 크게 두가지를 고려할 수 있다.
첫번째는 해당 시점의 문제 세트로 테스트 그룹에 속하는 사용자들의 외부 시험 점수를 충분히 추정할 수 있을 때이다. 즉, 특정 문제 세트만으로 외부 시험 점수 추정을 충분히 수행할 수 있는 경우이다. 이는 해당 시점의 문제 세트의 e가 임계값 이하인지 여부를 확인하여 판단할 수 있다.
두번째는 문제 세트에 다른 문제를 추가한다 하더라도 외부 시험 점수 추정의 효율이 더 이상 높아지지 않는 경우이다. 즉, 문제 추가의 효과가 없는 경우인데, 문제를 추가한다 하더라도 외부 시험의 점수 추정 효율의 변화가 없을 것으로 예상되는 경우이다. 이는 문제 세트의 업데이트에도 불구하고 업데이트 문제 세트의 추정 효율, 즉 e가 변경되지 않고 임의의 범위 내에서 유지되는지 여부를 확인하여 판단할 수 있다.
종합하면, 본 발명의 실시예를 따르는 데이터 분석 서버는 문제 세트의 업데이트를 수행하면서, 문제 세트의 외부 시험 점수 추정 효율, 즉, e의 변경 추이를 확인하고, 특정 시점의 문제 세트의 추정 효율이 미리 설정된 임계값을 내려가거나, 상기 추정 효율이 임의의 범위 내에서 유지되는 경우 문제 세트의 업데이트를 종료하고 문제 세트를 구성할 수 있다.
한편, 본 발명의 실시예를 따르는 모델링 함수는 문제 세트에 포함되는 문제들에 대해 동일한 형태인 것을 전제로 다양한 알고리즘에 따라 결정될 수 있다. 그런데 다양한 알고리즘을 적용하여 생성한 다수의 모델링 함수 중, 외부 시험 점수 추정에 가장 효율적인 함수를 선택하는 문제가 해결 과제로 남을 수 있다.
본 발명의 실시예를 따르면, 모델링 함수의 효율성은 e, 즉, 문제 세트의 외부 시험 점수 예측 효율을 이용하여 계산할 수 있다.
예를 들어, 트레이닝 세트 {A, B, C, D, E}에 속하는 사용자의 데이터를 이용하여 제 1 기준에 따라 제 1 모델링 함수 f1가 추출되고, 상기 제 1 모델링 함수를 적용하여 구성한 문제 세트가 {제 3 문제 (x3), 제 4 문제 (x4), 제 5 문제 (x5)}경우를 고려할 수 있다.
나아가 동일한 트레이닝 세트 {A, B, C, D, E}에 속하는 데이터를 이용하여 제 2 기준에 따라 제 2 모델링 함수 f2가 추출되고, 상기 제 2 모델링 함수를 적용하여 구성한 문제 세트가 {제 1 문제 (x1), 제 3 문제 (x3), 제 5 문제 (x5)} 인 경우를 고려할 수 있다.
위의 예에서 본 발명의 실시예를 따르는 데이터 분석 서버는 테스트 세트 {F, G, H}의 데이터를 이용하여 각 문제 세트 및 각 모델링 함수의 e, 즉 문제 세트의 외부 시험 점수 예측 효율을 계산하고 더 작은 e 값을 가지는 모델링 함수를 선택할 수 있다.
보다 구체적으로, 먼저 데이터 분석 서버는 테스트 세트에 속하는 사용자 F, G, H의 사용자 모델링 벡터를 이용하여 제 1 문제 세트인 {제 3 문제 (x3), 제 4 문제 (x4), 제 5 문제 (x5)} 의 정답 확률을 제 1 모델링 함수 f1에 적용한 값과 사용자 F, G, H의 외부 시험 점수의 차이값의 평균, 즉 제 1 모델링 함수에 대한 e1을 계산할 수 있다.
이후 데이터 분석 서버는 테스트 세트에 속하는 F, G, H의 사용자 모델링 벡터를 이용하여 제 2 문제 {제 1 문제 (x1), 제 3 문제 (x3), 제 5 문제 (x5)} 의 정답 확률을 제 2 모델링 함수 f2에 적용한 값과 사용자 F, G, H의 외부 시험 점수의 차이값의 평균, 즉 제 2 모델링 함수에 대한 e2을 계산할 수 있다.
이후 데이터 분석 서버는 더 작은 e 값을 가지는 모델링 함수 및 문제 세트를 선택하여, 사용자의 외부 시험 점수를 추정하는 이후의 절차를 진행할 수 있다.
한편, 사용자에 대한 추정 점수가 문제 데이터베이스를 이용하지 않고 출제된 실제 시험 점수 데이터와 유사하도록 모의고사 문제 세트를 구성하는 과정은 다음과 같다.
본 발명의 실시예를 따르면 모의고사는 아래와 같은 방법으로 구성할 수 있다.
첫번째는 데이터베이스 문제 각각의 전체 사용자에 대한 평균 정답률을 이용하여 전체 사용자에 대한 모의고사의 평균 점수가 임의의 범위에 속하도록 문제 세트를 구성하는 것이다.
예를 들어, 어학 능력 시험의 통계를 참고할 때 해당 시험의 전체 응시자의 평균 점수가 67점에서 69점인 경우, 데이터 분석 서버는 모의고사도 평균 점수가 67점에서 69점 범위에 속하도록 문제 세트를 구성할 수 있다.
이때 해당 시험의 문제 유형 분포를 고려하여 모의고사의 문제 세트를 구성할 수 있다. 예를 들어 어학 능력 시험의 통계를 참고할 때, 실제 시험에 제 1 유형이 20 퍼센트, 제 2 유형이 30 퍼센트, 제 3 유형이 40 퍼센트, 제 4 유형이 10 퍼센트 내외로 출제되는 경우, 모의고사도 문제 유형 분포가 실제 시험과 유사하도록 구성할 수 있다.
이를 위해 본 발명의 실시예를 따르면 문제 유형에 대한 레이블을 미리 생성하여 문제 데이터베이스에 인덱스 정보를 추가할 수 있다.
예를 들어 데이터 분석 서버는 임의의 유형으로 분류할 수 있는 문제들의 레이블을 미리 정의하고, 해당 문제 유형을 따르는 문제 모델의 특성을 학습하여 문제들을 클러스터링하고, 클러스터링된 문제 그룹에 문제 유형에 대한 레이블을 부여하는 방식으로 인덱스 정보를 생성할 수 있다.
또 다른 예로 데이터 분석 서버는 문제 유형에 대한 레이블을 미리 정의하지 않고 문제들의 모델링 벡터를 이용하여 문제들을 클러스터링하고, 클러스터링된 문제 그룹의 의미를 해석하여 문제 유형에 대한 레이블을 부여하는 방식으로 인덱스 정보를 생성할 수도 있다.
본 발명의 실시예를 따라 모의고사를 구성하는 두번째 방법은 해당 시험에 대한 임의의 사용자들의 실제 점수 정보를 이용하는 것이다.
예를 들어, 어학 능력 시험에 대한 앞의 예에서, 해당 시험을 응시한 사용자 A, B, C 의 실제 점수가 각각 60, 70, 80점인 경우, 미리 계산된 사용자 A, B, C의 정답률을 적용하여 계산한 모의고사 추정 점수가 각각 60, 70, 80점이 되도록 모의고사 문제 세트를 구성할 수 있다.
모의고사의 추정된 점수가 실제 점수와 근접하도록 문제 세트를 구성하는 상기 실시예를 따르면 모의고사와 실제 시험의 유사도가 실제 시험을 응시한 사용자의 점수 정보를 이용하여 수학적으로 계산될 수 있다. 따라서 모의고사의 신뢰도, 즉, 모의고사 점수가 실제 시험 점수에 근접한다는 신뢰도를 높일 수 있다.
이때 본 발명의 실시예를 따르면 해당 시험의 문제 유형 분포 정보를 적용하여 모의고사 문제 세트를 구성할 수 있으며, 통계적으로 분석되는 다른 정보를 적용할 수도 있다.
한편, 데이터 분석 서버는 모의고사 문제 세트를 구성하는 과정에서 문제들의 배점을 조정할 수 있다. 이는 문제 데이터베이스에 속하는 문제들은 별도의 배점 정보가 부여되어 있지 않으나, 실제 시험은 문제들 각각에 상이한 배점이 부여되기 때문이다.
일반적으로 실제 시험은 어려운 문제에 높은 배점이 부여되고, 쉬운 문제에 낮은 배점이 부여된다. 이를 해석하면, 문제의 평균 정답률, 문제를 구성하는 개념의 개수, 문제 지문의 길이 등을 고려하여 실제 문제의 배점이 부여되며, 문제 유형에 따라 미리 특정된 배점이 부여될 수도 있다.
따라서 본 발명의 실시예를 따르는 데이터 분석 서버는 해당 문제의 평균 정답률, 문제를 구성하는 개념의 개수, 문제 지문의 길이, 및 문제 유형 정보 중 적어도 하나 이상을 반영하여 모의고사 문제 세트를 이루는 각각의 문제들의 배점을 부여할 수 있다.
이를 위해 데이터 분석 서버는 문제의 개념에 대한 레이블 생성을 위해 해당 과목의 학습 요소 및/또는 주제를 트리 구조로 나열하여 최소 학습 요소에 대한 메타데이터 세트를 생성하고, 상기 최소 학습 요소를 분석에 적합한 그룹 단위로 분류하여 문제를 구성하는 개념에 대한 인덱스 정보를 생성할 수도 있다.
특히 본 발명의 실시예를 따르면, 해당 시험을 실제로 응시한 사용자들의 실제 점수와 해당 사용자들의 모의고사 문제 세트에 대한 추정 점수가 근접하도록 문제 세트를 이루는 각각의 문제들의 배점을 부여할 수도 있다.
실제 시험과 유사도가 높은 모의고사 문제 세트가 구성되면, 본 발명의 실시예를 따르는 데이터 분석 서버는 사용자 각각의 모의고사에 대한 예측 점수를 추정할 수 있다. 실제 시험과 모의고사가 유사하다는 것을 전제로 모의고사의 점수를 실제 시험의 점수로 추정하는 것이다.
특히 본 발명의 실시예를 따르면, 사용자가 모의고사를 직접 풀어볼 필요없이 모의고사의 점수를 높은 신뢰도로 추정할 수 있는 특징이 있다.
본 발명의 실시예를 따르는 모의고사는 문제 데이터베이스에 포함된 문제로 구성되며, 데이터베이스에 속하는 각각의 문제에 대한 사용자의 정답률은 전술한 바와 같이 미리 계산되어 있다. 따라서 모의고사를 이루는 모든 문제들에 대한 개별 사용자의 정답률을 이용하여 해당 사용자의 모의고사 예상 점수를 추정할 수 있다.
이때 본 발명의 실시예를 따르면 임의의 시험 점수를 추정하기 위한 모의고사 문제 세트를 복수개 구성하고, 특정 사용자의 복수의 모의고사에 대한 추정 점수를 평균화하여 해당 사용자의 실제 시험에 대한 예측 점수를 추정할 수 있다.
본 명세서와 도면에 게시된 본 발명의 실시 예들은 본 발명의 기술 내용을 쉽게 설명하고 본 발명의 이해를 돕기 위해 특정 예를 제시한 것뿐이며, 본 발명의 범위를 한정하고자 하는 것은 아니다. 여기에 게시된 실시 예들 이외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형 예들이 실시 가능하다는 것은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 자명한 것이다.
Claims (1)
- 서비스 서버에서, 사용자를 분석하는 방법에 있어서,
특정 과목에 대해 적어도 하나 이상의 보기를 포함하는 객관식 문제를 적어도 하나 이상 포함하는 문제 데이터베이스를 구성하고, 상기 문제를 사용자 디바이스에 제공하고, 상기 사용자 디바이스로부터 상기 문제에 대한 사용자의 보기 선택 데이터를 수집하는 a 단계;
상기 사용자 각각의 상기 보기 선택 데이터를 이용하여, 상기 사용자의 특정 문제에 대한 정답 확률을 의미하는 사용자 모델을 생성하는 b 단계;
상기 문제 데이터베이스에 속하는 문제 각각에 대해, 상기 사용자가 특정 문제를 푼 결과가 정답이라고 가정하고, 상기 문제의 가상 풀이 결과를 상기 사용자 모델에 반영하여 업데이트하고, 업데이트된 사용자 모델을 이용하여 상기 문제 데이터베이스에 포함된 문제 전체의 정답 확률의 변경율을 계산하는 단계;
상기 사용자에게, 상기 문제 데이터베이스 전체에 대한 정답 확률을 높이는 방향의 문제를 추천하기 위하여, 상기 문제 데이터베이스에 포함된 문제를 상기 변경율이 높은 순서대로 정렬하여 상기 사용자에게 추천하는 단계를 포함하는 것을 특징으로 하는 사용자 분석 방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190102598A KR102075936B1 (ko) | 2019-08-21 | 2019-08-21 | 학습 효율을 기반으로 개인 맞춤형 교육 컨텐츠를 제공하기 위한 기계학습 방법, 장치 및 컴퓨터 프로그램 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190102598A KR102075936B1 (ko) | 2019-08-21 | 2019-08-21 | 학습 효율을 기반으로 개인 맞춤형 교육 컨텐츠를 제공하기 위한 기계학습 방법, 장치 및 컴퓨터 프로그램 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020180123240A Division KR102015075B1 (ko) | 2018-10-16 | 2018-10-16 | 학습 효율을 기반으로 개인 맞춤형 교육 컨텐츠를 제공하기 위한 기계학습 방법, 장치 및 컴퓨터 프로그램 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR102075936B1 true KR102075936B1 (ko) | 2020-03-02 |
Family
ID=69805482
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020190102598A KR102075936B1 (ko) | 2019-08-21 | 2019-08-21 | 학습 효율을 기반으로 개인 맞춤형 교육 컨텐츠를 제공하기 위한 기계학습 방법, 장치 및 컴퓨터 프로그램 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102075936B1 (ko) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022015841A1 (en) * | 2020-07-15 | 2022-01-20 | Pearson Education, Inc. | Automated skill tagging, knowledge graph, and customized assessment and exercise generation |
KR102388909B1 (ko) * | 2021-06-21 | 2022-04-21 | (주)뤼이드 | 외국어 학습자의 어휘 실력 예측과 향상을 위한 딥러닝 기반의 단어 추천 시스템 |
KR102405838B1 (ko) * | 2021-05-03 | 2022-06-07 | 디비디스커버코리아 주식회사 | 문항 순서 정렬에 의한 개인 맞춤형 콘텐츠를 제공하기 위한 장치 및 이를 위한 방법 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101285127B1 (ko) * | 2013-06-07 | 2013-07-19 | 양경명 | 차량의 적재물 감시 장치 |
KR20160117097A (ko) | 2015-03-31 | 2016-10-10 | 이소열 | 추정필터를 이용한 교육 성과 예측 방법 및 시스템 |
KR101853091B1 (ko) * | 2017-05-19 | 2018-04-27 | (주)뤼이드 | 기계학습이 적용된 사용자 답변 예측 프레임워크를 통한 개인 맞춤형 교육 컨텐츠 제공 방법, 장치 및 컴퓨터 프로그램 |
KR101895963B1 (ko) * | 2017-10-31 | 2018-10-04 | (주)뤼이드 | 신규 사용자를 분석하는 방법 |
-
2019
- 2019-08-21 KR KR1020190102598A patent/KR102075936B1/ko active IP Right Grant
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101285127B1 (ko) * | 2013-06-07 | 2013-07-19 | 양경명 | 차량의 적재물 감시 장치 |
KR20160117097A (ko) | 2015-03-31 | 2016-10-10 | 이소열 | 추정필터를 이용한 교육 성과 예측 방법 및 시스템 |
KR101853091B1 (ko) * | 2017-05-19 | 2018-04-27 | (주)뤼이드 | 기계학습이 적용된 사용자 답변 예측 프레임워크를 통한 개인 맞춤형 교육 컨텐츠 제공 방법, 장치 및 컴퓨터 프로그램 |
KR101895963B1 (ko) * | 2017-10-31 | 2018-10-04 | (주)뤼이드 | 신규 사용자를 분석하는 방법 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022015841A1 (en) * | 2020-07-15 | 2022-01-20 | Pearson Education, Inc. | Automated skill tagging, knowledge graph, and customized assessment and exercise generation |
US11501655B2 (en) | 2020-07-15 | 2022-11-15 | Pearson Education, Inc. | Automated skill tagging, knowledge graph, and customized assessment and exercise generation |
KR102405838B1 (ko) * | 2021-05-03 | 2022-06-07 | 디비디스커버코리아 주식회사 | 문항 순서 정렬에 의한 개인 맞춤형 콘텐츠를 제공하기 위한 장치 및 이를 위한 방법 |
KR102388909B1 (ko) * | 2021-06-21 | 2022-04-21 | (주)뤼이드 | 외국어 학습자의 어휘 실력 예측과 향상을 위한 딥러닝 기반의 단어 추천 시스템 |
WO2022270840A1 (ko) * | 2021-06-21 | 2022-12-29 | (주)뤼이드 | 외국어 학습자의 어휘 실력 예측과 향상을 위한 딥러닝 기반의 단어 추천 시스템 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102015075B1 (ko) | 학습 효율을 기반으로 개인 맞춤형 교육 컨텐츠를 제공하기 위한 기계학습 방법, 장치 및 컴퓨터 프로그램 | |
US20210233191A1 (en) | Method, apparatus and computer program for operating a machine learning framework with active learning technique | |
Karagiannis et al. | An adaptive mechanism for Moodle based on automatic detection of learning styles | |
KR101853091B1 (ko) | 기계학습이 적용된 사용자 답변 예측 프레임워크를 통한 개인 맞춤형 교육 컨텐츠 제공 방법, 장치 및 컴퓨터 프로그램 | |
KR102075936B1 (ko) | 학습 효율을 기반으로 개인 맞춤형 교육 컨텐츠를 제공하기 위한 기계학습 방법, 장치 및 컴퓨터 프로그램 | |
US20130288222A1 (en) | Systems and methods to customize student instruction | |
Chai et al. | Predicting the Risk of Attrition for Undergraduate Students with Time Based Modelling. | |
JP2020521244A (ja) | 試験点数を推定する方法、装置及びコンピュータプログラム | |
KR102213479B1 (ko) | 교육 컨텐츠를 제공하는 방법, 장치 및 컴퓨터 프로그램 | |
KR101895959B1 (ko) | 기계학습 프레임워크의 분석 결과를 해석하는 방법, 장치 및 컴퓨터 프로그램 | |
Ochoa | Simple metrics for curricular analytics | |
CN111159419A (zh) | 基于图卷积的知识追踪数据处理方法、系统和存储介质 | |
Hmedna et al. | How does learners' prefer to process information in MOOCs? A data-driven study | |
KR101836206B1 (ko) | 개인 맞춤형 교육 컨텐츠를 제공하는 방법, 장치 및 컴퓨터 프로그램 | |
KR102213481B1 (ko) | 사용자 맞춤형 컨텐츠를 제공하기 위한 방법, 장치 및 컴퓨터 프로그램 | |
KR20190049627A (ko) | 기계학습 프레임워크의 분석 결과를 해석하는 방법, 장치 및 컴퓨터 프로그램 | |
JP2020177507A (ja) | 試験問題予測システム及び試験問題予測方法 | |
JP2006072122A (ja) | 学習者習得特性分析システム及びその方法並びにプログラム | |
EL MEZOUARY et al. | An evaluation of learner clustering based on learning styles in MOOC course | |
Gamie et al. | Multi-Dimensional Analysis to Predict Students' Grades in Higher Education. | |
KR101895963B1 (ko) | 신규 사용자를 분석하는 방법 | |
Kumar et al. | Relevance of data mining techniques in edification sector | |
KR20180127188A (ko) | 개인 맞춤형 교육 컨텐츠를 제공하기 위한 기계학습 프레임워크 운용 방법, 장치 및 컴퓨터 프로그램 | |
Karagiannis et al. | Finding an effective data mining algorithm for automatic detection of learning styles | |
Milinković et al. | Using decision tree classifier for analyzing students’ activities |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
GRNT | Written decision to grant |