KR102096301B1 - 액티브 러닝 기법을 적용한 머신 러닝 프레임워크 운용 방법, 장치 및 컴퓨터 프로그램 - Google Patents

액티브 러닝 기법을 적용한 머신 러닝 프레임워크 운용 방법, 장치 및 컴퓨터 프로그램 Download PDF

Info

Publication number
KR102096301B1
KR102096301B1 KR1020190039091A KR20190039091A KR102096301B1 KR 102096301 B1 KR102096301 B1 KR 102096301B1 KR 1020190039091 A KR1020190039091 A KR 1020190039091A KR 20190039091 A KR20190039091 A KR 20190039091A KR 102096301 B1 KR102096301 B1 KR 102096301B1
Authority
KR
South Korea
Prior art keywords
user
model
data
data analysis
analysis model
Prior art date
Application number
KR1020190039091A
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 KR1020190039091A priority Critical patent/KR102096301B1/ko
Priority to JP2020540290A priority patent/JP7054558B2/ja
Priority to US16/964,823 priority patent/US20210233191A1/en
Priority to CN202080025985.7A priority patent/CN113646788A/zh
Priority to PCT/KR2020/004137 priority patent/WO2020204468A1/ko
Application granted granted Critical
Publication of KR102096301B1 publication Critical patent/KR102096301B1/ko
Priority to CONC2021/0012810A priority patent/CO2021012810A2/es

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • G06Q50/20Education

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Tourism & Hospitality (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Marketing (AREA)
  • Economics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Business, Economics & Management (AREA)
  • Mathematical Physics (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Strategic Management (AREA)
  • Primary Health Care (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Educational Technology (AREA)
  • Educational Administration (AREA)
  • Medical Informatics (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Electrically Operated Instructional Devices (AREA)

Abstract

본 발명은 데이터 분석 서버에서, 사용자를 분석하는 방법에 대한 것으로, 복수의 문제를 포함하는 문제 데이터베이스를 구성하고, 상기 문제에 대한 사용자의 풀이 결과 데이터를 수집하고, 상기 풀이 결과 데이터를 이용하여 상기 사용자를 모델링하기 위한 데이터 분석 모델을 생성하는 A 단계; 상기 데이터 분석 모델의 기계 학습에 필요한 데이터를 제안하는 전문가 모델을 생성하는 B 단계; 상기 전문가 모델의 추천에 따라 상기 문제 데이터베이스에서 적어도 하나 이상의 문제를 추출하고, 추출한 문제에 대한 사용자의 풀이 결과 데이터를 이용하여 상기 데이터 분석 모델을 업데이트하는 C 단계; 및 상기 데이터 분석 모델의 업데이트 정보에 상기 데이터 분석 모델의 예측 정확도가 향상되는 방향으로 설정된 리워드를 적용하여 상기 전문가 모델을 업데이트하는D 단계를 포함하는 것을 특징으로 한다.

Description

액티브 러닝 기법을 적용한 머신 러닝 프레임워크 운용 방법, 장치 및 컴퓨터 프로그램 {METHOD, APPARATUS AND COMPUTER PROGRAM FOR OPERATING A MACHINE LEARNING FRAMEWORK WITH ACTIVE LEARNING TECHNIQE}
본 발명은 데이터 분석 프레임워크를 이용하여 사용자 맞춤형 컨텐츠를 제공하는 방법에 대한 것이다. 보다 구체적으로 본 발명은 대량의 사용자 컨텐츠 소비 결과 데이터를 이용하여 문제 및/또는 사용자에 대한 분석 모델을 생성하고, 상기 분석 모델을 효율적으로 학습시키기 위해 필요한 데이터를 선별하는 전문가 모델을 운용하는 방법에 대한 것이다.
지금까지 교육 컨텐츠는 일반적으로 패키지로 제공되어 왔다. 예를 들어 종이에 기록되는 문제집은 권당 최소 700문제가 수록되어 있으며, 온라인 또는 오프라인 강의 역시 1-2 시간 단위로 최소 한달간 공부할 양을 묶어서 한번에 판매된다.
그러나 교육을 받는 학생들 입장에서는 개별적으로 취약한 단원과 취약한 문제 유형이 모두 상이하기 때문에 패키지 형태보다는 개인 맞춤형 컨텐츠에 대한 니즈가 존재한다. 자신이 취약한 단원의 취약한 문제 유형만을 골라서 학습하는 것이 문제집의 7백 문제 전체를 푸는 것보다 훨씬 효율적이기 때문이다.
그러나 피교육자인 학생들 스스로 자신의 취약점을 파악하는 것은 매우 어렵다. 나아가 학원, 출판사 등 종래의 교육 업계에서도 주관적 경험과 직관에 의존하여 학생 및 문제들을 분석하기 때문에 개별 학생들에게 최적화된 문제를 제공하는 것을 쉽지 않다.
이와 같이 종래의 교육 환경에서는 피교육자가 가장 효율적으로 학습 결과를 낼 수 있는 개인 맞춤형 컨텐츠를 제공하는 것이 쉽지 않으며, 학생들은 패키지 형태의 교육 컨텐츠에 대해 성취감과 흥미를 금방 잃게 되는 문제가 발생한다.
한국 특허 공보 10-1895961 (2018.9.6)
삭제
본 발명은 상기와 같은 문제를 해결하는 것을 목적으로 한다. 보다 구체적으로 본 발명은, 사용자 및/또는 문제 모델을 효율적으로 생성하기 위해 필요한 데이터를 선별하는 전문가 모델을 운용하는 방법에 대한 것이다.
본 발명의 실시예를 따르는, 데이터 분석 서버에서, 사용자를 분석하는 방법은, 복수의 문제를 포함하는 문제 데이터베이스를 구성하고, 상기 문제에 대한 사용자의 풀이 결과 데이터를 수집하고, 상기 풀이 결과 데이터를 이용하여 상기 사용자를 모델링하기 위한 데이터 분석 모델을 생성하는 A 단계; 상기 데이터 분석 모델의 기계 학습에 필요한 데이터를 제안하는 전문가 모델을 생성하는 B 단계; 상기 전문가 모델의 추천에 따라 상기 문제 데이터베이스에서 적어도 하나 이상의 문제를 추출하고, 추출한 문제에 대한 사용자의 풀이 결과 데이터를 이용하여 상기 데이터 분석 모델을 업데이트하는 C 단계; 및 상기 데이터 분석 모델의 업데이트 정보에 상기 데이터 분석 모델의 예측 정확도가 향상되는 방향으로 설정된 리워드를 적용하여 상기 전문가 모델을 업데이트하는D 단계를 포함하는 것을 특징으로 한다.
본 발명에 따르면, 기계학습 분야에서 데이터 분석 모델과 별도로 상기 분석 모델의 성능을 효율적으로 높이기 위한 데이터 선별 모델을 운용할 수 있다. 이에 따르면 데이터 선별 모델에서 데이터 분석 모델의 학습을 위한 데이터를 제안하기 때문에 데이터 분석 모델 학습에 필요한 컴퓨터 리소스를 줄일 수 있으며, 데이터 분석 모델의 신뢰성을 효율적으로 획득하고, 데이터 선별의 문제를 해결할 수 있는 효과가 있다.
도 1은 기계학습을 위한 데이터 세트의 문제점을 설명하기 위한 도면
도 2는 본 발명의 실시예를 따르는 데이터 분석 프레임워크에서 학습 데이터 분석 모델 및 데이터 코칭 모델을 운용하는 방법을 설명하기 위한 순서도
도 3은 문제 이해도 X 와 문제를 맞출 확률 P의 관계를 설명하기 위한 도면
도 4은 본 발명의 실시예를 따라 데이터 분석 모델의 학습을 위한 데이터 제안을 종료하는 방법을 설명하기 위한 도면
본 발명은 이하에 기재되는 실시예들의 설명 내용에 한정되는 것은 아니며, 본 발명의 기술적 요지를 벗어나지 않는 범위 내에서 다양한 변형이 가해질 수 있음은 자명하다. 그리고 실시예를 설명함에 있어서 본 발명이 속하는 기술 분야에 널리 알려져 있고 본 발명의 기술적 요지와 직접적으로 관련이 없는 기술 내용에 대해서는 설명을 생략한다.
한편, 첨부된 도면에서 동일한 구성요소는 동일한 부호로 표현된다. 그리고 첨부 도면에 있어서 일부 구성요소는 과장되거나 생략되거나 개략적으로 도시될 수도 있다. 이는 본 발명의 요지와 관련이 없는 불필요한 설명을 생략함으로써 본 발명의 요지를 명확히 설명하기 위함이다.
최근 IT 디바이스의 보급이 확대되면서, 사용자 분석을 위한 데이터 수집이 용이해지고 있다. 사용자 데이터를 충분히 수집할 수 있으면, 사용자의 분석이 보다 정밀해지고 해당 사용자에게 가장 적합한 형태의 컨텐츠를 제공할 수 있다.
이러한 흐름과 함께 특히 교육 업계에서 사용자 맞춤형 교육 컨텐츠 제공에 대한 니즈가 높다. 그런데 이와 같이 사용자 맞춤형 교육 컨텐츠를 제공하기 위해서는 각각의 컨텐츠 및 사용자 개개인에 대한 정밀한 분석이 필요하다.
종래에는 컨텐츠와 사용자를 분석하기 위해 해당 과목의 개념들을 전문가에 의해 수작업으로 정의하고 해당 과목에 대한 각 문제가 어떤 개념을 포함하고 있는지 전문가가 개별적으로 판단하여 태깅하는 방식을 따랐다. 이후 각 사용자가 특정 개념에 대해 태깅된 문제들을 풀어본 결과 정보를 토대로 학습자의 실력을 분석하는 것이다.
그러나 이와 같은 방법은 태그 정보가 사람의 주관에 의존하는 문제점이 있었다. 사람의 주관이 개입되지 않고 수학적으로 생성된 태그 정보들이 문제의 개념 포함도에 따라 부여되는 것이 아니기 때문에 결과 데이터에 대한 신뢰도가 높을 수 없는 문제가 있었다.
따라서 본 발명은 학습 데이터 처리 과정에 사람의 개입을 배제하기 위하여 빅데이터 처리 및 기계 학습을 위한 데이터 분석 프레임워크를 적용하고, 상기 데이터 분석 프레임워크를 통해 사용자 및/또는 문제를 분석하는 방법을 제공하는 것을 목적으로 한다.
이에 따르면, 사용자의 컨텐츠 적용 결과 로그를 수집하고, 사용자 및/또는 문제로 구성된 다차원 공간을 구성하고, 문제, 해설, 강의 등 컨텐츠를 사용자가 소비한 결과 데이터, 문제별 정오답 데이터 또는 문제의 보기별 선택 데이터 등을 기준으로 상기 다차원 공간에 값을 부여하여, 각각의 사용자 및 문제에 대한 벡터를 계산하는 방식으로 사용자 및/또는 문제를 모델링하고 사용자 모델링 벡터 및 문제 모델링 벡터를 계산할 수 있다.
이 경우 사용자 모델링 벡터는 개별 사용자의 전체 문제들에 대한 특성을 벡터 값으로 표현한 것이며, 문제 모델링 벡터는 개별 문제의 전체 사용자들에 대한 특성을 벡터 값으로 표현한 것으로 해석될 수 있다. 나아가 상기 사용자 모델링 벡터 및/또는 상기 문제 모델링 벡터를 계산하는 방법은 제한되지 않으며, 이를 계산하기 위해 사용되는 빅데이터 분석 프레임워크에 적용된 종래 기술에 따를 수 있다.
나아가 본 발명에서 상기 사용자 모델링 벡터, 상기 문제 모델링 벡터들이 어떤 속성, 또는 피처를 포함하고 있는지는 제한하여 해석될 수 없음을 유의해야 한다. 예를 들어, 사용자 모델링 벡터는 전체 사용자 중 개별 사용자의 특성을 표현하도록, 문제 모델링 벡터는 전체 문제 중 개별 문제의 특성을 표현하도록 표현될 수 있다.
또한 본 발명의 실시예를 따르면, 상기 사용자 모델링 벡터는 상기 사용자가 임의의 개념에 대해 이해하고 있는 정도, 즉 개념의 이해도에 대한 정보를 포함할 수 있다. 나아가 상기 문제 모델링 벡터는 상기 문제가 어떤 개념들로 구성되어 있는지, 즉 개념 구성도에 대한 정보를 포함할 수 있다. 나아가 본 발명의 실시예를 따르면 사용자 모델링 벡터 및 문제 모델링 벡터를 이용하여 특정 사용자의 특정 문제에 대한 정답 확률을 추정할 수 있다.
나아가 본 발명의 실시예를 따르면, 문제의 모델링 과정에서 해당 문제의 선택 보기들에 대한 파라미터를 추가하여, 문제 벡터는 문제-보기 벡터로 확장할 수 있으며, 상기 사용자 모델링 벡터와 상기 문제-보기 모델링 벡터를 이용하여 특정 사용자가 임의의 문제의 특정 보기를 선택할 확률이 계산될 수 있다.
그런데 데이터분석 프레임워크를 이용하여 사용자와 문제를 수학적으로 모델링하기 위해서는 학습 데이터 선별의 문제를 해결해야 한다.
도 1은 종래의 기계 학습 모델링에 적용되는 데이터 세트의 문제점을 설명하기 위한 도면이다.
대량의 컨텐츠 데이터베이스가 대량의 사용자에게 제공된 경우, 사용자들은 모든 컨텐츠를 일정한 빈도로 소비하지 않는다. 예를 들어 사용자 유입 초기에 제공된 문제 또는 각 챕터의 기본 문제들이 다른 문제들에 비해 훨씬 많이 풀릴 것이다. 따라서 풀이 빈도수에 대한 문제 수는 도 1에 도시된 그래프를 따른다. 즉, 문제 데이터베이스에서 대부분의 사용자가 여러 번 푼 문제는 전체 문제 중 매우 적으며 (100), 대부분의 문제들은 소수의 사용자에게 한두번 풀리는 경향 (200)을 보이며, 롱테일 분포를 따르게 된다.
그런데 문제에 대한 풀이 빈도수가 도 1과 같은 분포를 따르는 경우, 즉, 자주 풀린 문제의 개수는 너무 적고 가끔 풀린 문제의 개수가 너무 많은 경우, 해당 데이터를 이용하여 생성한 데이터 분석 모델은 데이터 불균형의 문제가 생길 수 있다.
예를 들어 영어 과목에서 동명사 문제가 자주 풀린 경우, 해당 풀이 데이터를 적용하여 학습한 분석 모델은 영어 과목 전체가 아니라 동명사 개념에 편향된 모델이 생성될 것이다. 즉, 동명사에 대한 문제 풀이 데이터에 편향된 데이터 세트를 기반으로 학습하여 생성한 사용자 모델은 영어 과목을 구성하는 전체 개념이 아니라 동명사 개념에 대한 이해도를 지배적으로 반영하게 될 것이다.
또한 동명사에 대한 문제 풀이 데이터에 편향된 데이터 세트를 기반으로 학습하여 생성한 문제 모델은 영어 과목을 구성하는 전체 개념이 아니라 동명사 개념에 대한 포함도를 지배적으로 반영하게 될 것이다. 이 경우, 사용자/문제 모델의 성능은 높게 평가되기 어렵다. 예를 들어 상기 사용자 모델을 이용하여 계산된 해당 사용자가 부정사 문제를 맞출 확률과 해당 사용자가 동일한 문제를 실제 풀이한 결과는 차이가 크게 나타날 수 있다.
따라서 기계 학습 모델의 성능을 높이기 위해서는 중복정보를 가지는 데이터를 선별하고, 필요한 정보를 가지는 데이터를 구별하는 작업이 필수적으로 요구된다.
이를 위해 종래에는 전체 데이터 세트를 이루는 각각의 데이터를 분석 모델 생성을 위한 기계학습 인풋으로 모두 사용하는 패시브 러닝 (passive learning)방식을 따랐다. 이는 기계 학습 프레임워크에서, 전체 데이터 세트를 한 번에 학습하기 적절한 크기로 분할하고 모두 인풋으로 사용하는 경우를 말하며, 따라서 데이터에 대한 어떠한 선별도 없이 분석 모델에서 수동적으로 모두 받아들여 학습하게 된다.
그러나 이와 같은 방식은 분석 모델을 생성하기 위해 사용하는 데이터 양이 매우 방대하여 데이터 분석 모델 생성을 위한 리소스가 과다하게 소요되는 문제가 발생한다. 동명사에 편중된 데이터 세트에 대한 위의 예에서, 영어 과목을 구성하는 전체 개념을 반영하는 모델을 구성하기 위해서는, 다른 개념에 대한 데이터까지 충분히 포함하는 매우 큰 사이즈의 데이터 세트가 필요할 것이다. 즉, 분석 모델의 성능을 일정 수준이상 담보하기 위해서는 매우 큰 사이즈의 데이터 세트를 수집하고 이를 처리해야 하기 때문에, 학습이 오래 걸리고 데이터 분석 프레임워크 운용에 소요되는 비용이 큰 문제가 발생한다.
따라서 본 발명은 상기 문제를 해결하기 위해, 데이터 분석 모델과 별도로, 상기 데이터 분석 모델의 학습에 필요한 데이터를 코칭하는 전문가 모델을 운용하는 방법을 제공하는 것을 목적으로 한다.
본 발명의 실시예를 따르면, 상기 전문가 모델은 해당 시점의 데이터 분석 모델의 상태에 따라, 미리 설정된 방향으로 데이터 분석 모델이 업데이트되기 위해 필요한 데이터를 제안할 수 있다. 나아가 본 발명의 실시예를 따르는 데이터 분석 모델은 상기 전문가 모델의 제안 데이터에 근접하는 모델링 벡터를 가지는 문제에 대한 풀이 결과 데이터를 학습할 수 있다. 이 경우, 데이터 분석 모델은 성능을 높이기 위해 특정 시점의 상태에 가장 적합한 데이터를 기반으로 학습할 수 있기 때문에, 최소한의 데이터를 처리하여 요구되는 수준의 성능에 빠르게 도달할 수 있다.
예를 들어, 동명사에 편중된 데이터 세트에 대한 위의 예에서, 본 발명의 실시예를 따르는 전문가 모델은 동명사 외 다른 개념에 대한 값을 가지는 벡터들을 추출하여 데이터 분석 모델에 노티스할 수 있다. 나아가 데이터 분석 모델은 상기 벡터와 근접하는 모델링 벡터를 가지는 문제들을 선별하여 사용자에게 제공하고, 상기 문제 풀이 결과 데이터를 사용자 벡터 생성에 적용하여 영어 과목 전체 개념의 이해도를 사용자 모델링 벡터에 반영하는 방식으로 데이터 편중의 문제를 해결할 수 있다.
도 2는 본 발명의 실시예를 따르는 데이터 분석 프레임워크에서 학습 데이터 분석 모델 및 데이터 코칭 모델을 운용하는 방법을 설명하기 위한 순서도이다. 도 2a에서 단계 210, 220, 225, 23 및 240은 본 발명의 실시예를 따르는 데이터 분석 프레임워크에서 컨텐츠 소비 결과에 대한 데이터를 이용하여 사용자 및/또는 문제 분석 모델을 생성하는 과정을 설명하기 위한 것이며, 단계 260, 265, 270, 275, 280 및 285은 본 발명의 실시예를 따르는 데이터 분석 프레임워크에서 상기 분석 모델을 효율적으로 생성하기 위해 필요한 데이터를 추천하는 전문가 모델을 생성하는 과정을 설명하기 위한 것이다.
본 발명의 실시예를 따르면, 도 2a에 도시된 바와 같이 사용자 및/또는 문제 모델과 전문가 모델은 상이한 데이터를 기반으로 학습되어 별개의 기능을 수행하는 소프트웨어라고 할 수 있으나, 두 모델은 서로 유기적으로 연결되어 전체 데이터 분석 프레임워크의 성능 향상에 기여할 수 있다.
본 발명의 실시예를 따르면 도 2a의 단계 210에서 전체 컨텐츠와 전체 사용자에 대한 컨텐츠 소비 결과 데이터가 수집되고, 단계 220에서 상기 컨텐츠 소비 결과 데이터를 이용하여 전체 사용자 및/또는 컨텐츠에 대한 분석 모델 M을 생성할 수 있다.
예를 들어 데이터 분석 서버는, 텍스트, 이미지, 오디오, 및/또는 동영상 형태의 문제, 해설, 강의 등의 학습 컨텐츠에 대한 데이터베이스를 구성하고, 상기 컨텐츠 데이터베이스에 대한 사용자들의 엑세스 결과 데이터를 수집할 수 있다.
예를 들어 데이터 분석 서버는 전체 사용자들에 대한 문제 풀이 결과 데이터, 해설 조회 데이터 또는 강의 동영상 러닝 데이터 등을 수집할 수 있다. 보다 구체적으로 데이터 분석 서버는 시중에 나와 있는 각종 문제들에 대한 데이터베이스를 구축하고, 사용자 디바이스에 문제 데이터베이스를 제공하고, 상기 사용자 디바이스를 통해 사용자가 해당 문제들을 풀이한 결과를 수집하는 방식으로 풀이 결과 데이터를 수집할 수 있다.
나아가 데이터 분석 서버는 수집된 문제 풀이 결과 데이터를 사용자, 문제, 결과에 대한 리스트 형태로 구성할 수 있다. 예를 들어 Y (u, i)는 사용자 u가 문제 i를 푼 결과를 의미하며, 정답인 경우 1, 오답인 경우 0의 값이 부여될 수 있다.
그런데 객관식 문제는 지문뿐만 아니라 보기 요소가 포함되어 구성되는데, 분석의 소스로 정오답 여부만을 반영하는 경우, 두 학생이 같은 문제를 틀렸으나 다른 선택지를 골랐을 경우, 두 학생의 벡터값 계산에 해당 문제가 미치는 영향이 동일하여 해당 문제가 분석 결과에 미치는 영향이 희석될 수 있다.
예를 들어 어떤 학생이 특정 문제를 동명사에 대한 보기를 선택하면서 틀린 경우와 동사의 시제에 대한 보기를 선택하면서 틀린 경우, 종래의 방식에 따르면 해당 문제의 벡터값 계산에 학생의 풀이 결과는 충분히 반영되지 못하고 실질적으로 희석되게 된다.
따라서 본 발명의 다른 실시예를 따르는 데이터 분석 서버는 수집된 문제 풀이 결과 데이터를 사용자가 선택한 보기 파라미터를 적용하여 확장할 수 있다.
이 경우 데이터 분석 서버는 수집된 풀이 결과 데이터를 사용자, 문제, 선택 보기에 대한 리스트 형태로 구성할 수 있다. 예를 들어 Y (u, i, j)는 사용자 u가 문제 i의 보기 j를 선택한 결과를 의미하며, 선택한 경우 1, 오답인 경우 0의 값이 부여될 수 있다.
단계 220에서 본 발명의 실시예를 따르는 데이터 분석 서버는 사용자와 문제로 구성된 다차원 공간을 구성하고, 사용자가 문제를 맞았는지 틀렸는지를 기준으로 상기 다차원 공간에 값을 부여하여, 각각의 사용자 및 문제에 대한 모델링 벡터를 계산할 수 있다.
또 다른 예로 본 발명의 실시예를 따르는 데이터 분석 서버는 사용자와 문제의 선택 보기로 구성된 다차원 공간을 구성하고 사용자가 해당 보기를 선택했는지를 기준으로 상기 다차원 공간에 값을 부여하여, 각각의 사용자 및 문제 보기에 대한 모델링 벡터를 계산할 수 있다.
본 발명의 실시예를 따라 사용자와 문제를 모델링 벡터로 표현하면, 특정 사용자가 특정 문제를 맞출지 틀릴지, 즉, 특정 사용자의 특정 문제에 대한 정답 확률을 수학적으로 계산할 수 있다.
예를 들어 데이터 분석 서버는 상기 사용자 모델링 벡터 및 상기 문제 모델링 벡터를 이용하여 특정 사용자의 특정 문제에 대한 이해도를 추정하고 상기 이해도를 이용하여 특정 사용자가 특정 문제를 맞출 확률을 추정할 수 있다.
예를 들어 사용자 모델링 벡터의 1번째 행의 값이 [0, 0, 1, 0.5, 1] 인 경우, 이는 제 1 사용자가 1, 2번째 개념은 전혀 이해하지 못하고, 3번째 및 5번째 개념은 완벽히 이해하고, 그리고 4번째 개념은 절반만큼 이해한 것으로 해석될 수 있다.
나아가 문제 벡터의 1번째 행의 값이 [0, 0.2, 0.5, 0.3, 0]이라 할 때, 이는 제 1 문제가 1번 개념은 전혀 포함하고 있지 않고, 2번 개념이 20% 정도 포함, 3번 개념이 50% 정도 포함, 4번 개념이 30% 정도 포함된 것으로 해석될 수 있다.
한편 본 발명의 실시예를 따르는 데이터 분석 시스템은, 사용자의 개념 이해도 L, 문제의 개념 포함도 R이 충분한 신뢰도로 추정되면 사용자와 문제 사이의 상호 관계를 낮은 계수 행렬을 통해 수학적으로 연결할 수 있다.
예를 들어 서비스 서버는 분석 대상 전체 사용자 수가 n, 분석 대상 전체 문제 개수가 m인 경우, 해당 과목을 구성하는 미지의 개념의 개수를 r로 상정하면, 사용자의 개념별 이해도 행렬 L을 n by r 행렬로 정의하고, 문제의 개념별 포함 정도에 대한 행렬 R을 m by r 행렬로 정의할 수 있다. 이 경우, L을 R의 전치행렬 RT과 연결하면, 개념 또는 개념의 개수를 별도로 정의하지 않고 사용자와 문제의 상호 관계를 분석할 수 있다.
즉, 사용자별 문제 이해도 행렬 X는 L과 R의 전치행렬의 곱 (
Figure 112019034360954-pat00001
으로 표현될 수 있다.
이를 적용하면 L의 1번째 행의 값이 [0, 0, 1, 0.5, 1], R의 1번째 행의 값이 [0, 0.2, 0.5, 0.3, 0]인 위의 예에서, 사용자 1이 문제 1에 대한 이해도 X(1,1)은
Figure 112019034360954-pat00002
와 같이 계산될 수 있다. 즉, 사용자 1은 문제 1을 65퍼센트 이해하는 것으로 추정될 수 있다.
그러나 사용자의 특정 문제에 대한 이해도와 특정 문제를 맞출 확률은 동일하다고 할 수 없다. 위의 예에서 제 1 사용자가 제 1 문제를 65 퍼센트 이해한다면 제 1 문제를 실제로 풀었을 때 정답일 확률은 어느 정도인 것인가?
이를 위해 심리학, 인지과학, 교육학 등에서 사용되는 방법론을 도입하여 이해도와 정답률의 관계를 추정할 수 있다. 예를 들어 Reckase 및 McKinely가 고안한 M2PL (multidimensional two-parameter logistic) 잠재적 특성 이론 (Latent Trait Model) 등을 고려하여 이해도와 정답률을 추정할 수 있다.
상기 이론을 적용하여 충분히 큰 데이터를 사용하여 실험한 결과, 문제 이해도 X 와 문제를 맞출 확률 P은 리니어하지 않으며, 도 3과 같은 형태의 결과가 관측되었다.
도 3은 문제 이해도 X와 문제를 맞출 확률 P를 충분히 큰 데이터를 사용하여 실험한 결과에 대한 2차원 그래프로, X축은 이해도, Y축은 정답 확률을 의미한다.
상기 그래프를 통해, 사용자가 문제를 맞출 확률 P를 추정하기 위한 함수
Figure 112019034360954-pat00003
를 아래의 수학식과 같이 도출할 수 있다. 다시 말하면, 문제 정답 확률 P는 함수
Figure 112019034360954-pat00004
에 문제 이해도 X를 적용하면 계산될 수 있다.
Figure 112019034360954-pat00005
사용자 1의 문제 1에 대한 이해도가 65퍼센트인 위의 예에서, 사용자 1이 문제 1를 맞출 확률은
Figure 112019034360954-pat00006
와 같이 계산되어 86%에 해당한다. 즉, 사용자 1은 개념 2, 4는 전혀 이해하지 못하고, 개념 3을 완전히 이해하며, 문제 1은 개념 2가 20%, 개념 3을 50%, 개념 4가 30%로 구성된 문제인데, 위의 공식에 의하면 사용자 1이 문제 1을 풀게 되면 86퍼센트의 확률로 정답일 것으로 추정될 수 있다.
다만 본 발명은 합리적인 방식으로 이해도와 정답률 관계를 추정할 수 있는 종래 기술을 적용하여 사용자의 문제에 대한 정답 확률을 계산할 수 있으면 족하며, 본 발명은 이해도와 정답률의 관계를 추정하는 방법론에 제한되어 해석될 수 없음을 유의해야 한다.
위와 같은 실시예를 따라 사용자 모델링 벡터와 문제 모델링 벡터를 계산하면, 사용자 모델링 벡터와 문제 모델링 벡터의 관계를 이용하여 사용자 모델링 벡터가 특정 문제의 정답률을 의미하도록 제공될 수 있다.
한편, 본 발명의 또 다른 실시예를 따르면, 사용자의 문제에 대한 정답률은 문제의 보기별 선택 확률을 이용하여 추정할 수도 있다. 예를 들어 제 1 사용자가 특정 문제에 대한 보기 선택 확률이 (0.1, 0.2, 0, 0.7)인 경우, 사용자는 높은 확률로 보기 4번을 선택할 것이고, 해당 문제의 정답이 4번인 경우, 제 1 사용자는 그 문제를 맞을 확률이 높을 것으로 예상할 수 있다.
이를 위해 데이터 분석 서버는 사용자 및 문제-보기를 변수로 다차원 공간을 구성하고, 사용자가 해당 문제-보기를 선택했는지를 기준으로 상기 다차원 공간에 값을 부여하여, 각각의 사용자 및 문제-보기에 대한 벡터를 계산할 수 있다.
이때 상기 사용자 모델링 벡터와 상기 문제-보기 모델링 벡터에 다양한 알고리즘을 적용하여 상기 선택률을 추정할 수 있으며, 본 발명을 해석함에 있어 선택률을 계산하기 위한 알고리즘은 제한되지 않는다. 즉, 사용자 모델링 벡터와 문제-보기 모델링 벡터의 관계를 이용하여 사용자 모델링 벡터가 특정 문제의 특정 보기에 대한 선택 확률을 의미하도록 제공될 수 있다.
예를 들어, 본 발명의 실시예를 따르면, 아래의 수학식과 같은 시그모이드 함수를 적용하면, 사용자의 문제-보기 선택률을 추정할 수 있다. (x는 문제-보기 벡터, 는 사용자 벡터)
hO(x) = 1 / ( 1 + e( -O * T * X) )
나아가 본 발명의 실시예를 따르는 데이터 분석 서버는 사용자의 보기 선택률을 이용하여 문제의 정답률을 추정할 수 있다.
그런데 예를 들어 4지 선다형으로 구성된 특정 문제에 대해 특정 사용자의 보기 선택 확률이 (0.5, 0.1, 0.3, 0.6)이며, 정답 보기는 1번인 경우, 상기 사용자가 해당 문제를 맞출 확률은 얼마인지가 문제된다. 즉, 해당 문제에 대한 복수의 보기 선택률을 이용하여 해당 문제의 정답률을 추정하는 방법을 고려할 수 있다.
본 발명의 실시예를 따라 보기 선택률을 문제 정답률로 환원하는 간단한 방식으로는 전체 보기의 선택률 대비 정답 보기의 선택률을 비교하는 방법을 고려할 수 있다. 이 경우 앞의 예에서 해당 사용자의 해당 문제에 대한 정답률은 0.5 / (0.5+0.1+0.3+0.6)로 계산할 것이다. 그러나 사용자는 문제를 풀이할 때는 보기 단위로 구분하여 해당 문제를 이해하는 것이 아니라, 전체 보기에 대한 구성 및 문제의 출제 의도를 포함하여 문제 단위로 이해하기 때문에 보기 선택률과 정답률은 단순 연결될 수 없다.
따라서 본 발명의 실시예를 따르면, 해당 문제의 전체 보기 선택률을 평균화하고 정답 보기의 평균화된 선택률을 전체 보기의 선택률에 적용하는 방식으로 보기 선택률로부터 해당 문제의 정답률을 추정할 수 있다.
앞의 예에서 보기의 선택 확률이 (0.5, 0.1, 0.3, 0.6)인 경우, 이를 전체 보기에 대해 평균화하면 각각의 보기 선택률은 (0.33, 0.07, 0.20, 0.41)로 스케일이 변경될 수 있다. 정답 보기가 1번인 경우, 보기 1의 평균화된 선택률은 0.33으로, 해당 사용자의 해당 문제에 대한 정답률은 33%로 추정될 수 있다.
나아가 본 발명의 실시예를 따르는 서비스 서버는 사용자의 문제-보기 선택 확률을 이용하여 문제의 정답률을 추정할 수 있으며, 이를 통해 특정 개념에 대한 사용자의 이해도를 추정할 수 있다.
한편, 본 발명의 실시예를 따르는 데이터 분석 모델은 단계 260에서 사용자, 문제 분석 모델 M을 효율적으로 업데이트하기 위해 필요한 데이터를 코칭하는 전문가 모델 T을 생성할 수 있다. 예를 들어, 전문가 모델 T은 분석 모델 M의 상태 정보, 업데이트 정보 및 상기 업데이트의 원인이 되는 데이터 정보를 기반으로 행동을 취하고 그에 따른 모델의 변화 상태에 따라 그 행동에 대한 보상을 받아 전체 보상의 합을 최대화하는 방향으로 학습하는 강화 학습을 통해 생성될 수 있다.
예를 들어, 데이터 분석 서버는 전문가 모델 T의 초기값 Tint을 임의의 형태로 부여하고, 분석 모델 M에 제안하기 위한 적어도 하나 이상의 임의의 벡터값을 추출할 수 있다. (단계 265) 상기 벡터는 분석 모델 M이 계산한 사용자 벡터의 성능, 예를 들어, 분석 모델 M에 따라 계산된 임의의 사용자가 임의의 문제를 맞출 확률의 신뢰도를 높이기 위하여 필요한 데이터를 수집하기 위한 문제를 의미할 수 있다.
이후 전문가 모델 Tint에서 추출된 벡터값은 분석 모델 M에 제안될 수 있다. (단계 267) 이후 분석 모델 M은 상기 백터 값과 근접한 모델링 벡터를 가지는 문제를 적어도 하나 이상 확인하고, (단계 225) 해당 문제들을 사용자에게 제공하여 (단계 230) 문제 풀이 결과 데이터를 수집할 수 있으며, 이를 반영하여 업데이트 할 것이다. (단계 240)
한편, 전문가 모델 Tint의 제안에 따라 업데이트된 분석 모델의 상태 정보는 전문가 모델 Tint의 학습에 이용될 수 있다. 보다 구체적으로, 전문가 모델 T는 업데이트 이전의 분석 모델 M과 업데이트 이후의 분석 모델 M'의 예측 성능을 비교하고 학습하며, 분석 모델의 예측 성능의 변경 값을 토대로 자신의 제안에 대해 평가를 받고 리워드를 얻을 수 있다. (단계270). 그리고 리워드를 극대화하는 방향으로 전문가 모델 T를 업데이트 할 수 있다. (단계 275)
도 2a의 단계 270에서 본 발명의 실시예를 따르는 리워드는 분석 모델 M의 학습 방향 또는 지향점을 의미하는 것으로 해석될 수 있다. 예를 들어 리워드는 분석 모델 M에 따라 예측한 특정 사용자의 특정 문제에 대한 정답 확률 또는 보기 선택 확률이 실제 풀이 결과와 일치하는 방향으로 분석 모델 M이 업데이트되어 분석 모델 M의 예측 정확도가 상승하도록 설정될 수 있다.
예를 들어, 사용자 A가 1, 2, 3, 4, 5번 문제를 풀이한 데이터를 적용하여 생성한 사용자 A의 모델링 벡터 UA를 고려할 수 있다. 이때 UA가 사용자 A의 전체 문제에 대한 정답 확률을 의미하는 벡터라고 하면, 데이터 분석 모델 M은 UA의 예측 정확도, 즉 각각의 문제에 대해 사용자 A가 실제 풀이한 결과와 데이터 분석 모델 M 이 추정하는 사용자 A의 각각의 문제에 대한 정답 확률의 차이를 줄이는 방향으로 업데이트되는 것이 바람직할 것이며, 전문가 모델 T는 데이터 분석 모델 M이 상기 방향으로 업데이트되기 위해 필요한 데이터를 추천하도록 업데이트되어야 할 것이다.
예를 들어 전문가 모델 T는 해당 시점의 UA의 예측 정확도를 높이기 위해 풀이 결과 데이터가 필요한 문제에 대한 벡터를 추천할 수 있다. 이 경우, 데이터 분석 서버는 추천받은 벡터 값과 근접한 모델링 벡터를 가지는 6번 문제를 추출하고, 사용자 A에게 6번 문제를 제공하고, 사용자 A의 제 6 문제에 대한 풀이 결과 데이터를 수집할 수 있다. 상기 풀이 결과 데이터는 사용자 A가 6번 문제를 풀면서 선택한 보기, 6번 문제의 정답 보기, 풀이 시점에 대한 정보를 포함할 수 있으며, 데이터 분석 모델 M 은 상기 풀이 결과 데이터를 적용하여 업데이트될 것이다. 사용자 A의 모델링 벡터 UA가 △UA 만큼 변경되어 UA'로 업데이트 된 경우, 전문가 모델 T는 데이터 분석 모델 M으로부터 △UA , UA', 및 6번 문제의 모델링 벡터 Q6에 대한 정보를 수신할 것이다.
이 경우, 전문가 모델 T는 데이터 분석 모델 M의 업데이트 방향에 대한 정보를 의미하는 △UA 및 데이터 분석 모델 M의 해당 시점의 상태 정보를 의미하는 UA'를 토대로 6번 문제를 추천한 것이 적절했는지, 즉 6번 문제 풀이 결과 데이터를 적용하여 업데이트한 데이터 분석 모델 M의 성능이 좋아졌는지를 판단하여 리워드를 생성하고, 상기 리워드를 적용하여 업데이트 될 수 있다.
예를 들어 6번 문제를 추천한 것이 적절하지 않은 경우, T는 분석 모델 M이UA의 상태일 때 Q6과 상이한 벡터를 추출하도록 학습될 것이다.
예를 들어, 사용자 A가 1, 2, 3, 4, 5번 문제를 풀이한 데이터를 기반으로 형성한 사용자 모델링 벡터 UA 6번 문제의 벡터Q6로 추정한 정답 확률과 사용자 A가 실제 6번 문제를 풀이한 결과의 차이가 사용자 A가 1, 2, 3, 4, 5, 6번 문제를 풀이한 데이터를 기반으로 형성한 사용자 모델링 벡터 UA'와 Q6로 추정한 정답 확률과 사용자 A가 실제 6번 문제를 풀이한 결과의 차이보다 작은 경우, 6번 문제 풀이 데이터를 적용하여 분석 모델 M의 예측 정확도가 낮아진 것으로 해석할 수 있다. 이 경우, 전문가 모델 T는 (△UA , UA', Q6)에 음의 리워드를 적용하여 업데이트할 것이다. 이 경우 전문가 모델 T는 유사한 데이터 분석 모델 M의 상태에서는 6번 유사하지 않은 문제를 추천하는 방향, 즉 Q6과 유사하지 않은 벡터를 추출하도록 학습될 것이다.
반면, 6번 문제를 추천한 것이 적절한 경우, T는 분석 모델 M이UA의 상태일 때 Q6과 유사한 벡터를 추출하도록 학습될 것이다.
예를 들어, 사용자 모델링 벡터 UA 6번 문제의 벡터Q6로 추정한 정답 확률과 사용자 A가 실제 6번 문제를 풀이한 결과의 차이가 UA'와 Q6로 추정한 정답 확률과 사용자 A가 실제 6번 문제를 풀이한 결과의 차이보다 큰 경우, 6번 문제 풀이 데이터를 적용하여 분석 모델 M의 예측 정확도가 높아진 것으로 해석할 수 있다. 이 경우, 전문가 모델 T는 (△UA , UA', Q6)에 양의 리워드를 적용하여 업데이트할 것이다. 이 경우 전문가 모델 T는 유사한 데이터 분석 모델 M의 상태에서는 6번과 유사한 문제를 추천하는 방향, 즉 Q6과 유사한 벡터를 추출하도록 학습될 것이다.
이와 같이 전문가 모델 T의 학습에 적용되는 리워드는 전술한 바와 같이 데이터 분석 모델 M의 예측 정확도를 높이는 방향으로 설정할 수 있지만, 본 발명의 다른 실시예를 따르면, 예측 점수 분산 범위를 좁히는 방향으로도 설정할 수 있다. 이 경우, 전문가 모델 T는 분석 모델 M의 예측이 정교해지는 방향으로 학습되기 위한 데이터를 추출하는 방향으로 형성될 것이다.
이후, 단계 275에서 전문가 모델 T는 분석 모델 M으로부터 수신한 데이터 (△UA , UA', Q)를 리워드에 따라 학습하여 업데이트될 것이다.
한편, 분석 모델 M 및/또는 전문가 모델 T의 학습 범위가 클수록 모델의 성능은 높아질 것이나 데이터 분석 프레임워크를 운용하기 위한 리소스가 상승할 것이다. 따라서 학습의 최적화 범위를 고려할 필요가 있다.
단계 280은 분석 모델 M 및/또는 전문가 모델 T이 최적화된 수준으로 학습하기 위한 단계이다. 전문가 모델 T는 해당 시점에 형성된 분석 모델 M의 성능이 충분하지 않으면 분석 모델 M의 학습을 위한 데이터 제안을 계속할 것이나, 분석 모델 M 의 성능이 충분하면 데이터 제안을 종료하고, 데이터 분석 서버는 해당 시점의 분석 모델 M으로 사용자 및/또는 컨텐츠를 분석하는 것이 적절할 것이다.
전문가 모델 T가 데이터 제안을 종료하는 경우, 즉 분석 모델 M 및/또는 전문가 모델 T가 충분히 학습된 상황은 크게 세가지를 고려할 수 있다. 도 4는 분석 모델 M 및/또는 전문가 모델 T의 업데이트를 종료하는 경우를 설명하기 위한 도면이다.
첫번째는 해당 시점의 분석 모델 M으로 사용자 및/문제를 충분히 진단할 수 있을 때이다. 예를 들어, 분석 모델 M이 사용자A의 문제 풀이 결과 데이터를 추가로 학습하지 않아도 사용자 벡터 UA를 통해 충분한 정확도로 사용자 A의 전체 문제에 대한 정답 확률을 추정할 수 있는 경우, 또는 충분한 정확도로 사용자 A의 외부 시험 점수를 추정할 수 있는 경우이다. 이는 해당 시점의 분석 모델이 계산한 추정값의 정확도가 임계치 이상인지 여부를 확인하여 판단할 수 있다. (도 4의 450)
두번째는 풀이 결과 데이터를 추가로 학습한다 하더라도 사용자 및/또는 문제의 특성을 더 이상 파악할 수 없을 때이다. 즉, 학습의 효과가 없는 경우인데, 전문가 모델 T의 추천에 따라 데이터를 추가로 학습한다 하더라도 분석 모델 M의 변화가 없을 것으로 예상되는 경우이다. 예를 들어 사용자A의 풀이 결과 데이터의 추가에도 불구하고 사용자 벡터 UA를 통해 계산한 추정값의 정확도가 변경되지 않고 임의의 범위 내에서 유지되는 경우, 이에 해당할 수 있다. (도 4의 460)
세번째는 전문가 모델 T가 추천한 데이터가 분석 모델 M에 이미 반영된 경우이다. 예를 들어 사용자 A가 제 1 문제 내지 제 20 문제를 풀이한 결과 데이터를 이용하여 사용자 벡터 UA가 생성되었는데, 전문가 모델 T가 계산한 추천 문제가 제 1 문제 내지 제 20 문제 중 어느 하나인 경우를 고려할 수 있다.
종료 조건이 만족되면, 전문가 모델 T는 데이터 제안을 종료하고, 전문가 모델 T 및 분석 모델 M의 학습 역시 종료될 것이다. 반면, 종료 조건이 만족하지 않는 경우, 전문가 모델 T는 해당 시점의 분석 모델 M의 학습에 필요한 데이터를 추출하여 분석 모델 M에 추천할 수 있다.
특히, 본 발명의 실시예를 따르면, 단계 245에서 전문가 모델 T에 획득된 분석 모델 M의 상태 정보, 업데이트 정보 및 업데이트의 원인이 되는 문제 모델링 벡터 정보는 전문가 모델 T의 학습에 사용되는 것은 물론 (단계 275), 업데이트된 전문가 모델에서 다음 제안 데이터를 결정하기 위한 인풋으로 활용되는 특징이 있다. (단계 285)
즉, 전문가 모델 T은 종래 제안에 따라 변경된 분석 모델의 상태 정보를 참고하여 분석 모델 M의 성능을 높이기 위해 필요한 다음 데이터를 제안할 수 있다.
사용자 A에 대한 위의 예에서, 사용자 A의 모델링 벡터 UA 가 전문가 모델 T의 제안에 따라, 제 6 문제의 풀이 결과 데이터를 적용하여 UA'로 업데이트 된 경우, 전문가 모델 T는 △UA , UA', 및 6번 문제의 모델링 벡터 Q6에 대한 정보를 참고하여, UA'의 성능을 높이기 위해 제안할 다음 벡터 값을 계산할 수 있다. 상기 벡터는 분석 모델 M이 계산한 사용자 벡터 UA 의 성능, 예를 들어, 분석 모델 M에 따라 계산된 사용자 A가 임의의 문제를 맞출 확률의 신뢰도를 높이기 위하여 필요한 데이터를 수집하기 위한 문제를 의미할 수 있다.
이후, 분석 모델 M은 전문가 모델 T로부터 수신한 벡터와 미리 설정된 범위의 유사도를 가지는 문제 벡터를 추출하여 사용자에게 제공하고, 해당 문제의 풀이 결과 데이터를 학습할 것이다.
한편, 본 발명의 실시예를 따라 전문가 모델 T를 운용하면, 새로 유입된 사용자 분석을 위해 필요한 최적화된 진단용 문제 세트를 효율적으로 구성할 수 있다.
신규 유입된 사용자나 문제의 경우, 해당 사용자나 문제에 대한 데이터가 축적되기 전에는 분석 결과를 제공할 수 없는 문제가 있다. 따라서 데이터 분석 프레임워크에서 초기 분석 결과를 임의의 신뢰도로 도출하기 위해 신규 사용자 또는 신규 문제에 대한 학습 결과 데이터를 효율적으로 수집할 필요가 있다. 일반적으로는 신규 사용자에게 진단 문제를 제공하고, 진단 문제에 대한 풀이 결과를 이용하여 신규 사용자의 초기 분석 모델을 형성하게 된다.
이 경우, 진단용 문제는 많을수록 신규 사용자에 대한 보다 정밀한 분석이 가능하다. 그러나 사용자 입장에서는 진단 문제를 조금만 풀어도 신뢰성 있는 분석 결과를 제공받기를 바랄 것이다. 따라서 사용자 분석 결과의 신뢰도가 임의의 범위 이상 확보될 수 있는 최소한의 문제로 진단용 문제를 구성할 필요가 있다. 그런데 본 발명의 실시예를 따르는 전문가 모델 T를 운용하면 신규 사용자가 풀어야할 문제 세트를 효율적으로 추출할 수 있어 많은 문제를 풀어볼 필요없이 신뢰성 있는 분석 결과를 제공할 수 있는 효과가 있다.
신규 사용자가 유입된 경우, 본 발명의 실시예를 따르는 데이터 분석 서버는 문제 데이터베이스에서 적어도 하나 이상의 문제를 임의로 추출하여 신규 사용자에게 제공하고, 풀이 결과 데이터를 적용하여 신규 사용자의 사용자 모델링 벡터 Uint 를 설정하고 이를 전문가 모델 T에 노티스할 수 있다.
예를 들어, 특정 신규 사용자에게 a, b, c 보기로 구성된 제 1 문제를 제공하고, 해당 신규 사용자가 제 1 문제의 a보기를 선택한 경우, 데이터 분석 서버는 (unew, 1, a) = 1, (unew, 1, b) = 0, (unew, 1, c) = 0 데이터를 데이터 분석 프레임워크에 적용하여 신규 사용자 unew의 초기 모델링 벡터를 계산할 수 있다.
이후 본 발명의 실시예를 따르는 전문가 모델 T은 신규 사용자 진단을 위해 필요한 임의의 문제 벡터를 적어도 하나 이상 추천할 수 있다.
이 경우, 데이터 분석 서버는 전문가 모델 T의 추천에 따르는 문제들을 진단 문제로 신규 사용자에게 제공할 것이다. 분석 모델 M은 진단 문제에 대한 사용자의 풀이 결과 데이터를 적용하여 사용자 벡터를 업데이트하고, 업데이트 사용자 벡터, 사용자 벡터의 변경 값 및 진단 문제 벡터에 대한 정보를 전문가 모델 T에 노티스할 것이다.
전문가 모델 T는 사용자 모델 U의 성능이 좋아진 경우, 양의 리워드를 적용하여 정보를 학습하고 사용자 모델 U의 성능이 나빠진 경우, 음의 리워드를 적용하여 정보를 학습할 것이다. 이후 전문가 모델 T는 사용자 모델 U의 성능이 충분한지 판단하여, 사용자 모델의 성능이 미리 설정된 범위 이상이 될 때까지 U의 성능 향상에 필요한 문제 벡터를 추천할 수 있다.
한편, 전술한 도 2a의 예시는 분석 모델 M에서 사용자에게 추천 문제를 제공하면서 동시에 분석 모델 M과 전문가 모델 T가 데이터 수집 결과를 반영하여 업데이트되는 경우에 대한 것이다. 한편 본 발명의 다른 실시예를 따르면, 사용자에게 문제를 추천하기 위하여 분석 모델을 운영하는 프레임워크와 전문가 모델을 학습하는 프레임워크가 논리적 및/또는 물리적으로 분리된 컴퓨팅 장치에서 구현될 수 있다. 보다 구체적으로, 사용자에게 문제를 추천하는 시스템과 전문가 모델의 학습을 위한 시스템이 논리적, 물리적으로 분리되어 운영될 수 있다.
도 2b는 본 발명의 상기 실시예에 대한 설명을 위한 순서도이다. 도 2b에 대한 설명에서 도 2a와 중복되는 부분은 설명을 생략한다.
도 2b의 단계 270에서 전문가 모델 T를 운용하는 프레임워크는 분석 모델의 업데이트 정보에 대한 히스토리를 기록할 수 있다. 즉, 분석 모델 M의 상태 정보, 업데이트 M' 정보 및 업데이트의 원인이 되는 문제 모델링 벡터 정보에 대한 히스토리를 기록할 수 있다. 나아가, 도 2a와는 달리 전문가 모델 T를 업데이트하지 않고, 종료 조건을 만족하지 않는 이상 (단계 280), 전문가 모델 T를 이용하여 분석 모델 M에 문제 벡터를 제안할 수 있다. (단계 265)
한편, 전문가 모델 T 운용 프레임워크는 임의의 시점에 분석 모델의 업데이트 히스토리 정보를 반영하여 전문가 모델 T를 업데이트할 수 있다. (단계 275) 이때 전문가 모델 T의 업데이트 방향을 설정하기 위한 리워드가 적용되며 (단계 270) 이는 도 2a의 실시예와 실질적으로 동일할 수 있다.
본 명세서와 도면에 게시된 본 발명의 실시 예들은 본 발명의 기술 내용을 쉽게 설명하고 본 발명의 이해를 돕기 위해 특정 예를 제시한 것뿐이며, 본 발명의 범위를 한정하고자 하는 것은 아니다. 여기에 게시된 실시 예들 이외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형 예들이 실시 가능하다는 것은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 자명한 것이다.

Claims (6)

  1. 데이터 분석 서버에서, 사용자를 분석하는 방법에 있어서,
    복수의 문제를 포함하는 문제 데이터베이스를 구성하고, 상기 문제에 대한 사용자의 풀이 결과 데이터를 수집하고, 상기 풀이 결과 데이터를 학습하여 상기 사용자를 모델링하기 위한 데이터 분석 모델을 생성하는 A 단계;
    상기 데이터 분석 모델과 독립적으로 동작하고, 상기 데이터 분석 모델과 상이한 데이터를 기반으로 학습되며, 임의의 시점의 상기 데이터 분석 모델의 성능을 높이기 위하여 상기 데이터 분석 모델에서 필요한 학습 데이터를 추천하는 전문가 모델을 생성하는 B 단계;
    상기 전문가 모델의 추천에 따라 상기 문제 데이터베이스에서 적어도 하나 이상의 문제를 추출하고, 추출한 문제에 대한 사용자의 풀이 결과 데이터를 이용하여 상기 데이터 분석 모델을 업데이트하는 C 단계; 및
    상기 데이터 분석 모델의 업데이트 정보에 상기 데이터 분석 모델의 예측 정확도가 향상되는 방향으로 설정된 리워드를 적용하여 상기 전문가 모델을 업데이트하는 D 단계를 포함하며
    상기 B 단계는,
    상기 데이터 분석 모델의 제 1 상태 정보, 제 2 상태 정보 및 상기 제 1 상태가 상기 제 2 상태로 변경된 원인이 되는 데이터 정보를 학습하여 상기 전문가 모델을 생성하는 단계를 포함하는 것을 특징으로 하는 사용자 분석 방법.
  2. 제 1항에 있어서,
    상기 A 단계는, 상기 문제에 대한 사용자 각각의 특성을 설명하는 사용자 모델링 벡터를 계산하고, 상기 사용자 모델링 벡터를 이용하여 사용자의 문제에 대한 정답 확률을 추정하는 단계를 포함하며,
    상기 D단계는, 사용자가 문제를 실제 풀이한 결과와 상기 사용자 모델링 벡터를 이용하여 추정한 상기 문제의 정답 확률의 차이인 사용자 모델링 벡터의 예측 성능을 높이도록 설정된 리워드를 적용하여 상기 전문가 모델을 업데이트하는 단계를 포함하는 것을 특징으로 하는 사용자 분석 방법.
  3. 제 1항에 있어서,
    상기 A 단계는, 상기 문제에 대한 사용자 각각의 특성을 설명하는 사용자 모델링 벡터를 계산하고, 상기 사용자 모델링 벡터를 이용하여 상기 문제 데이터베이스를 이용하지 않고 출제된 외부 시험에 대한 사용자의 예측 점수를 추정하는 단계를 포함하며,
    상기 D단계는, 상기 데이터 분석 모델의 업데이트 정보에 상기 예측 점수의 표준편차가 작아지는 방향으로 설정된 리워드를 적용하여 상기 전문가 모델을 업데이트하는 단계를 포함하는 것을 특징으로 하는 사용자 분석 방법.
  4. 제 2항 또는 3항에 있어서,
    상기 C 단계는,
    상기 사용자 모델링 벡터의 예측 성능의 변경율이 미리 설정된 값 이내인 경우, 상기 데이터 분석 모델에 대한 추가 학습의 효과가 없는 것으로 판단하여 상기 전문가 모델의 추천을 종료하는 단계를 포함하는 것을 특징으로 하는 사용자 분석 방법.
  5. 제 2항 또는 3항에 있어서,
    상기 C 단계는,
    상기 사용자 모델링 벡터의 예측 성능이 미리 설정된 범위 이상인 경우, 상기 데이터 분석 모델이 추가 학습을 하지 않아도 상기 사용자 분석에 충분한 것으로 판단하여 상기 전문가 모델의 추천을 종료하는 단계를 포함하는 것을 특징으로 하는 사용자 분석 방법.
  6. 제 2항 또는 3항에 있어서,
    상기 C 단계는,
    상기 전문가 모델이 추천하는 문제의 풀이 결과 데이터가 상기 사용자 모델링 벡터에 이미 반영되어 있는 경우, 상기 전문가 모델의 추천을 종료하는 단계를 포함하는 것을 특징으로 하는 사용자 분석 방법.
KR1020190039091A 2019-04-03 2019-04-03 액티브 러닝 기법을 적용한 머신 러닝 프레임워크 운용 방법, 장치 및 컴퓨터 프로그램 KR102096301B1 (ko)

Priority Applications (6)

Application Number Priority Date Filing Date Title
KR1020190039091A KR102096301B1 (ko) 2019-04-03 2019-04-03 액티브 러닝 기법을 적용한 머신 러닝 프레임워크 운용 방법, 장치 및 컴퓨터 프로그램
JP2020540290A JP7054558B2 (ja) 2019-04-03 2020-03-26 アクティブ学習手法を適用した機械学習フレームワークの運用方法、装置及びコンピュータプログラム
US16/964,823 US20210233191A1 (en) 2019-04-03 2020-03-26 Method, apparatus and computer program for operating a machine learning framework with active learning technique
CN202080025985.7A CN113646788A (zh) 2019-04-03 2020-03-26 利用主动学习技术操作机器学习框架的方法、设备和计算机程序
PCT/KR2020/004137 WO2020204468A1 (ko) 2019-04-03 2020-03-26 액티브 러닝 기법을 적용한 머신 러닝 프레임워크 운용 방법, 장치 및 컴퓨터 프로그램
CONC2021/0012810A CO2021012810A2 (es) 2019-04-03 2021-09-28 Método, aparato y programa de computadora para operar un marco de aprendizaje automático con técnica de aprendizaje activo

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190039091A KR102096301B1 (ko) 2019-04-03 2019-04-03 액티브 러닝 기법을 적용한 머신 러닝 프레임워크 운용 방법, 장치 및 컴퓨터 프로그램

Publications (1)

Publication Number Publication Date
KR102096301B1 true KR102096301B1 (ko) 2020-04-02

Family

ID=70281728

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190039091A KR102096301B1 (ko) 2019-04-03 2019-04-03 액티브 러닝 기법을 적용한 머신 러닝 프레임워크 운용 방법, 장치 및 컴퓨터 프로그램

Country Status (6)

Country Link
US (1) US20210233191A1 (ko)
JP (1) JP7054558B2 (ko)
KR (1) KR102096301B1 (ko)
CN (1) CN113646788A (ko)
CO (1) CO2021012810A2 (ko)
WO (1) WO2020204468A1 (ko)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102274984B1 (ko) * 2020-11-12 2021-07-09 태그하이브 주식회사 컨텐츠 스킬 라벨링 적합성 판단 방법 및 이를 실행하는 시스템
KR20210148763A (ko) 2020-06-01 2021-12-08 강릉원주대학교산학협력단 머신 러닝 모델링 자동화 방법 및 이를 이용한 머신 러닝 모델링 자동화 시스템
KR20220026449A (ko) * 2020-08-25 2022-03-04 세종대학교산학협력단 강화 학습 기반의 상호작용 향상 방식
KR20220059120A (ko) 2020-11-02 2022-05-10 강릉원주대학교산학협력단 최적화된 하이퍼파라미터를 갖는 기계 학습 모델링 자동화 방법 및 이를 이용한 기계 학습 모델링 자동화 시스템
KR102398318B1 (ko) * 2021-07-09 2022-05-16 (주)뤼이드 학습 능력 평가 방법, 학습 능력 평가 장치, 및 학습 능력 평가 시스템
WO2023282537A1 (ko) * 2021-07-09 2023-01-12 (주)뤼이드 학습 능력 평가 방법, 학습 능력 평가 장치, 및 학습 능력 평가 시스템

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11663494B2 (en) 2019-12-05 2023-05-30 Uchicago Argonne, Llc Systems and methods for hierarchical multi-objective optimization
US11651839B2 (en) 2020-03-02 2023-05-16 Uchicago Argonne, Llc Systems and methods for generating phase diagrams for metastable material states
US11710038B2 (en) * 2020-04-13 2023-07-25 Uchicago Argonne, Llc Systems and methods for active learning from sparse training data
US11823044B2 (en) * 2020-06-29 2023-11-21 Paypal, Inc. Query-based recommendation systems using machine learning-trained classifier
CN114781194B (zh) * 2022-06-20 2022-09-09 航天晨光股份有限公司 基于金属软管的数据库的构建方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150100530A1 (en) * 2013-10-08 2015-04-09 Google Inc. Methods and apparatus for reinforcement learning
US20170364831A1 (en) * 2016-06-21 2017-12-21 Sri International Systems and methods for machine learning using a trusted model
KR20180061999A (ko) * 2016-11-30 2018-06-08 한국전자통신연구원 개인 맞춤형 학습 제공 장치 및 그 방법
KR101895961B1 (ko) 2017-10-31 2018-09-06 (주)뤼이드 점수 추정 방법, 장치 및 컴퓨터 프로그램
KR20180127188A (ko) * 2018-04-23 2018-11-28 (주)뤼이드 개인 맞춤형 교육 컨텐츠를 제공하기 위한 기계학습 프레임워크 운용 방법, 장치 및 컴퓨터 프로그램
KR20190025873A (ko) * 2019-02-28 2019-03-12 (주)뤼이드 교육 컨텐츠를 제공하는 방법, 장치 및 컴퓨터 프로그램

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10290221B2 (en) * 2012-04-27 2019-05-14 Aptima, Inc. Systems and methods to customize student instruction
US20140272914A1 (en) * 2013-03-15 2014-09-18 William Marsh Rice University Sparse Factor Analysis for Learning Analytics and Content Analytics
US10529245B2 (en) * 2013-12-06 2020-01-07 Act, Inc. Methods for improving test efficiency and accuracy in a computer adaptive test (CAT)
JP6364037B2 (ja) * 2016-03-16 2018-07-25 セコム株式会社 学習データ選択装置
KR101853091B1 (ko) * 2017-05-19 2018-04-27 (주)뤼이드 기계학습이 적용된 사용자 답변 예측 프레임워크를 통한 개인 맞춤형 교육 컨텐츠 제공 방법, 장치 및 컴퓨터 프로그램
US11651702B2 (en) * 2018-08-31 2023-05-16 Pearson Education, Inc. Systems and methods for prediction of student outcomes and proactive intervention

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150100530A1 (en) * 2013-10-08 2015-04-09 Google Inc. Methods and apparatus for reinforcement learning
US20170364831A1 (en) * 2016-06-21 2017-12-21 Sri International Systems and methods for machine learning using a trusted model
KR20180061999A (ko) * 2016-11-30 2018-06-08 한국전자통신연구원 개인 맞춤형 학습 제공 장치 및 그 방법
KR101895961B1 (ko) 2017-10-31 2018-09-06 (주)뤼이드 점수 추정 방법, 장치 및 컴퓨터 프로그램
KR20180127188A (ko) * 2018-04-23 2018-11-28 (주)뤼이드 개인 맞춤형 교육 컨텐츠를 제공하기 위한 기계학습 프레임워크 운용 방법, 장치 및 컴퓨터 프로그램
KR20190025873A (ko) * 2019-02-28 2019-03-12 (주)뤼이드 교육 컨텐츠를 제공하는 방법, 장치 및 컴퓨터 프로그램

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210148763A (ko) 2020-06-01 2021-12-08 강릉원주대학교산학협력단 머신 러닝 모델링 자동화 방법 및 이를 이용한 머신 러닝 모델링 자동화 시스템
KR20220026449A (ko) * 2020-08-25 2022-03-04 세종대학교산학협력단 강화 학습 기반의 상호작용 향상 방식
KR102426812B1 (ko) * 2020-08-25 2022-07-28 세종대학교산학협력단 강화 학습 기반의 상호작용 향상 방식
KR20220059120A (ko) 2020-11-02 2022-05-10 강릉원주대학교산학협력단 최적화된 하이퍼파라미터를 갖는 기계 학습 모델링 자동화 방법 및 이를 이용한 기계 학습 모델링 자동화 시스템
KR102274984B1 (ko) * 2020-11-12 2021-07-09 태그하이브 주식회사 컨텐츠 스킬 라벨링 적합성 판단 방법 및 이를 실행하는 시스템
KR102398318B1 (ko) * 2021-07-09 2022-05-16 (주)뤼이드 학습 능력 평가 방법, 학습 능력 평가 장치, 및 학습 능력 평가 시스템
WO2023282537A1 (ko) * 2021-07-09 2023-01-12 (주)뤼이드 학습 능력 평가 방법, 학습 능력 평가 장치, 및 학습 능력 평가 시스템

Also Published As

Publication number Publication date
WO2020204468A1 (ko) 2020-10-08
JP7054558B2 (ja) 2022-04-14
JP2021520529A (ja) 2021-08-19
CN113646788A (zh) 2021-11-12
CO2021012810A2 (es) 2021-11-19
US20210233191A1 (en) 2021-07-29

Similar Documents

Publication Publication Date Title
KR102096301B1 (ko) 액티브 러닝 기법을 적용한 머신 러닝 프레임워크 운용 방법, 장치 및 컴퓨터 프로그램
KR102015075B1 (ko) 학습 효율을 기반으로 개인 맞춤형 교육 컨텐츠를 제공하기 위한 기계학습 방법, 장치 및 컴퓨터 프로그램
US11514809B2 (en) Educational and content recommendation management system
US11551570B2 (en) Systems and methods for assessing and improving student competencies
Hmedna et al. A predictive model for the identification of learning styles in MOOC environments
Peña-Ayala Educational data mining: A survey and a data mining-based analysis of recent works
US20190333403A1 (en) System and methods for adapting lessons to student needs
KR101853091B1 (ko) 기계학습이 적용된 사용자 답변 예측 프레임워크를 통한 개인 맞춤형 교육 컨텐츠 제공 방법, 장치 및 컴퓨터 프로그램
US20130288222A1 (en) Systems and methods to customize student instruction
KR102213479B1 (ko) 교육 컨텐츠를 제공하는 방법, 장치 및 컴퓨터 프로그램
JP2020521244A (ja) 試験点数を推定する方法、装置及びコンピュータプログラム
CN114254208A (zh) 薄弱知识点的识别方法、学习路径的规划方法与装置
KR101895959B1 (ko) 기계학습 프레임워크의 분석 결과를 해석하는 방법, 장치 및 컴퓨터 프로그램
Giabbanelli et al. Overcoming the PBL assessment challenge: Design and development of the incremental thesaurus for assessing causal maps (ITACM)
Švábenský et al. Student assessment in cybersecurity training automated by pattern mining and clustering
KR20190049627A (ko) 기계학습 프레임워크의 분석 결과를 해석하는 방법, 장치 및 컴퓨터 프로그램
EL MEZOUARY et al. An evaluation of learner clustering based on learning styles in MOOC course
KR102213481B1 (ko) 사용자 맞춤형 컨텐츠를 제공하기 위한 방법, 장치 및 컴퓨터 프로그램
Ozbey et al. The determination and analysis of factors affecting to student learning by artificial intelligence in higher education
Kumar et al. Relevance of data mining techniques in edification sector
KR101895963B1 (ko) 신규 사용자를 분석하는 방법
Ndognkon Manga et al. An Approach for Non-deterministic and Automatic Detection of Learning Styles with Deep Belief Net
KR20180127188A (ko) 개인 맞춤형 교육 컨텐츠를 제공하기 위한 기계학습 프레임워크 운용 방법, 장치 및 컴퓨터 프로그램
KR102213480B1 (ko) 사용자를 분석하고 컨텐츠를 제공하기 위한 방법, 장치 및 컴퓨터 프로그램
KR102213482B1 (ko) 교육 컨텐츠 및 상기 컨텐츠의 사용자를 분석하는 방법, 장치 및 컴퓨터 프로그램

Legal Events

Date Code Title Description
GRNT Written decision to grant