KR102465634B1 - 사용자들의 문제 풀이 실력 향상을 위한 맞춤형 문제를 제공하는 기법 - Google Patents

사용자들의 문제 풀이 실력 향상을 위한 맞춤형 문제를 제공하는 기법 Download PDF

Info

Publication number
KR102465634B1
KR102465634B1 KR1020220089583A KR20220089583A KR102465634B1 KR 102465634 B1 KR102465634 B1 KR 102465634B1 KR 1020220089583 A KR1020220089583 A KR 1020220089583A KR 20220089583 A KR20220089583 A KR 20220089583A KR 102465634 B1 KR102465634 B1 KR 102465634B1
Authority
KR
South Korea
Prior art keywords
value
skill
user
probability
difficulty
Prior art date
Application number
KR1020220089583A
Other languages
English (en)
Inventor
최민규
제갈윤
Original Assignee
주식회사 튜링
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 튜링 filed Critical 주식회사 튜링
Priority to KR1020220089583A priority Critical patent/KR102465634B1/ko
Priority to KR1020220146894A priority patent/KR20240012257A/ko
Application granted granted Critical
Publication of KR102465634B1 publication Critical patent/KR102465634B1/ko

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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/18Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks
    • 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
    • G06Q50/205Education administration or guidance
    • G06Q50/2057Career enhancement or continuing education service
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B5/00Electrically-operated educational appliances
    • G09B5/08Electrically-operated educational appliances providing for individual presentation of information to a plurality of student stations

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Educational Technology (AREA)
  • Educational Administration (AREA)
  • Tourism & Hospitality (AREA)
  • Data Mining & Analysis (AREA)
  • Strategic Management (AREA)
  • Human Resources & Organizations (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Mathematical Optimization (AREA)
  • General Business, Economics & Management (AREA)
  • Primary Health Care (AREA)
  • Marketing (AREA)
  • General Health & Medical Sciences (AREA)
  • Economics (AREA)
  • Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Probability & Statistics with Applications (AREA)
  • Algebra (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Operations Research (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Biology (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Electrically Operated Instructional Devices (AREA)

Abstract

본 개시의 몇몇 실시예에 의한 장치의 프로세서에 의해 사용자의 문제 풀이 실력 향상을 위한 맞춤형 문제를 제공하는 방법이 개시된다. 상기 방법은: 상기 사용자가 복수의 문제를 맞힐 복수의 확률 값을 산출하는 단계; 및 상기 복수의 문제 중 기 설정된 범위에 속하는 제1 확률 값을 갖는 제1 문제를 상기 사용자에게 제공하는 단계;를 포함하고, 상기 복수의 문제를 맞힐 복수의 확률 값을 산출할 때 복수의 문제 중 하나인 제2 문제를 상기 사용자가 맞힐 제2 확률 값은, 수학식
Figure 112022075780724-pat00155
에 의해 산출되고, 상기
Figure 112022075780724-pat00156
는 상기 제2 확률 값이고, 상기
Figure 112022075780724-pat00157
는 상기 제2 문제의 난이도 오차를 최소화하도록 보정하는 기 설정된 제1 파라미터 값이고, 상기
Figure 112022075780724-pat00158
는 상기 제2 문제를 상기 사용자가 찍어서 맞힐 확률을 보정하도록 문제 타입에 따라 값이 변화하는 제2 파라미터 값이고, 상기
Figure 112022075780724-pat00159
는 상기 제2 문제의 난이도 값이고, 상기
Figure 112022075780724-pat00160
은 상기 제2 문제와 관련된 제1 단원에 대한 상기 사용자의 제1 실력 값이고, 상기
Figure 112022075780724-pat00161
는 기 설정된 상수 값일 수 있다.

Description

사용자들의 문제 풀이 실력 향상을 위한 맞춤형 문제를 제공하는 기법{TECHNIQUE FOR PROVIDING CUSTOMIZED PROBLEMS TO IMPROVE PROBLEM SOLVING SKILLS OF USERS}
본 개시는 사용자들의 문제 풀이 실력 향상을 위한 맞춤형 문제를 제공하는 기법에 관한 것으로, 구체적으로 저장부에 저장된 복수의 문제 각각을 사용자가 맞힐 확률 값을 산출한 후 이에 기초하여 사용자에게 맞춤형 문제를 제공하는 장치 및 그 방법에 관한 것이다.
통상적으로, 교육 제공 방법은, 학원이나 방문 등을 통한 오프라인 교육 또는 이러닝(E-learning)과 같은 ICT(Information and Communication Technology)를 활용하여 학습할 수 있는 온라인 교육으로 나눌 수 있다.
이러한 교육 방법들은, 다수의 학습자(또는 사용자)에게 제공되기 위해 일반적으로 평균 학습자의 수준에 맞춰진 학습자료와 학습 서비스를 제공한다.
예를 들어, 학원 교육의 경우, 개개인의 학업 수준과는 상관없이 다수의 학습자들을 대상으로 하여 동일한 교육 내용을 제공하는 경우가 대부분이기 때문에, 개개인의 학업수준 또는 각 학교별로 출제되는 시험의 경향이나 난이도 수준에 맞는 학습을 제공받기 어렵다.
또한, 오프라인 교육의 경우에는 학습자(또는 사용자)가 학습 서비스를 제공받기 위해서는 학원으로 이동해야 하기 때문에, 그에 따른 상당한 시간과 노력이 소요된다.
근래에 들어, ICT의 발달로 인해 오프라인 교육의 문제점을 해결할 수 있는 온라인 교육의 제공이 보편화되었다. 예를 들어, 이러닝(E-learning)은, 학습자(또는 사용자)가 학습자 단말기를 통해 원하는 시간과 장소에서 학습할 수 있으며, 학습내용에 대한 예상문제를 풀어볼 수 있는 환경을 제공한다.
또한, 학습자가 학습방법과 학습진도에 대해 결정할 수 있기 때문에, 시간과 장소에 구애되지 않고, 수준별 학습이 가능하다.
다만, 성향 또는 개인별 취약점에 맞춘 학습자료 및 학습 서비스 제공하는 것에는 한계가 있다. 국가수준 학업성취도 평가에서도 보이듯이, 각 학교마다 학생들의 평균 학업수준이 다르며, 학교별로 출제되는 시험문제의 난이도와 유형이 다르다.
교사는 학생들의 평균 학업수준 및 환경 그리고, 동료 교사들의 성향을 고려하여 시험문제를 출제하기 때문에, 각 학교의 기출문제는 그 학교만의 고유한 성향을 갖게 된다.
따라서, 이와 같이 각 학교별 시험문제 출제 성향이 모두 다르기 때문에, 각 학교별로 출제되는 시험의 난이도 또는 출제 유형에 맞는 예상문제나 학습 서비스를 제공하기 어렵다. 또한, 학습자들 각각이 가지고 있는 취약점이 각기 다르기 때문에, 기존의 온라인 교육을 통해서는 학습 효율을 개선시키는데 어려움이 있다.
위에서 설명한 바와 같이 정형화된 교육 제공 방법들은 학습자(또는 사용자)에게 개별화된 학습 서비스를 제공하는데 어려움이 있다. 따라서, 기존 교육 제공 방법들의 문제점들을 극복하고, 학습자의 학습 효율을 향상시킬 수 있는 사용자 맞춤형 문제를 제공할 필요성이 절실한 실정이다.
대한민국 특허등록번호 10-2245286 (2021.04.21 등록)
본 개시는 전술한 문제 및 다른 문제를 해결하는 것을 목적으로 한다. 본 개시의 몇몇 실시예가 이루고자 하는 기술적 과제는, 사용자의 문제 풀이 실력 향상을 위한 사용자 맞춤형 문제를 제공하는 것을 그 목적으로 한다.
본 개시에서 이루고자 하는 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급하지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 개시의 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
본 개시의 몇몇 실시예에 의한 장치의 프로세서에 의해 사용자의 문제 풀이 실력 향상을 위한 맞춤형 문제를 제공하는 방법은: 상기 사용자가 복수의 문제를 맞힐 복수의 확률 값을 산출하는 단계; 및 상기 복수의 문제 중 기 설정된 범위에 속하는 제1 확률 값을 갖는 제1 문제를 상기 사용자에게 제공하는 단계;를 포함하고, 상기 복수의 문제를 맞힐 복수의 확률 값을 산출할 때 복수의 문제 중 하나인 제2 문제를 상기 사용자가 맞힐 제2 확률 값은, 수학식
Figure 112022075780724-pat00001
에 의해 산출되고, 상기
Figure 112022075780724-pat00002
는 상기 제2 확률 값이고, 상기
Figure 112022075780724-pat00003
는 상기 제2 문제의 난이도 오차를 최소화하도록 보정하는 기 설정된 제1 파라미터 값이고, 상기
Figure 112022075780724-pat00004
는 상기 제2 문제를 상기 사용자가 찍어서 맞힐 확률을 보정하도록 문제 타입에 따라 값이 변화하는 제2 파라미터 값이고, 상기
Figure 112022075780724-pat00005
는 상기 제2 문제의 난이도 값이고, 상기
Figure 112022075780724-pat00006
은 상기 제2 문제와 관련된 제1 단원에 대한 상기 사용자의 제1 실력 값이고, 상기
Figure 112022075780724-pat00007
는 기 설정된 상수 값일 수 있다.
본 개시의 몇몇 실시예에 의하면, 상기 제2 확률 값은, 상기 제2 문제와 관련된 상기 제1 단원이 복수 개인 경우, 복수의 제1 단원 각각의 실력 값 및 상기 난이도 값을 이용하여 산출된 상기 사용자가 상기 제2 문제를 맞힐 복수의 제3 확률 값 중 가장 작은 값을 갖는 확률 값일 수 있다.
본 개시의 몇몇 실시예에 의하면, 상기 문제 타입은, 객관식 문제를 나타내는 제1 타입 및 주관식 문제를 나타내는 제2 타입을 포함하고, 상기 제2 파라미터 값은, 상기 제2 문제가 상기 제1 타입인 경우, 0보다 큰 값을 갖고, 상기 제2 문제가 상기 제2 타입인 경우, 0일 수 있다.
본 개시의 몇몇 실시예에 의하면, 상기 난이도 값은, 상기 제2 문제가 기 설정된 기관에서 출제한 문제인 경우, 기 설정된 서버로부터 제공된 데이터 셋을 분석하여 산출된 값이고, 상기 제2 문제가 자체 제작 문제인 경우, 기 설정된 수의 난이도 설정자로부터 입력 받은 난이도 값의 평균을 계산하여 산출된 값일 수 있다.
본 개시의 몇몇 실시예에 의하면, 상기 방법은: 상기 제1 문제를 상기 사용자에게 제공한 후, 상기 사용자가 상기 제1 문제를 풀이한 풀이 데이터를 수신하는 단계; 상기 풀이 데이터의 정답 여부 및 상기 사용자의 상기 제1 문제와 관련된 제2 단원에 대한 이전 실력 값에 기초하여 산출된 제2 실력 값으로 상기 제2 단원에 대한 실력 값을 변경하는 단계; 상기 제2 단원에 대한 실력 값을 상기 제2 실력 값으로 변경한 경우, 상기 제2 단원과 의존 관계가 있는 의존 단원에 대한 제3 실력 값을 상기 제2 실력 값과 동일한 값으로 변경하는 단계; 상기 제2 단원 및 상기 의존 단원 중 적어도 하나와 유사 관계가 있는 유사 단원에 대한 제4 실력 값 및 기 설정된 유사도 값을 이용하여 실력 범위를 결정하는 단계; 및 상기 제2 실력 값이 상기 실력 범위를 벗어나는지 여부에 기초하여 상기 제4 실력 값의 변경 여부를 결정하는 단계;를 더 포함할 수 있다.
본 개시의 몇몇 실시예에 의하면, 상기 실력 범위는, 상기 제4 실력 값에 상기 기 설정된 유사도 값을 곱한 값보다 크거나 같은 제1 범위 및 상기 제4 실력 값에 상기 기 설정된 유사도 값을 나눈 값보다 작거나 같은 제2 범위를 포함할 수 있다.
본 개시의 몇몇 실시예에 의하면, 상기 제2 실력 값이 상기 실력 범위를 벗어나는지 여부에 기초하여 상기 제4 실력 값의 변경 여부를 결정하는 단계는, 상기 제2 실력 값이 상기 실력 범위를 벗어나지 않으면, 상기 제4 실력 값을 변경하지 않는다고 결정하는 단계; 또는 상기 제2 실력 값이 상기 실력 범위를 벗어나면, 상기 제4 실력 값을 변경한다고 결정하는 단계;를 포함할 수 있다.
본 개시의 몇몇 실시예에 의하면,상기 제2 실력 값이 상기 실력 범위를 벗어나는지 여부에 기초하여 상기 제4 실력 값의 변경 여부를 결정하는 단계는, 상기 제2 실력 값이 상기 제1 범위를 벗어나는 경우, 상기 제2 실력 값에 상기 기 설정된 유사도 값을 나눈 값으로 상기 제4 실력 값을 변경한다고 결정하는 단계; 또는 상기 제2 실력 값이 상기 제2 범위를 벗어나는 경우, 상기 제2 실력 값에 상기 기 설정된 유사도 값을 곱한 값으로 상기 제4 실력 값을 변경한다고 결정하는 단계;를 더 포함할 수 있다.
본 개시의 몇몇 실시예에 의하면, 상기 풀이 데이터의 정답 여부 및 상기 사용자의 상기 제1 문제와 관련된 제2 단원에 대한 이전 실력 값에 기초하여 산출된 제2 실력 값으로 상기 제2 단원에 대한 실력 값을 변경하는 단계는: 상기 제1 확률 값, 상기 이전 실력 값 및 업데이트 폭을 결정하는 상수 값을 확인하는 단계; 및 상기 풀이 데이터가 정답인지 여부에 따라 다른 수학식에 상기 제1 확률 값, 상기 이전 실력 값 및 상기 상수 값을 대입하여 상기 제2 실력 값을 산출하는 단계;를 포함하고, 상기 제2 실력 값은, 상기 풀이 데이터가 정답인 경우 수학식
Figure 112022075780724-pat00008
에 의해 결정되고, 상기 풀이 데이터가 오답인 경우 수학식
Figure 112022075780724-pat00009
에 의해 결정되고, 상기
Figure 112022075780724-pat00010
는 상기 제2 실력 값이고, 상기
Figure 112022075780724-pat00011
는 상기 이전 실력 값이고, 상기
Figure 112022075780724-pat00012
는 상기 제1 확률 값이고, 상기
Figure 112022075780724-pat00013
는 상기 상수 값일 수 있다.
본 개시의 몇몇 실시예에 의하면, 컴퓨터 판독가능 저장 매체 저장된 컴퓨터 프로그램은 장치의 프로세서에서 실행되는 경우, 사용자의 문제 풀이 실력 향상을 위한 맞춤형 문제를 제공하는 단계들을 수행하며, 상기 단계들은: 상기 사용자가 복수의 문제를 맞힐 복수의 확률 값을 산출하는 단계; 및 상기 복수의 문제 중 기 설정된 범위에 속하는 제1 확률 값을 갖는 제1 문제를 상기 사용자에게 제공하는 단계;를 포함하고, 상기 복수의 문제를 맞힐 복수의 확률 값을 산출할 때 복수의 문제 중 하나인 제2 문제를 상기 사용자가 맞힐 제2 확률 값은, 수학식
Figure 112022075780724-pat00014
에 의해 산출되고, 상기
Figure 112022075780724-pat00015
는 상기 제2 확률 값이고, 상기
Figure 112022075780724-pat00016
는 상기 제2 문제의 난이도 오차를 최소화하도록 보정하는 기 설정된 제1 파라미터 값이고, 상기
Figure 112022075780724-pat00017
는 상기 제2 문제를 상기 사용자가 찍어서 맞힐 확률을 보정하도록 문제 타입에 따라 값이 변화하는 제2 파라미터 값이고, 상기
Figure 112022075780724-pat00018
는 상기 제2 문제의 난이도 값이고, 상기
Figure 112022075780724-pat00019
은 상기 제2 문제와 관련된 제1 단원에 대한 상기 사용자의 제1 실력 값이고, 상기
Figure 112022075780724-pat00020
는 기 설정된 상수 값일 수 있다.
본 개시의 몇몇 실시예에 의하면, 상기 제2 확률 값은, 상기 제2 문제와 관련된 상기 제1 단원이 복수 개인 경우, 복수의 제1 단원 각각의 실력 값 및 상기 난이도 값을 이용하여 산출된 상기 사용자가 상기 제2 문제를 맞힐 복수의 제3 확률 값 중 가장 작은 값을 갖는 확률 값일 수 있다.
본 개시의 몇몇 실시예에 의하면, 상기 문제 타입은, 객관식 문제를 나타내는 제1 타입 및 주관식 문제를 나타내는 제2 타입을 포함하고, 상기 제2 파라미터 값은, 상기 제2 문제가 상기 제1 타입인 경우, 0보다 큰 값을 갖고, 상기 제2 문제가 상기 제2 타입인 경우, 0일 수 있다.
본 개시의 몇몇 실시예에 의하면, 상기 난이도 값은, 상기 제2 문제가 기 설정된 기관에서 출제한 문제인 경우, 기 설정된 서버로부터 제공된 데이터 셋을 분석하여 산출된 값이고, 상기 제2 문제가 자체 제작 문제인 경우, 기 설정된 수의 난이도 설정자로부터 입력 받은 난이도 값의 평균을 계산하여 산출된 값일 수 있다.
본 개시의 몇몇 실시예에 의하면, 상기 단계들은: 상기 제1 문제를 상기 사용자에게 제공한 후, 상기 사용자가 상기 제1 문제를 풀이한 풀이 데이터를 수신하는 단계; 상기 풀이 데이터의 정답 여부 및 상기 사용자의 상기 제1 문제와 관련된 제2 단원에 대한 이전 실력 값에 기초하여 산출된 제2 실력 값으로 상기 제2 단원에 대한 실력 값을 변경하는 단계; 상기 제2 단원에 대한 상기 실력 값을 상기 제2 실력 값으로 변경한 경우, 상기 제2 단원과 의존 관계가 있는 의존 단원에 대한 제3 실력 값을 상기 제2 실력 값과 동일한 값으로 변경하는 단계; 상기 제2 단원 및 상기 의존 단원 중 적어도 하나와 유사 관계가 있는 유사 단원에 대한 제4 실력 값 및 기 설정된 유사도 값을 이용하여 실력 범위를 결정하는 단계; 및 상기 제2 실력 값이 상기 실력 범위를 벗어나는지 여부에 기초하여 상기 제4 실력 값의 변경 여부를 결정하는 단계;를 더 포함할 수 있다.
본 개시의 몇몇 실시예에 의하면, 사용자의 문제 풀이 실력 향상을 위한 맞춤형 문제를 제공하는 장치는: 적어도 하나의 프로그램 명령이 저장된 저장부; 및 상기 적어도 하나의 프로그램 명령을 수행하는 프로세서;를 포함하고, 상기 프로세서는, 상기 사용자가 복수의 문제를 맞힐 복수의 확률 값을 산출하고, 상기 복수의 문제 중 기 설정된 범위에 속하는 제1 확률 값을 갖는 제1 문제를 상기 사용자에게 제공하고, 상기 복수의 문제를 맞힐 복수의 확률 값을 산출할 때 복수의 문제 중 하나인 제2 문제를 상기 사용자가 맞힐 제2 확률 값은, 수학식
Figure 112022075780724-pat00021
에 의해 산출되고, 상기
Figure 112022075780724-pat00022
는 상기 제2 확률 값이고, 상기
Figure 112022075780724-pat00023
는 상기 제2 문제의 난이도 오차를 최소화하도록 보정하는 기 설정된 제1 파라미터 값이고, 상기
Figure 112022075780724-pat00024
는 상기 제2 문제를 상기 사용자가 찍어서 맞힐 확률을 보정하도록 문제 타입에 따라 값이 변화하는 제2 파라미터 값이고, 상기
Figure 112022075780724-pat00025
는 상기 제2 문제의 난이도 값이고, 상기
Figure 112022075780724-pat00026
은 상기 제2 문제와 관련된 제1 단원에 대한 상기 사용자의 제1 실력 값이고, 상기
Figure 112022075780724-pat00027
는 기 설정된 상수 값일 수 있다.
본 개시에서 얻을 수 있는 기술적 해결 수단은 이상에서 언급한 해결 수단들로 제한되지 않으며, 언급하지 않은 또 다른 해결 수단들은 아래의 기재로부터 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
본 개시에 따른 맞춤형 문제를 제공하는 방법의 효과에 대해 설명하면 다음과 같다.
본 개시의 몇몇 실시예에 의하면, 사용자의 문제 풀이 실력을 향상시킬 수 있는 맞춤형 문제를 제공할 수 있다.
본 개시를 통해 얻을 수 있는 효과는 이상에서 언급한 효과로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
본 개시의 다양한 실시예들이 도면들을 참조로 설명되며, 여기서 유사한 참조 번호들은 총괄적으로 유사한 구성요소들을 지칭하는데 이용된다. 이하의 실시예에서, 설명 목적을 위해, 다수의 특정 세부사항들이 하나 이상의 실시예들의 총체적 이해를 제공하기 위해 제시된다. 그러나, 그러한 실시예(들)가 이러한 구체적인 세부사항들 없이 실시될 수 있음은 명백할 것이다.
도 1은 본 개시의 몇몇 실시예에 따른 사용자의 문제 풀이 실력 향상을 위한 맞춤형 문제를 제공하는 장치를 설명하기 위한 블록도이다.
도 2는 본 개시의 몇몇 실시예에 따라 사용자의 문제 풀이 실력을 향상시키기 위한 문제를 사용자에게 제공하는 방법의 일례를 설명하기 위한 흐름도이다.
도 3은 본 개시의 몇몇 실시예에 따라 문제를 맞힐 확률 값을 산출할 때 사용되는 수학식의 일례를 설명하기 위한 도면이다.
도 4는 본 개시의 몇몇 실시예에 따라 문제가 기 설정된 기관에서 출제한 문제인 경우 난이도 값을 산출하는 수학식의 일례를 설명하기 위한 도면이다.
도 5는 본 개시의 몇몇 실시예에 따라 사용자의 실력 값을 업데이트하는 방법의 일례를 설명하기 위한 흐름도이다.
도 6은 본 개시의 몇몇 실시예에 따라 풀이 데이터 및 문제와 관련된 단원에 대한 이전 실력 값에 기초하여 단원에 대한 실력 값을 업데이트하는 방법의 일례를 설명하기 위한 흐름도이다.
도 7은 본 개시의 몇몇 실시예에 따라 문제와 관련된 단원과 의존 관계가 있는 의존 단원의 일례를 설명하기 위한 도면이다.
도 8은 본 개시의 몇몇 실시예에 따라 유사 단원에 대한 실력 값을 업데이트하는 방법의 일례를 설명하기 위한 도면이다.
도 9는 본 개시의 몇몇 실시예에 따른 유사 단원의 일례를 설명하기 위한 도면이다.
이하에서는 도면을 참조하여 본 개시에 따른 장치 및 장치의 제어 방법의 다양한 실시예(들)를 상세하게 설명하되, 도면 부호에 관계없이 동일하거나 유사한 구성요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.
본 개시의 목적 및 효과, 그리고 그것들을 달성하기 위한 기술적 구성들은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 본 개시의 하나 이상의 실시예들을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 개시의 적어도 하나의 실시예의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
본 개시의 용어들은 본 개시에서의 기능을 고려하여 정의된 용어들로써 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 또한, 첨부된 도면은 본 개시의 하나 이상의 실시예를 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 개시의 기술적 사상이 제한되지 않으며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
이하의 설명에서 사용되는 구성요소에 대한 접미사 "모듈" 및 "부"는 본 개시의 작성의 용이함만이 고려되어 부여되거나 혼용되는 것으로서, 그 자체로 서로 구별되는 의미 또는 역할을 갖는 것은 아니다.
제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되지는 않는다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 따라서, 이하에서 언급되는 제1 구성요소는 본 개시의 기술적 사상 내에서 제2 구성 요소가 될 수도 있다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 즉, 달리 특정되지 않거나 단수 형태를 지시하는 것으로 문맥상 명확하지 않은 경우, 본 개시와 청구범위에서 단수는 일반적으로 "하나 또는 그 이상"을 의미하는 것으로 해석되어야 한다.
본 개시에서, "포함하는", "포함한다" 또는 "가지다" 등의 용어는 본 개시상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
본 개시에서 "또는"이라는 용어는 배타적 의미의 "또는"이 아니라 내포적 의미의 "또는"으로 이해되어야 한다. 즉, 달리 특정되지 않거나 문맥상 명확하지 않은 경우에, "X는 A 또는 B를 이용한다"는 자연적인 내포적 치환 중 하나를 의미하는 것으로 의도된다. 즉, X가 A를 이용하거나; X가 B를 이용하거나; 또는 X가 A 및 B 모두를 이용하는 경우, "X는 A 또는 B를 이용한다"가 이들 경우들 어느 것으로도 적용될 수 있다. 또한, 본 개시에 사용된 "및/또는"이라는 용어는 열거된 관련 아이템들 중 하나 이상의 아이템의 가능한 모든 조합을 지칭하고 포함하는 것으로 이해되어야 한다.
본 개시에서 사용되는 용어 "정보" 및 "데이터"는 서로 상호 교환 가능하도록 사용될 수 있다.
다른 정의가 없다면, 본 개시에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 개시의 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 특별히 정의되어 있지 않는 한 과도하게 해석되지 않는다.
그러나 본 개시는 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있다. 단지 본 개시의 몇몇 실시예들은 본 개시의 기술분야에서 통상의 지식을 가진 자에게 본 개시의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 개시는 청구항의 범주에 의해 정의될 뿐이다. 그러므로 그 정의는 본 개시 전반에 걸친 내용을 토대로 내려져야 할 것이다.
본 개시의 몇몇 실시예에 따르면, 장치의 프로세서는 사용자가 복수의 문제를 맞힐 복수의 확률 값을 산출할 수 있다. 그리고, 프로세서는 복수의 문제 중 기 설정된 범위에 속하는 제1 확률 값을 갖는 제1 문제를 사용자에게 제공할 수 있다. 여기서, 제1 문제는 사용자의 문제 풀이 실력을 향상시키기 위한 사용자 맞춤형 문제일 수 있다.
이하에서는 도 1 내지 도 9를 참조하여 사용자의 문제 풀이 실력 향상을 위한 제1 문제를 사용자에게 제공하는 방법에 대해 설명한다.
도 1은 본 개시의 몇몇 실시예에 따른 사용자의 문제 풀이 실력 향상을 위한 맞춤형 문제를 제공하는 장치를 설명하기 위한 블록도이다.
도 1을 참조하면, 사용자의 문제 풀이 실력 향상을 위한 맞춤형 문제를 제공하는 장치(100)는 프로세서(110), 저장부(120) 및 통신부(130)를 포함할 수 있다. 도 1에 도시된 구성요소들은 장치(100)를 구현하는데 있어서 필수적인 것은 아니어서, 본 개시에서 설명되는 장치(100)는 위에서 열거된 구성요소들 보다 많거나, 또는 적은 구성요소들을 가질 수 있다.
본 개시의 장치(100)의 각 구성요소는 실제 구현되는 장치(100)의 사양에 따라 통합, 추가, 또는 생략될 수 있다. 즉, 필요에 따라, 2 이상의 구성요소가 하나의 구성요소로 합쳐지거나 하나의 구성요소가 2 이상의 구성요소로 세분화될 수 있다. 또한, 각 블록에서 수행하는 기능은 본 개시의 실시예를 설명하기 위한 것이며, 그 구체적인 동작이나 장치는 본 발명의 권리범위를 제한하지 아니한다.
본 개시에서 설명되는 장치(100)는 데이터(data), 콘텐츠(content), 서비스(service) 및 애플리케이션(application) 등을 송신 및 수신 중 적어도 하나 이상을 수행하는 모든 디바이스를 포함할 수 있다.
본 개시의 장치(100)는 유/무선 네트워크(wire/wireless network)를 통하여 다른 장치, 외부 서버(external server) 등과 페어링 또는 연결(pairing or connecting) 가능하며, 이를 통해 소정 데이터를 송/수신할 수 있다. 이 경우, 장치(100)를 통해 송/수신되는 데이터는 송/수신 전에 변환(converting)될 수 있다.
본 개시의 장치(100)에는 예를 들어, 서버(server), PC(Personal Computer), 마이크로프로세서, 메인프레임 컴퓨터, 디지털 프로세서, 디바이스 제어기 등과 같은 고정형 디바이스(standing device) 스마트 폰(Smart Phone), 태블릿 PC(Tablet PC), 노트북(Notebook) 등과 같은 모바일 디바이스(mobile device or handheld device)가 모두 포함될 수 있다. 다만, 본 개시는 이에 한정되는 것은 아니다.
본 개시에서, "서버"라 함은, 다양한 종류의 사용자 단말기 즉, 클라이언트(client)로 데이터를 공급 또는 그로부터 데이터를 수신하는 장치 혹은 시스템을 의미한다. 서버로 예컨대, 웹 페이지(web page), 웹 컨텐트 또는 웹 서비스(web content or web service)를 제공하는 웹 서버(Web server)나 포털 서버(portal server), 광고 데이터(advertising data)를 제공하는 광고 서버(advertising server), 컨텐트를 제공하는 컨텐트 서버(content server), SNS(Social Network Service)를 제공하는 SNS 서버, 제조업체(manufacturer)에서 제공하는 서비스 서버(service server), VoD(Video on Demand)나 스트리밍(streaminng) 서비스 제공을 위한 MVPD(Multichannel Video Programming Distributor), 유료 서비스(pay service) 등을 제공하는 서비스 서버 등이 포함될 수 있다.
본 개시에서 장치(100)로 명명하는 경우, 그 의미는 문맥에 따라 서버를 의미하나, 고정형 디바이스 또는 모바일 디바이스를 의미할 수도 있고 특별히 언급하지 않는다면 모두 포함하는 의미로 사용될 수도 있다.
프로세서(110)는 응용 프로그램과 관련된 동작 외에도 통상적으로 장치(100)의 전반적인 동작을 제어할 수 있다. 프로세서(110)는 장치(100)의 구성요소들을 통해 입력 또는 출력되는 신호, 데이터, 정보 등을 처리하거나 저장부(120)에 저장된 응용 프로그램을 구동함으로써, 적절한 정보 또는 기능을 제공 또는 처리할 수 있다.
프로세서(110)는 저장부(120)에 저장된 응용 프로그램을 구동하기 위하여 장치(100)의 구성요소들 중 적어도 일부를 제어할 수 있다. 나아가, 프로세서(110)는 응용 프로그램의 구동을 위하여 장치(100)에 포함된 구성요소들 중 적어도 둘 이상을 서로 조합하여 동작시킬 수 있다.
프로세서(110)는 하나 이상의 코어로 구성될 수 있으며, 다양한 상용 프로세서들 중 임의의 프로세서일 수 있다. 예를 들어, 프로세서(110)는 장치의 중앙 처리 장치(CPU: Central Processing Unit), 범용 그래픽 처리 장치 (GPUGP: General Purpose Graphics Processing Unit), 텐서 처리 장치(TPU: Tensor Processing Unit) 등을 포함할 수 있다. 다만, 본 개시는 이에 한정되는 것은 아니다.
본 개시의 프로세서(110)는 듀얼 프로세서 또는 기타 멀티프로세서 아키텍처로 구성될 수 있다. 다만, 본 개시는 이에 한정되는 것은 아니다.
프로세서(110)는 저장부(120)에 저장된 컴퓨터 프로그램을 판독하여 사용자의 문제 풀이 실력 향상을 위한 맞춤형 문제를 사용자에게 제공할 수 있다.
구체적으로, 프로세서(110)는 사용자가 복수의 문제를 맞힐 복수의 확률 값을 산출할 수 있다. 그리고, 프로세서(110)는 복수의 문제 중 기 설정된 범위에 속하는 제1 확률 값을 갖는 제1 문제를 사용자에게 제공할 수 있다. 다만, 본 개시는 이에 한정되는 것은 아니다.
본 개시에서 프로세서(110)는 복수의 문제를 맞힐 복수의 확률 값을 산출할 때 복수의 문제 중 하나인 제2 문제를 사용자가 맞힐 제2 확률 값을 수학식
Figure 112022075780724-pat00028
에 의해 산출할 수 있다. 여기서,
Figure 112022075780724-pat00029
는 제2 확률 값이고,
Figure 112022075780724-pat00030
는 제2 문제의 난이도 오차를 최소화하도록 보정하는 기 설정된 제1 파라미터 값이고,
Figure 112022075780724-pat00031
는 제2 문제를 사용자가 찍어서 맞힐 확률을 보정하도록 문제 타입에 따라 값이 변화하는 제2 파라미터 값이고,
Figure 112022075780724-pat00032
는 제2 문제의 난이도 값이고,
Figure 112022075780724-pat00033
은 제2 문제와 관련된 제1 단원에 대한 상기 사용자의 제1 실력 값이고,
Figure 112022075780724-pat00034
는 기 설정된 상수 값일 수 잇다. 이는 도 3을 참조하여 좀더 자세히 후술한다.
본 개시에서 프로세서(110)는 복수의 문제 각각에 대한 확률 값을 상술한 수학식에 기초하여 산출할 수 있다. 이 경우, 프로세서(110)는 복수의 문제 각각에 대한 확률 값을 순차적으로 산출할 수도 있고 병렬적으로 산출할 수도 있다. 다만, 본 개시는 이에 한정되는 것은 아니다.
본 개시에서 제2 문제는 복수의 문제 중 확률 값을 산출하는 하나의 문제를 의미할 수 있고, 제2 확률 값은 상술한 수학식에 기초하여 산출된 제2 문제를 사용자가 맞힐 확률 값을 의미할 수 있다. 다만, 본 개시는 이에 한정되는 것은 아니다.
본 개시의 몇몇 실시예에 따르면, 제2 문제는 하나의 단원과 관련된 문제일 수도 있고, 복수의 단원과 관련된 문제일 수도 있다. 프로세서(110)는 제2 문제가 몇 개의 단원과 관련된 문제인지에 따라 다른 방법에 기초하여 사용자가 제2 문제를 맞힐 확률 값을 산출할 수 있다.
제2 문제가 하나의 단원과 관련된 문제일 경우 프로세서(110)는 상술한 수학식에 기초하여 사용자가 제2 문제를 맞힐 확률 값을 산출하면 된다.
제2 문제가 복수의 단원과 관련된 문제일 경우, 프로세서(110)는 제2 문제와 관련된 복수의 단원 각각에 대한 사용자의 실력 값과 제2 문제의 난이도 값을 확인한 후 이를 상술한 수학식에 대입하여 복수의 제3 확률 값을 산출할 수 있다. 그리고, 프로세서(110)는 복수의 제3 확률 값 중 가장 작은 값을 갖는 확률 값을 제2 확률 값으로 결정할 수 있다.
예를 들어, 프로세서(110)는 제2 문제와 관련된 복수의 단원이 제1 단원 및 제2 단원을 포함하는 경우, 제1 단원과 관련된 사용자의 제1 실력 값, 제2 단원과 관련된 사용자의 제2 실력 값 및 제2 문제의 난이도 값을 저장부(120)에서 확인할 수 있다. 프로세서(110)는 제1 실력 값 및 제2 문제의 난이도 값을 상술한 수학식에 대입하여 제1 확률 값을 산출하고, 제2 실력 값 및 제2 문제의 난이도 값을 상술한 수학식에 대입하여 제2 확률 값을 산출할 수 있다. 그리고, 프로세서(110)는 제1 확률 값 및 제2 확률 값 중 작은 값을 갖는 확률 값을 제2 문제를 사용자가 맞힐 확률 값으로 결정할 수 있다.
상술한 예시는 설명의 편의를 위한 내용으로 본 개시는 상술한 예시에 한정되는 것은 아니다.
본 개시에서 문제는 초등학교, 중학교 및 고등학교 등의 교과목 중 하나와 관련된 문제일 수 있다. 예를 들어, 문제는 초등 수학 문제, 중등 수학 문제, 고등 수학 문제, 초등 국어 문제, 중등 국어 문제 등을 포함할 수 있다. 다만, 본 개시는 이에 한정되는 것은 아니다.
본 개시에서 단원은 하나의 주제나 내용을 중심으로 묶인 학습 단위를 의미할 수 있다. 예를 들어, 문제가 고등 수학 문제인 경우, 단원은 다항식의 덧셈, 뺄셈, 곱셈, 나눗셈을 배우는 제1 단원, 이차방정식의 풀이를 배우는 제2 단원 등으로 구성될 수 있다. 다만, 본 개시는 이에 한정되는 것은 아니다.
본 개시에서 한 개의 단원과 관련된 문제는 복수의 단원 중 어느 하나의 단원의 내용을 알아야지 풀 수 있는 문제를 의미할 수 있다. 예를 들어 제1 단원의 내용을 알아야 풀 수 있는 문제는 한 개의 단원인 제1 단원과 관련된 문제일 수 있다. 다만, 이에 한정되는 것은 아니다.
본 개시에서 복수의 단원과 관련된 문제는 전체 단원 중 문제와 관련된 복수의 단원 각각의 내용을 알아야지 풀 수 있는 문제를 의미할 수 있다. 예를 들어, 제1 단원의 내용과 함께 제2 단원의 내용을 알아야 풀 수 있는 문제는 복수의 단원과 관련된 문제일 수 있다.
저장부(120)는, 장치(100)의 다양한 기능을 지원하는 데이터를 저장할 수 있다. 저장부(120)는 장치(100)에서 구동되는 다수의 응용 프로그램(application program 또는 애플리케이션(application)), 장치(100)의 동작을 위한 데이터들, 명령어들, 적어도 하나의 프로그램 명령을 저장할 수 있다. 이러한 응용 프로그램 중 적어도 일부는, 무선 통신을 통해 외부 서버로부터 다운될 수 있다. 또한, 이러한 응용 프로그램 중 적어도 일부는, 장치(100)의 기본적인 기능을 위하여 출고 당시부터 장치(100) 상에 존재할 수도 있다. 한편, 응용 프로그램은, 저장부(120)에 저장되고, 장치(100) 상에 설치되어 프로세서(110)에 의하여 장치(100)의 동작(또는 기능)을 수행하도록 구동될 수 있다.
저장부(120)는 프로세서(110)에서 생성하거나 결정한 임의의 형태의 정보 및 통신부(130)를 통해 수신한 임의의 형태의 정보를 저장할 수 있다.
저장부(120)는 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), SSD 타입(Solid State Disk type), SDD 타입(Silicon Disk Drive type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 램(random access memory; RAM), SRAM(static random access memory), 롬(read-only memory; ROM), EEPROM(electrically erasable programmable read-only memory), PROM(programmable read-only memory), 자기 메모리, 자기 디스크 및 광디스크 중 적어도 하나의 타입의 저장매체를 포함할 수 있다. 장치(100)는 인터넷(internet) 상에서 저장부(120)의 저장 기능을 수행하는 웹 스토리지(web storage)와 관련되어 동작될 수도 있다.
본 개시에서 저장부(120)는 복수의 문제를 저장하고 있을 수 있다. 여기서, 복수의 문제 각각에는 난이도 값이 할당되어 있을 수 있다. 그리고, 복수의 문제 각각이 복수의 단원 중 어느 단원과 관련된 문제인지도 복수의 문제 각각에 할당되어 있을 수 있다. 다만, 본 개시는 이에 한정되는 것은 아니다.
본 개시의 몇몇 실시예에 따르면, 복수의 문제는 다양한 프로그램 언어(예를 들어, html 등)로 저장되어 있을 수 있다. 종래 기술에 따르면 문제는 이미지 형태로 저장부(120)에 저장되어 있어 사용자 단말기의 디스플레이부의 크기에 따라서 해상도가 떨어지게 되는 문제가 있었다. 하지만, 본 개시와 같이 프로그램 언어로 복수의 문제가 저장되어 있는 경우, 사용자 단말기의 디스플레이부의 크기가 변하면 그에 따라 1줄에 들어가는 텍스트의 수가 조절될 수 있기 때문에 종래 기술의 문제점이 해결될 수 있다.
본 개시에서 문제의 난이도 값은 문제가 기 설정된 기관(예를 들어, 한국 교육 기관 평가원)에서 제공한 문제인 경우, 기 설정된 서버로부터 제공된 데이터 셋을 분석하여 산출된 값일 수 있다. 다만, 본 개시는 이에 한정되는 것은 아니다.
기 설정된 서버는 기 설정된 기관의 서버일 수도 있고, 기 설정된 기관과 다른 교육 플랫폼의 서버일 수도 있다. 다만, 본 개시는 이에 한정되는 것은 아니다.
일반적으로, 모의평가, 학력평가 및 수능 문제의 각 문제 별 정답률은 모의평가, 학력평가 및 수능 문제의 출제 기관인 한국 교육 기관 평가원에서 제공하지 않는다. 하지만, 모의평가, 학력평가 및 수능 문제를 풀이한 학생들은 자신이 사용 중인 교육 플랫폼에 자신이 시험에서 적은 정답을 입력할 수 있다. 따라서, 교육 플랫폼의 서버는 모의평가, 학력평가 및 수능 문제의 각 문제 별 정답률을 저장부(120)에 저장하고 있을 수 있고, 기 설정된 기관에서 제공한 문제의 난이도 값을 산출하기 위해서는 복수의 문제 각각의 정답률이 필요하기 때문에 기 설정된 서버는 교육 플랫폼 서버라고 보는 것이 적합하다.
데이터 셋은 복수의 문제, 복수의 문제 각각의 배점, 복수의 문제의 문제 타입, 복수의 문제 각각의 정답률, 복수의 문제를 풀이한 복수의 사용자들의 등급 별 원점수, 복수의 문제를 풀이한 복수의 사용자들의 등급 별 표준 점수, 복수의 문제를 풀이한 복수의 사용자들의 등급 별 누적 비율, 복수의 문제를 풀이한 복수의 사용자들의 점수의 평균 값 및 복수의 문제를 풀이한 복수의 사용자들의 점수의 표준 편차를 포함할 수 있다. 다만, 본 개시는 이에 한정되는 것은 아니다.
한편, 본 개시에서 문제의 난이도 값은 문제가 자체 제작 문제인 경우, 기 설정된 수의 난이도 설정자로부터 입력 받은 난이도 값의 평균을 계산하여 산출된 값일 수도 있다. 다만, 본 개시는 이에 한정되는 것은 아니다.
본 개시에서 저장부(120)는 복수의 사용자 각각의 실력 데이터를 저장하고 있을 수 있다. 여기서, 실력 데이터는 사용자의 복수의 단원 각각에 대한 실력 값을 기록하고 있을 수 있다. 따라서, 프로세서(110)는 저장부(120)에 저장된 복수의 사용자 각각의 실력 데이터에서 실력 확인이 필요한 사용자의 실력 데이터를 이용하여, 실력 확인이 필요한 사용자의 전체 단원 중 문제와 관련된 단원에 대한 실력 값을 확인할 수 있다. 다만, 본 개시는 이에 한정되는 것은 아니다.
일례로, 프로세서(110)는 한 개의 단원과 관련된 문제를 사용자가 맞힐 확률을 산출하는 경우, 문제와 관련된 한 개의 단원에 대한 실력 값을 해당 사용자의 실력 데이터에서 확인할 수 있다.
다른 일례로, 프로세서(110)는 제1 단원 및 제2 단원과 관련된 문제를 사용자가 맞힐 확률을 산출하는 경우, 문제와 관련된 제1 단원에 대한 제1 실력 값 및 제2 단원에 대한 제2 실력 값을 해당 사용자의 실력 데이터에서 확인할 수 있다.
상술한 예시들은 일 예시에 불과하고, 본 개시는 상술한 예시들에 한정되는 것은 아니다.
본 개시에서 저장부(120)는, 문제의 난이도 오차를 최소화하도록 보정하는 기 설정된 제1 파라미터 값, 문제를 사용자가 찍어서 맞힐 확률을 보정하도록 문제 타입에 따라 값이 변화하는 제2 파라미터 값 및 문제를 맞힐 확률 값을 산출하는 수학식에 사용되는 기 설정된 상수 값을 저장하고 있을 수 있다. 다만, 본 개시는 이에 한정되는 것은 아니다.
본 개시에서 제1 파라미터 값은
Figure 112022075780724-pat00035
일 수 있다. 이는 도 3을 참조하여 좀더 자세히 후술한다.
본 개시에서 문제 타입은 객관식 문제를 나타내는 제1 타입과 주관식 문제를 나타내는 제2 타입을 포함할 수 있다. 다만, 본 개시는 이에 한정되는 것은 아니다.
본 개시에서 문제 타입에 따라 변화하는 제2 파라미터 값은 문제 타입이 제1 타입인 경우 0보다 큰 값(예를 들어, 0.2)을 가질 수 있고, 문제 타입이 제2 타입인 경우 0일 수 있다. 즉, 제2 파라미터 값은 문제가 제1 타입인 경우보다 문제가 제2 타입인 경우 큰 값을 가질 수 있다. 다만, 본 개시는 이에 한정되는 것은 아니다.
통신부(130)는 장치(100)와 유선/무선 통신 시스템 사이, 장치(100)와 다른 장치 사이 또는 장치(100)와 외부 서버 사이의 유선/무선 통신을 가능하게 하는 하나 이상의 모듈을 포함할 수 있다. 또한, 통신부(130)는 장치(100)를 하나 이상의 네트워크에 연결하는 하나 이상의 모듈을 포함할 수 있다.
통신부(130)는 유선/무선 인터넷 접속을 위한 모듈을 말하는 것으로 장치(100)에 내장되거나 외장될 수 있다. 통신부(130)는 유선/무선 신호를 송수신하도록 이루어질 수 있다.
통신부(130)는 이동통신을 위한 기술표준들 또는 통신방식(예를 들어, GSM(Global System for Mobile communication), CDMA(Code Division Multi Access), CDMA2000(Code Division Multi Access 2000), EV-DO(Enhanced Voice-Data Optimized or Enhanced Voice-Data Only), WCDMA(Wideband CDMA), HSDPA(High Speed Downlink Packet Access), HSUPA(High Speed Uplink Packet Access), LTE(Long Term Evolution), LTE-A(Long Term Evolution-Advanced) 등)에 따라 구축된 이동 통신망 상에서 기지국, 외부의 단말 및 서버 중 적어도 하나와 무선 신호를 송수신할 수 있다.
무선 인터넷 기술로는, 예를 들어 WLAN(Wireless LAN), Wi-Fi(Wireless-Fidelity), Wi-Fi(Wireless Fidelity) Direct, DLNA(Digital Living Network Alliance), WiBro(Wireless Broadband), WiMAX(World Interoperability for Microwave Access), HSDPA(High Speed Downlink Packet Access), HSUPA(High Speed Uplink Packet Access), LTE(Long Term Evolution), LTE-A(Long Term Evolution-Advanced) 등이 있을 수 있다. 다만, 상기에서 나열되지 않은 인터넷 기술까지 포함한 범위에서 적어도 하나의 무선 인터넷 기술에 따라 통신부(130)는 데이터를 송수신할 수 있다.
더불어, 통신부(130)는 근거리 통신(Short range communication)을 통해 신호를 송수신하도록 이루어질 수도 있다. 통신부(130)는 블루투스(Bluetooth™), RFID(Radio Frequency Identification), 적외선 통신(Infrared Data Association; IrDA), UWB(Ultra Wideband), ZigBee, NFC(Near Field Communication), Wi-Fi(Wireless-Fidelity), Wi-Fi Direct, Wireless USB(Wireless Universal Serial Bus) 기술 중 적어도 하나를 이용하여 근거리 통신을 수행할 수 있다. 통신부(130)는 근거리 통신망(Wireless Area Networks)을 통해 무선 통신을 지원할 수 있다. 근거리 무선 통신망은 근거리 무선 개인 통신망(Wireless Personal Area Networks)일 수 있다.
본 개시의 몇몇 실시예에 따른 장치(100)는 통신부(130)를 통해 테스트 장치와 유/무선 네트워크가 연결될 수 있다. 여기서, “유/무선 네트워크”라 함은, 장치(100)와 테스트 장치 사이에서 페어링 또는/및 데이터 송수신을 위해 다양한 통신 규격 내지 프로토콜을 지원하는 통신 네트워크를 통칭한다. 이러한 유/무선 네트워크는, 규격에 의해 현재 또는 향후 지원될 통신 네트워크를 모두 포함하며, 그를 위한 하나 또는 그 이상의 통신 프로토콜들을 모두 지원 가능하다.
본 개시에서 장치(100)는 통신부(130)를 통해 사용자 단말기와 통신이 연결될 수 있다. 여기서, 사용자 단말기는 장치(100)의 저장부(120)에 저장된 복수의 문제를 풀어 학습을 수행하는 학생의 단말기를 의미할 수 있고, 사용자 단말기는 휴대폰, 스마트 폰(smart phone), 태블릿 PC(tablet PC), 울트라북(ultrabook) 등과 같은 이동 단말기(mobile device)일 수 있다. 다만, 본 개시는 이에 한정되는 것은 아니다.
본 개시에서 장치(100)는 사용자 단말기가 맞춤형 문제를 제공받기 위해 접속한 경우 사용자 단말기의 사용자를 식별할 수 있다. 구체적으로, 사용자 단말기가 장치(100)에 문제 제공 요청 신호를 전송할 수 있고, 프로세서(110)는 문제 제공 요청 신호에 포함된 사용자 정보에 기초하여 사용자를 식별할 수 있다. 장치(100)의 프로세서(110)는 사용자 정보를 이용하여 문제를 사용자가 맞힐 확률 값을 산출할 때 필요한 정보를 저장부(120)에서 확인할 수 있다. 그리고, 프로세서(110)는 확률 값이 기 설정된 범위에 속하는 문제를 사용자에게 제공할 수 있다. 이는 도 2 내지 도 4를 참조하여 좀더 자세히 살펴본다.
도 2는 본 개시의 몇몇 실시예에 따라 사용자의 문제 풀이 실력을 향상시키기 위한 문제를 사용자에게 제공하는 방법의 일례를 설명하기 위한 흐름도이다. 도 3은 본 개시의 몇몇 실시예에 따라 문제를 맞힐 확률 값을 산출할 때 사용되는 수학식의 일례를 설명하기 위한 도면이다. 도 4는 본 개시의 몇몇 실시예에 따라 문제가 기 설정된 기관에서 출제한 문제인 경우 난이도 값을 산출하는 수학식의 일례를 설명하기 위한 도면이다. 도 2 내지 도 4와 관련하여 도 1에서 상술한 내용은 다시 설명하지 않고, 이하 차이점을 중심으로 설명한다.
도 2를 참조하면, 프로세서(110)는 사용자가 복수의 문제를 맞힐 복수의 확률 값을 산출할 수 있다(S110). 여기서, 문제는 하나 이상의 단원과 관련이 있을 수 있다. 예를 들어, 문제는 한 개의 단원과 관련이 있을 수도 있고, 복수 개의 단원과 관련이 있을 수도 있다. 다만, 이에 한정되는 것은 아니다.
프로세서(110)는 복수의 확률 값을 산출할 때 저장부(120)에 저장되어 있는 복수의 문제 각각과 관련된 단원에 대한 사용자의 실력 값 및 복수의 문제 각각에 할당된 난이도 값을 확인할 수 있다.
본 개시에서 사용자의 단원에 대한 실력 값은 저장부(120)에 사전 저장되어 있을 수 있고, 사용자가 하나의 문제를 풀 때마다 업데이트될 수 있다. 따라서, 사용자가 문제를 맞힐 확률 값을 산출할 때마다 프로세서(110)는 저장부(120)에 저장된 사용자의 해당 단원에 대한 실력 값을 확인해야 한다. 다만, 본 개시는 이에 한정되는 것은 아니다.
본 개시에서 문제에 할당된 난이도 값은 고정된 값으로, 복수의 문제가 저장부(120)에 저장될 때 복수의 문제 각각에 할당되어 복수의 문제와 같이 저장될 수 있다. 다만, 본 개시는 이에 한정되는 것은 아니다.
본 개시에서 문제가 자체 제작된 문제인 경우 문제에 할당되는 난이도 값을 산출하는 방법은 문제가 기 설정된 기관에서 출제한 문제인 경우 문제에 할당되는 난이도 값을 산출하는 방법과 상이할 수 있다.
일례로, 난이도 값은 문제가 기 설정된 기관에서 출제한 문제인 경우 기 설정된 기관의 서버로부터 제공된 데이터 셋을 분석하여 산출된 값일 수 있다. 여기서, 기 설정된 서버는 교육 플랫폼 서버를 의미할 수 있고, 데이터 셋은 상기 문제에 대해 복수의 학생들이 정답을 맞힌 정도를 나타내는 정답률에 대한 정보를 포함할 수 있다.
다른 일례로, 난이도 값은 문제가 자체 제작 문제인 경우, 기 설정된 수(예를 들어, 3명)의 난이도 설정자로부터 입력 받은 난이도 값의 평균을 계산하여 산출된 값일 수 있다. 여기서, 난이도 값은 복수의 난이도 설정자들이 입력하는 값이기 때문에 난이도 설정자들마다 난이도 값의 편차가 존재할 수 있다. 따라서, 난이도 설정자들은 난이도 설정 가이드에 기초하여 난이도 값을 입력해야 하고, 프로세서(110)는 난이도 설정자들이 입력한 난이도 값의 평균을 계산하여 해당 문제의 난이도 값을 산출할 수 있다.
본 개시에서 문제가 기 설정된 기관에서 출제한 문제인 경우 난이도 값을 산출하는 방법은 도 4를 참조하여 좀더 자세히 설명한다.
도 4의 수학식에서
Figure 112022075780724-pat00036
는 문제의 정답률을 의미할 수 있다. 여기서, 문제의 정답률은 기 설정된 서버로부터 수신한 데이터 셋에 포함되어 있을 수 있다.
한편, 문제를 맞힐 확률의 평균 값이 정답률이라는 것을 실험적으로 증명하였다. 구체적으로,
Figure 112022075780724-pat00037
명의 학생이 문제를 맞힐 확률의 평균이 0.45라고 가정했을 때 프로세서(110)는 1은 45개, 0은 55개로 구성된 길이가 100인 리스트를 만들고, 리스트 내의 엘레먼트(element)를 랜덤하게 셔플한 다음 하나의 엘레먼트를 선택할 수 있다. 그리고, 프로세서(110)는 선택된 엘레먼트가 0이면 틀렸다고 간주하고 1이면 맞았다고 간주하였다. 한 문제에 대해서 10,000명 정도 샘플링을 수행하고 위 방법으로 10,000명에 대한 문제를 맞힐 확률 값과 10,000명이 문제의 정답을 맞혔는지 여부를 확인할 수 있었고, 10,000명의 문제를 맞힐 확률 값의 평균이 10,000명이 문제의 정답을 맞혔는지 여부를 통해 구한 정답률과 거의 일치하는 것을 실험적으로 증명하였다.
한편, 도 4에서
Figure 112022075780724-pat00038
은 기 설정된 학생의 수를 의미할 수 있고,
Figure 112022075780724-pat00039
는 문제의 난이도 오차를 최소화하도록 보정하는 기 설정된 파라미터 값일 수 있고,
Figure 112022075780724-pat00040
는 문제를 사용자가 찍어서 맞힐 확률을 보정하도록 문제 타입에 따라 값이 변화하는 파라미터 값일 수 있고,
Figure 112022075780724-pat00041
는 문제의 난이도 값으로 프로세서(110)에 의해 산출되어야 하는 값일 수 있고,
Figure 112022075780724-pat00042
는 기 설정된 수의 학생 각각의 문제와 관련된 단원에 대한 실력 값일 수 있고,
Figure 112022075780724-pat00043
는 기 설정된 상수 값일 수 있다.
본 개시에서
Figure 112022075780724-pat00044
Figure 112022075780724-pat00045
일 수 있다.
Figure 112022075780724-pat00046
는 문제가 객관식 문제인 경우 0보다 큰 값(예를 들어, 0.2)이고 문제가 주관식 문제인 경우 0일 수 있다.
Figure 112022075780724-pat00047
는 25일 수 있다. 그리고,
Figure 112022075780724-pat00048
은 10,000일 수 있다. 여기서,
Figure 112022075780724-pat00049
이 10,000인 경우 오차가 0에 수렴하는 것을 실험적으로 확인한 바
Figure 112022075780724-pat00050
은 10,000으로 설정하였다.
본 개시에서 프로세서(110)는 문제에 대한 정답률을 확인할 수 있다. 그리고, 10,000 명의 학생의 실력 데이터가 저장부(120)에 저장되어 있기 때문에, 프로세서(110)는 10,000명의 학생 각각의 문제와 관련된 단원에 대한 실력 값을 확인할 수 있다. 그리고, 프로세서(110)는 문제에 대한 정답률과 10,000명의 학생 각각의 문제와 관련된 단원의 실력 값을 도 4의 수학식에 대입하여 문제에 대한 정답률과 10,000명의 학생이 문제를 맞힐 확률의 평균 값의 오차가 최소화되는 문제 난이도 값인
Figure 112022075780724-pat00051
를 찾는 방법으로 문제 난이도 값을 산출할 수 있다. 다만, 본 개시는 이에 한정되는 것은 아니다.
한편, 도 4에 도시된 수학식은 다음과 같은 실험 과정을 통해 도출될 수 있다.
먼저, 난이도 값을 산출하고자 하는 문제와 관련하여 문제의 단원과 관련된 학생 실력 정규분포 곡선에서
Figure 112022075780724-pat00052
명의 학생의 실력을 샘플링한다. 그리고, 각 학생의 해당 단원에 대한 실력 값을 이용하여 문제를 맞힐 확률 값을 산출한다. 그리고, 문제를 맞힐 확률 값들의 평균 값과 문제를 맞힐 확률로 실제로 문제를 풀었을 때 나오는 문제의 정답률 사이의 차이를 비교하였다. 여기서,
Figure 112022075780724-pat00053
이 커짐에 따라 오차가 줄어드는 것을 확인할 수 있었으며,
Figure 112022075780724-pat00054
이 10,000이상인 경우 오차가 0에 가깝다는 것을 확인할 수 있었다. 따라서,
Figure 112022075780724-pat00055
은 10,000으로 설정되었고, 이러한 실험 과정을 이용하여 문제의 난이도 값을 산출하는 수학식이 도출되었다.
프로세서(110)는 저장부(120)에 저장된 확률 값 산출을 위한 수학식에 복수의 문제 각각과 관련된 단원에 대한 사용자의 실력 값 및 복수의 문제 각각에 할당된 난이도 값을 대입하여 복수의 문제 각각을 사용자가 맞힐 확률 값을 산출할 수 있다. 이는 도 3을 참조하여 좀더 자세히 설명한다.
본 개시에서 프로세서(110)가 복수의 문제를 맞힐 복수의 확률 값을 산출할 때 복수의 문제 중 하나인 제2 문제를 사용자가 맞힐 제2 확률 값을 산출한다고 가정하고 도 3을 설명한다.
도 3에서
Figure 112022075780724-pat00056
는 제2 문제를 맞힐 제2 확률 값이고,
Figure 112022075780724-pat00057
는 제2 문제의 난이도 오차를 최소화하도록 보정하는 기 설정된 제1 파라미터 값이고,
Figure 112022075780724-pat00058
는 제2 문제를 사용자가 찍어서 맞힐 확률을 보정하도록 문제 타입에 따라 값이 변화하는 제2 파라미터 값이고,
Figure 112022075780724-pat00059
는 제2 문제에 할당된 난이도 값이고,
Figure 112022075780724-pat00060
은 사용자의 제2 문제와 관련된 제1 단원에 대한 실력 값이고,
Figure 112022075780724-pat00061
는 기 설정된 상수 값일 수 있다.
도 3의 수학식은 엘로 평점 시스템(elo rating system)의 내용을 일부 차용하였다. 다만, 엘로 평점 시스템에서 사용되는 수학식을 그대로 사용하는 것은 아니고, 제2 문제를 사용자가 맞힐 확률 값을 정확하게 산출할 수 있도록 엘로 평점 시스템에서 사용되는 수학식을 변경하였다.
먼저, 제2 문제 난이도를 설정할 때 발생할 수 있는 난이도 오차를 최소화하기 위해 기 설정된 제1 파라미터 값인
Figure 112022075780724-pat00062
항이 추가되었다.
Figure 112022075780724-pat00063
의 역할은 사용자의 제2 문제와 관련된 단원에 대한 실력과 제2 문제의 난이도가 같은 값인 경우 문제 풀이 방법을 알 확률이 어떻게 될지를 정의하는 값이며,
Figure 112022075780724-pat00064
가 도 3의 수학식에 추가된 이유는 문제 난이도 할당을 보다 직관적으로 수행하기 위함이다. 사용자의 제2 문제와 관련된 제1 단원에 대한 실력과 제2 문제의 난이도가 같을 때 문제 풀이 방법을 알 확률이 75%가 될 수 있도록
Figure 112022075780724-pat00065
Figure 112022075780724-pat00066
일 수 있다.
Figure 112022075780724-pat00067
Figure 112022075780724-pat00068
인 경우, 보다 정확하게 제2 문제를 사용자가 맞힐 확률 값을 산출할 수 있다. 예를 들어, 난이도 설정자가 문제의 난이도를 설정할 때 1등급 학생이 50% 정도 맞힐 확률을 가진 문제를 100으로 라벨링하는 것보다 75% 정도 맞힐 확률을 가진 문제에 100을 라벨링하라고 하는 것이 난이도 설정자 간의 난이도 오차를 훨씬 줄일 수 있기 때문에 제1 파라미터 값이
Figure 112022075780724-pat00069
항에 추가되었다.
Figure 112022075780724-pat00070
는 사용자가 제2 문제를 풀 때 풀이 방법을 모르지만 맞힐 확률, 즉 제2 문제를 찍어서 맞힐 확률을 보정해주는 파라미터이다. 엘로 평점 시스템에서 사용자 간에 이길 확률은 본 개시에서 사용자가 주관식 문제를 맞힐 확률과 동일하다고 생각할 수 있다. 다만, 엘로 평점 시스템에서 사용자끼리 시합하는 경우와 다르게 오지선다형 객관식 문제를 풀 때 그 문제에 대한 단원을 전혀 공부한 바가 없어 문제의 풀이 방법을 전혀 몰라도 제2 문제를 최소한 맞힐 확률 20%는 보장될 수 있다. 따라서, 본 개시의 제2 문제를 사용자가 맞힐 확률 값을 산출하는 수학식에서는 제2 문제를 맞힐 확률과 문제 풀이 방법을 알고 있을 확률을 구분하여 생각해야한다.
Law of total probability에 근거하여 문제 풀이 방법을 알고 있을 확률에서 제2 문제를 맞힐 확률을 구할 수 있다.
먼저, 문제 풀이 방법을 알고 있을 확률은 하기 수학식 1로 표현될 수 있다.
Figure 112022075780724-pat00071
한편, 제2 문제를 맞힐 확률을 P(A), 문제 풀이 방법을 알고 있을 확률을 P(B)라고 정의한 경우, P(A)는 하기 수학식 2로 표현될 수 있다.
Figure 112022075780724-pat00072
그리고, 수학식 2는 하기 수학식 3으로 표현될 수 있다.
Figure 112022075780724-pat00073
수학식 3에서
Figure 112022075780724-pat00074
는 제2 문제의 풀이 방법을 알고 있을 때 맞힐 확률로 1이고,
Figure 112022075780724-pat00075
는 제2 문제의 풀이 방법을 모를 때 맞힐 확률로 찍어서 맞힐 확률 즉,
Figure 112022075780724-pat00076
가 될 수 있다. 따라서 수학식 3은 하기 수학식 4와 같이 표현될 수 있다.
Figure 112022075780724-pat00077
그리고, 수학식 4는 하기 수학식 5와 같이 표현될 수 있다.
Figure 112022075780724-pat00078
그리고, 수학식 5에서 P(B)에 문제 풀이 방법을 알고 있을 확률과 관련된 수학식 1을 대입하면 제2 문제를 맞힐 확률 값을 산출하는 수학식을 얻어낼 수 있다.
그리고, 수학식 1에
Figure 112022075780724-pat00079
가 존재하지만, 이는 제2 문제의 난이도 편차를 의미하고 복수의 문제 각각은 기 설정된 난이도 값이 부여되므로 난이도 편차가 존재하지 않기 때문에
Figure 112022075780724-pat00080
는 0 이다. 따라서, 수학식 5에 수학식 1을 대입한 후 획득된 수학식에서
Figure 112022075780724-pat00081
항은
Figure 112022075780724-pat00082
이 될 수 있다.
따라서, 최종적으로 도 3의 수학식이 도출될 수 있다.
한편,
Figure 112022075780724-pat00083
는 제2 문제를 사용자가 찍어서 맞힐 확률을 보정할 수 있다. 구체적으로, 문제 타입에 따라 제2 파라미터 값인
Figure 112022075780724-pat00084
의 값이 변경될 수 있다. 여기서, 문제 타입은 객관식 문제를 나타내는 제1 타입 및 주관식 문제를 나타내는 제2 타입을 포함할 수 있다.
일례로, 문제 타입이 제2 타입(주관식 문제)인 경우, 문제 풀이 방법을 알고 있을 확률이 곧 제2 문제를 맞힐 확률일 수 있다. 주관식 문제의 경우에도 제2 문제를 찍을 확률이 존재할 수 있지만, 이는 무시해도 무방한 것은 실험적으로 확인하였다.
다른 일례로, 문제 타입이 제1 타입(객관식 문제)인 경우, 문제 풀이 방법을 알고 있을 확률에서 제2 문제를 찍어서 맞힐 확률 20%를 고려하여 제2 문제를 맞힐 확률을 계산할 수 있다. 오지선다형 객관식 문제의 경우 그 확률이 반드시 20%가 되지는 않지만 20%로 가정하더라도 무방한 것을 실험적으로 확인하였다.
본 개시에서 주관식 문제의 경우에 풀이 방법을 알고 있을 확률이 0%이면 문제를 맞힐 확률도 0%이지만 오지선다형 객관식 문제의 경우 풀이 방법을 알고 있을 확률이 0%이더라도 문제를 맞힐 확률은 20%가 될 수 있다. 따라서, 제2 문제를 사용자가 찍어서 맞힐 확률을 보정하도록 문제 타입에 따라 값이 변화하는 제2 파라미터 값인
Figure 112022075780724-pat00085
항이 도 3의 수학식에 추가되었다.
도 3의 수학식에서
Figure 112022075780724-pat00086
는 제2 문제에 할당된 난이도 값일 수 있다. 복수의 문제 각각에 할당된 난이도 값은 저장부(120)에 저장되어 있을 수 있고, 프로세서(110)는 제2 문제를 사용자가 맞힐 확률 값을 산출할 때 제2 문제에 할당된 난이도 값을 확인할 수 있다. 여기서, 난이도 값은, 제2 문제가 기 설정된 기관(예를 들어, 한국 교육 기관 평가원)에서 출제한 문제인 경우 기 설정된 서버(예를 들어, 교육 플랫폼 서버)로부터 제공된 데이터 셋을 분석하여 산출된 값일 수 있고, 제2 문제가 자체 제작 문제인 경우 기 설정된 수의 난이도 설정자로부터 입력 받은 난이도 값의 평균을 계산하여 산출된 값일 수도 있다. 이에 대한 자세한 설명은 전술한 바 자세한 설명은 생략한다.
도 3의 수학식에서
Figure 112022075780724-pat00087
은 사용자의 제2 문제와 관련된 단원에 대한 실력 값일 수 있다.
본 개시에서 저장부(120)는 복수의 사용자 각각의 실력 데이터를 저장하고 있을 수 있다. 여기서, 실력 데이터는 사용자의 복수의 단원 각각에 대한 실력 값을 기록하고 있을 수 있다. 따라서, 프로세서(110)는 저장부(120)에 저장된 복수의 사용자 각각의 실력 데이터에서 실력 확인이 필요한 사용자의 실력 데이터를 확인하여, 복수의 단원 중 문제와 관련된 단원에 대한 실력 값을 확인할 수 있다. 다만, 본 개시는 이에 한정되는 것은 아니다.
본 개시에서 사용자의 단원에 대한 실력 값은 저장부(120)에 사전 저장되어 있을 수 있고, 사용자가 하나의 문제를 풀 때마다 업데이트될 수 있다. 따라서, 사용자가 문제를 맞힐 확률 값을 산출할 때마다 프로세서(110)는 저장부(120)에 저장된 사용자의 해당 단원에 대한 실력 값을 확인해야한다. 다만, 본 개시는 이에 한정되는 것은 아니다.
본 개시의 몇몇 실시예에 따르면, 제2 문제와 관련된 단원이 복수 개일 수도 있다. 이 경우, 프로세서(110)는 제2 문제와 관련된 복수 개의 실력 값 각각을
Figure 112022075780724-pat00088
에 대입하여 복수의 확률 값을 산출하고 복수의 확률 값 중 가장 작은 값을 갖는 확률 값을 제2 확률 값으로 결정할 수 있다.
도 3의 수학식에서
Figure 112022075780724-pat00089
는 기 설정된 상수 값일 수 있다. 여기서,
Figure 112022075780724-pat00090
는 사용자들의 실력 편차를 의미할 수 있으며 일반적으로 학생마다 고유한 값을 가질 수 있지만 본 개시에서는 상수 값으로 정의한다. 즉, 모든 학생들이 동일한 실력 편차를 가진다고 가정하고 기 설정된 실험을 통해 산출된 상수 값을
Figure 112022075780724-pat00091
로 사용할 수 있다.
Figure 112022075780724-pat00092
를 산출하는 기 설정된 실험은 복수의
Figure 112022075780724-pat00093
를 생성한 후 여기서 가장 적절한 값을 찾는 방법으로 진행되었다. 그리고, 기 설정된 서버로부터 수신된 데이터 셋을 이용하여 실험이 진행되었다. 여기서, 데이터 셋은, 기 설정된 기관(예를 들어, 한국 교육 기관 평가원)에서 제공하는 복수의 문제, 복수의 문제 각각의 배점, 복수의 문제의 문제 타입, 복수의 문제 각각의 정답률, 복수의 문제를 풀이한 복수의 사용자들의 등급 별 원점수, 복수의 문제를 풀이한 복수의 사용자들의 등급 별 표준 점수, 복수의 문제를 풀이한 복수의 사용자들의 등급 별 누적 비율, 복수의 문제를 풀이한 복수의 사용자들의 점수의 평균 값 및 복수의 문제를 풀이한 복수의 사용자들의 점수의 표준 편차를 포함할 수 있다. 다만, 본 개시는 이에 한정되는 것은 아니다.
먼저, 기 설정된 실험을 진행하기 위해 복수의
Figure 112022075780724-pat00094
를 생성해야 한다. 여기서, 복수의
Figure 112022075780724-pat00095
는 41가지 상수 값을 포함할 수 있다. 구체적으로, 복수의
Figure 112022075780724-pat00096
는 0에서 200까지 상수 값 사이에서 값을 5씩 증가시켜 생성될 수 있다. 예를 들어, 0, 5, 10, ..., 195, 200이 41가지의
Figure 112022075780724-pat00097
가 될 수 있다.
다음으로, 복수의 문제 각각에 대한 난이도 값을 복수의
Figure 112022075780724-pat00098
를 이용하여 산출할 수 있다. 이와 관련하여 도 4를 참조하여 자세히 상술한바 자세한 설명은 생략한다.
다음으로, 데이터 셋을 확인하여 등급 별 누적 비율을 이용하여 각 등급 별 학생들의 실력 값을 산출할 수 있다.
다음으로, 복수의 문제 각각에 대한 난이도 값과 등급 별 학생들의 실력 값을 이용하여 등급 별 예측 원점수를 산출할 수 있다. 등급 별 예측 원점수는 수학식 6을 이용하여 산출될 수 있다. 수학식 6에서 i는 기 설정된 기관(예를 들어, 한국 교육 기관 평가원)이 출제한 문제의 문제 번호를 의미할 수 있다.
Figure 112022075780724-pat00099
마지막으로, 수학식 6을 통해 산출된 등급 별 예측 원점수와 데이터 셋에 포함된 등급 별 원점수를 비교하여 오차를 가장 작게 발생시키는
Figure 112022075780724-pat00100
를 복수의
Figure 112022075780724-pat00101
에서 탐색할 수 있다. 이 경우, MSE 오차 함수를 사용하여 오차를 확인할 수 있다.
상술한 기 설정된 실험을 통해 본 개시에서 가장 적합한
Figure 112022075780724-pat00102
는 25임을 확인할 수 있었다.
결과적으로, 본 개시에서
Figure 112022075780724-pat00103
는 25가 될 수 있다.
본 개시에서 도 3에 도시된 수학식에 상술한 값들을 대입할 경우 제2 문제를 사용자가 맞힐 확률 값은 수학식 7 및 수학식 8에 의해 산출될 수 있다. 여기서, 수학식 7은 문제가 주관식 문제인 경우에 사용자가 문제를 맞힐 확률 값을 산출하는 수학식이고, 수학식 8은 문제가 객관식 문제인 경우에 사용자가 문제를 맞힐 확률 값을 산출하는 수학식일 수 있다.
Figure 112022075780724-pat00104
Figure 112022075780724-pat00105
본 개시에서 프로세서(110)는 제2 문제가 주관식 문제인 경우, 사용자의 해당 단원에 대한 실력 값을 수학식 7의
Figure 112022075780724-pat00106
에 대입하고 해당 문제의 난이도 값을 수학식 7의
Figure 112022075780724-pat00107
에 대입하여 사용자가 문제를 맞힐 확률 값인 p 산출할 수 있다. 그리고, 프로세서(110)는 제2 문제가 객관식 문제인 경우, 사용자의 해당 단원에 대한 실력 값을 수학식 8의
Figure 112022075780724-pat00108
에 대입하고, 해당 문제의 난이도 값을 수학식 8의
Figure 112022075780724-pat00109
에 대입하여 사용자가 문제를 맞힐 확률 값인 p 산출할 수 있다.
본 개시에서 문제가 복수의 개념과 관련된 경우, 문제의 정오답 여부는 복수의 개념 중 실력이 가장 부족한 개념의 실력으로 결정되는 것이 직관에 부합하기 때문에 복수의 확률 값 중 가장 작은 값을 갖는 확률 값을 복수의 단원과 관련된 문제를 맞힐 확률 값으로 결정하는 것이 가장 적합하다.
상술한 본 발명의 실시예들 중 적어도 하나에 의하면, 사용자가 문제를 맞힐 확률 값의 정확도가 향상된다는 장점이 있다.
한편, 도 2를 다시 참조하면, 프로세서(110)는 단계(S110)에서 복수의 문제를 맞힐 복수의 확률 값을 산출한 경우, 복수의 문제 중 기 설정된 범위에 속하는 제1 확률 값을 갖는 제1 문제를 사용자에게 제공할 수 있다(S120). 여기서, 기 설정된 범위는 0.2보다 크거나 같고 0.5보다 작거나 같은 범위일 수 있다. 다만 본 개시는 이에 한정되는 것은 아니다.
본 개시의 몇몇 실시예에 따르면, 프로세서(110)는 복수의 문제 중 기 설정된 범위에 속하는 제1 확률 값을 갖는 제1 문제가 복수 개라고 인식한 경우, 복수 개의 제1 문제 중 하나를 랜덤하게 선택해서 사용자에게 제공할 수 있다.
한편, 프로세서(110)는 제1 문제를 사용자에게 제공할 때, 사용자의 사용자 단말기에서 제1 문제가 디스플레이될 수 있도록 만드는 제1 신호를 사용자 단말기에 전송하도록 통신부(130)를 제어할 수 있다. 이 경우, 사용자 단말기에 제1 문제가 디스플레이될 수 있다.
본 개시에서 제1 문제는 다양한 프로그램 언어(예를 들어, html 등)로 저장부(120)에 저장되어 있기 때문에 사용자 단말기의 화면의 크기에 따라 1줄에 들어가는 텍스트의 수가 조절될 수 있다. 따라서, 사용자 단말기의 디스플레이부의 크기에 따라 화면에 디스플레이되는 텍스트의 위치가 변경될 수 있다. 이 경우, 사용자 단말기의 디스플레이부의 크기에 구애받지 않고 높은 해상도로 제1 문제를 사용자에게 제공할 수 있다.
한편, 본 개시의 몇몇 실시예에 따르면, 제1 문제를 사용자에게 제공한 후에 사용자의 풀이 데이터를 수신한 경우, 사용자에 대한 복수의 단원 각각에 대한 실력 값이 업데이트될 수 있다. 이는 도 5 내지 도 9를 참조하여 좀더 자세히 설명한다.
도 5는 본 개시의 몇몇 실시예에 따라 사용자의 실력 값을 업데이트하는 방법의 일례를 설명하기 위한 흐름도이다. 도 6은 본 개시의 몇몇 실시예에 따라 풀이 데이터 및 문제와 관련된 단원에 대한 이전 실력 값에 기초하여 단원에 대한 실력 값을 업데이트하는 방법의 일례를 설명하기 위한 흐름도이다. 도 7은 본 개시의 몇몇 실시예에 따라 문제와 관련된 단원과 의존 관계가 있는 의존 단원의 일례를 설명하기 위한 도면이다. 도 8은 본 개시의 몇몇 실시예에 따라 유사 단원에 대한 실력 값을 업데이트하는 방법의 일례를 설명하기 위한 도면이다. 도 9는 본 개시의 몇몇 실시예에 따른 유사 단원의 일례를 설명하기 위한 도면이다. 도 5 내지 도 9와 관련하여 도 1 내지 도 4와 관련하여 상술한 바와 중복되는 내용은 다시 설명하지 않고 이하 차이점을 중심으로 설명한다.
도 5를 참조하면, 프로세서(110)는 사용자가 제1 문제를 풀이한 풀이 데이터를 통신부(130)를 통해 수신할 수 있다(S130).
본 개시의 몇몇 실시예에 따르면, 프로세서(110)는 풀이 데이터를 수신한 경우, 풀이 데이터가 정답인지 여부를 결정할 수 있다.
구체적으로, 저장부(120)에는 정답 데이터가 저장되어 있을 수 있고, 프로세서(110)는 저장부(120)에 저장된 정답 데이터와 풀이 데이터를 이용하여 풀이 데이터가 정답인지 여부를 결정할 수 있다.
일례로, 정답 데이터는 제1 문제가 객관식 문제인 경우 기 설정된 숫자를 포함할 수 있다. 프로세서(110)는 풀이 데이터에 포함된 숫자와 정답 데이터에 포함된 숫자가 동일한 경우 정답이라고 결정할 수 있다.
다른 일례로, 제1 문제가 주관식 문제인 경우 정답이 다양한 형태로 입력될 수 있기 때문에 다양한 형태의 텍스트 데이터들이 정답 데이터로 저장되어 있을 수 있다. 이 경우, 프로세서(110)는 풀이 데이터와 텍스트 데이터들을 비교하여 정답 데이터 내에 풀이 데이터와 동일 또는 유사한 텍스트 데이터가 존재하는 경우에 정답이라고 인식할 수 있다. 여기서, 풀이 데이터와 텍스트 데이터가 유사한지 여부는 자카드 유사도 알고리즘, 유클리디언 유사도 알고리즘, 코사인 유사도 알고리즘, 맨하탄 유사도 알고리즘 등과 같이 텍스트의 유사도를 산출하는 다양한 알고리즘을 이용하여 인식될 수 있다. 다만, 본 개시는 이에 한정되는 것은 아니다.
프로세서(110)는 풀이 데이터를 수신한 경우, 풀이 데이터가 정답인지 여부를 결정하는 것과 연동하여 사용자의 제1 문제와 관련된 제2 단원에 대한 제2 실력 값을 산출할 수 있다. 그리고, 프로세서(110)는 제1 문제와 관련된 제2 단원에 대한 실력 값을 제2 실력 값으로 변경할 수 있다.
구체적으로, 프로세서(110)는 풀이 데이터의 정답 여부 및 사용자의 제1 문제와 관련된 제2 단원에 대한 이전 실력 값에 기초하여 산출된 제2 실력 값으로 제1 문제와 관련된 제2 단원에 대한 실력 값을 변경할 수 있다(S140). 여기서, 제1 문제와 관련된 제2 단원에 대한 사용자의 이전 실력 값은 저장부(120)에 저장되어 있을 수 있다. 그리고, 이전 실력 값은 사용자가 문제를 풀이할 때 마다 업데이트될 수 있다. 여기서, 이전 실력 값은 현재 사용자가 풀이한 제1 문제로 인해 업데이트되기 전의 사용자의 제1 문제와 관련된 제2 단원에 대한 실력 값을 의미할 수 있다. 다만, 본 개시는 이에 한정되는 것은 아니다.
구체적으로, 도 6을 참조하면, 프로세서(110)는 제1 문제를 사용자가 맞힐 제1 확률 값, 제1 문제와 관련된 제2 단원에 대한 사용자의 이전 실력 값 및 업데이트 폭을 결정하는 상수 값을 확인할 수 있다(S131). 여기서, 프로세서(110)는 제1 문제를 사용자가 맞힐 확률 값을 확률 값 산출 단계들을 통해 확인할 수 있고, 사용자의 문제와 관련된 단원에 대한 이전 실력 값 및 업데이트 폭을 결정하는 상수 값은 저장부(120)에 저장된 내용을 불러와서 확인할 수 있다.
본 개시에서 업데이트 폭을 결정하는 상수 값은 시스템 설계자가 입력한 값으로 저장부(120)에 사전 저장되어 있을 수 있다. 업데이트 폭을 결정하는 상수 값의 크기에 따라 실력 값의 변화의 폭이 결정될 수 있다.
프로세서(110)는 단계(S131)에서 제1 확률 값, 이전 실력 값 및 상수 값을 확인한 경우, 풀이 데이터가 정답인지 여부에 따라 다른 수학식에 제1 확률 값, 이전 실력 값 및 상수 값을 대입하여 제1 문제와 관련된 단원에 대한 제2 실력 값을 산출할 수 있다(S132).
프로세서(110)는 풀이 데이터가 정답인 경우, 수학식
Figure 112022075780724-pat00110
에 의해 제1 문제와 관련된 제2 단원에 대한 제2 실력 값을 산출할 수 있다.
프로세서(110)는 풀이 데이터가 오답인 경우, 수학식
Figure 112022075780724-pat00111
에 의해 제1 문제와 관련된 제2 단원에 대한 제2 실력 값을 산출할 수 있다. 여기서, 0.8을 곱하는 이유는 실력이 떨어지는 폭을 줄이기 위함이다.
본 개시에서,
Figure 112022075780724-pat00112
는 제2 실력 값이고,
Figure 112022075780724-pat00113
는 사용자의 제1 문제와 관련된 제2 단원에 대한 이전 실력 값이고,
Figure 112022075780724-pat00114
는 사용자가 제1 문제를 맞힐 제1 확률 값이고,
Figure 112022075780724-pat00115
는 업데이트 폭을 결정하는 상수 값일 수 있다.
상술한 수학식들에 의하면 사용자가 제1 문제를 맞힐 제1 확률 값이 높은 문제가 정답인 경우 또는 사용자가 제1 문제를 맞힐 제1 확률 값이 낮은 문제가 오답인 경우에 사용자의 실력 값의 변화의 폭이 작을 수 있다. 그리고, 사용자가 제1 문제를 맞힐 제1 확률 값이 높은 문제가 오답인 경우 또는 사용자가 제1 문제를 맞힐 제1 확률 값이 낮은 문제가 정답인 경우 실력 값의 변화의 폭이 클 수 있다.
본 개시의 몇몇 실시예에 따르면, 프로세서(110)는 제1 문제와 관련된 제2 단원이 복수 개인 경우, 복수의 제2 단원 전체의 실력 값을 제2 실력 값으로 변경할 수 있다.
예를 들어, 문제와 관련된 단원이 제1 단원 및 제2 단원을 포함하는 경우, 프로세서(110)는 제1 단원에 대한 제1 이전 실력 값, 사용자가 제1 문제를 맞힐 확률 값 및 업데이트 폭을 결정하는 상수 값을 이용하여 제1 단원과 관련된 제1 업데이트된 실력 값을 산출할 수 있다. 또한, 프로세서(110)는 제2 단원에 대한 제2 이전 실력 값, 사용자가 제1 문제를 맞힐 확률 값 및 업데이트 폭을 결정하는 상수 값을 이용하여 제2 단원과 관련된 제2 업데이트된 실력 값을 산출할 수 있다. 여기서, 동일한 하나의 문제에 대해 복수의 단원이 관련이 있는 것이기 때문에 문제를 맞힐 확률 값 및 업데이트 폭을 결정하는 상수 값은 동일할 수 있다.
본 개시의 몇몇 실시예에 의하면, 실제 사용자의 실력 변화가 실력 값으로 제대로 반영될 수 있다.
도 5를 다시 참조하면, 프로세서(110)는 단계(S140)에서 제1 문제와 관련된 제2 단원에 대한 실력 값을 제2 실력 값으로 업데이트한 경우, 즉 제1 문제와 관련된 제2 단원에 대한 실력 값을 제2 실력 값으로 변경한 경우, 제2 단원과 의존 관계가 있는 의존 단원에 대한 제3 실력 값을 제2 실력 값과 동일한 값으로 변경할 수 있다(S150). 본 개시는 이에 한정되는 것은 아니다.
문제와 관련된 단원과 의존 관계가 있는 의존 단원은 문제와 관련된 단원의 업데이트된 실력 값이 업데이트되기 이전의 실력 값보다 커졌는지 여부(사용자가 문제를 맞혔는지 여부)에 따라 다르게 정의될 수 있다.
본 개시에서 문제와 관련된 단원과 의존 관계가 있는 의존 단원은 문제와 관련된 단원의 업데이트된 실력 값이 업데이트되기 이전의 실력 값보다 커졌는지 여부(사용자가 문제를 맞혔는지 여부)에 따라 문제와 관련된 단원 보다 먼저 배우는 선수 단원 또는 문제와 관련된 단원 보다 뒤에 배우는 후행 단원으로 정의될 수 있다.
일례로, 문제와 관련된 단원에 대한 사용자의 업데이트된 실력 값이 업데이트되기 이전의 실력 값 보다 커진 경우(사용자가 문제를 맞힌 경우) 의존 단원은 문제와 관련된 단원 보다 먼저 배우는 선수 단원으로 정의될 수 있다. 여기서, 선수 단원은, 학습 과정에서 문제와 관련된 단원 보다 먼저 배우는 단원이며, 사용자는 의존 단원의 내용을 사용자가 이해하고 있어야 문제와 관련된 단원을 맞힐 수 있다.
다른 일례로, 문제와 관련된 단원에 대한 사용자의 업데이트된 실력 값이 업데이트되기 이전의 실력 값보다 작아진 경우(사용자가 문제를 틀린 경우) 의존 단원은 문제와 관련된 단원보다 뒤에 배우는 후행 단원으로 정의될 수 있다. 여기서, 후행 단원은, 학습 과정에서 문제와 관련된 단원 보다 뒤에 배우는 단원이며, 사용자는 문제와 관련된 단원의 내용을 사용자가 이해하고 있어야 후행 단원과 관련된 문제를 맞힐 수 있다.
본 개시의 몇몇 실시예에 따르면, 문제와 관련된 단원에 대한 실력 값을 제1 실력 값으로 변경한 경우, 프로세서(110)는 문제와 관련된 단원과 의존 관계가 있는 의존 단원이 어떤 단원인지 정의할 수 있다. 그리고, 프로세서(110)는 의존 단원이 선수 단원으로 정의되었는지 아니면 후행 단원으로 정의되었는지 여부에 기초하여 다른 방법으로 의존 단원에 대한 제2 실력 값의 변경 여부를 결정할 수 있다.
일례로, 프로세서(110)는 의존 단원이 선수 단원으로 정의된 경우 의존 단원에 대한 제2 실력 값이 제1 실력 값보다 크거나 같은 경우 의존 단원에 대한 제2 실력 값을 변경하지 않을 수 있고, 의존 단원에 대한 제2 실력 값이 제1 실력 값 보다 작은 경우 의존 단원에 대한 제2 실력 값을 제1 실력 값과 동일한 값으로 변경할 수 있다.
다른 일례로, 프로세서(110)는 의존 단원이 후행 단원으로 정의된 경우 의존 단원에 대한 제2 실력 값이 제1 실력 값보다 작거나 같은 경우 의존 단원에 대한 제2 실력 값을 변경하지 않을 수 있고, 의존 단원에 대한 제2 실력 값이 제1 실력 값 보다 큰 경우 의존 단원에 대한 제2 실력 값을 제1 실력 값과 동일한 값으로 변경할 수 있다.
상술한 바와 같이 의존 단원에 대한 실력 값을 업데이트된 경우, 먼저 배우는 단원에 대한 실력 값이 항상 뒤에 배우는 단원의 실력 값보다 크거나 같아질 수 있다.
본 개시에서 저장부(120)에는 복수의 단원들 사이의 선후행 관계가 저장되어 있을 수 있다.
예를 들어, 도 7을 참조하면, 복수의 단원은 제1 단원(210), 제2 단원(220), 제3 단원(230), 제4 단원(240) 및 제5 단원(250)을 포함할 수 있다. 여기서, 제1 단원(210)은 교과 과정 상 가장 먼저 배우는 단원이고, 제2 단원(220), 제3 단원(230), 제4 단원(240) 및 제5 단원(250) 순으로 배울 수 있다.
본 개시에서 사용자는 제1 단원(210)의 내용을 이해하고 있어야지 제2 단원(220)과 관련된 문제를 맞힐 수 있고, 제1 단원(210)의 내용을 이해하고 있어야지 제3 단원(230)과 관련된 문제를 맞힐 수 있다. 사용자는 제1 단원(210) 및 제3 단원(230)의 내용을 이해하고 있어야지 제4 단원(240)의 문제를 맞힐 수 있고 제1 단원(210), 제2 단원(220), 제3 단원(230) 및 제4 단원(240)에 대한 내용을 이해하고 있어야지 제5 단원(250)과 관련된 문제를 맞힐 수 있다. 다만, 사용자는 제2 단원(220)의 내용을 이해하지 못하고 제1 단원(210)의 내용만 이해하고 있어도 제3 단원(230)과 관련된 문제를 맞힐 수 있고, 제3 단원(230)의 내용을 이해하지 못하고 제1 단원(210)의 내용만 이해하고 있어도 제2 단원(220)과 관련된 문제를 맞힐 수 있다. 그리고, 사용자는 제2 단원(220)의 내용을 이해하지 못하고 제1 단원(210) 및 제3 단원(230)의 내용만 이해하고 있어도 제4 단원(240)과 관련된 문제를 맞힐 수 있다.
본 개시에서 제5 단원(250)에 대한 실력 값이 업데이트되어 커진 경우, 제5 단원(250)과 의존 관계가 있는 의존 단원은 제1 단원(210), 제2 단원(220), 제3 단원(230) 및 제4 단원(240)이 될 수 있다. 한편, 제5 단원(250)과 관련된 실력 값이 업데이트되어 작아진 경우, 제5 단원(250)과 의존 관계가 있는 의존 단원은 존재하지 않을 수 있다.
본 개시의 몇몇 실시예에 따르면, 프로세서(110)는 사용자가 풀이한 문제가 제5 단원(250)과 관련된 문제이고, 제5 단원(250)에 대한 실력 값이 커지도록 변경(업데이트)된 경우(사용자가 문제를 맞힌 경우), 제5 단원(250)에 대한 사용자의 실력 값을 변경하는 것과 연동하여 제5 단원(250)과 의존 관계가 있는 의존 단원인 제1 단원(210), 제2 단원(220), 제3 단원(230) 및 제4 단원(240)에 대한 사용자의 실력 값도 변경할 수 있다. 다만, 프로세서(110)는 제1 단원(210), 제2 단원(220), 제3 단원(230) 및 제4 단원(240) 각각에 대한 사용자의 실력 값들 중 제5 단원(250)에 대한 변경된 실력 값 보다 작은 실력 값만 제5 단원(250)에 대한 변경된 실력 값과 동일한 값으로 변경할 수 있다. 즉, 프로세서(110)는 제1 단원(210), 제2 단원(220), 제3 단원(230) 및 제4 단원(240) 각각에 대한 사용자의 실력 값들 중 제5 단원(250)에 대한 변경된 실력 값 보다 크거나 같은 실력 값은 변경하지 않을 수 있다.
본 개시의 다른 몇몇 실시예에 따르면, 프로세서(110)는 사용자가 풀이한 문제가 제5 단원(250)과 관련된 문제이고, 제5 단원(250)에 대한 실력 값이 작아지도록 변경(업데이트)된 경우(사용자가 문제를 틀린 경우), 제5 단원(250)과 의존 관계가 있는 단원이 존재하지 않는다고 인식할 수 있다. 이 경우, 프로세서(110)는 제5 단원(250)에 대한 실력 값만 변경하고 다른 단원에 대한 실력 값은 변경하지 않을 수 있다.
본 개시에서 제4 단원(240)에 대한 실력 값이 업데이트되어 커진 경우, 제4 단원(240)과 의존 관계가 있는 의존 단원은 제1 단원(210) 및 제3 단원(230)이 될 수 있다. 한편, 제4 단원(240)과 관련된 실력 값이 업데이트되어 작아진 경우, 제4 단원(240)과 의존 관계가 있는 의존 단원은 제5 단원(250)이 될 수 있다.
본 개시의 몇몇 실시예에 따르면, 프로세서(110)는 사용자가 풀이한 문제가 제4 단원(240)과 관련된 문제이고, 제4 단원(240)에 대한 실력 값이 커지도록 변경(업데이트)된 경우(사용자가 문제를 맞힌 경우), 제4 단원(240)에 대한 사용자의 실력 값을 변경하는 것과 연동하여 제4 단원(240)과 의존 관계가 있는 의존 단원인 제1 단원(210) 및 제3 단원(230)에 대한 사용자의 실력 값도 변경할 수 있다. 다만, 프로세서(110)는 제1 단원(210) 및 제3 단원(230) 각각에 대한 사용자의 실력 값들 중 제4 단원(240)에 대한 변경된 실력 값 보다 작은 실력 값만 제4 단원(240)에 대한 변경된 실력 값과 동일한 값으로 변경할 수 있다. 즉, 프로세서(110)는 제1 단원(210) 및 제3 단원(230) 각각에 대한 사용자의 실력 값들 중 제4 단원(240)에 대한 변경된 실력 값 보다 크거나 같은 실력 값은 변경하지 않을 수 있다.
본 개시의 다른 몇몇 실시예에 따르면, 프로세서(110)는 사용자가 풀이한 문제가 제4 단원(240)과 관련된 문제이고, 제4 단원(240)에 대한 실력 값이 작아지도록 변경(업데이트)된 경우(사용자가 문제를 틀린 경우), 제4 단원(240)에 대한 사용자의 실력 값을 변경하는 것과 연동하여 제4 단원(240)과 의존 관계가 있는 의존 단원인 제5 단원(250)에 대한 사용자의 실력 값도 변경할 수 있다. 다만, 프로세서(110)는 제5 단원(250)에 대한 사용자의 실력 값이 제4 단원(240)에 대한 변경된 실력 값 보다 큰 경우에만 제4 단원(240)에 대한 변경된 실력 값과 동일한 값으로 제5 단원(250)의 실력 값을 변경할 수 있다. 즉, 프로세서(110)는 제5 단원(250)에 대한 사용자의 실력 값이 제4 단원(240)에 대한 변경된 실력 값보다 작거나 같은 경우 제5 단원(250)에 대한 실력 값을 변경하지 않을 수 있다.
본 개시에서 제3 단원(230)에 대한 실력 값이 업데이트되어 커진 경우, 제3 단원(230)과 의존 관계가 있는 의존 단원은 제1 단원(210)이 될 수 있다. 한편, 제3 단원(230)과 관련된 실력 값이 업데이트되어 작아진 경우, 제3 단원(230)과 의존 관계가 있는 의존 단원은 제4 단원(240) 및 제5 단원(250)이 될 수 있다.
본 개시의 몇몇 실시예에 따르면, 프로세서(110)는 사용자가 풀이한 문제가 제3 단원(230)과 관련된 문제이고 제3 단원(230)에 대한 실력 값이 커지도록 변경(업데이트)된 경우(사용자가 문제를 맞힌 경우), 제3 단원(230)에 대한 사용자의 실력 값을 변경하는 것과 연동하여 제3 단원(230)과 의존 관계가 있는 의존 단원인 제1 단원(210)에 대한 사용자의 실력 값도 변경할 수 있다. 다만, 프로세서(110)는 제1 단원(210)에 대한 사용자의 실력 값이 제3 단원(230)에 대한 변경된 실력 값 보다 작은 경우에만, 제1 단원(210)에 대한 사용자의 실력 값을 제3 단원(230)에 대한 변경된 실력 값과 동일한 값으로 변경할 수 있다. 즉, 프로세서(110)는 제1 단원(210)에 대한 사용자의 실력 값이 제3 단원(230)에 대한 변경된 실력 값 보다 크거나 같으면 제1 단원(210)에 대한 사용자의 실력 값을 변경하지 않을 수 있다.
본 개시의 다른 몇몇 실시예에 따르면, 프로세서(110)는 사용자가 풀이한 문제가 제3 단원(230)과 관련된 문제이고, 제3 단원(230)에 대한 실력 값이 작아지도록 변경(업데이트)된 경우(사용자가 문제를 틀린 경우), 제3 단원(230)에 대한 사용자의 실력 값을 변경하는 것과 연동하여 제3 단원(230)과 의존 관계가 있는 의존 단원인 제4 단원(240) 및 제5 단원(250) 각각에 대한 사용자의 실력 값도 변경할 수 있다. 다만, 프로세서(110)는 제4 단원(240) 및 제5 단원(250)에 대한 사용자의 실력 값 중 제3 단원(230)에 대한 변경된 실력 값 보다 큰 실력 값만 제3 단원(230)에 대한 변경된 실력 값과 동일한 값으로 변경할 수 있다. 즉, 프로세서(110)는 제4 단원(240) 및 제5 단원(250) 중 제3 단원(230)에 대한 변경된 실력 값보다 작거나 같은 실력 값은 변경하지 않을 수 있다.
본 개시에서 제2 단원(220)에 대한 실력 값이 업데이트되어 커진 경우, 제2 단원(220)과 의존 관계가 있는 의존 단원은 제1 단원(210)이 될 수 있다. 한편, 제2 단원(220)과 관련된 실력 값이 업데이트되어 작아진 경우, 제2 단원(230)과 의존 관계가 있는 의존 단원은 제5 단원(250)이 될 수 있다.
본 개시의 몇몇 실시예에 따르면, 프로세서(110)는 사용자가 풀이한 문제가 제2 단원(220)과 관련된 문제이고 제2 단원(220)에 대한 실력 값이 커지도록 변경(업데이트)된 경우(사용자가 문제를 맞힌 경우), 제2 단원(220)에 대한 사용자의 실력 값을 변경하는 것과 연동하여 제2 단원(220)과 의존 관계가 있는 의존 단원인 제1 단원(210)에 대한 사용자의 실력 값도 변경할 수 있다. 다만, 프로세서(110)는 제1 단원(210)에 대한 사용자의 실력 값이 제2 단원(220)에 대한 변경된 실력 값 보다 작은 경우에만, 제1 단원(210)에 대한 사용자의 실력 값을 제2 단원(220)에 대한 변경된 실력 값과 동일한 값으로 변경할 수 있다. 즉, 프로세서(110)는 제1 단원(210)에 대한 사용자의 실력 값이 제2 단원(220)에 대한 변경된 실력 값 보다 크거나 같으면 제1 단원(210)에 대한 사용자의 실력 값을 변경하지 않을 수 있다.
본 개시의 다른 몇몇 실시예에 따르면, 프로세서(110)는 사용자가 풀이한 문제가 제2 단원(220)과 관련된 문제이고, 제2 단원(220)에 대한 실력 값이 작아지도록 변경(업데이트)된 경우(사용자가 문제를 틀린 경우), 제2 단원(220)에 대한 사용자의 실력 값을 변경하는 것과 연동하여 제2 단원(220)과 의존 관계가 있는 의존 단원인 제5 단원(250)에 대한 사용자의 실력 값도 변경할 수 있다. 다만, 프로세서(110)는 제5 단원(250)에 대한 사용자의 실력 값이 제2 단원(220)에 대한 변경된 실력 값 보다 큰 경우에만 제2 단원(220)에 대한 변경된 실력 값과 동일한 값으로 제5 단원(250)의 실력 값을 변경할 수 있다. 즉, 프로세서(110)는 제5 단원(250)에 대한 사용자의 실력 값이 제2 단원(220)에 대한 변경된 실력 값보다 작거나 같은 경우 제5 단원(250)에 대한 실력 값을 변경하지 않을 수 있다.
본 개시에서 제1 단원(210)에 대한 실력 값이 업데이트되어 커진 경우, 제1 단원(210)과 의존 관계가 있는 의존 단원이 존재하지 않을 수 있다. 한편, 제1 단원(210)과 관련된 실력 값이 업데이트되어 커진 경우, 제1 단원(210)과 의존 관계가 있는 의존 단원은 제2 단원(220), 제3 단원(230), 제4 단원(240) 및 제5 단원(250)이 될 수 있다.
본 개시의 몇몇 실시예에 따르면, 프로세서(110)는 사용자가 풀이한 문제가 제1 단원(210)과 관련된 문제이고, 제1 단원(210)에 대한 실력 값이 커지도록 변경(업데이트)된 경우(사용자가 문제를 맞힌 경우), 제1 단원(210)과 의존 관계가 있는 단원이 존재하지 않는다고 인식할 수 있다. 이 경우, 프로세서(110)는 제1 단원(210)에 대한 실력 값만 변경하고 다른 단원에 대한 실력 값은 변경하지 않을 수 있다.
본 개시의 다른 몇몇 실시예에 따르면, 프로세서(110)는 사용자가 풀이한 문제가 제1 단원(210)과 관련된 문제이고, 제1 단원(210)에 대한 실력 값이 작아지도록 변경(업데이트)된 경우(사용자가 문제를 틀린 경우), 제1 단원(210)에 대한 사용자의 실력 값을 변경하는 것과 연동하여 제1 단원(210)과 의존 관계가 있는 의존 단원인 제2 단원(220), 제3 단원(230), 제4 단원(240) 및 제5 단원(250)에 대한 사용자의 실력 값도 변경할 수 있다. 다만, 프로세서(110)는 제2 단원(220), 제3 단원(230), 제4 단원(240) 및 제5 단원(250) 각각에 대한 사용자의 실력 값들 중 제1 단원(210)에 대한 변경된 실력 값 보다 작은 실력 값만 제1 단원(210)에 대한 변경된 실력 값과 동일한 값으로 변경할 수 있다. 즉, 프로세서(110)는 제2 단원(220), 제3 단원(230), 제4 단원(240) 및 제5 단원(250) 각각에 대한 사용자의 실력 값들 중 제1 단원(210)에 대한 변경된 실력 값 보다 작거나 같은 실력 값은 변경하지 않을 수 있다.
한편, 도 5를 다시 참조하면, 프로세서(110)는 제1 문제와 관련된 제2 단원에 대한 실력 값 및 제1 문제와 관련된 제2 단원과 의존 관계가 있는 의존 단원에 대한 실력 값을 변경한 경우, 제1 문제와 관련된 제2 단원 및 의존 단원 중 적어도 하나와 유사 관계가 있는 유사 단원에 대한 제4 실력 값 및 기 설정된 유사도 값(예를 들어, 0.9)을 이용하여 실력 범위를 결정할 수 있다(S160). 여기서, 실력 범위는 제4 실력 값에 기 설정된 유사도 값을 곱한 값보다 크거나 같은 제1 범위 및 제4 실력 값에 기 설정된 유사도 값을 나눈 값보다 작거나 같은 제2 범위를 포함할 수 있다. 즉 실력 범위는 수학식 9와 같이 표현될 수 있다.
Figure 112022075780724-pat00116
수학식 9에서
Figure 112022075780724-pat00117
는 유사 단원에 대한 제4 실력 값이고,
Figure 112022075780724-pat00118
는 기 설정된 유사도 값이고,
Figure 112022075780724-pat00119
는 제1 문제와 관련된 제2 단원에 대한 실력 값 또는 의존 단원에 대한 실력 값으로 제2 실력 값일 수 있다.
한편, 본 개시에서 복수의 단원 각각과 유사 관계가 있는 유사 단원에 대한 정보 및 기 설정된 유사도 값이 저장부(120)에 저장되어 있을 수 있다.
도 9를 참조하면, 어느 단원이 어느 단원과 어느 정도 유사 관계가 있는지에 대한 정보가 저장부(120)에 테이블 형태로 저장되어 있을 수 있다.
예를 들어, 다항식의 덧셈, 뺄셈, 곱셈, 나눗셈을 배우는 단원(단원 0)은 다항식-항등식을 배우는 단원(단원 1)과 유사 관계가 있을 수 있다. 이 경우, 저장부(120)에 저장된 테이블에는 다항식의 덧셈, 뺄셈, 곱셈, 나눗셈을 배우는 단원(단원 0)과 다항식-항등식을 배우는 단원(단원 1)이 유사관계가 있다는 정보가 기록되어 있을 수 있다. 구체적으로, 단원 0이 단원 1과 유사관계가 있기 때문에 도 11에서 단원 0이 기입된 행과 단원 1이 기입된 열이 만나는 부분에 0.9라는 기 설정된 유사도 값이 기입되어 있을 수 있다. 본 개시에서 상술한 바와 같이 유사관계가 있는 단원들이 테이블 내에 표현되어 있을 수 있지만, 본 개시는 상술한 내용에 한정되는 것은 아니다.
본 개시에서 제1 문제와 관련된 제2 단원 또는 의존 단원에 대한 실력 값이 변경되지 않았다면 유사 단원에 대한 실력 값은 수학식 9의 범위를 만족하고 있을 것이기 때문에 유사 단원에 대한 실력 값도 변경될 필요가 없다. 다만, 제1 문제와 관련된 제2 단원 또는 의존 단원에 대한 실력 값이 변경된 경우, 프로세서(110)는 유사 단원에 대한 실력 값도 변경해야 하는지 여부를 확인해야 한다.
도 5를 다시 참조하면, 프로세서(110)는 단계(S160)에서 실력 범위를 결정한 경우, 제1 문제와 관련된 제2 단원 또는 의존 단원의 변경된 실력 값인 제2 실력 값이 실력 범위를 벗어나는지 여부에 기초하여 유사 단원의 제4 실력 값의 변경 여부를 결정할 수 있다(S170).
구체적으로, 도 8을 참조하면, 프로세서(110)는 제1 문제와 관련된 제2 단원 또는 의존 단원의 변경된 실력 값인 제2 실력 값이 도 5의 단계(S160)에서 결정된 실력 범위를 벗어나는지 여부를 확인할 수 있다(S171).
프로세서(110)는 제2 실력 값이 실력 범위를 벗어나지 않으면(S171, No), 제4 실력 값을 변경하지 않는다고 결정할 수 있다(S172).
다만, 프로세서(110)는 제2 실력 값이 실력 범위를 벗어나면(S171, Yes) 제4 실력 값을 변경한다고 결정할 수 있다(S173).
본 개시의 몇몇 실시예에 의하면, 프로세서(110)는 제2 실력 값이 상술한 수학식 9에서 제1 범위(
Figure 112022075780724-pat00120
를 벗어나는 경우, 제2 실력 값(
Figure 112022075780724-pat00121
)에 기 설정된 유사도 값(
Figure 112022075780724-pat00122
)을 나눈 값으로 제4 실력 값(
Figure 112022075780724-pat00123
)을 변경할 수 있다.
본 개시의 다른 몇몇 실시예에 의하면, 프로세서(110)는 제2 실력 값이 상술한 수학식 9에서 제2 범위(
Figure 112022075780724-pat00124
)를 벗어나는 경우, 제2 실력 값(
Figure 112022075780724-pat00125
)에 기 설정된 유사도 값(
Figure 112022075780724-pat00126
)을 곱한 값으로 제4 실력 값(
Figure 112022075780724-pat00127
)을 변경할 수 있다.
즉, 프로세서(110)는 제2 실력 값이 실력 범위 내에 존재할 수 있도록 제4 실력 값을 조정할 수 있다. 다만, 본 개시는 이에 한정되는 것은 아니다.
예를 들어 좀더 구체적으로 설명하면, 복수의 단원에 A 단원 및 B 단원이 있다고 가정했을 때 A 단원의 실력 값과 B 단원의 실력 값 사이에 어떠한 관계를 가질 때 A 단원과 B 단원이 유사 관계를 가진 단원이라고 정의될 수 있다. 한 단원의 실력 값이 변할 때 비슷한 개념 또는 유형을 가진 다른 단원들의 실력 값도 함께 변하기 때문이다. 따라서, A라는 단원의 실력 값이 10이고 B라는 단원이 A와 0.9 정도의 유사도 값을 가진 유사 관계에 있다고 생각 했을 때 B 단원의 실력 값은 9와 11 사이에서 정해질 수 있다. 만약, B 단원의 실력 값에 의해 생성된 실력 범위 사이에 A 단원의 실력 값이 존재하는 경우 B 단원의 실력 값을 조정할 필요가 없지만, B 단원의 실력 값에 의해 생성된 실력 범위 사이에 A 단원의 실력 값이 존재하지 않으면 B 단원의 실력 값을 조정할 필요가 있다. 따라서, 상술한 바와 같이 프로세서(110)는 제2 실력 값이 실력 범위 내에 존재할 수 있도록 제4 실력 값을 조정할 수 있다.
본 개시의 상술한 몇몇 실시예에 따르면, 사용자의 문제와 관련된 실력 값이 실시간으로 정확하게 업데이트될 수 있다. 또한, 업데이트된 실력 값을 이용하여 사용자의 실력에 맞는 맞춤형 문제가 사용자에게 제공될 수 있어 사용자의 실력을 빠르게 향상시킬 수 있다.
본 개시에서 장치(100)는 상기 설명된 몇몇 실시예들의 구성과 방법이 한정되게 적용될 수 있는 것이 아니라, 상기 몇몇 실시예들은 다양한 변형이 이루어질 수 있도록 각 실시예들의 전부 또는 일부가 선택적으로 조합되어 구성될 수도 있다.
본 개시에서 설명되는 다양한 실시예는 예를 들어, 소프트웨어, 하드웨어 또는 이들의 조합된 것을 이용하여 컴퓨터 또는 이와 유사한 디바이스로 읽을 수 있는 기록매체 내에서 구현될 수 있다.
하드웨어적인 구현에 의하면, 여기에 설명되는 몇몇 실시예는 ASICs(application specific integrated circuits), DSPs(digital signal processors), DSPDs(digital signal processing devices), PLDs(programmable logic devices), FPGAs(field programmable gate arrays, 프로세서, 제어기, 마이크로 컨트롤러(micro-controllers), 마이크로 프로세서(microprocessors), 기타 기능 수행을 위한 전기적인 유닛(unit) 중 적어도 하나를 이용하여 구현될 수 있다. 일부의 경우에 본 개시에서 설명되는 몇몇 실시예가 프로세서로 구현될 수 있다.
소프트웨어적인 구현에 의하면, 본 개시에서 설명되는 절차 및 기능과 같은 몇몇 실시예는 별도의 소프트웨어 모듈들로 구현될 수 있다. 소프트웨어 모듈들 각각은 본 개시에서 설명되는 하나 이상의 기능, 태스크 및 작동을 수행할 수 있다. 적절한 프로그램 언어로 쓰여진 소프트웨어 애플리케이션으로 소프트웨어 코드(software code)가 구현될 수 있다. 여기서, 소프트웨어 코드는, 저장부(120)에 저장되고, 프로세서(110)에 의해 실행될 수 있다. 즉, 적어도 하나의 프로그램 명령이 저장부(120)에 저장되어 있고, 적어도 하나의 프로그램 명령이 프로세서(110)에 의해 실행될 수 있다.
본 개시의 몇몇 실시예에 따른 장치의 프로세서가 수행하는 사용자의 문제 풀이 실력 향상을 위한 맞춤형 문제를 제공하는 방법은 장치에 구비된 적어도 하나의 프로세서가 읽을 수 있는 기록매체에 적어도 하나의 프로세서가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 적어도 하나의 프로세서가 읽을 수 있는 기록매체는 적어도 하나의 프로세서에 의해 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 디바이스를 포함한다. 적어도 하나의 프로세서가 읽을 수 있는 기록 매체의 예로는 ROM(Read Only Memory), RAM(Random Access Memory), CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장 디바이스 등이 포함된다.
한편, 본 개시에서 첨부된 도면을 참조하여 설명하였으나, 이는 실시예일 뿐 특정 실시예에 한정되지 아니하며, 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 변형실시가 가능한 다양한 내용도 청구범위에 따른 권리범위에 속한다. 또한, 그러한 변형실시들이 본 발명의 기술 사상으로부터 개별적으로 이해되어서는 안 된다.

Claims (15)

  1. 장치의 프로세서에 의해 사용자의 문제 풀이 실력 향상을 위한 맞춤형 문제를 제공하는 방법에 있어서, 상기 방법은:
    상기 사용자가 복수의 문제를 맞힐 복수의 확률 값을 산출하는 단계; 및
    상기 복수의 문제 중 기 설정된 범위에 속하는 제1 확률 값을 갖는 제1 문제를 상기 사용자에게 제공하는 단계;
    를 포함하고,
    상기 복수의 문제를 맞힐 복수의 확률 값을 산출할 때 복수의 문제 중 하나인 제2 문제를 상기 사용자가 맞힐 제2 확률 값은,
    수학식
    Figure 112022100296602-pat00171
    에 의해 산출되고,
    상기
    Figure 112022100296602-pat00172
    는 상기 제2 확률 값이고, 상기
    Figure 112022100296602-pat00173
    는 상기 사용자의 상기 제2 문제와 관련된 제1 단원에 대한 제1 실력 값과 상기 제2 문제의 난이도 값이 같은 경우 문제 풀이 방법을 알 확률이 기 설정된 값을 갖도록 정의하여 상기 제2 문제의 난이도 오차를 최소화하도록 보정하는 기 설정된 제1 파라미터 값이고, 상기
    Figure 112022100296602-pat00174
    는 상기 제2 문제를 상기 사용자가 찍어서 맞힐 확률을 보정하도록 문제 타입에 따라 값이 변화하는 제2 파라미터 값이고, 상기
    Figure 112022100296602-pat00175
    는 상기 난이도 값이고, 상기
    Figure 112022100296602-pat00176
    은 상기 제1 실력 값이고, 상기
    Figure 112022100296602-pat00177
    는 기 설정된 상수 값이고,
    상기 난이도 값은,
    상기 제2 문제가 기 설정된 기관에서 출제한 문제인 경우 기 설정된 서버로부터 제공된 상기 제2 문제에 대한 정답률을 포함하는 데이터 셋을 난이도 값 산출 방법에 기초하여 분석하여 산출된 값이고, 상기 제2 문제가 자체 제작 문제인 경우 기 설정된 수의 난이도 설정자로부터 입력 받은 난이도 값의 평균을 계산하여 산출된 값이고,
    상기 난이도 값 산출 방법은:
    상기 정답률과 기 설정된 수의 샘플링 된 사용자 각각의 실력 값을 이용하여 산출된 상기 제2 문제에 대한 가상 정답률 사이의 오차를 최소화하는 상기 난이도 값을 찾는 단계;
    를 포함하는,방법.
  2. 제1항에 있어서,
    상기 제2 확률 값은,
    상기 제2 문제와 관련된 상기 제1 단원이 복수 개인 경우, 복수의 제1 단원 각각의 실력 값 및 상기 난이도 값을 이용하여 산출된 상기 사용자가 상기 제2 문제를 맞힐 복수의 제3 확률 값 중 가장 작은 값을 갖는 확률 값인,
    방법.
  3. 제1항에 있어서,
    상기 문제 타입은,
    객관식 문제를 나타내는 제1 타입 및 주관식 문제를 나타내는 제2 타입을 포함하고,
    상기 제2 파라미터 값은,
    상기 제2 문제가 상기 제1 타입인 경우, 0보다 큰 값을 갖고,
    상기 제2 문제가 상기 제2 타입인 경우, 0인,
    방법.
  4. 삭제
  5. 제1항에 있어서,
    상기 방법은:
    상기 제1 문제를 상기 사용자에게 제공한 후, 상기 사용자가 상기 제1 문제를 풀이한 풀이 데이터를 수신하는 단계;
    상기 풀이 데이터의 정답 여부 및 상기 사용자의 상기 제1 문제와 관련된 제2 단원에 대한 이전 실력 값에 기초하여 산출된 제2 실력 값으로 상기 제2 단원에 대한 실력 값을 변경하는 단계;
    상기 제2 단원에 대한 실력 값을 상기 제2 실력 값으로 변경한 경우, 상기 제2 단원과 의존 관계가 있는 의존 단원에 대한 제3 실력 값을 상기 제2 실력 값과 동일한 값으로 변경하는 단계;
    상기 제2 단원 및 상기 의존 단원 중 적어도 하나와 유사 관계가 있는 유사 단원에 대한 제4 실력 값 및 기 설정된 유사도 값을 이용하여 실력 범위를 결정하는 단계; 및
    상기 제2 실력 값이 상기 실력 범위를 벗어나는지 여부에 기초하여 상기 제4 실력 값의 변경 여부를 결정하는 단계;
    를 더 포함하는,
    방법.
  6. 제5항에 있어서,
    상기 실력 범위는,
    상기 제4 실력 값에 상기 기 설정된 유사도 값을 곱한 값보다 크거나 같은 제1 범위 및 상기 제4 실력 값에 상기 기 설정된 유사도 값을 나눈 값보다 작거나 같은 제2 범위를 포함하는,
    방법.
  7. 제5항에 있어서,
    상기 제2 실력 값이 상기 실력 범위를 벗어나는지 여부에 기초하여 상기 제4 실력 값의 변경 여부를 결정하는 단계는,
    상기 제2 실력 값이 상기 실력 범위를 벗어나지 않으면, 상기 제4 실력 값을 변경하지 않는다고 결정하는 단계; 또는
    상기 제2 실력 값이 상기 실력 범위를 벗어나면, 상기 제4 실력 값을 변경한다고 결정하는 단계;
    를 포함하는,
    방법.
  8. 제6항에 있어서,
    상기 제2 실력 값이 상기 실력 범위를 벗어나는지 여부에 기초하여 상기 제4 실력 값의 변경 여부를 결정하는 단계는,
    상기 제2 실력 값이 상기 제1 범위를 벗어나는 경우, 상기 제2 실력 값에 상기 기 설정된 유사도 값을 나눈 값으로 상기 제4 실력 값을 변경한다고 결정하는 단계; 또는
    상기 제2 실력 값이 상기 제2 범위를 벗어나는 경우, 상기 제2 실력 값에 상기 기 설정된 유사도 값을 곱한 값으로 상기 제4 실력 값을 변경한다고 결정하는 단계;
    를 더 포함하는,
    방법.
  9. 제5항에 있어서,
    상기 풀이 데이터의 정답 여부 및 상기 사용자의 상기 제1 문제와 관련된 제2 단원에 대한 이전 실력 값에 기초하여 산출된 제2 실력 값으로 상기 제2 단원에 대한 실력 값을 변경하는 단계는:
    상기 제1 확률 값, 상기 이전 실력 값 및 업데이트 폭을 결정하는 상수 값을 확인하는 단계; 및
    상기 풀이 데이터가 정답인지 여부에 따라 다른 수학식에 상기 제1 확률 값, 상기 이전 실력 값 및 상기 상수 값을 대입하여 상기 제2 실력 값을 산출하는 단계;
    를 포함하고,
    상기 제2 실력 값은,
    상기 풀이 데이터가 정답인 경우 수학식
    Figure 112022075780724-pat00135
    에 의해 결정되고, 상기 풀이 데이터가 오답인 경우 수학식
    Figure 112022075780724-pat00136
    에 의해 결정되고,
    상기
    Figure 112022075780724-pat00137
    는 상기 제2 실력 값이고, 상기
    Figure 112022075780724-pat00138
    는 상기 이전 실력 값이고, 상기
    Figure 112022075780724-pat00139
    는 상기 제1 확률 값이고, 상기
    Figure 112022075780724-pat00140
    는 상기 상수 값인,
    방법.
  10. 컴퓨터 판독가능 저장 매체 저장된 컴퓨터 프로그램으로서, 상기 컴퓨터 프로그램은 장치의 프로세서에서 실행되는 경우, 사용자의 문제 풀이 실력 향상을 위한 맞춤형 문제를 제공하는 단계들을 수행하며, 상기 단계들은:
    상기 사용자가 복수의 문제를 맞힐 복수의 확률 값을 산출하는 단계; 및
    상기 복수의 문제 중 기 설정된 범위에 속하는 제1 확률 값을 갖는 제1 문제를 상기 사용자에게 제공하는 단계;
    를 포함하고,
    상기 복수의 문제를 맞힐 복수의 확률 값을 산출할 때 복수의 문제 중 하나인 제2 문제를 상기 사용자가 맞힐 제2 확률 값은,
    수학식
    Figure 112022100296602-pat00178
    에 의해 산출되고,
    상기
    Figure 112022100296602-pat00179
    는 상기 제2 확률 값이고, 상기
    Figure 112022100296602-pat00180
    는 상기 사용자의 상기 제2 문제와 관련된 제1 단원에 대한 제1 실력 값과 상기 제2 문제의 난이도 값이 같은 경우 문제 풀이 방법을 알 확률이 기 설정된 값을 갖도록 정의하여 상기 제2 문제의 난이도 오차를 최소화하도록 보정하는 기 설정된 제1 파라미터 값이고, 상기
    Figure 112022100296602-pat00181
    는 상기 제2 문제를 상기 사용자가 찍어서 맞힐 확률을 보정하도록 문제 타입에 따라 값이 변화하는 제2 파라미터 값이고, 상기
    Figure 112022100296602-pat00182
    는 상기 제2 문제의 난이도 값이고, 상기
    Figure 112022100296602-pat00183
    은 상기 제2 문제와 관련된 제1 단원에 대한 상기 사용자의 제1 실력 값이고, 상기
    Figure 112022100296602-pat00184
    는 기 설정된 상수 값이고,
    상기 난이도 값은,
    상기 제2 문제가 기 설정된 기관에서 출제한 문제인 경우 기 설정된 서버로부터 제공된 상기 제2 문제에 대한 정답률을 포함하는 데이터 셋을 난이도 값 산출 방법에 기초하여 분석하여 산출된 값이고, 상기 제2 문제가 자체 제작 문제인 경우 기 설정된 수의 난이도 설정자로부터 입력 받은 난이도 값의 평균을 계산하여 산출된 값이고,
    상기 난이도 값 산출 방법은:
    상기 정답률과 기 설정된 수의 샘플링 된 사용자 각각의 실력 값을 이용하여 산출된 상기 제2 문제에 대한 가상 정답률 사이의 오차를 최소화하는 상기 난이도 값을 찾는 단계;
    를 포함하는,
    컴퓨터 판독가능 저장 매체 저장된 컴퓨터 프로그램.
  11. 제10항에 있어서,
    상기 제2 확률 값은,
    상기 제2 문제와 관련된 상기 제1 단원이 복수 개인 경우, 복수의 제1 단원 각각의 실력 값 및 상기 난이도 값을 이용하여 산출된 상기 사용자가 상기 제2 문제를 맞힐 복수의 제3 확률 값 중 가장 작은 값을 갖는 확률 값인,
    컴퓨터 판독가능 저장 매체 저장된 컴퓨터 프로그램.
  12. 제10항에 있어서,
    상기 문제 타입은,
    객관식 문제를 나타내는 제1 타입 및 주관식 문제를 나타내는 제2 타입을 포함하고,
    상기 제2 파라미터 값은,
    상기 제2 문제가 상기 제1 타입인 경우, 0보다 큰 값을 갖고,
    상기 제2 문제가 상기 제2 타입인 경우, 0인,
    컴퓨터 판독가능 저장 매체 저장된 컴퓨터 프로그램.
  13. 제10항에 있어서,
    상기 난이도 값은,
    상기 제2 문제가 기 설정된 기관에서 출제한 문제인 경우, 기 설정된 서버로부터 제공된 데이터 셋을 분석하여 산출된 값이고,
    상기 제2 문제가 자체 제작 문제인 경우, 기 설정된 수의 난이도 설정자로부터 입력 받은 난이도 값의 평균을 계산하여 산출된 값인,
    컴퓨터 판독가능 저장 매체 저장된 컴퓨터 프로그램.
  14. 제10항에 있어서,
    상기 단계들은:
    상기 제1 문제를 상기 사용자에게 제공한 후, 상기 사용자가 상기 제1 문제를 풀이한 풀이 데이터를 수신하는 단계;
    상기 풀이 데이터의 정답 여부 및 상기 사용자의 상기 제1 문제와 관련된 제2 단원에 대한 이전 실력 값에 기초하여 산출된 제2 실력 값으로 상기 제2 단원에 대한 실력 값을 변경하는 단계;
    상기 제2 단원에 대한 상기 실력 값을 상기 제2 실력 값으로 변경한 경우, 상기 제2 단원과 의존 관계가 있는 의존 단원에 대한 제3 실력 값을 상기 제2 실력 값과 동일한 값으로 변경하는 단계;
    상기 제2 단원 및 상기 의존 단원 중 적어도 하나와 유사 관계가 있는 유사 단원에 대한 제4 실력 값 및 기 설정된 유사도 값을 이용하여 실력 범위를 결정하는 단계; 및
    상기 제2 실력 값이 상기 실력 범위를 벗어나는지 여부에 기초하여 상기 제4 실력 값의 변경 여부를 결정하는 단계;
    를 더 포함하는,
    컴퓨터 판독가능 저장 매체 저장된 컴퓨터 프로그램.
  15. 사용자의 문제 풀이 실력 향상을 위한 맞춤형 문제를 제공하는 장치에 있어서, 상기 장치는:
    적어도 하나의 프로그램 명령이 저장된 저장부; 및
    상기 적어도 하나의 프로그램 명령을 수행하는 프로세서;
    를 포함하고,
    상기 프로세서는,
    상기 사용자가 복수의 문제를 맞힐 복수의 확률 값을 산출하고,
    상기 복수의 문제 중 기 설정된 범위에 속하는 제1 확률 값을 갖는 제1 문제를 상기 사용자에게 제공하고,
    상기 복수의 문제를 맞힐 복수의 확률 값을 산출할 때 복수의 문제 중 하나인 제2 문제를 상기 사용자가 맞힐 제2 확률 값은,
    수학식
    Figure 112022100296602-pat00185
    에 의해 산출되고,
    상기
    Figure 112022100296602-pat00186
    는 상기 제2 확률 값이고, 상기
    Figure 112022100296602-pat00187
    는 상기 사용자의 상기 제2 문제와 관련된 제1 단원에 대한 제1 실력 값과 상기 제2 문제의 난이도 값이 같은 경우 문제 풀이 방법을 알 확률이 기 설정된 값을 갖도록 정의하여 상기 제2 문제의 난이도 오차를 최소화하도록 보정하는 기 설정된 제1 파라미터 값이고, 상기
    Figure 112022100296602-pat00188
    는 상기 제2 문제를 상기 사용자가 찍어서 맞힐 확률을 보정하도록 문제 타입에 따라 값이 변화하는 제2 파라미터 값이고, 상기
    Figure 112022100296602-pat00189
    는 상기 제2 문제의 난이도 값이고, 상기
    Figure 112022100296602-pat00190
    은 상기 제2 문제와 관련된 제1 단원에 대한 상기 사용자의 제1 실력 값이고, 상기
    Figure 112022100296602-pat00191
    는 기 설정된 상수 값이고,
    상기 난이도 값은,
    상기 제2 문제가 기 설정된 기관에서 출제한 문제인 경우 기 설정된 서버로부터 제공된 상기 제2 문제에 대한 정답률을 포함하는 데이터 셋을 난이도 값 산출 방법에 기초하여 분석하여 산출된 값이고, 상기 제2 문제가 자체 제작 문제인 경우 기 설정된 수의 난이도 설정자로부터 입력 받은 난이도 값의 평균을 계산하여 산출된 값이고,
    상기 난이도 값 산출 방법은:
    상기 정답률과 기 설정된 수의 샘플링 된 사용자 각각의 실력 값을 이용하여 산출된 상기 제2 문제에 대한 가상 정답률 사이의 오차를 최소화하는 상기 난이도 값을 찾는 단계;
    를 포함하는,장치.
KR1020220089583A 2022-07-20 2022-07-20 사용자들의 문제 풀이 실력 향상을 위한 맞춤형 문제를 제공하는 기법 KR102465634B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020220089583A KR102465634B1 (ko) 2022-07-20 2022-07-20 사용자들의 문제 풀이 실력 향상을 위한 맞춤형 문제를 제공하는 기법
KR1020220146894A KR20240012257A (ko) 2022-07-20 2022-11-07 사용자들의 문제 풀이 실력 향상을 위한 맞춤형 문제를 제공하는 기법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220089583A KR102465634B1 (ko) 2022-07-20 2022-07-20 사용자들의 문제 풀이 실력 향상을 위한 맞춤형 문제를 제공하는 기법

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020220146894A Division KR20240012257A (ko) 2022-07-20 2022-11-07 사용자들의 문제 풀이 실력 향상을 위한 맞춤형 문제를 제공하는 기법

Publications (1)

Publication Number Publication Date
KR102465634B1 true KR102465634B1 (ko) 2022-11-11

Family

ID=84042803

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020220089583A KR102465634B1 (ko) 2022-07-20 2022-07-20 사용자들의 문제 풀이 실력 향상을 위한 맞춤형 문제를 제공하는 기법
KR1020220146894A KR20240012257A (ko) 2022-07-20 2022-11-07 사용자들의 문제 풀이 실력 향상을 위한 맞춤형 문제를 제공하는 기법

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020220146894A KR20240012257A (ko) 2022-07-20 2022-11-07 사용자들의 문제 풀이 실력 향상을 위한 맞춤형 문제를 제공하는 기법

Country Status (1)

Country Link
KR (2) KR102465634B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102659336B1 (ko) * 2023-06-13 2024-04-18 주식회사 튜링 단원 간 연관성을 수치화하는 방법, 프로그램, 및 장치
KR20240076340A (ko) 2022-11-23 2024-05-30 주식회사 람다알고 의미 성분코드를 이용한 수학문제 풀이와 풀이 해설 결합 제공장치 및 방법

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101993299B1 (ko) * 2016-11-30 2019-06-26 한국전자통신연구원 학습자의 다수 개념 진단 시스템 및 그 방법
KR102015075B1 (ko) * 2018-10-16 2019-08-27 (주)뤼이드 학습 효율을 기반으로 개인 맞춤형 교육 컨텐츠를 제공하기 위한 기계학습 방법, 장치 및 컴퓨터 프로그램
KR102245286B1 (ko) 2017-12-01 2021-04-28 한국전자통신연구원 학습 문항 추천 장치 및 그 방법
KR20210125250A (ko) * 2020-04-08 2021-10-18 주식회사 셀바스에이아이 문항 평가 방법 및 이를 이용한 디바이스
KR102405838B1 (ko) * 2021-05-03 2022-06-07 디비디스커버코리아 주식회사 문항 순서 정렬에 의한 개인 맞춤형 콘텐츠를 제공하기 위한 장치 및 이를 위한 방법
KR20220098698A (ko) * 2021-01-04 2022-07-12 (주)뤼이드 잠재인자에 기반한 협업 필터링을 사용하여 사용자의 정답확률을 예측하는 학습 컨텐츠 추천 시스템 및 그것의 동작방법

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101993299B1 (ko) * 2016-11-30 2019-06-26 한국전자통신연구원 학습자의 다수 개념 진단 시스템 및 그 방법
KR102245286B1 (ko) 2017-12-01 2021-04-28 한국전자통신연구원 학습 문항 추천 장치 및 그 방법
KR102015075B1 (ko) * 2018-10-16 2019-08-27 (주)뤼이드 학습 효율을 기반으로 개인 맞춤형 교육 컨텐츠를 제공하기 위한 기계학습 방법, 장치 및 컴퓨터 프로그램
KR20210125250A (ko) * 2020-04-08 2021-10-18 주식회사 셀바스에이아이 문항 평가 방법 및 이를 이용한 디바이스
KR20220098698A (ko) * 2021-01-04 2022-07-12 (주)뤼이드 잠재인자에 기반한 협업 필터링을 사용하여 사용자의 정답확률을 예측하는 학습 컨텐츠 추천 시스템 및 그것의 동작방법
KR102405838B1 (ko) * 2021-05-03 2022-06-07 디비디스커버코리아 주식회사 문항 순서 정렬에 의한 개인 맞춤형 콘텐츠를 제공하기 위한 장치 및 이를 위한 방법

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
전현정. 문항과 검사 수준에서의 차별기능 분석 및 원인 탐색을 위한 통합적 접근. 이화여자대학교 대학원, 2010. *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20240076340A (ko) 2022-11-23 2024-05-30 주식회사 람다알고 의미 성분코드를 이용한 수학문제 풀이와 풀이 해설 결합 제공장치 및 방법
KR102659336B1 (ko) * 2023-06-13 2024-04-18 주식회사 튜링 단원 간 연관성을 수치화하는 방법, 프로그램, 및 장치

Also Published As

Publication number Publication date
KR20240012257A (ko) 2024-01-29

Similar Documents

Publication Publication Date Title
KR102465634B1 (ko) 사용자들의 문제 풀이 실력 향상을 위한 맞춤형 문제를 제공하는 기법
US20200193853A1 (en) Adaptive Presentation of Educational Content via Templates
KR102064871B1 (ko) 인공지능 학습문제 생성 및 풀이 시스템 및 그 방법
US10541884B2 (en) Simulating a user score from input objectives
US10866956B2 (en) Optimizing user time and resources
US20150125845A1 (en) Server and method for providing learner-customized learning service
KR102518474B1 (ko) 사용자의 실력을 업데이트하는 기법
KR20200012433A (ko) 학습자의 예측 점수 분석 정보 제공방법
KR101987888B1 (ko) 영어 단어 암기 장치 및 그 방법
KR101631374B1 (ko) 메타인지 능력 향상을 위한 수학학습 시스템 및 방법
US20190197913A1 (en) Information processing apparatus, information processing method, and non-transitory recording medium recorded with program
KR20240012717A (ko) 복수의 단원과 관련된 문제를 풀이한 사용자의 실력을 업데이트하는 기법
KR20240012715A (ko) 한 개의 단원과 관련된 문제를 풀이한 사용자의 실력을 업데이트하는 기법
KR20240012712A (ko) 문제를 맞힐 확률에 기반하여 사용자의 실력을 업데이트하는 기법
KR102541689B1 (ko) 문제의 정답률을 보정하는 기법
KR20240001954A (ko) 복수의 단원과 관련된 문제를 맞힐 확률을 산출하는 기법
KR20240001951A (ko) 한 개의 단원과 관련된 문제를 맞힐 확률을 산출하는 기법
KR20240012714A (ko) 사용자의 실력을 업데이트하는 기법
KR20240001956A (ko) 하나 이상의 단원과 관련된 문제를 맞힐 확률을 산출하는 기법
KR102163704B1 (ko) 학습자의 지식상태 분석을 통한 최적의 학습 경로 제시 시스템 및 그 방법
KR20240012718A (ko) 사용자의 문제 풀이 실력을 진단하기 위한 문제를 제공하는 기법
KR20240012719A (ko) 사용자의 문제 풀이 실력을 진단하는 기법
KR20240012722A (ko) 사용자의 문제 풀이 실력을 진단하는 기법
KR20240012720A (ko) 사용자의 문제 풀이 실력을 진단하는 기법
KR20240012092A (ko) 사용자의 문제 풀이 실력을 진단하는 기법

Legal Events

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