KR102571069B1 - 인공 지능 학습 기반의 사용자 지식 추적 장치, 시스템 및 그것의 동작 방법 - Google Patents

인공 지능 학습 기반의 사용자 지식 추적 장치, 시스템 및 그것의 동작 방법 Download PDF

Info

Publication number
KR102571069B1
KR102571069B1 KR1020210115659A KR20210115659A KR102571069B1 KR 102571069 B1 KR102571069 B1 KR 102571069B1 KR 1020210115659 A KR1020210115659 A KR 1020210115659A KR 20210115659 A KR20210115659 A KR 20210115659A KR 102571069 B1 KR102571069 B1 KR 102571069B1
Authority
KR
South Korea
Prior art keywords
information
user
embedding
time
response
Prior art date
Application number
KR1020210115659A
Other languages
English (en)
Other versions
KR20220050037A (ko
Inventor
신동민
심유근
유한결
이시우
김병수
최영덕
Original Assignee
(주)뤼이드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by (주)뤼이드 filed Critical (주)뤼이드
Priority to PCT/KR2021/011840 priority Critical patent/WO2022080666A1/ko
Priority to JP2022548083A priority patent/JP2023514766A/ja
Priority to US17/503,103 priority patent/US20220122481A1/en
Publication of KR20220050037A publication Critical patent/KR20220050037A/ko
Priority to CONC2022/0010920A priority patent/CO2022010920A2/es
Application granted granted Critical
Publication of KR102571069B1 publication Critical patent/KR102571069B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • 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/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • G06Q50/20Education

Abstract

본 발명의 실시 예에 따른, 문제 풀이와 관련된 시간 정보를 사용해 정답 확률을 예측하는 사용자 지식 추적 장치는, 사용자에게 학습을 위해 제공되는 문제 정보와 사용자가 풀이한 문제 풀이 기록에 대한 응답 정보를 포함하는 문제 응답 정보를 저장하는 문제-응답 정보 저장부, 상기 문제 정보와 상기 응답 정보에서 사용자가 풀이한 평균 문제 수, 수집된 시간 정보 분포의 평균 또는 분산값, 수치화된 사용자의 실력 중 하나 이상을 파라미터로 추출하고, 상기 추출한 파라미터를 기초로, 응답 정보에 포함된 시간 정보에 대한 임베딩 방법을 결정하고, 상기 시간 정보에 대해 상기 결정된 임베딩을 수행하는 임베딩 수행부 및 임베딩이 수행된 문제 정보와 응답 정보를 지식 추적 모델에 입력하고, 응답 정보에 포함된 시간 정보와 사용자의 정답 확률과의 관계를 나타내는 가중치를 조정하여, 가중치를 기초로 사용자가 아직 풀이하지 않은 문제에 대한 사용자의 정답 확률을 예측하는 지식 추적 모델을 학습시키는 모델 학습부를 포함하되, 상기 임베딩 수행부는 상기 사용자가 풀이한 평균 문제 수가 기준값 이상인 경우, 상기 시간 정보의 임베딩 벡터의 수가 기준치보다 많은 것으로 판단하고, 미리 결정된 개수의 임베딩 벡터를 가지는 범주적 임베딩을 상기 시간 정보에 대한 임베딩 방법으로 결정하고, 상기 수집된 시간 정보 분포의 평균 또는 분산값이 기준값 이하인 경우, 상기 시간 정보의 임베딩 벡터의 수가 기준치보다 적은 것으로 판단하고, 풀이 시간마다 하나의 임베딩 벡터가 생성되는 수치적 임베딩을 상기 시간 정보에 대한 임베딩 방법으로 결정한다.

Description

인공 지능 학습 기반의 사용자 지식 추적 장치, 시스템 및 그것의 동작 방법{User knowledge tracking device, system and operation method thereof based on artificial intelligence learning}
본 발명은 인공 지능 학습 기반의 사용자 지식 추적 장치, 시스템 및 그것의 동작 방법에 관한 발명이다. 보다 구체적으로, 지식 추적 모델로서 트랜스포머 구조 기반의 인공지능 모델을 사용하되, 지식 추적 모델의 인코더에는 문제 정보를 입력하고, 디코더에는 응답 정보를 입력하여 학습시킨 후, 학습된 지식 추적 모델을 통해 사용자의 정답 확률을 예측하는 발명에 관한 것이다.
최근 인터넷과 전자장치의 활용이 각 분야에서 활발히 이루어지며 교육 환경 역시 빠르게 변화하고 있다. 특히, 다양한 교육 매체의 발달로 학습자는 보다 폭넓은 학습 방법을 선택하고 이용할 수 있게 되었다. 그 중에서도 인터넷을 통한 교육 서비스는 시간적, 공간적 제약을 극복하고 저비용의 교육이 가능하다는 이점 때문에 주요한 교수 학습 수단으로 자리매김하게 되었다.
이러한 경향에 부응하여 이제는 제한된 인적, 물적 자원으로 오프라인 교육에서는 불가능했던 맞춤형 교육 서비스도 다양해지는 추세이다. 예를 들어, 인공지능을 활용하여 학습자의 개성과 능력에 따라 세분화된 교육 컨텐츠를 제공함으로써, 과거의 획일적 교육 방법에서 탈피하여 학습자의 개인 역량에 따른 교육 콘텐츠를 제공하고 있다.
지식 추적 모델은 학생의 학습 동선을 바탕으로 학생의 지식 습득 정도를 모델링하는 인공지능 모델이다. 구체적으로, 학생이 푼 문제와 응답에 대한 기록이 주어졌을 때, 학생이 주어진 다음 문제를 맞힐 확률이 얼마나 될지를 예측하는 것을 의미한다.
대부분의 기존 딥러닝 기반의 지식 추적 모델들은 학생의 정오답을 예측할 때 문제 혹은 문제에 대응되는 개념(들)과 해당 문제를 맞혔는지에만 집중해서 예측한다. 하지만, 학생이 문제를 풀이하는 데 시간이 얼마나 걸렸는지, 그리고 학생이 이전 문제에 응답한 이후로 어느 정도의 시간이 흘렀는지 등 학생의 응답에 관련된 시간 정보는 학생의 지식 상태를 추적하고 더 높은 정확도의 정오답 예측을 위해서 필수적인 정보라고 할 수 있다.
예를 들어, 어떤 학생이 특정 문제를 맞혔지만 문제를 풀이하는 데 오랜 시간이 걸렸다면 이는 문제를 잘 알고 있다고 할 수 없다. 또한, 한 학생이 특정 개념의 문제를 공부한 지 오랜 시간이 지났다면, 이전에는 관련 문제를 많이 맞혔음에도 현시점에서 같은 개념의 문제를 풀었을 때 해당 개념을 잊어버려 문제를 틀릴 가능성도 존재한다.
응답에 대한 시간 정보를 사용하지 않는 모델들은 이러한 문제들을 파악할 수 없기 때문에 시간 정보를 사용하는 모델에 비해서 예측 정확도가 낮을 수밖에 없다.
대한민국공개특허 10-2020-0012430 (발명의 명칭: 학습자의 예측정답율 분석 정보 제공방법; 공개일: 2020년 2월 5일)
본 발명은 전술한 문제를 해결하기 위한 것으로, 트랜스포머 구조의 인공신경망의 인코더에 문제 정보를, 디코더에 응답 정보를 입력하여 학습된 인공지능 모델을 기초로 정답 확률을 예측함으로써 보다 높은 정확도로 정답 확률을 예측할 수 있는 사용자 지식 추적 장치, 시스템 및 그것의 동작 방법을 제공하는 것을 목적으로 한다.
또한, 사용자가 문제를 풀이하는데 걸린 소요 시간과 이전 문제를 풀이한 후 다음 문제를 풀이하기까지의 지연 시간과 같이, 학생의 응답과 관련된 시간 정보를 통해 인공지능 모델을 학습시킴으로써, 보다 높은 정확도로 특정 문제에 대한 정답 확률을 예측할 수 있는 사용자 지식 추적 장치, 시스템 및 그것의 동작 방법을 제공하는 것을 목적으로 한다.
또한, 사용자가 풀이한 평균 문제 수, 수집된 시간 정보 분포의 평균 및 분산값 등 문제 정보와 응답 정보에서 추출한 파라미터를 기초로 시간 정보의 임베딩 방법을 결정함으로써, 보다 효율적으로 정답 확률을 예측할 수 있는 사용자 지식 추적 장치, 시스템 및 그것의 동작 방법을 제공하는 것을 목적으로 한다.
본 발명의 목적들은 이상에서 언급한 목적들로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
상술한 과제를 해결하기 위하여, 본 발명의 실시 예에 따른 문제 풀이와 관련된 시간 정보를 사용해 정답 확률을 예측하는 사용자 지식 추적 장치는, 사용자에게 학습을 위해 제공되는 문제 정보와 사용자가 풀이한 문제 풀이 기록에 대한 응답 정보를 포함하는 문제 응답 정보를 저장하는 문제-응답 정보 저장부, 상기 문제 정보와 상기 응답 정보에서 사용자가 풀이한 평균 문제 수, 수집된 시간 정보 분포의 평균 또는 분산값, 수치화된 사용자의 실력 중 하나 이상을 파라미터로 추출하고, 상기 추출한 파라미터를 기초로, 응답 정보에 포함된 시간 정보에 대한 임베딩 방법을 결정하고, 상기 시간 정보에 대해 상기 결정된 임베딩을 수행하는 임베딩 수행부 및 임베딩이 수행된 문제 정보와 응답 정보를 지식 추적 모델에 입력하고, 상기 응답 정보에 포함된 시간 정보와 사용자의 정답 확률과의 관계를 나타내는 가중치를 조정하여, 상기 가중치를 기초로 사용자가 아직 풀이하지 않은 문제에 대한 사용자의 정답 확률을 예측하는 지식 추적 모델을 학습시키는 모델 학습부를 포함하되, 상기 임베딩 수행부는 상기 사용자가 풀이한 평균 문제 수가 기준값 이상인 경우, 상기 시간 정보의 임베딩 벡터의 수가 기준치보다 많은 것으로 판단하고, 미리 결정된 개수의 임베딩 벡터를 가지는 범주적 임베딩을 상기 시간 정보에 대한 임베딩 방법으로 결정하고, 상기 수집된 시간 정보 분포의 평균 또는 분산값이 기준값 이하인 경우, 상기 시간 정보의 임베딩 벡터의 수가 기준치보다 적은 것으로 판단하고, 풀이 시간마다 하나의 임베딩 벡터가 생성되는 수치적 임베딩을 상기 시간 정보에 대한 임베딩 방법으로 결정한다.
상술한 과제를 해결하기 위하여, 본 발명의 실시 예에 따른, 문제 풀이와 관련된 시간 정보를 사용해 정답 확률을 예측하는 사용자 지식 추적 장치의 동작 방법은, 사용자에게 학습을 위해 제공되는 문제 정보와 사용자가 풀이한 문제 풀이 기록에 대한 응답 정보를 포함하는 문제 응답 정보를 문제-응답 정보 저장부에 저장하는 단계; 상기 문제 정보와 상기 응답 정보에서 사용자가 풀이한 평균 문제 수, 수집된 시간 정보 분포의 평균 또는 분산값, 수치화된 사용자의 실력 중 하나 이상을 파라미터로 추출하고, 상기 추출한 파라미터를 기초로, 상기 응답 정보에 포함된 시간 정보에 대한 임베딩 방법을 결정하는 단계; 상기 시간 정보에 대해 상기 결정된 임베딩을 수행하는 단계; 및 임베딩이 수행된 문제 정보와 응답 정보를 지식 추적 모델에 입력하고, 상기 응답 정보에 포함된 시간 정보와 사용자의 정답 확률과의 관계를 나타내는 가중치를 조정하여, 상기 가중치를 기초로 사용자가 아직 풀이하지 않은 문제에 대한 사용자의 정답 확률을 예측하는 지식 추적 모델을 학습시키는 단계를 포함하되, 상기 임베딩 방법을 결정하는 단계는 상기 사용자가 풀이한 평균 문제 수가 기준값 이상인 경우, 상기 시간 정보의 임베딩 벡터의 수가 기준치보다 많은 것으로 판단하고, 미리 결정된 개수의 임베딩 벡터를 가지는 범주적 임베딩을 상기 시간 정보에 대한 임베딩 방법으로 결정하는 단계; 및 상기 수집된 시간 정보 분포의 평균 또는 분산값이 기준값 이하인 경우, 상기 시간 정보의 임베딩 벡터의 수가 기준치보다 적은 것으로 판단하고, 풀이 시간마다 하나의 임베딩 벡터가 생성되는 수치적 임베딩을 상기 시간 정보에 대한 임베딩 방법으로 결정하는 단계를 포함한다.
기타 실시예들의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
본 발명의 실시 예에 따른 사용자 지식 추적 장치, 시스템 및 그것의 동작 방법은 지식 추적 모델로서, 트랜스포머 구조 기반의 인공지능 모델을 사용하되, 지식 추적 모델의 인코더에는 문제 정보를 입력하고, 디코더에는 응답 정보를 입력하여 지식 추적 모델을 학습시키고, 학습된 지식 추적 모델을 기초로 정답 확률을 예측함으로써 보다 높은 정확도로 정답 확률을 예측할 수 있는 효과가 있다.
또한, 본 발명의 실시 예에 따른 사용자 지식 추적 장치, 시스템 및 그것의 동작 방법은 사용자가 문제를 풀이하는데 걸린 소요 시간과 이전 문제의 풀이를 완료한 후 다음 문제의 풀이를 시작하기까지의 시간인 지연 시간과 같이, 학생의 응답과 관련된 시간 정보를 통해 지식 추적 모델을 학습시킴으로써, 보다 높은 정확도로 특정 문제에 대한 정답 확률을 예측할 수 있는 효과가 있다.
또한 본 발명의 실시 예에 따른 사용자 지식 추적 장치, 시스템 및 그것의 동작 방법은 사용자가 풀이한 평균 문제 수, 수집된 시간 정보 분포의 평균 또는 분산값 등 문제 정보와 응답 정보에서 추출한 파라미터를 기초로 시간 정보의 임베딩 방법을 결정함으로써, 보다 효율적으로 정답 확률을 예측할 수 있는 효과가 있다.
본 발명의 효과들은 이상에서 언급된 효과로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 발명의 실시 예에 따른 사용자 지식 추적 시스템의 구성을 설명하기 위한 도면이다.
도 2는 본 발명의 실시 예에 따른 사용자 단말의 구성을 설명하기 위한 도면이다.
도 3은 본 발명의 실시 예에 따른 사용자 지식 추적 장치의 구성을 설명하기 위한 도면이다.
도 4는 본 발명의 실시 예에 따른 소요 시간과 지연 시간을 설명하기 위한 도면이다.
도 5는 본 발명의 실시 예에 따른 트랜스포머 구조 기반의 인공신경망의 동작을 설명하기 위한 도면이다.
도 6은 키-쿼리 마스킹과 상부 삼각 마스킹을 설명하기 위한 도면이다.
도 7은 본 발명의 실시 예에 따른 사용자 지식 추적 장치의 동작을 설명하기 위한 순서도이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시 예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 게시되는 실시 예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시 예들은 본 발명의 게시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.
본 명세서에서 사용된 용어는 실시 예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 출입문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소 외에 하나 이상의 다른 구성요소의 존재 또는 추가를 배제하지 않는다.
본 명세서에서, 실시 예를 설명함에 있어서 어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다.
이하, 첨부된 도면들을 참조하여 본 발명의 실시 예들을 설명한다. 도면에서 동일한 도면 부호는 동일한 구성요소를 나타낸다.
도 1은 본 발명의 실시 예에 따른 사용자 지식 추적 시스템의 동작을 설명하기 위한 도면이다.
도 1을 참조하면, 사용자 지식 추적 시스템(50)은 사용자 단말(100) 및 사용자 지식 추적 장치(200)를 포함할 수 있다.
사용자 단말(100)은 사용자가 풀이해야 할 문제들을 디스플레이한다. 이 때, 사용자가 풀이해야 할 문제들은 사용자 지식 추적 장치(200)로부터 제공될 수도 있고, 별도의 외부 장치(도시되지 않음)로부터 제공될 수도 있다. 디스플레이된 문제들 중에서 소정 문제가 사용자에 의해 풀이되면, 사용자 단말(100)은 사용자가 풀이한 문제에 대한 응답 기록을 포함하는 응답 정보를 사용자 지식 추적 장치(200)로 전송한다. 사용자 단말(100)의 구성에 대한 설명은 도 2를 참조하여 후술하기로 한다.
사용자 지식 추적 장치(200)는 사용자가 풀이한 문제에 대한 응답 기록을 포함하는 응답 정보를 사용자 단말(100)로부터 수신할 수 있다. 이후, 사용자 지식 추적 장치(200)는 사용자가 풀이한 문제에 대한 정보인 문제 정보와 응답 정보를 기초로 지식 추적 모델을 학습시킬 수 있다. 학습된 지식 추적 모델은 사용자가 아직 풀이하지 않은 임의의 문제가 사용자에게 주어졌을 때, 주어진 문제에 대한 사용자의 정답 확률을 예측하는데 사용될 수 있다. 주어진 문제에 대한 사용자의 정답 확률이란, 사용자가 주어진 문제를 풀이하였을 때, 정답을 맞출 확률을 의미한다.
종래 딥러닝 기반의 지식 추적 모델은 소정 문제와 관련하여, 학생의 정답 확률을 예측할 때, 문제와 학생의 응답에만 집중하였다. 즉, 학생이 문제를 풀이하는 데 시간이 얼마나 걸렸는지, 이전 문제의 풀이를 완료한 이후 얼만큼의 시간이 지났는지와 같은 학생의 응답의 시간과 관련된 정보를 고려하지 못했다.
이러한 종래의 지식 추적 모델은, 문제를 풀이하는 데 소요되는 시간에 따른 학생의 실력, 시간의 경과에 따라 학습 내용을 망각하는 사용자 특성 등 시간 경과에 따른 학습 특성을 반영하지 못하기 때문에, 예측된 정답 확률의 정확성이 떨어진다는 문제가 있었다.
본 발명은 이러한 문제를 해결하기 위해 고안된 것이다. 본 발명의 실시 예에 따른 사용자 지식 추적 장치(200)는, 시간 정보가 반영된 응답 정보를 기초로 학습된 트랜스포머 구조 기반의 인공지능 모델을 사용함으로써, 보다 높은 정확도로 정답 확률을 예측할 수 있다.
본 발명의 실시 예에 따르면, 트랜스포머 구조 기반의 인공지능 모델은 인코더 및 디코더를 포함할 수 있다. 인공지능 모델의 인코더에는 문제 정보를 입력하고, 디코더에는 응답 정보를 입력하여 인공지능 모델을 학습시킬 수 있다. 그리고, 학습 결과로 결정된 가중치를 기초로, 사용자가 아직 풀이하지 않은 임의의 문제에 대한 사용자의 정답 확률을 예측할 수 있다. 사용자 지식 추적 장치(200)의 구성 및 트랜스포머 구조 기반의 인공지능 모델에 대한 보다 상세한 설명은 도 3 내지 도 6을 참조하여 후술하기로 한다.
도 2는 본 발명의 실시 예에 따른 사용자 단말(100)의 구성을 설명하기 위한 도면이다.
도 2를 참조하면, 사용자 단말(100)은 무선 통신부(110), 입력부(120), 센싱부(140), 출력부(150), 인터페이스부(160), 메모리(170), 제어부(180) 및 전원 공급부(190) 등을 포함할 수 있다. 도 2에 도시된 구성요소들은 사용자 단말(100)을 구현하는데 있어서 필수적인 것은 아니어서, 본 명세서 상에서 설명되는 사용자 단말은 위에 예시된 구성요소들 보다 많거나, 또는 적은 구성요소들을 가질 수 있다.
보다 구체적으로, 상기 구성요소들 중 무선 통신부(110)는, 사용자 단말(100)과 무선 통신 시스템 사이, 사용자 단말(100)과 다른 사용자 단말(100) 사이, 또는 사용자 단말(100)과 외부 서버 사이의 무선 통신을 가능하게 하는 하나 이상의 모듈을 포함할 수 있다. 또한, 상기 무선 통신부(110)는, 사용자 단말(100)을 하나 이상의 네트워크에 연결하는 하나 이상의 모듈을 포함할 수 있다.
이러한 무선 통신부(110)는, 방송 수신 모듈(111), 이동 통신 모듈 (112), 무선 인터넷 모듈(113), 근거리 통신 모듈(114), 위치정보 모듈(115) 중 적어도 하나를 포함할 수 있다.
입력부(120)는, 영상 신호 입력을 위한 카메라(121) 또는 영상 입력부, 오디오 신호 입력을 위한 마이크로폰(122) 또는 오디오 입력부, 사용자로부터 정보를 입력받기 위한 사용자 입력부(123)를 포함할 수 있다. 사용자 입력부(123)로는 터치키(touch key), 푸시키(mechanical key) 등을 예로 들 수 있다. 입력부(120)에서 수집한 음성 데이터나 이미지 데이터는 분석되어 사용자의 제어 명령으로 처리될 수 있다.
센싱부(140)는 사용자 단말(100) 내 정보, 사용자 단말(100)을 둘러싼 주변 환경 정보 및 사용자 정보 중 적어도 하나를 센싱하기 위한 하나 이상의 센서를 포함할 수 있다. 예를 들어, 센싱부(140)는 근접센서(141, proximity sensor), 조도 센서 (142, illumination sensor), 터치 센서(touch sensor), 가속도 센서(acceleration sensor), 자기 센서(magnetic sensor), 중력 센서(G-sensor), 자이로스코프 센서 (gyroscope sensor), 모션 센서(motion sensor), RGB 센서, 적외선 센서(IR 센서: infrared sensor), 지문인식 센서(finger scan sensor), 초음파 센서(ultrasonic sensor), 광 센서(optical sensor) 중에서 하나 이상을 포함할 수 있다. 예시된 센서들 중에서 둘 이상의 센서에서 센싱되는 정보들을 조합하여 활용할 수 있다.
출력부(150)는 시각, 청각 또는 촉각 등과 관련된 출력을 발생시키기 위한 것이다. 출력부(150)는 디스플레이부(151), 음향 출력부(152), 햅팁 모듈(153), 광 출력부(154) 중 하나 이상을 포함할 수 있다. 디스플레이부(151)는 터치 센서와 상호 레이어 구조를 이루거나 일체형으로 형성됨으로써, 터치 스크린을 구현할 수 있다. 이러한 터치 스크린은 사용자 단말(100)과 사용자 사이의 입력 인터페이스를 제공하는 사용자 입력부(123)로써 기능함과 동시에, 사용자 단말(100)과 사용자 사이의 출력 인터페이스를 제공할 수 있다.
인터페이스부(160)는 사용자 단말(100)에 연결되는 다양한 종류의 외부 기기와의 통로 역할을 수행한다. 이러한 인터페이스부(160)는, 유/무선 헤드셋 포트(wired/wireless headset port), 외부 충전기 포트, 유/무선 데이터 포트(wired/wireless data part), 메모리 카드 포트(memory card port), 식별 모듈이 구비된 장치를 연결하는 포트(port), 오디오 입출력 포트(Audio Input/Output port), 비디오 입출력 포트(Video Input/Output port), 이어폰 포트(earphone port) 중 하나 이상을 포함할 수 있다. 사용자 단말(100)에서는, 상기 인터페이스부(160)에 외부 기기가 연결되는 것에 대응하여, 연결된 외부 기기와 관련된 적절할 제어를 수행할 수 있다.
또한, 메모리(170)는 사용자 단말(100)의 다양한 기능을 지원하는 데이터를 저장한다. 메모리(170)는 사용자 단말(100)에서 구동되는 다수의 응용 프로그램(application program 또는 application), 사용자 단말(100)의 동작을 위한 데이터들, 명령어들을 저장할 수 있다. 이러한 응용 프로그램 중 적어도 일부는, 무선 통신을 통해 외부 서버로부터 다운로드될 수 있다. 또한 이러한 응용 프로그램 중 적어도 일부는, 사용자 단말(100)의 기본적인 기능(예를 들어, 전화 착신 기능, 전화 발신 기능, 메시지 수신 기능, 메시지 발신 기능)을 위하여 출고 당시부터 사용자 단말(100) 상에 존재할 수 있다. 한편, 응용 프로그램은, 메모리(170)에 저장되고, 사용자 단말(100) 상에 설치되어, 제어부(180)에 의하여 상기 사용자 단말(100)의 동작 또는 기능을 수행하도록 구동될 수 있다. 상기 전자 기기의 동작(또는 기능)을 수행하도록 구동될 수 있다.
제어부(180)는 상기 응용 프로그램과 관련된 동작 외에도, 통상적으로 사용자 단말(100)의 전반적인 동작을 제어한다. 제어부(180)는 위에서 살펴본 구성요소들을 통해 입력 또는 출력되는 신호, 데이터, 정보 등을 처리하거나 메모리(170)에 저장된 응용 프로그램을 구동함으로써, 사용자에게 적절한 정보 또는 기능을 제공 또는 처리할 수 있다.
또한, 제어부(180)는 메모리(170)에 저장된 응용 프로그램을 구동하기 위하여, 도 2와 함께 살펴본 구성요소들 중 적어도 일부를 제어할 수 있다. 나아가, 제어부(180)는 상기 응용 프로그램의 구동을 위하여, 사용자 단말(100)에 포함된 구성요소들 중 적어도 둘 이상을 서로 조합하여 동작시킬 수 있다.
전원 공급부(190)는 제어부(180)의 제어 하에서, 외부의 전원, 내부의 전원을 인가받아 사용자 단말(100)에 포함된 각 구성요소들에 전원을 공급한다. 이러한 전원 공급부(190)는 배터리를 포함하며, 상기 배터리는 내장형 배터리 또는 교체 가능한 형태의 배터리가 될 수 있다. 도 3은 본 발명의 실시 예에 따른 사용자 지식 추적 장치(200)의 구성을 설명하기 위한 도면이다.
도 3을 참조하면, 사용자 지식 추적 장치(200)는 문제-응답 정보 저장부(210), 임베딩 수행부(220) 및 모델 학습부(230)를 포함할 수 있다.
문제-응답 정보 저장부(210)는 문제 응답 정보를 저장할 수 있다. 문제 응답 정보는 문제 정보와 응답 정보를 포함할 수 있다.
문제 정보는 사용자의 학습을 위해 사용자 단말(100)로 제공되는 문제(Exercise)에 관한 정보를 포함한다. 보다 구체적으로, 문제 정보는 문제의 번호, 해당 문제와 관련된 개념들, 해당 문제의 지문 정보를 포함할 수 있다. 다만, 이는 예시일 뿐이며, 문제 정보는 문제를 표현할 수 있는 다양한 정보를 더 포함할 수 있다.
응답 정보는 사용자가 문제를 풀이하는 과정에서 입력한 문제 풀이 기록에 관한 정보를 포함한다. 보다 구체적으로, 응답 정보는 문제에 대한 정오답 여부, 사용자가 문제를 풀이하는 데 걸린 시간, 다수의 보기들(multiple choice) 중에서 사용자가 선택한 보기, 문제를 푼 플랫폼(웹, 모바일)에 관한 정보를 포함할 수 있다. 다만, 이는 예시일 뿐이며, 응답 정보는 사용자의 문제 풀이와 관련된 다양한 정보를 더 포함할 수 있다.
문제-응답 정보 저장부(210)는 사용자가 문제를 풀이할 때마다 문제 정보 및 응답 정보를 업데이트할 수 있다.
임베딩 수행부(220)는 문제-응답 정보 저장부(210)로부터 응답 정보를 수신하고, 응답 정보에 포함된 시간 정보에 대해 임베딩을 수행할 수 있다. 시간 정보는 문제에 대한 사용자의 응답과 관련된 시간 정보를 말한다.
본 발명의 실시 예에 따른 사용자 지식 추적 시스템(50)은, 이러한 시간 정보를 이용하여 인공지능 모델을 학습시킬 수 있다.
본 발명에 따르면, 시간 정보가 포함된 응답 정보를 이용함으로써, 사용자가 문제를 풀이하는 데 걸리는 시간을 정답 확률을 예측하는 데에 효과적으로 반영할 수 있다. 또한, 시간의 경과에 따른 망각효과를 반영하여 정답 확률을 예측할 수 있는 효과가 있다.
소요 시간(Elapse Time)은 사용자가 하나의 문제를 풀이하는데 걸린 시간을 말한다. 지연 시간(Lag Time)은 사용자가 이전 문제의 풀이를 완료한 후 다음 문제의 풀이를 시작하기까지 걸린 시간을 말한다.
실시 예에 따르면, 시간 정보는 소요 시간 정보 및 지연 시간 정보를 포함할 수 있다. 다만, 시간 정보는 이에 한정되지 않으며, 문제 풀이와 관련된 사용자의 동작의 시간적 특성을 나타낼 수 있는 다양한 정보가 포함될 수 있다.
소요 시간(Elapse Time)은 사용자가 하나의 문제를 풀이하는 데 소요된 시간을 의미한다. 지연 시간(Lag Time)은 사용자가 이전 문제의 풀이를 완료한 이후부터 다음 문제의 풀이를 시작할 때까지 걸린 시간을 의미한다. 여기서 소요 시간 및 지연 시간에 대한 보다 구체적인 설명을 위해 도 4를 참조하기로 한다.
도 4는 본 발명의 실시 예에 따른 소요 시간과 지연 시간을 설명하기 위한 도면으로, 사용자가 '문제 1' 부터 '문제 3' 까지를 풀이하는 경우에 대한 타임테이블을 예시한 도면이다.
도 4를 참조하면, 사용자는 t1부터 t2까지의 시간 동안 '문제 1'을 풀이하고, t3부터 t4까지의 시간 동안 '문제 2'를 풀이한다. 그리고 t5부터 '문제 3'을 풀이하기 시작한다. 도 4를 참조하면, '문제 1'에 대한 소요 시간(et1)은 '문제 2'에 대한 소요 시간(et2)에 비하여 긴 것을 알 수 있다. 그리고 '문제 2'에 대한 지연 시간(lt2=t3-t2) 즉, 사용자가 '문제 1'의 풀이를 완료한 시점(t2)부터 '문제 2'의 풀이를 시작한 시점(t3)까지의 시간은 '문제 3'에 대한 지연 시간(lt3=t5-t4) 즉, 사용자가 '문제 2'의 풀이를 완료한 시점(t4)부터 '문제 3'의 풀이를 시작한 시점(t5)까지의 시간에 비하여 짧은 것을 알 수 있다.
다시 도 3을 참조하면, 임베딩 수행부(220)는 응답 정보에 포함된 시간 정보에 대해 임베딩을 수행할 수 있다. 임베딩이란 응답 정보에 포함된 시간 정보를 인공지능 모델이 이해할 수 있도록 벡터화하는 것을 말한다.
위의 실시 예에서, 임베딩 수행부(220)는 소요 시간 정보와 지연 시간 정보에 대해 임베딩을 수행하여, 벡터화된 소요 시간 정보 및 벡터화된 지연 시간 정보를 지식 추적 모델에 입력할 수 있다.
인공신경망에서 임베딩이란, 원래 차원보다 저차원의 벡터로 만드는 것을 의미한다. 인공신경망의 임베딩은 수천 수만 개의 고차원 변수들을 몇백 개의 저차원 변수로 만들어 준다.
임베딩은 변형된 저차원 공간에서도 충분히 카테고리형 의미를 내재하기 때문에 유용하다. 임베딩을 통해 인공신경망은 가장 가까운 이웃정보를 찾거나, 카테고리 간의 개념과 관련도를 시각화하여 사용자에게 제공할 수 있다.
임베딩 수행부(220)는 수치적 임베딩(numerical embedding) 또는 범주적 임베딩(categorical embedding) 중 하나 이상의 임베딩 방법을 사용하여 시간 정보를 임베딩할 수 있다. 이를 위하여, 임베딩 수행부(220)는 수치적 임베딩 수행부(221) 및 범주적 임베딩 수행부(222)를 포함할 수 있다.
수치적 임베딩 수행부(221)는 인공지능 모델 내에서 적어도 하나의 학습 가능한 시간 정보 벡터를 두고, 시간 정보 벡터에 시간값을 연산하여 임베딩 벡터를 생성할 수 있다.
예를 들어, 사용자가 문제를 풀이하는 데 20초가 걸렸고 미리 설정한 소요 시간에 대응되는 벡터가 [1, -1, 3]라고 하자. 이 경우, '20초'라는 정보를 20*[1, -1, 3]=[20, -20, 60]으로 벡터화하는 것이다. 다만 시간값의 연산은 곱셈에 한정되지 않으며, 실시 예에 따라 다양한 연산 방법이 사용될 수 있다.
범주적 임베딩 수행부(222)는 시간 정보를 미리 설정된 단위의 시간 단위로 나눈 후 각각의 시간 단위를 서로 다른 시간 정보 벡터로 임베딩할 수 있다. 시간 정보 벡터들은 미리 설정된 연산처리를 거친 후 지식 추적 모델에 입력될 수 있다.
예를 들어, 사용자의 소요 시간을 반올림해서 정수로 나타낸 뒤에, 1초~300초의 시간을 각각 300개의 서로 다른 벡터로 임베딩할 수 있다. 이때 300초를 초과하는 시간은 모두 300초로 간주할 수 있다.
수치적 임베딩 수행부(221) 및/또는 범주적 임베딩 수행부(222)에 의해 생성된 벡터들(임베딩 벡터들)은 지식 추적 모델에 입력될 때 모두 더해서 전달되고, 지식 추적 모델은 이를 기초로, 다음 문제에 대한 학생의 정답 확률을 예측할 수 있다.
실시 예에서, 임베딩 수행부(220)는 문제 정보와 응답 정보에서 추출한 파라미터를 기초로 임베딩 방법을 결정할 수 있다. 파라미터는 사용자가 풀이한 평균 문제 수, 수집된 시간 정보 분포의 평균 또는 분산값, 수치화된 사용자 실력이 포함될 수 있으나 이에 한정되지 않는다.
일 예로, 임베딩 수행부(220)는 사용자가 풀이한 평균 문제 수가 기준값 이상인 경우, 시간 정보의 임베딩 벡터의 수가 너무 많다고 판단할 수 있다. 이 경우, 임베딩 수행부(220)는 풀이 시간마다 하나의 임베딩 벡터가 생성되는 수치적 임베딩을 수행하는 대신, 미리 결정된 개수의 임베딩 벡터를 가지는 범주적 임베딩을 수행할 수 있다.
다른 예로, 임베딩 수행부(220)는 시간 정보 분포의 분산값이 기준값 이하인 경우, 시간 정보의 임베딩 벡터의 수가 적다고 판단할 수 있다. 이 경우, 임베딩 수행부(220)는 미리 결정된 개수의 임베딩 벡터를 가지는 범주적 임베딩을 수행하는 대신, 상대적으로 세밀하게 임베딩 벡터를 생성할 수 있는 수치적 임베딩을 수행할 수 있다.
이상의 설명에서는, 임베딩 수행부(220)가 응답 정보에 포함된 시간 정보에 대해 임베딩을 수행하는 것을 위주로 설명하였다. 그러나 임베딩 수행 대상이 시간 정보로 반드시 한정되는 것은 아니다. 즉, 임베딩 수행부(220)는 문제 정보 및 응답 정보 각각에 대하여 임베딩을 수행하되, 응답 정보에 포함된 시간 정보에 대해서는 문제 정보 및 응답 정보에서 추출된 파라미터에 기초하여, 수치적 임베딩 및 범주적 임베딩 중 하나를 선택적으로 수행하는 것으로 이해될 수 있다.
모델 학습부(230)는 임베딩이 수행된 문제 정보와 임베딩이 수행된 응답 정보를 지식 추적 모델에 입력하고, 응답 정보에 포함된 시간 정보와 사용자의 정답 확률과의 관계를 나타내는 가중치를 조정하는 방법으로 지식 추적 모델을 학습시킬 수 있다.
지식 추적 모델은 학습 결과 결정된 가중치를 기초로, 사용자가 아직 풀이하지 않은 임의의 문제에 대한 사용자의 정답 확률을 예측하도록 학습될 수 있다.
모델 학습부(230)는 소요 시간이 길수록 사용자의 실력이 낮다고 판단하고 예측된 정답 확률을 하향 조정하는 방향으로 지식 추적 모델을 학습시킬 수 있다.
사용자는 하나의 문제의 풀이를 완료한 후 다음 문제를 풀이할 때까지 일정 시간 문제를 풀이하지 않고 대기한다. 예를 들면, 도 4에 도시된 바와 같이, 사용자는 '문제 1'의 풀이를 완료한 후 '문제 2'의 풀이를 시작할 때까지의 지연 시간(lt2=t3-t2)을 가진다. 그리고 '문제 2'의 풀이를 완료한 후 '문제 3'의 풀이를 시작할 때까지의 지연 시간(lt3=t5-t4)을 갖는다.
모델 학습부(230)는 지연 시간이 길수록 사용자가 이전에 학습한 내용의 일부를 망각했다고 판단한다. 그리고 예측된 정답 확률을 하향 조정하는 방향으로 지식 추적 모델을 학습시킬 수 있다.
도 5는 본 발명의 실시 예에 따른 트랜스포머 구조 기반의 지식 추적 모델의 동작을 설명하기 위한 도면이다.
도 5를 참조하면, 지식 추적 모델은 인코더(20) 및 디코더(40)를 포함할 수 있다. 인코더(20)에는 문제 정보 스트림이 입력된다. 디코더(40)에는 응답 정보 스트림 및 인코더(20)의 출력이 입력된다.
좀 더 구체적으로, 인코더(20)는 문제 정보 처리부(21)와 비선형화 수행부(22)를 포함할 수 있다. 그리고, 디코더(40)는 제1 응답 정보 처리부(41), 제2 응답 정보 처리부(42) 및 비선형화 수행부(43)를 포함할 수 있다.
문제 정보 스트림은 벡터로 표현된 복수의 문제 정보들(E1, E2, …, Ek)로 구성될 수 있다. 응답 정보 스트림은 벡터로 표현된 복수의 문제 정보들(E1, E2, …, Ek-1) 각각에 대한 사용자의 응답 정보들(R1, R2, …, Rk-1)로 구성될 수 있다. 정답 확률 정보는 벡터로 표현된 각 문제 정보들에 대한 사용자의 정답 확률 정보들(r1*, r2*, …, rk*)로 구성될 수 있다.
실시 예에서, 문제 정보 'E1'에 대한 사용자 응답 정보가 'R1' 이고, 문제 정보 'E2'에 대한 사용자의 응답 정보가 'R2' 이고, …문제 정보 'Ek-1'에 대한 사용자의 응답 정보가 'Rk-1'일 때, 문제 정보 'Ek'에 대한 사용자의 정답 확률은 'rk*'일 수 있다. 즉, 문제 정보 'Ek'가 사용자에게 제시되었을 때, 사용자가 문제 정보 'Ek'를 맞출 확률은 'rk*' 이다.
문제 정보 처리부(21)는 문제 정보 스트림을 입력받고 자기 어텐션(self-attention)과 관련된 일련의 동작을 수행할 수 있다. 이러한 동작에는 문제 정보를 쿼리 벡터, 키 벡터, 벨류 벡터로 구분하는 과정, 구분된 각각의 벡터 값에 대한 복수의 헤드값을 생성하는 과정, 복수의 쿼리 헤드값과 복수의 키 헤드값으로부터 어텐션 가중치(attention weights)를 생성하는 과정, 생성된 어텐션 가중치에 마스킹을 수행하는 과정, 마스킹이 수행된 어텐션 가중치를 복수의 벨류 헤드값에 적용하여 예측 데이터를 생성하는 과정을 포함할 수 있다.
문제 정보 처리부(21)에서 생성된 예측 데이터는 어텐션 정보일 수 있다.
특히, 문제 정보 처리부(21)는 마스킹 동작시 키-쿼리 마스킹(key-query masking) 뿐만 아니라 상부 삼각 마스킹(upper triangular masking)을 수행할 수 있다. 실시 예에 따르면, 키-쿼리 마스킹이 수행된 후 상부 삼각 마스킹이 수행될 수 있다. 다른 실시 예에 따르면, 키-쿼리 마스킹과 상부 삼각 마스킹은 동시에 수행될 수 있다. 또 다른 실시 예에 따르면, 상부 삼각 마스킹이 먼저 수행되고 키-쿼리 마스킹이 수행될 수도 있다. 이하, 설명의 편의를 위하여 키-쿼리 마스킹이 수행된 후 상부 삼각 마스킹이 수행되는 경우를 예로 들어 설명하기로 한다.
도 6은 키-쿼리 마스킹과 상부 삼각 마스킹을 설명하기 위한 도면이다.
키-쿼리 마스킹은 값이 없는 값(제로 패딩)에 패널티를 부과하여 어텐션이 수행되지 못하게 하는 동작일 수 있다. 키-쿼리 마스킹이 수행된 예측 데이터의 값은 '0'으로 표현될 수 있으며, 키-쿼리 마스킹이 수행되지 않은 예측 데이터의 값은 '1'로 표현될 수 있다. 도 6의 키-쿼리 마스킹은 쿼리와 키의 마지막 값들이 마스킹된 경우를 예시하고 있으나, 마스킹 되는 값들은 다양하게 변경될 수 있다.
상부 삼각 마스킹은 다음 문제에 대한 정답 확률의 예측을 위해, 미래 위치(Position)에 해당하는 정보가 어텐션이 수행되지 못하게 하는 동작일 수 있다. 구체적으로, 상부 삼각 마스킹은 사용자가 아직 풀지 않은 문제로부터 예측 데이터의 값이 연산되는 것을 방지하기 위한 동작일 수 있다. 키-쿼리 마스킹과 마찬가지로, 상부 삼각 마스킹이 수행된 예측 데이터의 값은 '0'으로 표현될 수 있으며, 상부 삼각 마스킹이 수행되지 않은 예측 데이터의 값은 '1'로 표현될 수 있다.
마스킹된 예측 데이터의 값들은 이후 임의의 큰 음수값이 반영되어 소프트맥스 함수를 통해 확률적으로 표현될 때 0에 가까운 확률을 가지도록 제어될 수 있다.
다시 도 5를 참조하면, 비선형화 수행부(22)는 문제 정보 처리부(21)에서 출력된 예측 데이터를 비선형화 시키는 동작을 수행할 수 있다. 비선형화에는 ReLU 함수(Rectified Linear Unit, 경사함수)가 사용될 수 있으나 이에 한정되지 않는다.
상술한 바와 같은, 인코더(20)는 하나 이상 존재할 수 있다. 도 5는 N개의 인코더(20)가 존재할 수 있음을 도시하고 있다. 이 경우, 인코더(20)에서 생성된 어텐션 정보는 인코더(20)에 피드백 되어 자기 어텐션과 비선형화와 관련된 일련의 동작이 수차례 반복될 수 있다.
한편, 인코더(20)에서 생성된 어텐션 정보는 키 벡터와 벨류 벡터로 나뉘어 제2 응답 정보 처리부(42)에 입력될 수 있다. 어텐션 정보는 제2 응답 정보 처리부(42)에 입력되는 쿼리 데이터에 대한 가중치로 사용되어 지식 추적 모델을 학습시키는데 사용될 수 있다.
제1 응답 정보 처리부(41)는 응답 정보 스트림을 입력 받고, 문제 정보 처리부(21)과 유사하게 자기 어텐션과 관련된 일련의 동작을 수행할 수 있다. 이러한 동작에는 문제 정보(E)를 쿼리 벡터, 키 벡터, 벨류 벡터로 구분하는 과정, 구분된 각각의 벡터 값에 대한 복수의 헤드값을 생성하는 과정, 복수의 쿼리 헤드값과 복수의 키 헤드값으로부터 어텐션 가중치를 생성하는 과정, 생성된 어텐션 가중치에 마스킹을 수행하는 과정, 마스킹이 수행된 어텐션 가중치를 복수의 벨류 헤드값에 적용하여 예측 데이터를 생성하는 과정을 포함할 수 있다.
제1 응답 정보 처리부(41)에서 생성된 예측 데이터는 쿼리 데이터일 수 있다.
제2 응답 정보 처리부(42)는 제1 응답 정보 처리부(41)로부터 쿼리 데이터를 입력 받고, 인코더(20)로부터 어텐션 정보를 입력 받아, 정답 확률 정보(rk*)를 출력할 수 있다.
어텐션 정보는 디코더(40)에 입력된 후, 디코더(40)로 입력된 쿼리 데이터에 대한 가중치로 사용되어 지식 추적 모델을 학습시키는데 사용될 수 있다.
어텐션 정보는 쿼리 데이터의 특정 영역을 중점적으로 고려하기 위해 부여되는 가중치에 관한 정보일 수 있다. 구체적으로, 지식 추적 모델은 디코더(40)에서 출력 결과(rk*)를 예측하는 매 시점마다 인코더(20)의 전체 입력 데이터(E1, E2, …, Ek, R1, R2, …, Rk-1)를 다시 고려할 수 있는데, 해당 출력 결과에 연관된 데이터에 집중(attention)할 수 있다.
제2 응답 정보 처리부(42)는 상기 동작에 따라 문제 정보 'Ek'에 대한 사용자의 정답 확률 정보인 'rk*'를 생성할 수 있다.
상술한 바와 같은, 디코더(40)는 하나 이상 존재할 수 있다. 도 5는 N개의 디코더(40)가 존재할 수 있음을 도시하고 있다. 이 경우, 디코더(40)에서 생성된 정답 확률 정보(r*)는 디코더(40)에 피드백 되어 자기 어텐션, 멀티 헤드 어텐션 및 비선형화와 관련된 일련의 동작이 수차례 반복될 수 있다.
한편, 문제 정보 처리부(21), 제1 응답 정보 처리부(41) 및 제2 응답 정보 처리부(42)는 마스킹 동작시 키-쿼리 마스킹(key-query masking) 뿐만 아니라 상부 삼각 마스킹(upper triangular masking)을 수행할 수 있다.
본 발명의 실시 예에서, 문제 정보들(E1, E2, …, Ek)은 임베딩이 수행된 벡터 형태로 인코더(20)에 입력될 수 있다. 도 5에 도시된 바와 같이, 문제 정보(E)는 문제 식별 정보(Exercise ID, e), 문제 위치 정보(Position, p), 문제 카테고리 정보(Exercise Category, pt)를 포함할 수 있다.
문제 식별 정보(Exercise ID, e)는 문제마다 부여되는 고유 정보일 수 있다. 사용자 또는 컴퓨터는 문제 식별 정보를 통해 해당 문제가 어떤 문제인지 판별할 수 있다.
문제 카테고리 정보(Exercise Category, pt)는 해당 문제가 어떤 유형 또는 파트의 문제인지 알려주는 정보일 수 있다. 예를 들어, 토익(TOEIC®)에서 문제 카테고리 정보는 소정 문제가 듣기 파트에 속하는 문제인지, 읽기 파트에 속하는 문제인지를 알려주는 정보일 수 있다. 만약, 토익에서 어떤 문제가 듣기 파트에 속한다면, 해당 문제에 대한 문제 카테고리 정보는 'Part 1'일 수 있다. 만약, 토익에서 어떤 문제가 읽기 파트에 속한다면, 해당 문제에 대한 문제 카테고리 정보는 'Part 2'일 수 있다.
문제 위치 정보(Position, p)는 소정 문제 정보가 문제 정보 스트림 즉, 전체 문제 정보 내에서 어디에 위치하는지를 나타내는 정보일 수 있다. 트랜스포머 구조는 RNN 구조와 다르게 입력 데이터가 순차적으로 입력되지 않으므로, 각각의 입력 데이터는 전체 입력 시퀀스(input sequence)에서 어디에 위치하는지를 별도로 표시될 필요가 있다. 문제 위치 정보는
상술한 바와 같은 문제 식별 정보, 문제 카테고리 정보 및 문제 위치 정보는 함께 임베딩되고, 임베딩된 각각의 정보들은 서로 합산되어 인코더(20)에 입력될 수 있다.
본 발명의 실시 예에서, 응답 정보들(R1, R2, …, Rk-1)은 임베딩이 수행된 벡터 형태로 디코더(40)에 입력될 수 있다. 도 5에 도시된 바와 같이, 응답 정보(R)는 응답 정확성 정보(Response Correctness, c), 응답 위치 정보(Position, p), 소요 시간 정보(Elapse Time, et), 지연 시간 정보(Lag Time, lt)를 포함할 수 있다.
응답 정확성 정보(Response Correctness, c)는 사용자의 응답이 정답인지 또는 오답인지를 나타내는 정보일 수 있다. 예를 들어, 사용자의 응답이 정답이면 응답 정확성 정보는 '1'을 나타내는 벡터로 표현될 수 있다. 반대로, 사용자의 응답이 오답이면 응답 정황성 정보는 '0'을 나타내는 벡터로 표현될 수 있다.
응답 위치 정보(Position, p)는 소정 응답 정보가 응답 정보 스트림 즉, 전체 응답 정보 내에서 어디에 위치하는지를 나타내는 정보일 수 있다. 트랜스포머 구조는 RNN 구조와 다르게 입력 데이터가 순차적으로 입력되지 않으므로, 각각의 입력 데이터는 전체 입력 시퀀스(input sequence)에서 어디에 위치하는지를 별도로 표시될 필요가 있다.
소요 시간 정보는 사용자가 문제를 풀이하는 데 소요된 시간을 벡터로 나타낸 정보일 수 있다. 소요 시간 정보는 초, 분, 시간 등으로 표현될 수 있다. 또한, 문제를 풀이하는 데 소요된 시간이 기준 시간을 초과한 경우에는, 소요 시간은 기준 시간에 기초하여 결정될 수 있다. 예를 들어, 기준 시간이 300초이고, 문제를 풀이하는 데 소요된 시간이 300초를 초과한 경우, 해당 문제에 대한 소요 시간은 300초인 것으로 결정될 수 있다.
지연 시간 정보는 사용자가 이전 문제의 풀이를 종료한 시점부터 다음 문제의 풀이를 시작한 시점까지의 시간일 수 있다. 다만, 실시 예에서 지연 시간 정보는 사용자가 문제를 푼 시각을 나타낸 정보를 포함할 수도 있다. 이 경우, 지연 시간 정보는 시간, 일, 월, 년도 등으로 표현될 수 있다.
상술한 바와 같은 응답 정확성 정보, 응답 위치 정보, 소요 시간 정보, 지연 시간 정보는 함께 임베딩되고, 임베딩된 각각의 정보들은 서로 합산되어 디코더(40)에 입력될 수 있다.
도 7은 본 발명의 실시 예에 따른 사용자 지식 추적 장치의 동작을 설명하기 위한 순서도이다.
도 7을 참조하면, S501 단계에서, 사용자 지식 추적 장치(200)는 사용자 단말(100)로부터 문제 풀이 과정에서 수집된 시간 정보를 수집할 수 있다. 시간 정보는 소요 시간 정보 및 지연 시간 정보를 포함할 수 있다. 소요 시간 정보는 사용자가 문제를 풀이하는데 소요된 시간을 의미한다. 지연 시간 정보는 사용자가 이전 문제를 응답한 이후 다음 문제를 풀기 시작할 때까지 걸린 시간을 의미한다.
S503 단계에서, 사용자 지식 추적 장치(200)는 소요 시간 정보와 지연 시간 정보를 포함하는 응답 정보(R)를 생성할 수 있다. 응답 정보(R)는 소요 시간 정보 및 지연 시간 정보 외에도, 응답 정확성 정보 및 응답 위치 정보 중 하나 이상을 더 포함할 수 있다.
S505 단계에서, 사용자 지식 추적 장치(200)는 소요 시간 정보와 지연 시간 정보의 임베딩 방법을 결정할 수 있다.
구체적으로, 사용자 지식 추적 장치(200)는 문제 정보(E)와 응답 정보(R)에서 추출한 파라미터를 기초로 임베딩 방법을 결정할 수 있다. 파라미터는 사용자가 풀이한 평균 문제 수, 수집된 시간 정보 분포의 평균 또는 분산값, 사용자의 실력 등이 포함될 수 있으나 이에 한정되지 않는다.
사용자 지식 추적 장치(200)는 추출된 파라미터에 기초하여, 수치적 임베딩(numerical embedding) 및 범주적 임베딩(categorical embedding) 중 어느 하나의 임베딩 방법을 선택하고, 선택된 임베딩 방법을 사용하여 시간 정보를 임베딩할 수 있다.
S507 단계에서, 사용자 지식 추적 장치(200)는 트랜스포머 구조의 인공지능 모델의 인코더(20)에 문제 정보(E)를 입력하고, 디코더(40)에 응답 정보(R)를 입력할 수 있다.
S509 단계에서, 사용자 지식 추적 장치(200)는 문제 정보(E)와 응답 정보(R)를 사용해 학습된 지식 추적 모델을 기초로, 사용자가 아직 풀이하지 않은 임의의 문제에 대한 사용자의 정답 확률(r*)을 예측할 수 있다.
이상, 도 1 내지 도 7을 참조하여 본 발명의 실시 예들을 설명하였다. 상술한 예에서 사용자 지식 추적 장치(200)는 하나 이상의 프로세서를 포함하는 컴퓨팅 장치일 수 있다. 또한, 사용자 지식 추적 장치(200)를 구성하는 구성요소들은 모듈로 구현될 수 있다.
모듈은 소프트웨어 또는 Field Programmable Gate Array(FPGA)나 주문형 반도체(Application Specific Integrated Circuit, ASIC)와 같은 하드웨어 구성요소를 의미하며, 모듈은 어떤 역할들을 수행한다. 그렇지만 모듈은 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. 모듈은 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 실행시키도록 구성될 수도 있다. 따라서, 일 예로서 모듈은 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라버들, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들, 및 변수들을 포함한다. 구성요소들과 모듈들에서 제공되는 기능은 더 작은 수의 구성요소들 및 모듈들로 결합되거나 추가적인 구성요소들과 모듈들로 더 분리될 수 있다.
이상과 첨부된 도면을 참조하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.
50: 사용자 지식 추적 시스템
100: 사용자 단말
200: 사용자 지식 추적 장치
210: 문제응답 정보 저장부
220: 임베딩 수행부
221: 수치적 임베딩 수행부
221: 범주적 임베딩 수행부
230: 모델 학습부

Claims (14)

  1. 문제 풀이와 관련된 시간 정보를 사용해 정답 확률을 예측하는 사용자 지식 추적 장치에 있어서,
    사용자에게 학습을 위해 제공되는 문제 정보와 사용자가 풀이한 문제 풀이 기록에 대한 응답 정보를 포함하는 문제 응답 정보를 저장하는 문제-응답 정보 저장부;
    상기 문제 정보와 상기 응답 정보에서 사용자가 풀이한 평균 문제 수, 수집된 시간 정보 분포의 평균 또는 분산값, 수치화된 사용자의 실력 중 하나 이상을 파라미터로 추출하고, 상기 추출한 파라미터를 기초로, 상기 응답 정보에 포함된 시간 정보에 대한 임베딩 방법을 결정하고, 상기 시간 정보에 대해 상기 결정된 임베딩을 수행하는 임베딩 수행부; 및
    임베딩이 수행된 문제 정보와 응답 정보를 지식 추적 모델에 입력하고, 상기 응답 정보에 포함된 시간 정보와 사용자의 정답 확률과의 관계를 나타내는 가중치를 조정하여, 상기 가중치를 기초로 사용자가 아직 풀이하지 않은 문제에 대한 사용자의 정답 확률을 예측하는 상기 지식 추적 모델을 학습시키는 모델 학습부;
    를 포함하되,
    상기 임베딩 수행부는
    상기 사용자가 풀이한 평균 문제 수가 기준값 이상인 경우, 상기 시간 정보의 임베딩 벡터의 수가 기준치보다 많은 것으로 판단하고, 미리 결정된 개수의 임베딩 벡터를 가지는 범주적 임베딩을 상기 시간 정보에 대한 임베딩 방법으로 결정하고,
    상기 수집된 시간 정보 분포의 평균 또는 분산값이 기준값 이하인 경우, 상기 시간 정보의 임베딩 벡터의 수가 기준치보다 적은 것으로 판단하고, 풀이 시간마다 하나의 임베딩 벡터가 생성되는 수치적 임베딩을 상기 시간 정보에 대한 임베딩 방법으로 결정하는 사용자 지식 추적 장치.
  2. 제1항에 있어서,
    상기 시간 정보는,
    사용자가 문제를 풀이하는데 소요된 시간인 소요 시간 정보 및 사용자가 이전 문제의 풀이를 완료한 후 다음 문제를 풀이하기까지의 시간인 지연 시간 정보를 포함하는 사용자 지식 추적 장치.
  3. 제2항에 있어서,
    상기 임베딩 수행부는,
    상기 시간 정보를 미리 설정된 단위의 시간 단위로 나눈 후 각각의 시간 단위를 서로 다른 시간 정보 벡터로 임베딩하는 방법으로 임베딩 벡터를 생성함으로써, 상기 범주적 임베딩을 수행하는 범주적 임베딩 수행부;
    를 포함하는 사용자 지식 추적 장치.
  4. 제2항에 있어서,
    상기 임베딩 수행부는,
    상기 지식 추적 모델 내에서 적어도 하나의 학습 가능한 시간 정보 벡터를 두고, 상기 시간 정보 벡터에 시간값을 연산하여 임베딩 벡터를 생성함으로써, 상기 수치적 임베딩을 수행하는 수치적 임베딩부;
    포함하는 사용자 지식 추적 장치.
  5. 제2항에 있어서,
    상기 모델 학습부는,
    상기 소요 시간이 길수록 사용자의 실력이 낮다고 판단하고 예측된 정답 확률을 하향 조정하는 방향으로 상기 지식 추적 모델을 학습시키고,
    상기 지연 시간이 길수록 사용자가 학습한 내용의 일부를 망각했다고 판단하고 예측된 정답 확률을 하향 조정하는 방향으로 상기 지식 추적 모델을 학습시키는 사용자 지식 추적 장치.
  6. 제1항에 있어서,
    상기 지식 추적 모델은,
    상기 문제 정보를 입력받는 인코더와 상기 응답 정보를 입력받는 디코더를 포함하고,
    상기 디코더에서 출력 결과를 예측할 때마다 상기 인코더의 전체 입력 데이터를 고려하고, 상기 예측하고자 하는 정답 확률에 연관된 입력 데이터에 집중(attention)하는 트랜스포머 구조 기반의 인공지능 모델을 사용하는 사용자 지식 추적 장치.
  7. 제6항에 있어서,
    상기 인코더는,
    상기 문제 정보를 입력받고, 자기 어텐션과 관련된 일련의 동작을 수행하는 문제 정보 처리부; 및
    상기 문제 정보 처리부에서 출력된 예측 데이터를 비선형화 시키는 동작을 수행하는 비선형화 수행부;
    를 포함하는 사용자 지식 추적 장치.
  8. 제6항에 있어서,
    상기 디코더는,
    상기 응답 정보를 입력 받고, 자기 어텐션과 관련된 일련의 동작을 수행하는 제1 응답 정보 처리부;
    상기 제1 응답 정보 처리부로부터 쿼리 데이터를 입력받고, 상기 인코더로부터 어텐션 정보를 입력받아, 상기 입력받은 문제 정보에 대한 정답 확률 정보를 출력하는 제2 응답 정보 처리부; 및
    상기 제2 응답 정보 처리부에서 출력된 상기 정답 확률 정보를 비선형화 시키는 동작을 수행하는 비선형화 수행부;
    를 포함하는 사용자 지식 추적 장치.
  9. 제1항에 있어서,
    상기 문제 정보는,
    문제마다 부여되는 고유 정보인 문제 식별 정보, 문제가 전체 문제 정보 내에서 어디에 위치하는지 나타내는 문제 위치 정보 및 문제의 유형 또는 파트를 나타내는 문제 카테고리 정보를 포함하는 사용자 지식 추적 장치.
  10. 제1항에 있어서,
    상기 응답 정보는,
    사용자의 응답이 정답인지 또는 오답인지를 나타내는 정보인 응답 정확성 정보, 사용자의 응답이 전체 응답 정보 내에서 어디에 위치하는지를 나타내는 정보인 응답 위치 정보, 사용자가 문제를 풀이하는 데 소요된 시간에 관한 정보인 소요 시간 정보 및 사용자가 이전 문제의 풀이를 완료한 후 다음 문제의 풀이를 시작하기까지의 시간에 관한 정보인 지연 시간 정보를 포함하는 사용자 지식 추적 장치.
  11. 삭제
  12. 삭제
  13. 삭제
  14. 문제 풀이와 관련된 시간 정보를 사용해 정답 확률을 예측하는 사용자 지식 추적 장치의 동작 방법에 있어서,
    사용자에게 학습을 위해 제공되는 문제 정보와 사용자가 풀이한 문제 풀이 기록에 대한 응답 정보를 포함하는 문제 응답 정보를 문제-응답 정보 저장부에 저장하는 단계;
    상기 문제 정보와 상기 응답 정보에서 사용자가 풀이한 평균 문제 수, 수집된 시간 정보 분포의 평균 또는 분산값, 수치화된 사용자의 실력 중 하나 이상을 파라미터로 추출하고, 상기 추출한 파라미터를 기초로, 상기 응답 정보에 포함된 시간 정보에 대한 임베딩 방법을 결정하는 단계;
    상기 시간 정보에 대해 상기 결정된 임베딩을 수행하는 단계; 및
    임베딩이 수행된 문제 정보와 응답 정보를 지식 추적 모델에 입력하고, 상기 응답 정보에 포함된 시간 정보와 사용자의 정답 확률과의 관계를 나타내는 가중치를 조정하여, 상기 가중치를 기초로 사용자가 아직 풀이하지 않은 문제에 대한 사용자의 정답 확률을 예측하는 상기 지식 추적 모델을 학습시키는 단계를 포함하되,
    상기 임베딩 방법을 결정하는 단계는
    상기 사용자가 풀이한 평균 문제 수가 기준값 이상인 경우, 상기 시간 정보의 임베딩 벡터의 수가 기준치보다 많은 것으로 판단하고, 미리 결정된 개수의 임베딩 벡터를 가지는 범주적 임베딩을 상기 시간 정보에 대한 임베딩 방법으로 결정하는 단계; 및
    상기 수집된 시간 정보 분포의 평균 또는 분산값이 기준값 이하인 경우, 상기 시간 정보의 임베딩 벡터의 수가 기준치보다 적은 것으로 판단하고, 풀이 시간마다 하나의 임베딩 벡터가 생성되는 수치적 임베딩을 상기 시간 정보에 대한 임베딩 방법으로 결정하는 단계;를 포함하는 사용자 지식 추적 장치의 동작 방법.
KR1020210115659A 2020-10-15 2021-08-31 인공 지능 학습 기반의 사용자 지식 추적 장치, 시스템 및 그것의 동작 방법 KR102571069B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
PCT/KR2021/011840 WO2022080666A1 (ko) 2020-10-15 2021-09-02 인공 지능 학습 기반의 사용자 지식 추적 장치, 시스템 및 그것의 동작 방법
JP2022548083A JP2023514766A (ja) 2020-10-15 2021-09-02 人工知能学習基盤の使用者知識追跡装置、システムおよびその動作方法
US17/503,103 US20220122481A1 (en) 2020-10-15 2021-10-15 User Knowledge Tracking Device, System, and Operation Method thereof Based on Artificial Intelligence Learning
CONC2022/0010920A CO2022010920A2 (es) 2020-10-15 2022-08-02 Dispositivo de seguimiento del conocimiento del usuario basado en aprendizaje de inteligencia artificial, sistema y método de control del mismo

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20200133309 2020-10-15
KR1020200133309 2020-10-15

Publications (2)

Publication Number Publication Date
KR20220050037A KR20220050037A (ko) 2022-04-22
KR102571069B1 true KR102571069B1 (ko) 2023-08-29

Family

ID=81452414

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210115659A KR102571069B1 (ko) 2020-10-15 2021-08-31 인공 지능 학습 기반의 사용자 지식 추적 장치, 시스템 및 그것의 동작 방법

Country Status (1)

Country Link
KR (1) KR102571069B1 (ko)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230376663A1 (en) * 2022-05-23 2023-11-23 Microsoft Technology Licensing, Llc Systems and methods for hardware acceleration of masking and normalizing data with a triangular input mask
CN114861916B (zh) * 2022-06-13 2024-03-05 合肥工业大学 一种融合知识联想路径的认知跟踪方法
CN114971066A (zh) * 2022-06-16 2022-08-30 兰州理工大学 融合遗忘因素和学习能力的知识追踪方法及系统
KR102539679B1 (ko) * 2023-02-01 2023-06-02 (주)피플리 사용자의 경로를 이용하여 사용자 맞춤형 장소 추천 방법, 장치 및 시스템
KR102623059B1 (ko) * 2023-03-31 2024-01-09 주식회사 클래스팅 트랜스포머 신경망 기반의 지식 추적 모델을 이용한 지능형 튜터링 시스템 및 방법
CN116383503B (zh) * 2023-04-07 2024-01-16 西南大学 基于对抗学习和序列推荐的知识追踪方法及系统
CN116452212B (zh) * 2023-04-24 2023-10-31 深圳迅销科技股份有限公司 一种智能客服商品知识库信息管理方法及系统
KR102659336B1 (ko) * 2023-06-13 2024-04-18 주식회사 튜링 단원 간 연관성을 수치화하는 방법, 프로그램, 및 장치

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200202226A1 (en) * 2018-12-20 2020-06-25 Fuji Xerox Co., Ltd. System and method for context based deep knowledge tracing

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200012430A (ko) 2018-07-27 2020-02-05 (주)웅진씽크빅 학습자의 예측정답율 분석 정보 제공방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200202226A1 (en) * 2018-12-20 2020-06-25 Fuji Xerox Co., Ltd. System and method for context based deep knowledge tracing

Also Published As

Publication number Publication date
KR20220050037A (ko) 2022-04-22

Similar Documents

Publication Publication Date Title
KR102571069B1 (ko) 인공 지능 학습 기반의 사용자 지식 추적 장치, 시스템 및 그것의 동작 방법
EP3593958B1 (en) Data processing method and nursing robot device
CN107053191B (zh) 一种机器人,服务器及人机互动方法
Hwang et al. Advancement and research trends of smart learning environments in the mobile era
CN112199002B (zh) 基于虚拟角色的交互方法及装置、存储介质、计算机设备
CN110091335B (zh) 学伴机器人的控制方法、系统、设备及存储介质
Rho et al. An experiential learning approach to learning manual communication through a virtual reality environment
CN107004373A (zh) 信息处理装置、信息处理方法以及计算机程序
CN109637207A (zh) 一种学前教育互动教学装置及教学方法
Schodde et al. Adapt, explain, engage—a study on how social robots can scaffold second-language learning of children
CN109118860A (zh) 基于人工智能的英语培训系统及方法
KR20190133100A (ko) 어플리케이션을 이용하여 음성 입력에 대한 응답을 출력하는 전자 장치 및 그 동작 방법
US11393357B2 (en) Systems and methods to measure and enhance human engagement and cognition
KR102232343B1 (ko) 인공지능 기반 맞춤형 학습 방법 및 시스템
Habibian et al. Here’s what I’ve learned: Asking questions that reveal reward learning
CN109559576A (zh) 一种儿童伴学机器人及其早教系统自学习方法
KR102134189B1 (ko) 인공지능 로봇을 활용한 도서 콘텐츠 제공 방법 및 장치
US20220122481A1 (en) User Knowledge Tracking Device, System, and Operation Method thereof Based on Artificial Intelligence Learning
WO2022009875A1 (ja) 集中度判別プログラム
Butko et al. Detecting contingencies: An infomax approach
CN114358988B (zh) 基于ai技术的教学方式推送方法及装置
Lin et al. The classroom response system based on affective computing
KR20190096752A (ko) 컨텐츠에 대한 텍스트 코멘트를 생성하는 방법 및 전자 장치
Budiharto et al. Modeling of natural interaction and algorithm of Intelligent humanoid robot for education
Weng et al. The developmental approach to artificial intelligence: Concepts, developmental algorithms and experimental results

Legal Events

Date Code Title Description
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant