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

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

Info

Publication number
KR20210141320A
KR20210141320A KR1020210014456A KR20210014456A KR20210141320A KR 20210141320 A KR20210141320 A KR 20210141320A KR 1020210014456 A KR1020210014456 A KR 1020210014456A KR 20210014456 A KR20210014456 A KR 20210014456A KR 20210141320 A KR20210141320 A KR 20210141320A
Authority
KR
South Korea
Prior art keywords
information
tracking system
neural network
user
attention
Prior art date
Application number
KR1020210014456A
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 KR1020210014456A priority Critical patent/KR20210141320A/ko
Priority to KR1020210122430A priority patent/KR20210141419A/ko
Priority to KR1020210122434A priority patent/KR20210141420A/ko
Priority to KR1020210123265A priority patent/KR20210141792A/ko
Priority to KR1020210123268A priority patent/KR20210141425A/ko
Priority to KR1020210123257A priority patent/KR20210141421A/ko
Priority to KR1020210123258A priority patent/KR20210141422A/ko
Priority to KR1020210123261A priority patent/KR20210141791A/ko
Priority to KR1020210123269A priority patent/KR20210141426A/ko
Priority to KR1020210123262A priority patent/KR20210141424A/ko
Priority to KR1020210123259A priority patent/KR20210141423A/ko
Publication of KR20210141320A publication Critical patent/KR20210141320A/ko

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
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • 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/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
    • 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
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • G06N5/022Knowledge engineering; Knowledge acquisition
    • G06N5/025Extracting rules from data
    • 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
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/048Activation functions

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Computational Linguistics (AREA)
  • Business, Economics & Management (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Mathematical Optimization (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • Tourism & Hospitality (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Economics (AREA)
  • General Business, Economics & Management (AREA)
  • Educational Administration (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • Educational Technology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Operations Research (AREA)

Abstract

본 발명은 보다 향상된 정확성을 가지는 사용자 지식 추적 방법에 관한 발명으로, 복수의 인코더 신경망과 복수의 디코더 신경망을 포함하는 사용자 지식 추적 시스템의 동작 방법에 있어서, 제k 인코더 신경망에 문제 정보를 입력하고, 제k 디코더 신경망에 응답 정보를 입력하는 단계, 상기 응답 정보에 가중치를 반영하여 사용자가 정답 확률을 예측하고자 하는 문제에 대한 정보인 쿼리 데이터를 생성하고, 상기 문제 정보에 가중치를 반영하여 상기 쿼리 데이터에 대한 가중치로 사용될 어텐션 정보를 생성하는 단계 및 상기 어텐션 정보를 상기 쿼리 데이터에 대한 가중치로 사용하여 상기 사용자 지식 추적 시스템을 학습하는 단계를 포함한다.

Description

인공 지능 학습 기반의 사용자 지식 추적 시스템 및 그것의 동작 방법{A SYSTEM FOR TRACKING USER KNOWLEDGE BASED ON ARTIFICIAL INTELLIGENCE LEARNING AND METHOD THEREOF}
본 발명은 인공 지능 학습을 기반으로 사용자의 지식을 추적하기 위한 방법 및 시스템에 관한 것이다. 구체적으로, 트랜스포머 구조의 인코더 신경망에 문제 정보를, 디코더 신경망에 응답 정보를 입력하여 사용자의 정답 확률을 예측하기 위한 사용자 지식 추적 방법 및 시스템에 관한 것이다.
최근 인터넷과 전자장치의 활용이 각 분야에서 활발히 이루어지며 교육 환경 역시 빠르게 변화하고 있다. 특히, 다양한 교육 매체의 발달로 학습자는 보다 폭넓은 학습 방법을 선택하고 이용할 수 있게 되었다. 그 중에서도 인터넷을 통한 교육 서비스는 시간적, 공간적 제약을 극복하고 저비용의 교육이 가능하다는 이점 때문에 주요한 교수 학습 수단으로 자리매김하게 되었다.
이러한 온라인 교육 서비스는 다양한 모델의 인공지능과 접목하여 기존에 오프라인 교육 환경에서는 불가능했던 임의의 문제에 대한 사용자의 정답 확률을 예측하여 보다 효율적인 학습 컨텐츠를 제공할 수 있게 되었다.
종래 주어진 문제에 대한 사용자의 정답 확률을 예측하기 위해 RNN, LSTM, 양방향 LSTM, 트랜스포머 등 다양한 인공신경망 모델 이 제안된 바 있지만, 이러한 기존 인공신경망 모델들은 원하는 추론 결과를 얻기에는 레이어가 너무 얇거나 사용자 지식 추적에 최적화된 입력 데이터를 사용하지 않아 충분한 정확성을 가지는 결과를 예측하지 못하는 문제가 있었다.
특히, 트랜스포머 모델은 RNN 구조가 아닌 어텐션만을 사용하여 인코더-디코더 구조를 만듦으로써 학습 속도가 무척 빠르고 성능 또한 RNN보다 우수하다는 장점이 있어 사용자 지식 추적 모델로서 주목받기 시작하였는데, 트랜스포머 모델을 학습 컨텐츠에 최적화하여 사용하기 위한 연구가 부족한 실정이다.
구체적으로, 트랜스포머 모델의 인코더와 디코더에 각각 입력되는 데이터를 어떻게 구성해야 학습 컨텐츠에 최적화된 추론 결과를 얻을 수 있는지, 학습 컨텐츠 특성상 사용자가 아직 풀지 않은 문제를 기초로 정답 확률이 예측되는 것을 방지하기 위해 어떤 방법을 사용할 수 있는지 등 트랜스포머 모델을 사용하여 보다 효과적으로 사용자의 정답 확률을 예측하기 위한 방법이 요구된다.
본 발명은 전술한 문제를 해결하기 위한 발명으로, 사용자 지식 추적에 최적화된 입력 데이터 포맷을 사용하여 향상된 성능을 가지는 사용자 지식 추적 시스템을 제공할 수 있다.
또한, 본 발명은 트랜스포머 구조의 인코더 신경망과 디코더 신경망에 상부 삼각 마스킹(Upper triangular masking)을 적절히 사용함으로써 향상된 성능을 가지는 사용자 지식 추적 시스템을 제공할 수 있다.
본 발명은 보다 향상된 정확성을 가지는 사용자 지식 추적 방법에 관한 발명으로, 복수의 인코더 신경망과 복수의 디코더 신경망을 포함하는 사용자 지식 추적 시스템의 동작 방법에 있어서, 제k 인코더 신경망에 문제 정보를 입력하고, 제k 디코더 신경망에 응답 정보를 입력하는 단계, 상기 응답 정보에 가중치를 반영하여 사용자가 정답 확률을 예측하고자 하는 문제에 대한 정보인 쿼리 데이터를 생성하고, 상기 문제 정보에 가중치를 반영하여 상기 쿼리 데이터에 대한 가중치로 사용될 어텐션 정보를 생성하는 단계 및 상기 어텐션 정보를 상기 쿼리 데이터에 대한 가중치로 사용하여 상기 사용자 지식 추적 시스템을 학습하는 단계를 포함한다.
본 발명은 보다 향상된 정확성을 가지는 사용자 지식 추적 시스템에 관한 발명으로, 복수의 인코더 신경망과 복수의 디코더 신경망을 포함하는 사용자 지식 추적 시스템에 있어서, 문제 정보를 수신하고, 상기 문제 정보에 가중치를 반영하여 쿼리 데이터에 대한 가중치로 사용될 어텐션 정보를 생성하는 제k 인코더 신경망 및 응답 정보를 수신하고, 상기 응답 정보에 가중치를 반영하여 사용자가 정답 확률을 예측하고자 하는 문제에 대한 정보인 상기 쿼리 데이터를 생성하고, 상기 어텐션 정보를 상기 쿼리 데이터에 대한 가중치로 사용하여 상기 사용자 지식 추적 시스템을 학습하는 제k 디코더 신경망을 포함한다.
본 발명의 실시 예에 따르면, 사용자 지식 추적에 최적화된 입력 데이터 포맷을 사용하여 향상된 성능을 가지는 사용자 지식 추적 시스템을 제공할 수 있다.
또한, 본 발명의 실시 예에 따르면, 트랜스포머 구조의 인코더 신경망과 디코더 신경망에 상부 삼각 마스킹(Upper triangular masking)을 적절히 사용함으로써 향상된 성능을 가지는 사용자 지식 추적 시스템을 제공할 수 있다.
도 1은 본 발명의 실시 예에 따른 사용자 지식 추적 시스템을 설명하기 위한 도면이다.
도 2는 도 1의 사용자 지식 추적 시스템의 동작을 상세하게 설명하기 위한 도면이다.
도 3은 종래 사용자 지식 추적 시스템에 사용되던 인공 신경망 구조의 일례를 설명하기 위한 도면이다.
도 4는 종래 사용자 지식 추적 시스템에 사용되던 인공 신경망 구조의 다른 예를 설명하기 위한 도면이다.
도 5는 각 입력 데이터의 구성을 설명하기 위한 도면이다.
도 6은 키-쿼리 마스킹(key-query masking)과 상부 삼각 마스킹(upper triangular masking)을 설명하기 위한 도면이다.
도 7은 하부 삼각 마스킹(lower triangular masking)과 문제 응답 정보를 이용하여 응답 예측 결과를 출력하는 인공 신경망 구조를 설명하기 위한 도면이다.
도 8은 상부 삼각 마스킹(upper triangular masking)과 문제 응답 정보를 이용하여 응답 예측 결과를 출력하는 인공 신경망 구조를 설명하기 위한 도면이다.
도 9는 상부 삼각 마스킹(upper triangular masking), 문제 응답 정보 및 스택된 SAKT를 이용하여 응답 예측 결과를 출력하는 인공 신경망 구조를 설명하기 위한 도면이다.
도 10은 도 2, 도 7 내지 9의 인공 신경망 구조의 ACC 성능을 비교하기 위한 그래프이다.
도 11은 도 2, 도 7 내지 9의 인공 신경망 구조의 AUC 성능을 비교하기 위한 그래프이다.
도 12는 본 발명의 실시 예에 따른, 사용자 지식 추적 시스템의 동작을 설명하기 위한 순서도이다.
도 13은 본 발명의 실시 예에 따른, 문제 처리부, 응답 처리부 또는 문제 응답 처리부의 동작을 상세하게 설명하기 위한 순서도이다.
본 명세서 또는 출원에 개시되어 있는 본 발명의 개념에 따른 실시 예들에 대해서 특정한 구조적 내지 단계적 설명들은 단지 본 발명의 개념에 따른 실시 예를 설명하기 위한 목적으로 예시된 것으로, 본 발명의 개념에 따른 실시 예들은 다양한 형태로 실시될 수 있으며 본 발명의 개념에 따른 실시 예들은 다양한 형태로 실시될 수 있으며 본 명세서 또는 출원에 설명된 실시 예들에 한정되는 것으로 해석되어서는 아니 된다.
본 발명의 개념에 따른 실시 예는 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있으므로 특정 실시 예들을 도면에 예시하고 본 명세서 또는 출원에 상세하게 설명하고자 한다. 그러나, 이는 본 발명의 개념에 따른 실시 예를 특정한 개시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제1 및/또는 제2 등의 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만, 예컨대 본 발명의 개념에 따른 권리 범위로부터 이탈되지 않은 채, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
본 명세서에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 서술된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
실시 예를 설명함에 있어서 본 발명이 속하는 기술 분야에 익히 알려져 있고 본 발명과 직접적으로 관련이 없는 기술 내용에 대해서는 설명을 생략한다. 이는 불필요한 설명을 생략함으로써 본 발명의 요지를 흐리지 않고 더욱 명확히 전달하기 위함이다.
이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시 예를 설명함으로써, 본 발명을 상세히 설명한다. 이하, 본 발명의 실시 예를 첨부된 도면을 참조하여 상세하게 설명한다.
도 1은 본 발명의 실시 예에 따른 사용자 지식 추적 시스템을 설명하기 위한 도면이다.
도 1을 참조하면, 도 1은 트랜스포머 모델에 기반한 사용자 지식 추적 시스템(5)으로서, 실시 예에 따른 사용자 지식 추적 시스템(5)은 임베딩 수행부(10, 30), 인코더 신경망(20) 및 디코더 신경망(40)을 포함할 수 있다.
트랜스포머(Transformer) 모델은 기존의 seq2seq의 구조인 인코더-디코더를 따르면서도, 어텐션(Attention)만으로 구현한 모델이다. 트랜스포머 모델은 RNN을 사용하지 않지만 기존의 seq2seq처럼 인코더에서 입력 시퀀스를 입력받고, 디코더에서 출력 시퀀스를 출력하는 인코더-디코더 구조를 유지하며, 인코더와 디코더의 단위가 N개씩 존재할 수 있다는 특징이 있다.
어텐션 메커니즘은 RNN에 기반한 seq2seq의 문제점으로 지적받던 하나의 고정된 크기의 벡터에 모든 정보를 압축하는 데서 오는 정보 손실과, 기울기 소실(Vanishing Gradient) 문제를 해결하기 위해 제안되었다.
어텐션 메커니즘에 따르면, 디코더에서 출력 단어를 예측하는 매 시점(time step)마다, 인코더에서의 전체 입력 데이터를 다시 한번 참고한다. 단, 전체 입력 데이터를 전부 다 동일한 비율로 참고하는 것이 아니라, 해당 시점에서 예측해야 할 데이터와 연관이 있는 입력 데이터 부분을 좀 더 집중(attention)하게 된다.
다시 도 1을 참조하면, 사용자 지식 추적 시스템(5)은 문제 데이터베이스에 대한 사용자의 대량의 문제 풀이 결과를 기초로 인공 신경망을 학습하고, 이를 기반으로 문제 데이터베이스에서 임의의 문제에 대한 특정 사용자의 정답 확률을 예측할 수 있다.
사용자의 실력을 향상시키는 것을 목적으로 하는 교육 도메인에서, 사용자가 확실히 맞출 수 있는 문제를 제공하는 것은 비효율적일 수 있다. 사용자가 틀릴 확률이 높은 문제를 제공하거나, 목표로 하는 시험 점수를 올릴 수 있는 문제를 제공하는 것이 효율적일 것이다.
본 발명의 실시 예에 따른 사용자 지식 추적 시스템(5)은, 사용자 특성을 보다 정확하게 반영하는 사용자 모델을 생성하여, 사용자에게 학습 효율이 높은 문제, 예를 들어 틀릴 확률이 높거나, 목표로 하는 시험 점수를 올릴 수 있거나, 반복적으로 틀리는 유형의 문제를 실시간으로 분석하고 사용자가 특히 취약한 유형의 문제를 제공할 수 있다.
또한, 사용자 지식 추적 시스템(5)은 문제 데이터베이스에 대한 사용자의 대량의 문제 풀이 결과를 기초로 인공 신경망을 학습하고, 이를 기반으로 특정 사용자가 실제 시험에서 받을 수 있는 점수를 예측할 수 있다. 예측되는 점수대에 따라 사용자 맞춤형 학습 설계를 제공할 수 있고, 사용자는 보다 효율적인 학습을 수행할 수 있는 효과가 있다.
도 1을 참조하면, 임베딩 수행부(10, 30)는 입력 데이터에 대해 임베딩을 수행할 수 있다. 본 발명의 실시 예에서, 입력 데이터는 문제 정보, 응답 정보 또는 문제 응답 정보를 포함할 수 있다.
문제 정보는 사용자의 지식 수준을 측정하기 위해 제공되는 다양한 유형과 난이도를 가지는 문제에 대한 정보일 수 있다. 응답 정보는 상기 문제 정보에 응답하여 사용자가 선택한 답, 또는 사용자가 해당 문제를 맞췄는지 또는 틀렸는지에 대한 정보일 수 있다. 문제 응답 정보는 문제 정보와 이에 대응되는 사용자의 응답 정보가 매치된 세트에 대한 정보일 수 있다.
실시 예에서, 문제 정보는 Example의 약자로 'E', 응답 정보는 Response의 약자로 'R', 문제 응답 정보는 Interaction의 약자로 'I'로 표현될 수 있다. 정답 확률 정보는 'r*'로 표현될 수 있다.
임베딩 수행부(10, 30)는 입력 데이터, 예를 들어 문제, 응답, 또는 문제와 응답의 세트를 벡터로 표현하여 사용자 지식 추적 시스템(5)에 임베딩하는 기능을 수행할 수 있다. 입력 데이터를 잠재 공간에 대한 벡터로 표현하는 방법은 다양할 수 있다. 예를 들어, 인공지능 안에서 단어를 수치화하여 사용하는 방법 중 하나일 수 있다. 사용자가 입력한 표현이나 형태가 다르더라도, 연관성을 계산, 수치를 통해 이를 나타내면서 단어, 문장, 글의 의미를 작성할 수 있다.
벡터로 표현된 문제 정보는 임베딩 수행부(10)에서 임베딩 되어 인코더 신경망(20)으로 입력될 수 있다. 벡터로 표현된 응답 정보는 임베딩 수행부(30)에서 임베딩 되어 디코더 신경망(40)으로 입력될 수 있다.
본 발명의 실시 예에 따르면, 온라인 학습 컨텐츠에 최적화된 트랜스포머 모델의 입력 데이터로서, 인코더에는 문제 정보를, 디코더에는 응답 정보를 입력함으로써, 보다 향상된 성능을 가지는 사용자 지식 추적 시스템(5)을 제공할 수 있다.
인코더 신경망(20)은 임베딩된 문제 정보를 기초로 어텐션 정보를 생성할 수 있다. 어텐션 정보는 인코더 신경망(20)의 복수의 레이어를 거치면서 가중치가 부여된 문제 정보일 수 있다. 특히, 어텐션 정보는 인코더 신경망에서 자기 어텐션(self-attention)을 거쳐 생성된 정보일 수 있다. 어텐션 정보는 수학적으로 확률로 표현될 수 있으며, 모든 어텐션 정보의 합은 1이다. 어텐션 정보는 디코더 신경망(40)에 입력되어 디코더 신경망의 쿼리 데이터에 대한 가중치로 사용되어 사용자 지식 추적 시스템(5)을 학습시키는데 사용될 수 있다.
인공 신경망은 어느 부분이 중요한지 목적함수에 맞게 학습하기 위해 어텐션 정보를 활용할 수 있다. 특히, 자기 어텐션(self-attention)은 어텐션을 자기 자신에게 수행한다는 의미로, 특정 데이터 자체에서 중요하게 고려되어야 할 부분에 가중치를 부여하고, 이를 다시 자기 자신에게 반영하는 동작일 수 있다. 기존의 seq2seq에서의 어텐션에서는 인코더 측의 데이터와 디코더 측의 데이터라는 서로 다른 데이터들의 정보들을 가지고 연관성을 찾아냈기 때문에, 자기 어텐션에 따른 정보는 기존의 seq2seq의 어텐션 구조로는 찾을 수 없던 정보이다.
사용자 지식 추적 시스템(5)은 디코더 신경망(40)에 출력 결과(rk*)를 예측하는 매 시점마다 인코더 신경망(20)에 전체 입력 데이터(E1, E2, …, Ek, R1, R2, …, Rk-1)를 다시 참고할 수 있는데, 어텐션 정보에 따라 해당 출력 결과에 연관된 데이터에 집중(attention)할 수 있다.
디코더 신경망(40)은 임베딩된 응답 정보와 어텐션 정보를 기초로 응답 예측 결과를 생성할 수 있다. 디코더 신경망(40)은 응답 정보에, 전술한 자기 어텐션(self-attention)을 적어도 한번 이상 수행하는 멀티 헤드 어텐션(Multi head attention)을 수행할 수 있다..
이처럼, 디코더 신경망(40)은 인코더 신경망(20)에서 문제 정보에서 중요도에 따라 가중치가 부여된 어텐션 정보를 기초로, 응답 정보로부터 생성된 쿼리 데이터에 대해 멀티 헤드 어텐션을 수행하여 정답 확률 정보를 생성할 수 있다.
본 발명의 실시 예에 따르면, 사용자 지식 추적에 최적화된 입력 데이터로서 인코더에는 문제 정보를, 디코더에는 응답 정보를 입력함으로써, 보다 향상된 성능을 가지는 사용자 지식 추적 시스템(5)을 제공할 수 있다.
또한, 본 발명은 트랜스포머 구조의 인코더 신경망과 디코더 신경망에 상부 삼각 마스킹(Upper triangular masking)을 적절히 사용함으로써 보다 향상된 성능을 가지는 사용자 지식 추적 시스템(5)을 제공할 수 있다.
도 2는 도 1의 사용자 지식 추적 시스템의 동작을 상세하게 설명하기 위한 도면이다.
도 2를 참조하면, 사용자 지식 추적 시스템(5)은 인코더 신경망(20), 디코더 신경망(40)을 포함할 수 있다. 다시, 인코더 신경망(20)은 문제 처리부(21)와 비선형화 수행부(22)를, 디코더 신경망(40)은 제1 응답 처리부(41), 제2 응답 처리부(42) 및 비선형화 수행부(43)을 포함할 수 있다.
도 2에는 도 1의 임베딩 수행부가 생략되었으나, 입력 데이터의 임베딩 동작은 전술한 도 1에 대한 설명을 참고하여 이해될 수 있다.
문제 정보는 벡터로 표현된 복수의 문제들(E1, E2, …, Ek)로 구성될 수 있다. 응답 정보는 벡터로 표현된 복수의 문제들(E1, E2, …, Ek) 각각에 대한 사용자의 응답(R1, R2, …, Rk-1)으로 구성될 수 있다. 정답 확률 정보는 벡터로 표현된 각 문제들에 대한 사용자의 정답 확률(r1*, r2*, …, rk*)로 구성될 수 있다.
실시 예에서, 정답 확률 정보 rk*는, 문제 E1에 대한 사용자 응답이 R1, 문제 E2에 대한 사용자 응답이 R2, …, 문제 Ek-1에 대한 사용자 응답이 Rk-1일 때, 문제 Ek에 대해 사용자가 정답을 맞출 확률에 대한 정보일 수 있다.
문제 처리부(21)는 문제 정보를 입력받고 자기 어텐션과 관련된 일련의 동작을 수행할 수 있다. 이러한 동작에는 문제 정보를 쿼리, 키, 벨류로 구분하고, 각각의 값에 대한 복수의 헤드값을 생성하며, 복수의 쿼리 헤드값과 복수의 키 헤드값으로부터 가중치를 생성하고, 생성된 가중치에 마스킹을 수행하고, 마스킹이 수행된 가중치를 복수의 벨류 헤드값에 적용하여 예측 데이터를 생성하는 과정을 포함할 수 있다.
문제 처리부(21)에서 생성된 예측 데이터는 어텐션 정보일 수 있다.
특히, 문제 처리부(21)는 마스킹 동작시 키-쿼리 마스킹(key-query masking) 뿐만 아니라 상부 삼각 마스킹(upper triangular masking)을 수행할 수 있다. 키-쿼리 마스킹(key-query masking)과 상부 삼각 마스킹(upper triangular masking)은 후술되는 도 6에 대한 설명에서 자세하게 설명하도록 한다.
비선형화 수행부(22)는 문제 처리부(21)에서 출력된 예측 데이터를 비선형화 시키는 동작을 수행할 수 있다. 비선형화에는 ReLU 함수가 사용될 수 있다.
도면에는 도시되지 않았지만, 인코더 신경망(20)은 적어도 하나 이상 존재할 수 있다. 인코더 신경망(20)에서 생성된 어텐션 정보는 다시 인코더 신경망(20)에 입력되어 자기 어텐션과 비선형화와 관련된 일련의 동작이 수차례 반복될 수 있다.
이후, 어텐션 정보는 키와 벨류 값으로 나뉘어 제2 응답 처리부에 입력될 수 있다. 어텐션 정보는 제2 응답 처리부에 입력되는 쿼리 데이터에 대한 가중치로 사용되어 사용자 지식 추적 시스템을 학습시키는데 사용될 수 있다.
제1 응답 처리부(41)는 응답 정보를 입력 받고, 문제 처리부(21)과 유사하게 자기 어텐션과 관련된 일련의 동작을 수행할 수 있다. 이러한 동작에는 문제 정보를 쿼리, 키, 벨류로 구분하고, 각각의 값에 대한 복수의 헤드값을 생성하며, 복수의 쿼리 헤드값과 복수의 키 헤드값으로부터 가중치를 생성하고, 생성된 가중치에 마스킹을 수행하고, 마스킹이 수행된 가중치를 복수의 벨류 헤드값에 적용하여 예측 데이터를 생성하는 과정을 포함할 수 있다.
제1 응답 처리부(41)에서 생성된 예측 데이터는 쿼리 데이터일 수 있다.
제2 응답 처리부(42)는 제1 응답 처리부로부터 쿼리 데이터를, 인코더 신경망(20)으로부터 어텐션 정보를 입력 받고, 정답 확률 정보를 출력할 수 있다.
어텐션 정보는 디코더 신경망(40)에 입력되어 디코더의 쿼리 데이터에 대한 가중치로 사용되어 사용자 지식 추적 시스템(5)을 학습시키는데 사용될 수 있다.
어텐션 정보는 쿼리 데이터의 특정 영역을 중점적으로 고려하기 위해 부여되는 가중치에 관한 정보일 수 있다. 구체적으로, 사용자 지식 추적 시스템(5)은 디코더 신경망(40)에 출력 결과(rk*)를 예측하는 매 시점마다 인코더 신경망(20)에 전체 입력 데이터(E1, E2, …, Ek, R1, R2, …, Rk-1)를 다시 참고할 수 있는데, 해당 출력 결과에 연관된 데이터에 집중(attention)할 수 있다.
제2 응답 처리부(42)는 상기 동작에 따라 문제 정보 Ek에 대한 사용자의 정답 확률 정보인 rk*를 생성할 수 있다.
도면에는 도시되지 않았지만, 디코더 신경망(40)은 적어도 하나 이상 존재할 수 있다. 디코더 신경망(40)에서 생성된 정답 확률 정보는 다시 디코더 신경망(40)에 입력되어 자기 어텐션, 멀티 헤드 어텐션 및 비선형화와 관련된 일련의 동작이 수차례 반복될 수 있다.
문제 처리부(21)와 마찬가지로, 제1 응답 처리부(41) 및 제2 응답 처리부는 마스킹 동작시 키-쿼리 마스킹(key-query masking) 뿐만 아니라 상부 삼각 마스킹(upper triangular masking)을 수행할 수 있다.
도 3은 종래 사용자 지식 추적 시스템에 사용되던 인공 신경망 구조의 일례를 설명하기 위한 도면이다.
도 3의 사용자 지식 추적 시스템에는, 예측하고자 하는 데이터와 관련된 입력 데이터의 특정 부분에 집중(attention)하는 동작을 수행하는 입력 데이터 처리부가 도시되어 있다.
다만, 도 3의 지식 추적 시스템에는, 이러한 입력 데이터 처리부의 레이어가 충분히 심층적이지(deep) 않기 때문에, 수많은 문제들과 이에 대한 사용자 응답을 올바르게 분석하지 못하는 한계가 있었다.
도 4는 종래 사용자 지식 추적 시스템에 사용되던 인공 신경망 구조의 다른 예를 설명하기 위한 도면이다.
도 4의 사용자 지식 추적 시스템에는, 전술한 도 2의 인코더 신경망 또는 디코더 신경망과 유사한 동작을 수행하는 문제 응답 처리부와 비선형화 수행부가 포함될 수 있다.
다만, 도 4의 지식 추적 시스템에는, 문제 응답 정보(I)가 키와 벨류 값으로 제공되고, 문제 정보(E)가 쿼리로 제공되는 기존의 시스템의 한계를 극복하지 못하는 문제가 있었다.
본 발명의 실시 예에 따른 사용자 지식 추적 시스템은 이러한 문제를 해결하기 위해, 문제 응답 정보보다 적은 데이터양을 가지는 문제 정보, 응답 정보만을 사용하여 정답 확률을 예측할 수 있고, 어텐션이 수행되는 레이어를 충분히 심층적으로(deep) 구현하여 보다 향상된 정확성을 가지는 인공 신경망을 구현할 수 있다.
도 5는 본 발명의 실시 예에 따른, 각 입력 데이터의 구성을 설명하기 위한 도면이다.
도 5를 참조하면, 입력 데이터는 문제 정보(E), 문제 응답 정보(I), 응답 정보(R)를 포함할 수 있다. 구현되는 인공 신경망 모델에 따라 세 가지 입력 데이터 중 특정 데이터가 선택되어 사용될 수 있다.
문제 식별 정보는 문제마다 부여되는 고유값일 수 있다. 사용자 또는 컴퓨터는 문제 식별 정보를 통해 해당 문제가 어떤 문제인지 판별할 수 있다.
문제 카테고리 정보는 해당 문제가 어떤 유형의 문제인지 알려주는 정보일 수 있다. 예를 들어, 토익 시험 문제에서 문제 카테고리는 듣기 파트인지 또는 읽기 파트인지를 알려주는 정보일 수 있다.
위치 정보는 해당 데이터가 전체 데이터 내에서 어디에 위치하는지를 알려주는 정보일 수 있다. 트랜스포머 구조는 RNN 구조와 다르게 입력 데이터의 순서가 표시되지 않기 때문에 순서를 구분하기 위해 각각의 데이터가 전체 데이터 시퀀스 내에서 어디에 위치하는지를 별도로 표시할 필요가 있다. 위치 정보는 입력 데이터와 함께 임베딩 되고, 임베딩된 입력 데이터에 더해져 인코딩 신경망과 디코딩 신경망에 입력될 수 있다.
응답 정확성 정보는 사용자의 응답이 정답인지 또는 오답인지를 나타내는 정보일 수 있다. 예를 들어, 사용자의 응답이 정답이면 '1'을 나타내는 벡터로 표현될 수 있다. 반대로, 사용자의 응답이 오답이면 '0'을 나타내는 벡터로 표현될 수 있다.
소요 시간 정보는 사용자가 문제를 푸는데 소요된 시간을 벡터로 나타낸 정보일 수 있다. 소요 시간 정보는 초, 분, 시간 등으로 표현될 수 있으며, 일정 시간(예를 들어 300초)을 초과한 시간에 대해서는 해당 시간(300초)만큼 소요됐다고 판단할 수도 있다.
시간 기록 정보는 사용자가 문제를 푼 시점을 벡터로 나타낸 정보일 수 있다. 시간 기록 정보는 시간, 일, 월, 년도 등으로 표현될 수 있다.
문제 정보(E)는 문제 식별 정보, 문제 카테고리 정보, 위치 정보를 포함할 수 있다. 즉, 해당 문제가 어떤 문제인지, 어떤 유형의 문제인지, 전체 문제 데이터에서 어디에 위치하는지에 대한 정보를 포함할 수 있다.
응답 정보(I)는 위치 정보와 응답 정확성 정보를 포함할 수 있다. 즉, 사용자의 응답이 전체 응답 데이터 중 어디에 위치하는지, 사용자의 응답이 정답인지 또는 오답인지에 대한 정보를 포함할 수 있다.
문제 응답 정보(I)는 문제 식별 정보, 문제 카테고리 정보, 위치 정보, 응답 정확성 정보, 소요 시간 정보, 시간 기록 정보를 포함할 수 있다. 문제 응답 정보는 문제 정보(E)와 응답 정보(R)의 모든 정보에 더하여 소요 시간 정보와 시간 기록 정보를 추가로 포함할 수 있다.
본 발명의 실시 예에 따른 사용자 지식 추적 시스템은, 문제 응답 정보(I) 대신 문제 정보(E)와 응답 정보(R)만을 사용하여 사용자의 정오답 여부를 예측할 수 있어 사용되는 데이터 양을 감소시켜 연산 성능을 증가시키고 증가된 메모리 효율을 가질 수 있다. 또한, 정확성 측면에서도 인코더에는 문제 정보(E)를, 디코더에는 응답 정보(R)를 입력하여 온라인 학습 환경에 최적화되어 보다 향상된 정확도로 정답 확률을 예측할 수 있는 효과가 있다.
도 6은 키-쿼리 마스킹(key-query masking)과 상부 삼각 마스킹(upper triangular masking)을 설명하기 위한 도면이다.
도 6은 키-쿼리 마스킹 이후 상부 삼각 마스킹이 수행되는 것으로 도시되었지만, 양자는 동시에 수행될 수 있고, 상부 삼각 마스킹이 먼저 수행될 수도 있다.
키-쿼리 마스킹은 선택 사항으로 값이 없는 값(제로 패딩)에 패널티를 부과하여 어텐션이 수행되지 못하게 하는 동작일 수 있다. 키-쿼리 마스킹이 수행된 예측 데이터의 값은 0으로, 나머지 부분은 1로 표현될 수 있다.
도 6의 키-쿼리 마스킹은 설명의 편의를 위해 쿼리와 키의 마지막 값들이 마스킹된 것으로 도시되었지만, 이는 실시 예에 따라 다양하게 변경될 수 있다.
상부 삼각 마스킹(upper triangular masking)은 다음 문제의 예측을 위해 미래 위치(포지션)에 해당하는 정보가 어텐션이 수행되지 못하게 하기 위한 동작일 수 있다. 예를 들어, 아직 사용자가 풀지 않은 문제로부터 예측값이 연산되는 것을 방지하기 위해 마스킹하는 동작일 수 있다. 키-쿼리 마스킹과 마찬가지로, 상부 삼각 마스킹이 수행된 예측 데이터의 값은 0으로, 나머지 부분은 1로 표현될 수 있다.
마스킹된 예측 데이터의 값들은 이후 임의의 큰 음수값이 반영되어 소프트맥스 함수를 통해 확률적으로 표현될 때 0에 가까운 확률을 가지도록 제어될 수 있다.
종래 트랜스포머 구조에서는 인코더 신경망에서는 키-쿼리 마스킹이 수행되고, 디코더 신경망에서는 키-쿼리 마스킹과 더불어 상부 삼각 마스킹이 수행되었다. 본 발명의 실시 예에서는, 인코더 신경망과 디코더 신경망 모두에서 상부 삼각 마스킹을 수행하여, 정답 확률 정보가 오직 사용자에게 기 제공된 문제 정보들(E1, E2, …, Ek)과 사용자가 이미 제출한 응답 정보(R1, R2, …, Rk-1)에만 의존하도록 제어될 수 있다.
도 7은 하부 삼각 마스킹(lower triangular masking)과 문제 응답 정보를 이용하여 응답 예측 결과를 출력하는 인공 신경망 구조(LTMTI)를 설명하기 위한 도면이다.
도 7을 참조하면, 인코더 신경망에 입력 데이터로 문제 응답 정보가 입력되고, 디코더 신경망에 입력 데이터로 문제 정보가 입력될 수 있다. 또한, 디코더 신경망은 자기 어텐션 과정이 생략된 멀티 헤드 어텐션만을 수행할 수 있다.
나아가, 도 7의 문제 응답 처리부와 문제 처리부에서는 예측 데이터의 상부 삼각(upper triangle)이 마스킹되는 것이 아닌, 하부 삼각(lower triangle)이 마스킹되는 어텐션이 수행될 수 있다.
도 8은 상부 삼각 마스킹(upper triangular masking)과 문제 응답 정보를 이용하여 응답 예측 결과를 출력하는 인공 신경망 구조(UTMTI)를 설명하기 위한 도면이다.
도 8을 참조하면, 인코더 신경망에 입력 데이터로 문제 응답 정보가 입력되고, 디코더 신경망에 입력 데이터로 문제 정보가 입력될 수 있다.
도 9는 상부 삼각 마스킹(upper triangular masking), 문제 응답 정보 및 스택된 SAKT를 이용하여 응답 예측 결과를 출력하는 인공 신경망 구조(SSAKT)를 설명하기 위한 도면이다.
도 9를 참조하면, 인코더 신경망에 입력 데이터로 문제 응답 정보가 입력되고, 디코더 신경망에 입력 데이터로 문제 정보가 입력될 수 있다. 또한, 문제 응답 처리부는 자기 어텐션이 아닌 멀티 헤드 어텐션을 수행하고, 응답 처리부는 자기 어텐션을 수행할 수 있다.
도 10은 도 2, 도 7 내지 9의 인공 신경망 구조의 ACC 성능을 비교하기 위한 그래프이다.
ACC는 민감도에 대한 지표일 수 있다. ACC는 오답이 있는 전체 응답 정보 중 정답인 응답 정보의 비율을 나타낼 수 있다. N은 스택(stack)된 인코더와 디코더의 개수를 의미할 수 있다. d_model은 모델의 모든 하위 레이어의 출력 차수를 의미할 수 있다. 도 2의 사용자 지식 추적 시스템은 SAINT로 표기되었다.
통계 결과, SAINT의 ACC는 평균적으로 다른 모델들에 비해 약 1.8%가 높은 것을 확인할 수 있다.
도 11은 도 2, 도 7 내지 9의 인공 신경망 구조의 AUC 성능을 비교하기 위한 그래프이다.
AUC는 전체 예측에 대한 올바른 예측의 비율을 나타낼 수 있다. N은 스택(stack)된 인코더와 디코더의 개수를 의미할 수 있다. d_model은 모델의 모든 하위 레이어의 출력 차수를 의미할 수 있다. 도 2의 사용자 지식 추적 시스템은 SAINT로 표기되었다. 통계 결과, SAINT의 AUC는 평균적으로 다른 모델들에 비해 약 1.07%가 높은 것을 확인할 수 있다.
도 12는 본 발명의 실시 예에 따른, 사용자 지식 추적 시스템의 동작을 설명하기 위한 순서도이다.
도 12를 참조하면, S1201 단계에서, 사용자 지식 추적 시스템은 제k 인코더 신경망에 문제 정보를, 제k 디코더 신경망에 응답 정보를 각각 입력할 수 있다.
문제 정보(E)는 문제 식별 정보, 문제 카테고리 정보, 위치 정보를 포함할 수 있다. 즉, 해당 문제가 어떤 문제인지, 어떤 유형의 문제인지, 전체 문제 데이터에서 어디에 위치하는지에 대한 정보를 포함할 수 있다.
응답 정보(I)는 위치 정보와 응답 정확성 정보를 포함할 수 있다. 즉, 사용자의 응답이 전체 응답 데이터 중 어디에 위치하는지, 사용자의 응답이 정답인지 또는 오답인지에 대한 정보를 포함할 수 있다.
S1203 단계에서, 사용자 지식 추적 시스템은 문제 정보에 가중치를 반영해 어텐션 정보를 생성하고, 응답 정보에 가중치를 반영해 쿼리 데이터를 생성할 수 있다.
구체적으로, 문제 정보는 자기 어텐션(self-attention)을 통해 문제 정보 자체에서 가중치가 반영될 수 있다. 자기 어텐션은 특정 데이터 자체에서 중요하게 고려되어야 할 부분에 가중치를 부여하고, 이를 다시 자기 자신에게 반영하는 동작일 수 있다.
응답 정보는 자기 어텐션(self-attention) 뿐만 아니라, 어텐션 정보를 기초로 멀티 헤드 어텐션(multi head attention)이 수행되어 가중치가 반영될 수 있다.
S1205 단계에서, 제k 디코더 신경망의 제1 응답 처리부로부터 출력된 쿼리 데이터를 제2 응답 처리부에 입력할 수 있다. 쿼리 데이터는 제1 응답 처리부에서 출력된 예측 데이터 일 수 있다.
S1207 단계에서, 사용자 지식 추적 시스템은 어텐션 정보를 제2 응답 처리부의 쿼리 데이터에 대한 가중치로 사용하여 사용자 지식 추적 시스템을 학습할 수 있다.
S1209 단계에서, 사용자 지식 추적 시스템은 k와 N을 비교하여, k가 N보다 크거나 같으면 S1211 단계를 수행하고, 작으면 다시 S1203 단계로 돌아가 S1203 단계 내지 S1207 단계를 반복할 수 있다.
인코더 신경망과 디코더 신경망은 N개 만큼 스택될 수 있으므로, 스택된 모든 인코더 신경망과 디코더 신경망에 대해 동작이 종료될 때까지 위 과정을 반복할 수 있다.
S1211 단계에서, 사용자 지식 추적 시스템은 학습된 사용자 지식 추적 시스템으로부터 사용자의 정답 확률 정보를 출력할 수 있다.
이는 추론 과정(inference)으로, 학습 과정에서 결정된 가중치에 따라 입력 데이터를 처리하여, 사용자가 풀이하는 문제의 정답 확률을 나타내는 정답 확률 정보를 출력할 수 있다.
도 13은 본 발명의 실시 예에 따른, 문제 처리부, 응답 처리부 또는 문제 응답 처리부의 동작을 상세하게 설명하기 위한 순서도이다.
*도 13을 참조하면, S1301 단계에서, 각 구성은 문제 정보 또는 응답 정보에 대한 쿼리, 키, 벨류를 수신할 수 있다.
각각의 값은 벡터로 표현된 값일 수 있으며, 사용되는 역할에 따라 구분된 값일 수 있다.
S1303 단계에서, 각 구성은 쿼리, 키, 벨류 각각에 대한 복수의 헤드값을 생성할 수 있다.
S1305 단계에서, 각 구성은 복수의 쿼리 헤드값과 복수의 키 헤드값으로부터 가중치를 생성하고, S1307 단계에서 키-쿼리 마스킹(key-query masking)과 상부 삼각 마스킹(upper triangular masking)을 포함하는 마스킹 동작이 수행될 수 있다.
키-쿼리 마스킹은 선택 사항으로 값이 없는 값(제로 패딩)에 패널티를 부과하여 어텐션이 수행되지 못하게 하는 동작일 수 있다. 키-쿼리 마스킹이 수행된 예측 데이터의 값은 0으로, 나머지 부분은 1로 표현될 수 있다.
상부 삼각 마스킹(upper triangular masking)은 다음 문제의 예측을 위해 미래 위치(포지션)에 해당하는 정보가 어텐션이 수행되지 못하게 하기 위한 동작일 수 있다. 예를 들어, 아직 사용자가 풀지 않은 문제로부터 예측값이 연산되는 것을 방지하기 위해 마스킹하는 동작일 수 있다. 키-쿼리 마스킹과 마찬가지로, 상부 삼각 마스킹이 수행된 예측 데이터의 값은 0으로, 나머지 부분은 1로 표현될 수 있다.
이후, S1309 단계에서, 마스킹이 수행된 가중치를 복수의 벨류 헤드값에 적용하여 예측 데이터를 생성할 수 있다.
문제 처리부에서 생성된 예측 데이터는 어텐션 정보, 제1 응답 처리부에서 생성된 예측 데이터는 쿼리 데이터, 제2 응답 처리부에서 생성된 예측 데이터는 정답 확률 정보일 수 있다.
본 발명에 따른 사용자 지식 추적 시스템은, 최적화된 입력 데이터 포맷을 사용하고, 트랜스포머 구조의 인코더 신경망과 디코더 신경망에 상부 삼각 마스킹(Upper triangular masking)을 적절히 사용함으로써 향상된 성능을 가질 수 있다.
본 명세서와 도면에 게시된 본 발명의 실시 예들은 본 발명의 기술내용을 쉽게 설명하고 본 발명의 이해를 돕기 위해 특정 예를 제시한 것뿐이며, 본 명의 범위를 한정하고자 하는 것은 아니다. 여기에 게시된 실시 예들 이외에도 발명의 기술적 사상에 바탕을 둔 다른 변형 예들이 실시 가능하다는 것은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 자명한 것이다.
5: 사용자 지식 추적 시스템
10, 30: 임베딩 수행부
20: 인코더 신경망
21: 비선형화 수행부
22: 문제 처리부
40: 디코더 신경망
41: 제1 응답 처리부
42: 제2 응답 처리부
43: 비선형화 수행부

Claims (7)

  1. 복수의 인코더 신경망과 복수의 디코더 신경망을 포함하는 사용자 지식 추적 시스템의 동작 방법에 있어서,
    제k 인코더 신경망에 문제 정보를, 제k 디코더 신경망에 응답 정보를 각각 입력하는 a 단계;
    상기 문제 정보 및 상기 응답 정보에 대응하는 헤드 값을 생성하고, 상기 헤드 값을 기반으로 하는 가중치를 반영해 어텐션 정보 및 쿼리 데이터를 각각 생성하는 b 단계;
    상기 어텐션 정보를 상기 쿼리 데이터에 대한 가중치로 사용하여 사용자 지식 추적 시스템을 학습하는 c 단계;
    상기 제k 인코더 신경망 및 제k 디코더 신경망에서, k와 N을 비교하여, k가 N보다 작으면 상기 b 단계 및 c 단계를 반복 수행하는 d 단계;
    상기 학습된 사용자 지식 추적 시스템으로부터 사용자의 정답 확률 정보를 출력하는 e 단계를 포함하는 사용자 지식 추적 시스템의 동작 방법.
  2. 제1항에 있어서,
    상기 문제 정보는 문제 식별 정보, 문제 카테고리 정보, 위치 정보를 포함하고,
    상기 응답 정보는 위치 정보와 응답 정확성 정보를 포함하는 사용자 지식 추적 시스템의 동작 방법.
  3. 제1항에 있어서, 상기 b 단계는,
    상기 문제 정보에 대한 쿼리, 키, 벨류를 수신하여, 각각에 대한 복수의 헤드 값을 생성하는 단계;
    상기 쿼리 및 키에 대한 헤드 값을 기반으로 가중치를 생성하는 단계;
    키-쿼리 마스킹 및 상부 삼각 마스킹을 포함하는 마스킹 동작을 수행하는 단계; 및
    상기 마스킹 동작이 수행된 가중치를 상기 벨류에 대한 헤드 값에 적용하여 상기 어텐션 정보를 생성하는 단계를 포함하는 사용자 지식 추적 시스템의 동작 방법.
  4. 제1항에 있어서, 상기 b 단계는,
    상기 응답 정보에 대한 쿼리, 키, 벨류를 수신하여, 각각에 대한 복수의 헤드 값을 생성하는 단계;
    상기 쿼리 및 키에 대한 헤드 값을 기반으로 가중치를 생성하는 단계;
    키-쿼리 마스킹 및 상부 삼각 마스킹을 포함하는 마스킹 동작을 수행하는 단계; 및
    상기 마스킹 동작이 수행된 가중치를 상기 벨류에 대한 헤드 값에 적용하여 상기 쿼리 데이터를 생성하는 단계를 포함하는 사용자 지식 추적 시스템의 동작 방법.
  5. 제1항에 있어서, 상기 e 단계는,
    k가 N보다 크거나 같으면, 상기 사용자 지식 추적 시스템의 학습을 종료하고, 상기 e 단계를 수행하는 사용자 지식 추적 시스템의 동작 방법.
  6. 제1항에 있어서, 상기 정답 확률 정보는,
    사용자가 풀이하는 문제의 정답 확률을 의미하되,
    학습 과정에서 결정된 가중치에 따라 입력 데이터를 기반으로 연산되는 사용자 지식 추적 시스템의 동작 방법.
  7. 복수의 인코더 신경망과 복수의 디코더 신경망을 포함하는 사용자 지식 추적 시스템에 있어서,
    문제 정보, 응답 정보 또는 문제 응답 정보를 중 적어도 하나를 포함하는 입력 데이터에 대한 임베딩을 수행하는 임베딩 수행부;
    상기 문제 정보에 자기 어텐션을 통해 가중치를 반영해 어텐션 정보를 생성하는 제k 인코더 신경망; 및
    상기 응답 정보에 자기 어텐션 및 멀티 헤드 어텐션을 통해 가중치를 반영해 쿼리 데이터를 생성하고, 상기 어텐션 정보를 상기 쿼리 데이터에 대한 가중치로 사용하여 사용자 지식 추적 시스템을 학습하며, 상기 학습된 사용자 지식 추적 시스템으로부터 사용자의 정답 확률 정보를 출력하는 제k 디코더 신경망을 포함하는 사용자 지식 추적 시스템.
KR1020210014456A 2020-02-18 2021-02-02 인공 지능 학습 기반의 사용자 지식 추적 시스템 및 그것의 동작 방법 KR20210141320A (ko)

Priority Applications (11)

Application Number Priority Date Filing Date Title
KR1020210014456A KR20210141320A (ko) 2020-02-18 2021-02-02 인공 지능 학습 기반의 사용자 지식 추적 시스템 및 그것의 동작 방법
KR1020210122430A KR20210141419A (ko) 2021-02-02 2021-09-14 인공 지능 학습 기반의 사용자 지식 추적 시스템 및 그것의 동작 방법
KR1020210122434A KR20210141420A (ko) 2021-02-02 2021-09-14 인공 지능 학습 기반의 사용자 지식 추적 시스템 및 그것의 동작 방법
KR1020210123265A KR20210141792A (ko) 2021-02-02 2021-09-15 인공 지능 학습 기반의 사용자 지식 추적 시스템 및 그것의 동작 방법
KR1020210123268A KR20210141425A (ko) 2021-02-02 2021-09-15 인공 지능 학습 기반의 사용자 지식 추적 시스템 및 그것의 동작 방법
KR1020210123257A KR20210141421A (ko) 2021-02-02 2021-09-15 인공 지능 학습 기반의 사용자 지식 추적 시스템 및 그것의 동작 방법
KR1020210123258A KR20210141422A (ko) 2021-02-02 2021-09-15 인공 지능 학습 기반의 사용자 지식 추적 시스템 및 그것의 동작 방법
KR1020210123261A KR20210141791A (ko) 2021-02-02 2021-09-15 인공 지능 학습 기반의 사용자 지식 추적 시스템 및 그것의 동작 방법
KR1020210123269A KR20210141426A (ko) 2021-02-02 2021-09-15 인공 지능 학습 기반의 사용자 지식 추적 시스템 및 그것의 동작 방법
KR1020210123262A KR20210141424A (ko) 2021-02-02 2021-09-15 인공 지능 학습 기반의 사용자 지식 추적 시스템 및 그것의 동작 방법
KR1020210123259A KR20210141423A (ko) 2021-02-02 2021-09-15 인공 지능 학습 기반의 사용자 지식 추적 시스템 및 그것의 동작 방법

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
KR20200019853 2020-02-18
KR1020200057446A KR102213478B1 (ko) 2020-02-18 2020-05-14 인공 지능 학습 기반의 사용자 지식 추적 시스템 및 그것의 동작 방법
KR1020210014456A KR20210141320A (ko) 2020-02-18 2021-02-02 인공 지능 학습 기반의 사용자 지식 추적 시스템 및 그것의 동작 방법

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020200057446A Division KR102213478B1 (ko) 2020-02-18 2020-05-14 인공 지능 학습 기반의 사용자 지식 추적 시스템 및 그것의 동작 방법

Related Child Applications (10)

Application Number Title Priority Date Filing Date
KR1020210122430A Division KR20210141419A (ko) 2021-02-02 2021-09-14 인공 지능 학습 기반의 사용자 지식 추적 시스템 및 그것의 동작 방법
KR1020210122434A Division KR20210141420A (ko) 2021-02-02 2021-09-14 인공 지능 학습 기반의 사용자 지식 추적 시스템 및 그것의 동작 방법
KR1020210123257A Division KR20210141421A (ko) 2021-02-02 2021-09-15 인공 지능 학습 기반의 사용자 지식 추적 시스템 및 그것의 동작 방법
KR1020210123261A Division KR20210141791A (ko) 2021-02-02 2021-09-15 인공 지능 학습 기반의 사용자 지식 추적 시스템 및 그것의 동작 방법
KR1020210123268A Division KR20210141425A (ko) 2021-02-02 2021-09-15 인공 지능 학습 기반의 사용자 지식 추적 시스템 및 그것의 동작 방법
KR1020210123259A Division KR20210141423A (ko) 2021-02-02 2021-09-15 인공 지능 학습 기반의 사용자 지식 추적 시스템 및 그것의 동작 방법
KR1020210123262A Division KR20210141424A (ko) 2021-02-02 2021-09-15 인공 지능 학습 기반의 사용자 지식 추적 시스템 및 그것의 동작 방법
KR1020210123265A Division KR20210141792A (ko) 2021-02-02 2021-09-15 인공 지능 학습 기반의 사용자 지식 추적 시스템 및 그것의 동작 방법
KR1020210123258A Division KR20210141422A (ko) 2021-02-02 2021-09-15 인공 지능 학습 기반의 사용자 지식 추적 시스템 및 그것의 동작 방법
KR1020210123269A Division KR20210141426A (ko) 2021-02-02 2021-09-15 인공 지능 학습 기반의 사용자 지식 추적 시스템 및 그것의 동작 방법

Publications (1)

Publication Number Publication Date
KR20210141320A true KR20210141320A (ko) 2021-11-23

Family

ID=74560086

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020200057446A KR102213478B1 (ko) 2020-02-18 2020-05-14 인공 지능 학습 기반의 사용자 지식 추적 시스템 및 그것의 동작 방법
KR1020210014456A KR20210141320A (ko) 2020-02-18 2021-02-02 인공 지능 학습 기반의 사용자 지식 추적 시스템 및 그것의 동작 방법

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020200057446A KR102213478B1 (ko) 2020-02-18 2020-05-14 인공 지능 학습 기반의 사용자 지식 추적 시스템 및 그것의 동작 방법

Country Status (2)

Country Link
US (1) US20210256354A1 (ko)
KR (2) KR102213478B1 (ko)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102400582B1 (ko) * 2021-12-03 2022-05-20 주식회사 대교씨엔에스 빅데이터와 인공지능 기반의 개인화된 학습량 추천 방법 및 장치
KR102405828B1 (ko) * 2021-12-03 2022-06-07 주식회사 대교씨엔에스 가우시안 혼합 모델을 이용한 클러스터링과 인공지능을 동시에 활용한 학습량 추천 방법 및 장치
KR102405832B1 (ko) * 2021-12-03 2022-06-07 주식회사 대교씨엔에스 통계적 분석과 딥러닝 기반의 인공지능을 동시에 활용한 학습량 추천 방법 및 장치
CN114707775A (zh) * 2022-06-08 2022-07-05 四川大学 知识追踪模型训练方法、追踪方法、装置、设备及介质
KR102475316B1 (ko) * 2021-12-03 2022-12-08 (주)대교씨엔에스 복수의 은닉층들로 구성되는 딥러닝 기반의 인공지능을 이용한 학습량 추천 방법 및 장치
CN116127048A (zh) * 2023-04-04 2023-05-16 江西师范大学 融合习题和学习行为表征的顺序自注意力知识追踪模型

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022080666A1 (ko) * 2020-10-15 2022-04-21 (주)뤼이드 인공 지능 학습 기반의 사용자 지식 추적 장치, 시스템 및 그것의 동작 방법
CN112948289B (zh) * 2021-03-03 2022-09-30 上海天旦网络科技发展有限公司 一种基于机器学习的缓存预测调度方法、系统及介质
CN112990464B (zh) * 2021-03-12 2022-06-28 东北师范大学 一种知识追踪方法及系统
KR20230000938A (ko) * 2021-06-25 2023-01-03 (주)뤼이드 사용자에게 학습 여정을 제공하는 방법 및 장치
KR20230009816A (ko) * 2021-07-09 2023-01-17 (주)뤼이드 학습 능력 평가 방법, 학습 능력 평가 장치, 및 학습 능력 평가 시스템
KR102398318B1 (ko) * 2021-07-09 2022-05-16 (주)뤼이드 학습 능력 평가 방법, 학습 능력 평가 장치, 및 학습 능력 평가 시스템
KR102416852B1 (ko) * 2021-07-23 2022-07-05 (주)뤼이드 시험 점수를 예측하는 방법 및 장치
CN114117033B (zh) * 2022-01-25 2022-08-16 山东建筑大学 知识追踪方法及系统
CN114971066A (zh) * 2022-06-16 2022-08-30 兰州理工大学 融合遗忘因素和学习能力的知识追踪方法及系统
KR102623059B1 (ko) * 2023-03-31 2024-01-09 주식회사 클래스팅 트랜스포머 신경망 기반의 지식 추적 모델을 이용한 지능형 튜터링 시스템 및 방법
CN117474094B (zh) * 2023-12-22 2024-04-09 云南师范大学 基于Transformer的融合领域特征的知识追踪方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10943497B2 (en) * 2018-04-27 2021-03-09 Adobe Inc. Personalized e-learning using a deep-learning-based knowledge tracing and hint-taking propensity model
US20200202226A1 (en) * 2018-12-20 2020-06-25 Fuji Xerox Co., Ltd. System and method for context based deep knowledge tracing
US20220335309A1 (en) * 2019-10-03 2022-10-20 Nec Corporation Knowledge tracing device, method, and program
US11631338B2 (en) * 2020-06-11 2023-04-18 Act, Inc. Deep knowledge tracing with transformers

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102400582B1 (ko) * 2021-12-03 2022-05-20 주식회사 대교씨엔에스 빅데이터와 인공지능 기반의 개인화된 학습량 추천 방법 및 장치
KR102405828B1 (ko) * 2021-12-03 2022-06-07 주식회사 대교씨엔에스 가우시안 혼합 모델을 이용한 클러스터링과 인공지능을 동시에 활용한 학습량 추천 방법 및 장치
KR102405832B1 (ko) * 2021-12-03 2022-06-07 주식회사 대교씨엔에스 통계적 분석과 딥러닝 기반의 인공지능을 동시에 활용한 학습량 추천 방법 및 장치
KR102473188B1 (ko) * 2021-12-03 2022-12-02 주식회사 대교씨엔에스 통계적 학습량에 대한 가중점수 및 인공지능 기반의 학습량 추천 방법 및 장치
KR102475316B1 (ko) * 2021-12-03 2022-12-08 (주)대교씨엔에스 복수의 은닉층들로 구성되는 딥러닝 기반의 인공지능을 이용한 학습량 추천 방법 및 장치
KR102506132B1 (ko) * 2021-12-03 2023-03-07 (주)대교씨엔에스 자기집중 메커니즘 기반의 개인화된 학습량 추천 방법 및 장치
KR102509367B1 (ko) * 2021-12-03 2023-03-14 (주)대교씨엔에스 드랍아웃을 통해 과적합 경향을 보상하는 복수의 은닉층들로 구성되는 딥러닝 기반의 인공지능을 이용한 학습량 추천 방법 및 장치
KR20230101668A (ko) * 2021-12-03 2023-07-06 (주)대교씨엔에스 K-평균 알고리즘을 이용한 클러스터링과 인공지능을 동시에 활용한 학습량 추천 방법 및 장치
CN114707775A (zh) * 2022-06-08 2022-07-05 四川大学 知识追踪模型训练方法、追踪方法、装置、设备及介质
CN114707775B (zh) * 2022-06-08 2022-08-26 四川大学 知识追踪模型训练方法、追踪方法、装置、设备及介质
CN116127048A (zh) * 2023-04-04 2023-05-16 江西师范大学 融合习题和学习行为表征的顺序自注意力知识追踪模型
CN116127048B (zh) * 2023-04-04 2023-06-27 江西师范大学 融合习题和学习行为表征的顺序自注意力知识追踪模型

Also Published As

Publication number Publication date
KR102213478B1 (ko) 2021-02-08
US20210256354A1 (en) 2021-08-19

Similar Documents

Publication Publication Date Title
KR102213478B1 (ko) 인공 지능 학습 기반의 사용자 지식 추적 시스템 및 그것의 동작 방법
US20210327428A1 (en) Adversarial learning and generation of dialogue responses
Zaib et al. Conversational question answering: A survey
CN110929515B (zh) 基于协同注意力和自适应调整的阅读理解方法及系统
CN111078836B (zh) 基于外部知识增强的机器阅读理解方法、系统、装置
KR102213476B1 (ko) 인공 지능 학습 기반의 학습 컨텐츠 추천 시스템 및 그것의 동작 방법
CN108647233A (zh) 一种用于问答系统的答案排序方法
Vlasov et al. Few-shot generalization across dialogue tasks
Tang et al. Modelling student behavior using granular large scale action data from a MOOC
KR20210141425A (ko) 인공 지능 학습 기반의 사용자 지식 추적 시스템 및 그것의 동작 방법
KR20210153008A (ko) 인공 지능 학습 기반의 사용자 이탈율 예측 시스템 및 그것의 동작 방법
Thomas et al. Chatbot using gated end-to-end memory networks
KR20110018109A (ko) 능력 평가에 따른 개인별 학습 방법 및 시스템
Jhunjhunwala et al. Multi-action dialog policy learning with interactive human teaching
US20220398434A1 (en) System for Predicting User Drop-Out Rate and Tracking User Knowledge Based on Artificial Intelligence Learning and Method Therefor
CN114648032A (zh) 语义理解模型的训练方法、装置和计算机设备
Tang et al. Predictive modelling of student behaviour using granular large-scale action data
Song et al. AugPrompt: Knowledgeable augmented-trigger prompt for few-shot event classification
Hou et al. A corpus-free state2seq user simulator for task-oriented dialogue
Tran et al. Explain by evidence: An explainable memory-based neural network for question answering
Bai et al. Exploiting more associations between slots for multi-domain dialog state tracking
KR20210152979A (ko) 인공 지능 학습 기반의 학습 컨텐츠 추천 시스템 및 그것의 동작 방법
Sun et al. Smart Teaching Systems: A Hybrid Framework of Reinforced Learning and Deep Learning
Hsiao et al. IMNTPU Dialogue System Evaluation at the NTCIR-16 DialEval-2 Dialogue Quality and Nugget Detection
Tang et al. Latent graph learning with dual-channel attention for relation extraction