KR20240012718A - 사용자의 문제 풀이 실력을 진단하기 위한 문제를 제공하는 기법 - Google Patents

사용자의 문제 풀이 실력을 진단하기 위한 문제를 제공하는 기법 Download PDF

Info

Publication number
KR20240012718A
KR20240012718A KR1020220090048A KR20220090048A KR20240012718A KR 20240012718 A KR20240012718 A KR 20240012718A KR 1020220090048 A KR1020220090048 A KR 1020220090048A KR 20220090048 A KR20220090048 A KR 20220090048A KR 20240012718 A KR20240012718 A KR 20240012718A
Authority
KR
South Korea
Prior art keywords
value
skill
user
expected
unit
Prior art date
Application number
KR1020220090048A
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 KR1020220090048A priority Critical patent/KR20240012718A/ko
Publication of KR20240012718A publication Critical patent/KR20240012718A/ko

Links

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
    • G09B7/00Electrically-operated teaching apparatus or devices working with questions and answers
    • G09B7/06Electrically-operated teaching apparatus or devices working with questions and answers of the multiple-choice answer-type, i.e. where a given question is provided with a series of answers and a choice has to be made from the answers
    • G09B7/10Electrically-operated teaching apparatus or devices working with questions and answers of the multiple-choice answer-type, i.e. where a given question is provided with a series of answers and a choice has to be made from the answers wherein a set of answers is common to a plurality of questions
    • G09B7/12Electrically-operated teaching apparatus or devices working with questions and answers of the multiple-choice answer-type, i.e. where a given question is provided with a series of answers and a choice has to be made from the answers wherein a set of answers is common to a plurality of questions characterised by modifying the teaching programme in response to a wrong answer, e.g. repeating the question, supplying further information

Landscapes

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

Abstract

본 개시의 몇몇 실시예에 의한 장치의 프로세서에 의해 사용자의 문제 풀이 실력을 진단하기 위한 문제를 제공하는 방법이 개시된다. 상기 방법은: 복수의 문제 각각을 사용자에게 제공했을 때 예상되는 복수의 문제와 관련된 복수의 기대 값을 산출하는 단계; 및 상기 복수의 기대 값 중 가장 작은 기대 값을 갖는 문제를 사용자에게 제공하는 단계;를 포함하고, 상기 복수의 기대 값 각각은, 수학식 에 의해 산출되고, 상기 는 상기 복수의 문제 중 하나인 제1 문제와 관련된 기대 값이고, 상기 c는 상기 제1 문제를 상기 사용자가 맞힐 확률 값이고, 상기 는 상기 사용자가 상기 제1 문제를 맞힐 경우 상기 제1 문제와 관련된 제1 단원과 관련된 예상되는 제1 실력 범위를 이용하여 산출된 제1 평균 실력 길이 값이고, 상기 는 상기 사용자가 상기 제1 문제를 틀릴 경우 상기 제1 단원과 관련된 예상되는 제2 실력 범위를 이용하여 산출된 제2 평균 실력 길이 값일 수 있다.

Description

사용자의 문제 풀이 실력을 진단하기 위한 문제를 제공하는 기법{A TECHNIQUE TO PROVIDE QUESTIONS FOR DIAGNOSING QUESTION-SOLVING SKILLS OF A USER}
본 개시는 사용자의 문제 풀이 실력을 진단하기 위한 문제를 제공하는 기법에 관한 것으로, 구체적으로 사용자가 복수의 문제 각각을 풀이한 것을 가정하고 산출되는 기대 값에 기초하여 문제 풀이 실력을 진단하기 위한 문제를 제공하는 장치 및 그 방법에 관한 것이다.
최근 인터넷과 전자장치의 활용이 각 분야에서 활발히 이루어지며 교육 환경 역시 빠르게 변화하고 있다. 특히, 다양한 교육 매체의 발달로 학습자는 보다 폭넓은 학습 방법을 선택하고 이용할 수 있게 되었다. 그 중에서도 인터넷을 통한 교육 서비스는 시간적, 공간적 제약을 극복하고 저비용의 교육이 가능하다는 이점 때문에 주요한 학습 수단으로 자리매김하게 되었다.
이러한 경향에 부응하여 이제는 제한된 인적, 물적 자원으로 오프라인 교육에서는 불가능했던 맞춤형 교육 서비스도 제공이 가능 해졌다. 예를 들어, 학습자의 실력을 사전에 분석하여 학습자의 실력에 맞는 교육 컨텐츠를 제공함으로써, 과거의 획일적 교육 방법에서 탈피하여 학습자의 개인 역량에 따른 교육 콘텐츠를 제공하고 있다.
학생이 수학 과목에 포함된 N개의 단원에 대해서 6개의 등급으로 이산적 실력을 가지고 있다고 가정해보면, 단원 한 개 당 6등급 중 하나의 등급을 고르기 위한 경우의 수는 가지이다. 즉, 학생의 단원 별 실력은 절대적으로 존재하는 값이고 이를 진단한다는 것은 가지의 경우의 수 중에서 한가지 경우의 수를 찾는 문제가 된다.
만약, 단원 사이의 관계를 고려하지 않고 단원 별 실력을 찾는다고 가정하고 실력 진단을 진행하는 경우, 한 단원의 실력을 1등급 내지 6등급 중에서 찾는데 있어서 먼저 3등급 문제를 추천해주고 이를 맞히면 3등급의 실력을 가졌다고 실력을 업데이트할 수 있다. 그리고, 5등급 문제를 추천해주고 이를 맞히면 4등급 실력을 가졌다고 유추할 수 있다. 이런 식으로 한 단원에 대해 두 문제로 하나의 등급을 결정할 수 있다고 했을 때 100개의 단원이 있으면 전체 단원에 대한 학생의 실력을 진단하는데 200문제를 풀어야한다. 이 경우, 사용자의 실력을 진단하는데 너무 많은 시간이 소요된다는 문제가 발생하게 된다.
따라서, 상술한 문제점들을 극복하고, 빠르게 학생의 문제 풀이 실력을 진단할 수 있는 기술을 개발할 필요성이 절실한 실정이다.
대한민국 특허등록번호 10-2406458 (2022.06.02 등록)
본 개시는 전술한 문제 및 다른 문제를 해결하는 것을 목적으로 한다. 본 개시의 몇몇 실시예가 이루고자 하는 기술적 과제는, 사용자의 문제 풀이 실력을 빠르게 진단하는 것을 그 목적으로 한다.
본 개시에서 이루고자 하는 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급하지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 개시의 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
본 개시의 몇몇 실시예에 의한 장치의 프로세서에 의해 사용자의 문제 풀이 실력을 진단하기 위한 문제를 제공하는 방법은: 복수의 문제 각각을 사용자에게 제공했을 때 예상되는 복수의 문제와 관련된 복수의 기대 값을 산출하는 단계; 및 상기 복수의 기대 값 중 가장 작은 기대 값을 갖는 문제를 사용자에게 제공하는 단계;를 포함하고, 상기 복수의 기대 값 각각은, 수학식 에 의해 산출되고, 상기 는 상기 복수의 문제 중 하나인 제1 문제와 관련된 기대 값이고, 상기 c는 상기 제1 문제를 상기 사용자가 맞힐 확률 값이고, 상기 는 상기 사용자가 상기 제1 문제를 맞힐 경우 상기 제1 문제와 관련된 제1 단원과 관련된 예상되는 제1 실력 범위를 이용하여 산출된 제1 평균 실력 길이 값이고, 상기 는 상기 사용자가 상기 제1 문제를 틀릴 경우 상기 제1 단원과 관련된 예상되는 제2 실력 범위를 이용하여 산출된 제2 평균 실력 길이 값일 수 있다.
본 개시의 몇몇 실시예에 따르면, 업데이트되기 전의 상기 제1 단원의 제3 실력 범위는, 제1 최소 실력 값보다 크거나 같고 제1 최대 실력 값보다 작거나 같은 범위를 갖고, 상기 제1 실력 범위는, 제2 최소 실력 값보다 크거나 같고 제1 최대 실력 값보다 작거나 같은 범위를 갖되, 상기 제2 최소 실력 값은 상기 제1 최소 실력 값이 상기 제1 문제에 할당된 난이도 값보다 큰 경우 상기 제1 최소 실력 값과 동일한 값을 갖고, 상기 제1 최소 실력 값이 상기 난이도 값보다 작은 경우 상기 난이도 값과 동일한 값을 갖고, 상기 제2 실력 범위는, 상기 제1 최소 실력 값보다 크거나 같고 제2 최대 실력 값보다 작거나 같은 범위를 갖되, 상기 제2 최대 실력 값은 상기 제1 최대 실력 값이 상기 제1 문제에 할당된 난이도 값보다 작은 경우 상기 제1 최대 실력 값과 동일한 값을 갖고, 상기 제1 최대 실력 값이 상기 난이도 값보다 큰 경우 상기 난이도 값과 동일한 값을 가질 수 있다.
본 개시의 몇몇 실시예에 따르면, 상기 제1 평균 실력 길이 값은, 상기 제1 실력 범위를 이용하여 산출된 제1 실력 길이 값 및 복수의 단원 중 상기 제1 단원을 제외한 적어도 하나의 나머지 단원에 대한 적어도 하나의 실력 범위를 이용하여 산출된 적어도 하나의 실력 길이 값의 평균을 구해서 산출된 값이고, 상기 제2 평균 실력 길이 값은, 상기 제2 실력 범위를 이용하여 산출된 제2 실력 길이 값 및 상기 적어도 하나의 실력 길이 값의 평균을 구해서 산출된 값일 수 있다.
본 개시의 몇몇 실시예에 따르면, 상기 제1 실력 길이 값은, 상기 제1 최대 실력 값에서 상기 제2 최소 실력 값을 뺀 값이고, 상기 제2 실력 길이 값은, 상기 제2 최대 실력 값에서 상기 제1 최소 실력 값을 뺀 값일 수 있다.
본 개시의 몇몇 실시예에 따르면, 상기 복수의 기대 값 중 가장 작은 기대 값을 갖는 문제를 사용자에게 제공하는 단계는: 상기 가장 작은 기대 값을 갖는 문제가 복수 개인 경우 가장 작은 기대 값을 갖는 문제들 중 랜덤하게 하나의 문제를 선택하여 상기 사용자에게 제공하는 단계;를 포함할 수 있다.
본 개시의 몇몇 실시예에 따르면, 상기 방법은: 상기 사용자가 문제 풀이 실력을 최초로 진단하는 경우, 상기 복수의 기대 값을 산출하기 전에 복수의 단원 각각이 기 설정된 최소 실력 값보다 크거나 같고 기 설정된 최대 실력 값보다 작거나 같은 초기 실력 범위를 갖도록 복수의 단원 각각의 실력 범위를 초기화할 수 있다.
본 개시의 몇몇 실시예에 따르면, 상기 확률 값은, 상기 확률 값을 산출하는 방법들 중 상기 제1 문제와 관련된 제1 단원의 개수에 기초하여 선택된 하나의 방법에 의해 결정되고, 상기 방법들은: 상기 제1 문제와 관련된 상기 제1 단원이 한 개인 경우 선택되는 제1 방법; 및 상기 제1 문제와 관련된 상기 제1 단원이 복수 개인 경우 선택되는 상기 제1 방법과 상이한 제2 방법;을 포함할 수 있다.
본 개시의 몇몇 실시예에 따르면, 상기 제1 방법은, 상기 제1 최소 실력 값 및 상기 제1 최대 실력 값을 이용하여 상기 단원에 대한 제1 평균 실력 값을 산출하는 단계; 및 상기 난이도 값 및 상기 제1 평균 실력 값을 이용하여 상기 확률 값을 산출하는 단계; 를 포함할 수 있고, 상기 확률 값은, 수학식 에 의해 산출되고, 상기 는 상기 확률 값이고, 상기 는 상기 문제의 난이도 오차를 최소화하도록 보정하는 기 설정된 제1 파라미터 값이고, 상기 는 상기 문제를 상기 사용자가 찍어서 맞힐 확률을 보정하도록 문제 타입에 따라 값이 변화하는 제2 파라미터 값이고, 상기 는 상기 난이도 값이고, 상기 은 상기 제1 평균 실력 값이고, 상기 는 기 설정된 상수 값일 수 있다.
본 개시의 몇몇 실시예에 따르면, 상기 제2 방법은: 상기 제1 문제와 관련된 복수의 제1 단원의 업데이트되기 전의 실력 범위에 포함된 최소 실력 값 및 최대 실력 값을 이용하여 상기 복수의 단원에 대한 복수의 제2 평균 실력 값을 산출하는 단계; 및 상기 난이도 값 및 상기 복수의 제2 평균 실력 값을 이용하여 복수의 확률 값을 산출하는 단계; 및 상기 복수의 확률 값 중 하나를 상기 확률 값으로 결정하는 단계;를 포함하고, 상기 복수의 확률 값 각각은, 수학식 에 의해 산출되고, 상기 는 상기 문제의 난이도 오차를 최소화하도록 보정하는 기 설정된 제1 파라미터 값이고, 상기 는 상기 문제를 상기 사용자가 찍어서 맞힐 확률을 보정하도록 문제 타입에 따라 값이 변화하는 제2 파라미터 값이고, 상기 는 상기 난이도 값이고, 상기 은 상기 복수의 제1 단원 중 하나의 단원에 대한 제2 평균 실력 값으로 상기 복수의 제2 평균 실력 값 중 하나이고, 상기 는 상기 를 상기 수학식에 대입하여 산출된 확률 값이고, 상기 는 기 설정된 상수 값일 수 있다.
본 개시의 몇몇 실시예에 따르면, 상기 문제 타입은, 객관식 문제를 나타내는 제1 타입 및 주관식 문제를 나타내는 제2 타입을 포함할 수 있다.
본 개시의 몇몇 실시예에 따르면, 상기 제2 파라미터 값은, 상기 문제가 상기 제1 타입인 경우, 0보다 큰 값을 갖고, 상기 문제가 상기 제2 타입인 경우, 0일 수 있다.
본 개시의 몇몇 실시예에 따르면, 상기 난이도 값은, 상기 문제가 기 설정된 기관에서 출제한 문제인 경우, 기 설정된 서버로부터 제공된 데이터 셋을 분석하여 산출된 값이고, 상기 문제가 자체 제작 문제인 경우, 기 설정된 수의 난이도 설정자로부터 입력 받은 난이도 값의 평균을 계산하여 산출된 값일 수 있다.
본 개시의 몇몇 실시예에 따르면, 상기 복수의 확률 값 중 하나를 상기 문제를 맞힐 확률 값으로 결정하는 단계는, 상기 복수의 확률 값 중 가장 작은 값을 갖는 확률 값을 상기 문제를 맞힐 상기 확률 값으로 결정하는 단계;를 포함할 수 있다.
본 개시의 몇몇 실시예에 의한 컴퓨터 판독가능 저장 매체 저장된 컴퓨터 프로그램은 장치의 프로세서에서 실행되는 경우, 사용자의 문제 풀이 실력을 진단하기 위한 문제를 제공하는 단계들을 수행하며, 상기 단계들은: 복수의 문제 각각을 사용자에게 제공했을 때 예상되는 복수의 문제와 관련된 복수의 기대 값을 산출하는 단계; 및 상기 복수의 기대 값 중 가장 작은 기대 값을 갖는 문제를 사용자에게 제공하는 단계; 를 포함하고, 상기 복수의 기대 값 각각은, 수학식 에 의해 산출되고, 상기 는 상기 복수의 문제 중 하나인 제1 문제와 관련된 기대 값이고, 상기 c는 상기 제1 문제를 상기 사용자가 맞힐 확률 값이고, 상기 는 상기 사용자가 상기 제1 문제를 맞힐 경우 상기 제1 문제와 관련된 제1 단원과 관련된 예상되는 제1 실력 범위를 이용하여 산출된 제1 평균 실력 길이 값이고, 상기 는 상기 사용자가 상기 제1 문제를 틀릴 경우 상기 제1 단원과 관련된 예상되는 제2 실력 범위를 이용하여 산출된 제2 평균 실력 길이 값일 수 있다.
본 개시의 몇몇 실시예에 의한 사용자의 문제 풀이 실력을 진단하기 위한 문제를 제공하는 장치는: 적어도 하나의 프로그램 명령이 저장된 저장부; 및 상기 적어도 하나의 프로그램 명령을 수행하는 프로세서; 를 포함하고, 상기 프로세서는, 복수의 문제 각각을 사용자에게 제공했을 때 예상되는 복수의 문제와 관련된 복수의 기대 값을 산출하고, 상기 복수의 기대 값 중 가장 작은 기대 값을 갖는 문제를 사용자에게 제공하는, 상기 복수의 기대 값 각각은, 수학식 에 의해 산출되고, 상기 는 상기 복수의 문제 중 하나인 제1 문제와 관련된 기대 값이고, 상기 c는 상기 제1 문제를 상기 사용자가 맞힐 확률 값이고, 상기 는 상기 사용자가 상기 제1 문제를 맞힐 경우 상기 제1 문제와 관련된 제1 단원과 관련된 예상되는 제1 실력 범위를 이용하여 산출된 제1 평균 실력 길이 값이고, 상기 는 상기 사용자가 상기 제1 문제를 틀릴 경우 상기 제1 단원과 관련된 예상되는 제2 실력 범위를 이용하여 산출된 제2 평균 실력 길이 값일 수 있다.
본 개시에서 얻을 수 있는 기술적 해결 수단은 이상에서 언급한 해결 수단들로 제한되지 않으며, 언급하지 않은 또 다른 해결 수단들은 아래의 기재로부터 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
본 개시에 따른 사용자의 문제 풀이 실력을 진단하기 위한 문제를 제공하는 방법의 효과에 대해 설명하면 다음과 같다.
본 개시의 몇몇 실시예에 의하면, 사용자의 문제 풀이 실력을 빠르고 정확하게 진단할 수 있다.
본 개시를 통해 얻을 수 있는 효과는 이상에서 언급한 효과로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
본 개시의 다양한 실시예들이 도면들을 참조로 설명되며, 여기서 유사한 참조 번호들은 총괄적으로 유사한 구성요소들을 지칭하는데 이용된다. 이하의 실시예에서, 설명 목적을 위해, 다수의 특정 세부사항들이 하나 이상의 실시예들의 총체적 이해를 제공하기 위해 제시된다. 그러나, 그러한 실시예(들)가 이러한 구체적인 세부사항들 없이 실시될 수 있음은 명백할 것이다.
도 1은 본 개시의 몇몇 실시예에 따른 사용자의 문제 풀이 실력을 진단하는 장치를 설명하기 위한 블록도이다.
도 2는 본 개시의 몇몇 실시예에 따라 사용자의 문제 풀이 실력을 진단하기 위한 문제를 제공하는 방법의 일례를 설명하기 위한 흐름도이다.
도 3은 본 개시의 몇몇 실시예에 따라 사용자의 문제 풀이 실력을 진단하기 위한 문제를 제공하는 방법의 일례를 설명하기 위한 도면이다.
도 4 및 도 5은 본 개시의 몇몇 실시예에 따라 하나 이상의 단원과 관련된 문제를 맞힐 확률 값을 산출하는 방법의 일례를 설명하기 위한 흐름도이다.
도 6는 본 개시의 몇몇 실시예에 따라 문제를 맞힐 확률 값을 산출할 때 사용되는 수학식의 일례를 설명하기 위한 도면이다.
도 7는 본 개시의 몇몇 실시예에 따라 문제가 기 설정된 기관에서 출제한 문제인 경우 난이도 값을 산출하는 수학식의 일례를 설명하기 위한 도면이다.
이하에서는 도면을 참조하여 본 개시에 따른 장치 및 장치의 제어 방법의 다양한 실시예(들)를 상세하게 설명하되, 도면 부호에 관계없이 동일하거나 유사한 구성요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.
본 개시의 목적 및 효과, 그리고 그것들을 달성하기 위한 기술적 구성들은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 본 개시의 하나 이상의 실시예들을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 개시의 적어도 하나의 실시예의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
본 개시의 용어들은 본 개시에서의 기능을 고려하여 정의된 용어들로써 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 또한, 첨부된 도면은 본 개시의 하나 이상의 실시예를 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 개시의 기술적 사상이 제한되지 않으며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
이하의 설명에서 사용되는 구성요소에 대한 접미사 "모듈" 및 "부"는 본 개시의 작성의 용이함만이 고려되어 부여되거나 혼용되는 것으로서, 그 자체로 서로 구별되는 의미 또는 역할을 갖는 것은 아니다.
제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되지는 않는다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 따라서, 이하에서 언급되는 제1 구성요소는 본 개시의 기술적 사상 내에서 제2 구성 요소가 될 수도 있다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 즉, 달리 특정되지 않거나 단수 형태를 지시하는 것으로 문맥상 명확하지 않은 경우, 본 개시와 청구범위에서 단수는 일반적으로 "하나 또는 그 이상"을 의미하는 것으로 해석되어야 한다.
본 개시에서, "포함하는", "포함한다" 또는 "가지다" 등의 용어는 본 개시상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
본 개시에서 "또는"이라는 용어는 배타적 의미의 "또는"이 아니라 내포적 의미의 "또는"으로 이해되어야 한다. 즉, 달리 특정되지 않거나 문맥상 명확하지 않은 경우에, "X는 A 또는 B를 이용한다"는 자연적인 내포적 치환 중 하나를 의미하는 것으로 의도된다. 즉, X가 A를 이용하거나; X가 B를 이용하거나; 또는 X가 A 및 B 모두를 이용하는 경우, "X는 A 또는 B를 이용한다"가 이들 경우들 어느 것으로도 적용될 수 있다. 또한, 본 개시에 사용된 "및/또는"이라는 용어는 열거된 관련 아이템들 중 하나 이상의 아이템의 가능한 모든 조합을 지칭하고 포함하는 것으로 이해되어야 한다.
본 개시에서 사용되는 용어 "정보" 및 "데이터"는 서로 상호 교환 가능하도록 사용될 수 있다.
다른 정의가 없다면, 본 개시에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 개시의 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 특별히 정의되어 있지 않는 한 과도하게 해석되지 않는다.
그러나 본 개시는 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있다. 단지 본 개시의 몇몇 실시예들은 본 개시의 기술분야에서 통상의 지식을 가진 자에게 본 개시의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 개시는 청구항의 범주에 의해 정의될 뿐이다. 그러므로 그 정의는 본 개시 전반에 걸친 내용을 토대로 내려져야 할 것이다.
일반적으로 사용자의 실력을 진단하기 위한 문제는 하나의 단원과 관련된 문제일 수도 있고, 복수 개의 단원과 관련된 문제일 수도 있다.
본 개시의 몇몇 실시예에 따르면, 장치의 프로세서는 복수의 문제 각각을 사용자에게 제공했을 때 예상되는 복수의 문제와 관련된 복수의 기대 값을 산출할 수 있다. 그리고, 프로세서는 복수의 기대 값 중 하나를 선택하여 해당 기대 값을 갖는 문제를 사용자에게 제공할 수 있다.
이하에서는 도 1 내지 도 7을 참조하여 사용자의 문제 풀이 실력을 진단하기 위한 문제를 사용자에게 제공하는 방법에 대해 설명한다.
도 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)는 저장부(120)에 저장된 복수의 문제 중 하나를 선택하여 사용자의 문제 풀이 실력을 진단하기 위한 문제로 사용자에게 제공할 수 있다.
구체적으로, 프로세서(110)는 복수의 문제 각각을 사용자에게 제공했을 때 예상되는 복수의 문제와 관련된 복수의 기대 값을 산출할 수 있다. 그리고, 프로세서(110)는 복수의 기대 값 중 가장 작은 기대 값을 갖는 문제를 사용자에게 제공할 수 있다. 여기서, 가장 작은 기대 값을 갖는 문제가 복수 개인 경우, 프로세서(110)는 복수 개의 문제 중 랜덤하게 하나의 문제를 선택하여 사용자에게 제공할 수 있다.
본 개시의 몇몇 실시예에 따르면, 사용자가 문제 풀이 실력을 최초로 진단하는 경우, 프로세서(110)는 복수의 단원 각각이 기 설정된 최소 실력 값보다 크거나 같고 기 설정된 최대 실력 값보다 작거나 같은 초기 실력 범위를 갖도록 복수의 단원 각각의 실력 범위를 초기화할 수 있다.
본 개시에서 복수의 기대 값 각각은, 수학식 에 의해 산출되고, 는 복수의 문제 중 하나인 제1 문제와 관련된 기대 값이고, c는 제1 문제를 상기 사용자가 맞힐 확률 값이고, 는 사용자가 상기 제1 문제를 맞힐 경우 제1 문제와 관련된 제1 단원과 관련된 예상되는 제1 실력 범위를 이용하여 산출된 제1 평균 실력 길이 값이고, 는 사용자가 상기 제1 문제를 틀릴 경우 상기 제1 단원과 관련된 예상되는 제2 실력 범위를 이용하여 산출된 제2 평균 실력 길이 값일 수 있다.
본 개시에서 업데이트되기 전의 상기 제1 단원의 제3 실력 범위는, 제1 최소 실력 값보다 크거나 같고 제1 최대 실력 값보다 작거나 같은 범위를 가질 수 있다.
본 개시에서 제1 실력 범위는, 제2 최소 실력 값보다 크거나 같고 제1 최대 실력 값보다 작거나 같은 범위를 갖되, 제2 최소 실력 값은 제1 최소 실력 값이 제1 문제에 할당된 난이도 값보다 큰 경우 제1 최소 실력 값과 동일한 값을 갖고, 제1 최소 실력 값이 상기 난이도 값보다 작은 경우 난이도 값과 동일한 값을 가질 수 있다. 그리고, 제2 실력 범위는, 제1 최소 실력 값보다 크거나 같고 제2 최대 실력 값보다 작거나 같은 범위를 갖되, 제2 최대 실력 값은 제1 최대 실력 값이 제1 문제에 할당된 난이도 값보다 작은 경우 제1 최대 실력 값과 동일한 값을 갖고, 제1 최대 실력 값이 난이도 값보다 큰 경우 난이도 값과 동일한 값을 가질 수 있다.
본 개시에서 제1 평균 실력 길이 값은, 제1 실력 범위를 이용하여 산출된 제1 실력 길이 값 및 복수의 단원 중 상기 제1 단원을 제외한 적어도 하나의 나머지 단원에 대한 적어도 하나의 실력 범위를 이용하여 산출된 적어도 하나의 실력 길이 값의 평균을 구해서 산출된 값이고, 제2 평균 실력 길이 값은, 제2 실력 범위를 이용하여 산출된 제2 실력 길이 값 및 복수의 단원 중 상기 제1 단원을 제외한 적어도 하나의 나머지 단원에 대한 적어도 하나의 실력 길이 값의 평균을 구해서 산출된 값일 수 있다. 여기서, 제1 실력 길이 값은, 제1 최대 실력 값에서 제2 최소 실력 값을 뺀 값이고, 제2 실력 길이 값은, 제2 최대 실력 값에서 제1 최소 실력 값을 뺀 값일 수 있다.
본 개시에서 문제는 초등학교, 중학교 및 고등학교 등의 교과목 중 하나와 관련된 문제일 수 있다. 예를 들어, 문제는 초등 수학 문제, 중등 수학 문제, 고등 수학 문제, 초등 국어 문제, 중등 국어 문제 등을 포함할 수 있다. 다만, 본 개시는 이에 한정되는 것은 아니다.
본 개시에서 단원은 하나의 주제나 내용을 중심으로 묶인 학습 단위를 의미할 수 있다. 예를 들어, 문제가 고등 수학 문제인 경우, 단원은 다항식의 덧셈, 뺄셈, 곱셈, 나눗셈을 배우는 제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)에 저장된 복수의 사용자 각각의 실력 데이터에서 실력 확인이 필요한 사용자의 실력 데이터를 이용하여, 전체 단원에 대한 실력 범위를 확인할 수 있다. 다만, 본 개시는 이에 한정되는 것은 아니다.
본 개시에서 저장부(120)는, 사용자가 문제를 맞힐 확률 값을 산출할 때 사용되는 문제의 난이도 오차를 최소화하도록 보정하는 기 설정된 제1 파라미터 값, 문제를 사용자가 찍어서 맞힐 확률을 보정하도록 문제 타입에 따라 값이 변화하는 제2 파라미터 값 및 문제를 맞힐 확률 값을 산출하는 수학식에 사용되는 기 설정된 상수 값을 저장하고 있을 수 있다. 다만, 본 개시는 이에 한정되는 것은 아니다.
본 개시에서 제1 파라미터 값은 일 수 있다. 이는 도 6을 참조하여 좀더 자세히 후술한다.
본 개시에서 문제 타입은 객관식 문제를 나타내는 제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)일 수 있다. 다만, 본 개시는 이에 한정되는 것은 아니다.
한편, 본 개시의 몇몇 실시예에 따르면 프로세서(110)는 복수의 문제와 관련된 복수의 기대 값을 산출한 후 복수의 기대 값을 이용하여 사용자의 문제 풀이 실력을 진단하기 위한 문제를 결정할 수 있다. 그리고, 프로세서(110)는 해당 문제를 사용자에게 제공할 수 있다. 이는 도 2 및 도 3을 참조하여 좀더 자세히 설명한다.
도 2는 본 개시의 몇몇 실시예에 따라 사용자의 문제 풀이 실력을 진단하기 위한 문제를 제공하는 방법의 일례를 설명하기 위한 흐름도이다. 도 3은 본 개시의 몇몇 실시예에 따라 사용자의 문제 풀이 실력을 진단하기 위한 문제를 제공하는 방법의 일례를 설명하기 위한 도면이다. 도 2 및 도 3과 관련하여 도 1에서 상술한 바와 중복되는 내용은 다시 설명하지 않고 이하 차이점을 중심으로 설명한다.
도 2를 참조하면, 프로세서(110)는 복수의 문제 각각을 사용자에게 제공했을 때 예상되는 복수의 문제와 관련된 복수의 기대 값을 산출할 수 있다(S10).
본 개시에서 복수의 기대 값 각각은 하기 수학식 1에 의해 산출될 수 있다.
수학식 1에서 는 복수의 문제 중 하나인 제1 문제와 관련된 기대 값일 수 있다.
본 개시에서 프로세서(110)는 복수의 문제 전부에 대한 기대 값을 순차적 또는 병렬적으로 산출할 수 있다. 여기서, 제1 문제는 저장부(120)에 저장된 복수의 문제 중 현재 기대 값을 산출하는 문제일 수 있다.
수학식 1에서 c는 제1 문제를 사용자가 맞힐 확률 값일 수 있다. 제1 문제를 사용자가 맞힐 확률 값을 산출하는 방법은 문제와 관련된 단원의 개수에 기초하여 결정될 수 있다. 사용자에게 제공되는 문제를 사용자가 맞힐 확률 값은 도 5 내지 도 7을 참조하여 자세히 후술한다.
수학식 1에서 는 제1 문제를 맞힐 경우 제1 문제와 관련된 제1 단원과 관련된 예상되는 실력 범위를 이용하여 산출된 평균 실력 길이 값일 수 있고, 는 제1 문제를 틀릴 경우 제1 문제와 관련된 제1 단원과 관련된 예상되는 업데이트되는 실력 범위를 이용하여 산출된 평균 실력 길이 값일 수 있다.
본 개시에서 실력 범위는 사용자의 제1 문제와 관련된 제1 단원에 대한 실력을 나타내는 범위로, 최소 실력 값보다 크거나 같고 최대 실력 값보다 작거나 같은 범위를 의미할 수 있다. 다만 이에 한정되는 것은 아니다.
한편, 본 개시의 몇몇 실시예에 따르면 사용자가 문제 풀이 실력을 최초로 진단하는 경우, 프로세서(110)는 복수의 기대 값을 산출하기 전에 사용자의 복수의 단원에 대한 실력 범위가 전부 동일한 초기 실력 범위를 가지도록 초기화할 수 있다.
예를 들어, 도 3의 (a)를 참조하면, 프로세서(110)는 복수의 단원(310, 320, 330) 각각이 기 설정된 최소 실력 값(예를 들어, 100)보다 크거나 같고 기 설정된 최대 실력 값(예를 들어, 600)보다 작거나 같은 초기 실력 범위를 갖도록 복수의 단원 각각의 실력 범위(410, 420, 430)를 초기화할 수 있다.
본 개시에서 기대 값을 산출하기 위해 선택된 제1 문제와 관련된 제1 단원의 제3 실력 범위는 제1 최소 실력 값보다 크거나 같고 제1 최대 실력 값보다 작거나 같은 범위를 가질 수 있다. 여기서, 제3 실력 범위는 기대 값을 산출하는 시점에 제1 단원의 실력 범위를 의미할 수 있다.
본 개시의 몇몇 실시예에 따르면, 사용자가 제1 문제를 맞힌다고 가정하고 제1 문제에 할당된 난이도 값과 제1 문제와 관련된 제1 단원의 업데이트되기 전의 제3 실력 범위를 구성하는 제1 최소 실력 값 중 어느 값의 크기가 더 큰지에 따라 제1 문제와 관련된 제1 단원의 제1 실력 범위(문제를 맞힌다고 가정했을 때 예상되는 실력 범위)를 구성하는 제2 최소 실력 값이 난이도 값을 가질지 여부가 결정될 수 있다.
일례로, 사용자가 제1 문제를 맞힌다고 가정했을 때 제1 문제에 할당된 난이도 값이 제1 문제와 관련된 제1 단원의 업데이트되기 전의 제3 실력 범위(기대 값 산출 시점의 제1 단원의 실력 범위)를 구성하는 제1 최소 실력 값보다 큰 경우, 제1 단원의 제1 실력 범위(문제를 맞힌다고 가정했을 때 예상되는 실력 범위)를 구성하는 제2 최소 실력 값은 제1 문제의 난이도 값을 가질 수 있다. 이 경우, 제1 실력 범위는 제1 문제의 난이도 값보다 크거나 같고 제3 실력 범위를 구성하는 제1 최대 실력 값보다 작거나 같은 범위를 가질 수 있다.
도 3의 (a)를 참조하면, 사용자의 제1 문제와 관련된 제1 단원이 단원 1(320)인 경우, 제1 문제와 관련된 제1 단원의 업데이트되기 전의 제3 실력 범위(420)는 100보다 크거나 같고 600보다 작거나 같은 범위를 가질 수 있다. 도 3의 (b)를 참조하면, 사용자가 제1 문제를 맞힌다고 가정했을 때 난이도 값이 400인 경우, 단원 1(320)의 제3 실력 범위(도 3의 (a)의 420)를 구성하는 최소 실력 값인 100이 난이도 값인 400보다 작기 때문에 제1 실력 범위(사용자가 문제를 맞혔다고 가정했을 때 예상되는 단원 1(320)의 실력 범위(421))의 최소 실력 값은 400을 가질 수 있다. 이 경우, 단원 1(320)에 대한 제1 실력 범위(421)는 400 이상 600 이하의 범위를 가질 수 있다.
다른 일례로, 사용자가 제1 문제를 맞힌다고 가정했을 때 제1 문제에 할당된 난이도 값이 제1 문제와 관련된 제1 단원의 업데이트되기 전의 제3 실력 범위(기대 값 산출 시점의 제1 단원의 실력 범위)를 구성하는 제1 최소 실력 값보다 작거나 같은 경우, 제1 단원의 제1 실력 범위(문제를 맞힌다고 가정했을 때 예상되는 실력 범위)를 구성하는 제2 최소 실력 값은 제3 실력 범위를 구성하는 제1 최소 실력 값을 가질 수 있다. 이 경우, 제1 실력 범위는 제1 최소 실력 값보다 크거나 같고 제1 최대 실력 값보다 작거나 같은 범위를 가질 수 있다.
도 3의 (a)를 참조하면, 사용자의 제1 문제와 관련된 제1 단원이 단원 1(320)인 경우, 제1 문제와 관련된 제1 단원의 업데이트되기 전의 제3 실력 범위(420)는 100보다 크거나 같고 600보다 작거나 같은 범위를 가질 수 있다. 사용자가 제1 문제를 맞힌다고 가정했을 때 제1 문제에 할당된 난이도 값이 50인 경우, 제1 문제와 관련된 제1 단원인 단원 1(320)의 제3 실력 범위를 구성하는 최소 실력 값인 100이 난이도 값인 50보다 크기 때문에 제1 실력 범위(사용자가 문제를 맞혔다고 가정했을 때 예상되는 단원 1(320)의 실력 범위)의 최소 실력 값은 100을 가질 수 있다. 이 경우, 단원 1(320)에 대한 제1 실력 범위(421)는 100 이상 600 이하의 범위를 가질 수 있다.
본 개시의 몇몇 실시예에 따르면, 사용자가 제1 문제를 틀린다고 가정하고 제1 문제에 할당된 난이도 값과 제1 단원의 업데이트되기 전의 제3 실력 범위를 구성하는 제1 최대 실력 값 중 어느 값의 크기가 더 큰지에 따라 제1 단원의 제2 실력 범위(문제를 틀린다고 가정했을 때 예상되는 실력 범위)를 구성하는 제2 최대 실력 값이 난이도 값을 가질지 여부가 결정될 수 있다.
일례로, 사용자가 제1 문제를 틀린다고 가정했을 때 제1 문제에 할당된 난이도 값이 제1 문제와 관련된 제1 단원의 업데이트되기 전의 제3 실력 범위(기대 값 산출 시점의 제1 단원의 실력 범위)를 구성하는 제1 최대 실력 값보다 작거나 같은 경우, 제1 단원의 제2 실력 범위(문제를 틀린다고 가정했을 때 예상되는 실력 범위)를 구성하는 제2 최대 실력 값은 제1 문제의 난이도 값을 가질 수 있다. 이 경우, 제2 실력 범위는 제1 최소 실력 값보다 크거나 같고 제1 문제의 난이도 값보다 작거나 같은 범위를 가질 수 있다.
도 3의 (a)를 참조하면, 사용자의 제1 문제와 관련된 제1 단원이 단원 1(320)인 경우, 제1 문제와 관련된 제1 단원의 업데이트되기 전의 제3 실력 범위(420)는 100보다 크거나 같고 600보다 작거나 같은 범위를 가질 수 있다. 도 3의 (c)를 참조하면, 사용자가 제1 문제를 틀린다고 가정했을 때 난이도 값이 400인 경우, 단원 1(320)의 제3 실력 범위(도 3의 (a)의 420)를 구성하는 최대 실력 값인 600이 난이도 값인 400보다 크기 때문에 제2 실력 범위(사용자가 문제를 틀린다고 가정했을 때 예상되는 단원 1(320)의 실력 범위(422))의 최대 실력 값은 400을 가질 수 있다. 이 경우, 단원 1(320)에 대한 제2 실력 범위(422)는 100 이상 400 이하의 범위를 가질 수 있다.
다른 일례로, 사용자가 제1 문제를 틀린다고 가정했을 때 제1 문제에 할당된 난이도 값이 제1 문제와 관련된 제1 단원의 업데이트되기 전의 제3 실력 범위(기대 값 산출 시점의 제1 단원의 실력 범위)를 구성하는 제1 최대 실력 값보다 큰 경우, 제1 단원의 제2 실력 범위를 구성하는 제2 최대 실력 값은 제3 실력 범위를 구성하는 제1 최대 실력 값을 가질 수 있다. 이 경우, 제2 실력 범위는 제1 최소 실력 값보다 크거나 같고 제1 최대 실력 값보다 작거나 같은 범위를 가질 수 있다.
도 3의 (a)를 참조하면, 사용자의 제1 문제와 관련된 제1 단원이 단원 1(320)인 경우, 제1 문제와 관련된 제1 단원의 업데이트되기 전의 제3 실력 범위(420)는 100보다 크거나 같고 600보다 작거나 같은 범위를 가질 수 있다. 사용자가 제1 문제를 틀린다고 가정했을 때 제1 문제에 할당된 난이도 값이 700인 경우, 제1 문제와 관련된 제1 단원인 단원 1(320)의 제3 실력 범위를 구성하는 최대 실력 값인 600이 난이도 값인 700보다 작기 때문에 제2 실력 범위(사용자가 문제를 틀린다고 가정했을 때 예상되는 단원 1(320)의 실력 범위)의 최대 실력 값은 600을 가질 수 있다. 이 경우, 단원 1(320)에 대한 제2 실력 범위(421)는 100 이상 600 이하의 범위를 가질 수 있다.
본 개시에서 평균 실력 길이 값은 전체 단원의 실력 길이 값의 평균으로 정의될 수 있다. 그리고, 실력 길이 값은 해당 단원의 실력 범위를 구성하는 최대 실력 값에서 최소 실력 값을 뺀 값으로 정의될 수 있다.
예를 들어, 도 3의 (a)와 같이 복수의 단원(310, 320, 330) 각각의 실력 범위(410, 420, 430)가 100 이상 600이하의 범위를 갖는 경우, 복수의 단원(310, 320, 330) 각각의 실력 길이 값은 500이 될 수 있고, 복수의 단원 각각의 실력 길이 값의 평균 값도 500이 될 수 있다.
다른 예를 들어, 도 3의 (b)와 같이 3개의 단원(310, 320, 330) 중 하나의 단원(320)의 제1 실력 범위(421)는 400 이상 600이하의 범위를 갖고, 3개의 단원(310, 320, 330) 중 나머지 2개의 단원(310, 330) 각각의 제2 실력 범위(411, 431)는 100 이상 600이하의 범위를 갖는다고 가정해보자. 이 경우, 제1 실력 범위(421)에 기초하여 산출되는 실력 길이 값은 300이고, 제2 실력 범위(411, 431)에 기초하여 산출되는 실력 길이 값은 500이 될 수 있다. 여기서, 평균 실력 길이 값은 400이 될 수 있다.
또 다른 예를 들어, 도 3의 (c)와 같이 3개의 단원(310, 320, 330) 중 하나의 단원(320)의 제1 실력 범위(422)는 100 이상 400이하의 범위를 갖고, 3개의 단원 중 나머지 2개의 단원(310, 330) 각각의 제2 실력 범위(412, 432)는 100 이상 600이하의 범위를 갖는다고 가정해보자. 이 경우, 제1 실력 범위(422)에 기초하여 산출되는 실력 길이 값은 300이고, 제2 실력 범위(412, 432)에 기초하여 산출되는 실력 길이 값은 500이 될 수 있다. 여기서, 평균 실력 길이 값은 433(소수점 이하의 값은 버림)이 될 수 있다.
결과적으로 수학식 1에서 평균 실력 길이 값은 사용자에게 제1 문제가 제공된다고 가정하고 사용자가 제1 문제를 맞히는지에 따라 예상되는 업데이트된 복수의 단원 전체의 실력 범위를 이용하여 산출된 복수의 실력 길이 값의 평균을 구해서 산출될 수 있다. 즉, 프로세서(110)는 제1 문제 제공을 가정하고 업데이트되는 실력 범위를 예상한 후 모든 단원 각각의 실력 범위를 이용하여 복수의 실력 길이 값이 산출할 수 있고, 복수의 실력 길이 값의 평균을 구해서 수학식 1의 평균 실력 길이 값을 산출할 수 있다.
결과적으로, 프로세서(110)는 상술한 수학식 1을 이용하여 복수의 문제 각각을 사용자에게 제공했을 때 예상되는 복수의 문제 각각과 관련된 기대 값을 산출할 수 있다.
프로세서(110)는 단계(S10)에서 복수의 문제 각각과 관련된 기대 값을 산출한 경우, 복수의 기대 값 중 가장 작은 기대 값을 갖는 문제를 사용자에게 제공할 수 있다(S20). 여기서, 가장 작은 기대 값을 문제가 복수 개인 경우, 프로세서(110)는 복수 개의 문제 중 하나의 문제를 랜덤하게 선택해서 사용자에게 제공할 수 있다.
한편, 본 개시의 몇몇 실시예에 따르면, 프로세서(110)는 사용자의 평균 실력 값을 산출할 때 복수의 단원 중 하나의 단원의 실력 범위를 업데이트하는 경우, 업데이트된 단원과 의존 관계가 있는 의존 단원 및 유사 관계가 있는 유사 단원에 대한 실력 범위도 같이 업데이트할 수 있다.
본 개시에서 의존 관계가 있는 의존 단원은 학습 과정에서 문제와 관련된 단원 보다 먼저 배우는 또는 나중에 배우는 단원을 의미할 수 있다.
본 개시에서 유사 관계가 있는 유사 단원은 의존 단원 이외의 단원으로 문제와 관련된 단원의 실력 범위가 변경되었을 때 기 설정된 비율로 실력 범위가 같이 변경되어야 하는 단원을 의미할 수 있다.
본 개시의 몇몇 실시예에 따르면, 복수의 단원 각각과 의존 관계가 있는 단원에 대한 정보 및 복수의 단원 각각과 유사 관계가 있는 유사 단원에 대한 정보가 저장부(120)에 저장되어 있을 수 있다.
프로세서(110)는 문제와 관련된 단원의 실력 범위를 업데이트한 경우 의존 단원에 대한 실력 범위도 동일하게 업데이트할 수 있고, 유사 단원에 대한 실력 범위도 기 설정된 비율을 이용하여 동일하게 업데이트할 수 있다. 다만, 본 개시는 이에 한정되는 것은 아니다.
상술한 몇몇 실시예에 따라 사용자의 문제 풀이 실력을 진단하기 위한 문제를 결정하여 사용자에게 제공하는 경우, 빠르게 사용자의 문제 풀이 실력을 진단할 수 있다.
한편, 본 개시의 몇몇 실시예에 따르면, 사용자의 문제 풀이 실력을 진단하기 위한 문제를 결정할 때 저장부에 저장된 복수의 문제 각각을 사용자가 맞힐 확률 값이 사용될 수 있다. 상기 확률 값을 산출하는 방법은 도 4 내지 도 7을 참조하여 좀더 자세히 설명한다.
도 4 및 도 5은 본 개시의 몇몇 실시예에 따라 하나 이상의 단원과 관련된 문제를 맞힐 확률 값을 산출하는 방법의 일례를 설명하기 위한 흐름도이다. 도 6는 본 개시의 몇몇 실시예에 따라 문제를 맞힐 확률 값을 산출할 때 사용되는 수학식의 일례를 설명하기 위한 도면이다. 도 7는 본 개시의 몇몇 실시예에 따라 문제가 기 설정된 기관에서 출제한 문제인 경우 난이도 값을 산출하는 수학식의 일례를 설명하기 위한 도면이다. 도 4 내지 도 7과 관련하여 도 1 내지 도3과 관련하여 상술한 내용은 다시 설명하지 않고, 이하 차이점을 중심으로 설명한다.
도 4를 참조하면, 프로세서(110)는 사용자가 복수의 문제 각각을 맞힐 확률 값을 산출할 때, 복수의 문제 중 기대 값을 산출하고자 하는 문제가 몇 개의 단원과 관련이 있는지를 확인할 수 있다(S110). 여기서, 문제는 하나 이상의 단원과 관련이 있을 수 있다. 예를 들어, 문제는 한 개의 단원과 관련이 있을 수도 있고, 복수 개의 단원과 관련이 있을 수도 있다. 다만, 이에 한정되는 것은 아니다.
구체적으로, 도 5을 참조하면, 프로세서(110)는 복수의 문제 각각에 대한 기대 값을 산출할 때 현재 기대 값을 산출하고자 하는 문제와 관련된 단원이 복수 개인지를 확인할 수 있다(S111). 다만, 이에 한정되는 것은 아니고, 프로세서(110)는 문제와 관련된 단원이 한 개인지를 확인할 수도 있다.
도 4를 다시 참조하면, 프로세서(110)는 기대 값을 산출하고자 하는 문제와 관련된 단원의 개수에 기초하여 문제를 맞힐 확률 값을 산출하는 방법들 중 하나를 선택하고, 선택된 방법에 의해 사용자가 문제를 맞힐 확률 값을 결정할 수 있다(S120). 여기서, 확률 값을 산출하는 방법들은 기대 값을 산출할 문제와 관련된 단원이 한 개인 경우 선택되는 제1 방법 및 기대 값을 산출할 문제와 관련된 단원이 복수 개인 경우 선택되는 제2 방법을 포함할 수 있다. 다만, 본 개시는 이에 한정되는 것은 아니다.
구체적으로, 도 5를 다시 참조하면, 프로세서(110)는 문제와 관련된 단원이 복수 개가 아니라고 확인한 경우(S111, No), 제1 방법에 기초하여 기대 값을 산출할 문제를 맞힐 확률 값을 산출할 수 있다. 제1 방법은 이하 좀더 자세히 설명한다.
프로세서(110)는 기대 값을 산출할 문제와 관련된 단원이 한 개라고 확인했기 때문에, 저장부(120)에 저장된 사용자의 한 개의 단원에 대한 실력 범위에 기초하여 평균 실력 값을 산출할 수 있다. 여기서, 사용자는 문제 풀이 실력을 진단하는 사용자(예를 들어, 고등학생, 중학생, 초등학생 등)로 장치(100)의 통신부(130)와 통신이 연결된 사용자 단말기의 사용자를 의미할 수 있다. 다만, 본 개시는 이에 한정되는 것은 아니다.
본 개시에서 사용자의 단원에 대한 실력 범위는 초기에는 기 설정된 초기 실력 범위를 갖도록 초기화되어 저장부(120)에 사전 저장되어 있을 수 있고, 사용자가 문제 풀이 실력 진단을 위한 문제를 풀 때마다 업데이트될 수 있다. 따라서, 사용자가 문제를 맞힐 확률 값을 산출할 때마다 프로세서(110)는 저장부(120)에 저장된 사용자의 해당 단원에 대한 실력 범위를 확인해야 한다. 다만, 본 개시는 이에 한정되는 것은 아니다.
본 개시에서 실력 범위는 사용자의 현재 기대 값을 산출하는 문제와 관련된 단원에 대한 실력 범위를 의미하며, 최소 실력 값 및 최대 실력 값으로 구성될 수 있다. 구체적으로, 제1 문제와 관련된 제1 단원에 대한 실력 범위는 최소 실력 값보다 크거나 같고 최대 실력 값보다 작거나 같은 범위를 가질 수 있다.
본 개시에서 프로세서(110)는 기대 값을 산출할 문제와 관련된 단원의 실력 범위를 구성하는 최소 실력 값 및 최대 실력 값의 평균을 구해서 제1 평균 실력 값을 산출할 수 있다(S121). 예를 들어, 제1 최소 실력 값이 100이고 제1 최대 실력 값이 600인 경우, 해당 단원의 제1 평균 실력 값은 350일 수 있다. 다만, 본 개시는 이에 한정되는 것은 아니다.
도 5를 다시 참조하면, 프로세서(110)는 단계(S121)에서 산출된 평균 실력 값 및 문제에 할당된 난이도 값을 이용하여 한 개의 단원과 관련된 문제를 맞힐 확률 값을 산출할 수 있다(S122).
구체적으로, 프로세서(110)는 사용자의 문제와 관련된 단원에 대한 평균 실력 값과 문제에 할당된 난이도 값을 한 개의 단원과 관련된 문제를 맞힐 확률 값을 산출하는 수학식에 대입하여 한 개의 단원과 관련된 문제를 맞힐 확률 값을 산출할 수 있다. 한 개의 단원과 관련된 문제를 맞힐 확률 값을 산출하는 수학식은 도 6를 참조하여 좀더 자세히 설명한다.
도 6에서 는 문제를 맞힐 확률 값이고, 는 한 개의 단원과 관련된 문제의 난이도 오차를 최소화하도록 보정하는 기 설정된 제1 파라미터 값이고, 는 한 개의 단원과 관련된 문제를 사용자가 찍어서 맞힐 확률을 보정하도록 문제 타입에 따라 값이 변화하는 제2 파라미터 값이고, 는 한 개의 단원과 관련된 문제에 할당된 난이도 값이고, 은 사용자의 문제와 관련된 단원에 대한 평균 실력 값이고, 는 기 설정된 상수 값일 수 있다.
도 6의 수학식은 엘로 평점 시스템(elo rating system)의 내용을 일부 차용하였다. 다만, 엘로 평점 시스템에서 사용되는 수학식을 그대로 사용하는 것은 아니고, 한 개의 단원과 관련된 문제를 사용자가 맞힐 확률 값을 정확하게 산출할 수 있도록 엘로 평점 시스템에서 사용되는 수학식을 변경하였다.
먼저, 문제 난이도를 설정할 때 발생할 수 있는 난이도 오차를 최소화하기 위해 기 설정된 제1 파라미터 값인 항이 추가되었다. 의 역할은 사용자의 문제와 관련된 단원에 대한 실력과 문제 난이도가 같은 값인 경우 문제 풀이 방법을 알 확률이 어떻게 될지를 정의하는 값이며, 가 도 6의 수학식에 추가된 이유는 문제 난이도 할당을 보다 직관적으로 수행하기 위함이다. 사용자의 문제와 관련된 단원에 대한 실력과 문제의 난이도가 같을 때 문제 풀이 방법을 알 확률이 75%가 될 수 있도록 일 수 있다. 인 경우, 보다 정확하게 한 개의 단원과 관련된 문제를 사용자가 맞힐 확률 값을 산출할 수 있다. 예를 들어, 난이도 설정자가 문제의 난이도를 설정할 때 1등급 학생이 50% 정도 맞힐 확률을 가진 문제를 100으로 라벨링하는 것보다 75% 정도 맞힐 확률을 가진 문제에 100을 라벨링하라고 하는 것이 난이도 설정자 간의 난이도 오차를 훨씬 줄일 수 있기 때문에 제1 파라미터 값이 항에 추가되었다.
는 사용자가 한 개의 단원과 관련된 문제를 풀 때 풀이 방법을 모르지만 맞힐 확률, 즉 문제를 찍어서 맞힐 확률을 보정해주는 파라미터이다. 엘로 평점 시스템에서 사용자 간에 이길 확률은 본 개시에서 사용자가 주관식 문제를 맞힐 확률과 동일하다고 생각할 수 있다. 다만, 엘로 평점 시스템에서 사용자끼리 시합하는 경우와 다르게 오지선다형 객관식 문제를 풀 때 그 문제에 대한 단원을 전혀 공부한 바가 없어 문제의 풀이 방법을 전혀 몰라도 문제를 최소한 맞힐 확률 20%는 보장될 수 있다. 따라서, 본 개시의 한 개의 단원과 관련된 문제를 사용자가 맞힐 확률 값을 산출하는 수학식에서는 문제를 맞힐 확률과 문제 풀이 방법을 알고 있을 확률을 구분하여 생각해야한다.
Law of total probability에 근거하여 문제 풀이 방법을 알고 있을 확률에서 문제를 맞힐 확률을 구할 수 있다.
먼저, 문제 풀이 방법을 알고 있을 확률은 하기 수학식 2로 표현될 수 있다.
한편, 문제를 맞힐 확률을 P(A), 문제 풀이 방법을 알고 있을 확률을 P(B)라고 정의한 경우, P(A)는 하기 수학식 3으로 표현될 수 있다.
그리고, 수학식 3은 하기 수학식 4로 표현될 수 있다.
수학식 4에서 는 문제의 풀이 방법을 알고 있을 때 맞힐 확률로 1이고, 는 문제의 풀이 방법을 모를 때 맞힐 확률로 찍어서 맞힐 확률 즉, 가 될 수 있다. 따라서 수학식 4는 하기 수학식 5와 같이 표현될 수 있다.
그리고, 수학식 5는 하기 수학식 6과 같이 표현될 수 있다.
그리고, 수학식 6에서 P(B)에 문제 풀이 방법을 알고 있을 확률과 관련된 수학식 2을 대입하면 문제를 맞힐 확률 값을 산출하는 수학식을 얻어낼 수 있다.
그리고, 수학식 2에 가 존재하지만, 이는 문제의 난이도 편차를 의미하고 복수의 문제 각각은 기 설정된 난이도 값이 부여되므로 난이도 편차가 존재하지 않기 때문에 는 0 이다. 따라서, 수학식 6에 수학식 2를 대입한 후 획득된 수학식에서 항은 이 될 수 있다.
따라서, 최종적으로 도 6의 수학식이 도출될 수 있다.
한편, 는 한 개의 단원과 관련된 문제를 사용자가 찍어서 맞힐 확률을 보정할 수 있다. 구체적으로, 문제 타입에 따라 제2 파라미터 값인 의 값이 변경될 수 있다. 여기서, 문제 타입은 객관식 문제를 나타내는 제1 타입 및 주관식 문제를 나타내는 제2 타입을 포함할 수 있다.
일례로, 문제 타입이 제2 타입(주관식 문제)인 경우, 문제 풀이 방법을 알고 있을 확률이 곧 문제를 맞힐 확률일 수 있다. 주관식 문제의 경우에도 문제를 찍을 확률이 존재할 수 있지만, 이는 무시해도 무방한 것은 실험적으로 확인하였다.
다른 일례로, 문제 타입이 제1 타입(객관식 문제)인 경우, 문제 풀이 방법을 알고 있을 확률에서 찍어서 맞힐 확률 20%를 고려하여 문제를 맞힐 확률을 계산할 수 있다. 오지선다형 객관식 문제의 경우 그 확률이 반드시 20%가 되지는 않지만 20%로 가정하더라도 무방한 것을 실험적으로 확인하였다.
본 개시에서 주관식 문제의 경우에 풀이 방법을 알고 있을 확률이 0%이면 문제를 맞힐 확률도 0%이지만 오지선다형 객관식 문제의 경우 풀이 방법을 알고 있을 확률이 0%이더라도 문제를 맞힐 확률은 20%가 될 수 있다. 따라서, 한 개의 단원과 관련된 문제를 사용자가 찍어서 맞힐 확률을 보정하도록 문제 타입에 따라 값이 변화하는 제2 파라미터 값인 항이 도 6의 수학식에 추가되었다.
도 6의 수학식에서 는 한 개의 단원과 관련된 문제에 할당된 난이도 값일 수 있다.
본 개시에서 문제에 할당된 난이도 값은 고정된 값으로, 복수의 문제가 저장부(120)에 저장될 때 복수의 문제 각각에 할당되어 복수의 문제와 같이 저장될 수 있다. 다만, 본 개시는 이에 한정되는 것은 아니다.
본 개시에서 문제가 자체 제작된 문제인 경우 문제에 할당되는 난이도 값을 산출하는 방법은 문제가 기 설정된 기관에서 출제한 문제인 경우 문제에 할당되는 난이도 값을 산출하는 방법과 상이할 수 있다.
일례로, 난이도 값은 문제가 기 설정된 기관에서 출제한 문제인 경우 기 설정된 기관의 서버로부터 제공된 데이터 셋을 분석하여 산출된 값일 수 있다. 여기서, 기 설정된 서버는 교육 플랫폼 서버를 의미할 수 있고, 데이터 셋은 상기 문제에 대해 복수의 학생들이 정답을 맞힌 정도를 나타내는 정답률에 대한 정보를 포함할 수 있다.
다른 일례로, 난이도 값은 문제가 자체 제작 문제인 경우, 기 설정된 수(예를 들어, 3명)의 난이도 설정자로부터 입력 받은 난이도 값의 평균을 계산하여 산출된 값일 수 있다. 여기서, 난이도 값은 복수의 난이도 설정자들이 입력하는 값이기 때문에 난이도 설정자들마다 난이도 값의 편차가 존재할 수 있다. 따라서, 난이도 설정자들은 난이도 설정 가이드에 기초하여 난이도 값을 입력해야 하고, 프로세서(110)는 난이도 설정자들이 입력한 난이도 값의 평균을 계산하여 해당 문제의 난이도 값을 산출할 수 있다.
본 개시에서 문제가 기 설정된 기관에서 출제한 문제인 경우 난이도 값을 산출하는 방법은 도 7를 참조하여 좀더 자세히 설명한다.
도 7의 수학식에서 는 문제의 정답률을 의미할 수 있다. 여기서, 문제의 정답률은 기 설정된 서버로부터 수신한 데이터 셋에 포함되어 있을 수 있다.
한편, 문제를 맞힐 확률의 평균 값이 정답률이라는 것을 실험적으로 증명하였다. 구체적으로, 명의 학생이 문제를 맞힐 확률의 평균이 0.45라고 가정했을 때 프로세서(110)는 1은 45개, 0은 55개로 구성된 길이가 100인 리스트를 만들고, 리스트 내의 엘레먼트(element)를 랜덤하게 셔플한 다음 하나의 엘레먼트를 선택할 수 있다. 그리고, 프로세서(110)는 선택된 엘레먼트가 0이면 틀렸다고 간주하고 1이면 맞았다고 간주하였다. 한 문제에 대해서 10,000명 정도 샘플링을 수행하고 위 방법으로 10,000명에 대한 문제를 맞힐 확률 값과 10,000명이 문제의 정답을 맞혔는지 여부를 확인할 수 있었고, 10,000명의 문제를 맞힐 확률 값의 평균이 10,000명이 문제의 정답을 맞혔는지 여부를 통해 구한 정답률과 거의 일치하는 것을 실험적으로 증명하였다.
한편, 도 7에서 은 기 설정된 학생의 수를 의미할 수 있고, 는 문제의 난이도 오차를 최소화하도록 보정하는 기 설정된 파라미터 값일 수 있고, 는 문제를 사용자가 찍어서 맞힐 확률을 보정하도록 문제 타입에 따라 값이 변화하는 파라미터 값일 수 있고, 는 문제의 난이도 값으로 프로세서(110)에 의해 산출되어야 하는 값일 수 있고, 는 기 설정된 수의 학생 각각의 문제와 관련된 단원에 대한 실력 값일 수 있고, 는 기 설정된 상수 값일 수 있다. 여기서 기 설정된 수의 학생 각각의 문제와 관련된 단원에 대한 실력 값은 저장부(120)에 저장되어 있을 수 있다.
본 개시에서 일 수 있다. 는 문제가 객관식 문제인 경우 0보다 큰 값(예를 들어, 0.2)이고 문제가 주관식 문제인 경우 0일 수 있다. 는 25일 수 있다. 그리고, 은 10,000일 수 있다. 여기서, 이 10,000인 경우 오차가 0에 수렴하는 것을 실험적으로 확인한 바 은 10,000으로 설정하였다.
본 개시에서 프로세서(110)는 문제에 대한 정답률을 확인할 수 있다. 그리고, 10,000 명의 학생의 실력 데이터가 저장부(120)에 저장되어 있기 때문에, 프로세서(110)는 10,000명의 학생 각각의 문제와 관련된 단원에 대한 실력 값을 확인할 수 있다. 그리고, 프로세서(110)는 문제에 대한 정답률과 10,000명의 학생 각각의 문제와 관련된 단원의 실력 값을 도 7의 수학식에 대입하여 문제에 대한 정답률과 10,000명의 학생이 문제를 맞힐 확률의 평균 값의 오차가 최소화되는 문제 난이도 값인 를 찾는 방법으로 문제 난이도 값을 산출할 수 있다. 다만, 본 개시는 이에 한정되는 것은 아니다.
한편, 도 7에 도시된 수학식은 다음과 같은 실험 과정을 통해 도출될 수 있다.
먼저, 난이도 값을 산출하고자 하는 문제와 관련하여 문제의 단원과 관련된 학생 실력 정규분포 곡선에서 명의 학생의 실력을 샘플링한다. 그리고, 각 학생의 해당 단원에 대한 실력 값을 이용하여 문제를 맞힐 확률 값을 산출한다. 그리고, 문제를 맞힐 확률 값들의 평균 값과 문제를 맞힐 확률로 실제로 문제를 풀었을 때 나오는 문제의 정답률 사이의 차이를 비교하였다. 여기서, 이 커짐에 따라 오차가 줄어드는 것을 확인할 수 있었으며, 이 10,000이상인 경우 오차가 0에 가깝다는 것을 확인할 수 있었다. 따라서, 은 10,000으로 설정되었고, 이러한 실험 과정을 이용하여 문제의 난이도 값을 산출하는 수학식이 도출되었다.
결과적으로, 난이도 값은, 문제가 기 설정된 기관(예를 들어, 한국 교육 기관 평가원)에서 출제한 문제인 경우 기 설정된 서버(예를 들어, 교육 플랫폼 서버)로부터 제공된 데이터 셋을 분석하여 산출된 값일 수 있고, 문제가 자체 제작 문제인 경우 기 설정된 수의 난이도 설정자로부터 입력 받은 난이도 값의 평균을 계산하여 산출된 값일 수도 있다.
한편, 도 6의 수학식에서 은 도 5의 단계(S121)에서 산출된 사용자의 문제와 관련된 단원에 대한 제1 평균 실력 값과는 상이한 저장부에 저장된 N명의 학생들 각각의 실력 값일 수 있다.
도 6의 수학식에서 는 기 설정된 상수 값일 수 있다. 여기서, 는 사용자들의 실력 편차를 의미할 수 있으며 일반적으로 학생마다 고유한 값을 가질 수 있지만 본 개시에서는 상수 값으로 정의한다. 즉, 모든 학생들이 동일한 실력 편차를 가진다고 가정하고 기 설정된 실험을 통해 산출된 상수 값을 로 사용할 수 있다.
를 산출하는 기 설정된 실험은 복수의 를 생성한 후 여기서 가장 적절한 값을 찾는 방법으로 진행되었다. 그리고, 기 설정된 서버로부터 수신된 데이터 셋을 이용하여 실험이 진행되었다. 여기서, 데이터 셋은, 기 설정된 기관(예를 들어, 한국 교육 기관 평가원)에서 제공하는 복수의 문제, 복수의 문제 각각의 배점, 복수의 문제의 문제 타입, 복수의 문제 각각의 정답률, 복수의 문제를 풀이한 복수의 사용자들의 등급 별 원점수, 복수의 문제를 풀이한 복수의 사용자들의 등급 별 표준 점수, 복수의 문제를 풀이한 복수의 사용자들의 등급 별 누적 비율, 복수의 문제를 풀이한 복수의 사용자들의 점수의 평균 값 및 복수의 문제를 풀이한 복수의 사용자들의 점수의 표준 편차를 포함할 수 있다. 다만, 본 개시는 이에 한정되는 것은 아니다.
먼저, 기 설정된 실험을 진행하기 위해 복수의 를 생성해야 한다. 여기서, 복수의 는 41가지 상수 값을 포함할 수 있다. 구체적으로, 복수의 는 0에서 200까지 상수 값 사이에서 값을 5씩 증가시켜 생성될 수 있다. 예를 들어, 0, 5, 10, ..., 195, 200이 41가지의 가 될 수 있다.
다음으로, 복수의 문제 각각에 대한 난이도 값을 복수의 를 이용하여 산출할 수 있다. 이와 관련하여 도 7를 참조하여 자세히 상술한바 자세한 설명은 생략한다.
다음으로, 데이터 셋을 확인하여 등급 별 누적 비율을 이용하여 각 등급 별 학생들의 실력 값을 산출할 수 있다.
다음으로, 복수의 문제 각각에 대한 난이도 값과 등급 별 학생들의 실력 값을 이용하여 등급 별 예측 원점수를 산출할 수 있다. 등급 별 예측 원점수는 수학식 7을 이용하여 산출될 수 있다. 수학식 7에서 i는 기 설정된 기관(예를 들어, 한국 교육 기관 평가원)이 출제한 문제의 문제 번호를 의미할 수 있다.
마지막으로, 수학식 7을 통해 산출된 등급 별 예측 원점수와 데이터 셋에 포함된 등급 별 원점수를 비교하여 오차를 가장 작게 발생시키는 를 복수의 에서 탐색할 수 있다. 이 경우, MSE 오차 함수를 사용하여 오차를 확인할 수 있다.
상술한 기 설정된 실험을 통해 본 개시에서 가장 적합한 는 25임을 확인할 수 있었다.
결과적으로, 본 개시에서 는 25가 될 수 있다.
본 개시에서 도 6에 도시된 수학식에 상술한 값들을 대입할 경우 한 개의 단원과 관련된 문제를 사용자가 맞힐 확률 값은 수학식 8 및 수학식 9에 의해 산출될 수 있다. 여기서, 수학식 8은 문제가 주관식 문제인 경우에 사용자가 문제를 맞힐 확률 값을 산출하는 수학식이고, 수학식 9는 문제가 객관식 문제인 경우에 사용자가 문제를 맞힐 확률 값을 산출하는 수학식일 수 있다.
본 개시에서 프로세서(110)는 한 개의 단원과 관련된 문제가 주관식 문제인 경우, 사용자의 해당 단원에 대한 평균 실력 값을 수학식 8의 에 대입하고 해당 문제의 난이도 값을 수학식 8의 에 대입하여 사용자가 문제를 맞힐 확률 값인 p 산출할 수 있다. 그리고, 프로세서(110)는 한 개의 단원과 관련된 문제가 객관식 문제인 경우, 사용자의 해당 단원에 대한 평균 실력 값을 수학식 9의 에 대입하고, 해당 문제의 난이도 값을 수학식 9의 에 대입하여 사용자가 문제를 맞힐 확률 값인 p 산출할 수 있다.
도 5을 다시 참조하면, 프로세서(110)는 문제와 관련된 단원이 복수 개라고 확인한 경우(S111, Yes), 제2 방법에 기초하여 문제를 맞힐 확률 값을 산출할 수 있다. 제2 방법에서 상술한 내용과 중복되는 내용은 자세히 설명하지 않고 이하 차이점을 제2 방법에 대해 설명한다.
프로세서(110)는 문제와 관련된 단원이 복수 개라고 확인했기 때문에, 저장부(120)에 저장된 사용자의 복수의 단원에 대한 복수의 실력 범위를 확인할 수 있다. 그리고, 프로세서(110)는 복수의 단원에 대한 복수의 실력 범위에 기초하여 복수의 제2 평균 실력 값을 산출할 수 있다 (S123). 여기서, 복수의 실력 범위는 복수의 단원의 업데이트되기 전의 실력 범위일 수 있다.
프로세서(110)는 사용자의 문제와 관련된 복수의 단원에 대한 복수의 제2 평균 실력 값 및 문제에 할당된 난이도 값을 이용하여 복수의 제2 평균 실력 값 각각과 관련하여 문제를 맞힐 복수의 확률 값을 산출할 수 있다(S124).
구체적으로, 프로세서(110)는 사용자의 문제와 관련된 복수의 단원에 대한 복수의 제2 평균 실력 값과 문제에 할당된 난이도 값을 문제를 맞힐 확률 값을 산출하는 수학식에 입력하여 복수의 제2 평균 실력 값 각각과 관련하여 문제를 맞힐 복수의 확률 값을 산출할 수 있다.
예를 들어, 문제가 제1 단원 및 제2 단원과 관련된 문제인 경우, 프로세서(110)는 제1 단원에 대한 제1 실력 범위 및 제2 단원에 대한 제2 실력 범위를 확인할 수 있다. 프로세서(110)는 제1 실력 범위 및 제2 실력 범위를 이용하여 제3 평균 실력 값 및 제4 평균 실력 값을 산출할 수 있다. 프로세서(110)는 저장부(120)에 저장된 상기 문제에 할당된 난이도 값을 확인할 수 있다. 그리고, 프로세서(110)는 제3 평균 실력 값 및 난이도 값을 문제를 맞힐 확률 값을 산출하는 수학식에 입력하여 제1 확률 값을 산출하고, 제4 평균 실력 값 및 난이도 값을 문제를 맞힐 확률 값을 산출하는 수학식에 입력하여 제2 확률 값을 산출할 수 있다. 여기서, 복수의 제2 평균 실력 값은 제3 평균 실력 값 및 제4 평균 실력 값을 포함할 수 있다.
제2 방법에 기초하여 문제를 맞힐 확률 값을 산출하는 수학식은 도 6를 다시 참조하여 좀더 자세히 설명한다. 다만, 제1 방법과 관련하여 상술한 내용과 중복되는 내용은 자세히 설명하지 않고, 차이점을 중심으로 설명한다.
도 6에서 은 문제와 관련된 복수의 단원 중 하나의 단원에 대한 평균 실력 값일 수 있다. 즉, 는 복수의 단원에 대한 사용자의 복수의 평균 실력 값 중 하나일 수 있다.
도 6의 수학식에서 는 문제와 관련된 복수의 단원 중 하나의 단원에 대한 평균 실력 값을 이용하여 산출되는 확률 값을 의미할 수 있다.
구체적으로, 문제와 관련된 단원이 제1 단원 및 제2 단원을 포함한다고 가정하는 경우, 프로세서(110)는 제1 단원에 대한 제3 평균 실력 값 및 제2 단원에 대한 제4 평균 실력 값을 산출할 수 있다. 여기서, 가 제3 평균 실력 값인 경우 는 제3 평균 실력 값을 이용하여 산출되는 제1 확률 값일 수 있고, 가 제4 평균 실력 값인 경우 는 제4 평균 실력 값을 이용하여 산출되는 제2 확률 값일 수 있다.
도 6에서 는 문제의 난이도 오차를 최소화하도록 보정하는 기 설정된 제1 파라미터 값이고, 는 문제를 사용자가 찍어서 맞힐 확률을 보정하도록 문제 타입에 따라 값이 변화하는 제2 파라미터 값이고, 는 문제의 난이도 값이고 는 기 설정된 상수 값일 수 있다. 이에 대해서는 제1 방법과 관련하여 자세히 상술한 바 자세한 설명은 생략한다.
본 개시 몇몇 실시예에 따르면, 문제를 맞힐 확률을 산출하고자 하는 문제가 주관식 문제이고, 상기 주관식 문제와 관련된 단원이 제1 단원 및 제2 단원을 포함하는 경우, 프로세서(110)는 사용자의 제1 단원에 대한 제3 평균 실력 값을 제1 방법과 관련하여 상술한 수학식 8의 에 대입하고, 해당 문제의 난이도 값을 제1 방법과 관련하여 상술한 수학식 8의 대입하여 제1 단원과 관련하여 사용자가 문제를 맞힐 제1 확률 값을 산출할 수 있다. 또한 프로세서(110)는 사용자의 제2 단원에 대한 제4 평균 실력 값을 제1 방법과 관련하여 상술한 수학식 8의 에 대입하고, 해당 문제의 난이도 값을 제1 방법과 관련하여 상술한 수학식 8의 대입하여 제2 단원과 관련하여 사용자가 문제를 맞힐 제2 확률 값을 산출할 수 있다.
본 개시 다른 몇몇 실시예에 따르면, 문제를 맞힐 확률을 산출하고자 하는 문제가 객관식 문제이고, 상기 객관식 문제와 관련된 단원이 제1 단원 및 제2 단원을 포함하는 경우, 프로세서(110)는 사용자의 제1 단원에 대한 제3 평균 실력 값을 제1 방법과 관련하여 상술한 수학식 9의 에 대입하고, 해당 문제의 난이도 값을 제1 방법과 관련하여 상술한 수학식 9의 대입하여 제1 단원과 관련하여 사용자가 문제를 맞힐 제1 확률 값을 산출할 수 있다. 또한 프로세서(110)는 사용자의 제2 단원에 대한 제4 평균 실력 값을 제1 방법과 관련하여 상술한 수학식 9의 에 대입하고, 해당 문제의 난이도 값을 제1 방법과 관련하여 상술한 수학식 9의 대입하여 제2 단원과 관련하여 사용자가 문제를 맞힐 제2 확률 값을 산출할 수 있다.
한편, 본 개시에서 복수의 확률 값(예를 들어, 제1 확률 값 및 제2 확률 값)이 산출된 경우, 프로세서(110)는 복수의 확률 값(예를 들어, 제1 확률 값 및 제2 확률 값) 중 하나를 복수의 단원과 관련된 문제를 사용자가 맞힐 확률 값으로 결정할 수 있다(도 5의 S125).
본 개시의 몇몇 실시예에 따르면, 프로세서(110)는 복수의 확률 값 중 가장 작은 값을 갖는 확률 값을 복수의 단원과 관련된 문제를 맞힐 확률 값으로 결정할 수 있다. 다만, 이에 한정되는 것은 아니다.
본 개시에서 문제가 복수의 개념과 관련된 경우, 문제의 정오답 여부는 복수의 개념 중 실력이 가장 부족한 개념의 실력으로 결정되는 것이 직관에 부합하기 때문에 복수의 확률 값 중 가장 작은 값을 갖는 확률 값을 복수의 단원과 관련된 문제를 맞힐 확률 값으로 결정하는 것이 가장 적합하다.
도 5 내지 도 7을 참조하여 상술한 본 발명의 실시예들 중 적어도 하나에 의하면, 사용자가 문제를 맞힐 확률 값의 정확도가 향상된다는 장점이 있다.
상술한 본 개시의 몇몇 실시예에 따르면, 프로세서(110)는 사용자의 문제 풀이 실력을 진단하기 위한 문제를 결정하여 사용자에게 제공할 수 있다. 이 경우, 빠르게 사용자의 문제 풀이 실력을 진단할 수 있다.
본 개시에서 장치(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 문제와 관련된 기대 값이고, 상기 c는 상기 제1 문제를 상기 사용자가 맞힐 확률 값이고, 상기 는 상기 사용자가 상기 제1 문제를 맞힐 경우 상기 제1 문제와 관련된 제1 단원과 관련된 예상되는 제1 실력 범위를 이용하여 산출된 제1 평균 실력 길이 값이고, 상기 는 상기 사용자가 상기 제1 문제를 틀릴 경우 상기 제1 단원과 관련된 예상되는 제2 실력 범위를 이용하여 산출된 제2 평균 실력 길이 값인,
    방법.
  2. 제1항에 있어서,
    업데이트되기 전의 상기 제1 단원의 제3 실력 범위는,
    제1 최소 실력 값보다 크거나 같고 제1 최대 실력 값보다 작거나 같은 범위를 갖고,
    상기 제1 실력 범위는,
    제2 최소 실력 값보다 크거나 같고 상기 제1 최대 실력 값보다 작거나 같은 범위를 갖되, 상기 제2 최소 실력 값은 상기 제1 최소 실력 값이 상기 제1 문제에 할당된 난이도 값보다 큰 경우 상기 제1 최소 실력 값과 동일한 값을 갖고, 상기 제1 최소 실력 값이 상기 난이도 값보다 작은 경우 상기 난이도 값과 동일한 값을 갖고,
    상기 제2 실력 범위는,
    상기 제1 최소 실력 값보다 크거나 같고 제2 최대 실력 값보다 작거나 같은 범위를 갖되, 상기 제2 최대 실력 값은 상기 제1 최대 실력 값이 상기 제1 문제에 할당된 상기 난이도 값보다 작은 경우 상기 제1 최대 실력 값과 동일한 값을 갖고, 상기 제1 최대 실력 값이 상기 난이도 값보다 큰 경우 상기 난이도 값과 동일한 값을 갖는,
    방법.
  3. 제2항에 있어서,
    상기 제1 평균 실력 길이 값은,
    상기 제1 실력 범위를 이용하여 산출된 제1 실력 길이 값 및 복수의 단원 중 상기 제1 단원을 제외한 적어도 하나의 나머지 단원에 대한 적어도 하나의 실력 범위를 이용하여 산출된 적어도 하나의 실력 길이 값의 평균을 구해서 산출된 값이고,
    상기 제2 평균 실력 길이 값은,
    상기 제2 실력 범위를 이용하여 산출된 제2 실력 길이 값 및 상기 적어도 하나의 실력 길이 값의 평균을 구해서 산출된 값인,
    방법.
  4. 제3항에 있어서,
    상기 제1 실력 길이 값은,
    상기 제1 최대 실력 값에서 상기 제2 최소 실력 값을 뺀 값이고,
    상기 제2 실력 길이 값은,
    상기 제2 최대 실력 값에서 상기 제1 최소 실력 값을 뺀 값인,
    방법.
  5. 제1항에 있어서,
    상기 복수의 기대 값 중 가장 작은 기대 값을 갖는 문제를 사용자에게 제공하는 단계는:
    상기 가장 작은 기대 값을 갖는 문제가 복수 개인 경우, 가장 작은 기대 값을 갖는 문제들 중 랜덤하게 하나의 문제를 선택하여 상기 사용자에게 제공하는 단계;
    를 포함하는,
    방법.
  6. 제1항에 있어서,
    상기 방법은:
    상기 사용자가 문제 풀이 실력을 최초로 진단하는 경우, 상기 복수의 기대 값을 산출하기 전에 복수의 단원 각각이 기 설정된 최소 실력 값보다 크거나 같고 기 설정된 최대 실력 값보다 작거나 같은 초기 실력 범위를 갖도록 복수의 단원 각각의 실력 범위를 초기화하는 단계;
    를 더 포함하는,
    방법.
  7. 제2항에 있어서,
    상기 확률 값은,
    상기 확률 값을 산출하는 방법들 중 상기 제1 문제와 관련된 제1 단원의 개수에 기초하여 선택된 하나의 방법에 의해 결정되고,
    상기 방법들은:
    상기 제1 문제와 관련된 상기 제1 단원이 한 개인 경우 선택되는 제1 방법; 및
    상기 제1 문제와 관련된 상기 제1 단원이 복수 개인 경우 선택되는 상기 제1 방법과 상이한 제2 방법;
    을 포함하는,
    방법.
  8. 제7항에 있어서,
    상기 제1 방법은,
    상기 제1 최소 실력 값 및 상기 제1 최대 실력 값을 이용하여 상기 단원에 대한 제1 평균 실력 값을 산출하는 단계; 및
    상기 난이도 값 및 상기 제1 평균 실력 값을 이용하여 상기 확률 값을 산출하는 단계;
    를 포함하고,
    상기 확률 값은,
    수학식 에 의해 산출되고,
    상기 는 상기 확률 값이고, 상기 는 상기 문제의 난이도 오차를 최소화하도록 보정하는 기 설정된 제1 파라미터 값이고, 상기 는 상기 문제를 상기 사용자가 찍어서 맞힐 확률을 보정하도록 문제 타입에 따라 값이 변화하는 제2 파라미터 값이고, 상기 는 상기 난이도 값이고, 상기 은 상기 제1 평균 실력 값이고, 상기 는 기 설정된 상수 값인,
    방법.
  9. 제7항에 있어서,
    상기 제2 방법은:
    상기 제1 문제와 관련된 복수의 제1 단원의 업데이트되기 전의 실력 범위에 포함된 최소 실력 값 및 최대 실력 값을 이용하여 상기 복수의 제1 단원에 대한 복수의 제2 평균 실력 값을 산출하는 단계;
    상기 난이도 값 및 상기 복수의 제2 평균 실력 값을 이용하여 복수의 확률 값을 산출하는 단계; 및
    상기 복수의 확률 값 중 하나를 상기 확률 값으로 결정하는 단계;
    를 포함하고,
    상기 복수의 확률 값 각각은,
    수학식 에 의해 산출되고,
    상기 는 상기 문제의 난이도 오차를 최소화하도록 보정하는 기 설정된 제1 파라미터 값이고, 상기 는 상기 문제를 상기 사용자가 찍어서 맞힐 확률을 보정하도록 문제 타입에 따라 값이 변화하는 제2 파라미터 값이고, 상기 는 상기 난이도 값이고, 상기 은 상기 복수의 제1 단원 중 하나의 단원에 대한 평균 실력 값으로 상기 복수의 제2 평균 실력 값 중 하나이고, 상기 는 상기 를 상기 수학식에 대입하여 산출된 확률 값이고, 상기 는 기 설정된 상수 값인,
    방법.
  10. 제8항 또는 제9항에 있어서,
    상기 문제 타입은,
    객관식 문제를 나타내는 제1 타입 및 주관식 문제를 나타내는 제2 타입을 포함하는,
    방법.
  11. 제10항에 있어서,
    상기 제2 파라미터 값은,
    상기 문제가 상기 제1 타입인 경우, 0보다 큰 값을 갖고,
    상기 문제가 상기 제2 타입인 경우, 0인,
    방법.
  12. 제8항 또는 제9항에 있어서,
    상기 난이도 값은,
    상기 문제가 기 설정된 기관에서 출제한 문제인 경우, 기 설정된 서버로부터 제공된 데이터 셋을 분석하여 산출된 값이고,
    상기 문제가 자체 제작 문제인 경우, 기 설정된 수의 난이도 설정자로부터 입력 받은 난이도 값의 평균을 계산하여 산출된 값인,
    방법.
  13. 제9항에 있어서,
    상기 복수의 확률 값 중 하나를 상기 문제를 맞힐 확률 값으로 결정하는 단계는,
    상기 복수의 확률 값 중 가장 작은 값을 갖는 확률 값을 상기 문제를 맞힐 상기 확률 값으로 결정하는 단계;
    를 포함하는,
    방법.
  14. 컴퓨터 판독가능 저장 매체 저장된 컴퓨터 프로그램으로서, 상기 컴퓨터 프로그램은 장치의 프로세서에서 실행되는 경우, 사용자의 문제 풀이 실력을 진단하기 위한 문제를 제공하는 단계들을 수행하며, 상기 단계들은:
    복수의 문제 각각을 사용자에게 제공했을 때 예상되는 복수의 문제와 관련된 복수의 기대 값을 산출하는 단계; 및
    상기 복수의 기대 값 중 가장 작은 기대 값을 갖는 문제를 사용자에게 제공하는 단계;
    를 포함하고,
    상기 복수의 기대 값 각각은,
    수학식 에 의해 산출되고,
    상기 는 상기 복수의 문제 중 하나인 제1 문제와 관련된 기대 값이고, 상기 c는 상기 제1 문제를 상기 사용자가 맞힐 확률 값이고, 상기 는 상기 사용자가 상기 제1 문제를 맞힐 경우 상기 제1 문제와 관련된 제1 단원과 관련된 예상되는 제1 실력 범위를 이용하여 산출된 제1 평균 실력 길이 값이고, 상기 는 상기 사용자가 상기 제1 문제를 틀릴 경우 상기 제1 단원과 관련된 예상되는 제2 실력 범위를 이용하여 산출된 제2 평균 실력 길이 값인,
    컴퓨터 판독가능 저장 매체 저장된 컴퓨터 프로그램.
  15. 사용자의 문제 풀이 실력을 진단하기 위한 문제를 제공하는 장치에 있어서, 상기 장치는:
    적어도 하나의 프로그램 명령이 저장된 저장부; 및
    상기 적어도 하나의 프로그램 명령을 수행하는 프로세서;
    를 포함하고,
    상기 프로세서는,
    복수의 문제 각각을 사용자에게 제공했을 때 예상되는 복수의 문제와 관련된 복수의 기대 값을 산출하고,
    상기 복수의 기대 값 중 가장 작은 기대 값을 갖는 문제를 사용자에게 제공하는,
    상기 복수의 기대 값 각각은,
    수학식 에 의해 산출되고,
    상기 는 상기 복수의 문제 중 하나인 제1 문제와 관련된 기대 값이고, 상기 c는 상기 제1 문제를 상기 사용자가 맞힐 확률 값이고, 상기 는 상기 사용자가 상기 제1 문제를 맞힐 경우 상기 제1 문제와 관련된 제1 단원과 관련된 예상되는 제1 실력 범위를 이용하여 산출된 제1 평균 실력 길이 값이고, 상기 는 상기 사용자가 상기 제1 문제를 틀릴 경우 상기 제1 단원과 관련된 예상되는 제2 실력 범위를 이용하여 산출된 제2 평균 실력 길이 값인,
    장치.
KR1020220090048A 2022-07-21 2022-07-21 사용자의 문제 풀이 실력을 진단하기 위한 문제를 제공하는 기법 KR20240012718A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220090048A KR20240012718A (ko) 2022-07-21 2022-07-21 사용자의 문제 풀이 실력을 진단하기 위한 문제를 제공하는 기법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220090048A KR20240012718A (ko) 2022-07-21 2022-07-21 사용자의 문제 풀이 실력을 진단하기 위한 문제를 제공하는 기법

Publications (1)

Publication Number Publication Date
KR20240012718A true KR20240012718A (ko) 2024-01-30

Family

ID=89715263

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220090048A KR20240012718A (ko) 2022-07-21 2022-07-21 사용자의 문제 풀이 실력을 진단하기 위한 문제를 제공하는 기법

Country Status (1)

Country Link
KR (1) KR20240012718A (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102406458B1 (ko) 2021-04-01 2022-06-08 (주)뤼이드 복수의 시험 도메인에 적용되는 전이요소로 학습된 인공지능 모델을 통해 사용자의 실력을 평가하는 장치, 시스템 및 그것의 동작방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102406458B1 (ko) 2021-04-01 2022-06-08 (주)뤼이드 복수의 시험 도메인에 적용되는 전이요소로 학습된 인공지능 모델을 통해 사용자의 실력을 평가하는 장치, 시스템 및 그것의 동작방법

Similar Documents

Publication Publication Date Title
US10019910B2 (en) Dynamic and individualized scheduling engine for app-based learning
KR102465634B1 (ko) 사용자들의 문제 풀이 실력 향상을 위한 맞춤형 문제를 제공하는 기법
US20190325773A1 (en) System and method of providing customized learning contents
KR20200135892A (ko) 사용자 맞춤형 학습 커리큘럼 추천 및 교육 컨텐츠 제공 시스템 및 방법
US10866956B2 (en) Optimizing user time and resources
US10541884B2 (en) Simulating a user score from input objectives
KR102518474B1 (ko) 사용자의 실력을 업데이트하는 기법
KR20240012718A (ko) 사용자의 문제 풀이 실력을 진단하기 위한 문제를 제공하는 기법
KR101631374B1 (ko) 메타인지 능력 향상을 위한 수학학습 시스템 및 방법
KR20240012719A (ko) 사용자의 문제 풀이 실력을 진단하는 기법
KR20240012720A (ko) 사용자의 문제 풀이 실력을 진단하는 기법
KR102230052B1 (ko) 문제 난이도 조정 방법 및 문제 난이도 조정 서버
KR20240012722A (ko) 사용자의 문제 풀이 실력을 진단하는 기법
KR20240012100A (ko) 사용자의 문제 풀이 실력 진단을 종료하는 기법
KR20240012099A (ko) 사용자의 문제 풀이 실력을 진단하는 기법
KR20240012092A (ko) 사용자의 문제 풀이 실력을 진단하는 기법
KR20240012712A (ko) 문제를 맞힐 확률에 기반하여 사용자의 실력을 업데이트하는 기법
KR20240012717A (ko) 복수의 단원과 관련된 문제를 풀이한 사용자의 실력을 업데이트하는 기법
KR20240012714A (ko) 사용자의 실력을 업데이트하는 기법
KR20240001956A (ko) 하나 이상의 단원과 관련된 문제를 맞힐 확률을 산출하는 기법
KR20240012715A (ko) 한 개의 단원과 관련된 문제를 풀이한 사용자의 실력을 업데이트하는 기법
KR20240001954A (ko) 복수의 단원과 관련된 문제를 맞힐 확률을 산출하는 기법
KR20240001951A (ko) 한 개의 단원과 관련된 문제를 맞힐 확률을 산출하는 기법
US20220198949A1 (en) System and method for determining real-time engagement scores in interactive online learning sessions
KR102541689B1 (ko) 문제의 정답률을 보정하는 기법

Legal Events

Date Code Title Description
E902 Notification of reason for refusal