KR20240009604A - 학습 문항 클러스터링 장치 및 방법 - Google Patents

학습 문항 클러스터링 장치 및 방법 Download PDF

Info

Publication number
KR20240009604A
KR20240009604A KR1020220086677A KR20220086677A KR20240009604A KR 20240009604 A KR20240009604 A KR 20240009604A KR 1020220086677 A KR1020220086677 A KR 1020220086677A KR 20220086677 A KR20220086677 A KR 20220086677A KR 20240009604 A KR20240009604 A KR 20240009604A
Authority
KR
South Korea
Prior art keywords
knowledge
learning
clustering
answer rate
incorrect answer
Prior art date
Application number
KR1020220086677A
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 KR1020220086677A priority Critical patent/KR20240009604A/ko
Publication of KR20240009604A publication Critical patent/KR20240009604A/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • G06Q50/20Education
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/35Clustering; Classification
    • 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
    • G06Q50/20Education
    • G06Q50/205Education administration or guidance
    • G06Q50/2057Career enhancement or continuing education service

Landscapes

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

Abstract

본 개시에 의하면, 학습 문항 클러스터링 장치 및 방법은 학습 문항의 메타 정보 및 지식 개념을 근거로 학습 문항들을 1차 클러스터링하고, 1차 클러스터링된 학습 문항들을 예측 정오답률과 문항 정오답률을 근거로 2차 클러스터링하고, 1차 클러스터링 또는 2차 클러스터링된 학습 문항들의 메타 정보를 분석하여 학습 문항에 매칭된 지식 개념을 네이밍하여, 학습 문항을 클러스터링하는 작업 시간 및 비용을 최소화하면서 정확하게 학습 문항을 클러스터링할 수 있다.

Description

학습 문항 클러스터링 장치 및 방법{APPARATUS AND METHOD FOR CLUSTERING LEARNING PROBLEMS}
본 발명은 학습자에게 제공되는 복수의 학습 문항(문제)을 클러스터링하는 기술에 관한 것이다.
인터넷의 발전에 따라 인터넷을 이용한 온라인 학습 방법이 개발되고 보급되어 널리 이용되고 있다. 최근에는 코로나 등의 환경 요인으로 인해 비대면 학습 환경에 대한 학습자들의 요구가 증가함에 따라 온라인 학습을 이용한 학습자가 급증하고 있다.
온라인 학습은 학습자의 학습 진도에 따라 적절한 학습 정보와 학습 문항을 제공하고, 학습자가 학습 정보를 학습한 후에 학습 문항을 풀이하는 방식으로 진행된다.
이를 위해, 온라인 학습 서비스를 제공하는 업체에서는 학습 문항을 다양한 방식으로 클러스터링(분류, 그룹핑)하고, 학습자의 학습 이력 및 진도에 적합한 학습 문항을 학습자에게 제공하고 있다.
하지만, 종래에는 관리자가 수작업을 통해 학습 문항을 클러스터링하기 때문에, 다수의 학습 문항을 클러스터링할 때 많은 작업 시간 및 비용이 소요되는 문제점이 있다.
또한, 종래에는 관리자의 주관적인 기준으로 학습 문항을 클러스터링하기 때문에, 하나의 학습 문항이 관리자에 따라 다른 그룹으로 클러스터링될 수 있는 문제점이 있다.
이상의 배경기술에 기재된 사항은 발명의 배경에 대한 이해를 돕기 위한 것으로서, 공개된 종래 기술이 아닌 사항을 포함할 수 있다.
한국등록특허 10-1816665
본 발명은 상기한 사정을 감안하여 제안된 것으로 학습 문항의 메타 정보 및 지식 개념을 근거로 학습 문항들을 1차 클러스터링하도록 한 학습 문항 클러스터링 장치 및 방법을 제공하는 것을 목적으로 한다.
본 발명은 메타 정보 및 지식 개념을 근거로 1차 클러스터링된 학습 문항들을 예측 정오답률과 문항 정오답률을 근거로 2차 클러스터링하도록 한 학습 문항 클러스터링 장치 및 방법을 제공하는 것을 다른 목적으로 한다.
본 발명은 1차 또는 2차 클러스터링된 학습 문항들의 메타 정보를 분석하여 학습 문항(지식 그룹)에 매칭된 지식 개념을 네이밍하도록 한 학습 문항 클러스터링 장치 및 방법을 제공하는 것을 다른 목적으로 한다.
상기한 목적을 달성하기 위하여 본 발명의 실시 예에 따른 학습 문항 클러스터링 장치는 학습 문항 클러스터링의 분류 기준이 되는 지식 개념 개수의 입력에 응답하여 지식 개념 개수에 대응하는 복수의 지식 개념을 설정하고, 클러스터링 대상인 복수의 학습 문항의 메타 정보의 입력에 응답하여 복수의 지식 개념과 메타 정보를 근거로 학습 문항이 복수의 지식 개념 각각에 속할 확률값을 산출하고, 확률값이 가장 높은 지식 개념을 학습 문항의 대표 지식 개념으로 설정하고, 동일한 대표 지식 개념을 갖는 학습 문항이 속하는 지식 그룹을 생성하는 제1 클러스터링 모듈 및 제1 클러스터링 모듈에서 생성한 지식 그룹에 속한 학습 문항의 메타 정보를 근거로 지식 그룹의 대표 지식 개념을 네이밍하는 네이밍 모듈을 포함한다.
제1 클러스터링 모듈은 지식 개념 개수의 입력에 응답하여 지식 개념 개수를 포함한 지식 개념 생성 요청 신호를 전송하고, 메타 정보의 입력에 응답하여 복수의 학습 문항의 메타 정보를 포함한 확률값 산출 요청 신호를 전송하는 입력 모듈, 입력 모듈의 지식 개념 생성 요청 신호에 응답하여 지식 개념 개수에 대응하는 개수의 지식 개념을 생성하고, 지식 개념을 포함한 확률값 산출 요청을 전송하는 지식 개념 생성 모듈, 입력 모듈의 확률값 산출 요청에 응답하여 확률값 산출 요청으로부터 메타 정보를 검출하고, 지식 개념 생성 모듈의 확률값 산출 요청에 응답하여 확률값 산출 요청으로부터 복수의 지식 개념을 검출하고, 메타 정보 및 복수의 지식 개념을 딥러닝 학습 문항 클러스터링 모델에 투입하여 학습 문항이 복수의 지식 개념 각각에 속할 확률값을 산출하고, 확률값을 포함한 대표 지식 개념 설정 요청 신호를 전송하는 확률값 산출 모듈, 확률값 산출 모듈의 대표 지식 개념 설정 요청 신호에 응답하여 대표 지식 개념 설정 요청 신호로부터 확률값을 검출하고, 가장 높은 확률값을 갖는 지식 개념을 학습 문항의 대표 지식 개념으로 설정하고, 대표 지식 개념이 설정된 학습 문항을 포함한 그룹핑 요청 신호를 전송하는 대표 지식 개념 설정 모듈, 및 대표 지식 개념 설정 모듈의 그룹핑 요청 신호에 응답하여 그룹핑 요청 신호로부터 학습 문항 및 대표 지식 개념을 검출하고, 동일한 대표 지식 개념이 설정된 학습 문항들을 하나의 지식 그룹으로 그룹핑하는 제1 그룹핑 모듈을 포함한다.
제1 클러스터링 모듈은 지식 그룹을 생성한 후 클러스터링 완료 신호를 전송하고, 본 발명의 실시 예에 따른 학습 문항 클러스터링 장치는 제1 클러스터링 모듈의 클러스터링 완료 신호에 응답하여 기준 정오답률과 지식 그룹의 문항 정오답률을 설정하고, 기준 정오답률과 문항 정오답률을 근거로 2차 클러스터링 진행 여부를 판단하는 판단 모듈을 더 포함할 수 있다.
판단 모듈은 지식 그룹에 포함된 학습 문항들에 대한 예측 정오답률의 입력에 응답하여 예측 정오답률을 기준 정오답률로 설정하고, 지식 그룹에 속한 학습 문항들의 정오답률을 근거로 문항 정오답률을 설정하고, 기준 정오답률 및 문항 정오답률을 근거로 2차 클러스터링 진행 및 지식 개념 네이밍 중에서 하나로 판단할 수 있다. 판단 모듈은 지식 그룹의 문항 정오답률이 기준 정오답률 이내의 값이면 지식 개념 네이밍으로 판단하여 지식 개념 네이밍 요청 신호를 네이밍 모듈로 전송하고, 지식 그룹의 문항 정오답률이 기준 정오답률을 벗어나는 값이면 2차 클러스터링 진행으로 판단하여 재 클러스터링 요청 신호를 전송할 수 있다.
본 발명의 실시 예에 따른 학습 문항 클러스터링 장치는 2차 클러스터링 진행으로 판단한 판단 모듈의 재 클러스터링 요청 신호에 응답하여 문항 정오답률을 기준으로 지식 그룹에 속한 학습 문항들을 복수의 서브 그룹으로 분류하고, 둘 이상의 서브 그룹을 그룹핑하여 지식 그룹을 두개 이상의 지식 그룹으로 재 그룹핑하는 제2 클러스터링 모듈을 더 포함할 수 있다.
제2 클러스터링 모듈은 재 그룹핑된 지식 그룹의 문항 정오답률이 기준 정오답률 이내의 값을 갖도록 복수의 서브 그룹을 그룹핑할 수 있다.
제2 클러스터링 모듈은 판단 모듈의 재 클러스터링 요청 신호에 응답하여 지식 그룹에 속한 학습 문항들 중에서 정답률이 높은 학습 문항들을 제1 그룹으로 분류하고, 오답률이 높은 학습 문항들을 제2 그룹으로 분류하고, 제1 그룹으로 분류된 학습 문항들 사이의 유사도를 기준으로 제1 그룹에 속한 학습 문항들을 복수의 제1 서브 그룹으로 분류하고, 제2 그룹으로 분류된 학습 문항들 사이의 유사도를 기준으로 제2 그룹에 속한 학습 문항들을 복수의 제2 서브 그룹으로 분류한 후 재 그룹핑 요청 신호를 전송하는 문항 분류 모듈 및 문항 분류 모듈의 재 그룹핑 요청 신호에 응답하여 하나 이상의 제1 서브 그룹과 하나 이상의 제2 서브 그룹을 그룹핑하여 지식 그룹을 두개 이상의 지식 그룹으로 재 그룹핑하는 제2 그룹핑 모듈을 포함할 수 있다. 이때, 제2 그룹핑 모듈은 재 그룹핑된 지식 그룹들의 문항 정오답률이 기준 정오답률 이내의 값이면 그룹핑 승인으로 판단하고, 지식 개념 네이밍 요청 신호를 네이밍 모듈로 전송할 수 있다.
상기한 목적을 달성하기 위하여 본 발명의 실시 예에 따른 학습 문항 클러스터링 방법은 상술한 학습 문항 클러스터링 장치에 의해 수행되고, 클러스터링 대상인 복수의 학습 문항의 메타 정보 및 지식 개념 개수의 입력에 응답하여 지식 개념을 기준으로 복수의 학습 문항을 복수의 지식 그룹으로 분류하는 1차 클러스터링 단계 및 1차 클러스터링 단계에서 분류된 복수의 지식 그룹의 기준 정오답률과 문항 정오답률을 근거로 2차 클러스터링 진행 여부를 판단하는 2차 클러스터링 진행 여부 판단 단계, 2차 클러스터링 진행 여부 판단 단계에서 재 클러스터링으로 판단하면 문항 정오답률을 기준으로 지식 그룹에 속한 학습 문항들을 복수의 서브 그룹으로 분류하고, 둘 이상의 서브 그룹을 그룹핑하여 지식 그룹을 두개 이상의 지식 그룹으로 재 그룹핑하는 2차 클러스터링 단계, 및 1차 클러스터링 단계 또는 2차 클러스터링 단계에서 생성된 지식 그룹에 속한 학습 문항의 메타 정보를 근거로 지식 그룹의 대표 지식 개념을 네이밍하는 단계를 포함할 수 있다.
1차 클러스터링 단계는 복수의 학습 문항의 메타 정보를 입력받는 메타 정보 입력 단계, 지식 개념 개수를 입력받는 지식 개념 개수 입력 단계, 지식 개념 개수 입력 단계에서 입력받은 지식 개념 개수에 대응하는 지식 개념을 생성하는 지식 개념 생성 단계, 메타 정보를 입력받는 단계에서 입력받은 메타 정보와 지식 개념을 생성하는 단계에서 생성된 지식 개념을 근거로 학습 문항이 복수의 지식 개념 각각에 속할 확률값을 산출하는 확률값 산출 단계, 복수의 학습 문항에 대표 지식 개념을 설정하되, 확률값 산출 단계에서 산출한 확률값이 가장 높은 지식 개념을 학습 문항의 대표 지식 개념으로 설정하는 대표 지식 개념 설정 단계 및 대표 지식 개념 설정 단계에서 설정된 대표 지식 개념을 근거로 복수의 학습 문항을 복수의 지식 그룹으로 분류하되, 대표 지식 개념이 동일한 학습 문항들을 하나의 지식 그룹으로 분류하는 1차 그룹핑 단계를 포함할 수 있다.
2차 클러스터링 진행 여부 판단 단계는 1차 클러스터링 단계에서 분류된 복수의 지식 그룹에 기준 정오답률을 설정하되, 지식 그룹에 설정된 대표 지식 개념에 포함된 학습 문항들에 대한 예측 정오답률을 기준 정오답률로 설정하는 기준 정오답률 설정 단계, 학습 문항 풀이 이력을 근거로 복수의 지식 그룹에 문항 정오답률을 설정하는 문항 정오답률 설정 단계 및 기준 정오답률 설정 단계에서 설정된 기준 정오답률과 문항 정오답률 설정 단계에서 설정된 문항 정오답률을 근거로 2차 클러스터링 진행 여부를 판단하는 재 클러스터링 판단 단계를 포함할 수 있다.
재 클러스터링 판단 단계에서는 지식 그룹의 문항 정오답률이 기준 정오답률 이내의 값이면 지식 개념 네이밍으로 판단하고, 2차 클러스터링 진행 여부 판단 단계는 재 클러스터링 판단 단계에서 지식 개념 네이밍으로 판단하면 지식 개념 네이밍 요청 신호를 전송하는 단계를 더 포함할 수 있다.
재 클러스터링 판단 단계에서는 지식 그룹의 문항 정오답률이 기준 정오답률을 벗어나는 값이면 2차 클러스터링 진행으로 판단하고, 2차 클러스터링 진행 여부 판단 단계는 재 클러스터링 판단 단계에서 1차 클러스터링 진행으로 판단하면 재 클러스터링 요청 신호를 전송하는 단계를 더 포함할 수 있다.
2차 클러스터링 단계는 문항 정오답률을 근거로 지식 그룹에 속한 학습 문항들을 제1 그룹 및 제2 그룹으로 분류하는 학습 문항 분류 단계, 학습 문항 분류 단계에서 제1 그룹으로 분류된 학습 문항들 사이의 유사도와 학습 문항 분류 단계에서 제2 그룹으로 분류된 학습 문항들 사이의 유사도를 산출하는 학습 문항 유사도 산출 단계, 학습 문항 유사도 산출 단계에서 산출한 유사도를 근거로 제1 그룹에 속한 학습 문항들을 복수의 제1 서브 그룹으로 분류하고, 제2 그룹에 속한 학습 문항들을 복수의 제2 서브 그룹으로 분류하는 서브 그룹 분류 단계 및 복수의 제1 서브 그룹 중에서 하나 이상과 복수의 제2 서브 그룹 중에서 하나 이상을 포함하도록 지식 그룹을 재 그룹핑하는 서브 그룹 그룹핑 단계를 포함할 수 있다.
학습 문항 분류 단계에서는 지식 그룹에 속한 학습 문항들 중에서 문항 정답률이 높은 학습 문항을 제1 그룹으로 분류하고, 문항 오답률이 높은 학습 문항을 제2 그룹으로 분류하고, 서브 그룹 그룹핑 단계에서는 재 그룹핑된 지식 그룹의 문항 정오답률이 기준 정오답률 이내의 값을 갖도록 복수의 제1 서브 그룹 및 복수의 제2 서브 그룹을 그룹핑할 수 있다.
2차 클러스터링 단계는 서브 그룹 그룹핑 단계에서 재 그룹핑된 지식 그룹의 문항 정오답률을 산출하는 문항 정오답률 재 산출 단계 및 문항 정오답률 재 산출 단계에서 산출한 문항 정오답률과 기준 정오답률을 근거로 재 그룹핑 승인 여부를 판단하는 재 그룹핑 승인 단계를 더 포함할 수 있다. 이때, 재 그룹핑 승인 단계에서는 지식 그룹의 문항 정오답률이 기준 정오답률 이내이면 재 그룹핑 승인으로 판단하고, 2차 클러스터링 단계는 재 그룹핑 승인 단계에서 재 그룹핑 승인으로 판단하면 지식 개념 네이밍 요청 신호를 전송하는 단계를 더 포함할 수 있다.
본 발명에 의하면, 학습 문항 클러스터링 장치 및 방법은 학습 문항의 메타 정보, 지식 개념 및 학습 이력을 근거로 학습 문항들을 클러스터링하고, 클러스터링된 학습 문항들의 메타 정보를 근거로 지식 개념을 네이밍함으로써, 학습 문항을 클러스터링하는 작업 시간 및 비용을 최소화할 수 있는 효과가 있다.
또한, 학습 문항 클러스터링 장치 및 방법은 학습 문항의 메타 정보, 지식 개념 및 학습 이력을 근거로 학습 문항들을 클러스터링하고, 클러스터링된 학습 문항들의 메타 정보를 근거로 지식 개념을 네이밍함으로써, 관리자의 주관적인 판단이 배제되어 객관적으로 학습 문항을 클러스터링할 수 있고, 관리자에 따라 하나의 학습 문항이 다른 그룹으로 클러스터링되는 것을 방지할 수 있는 효과가 있다.
또한, 학습 문항 클러스터링 장치 및 방법은 클러스터링된 학습 문항들의 유사도를 근거로 학습 문항을 재 그룹핑함으로써, 학습 문항의 클러스터링시 발생할 수 있는 오류를 최소화하여 더욱 객관적이고 정확하게 학습 문항을 클러스터링할 수 있는 효과가 있다.
또한, 학습 문항 클러스터링 장치 및 방법은 클러스터링된 학습 문항들의 유사도를 근거로 학습 문항을 재 그룹핑함으로써, 동일한 지식 개념을 학습하는 학습자들에게 학습자의 학습 수준에 따라 다른 난이도로 구성된 학습 문항을 제공할 수 있는 효과가 있다.
도 1은 본 발명의 실시 예에 따른 학습 문항 클러스터링 장치 및 방법을 설명하기 위한 도면.
도 2는 본 발명의 실시 예에 따른 학습 문항 클러스터링 장치를 설명하기 위한 블록도.
도 3은 도 2의 제1 클러스터링 모듈을 설명하기 위한 블록도.
도 4는 도 3의 지식 개념 생성 모듈을 설명하기 위한 블록도.
도 5는 도 3의 확률값 산출 모듈을 설명하기 위한 도면.
도 6은 도 3의 대표 지식 개념 설정 모듈을 설명하기 위한 도면.
도 7은 도 3의 제1 그룹핑 모듈을 설명하기 위한 도면.
도 8은 도 2의 판단 모듈을 설명하기 위한 블록도.
도 9는 도 8의 문항 정오답률 설정 모듈을 설명하기 위한 블록도.
도 10은 도 2의 제2 클러스터링 모듈을 설명하기 위한 블록도.
도 11 및 도 12는 도 10의 문항 분류 모듈을 설명하기 위한 도면.
도 13 내지 도 15는 도 10의 제2 그룹핑 모듈을 설명하기 위한 도면.
도 16은 본 발명의 실시 예에 따른 학습 문항 클러스터링 방법을 설명하기 위한 흐름도.
도 17은 도 16의 1차 클러스터링 단계(S100)를 설명하기 위한 흐름도.
도 18은 도 16의 2차 클러스터링 진행 여부 판단 단계(S200)를 설명하기 위한 흐름도.
도 19는 도 16의 2차 클러스터링 단계(S300)를 설명하기 위한 흐름도.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명하기로 한다.
실시예들은 당해 기술 분야에서 통상의 지식을 가진 자에게 본 발명을 더욱 완전하게 설명하기 위하여 제공되는 것이고, 하기 실시예는 여러 가지 다른 형태로 변형될 수 있으며, 본 발명의 범위가 하기 실시예에 한정되는 것은 아니다. 오히려, 이들 실시예는 본 개시를 더욱 충실하고 완전하게 하고, 본 발명의 사상을 완전하게 전달하기 위하여 제공되는 것이다.
본 명세서에서 사용된 용어는 특정 실시예를 설명하기 위하여 사용되며, 본 발명을 제한하기 위한 것이 아니다. 또한, 본 명세서에서 단수 형태는 문맥상 다른 경우를 분명히 지적하는 것이 아니라면, 복수의 형태를 포함할 수 있다.
먼저, 본 발명의 실시 예를 설명하기 위해 사용되는 용어는 아래와 같이 정의할 수 있다.
메타 정보는 학습 문항에 포함된 모든 텍스트 정보 및 이미지 정보를 포함하는 정보를 의미한다. 메타 정보는 학습 문항에 포함된 발문, 지문, 선택지 등에 포함된 모든 텍스트 정보, 학습 문항의 보기, 선택지 등에 포함된 모든 이미지 정보를 포함할 수 있다.
지식 개념은 각 학습 문항이 내포하고 있는 복합적이고 잠재적인 지식 단위로써, 학습 문항을 해결하기 위해 필요한 세부적인 내용 요소들을 포괄적으로 대표하는 학습 개념을 의미한다.
정오답률은 학습 문항을 풀이한 학습자들의 정답 비율 및/또는 오답 비율을 의미한다.
본 발명의 실시 예에 따른 학습 문항 클러스터링 장치 및 방법은 학습 문항의 메타 정보와 학습자의 학습 문항에 대한 정오답 패턴을 근거로 학습 문항의 지식 개념을 자동으로 생성 및 설정한다.
예를 들어, 도 1에 도시된 학습 문항은 중학교 2학년 1학기 4단원에 포함된 연립방정식에 관련된 문제이다. 학습자는 해당 학습 문항을 풀기 위해서 연립방정식 단원 중에서 미지수가 2개인 일차방정식에 관련된 학습 개념에 대해 알고 있어야 하고, 추가적으로 단항식과 다항식의 학습 개념, 사칙계산 혹은 음수의 학습 개념까지 알고 있어야 한다.
다른 일례로, 정삼각형은 '변의 길이와 내각의 크기가 모두 같은 삼각형'임을 학습하고자 할 때, 학습자는 '변'과 '각' 등 최소한 두 개 이상의 학습 개념을 결합해야 한다.
이처럼, 학습 문항은 단순한 단일 개념 요소가 아닌 여러 요소들이 연관된 잠재적인 복합 학습 개념을 포함하고 있다. 이에, 본 발명의 실시 예에 따른 학습 문항 클러스터링 장치 및 방법은 학습 문항에 포함되는 다수의 단일 학습 개념을 하나로 묶어줄 수 있는 대표 학습 개념을 생성하고, 대표 학습 개념을 해당 학습 문항에 지식 개념으로 설정한다.
도 2를 참조하면, 본 발명의 실시 예에 따른 학습 문항 클러스터링 장치(100)는 제1 클러스터링 모듈(120), 판단 모듈(140), 제2 클러스터링 모듈(160) 및 네이밍 모듈(180)을 포함하여 구성된다.
제1 클러스터링 모듈(120)은 복수의 학습 문항에 대한 메타 정보를 입력받는다. 제1 클러스터링 모듈(120)은 복수의 학습 문항들 각각의 메타 정보를 입력받되, 각 학습 문항에 포함된 텍스트 정보 및 이미지 정보를 포함한 메타 정보를 입력받는다.
제1 클러스터링 모듈(120)은 학습 문항 클러스터링의 분류 기준이 되는 지식 개념 개수를 입력받는다. 제1 클러스터링 모듈(120)은 관리자/사용자가 원하는 지식 개념의 개수인 지식 개념 개수를 입력받는다.
제1 클러스터링 모듈(120)은 지식 개념 개수에 대응하는 개수의 지식 개념을 설정한다. 제1 클러스터링 모듈(120)은 딥러닝 학습 문항 클러스터링 모델에 메타 정보들을 투입하여 학습 문항이 지식 개념에 속할 확률값을 산출한다.
제1 클러스터링 모듈(120)은 확률값이 가장 높은 지식 개념을 학습 문항의 대표 지식 개념으로 설정한다. 제1 클러스터링 모듈(120)은 대표 지식 개념을 기준으로 복수의 학습 문항을 그룹핑(클러스터링)한다. 이때, 제1 클러스터링 모듈(120)은 대표 지식 개념이 동일한 학습 문항들을 하나의 지식 그룹으로 분류하여 1차 클러스터링을 완료한다. 제1 클러스터링 모듈(120)은 1차 클러스터링을 완료한 후 클러스터링 완료 신호를 생성하여 판단 모듈(140)로 전송한다.
도 3을 참조하면, 제1 클러스터링 모듈(120)은 입력 모듈(121), 지식 개념 생성 모듈(123), 확률값 산출 모듈(125), 대표 지식 개념 설정 모듈(127), 제1 그룹핑 모듈(129)을 포함하여 구성된다.
입력 모듈(121)은 클러스터링 대상인 복수의 학습 문항에 대응하는 메타 정보를 입력받는다. 입력 모듈(121)은 각 학습 문항에 포함된 발문, 지문, 선택지 등에 포함된 모든 텍스트 정보와 모든 이미지 정보를 포함하는 메타 정보를 입력받는다.
이때, 입력 모듈(121)은 학습 문항에 부여된 고유 식별자인 문항 코드 및 학습 문항이 매칭된 단원명을 더 포함하는 메타 정보를 입력받을 수 있다. 입력 모듈(121)은 메타 정보를 포함한 확률값 산출 요청 신호를 생성하여 확률값 산출 모듈(125)로 전송한다.
입력 모듈(121)은 지식 개념 개수를 입력받는다. 입력 모듈(121)은 관리자 또는 사용자가 원하는 지식 개념의 개수인 지식 개념 개수를 입력받는다. 입력 모듈(121)은 지식 개념 개수를 포함한 지식 개념 생성 요청 신호를 생성하여 지식 개념 생성 모듈(123)로 전송한다.
지식 개념 생성 모듈(123)은 입력 모듈(121)의 지식 개념 생성 요청 신호에 응답하여 학습 문항을 클러스터링하기 위한 복수의 지식 개념을 생성한다. 지식 개념 생성 모듈(123)은 지식 개념 생성 요청 신호로부터 지식 개념 개수를 검출한다. 지식 개념 생성 모듈(123)은 지식 개념 개수에 대응하는 개수의 지식 개념을 생성한다. 지식 개념 생성 모듈(123)은 생성한 지식 개념을 포함한 확률값 산출 요청 신호를 생성하여 확률값 산출 모듈(125)로 전송한다. 지식 개념 생성 모듈(123)에 의해 생성된 지식 개념들은 네이밍이 되지 않은 상태이며, 지식 개념 생성 모듈(123)은 지식 개념의 구분을 위해 문자, 숫자, 특수 기호 등을 조합한 텍스트로 지식 개념을 임시 네이밍한다.
일례로, 도 4를 참조하면, 입력 모듈(121)은 지식 개념 개수인 "10"을 포함하는 지식 개념 생성 요청 신호를 지식 개념 생성 모듈(123)로 전송한다. 지식 개념 생성 모듈(123)은 입력 모듈(121)의 지식 개념 생성 요청 신호로부터 지식 개념 개수인 "10"을 검출하고, 그에 해당하는 10개의 지식 개념(즉, 제1 지식 개념 내지 제10 지식 개념)을 생성한다. 지식 개념 생성 모듈(123)은 제1 지식 개념 내지 제10 지식 개념을 포함한 확률값 산출 요청 신호를 생성하여 확률값 산출 모듈(125)로 전송한다.
확률값 산출 모듈(125)은 입력 모듈(121) 및 지식 개념 생성 모듈(123)의 확률값 산출 요청 신호에 응답하여 학습 문항의 확률값을 산출한다. 여기서, 확률값은 학습 문항이 지식 개념 생성 모듈(123)에서 생성된 복수의 지식 개념 각각에 속할 확률을 의미한다.
먼저, 확률값 산출 모듈(125)은 입력 모듈(121)의 확률값 산출 요청 신호에 응답하여 확률값 산출 요청 신호로부터 메타 정보를 검출한다. 확률값 산출 모듈(125)은 지식 개념 생성 모듈(123)의 확률값 산출 요청 신호에 응답하여 확률값 산출 요청 신호로부터 지식 개념을 검출한다.
확률값 산출 모듈(125)은 메타 정보와 지식 개념을 딥러닝 기반의 문항 클러스터링 모델에 투입하여 학습 문항이 지식 개념에 속할 확률값을 산출한다. 확률값 산출 모듈(125)은 산출한 확률값을 포함한 대표 지식 개념 설정 요청 신호를 생성하여 대표 지식 개념 설정 모듈(127)로 전송한다.
확률값 산출 모듈(125)은 딥러닝 기반의 문항 클러스터링 모델인 DKVMN(Dynamic Key-Value Memory Networks) 모델에 메타 정보 및 지식 개념을 투입하여 확률값을 산출하는 것을 일례로 한다.
여기서, DKVMN 모델은 학습 문항에 대한 잠재적인 지식 개념을 추출하고, 지식 개념 간의 관계를 자동적으로 탐지하는 모델이다. DKVMN 모델은 학생의 문항 풀이 응답과 학습 문항의 메타 정보를 활용하여 그 기저에 깔려 있는 지식 개념들 가정하며, 각 학습 문항에 대하여 상이한 개념 상태(concept state)가 연관될 수 있음을 가정하고 지식개념 간 상관을 학습하여 각 개념에 대한 학생들의 지식 상태를 추적하는 모델이다.
일례로, 도 5를 참조하면, 지식 개념 개수 "10"이 입력되어 10개의 지식 개념(즉, 제1 지식 개념 내지 제10 지식 개념)이 생성되고, 학습 문항 Q0001~Q0010에 대한 메타 정보가 입력된 것으로 가정한다.
확률값 산출 모듈(125)은 학습 문항 Q001이 제1 지식 개념에 속할 확률, 제2 지식 개념에 속할 확률,제3 지식 개념에 속할 확률, 제4 지식 개념에 속할 확률, 제5 지식 개념에 속할 확률, 제6 지식 개념에 속할 확률, 제7 지식 개념에 속할 확률, 제8 지식 개념에 속할 확률, 제9 지식 개념에 속할 확률, 제10 지식 개념에 속할 확률을 산출한다. 확률값 산출 모듈(125)은 학습 문항 Q002 내지 Q010이 제1 지식 개념 내지 제10 지식 개념에 속할 확률값을 각각 산출한다. 이때, 확률값은 1에 가까울수록 해당 지식 개념에 속할 확률이 높은 것을 의미한다.
확률값 산출 모듈(125)은 학습 문항 Q001 내지 Q010이 제1 지식 개념 내지 제10 지식 개념에 속할 확률값을 포함한 대표 지식 개념 설정 요청 신호를 생성하여 대표 지식 개념 설정 모듈(127)로 전송한다.
대표 지식 개념 설정 모듈(127)은 확률값 산출 모듈(125)의 대표 지식 개념 설정 요청 신호에 응답하여 학습 문항의 대표 지식 개념을 설정한다.
대표 지식 개념 설정 모듈(127) 확률값 산출 모듈(125)의 대표 지식 개념 설정 요청 신호에 응답하여 대표 지식 개념 설정 요청 신호로부터 확률값을 검출한다. 대표 지식 개념 설정 모듈(127)은 각 학습 문항에 대해 가장 높은 확률값을 갖는 지식 개념을 해당 학습 문항의 대표 지식 개념으로 설정한다. 대표 지식 개념 설정 모듈(127)은 학습 문항과 대표 지식 개념을 포함한 그룹핑 요청 신호를 생성하여 제1 그룹핑 모듈(129)로 전송한다.
일례로, 도 6을 참조하면, 대표 지식 개념 설정 모듈(127)은 제1 지식 개념 내지 제10 지식 개념 중에서 가장 높은 확률값을 갖는 제1 지식 개념을 학습 문항 Q001의 대표 지식 개념으로 설정한다. 대표 지식 개념 설정 모듈(127)은 가장 높은 확률값은 갖는 제9 지식 개념을 학습 문항 Q002의 대표 지식 개념으로 설정하고, 가장 높은 확률값은 갖는 제8 지식 개념을 학습 문항 Q003의 대표 지식 개념으로 설정하고, 가장 높은 확률값은 갖는 제2 지식 개념을 학습 문항 Q004의 대표 지식 개념으로 설정하고, 가장 높은 확률값은 갖는 제5 지식 개념을 학습 문항 Q005의 대표 지식 개념으로 설정하고, 가장 높은 확률값은 갖는 제9 지식 개념을 학습 문항 Q006의 대표 지식 개념으로 설정하고, 가장 높은 확률값은 갖는 제1 지식 개념을 학습 문항 Q007의 대표 지식 개념으로 설정하고, 가장 높은 확률값은 갖는 제5 지식 개념을 학습 문항 Q008의 대표 지식 개념으로 설정하고, 가장 높은 확률값은 갖는 제9 지식 개념을 학습 문항 Q009의 대표 지식 개념으로 설정하고, 가장 높은 확률값은 갖는 제3 지식 개념을 학습 문항 Q010의 대표 지식 개념으로 설정한다.
제1 그룹핑 모듈(129)은 대표 지식 개념 설정 모듈(127)의 그룹핑 요청 신호에 응답하여 학습 문항들 그룹핑한다. 제1 그룹핑 모듈(129)은 그룹핑 요청 신호에 응답하여 그룹핑 요청 신호로부터 학습 문항과 대표 지식 개념을 검출한다.
제1 그룹핑 모듈(129)은 대표 지식 개념을 기준으로 학습 문항을 그룹핑한다. 즉, 제1 그룹핑 모듈(129)은 동일한 대표 지식 개념을 갖는 학습 문항들을 하나의 지식 그룹으로 그룹핑한다.
일례로, 도 7을 참조하면, 제1 그룹핑 모듈(129)은 제1 지식 개념을 갖는 학습 문항 Q001 및 Q007을 제1 지식 그룹으로 그룹핑한다. 제1 그룹핑 모듈(129)은 제2 지식 개념이 대표 지식 개념으로 설정된 학습 문항 Q004을 제2 지식 그룹으로 그룹핑한다. 제1 그룹핑 모듈(129)은 제3 지식 개념이 대표 지식 개념으로 설정된 학습 문항 Q010을 제3 지식 그룹으로 그룹핑한다. 제1 그룹핑 모듈(129)은 제5 지식 개념이 대표 지식 개념으로 설정된 학습 문항 Q005 및 Q008을 제4 지식 그룹으로 그룹핑한다. 제1 그룹핑 모듈(129)은 제8 지식 개념이 대표 지식 개념으로 설정된 학습 문항 Q003을 제5 지식 그룹으로 그룹핑한다. 제1 그룹핑 모듈(129)은 제9 지식 개념이 대표 지식 개념으로 설정된 학습 문항 Q002, Q006 및 Q009를 제9 지식 그룹으로 그룹핑한다.
제1 그룹핑 모듈(129)은 그룹핑 정보를 포함한 클러스터링 완료 신호를 생성하여 판단 모듈(140)로 전송한다. 여기서, 그룹핑 정보는 학습 문항들, 학습 문항들이 속한 지식 그룹, 지식 그룹에 설정된 대표 지식 개념을 포함하는 것을 일례로 한다.
판단 모듈(140)은 제1 클러스터링 모듈(120)의 클러스터링 완료 신호에 응답하여 2차 클러스터링 진행 여부를 판단한다. 판단 모듈(140)은 관리자/사용자로부터 입력받은 정오답률을 기준 정오답률로 설정한다. 즉, 관리자/사용자는 대표 지식 개념에 포함된 학습 문항들에 대해 예측한 정오답률인 예측 정오답률을 입력하고, 판단 모듈(140)은 예측 정오답률을 기준 정오답률로 설정한다. 즉, 판단 모듈(140)은 학습 문항에 대해 관리자/사용자가 예상하는 정오답률을 기준 정오답률로 설정한다.
판단 모듈(140)은 지식 그룹에 속한 학습 문항들의 기준 정오답률을 각각 설정하고, 이들의 평균값을 지식 그룹의 기준 정오답률로 설정할 수도 있다. 일례로, 지식 그룹에 학습 문항 1 및 학습 문항 2가 포함되고, 관리자/사용자가 학습 문항 1 및 2의 기준 정오답률이 각각 60%, 70%으로 입력한 경우, 판단 모듈(140)은 학습 문항 1 및 2의 기준 정오답률의 평균값인 65%를 지식 그룹의 기준 정오답률로 설정한다.
판단 모듈(140)은 오차 범위가 설정된 상수인 기준 정오답률을 설정하거나, 최소값 및 최대 값을 갖는 범위의 기준 정오답률을 설정할 수도 있다.
판단 모듈(140)은 학습자가 지식 그룹에 속한 학습 문항을 풀이한 학습 이력을 기준으로 문항 정오답률을 설정한다. 판단 모듈(140)은 학습자가 학습 문항을 풀이한 학습 이력을 기반으로 정오답률을 산출하고, 이를 문항 정오답률로 설정한다.
판단 모듈(140)은 기준 정오답률과 문항 정오답률을 기반으로 2차 클러스터링 진행 여부를 판단한다. 판단 모듈(140)은 문항 정오답률과 기준 정오답률의 차이가 오차 범위를 벗어나면 2차 클러스터링 진행으로 판단한다. 기준 정오답률이 범위로 설정된 경우, 판단 모듈(140)은 문항 정오답률이 기준 정오답률 범위를 벗어나면 2차 클러스터링 진행으로 판단할 수도 있다. 판단 모듈(140)은 2차 클러스터링 진행으로 판단하면 재 클러스터링 요청 신호를 생성하여 판단 모듈(140)로 전송한다.
판단 모듈(140)은 문항 정오답률과 기준 정오답률의 차이가 오차 범위 이내이면 지식 개념 네이밍으로 판단한다. 판단 모듈(140)은 문항 정오답률이 기준 정오답률 범위 이내의 값이면 지식 개념 네이밍으로 판단할 수도 있다. 판단 모듈(140)은 지식 개념 네이밍으로 판단하면 지식 개념 네이밍 요청 신호를 생성하여 네이밍 모듈(180)로 전송한다.
도 8을 참조하며, 판단 모듈(140)은 기준 정오답률 설정 모듈(142), 문항 정오답률 설정 모듈(144) 및 재 그룹핑 판단 모듈(146)을 포함하여 구성된다.
기준 정오답률 설정 모듈(142)은 제1 클러스터링 모듈(120)의 클러스터링 완료 신호에 응답하여 지식 그룹에 설정된 대표 지식 개념의 기준 정오답률을 설정한다. 기준 정오답률 설정 모듈(142)은 관리자/사용자로부터 입력받은 예측 오답률을 기준 정오답률로 설정한다. 기준 정오답률 설정 모듈(142)은 관리자/사용자로부터 지식 개념에 대한 예측 정오답률을 입력받고, 입력받은 예측 정오답률을 기준 정오답률로 설정한다.
기준 정오답률 설정 모듈(142)은 관리자/사용자로부터 예측 정오답률과 함께 오차 범위를 더 입력받을 수 있다. 기준 정오답률 설정 모듈(142)은 관리자/사용자로부터 최소값 및 최대값을 갖는 범위의 예측 정오답률을 입력받을 수도 있다.
기준 정오답률 설정 모듈(142)은 학습 문항별로 기준 정오답률을 설정하고, 동일한 지식 그룹에 속한 학습 문항들의 기준 정오답률 평균값을 지식 그룹의 기준 정오답률로 설정할 수도 있다.
문항 정오답률 설정 모듈(144)은 학습자의 학습 문항 풀이 이력을 기준으로 문항 정오답률을 설정한다. 문항 정오답률 설정 모듈(144)은 지식 그룹에 속한 학습 문항에 대한 학습자들의 학습 이력을 기준으로 각 학습 문항에 대한 정답률 및/또는 오답률을 산출한다. 문항 정오답률 설정 모듈(144)은 지식 그룹에 속한 학습 문항들의 정오답률 평균값을 산출하고, 이를 문항 정오답률로 설정한다.
일례로, 도 9를 참조하면, 제1 지식 그룹에 문항코드 Q001 및 Q002인 2개의 학습 문항이 포함되고, 5명의 학습자(즉, 학습자 1 내지 학습자 5)가 제1 지식 그룹에 포함된 2개의 학습 문항을 학습한 이력이 존재하는 것으로 가정한다. 문항 정오답률 설정 모듈(144)은 10회의 학습 이력 중 정답이 7회이므로 70%를 정답 비율로 산출하고, 10회의 학습 이력 중 오답이 3회이므로 30%를 오답 비율로 산출한다. 문항 정오답률 설정 모듈(144)은 기산출한 정답 비율 및/또는 오답 비율을 포함한 정오답률을 문항 정오답률로 설정한다.
재 그룹핑 판단 모듈(146)은 기준 정오답률과 문항 정오답률을 기반으로 2차 클러스터링 진행 여부를 판단한다. 재 그룹핑 판단 모듈(146)은 문항 정오답률과 기준 정오답률의 차이가 오차 범위를 벗어나면 2차 클러스터링 진행으로 판단한다. 기준 정오답률이 범위로 설정된 경우, 재 그룹핑 판단 모듈(146)은 문항 정오답률이 기준 정오답률 범위를 벗어나면 2차 클러스터링 진행으로 판단할 수도 있다. 재 그룹핑 판단 모듈(146)은 2차 클러스터링 진행으로 판단하면 재 클러스터링 요청 신호를 생성하여 2차 클러스터링 모듈로 전송한다.
재 그룹핑 판단 모듈(146)은 문항 정오답률과 기준 정오답률의 차이가 오차 범위 이내이면 지식 개념 네이밍으로 판단한다. 재 그룹핑 판단 모듈(146)은 문항 정오답률이 기준 정오답률 범위 이내의 값이면 지식 개념 네이밍으로 판단할 수도 있다. 재 그룹핑 판단 모듈(146)은 지식 개념 네이밍으로 판단하면 지식 개념 네이밍 요청 신호를 생성하여 네이밍 모듈(180)로 전송한다.
제2 클러스터링 모듈(160)은 판단 모듈(140)의 재 클러스터링 요청 신호에 응답하여 문항 정오답률을 기준으로 하나의 지식 그룹에 속한 학습 문항을 2개의 그룹으로 분류한다. 제2 클러스터링 모듈(160)은 하나의 지식 그룹에 속한 학습 문항들을 문항 정답률이 높은 제1 그룹과 문항 오답률이 높은 제2 그룹으로 분류한다.
제2 클러스터링 모듈(160)은 제1 그룹으로 분류된 학습 문항들의 유사도를 측정하고, 유사도를 기반으로 제1 그룹으로 분류된 학습 문항들을 복수의 제1 서브 그룹으로 분류한다.
제2 클러스터링 모듈(160)은 제2 그룹으로 분류된 학습 문항들의 유사도를 측정하고, 유사도를 기반으로 제2 그룹으로 분류된 학습 문항들을 복수의 제2 서브 그룹으로 분류한다.
제2 클러스터링 모듈(160)은 제1 서브 그룹과 제2 서브 그룹을 그룹핑하여 지식 그룹을 재 그룹핑하고, 지식 그룹의 문항 정오답률이 기준 정오답률 내에 포함되도록 한다. 제2 클러스터링 모듈(160)은 제1 서브 그룹 중에서 하나 이상과 제2 서브 그룹 중에서 하나 이상을 포함하도록 지식 그룹을 재 그룹핑한다. 제2 클러스터링 모듈(160)은 재 그룹핑된 지식 그룹의 문항 정오답률을 이용해 지식 그룹의 정오답률을 산출한다. 제2 클러스터링 모듈(160)은 재 그룹핑된 지식 그룹의 문항 정오답률이 기준 정오답률 내이면 그룹핑 승인으로 판단하고, 지식 개념의 문항 정오답률이 기준 정오답률을 벗어나면 재 그룹핑으로 판단한다.
제2 클러스터링 모듈(160)은 재 그룹핑으로 판단하면 지식 그룹의 문항 정오답률이 기준 정오답률 내에 포함될 때까지 상술한 재 그룹핑 과정을 반복한다. 제2 클러스터링 모듈(160)은 그룹핑 승인으로 판단하면 지식 개념 네이밍 요청 신호를 생성하여 네이밍 모듈(180)로 전송한다.
이를 통해, 제2 클러스터링 모듈(160)은 유사도를 기반으로 학습 문항들을 재 그룹핑하여 제1 클러스터링 모듈(120)에서 그룹핑된 하나의 지식 그룹을 둘 이상의 지식 그룹으로 분할할 수 있고, 제1 클러스터링 모듈(120)보다 더욱 정확하게 학습 문항들을 클러스터링할 수 있다.
도 10을 참조하면, 제2 클러스터링 모듈(160)은 문항 분류 모듈(162) 및 제2 그룹핑 모듈(164)을 포함하여 구성된다.
문항 분류 모듈(162)은 판단 모듈(140)의 재 클러스터링 요청 신호에 응답하여 하나의 지식 그룹에 속한 학습 문항들을 2개의 그룹으로 구분한다. 문항 분류 모듈(162)은 문항 정오답률을 기준으로 학습 문항을 2개의 그룹으로 분류하되, 하나의 지식 그룹에 속한 학습 문항들을 문항 정답률이 높은 제1 그룹과 문항 오답률이 높은 제2 그룹으로 분류한다.
일례로, 도 11을 참조하면, 문항 코드 Q001~Q010인 10개의 학습 문항이 제1 지식 개념에 속하고, 문항 코드 Q001인 학습 문항의 정답률이 59.8%(오답률 40.2%)이고, 문항 코드 Q002인 학습 문항의 정답률이 62.5%(오답률 37.5%)이고, 문항 코드 Q003인 학습 문항의 정답률이 50.0%(오답률 50.0%)이고, 문항 코드 Q004인 학습 문항의 정답률이 81.2%(오답률 18.8%)이고, 문항 코드 Q005인 학습 문항의 정답률이 52.1%(오답률 47.9%)이고, 문항 코드 Q006인 학습 문항의 정답률이 75.5%(오답률 24.5%)이고, 문항 코드 Q007인 학습 문항의 정답률이 80.3%(오답률 19.7%)이고, 문항 코드 Q008인 학습 문항의 정답률이 77.7%(오답률 22.3%)이고, 문항 코드 Q009인 학습 문항의 정답률이 60.1%(오답률 39.9%)이고, 문항 코드 Q010인 학습 문항의 정답률이 55.4%(오답률 44.6%)인 것으로 가정한다.
문항 분류 모듈(162)은 문항 코드가 Q002, Q004, Q006, Q007 및 Q008인 학습 문항들을 정답률이 높은(오답률이 낮은) 제1 그룹으로 분류하고, 문항 코드가 Q001, Q003, Q005, Q009 및 Q010인 학습 문항들을 오답률이 높은(정답률이 낮은) 제2 그룹으로 분류한다.
문항 분류 모듈(162)은 제1 그룹으로 분류된 학습 문항들 사이의 유사도, 제2 그룹으로 분류된 학습 문항들의 사이의 유사도를 산출한다. 문항 분류 모듈(162)은 딥러닝 모델에 메타 정보를 투입하여 학습 문항들 사이의 유사도를 산출할 수 있다. 문항 분류 모듈(162)은 자연어 처리 기술의 일종인 자카드 유사도(Jaccard Similarity), 유클리디언 유사도(Euclidean Similarity), 맨하탄 유사도(Manhattan Similarity), 코사인 유사도(Cosine Similarity) 등을 통해 학습 문항들 사이의 유사도를 산출할 수도 있다.
문항 분류 모듈(162)은 유사도를 기반으로 제1 그룹으로 분류된 학습 문항들을 복수의 제1 서브 그룹으로 분류한다. 문항 분류 모듈(162)은 유사도를 기반으로 제2 그룹으로 분류된 학습 문항들을 복수의 제2 서브 그룹으로 분류한다.
도 12를 참조하면, 문항 분류 모듈(162)은 학습 문항의 정답률 및/또는 오답률을 근거로 지식 그룹에 속한 학습 문항들(Q)을 제1 그룹 및 제2 그룹으로 분류하고, 학습 문항들 사이의 유사도를 근거로 제1 그룹에 속한 복수의 학습 문항들(Q1)을 복수의 제1 서브 그룹으로 분류하고, 학습 문항들 사이의 유사도를 근거로 제2 그룹에 속한 복수의 학습 문항들(Q2)을 복수의 제2 서브 그룹으로 분류한다. 이때, 제1 서브 그룹은 하나 이상의 학습 문항(Q1-1~Q1-m)을 포함하고, 제2 서브 그룹은 하나 이상의 학습 문항(Q2-1~Q2-k)을 포함한다.
문항 분류 모듈(162)은 서브 그룹의 분류를 완료하면 재 그룹핑 요청 신호를 생성하여 제2 그룹핑 모듈(164)로 전송한다.
제2 그룹핑 모듈(164)은 문항 분류 모듈(162)의 재 그룹핑 요청 신호에 응답하여 복수의 제1 서브 그룹과 복수의 제2 서브 그룹을 재 그룹핑한다. 제2 그룹핑 모듈(164)은 하나 이상의 제1 서브 그룹과 하나 이상의 제2 서브 그룹을 포함하도록 지식 그룹을 재 그룹핑한다. 이때, 제2 그룹핑 모듈(164)은 하나의 지식 그룹에 속한 학습 문항들을 둘 이상의 지식 그룹으로 재 그룹핑한다.
도 13을 참조하면, 문항 분류 모듈(162)이 제1 지식 그룹에 속한 복수의 학습 문항을 3개의 제1 서브 그룹 및 3개의 제2 서브 그룹으로 분류한 것으로 가정하면, 제2 그룹핑 모듈(164)은 하나의 제1 서브 그룹 및 하나의 제2 서브 그룹을 재 그룹핑하여 제1 지식 그룹에 속한 학습 문항들을 제1-1 지식 그룹, 제1-2 지식 그룹 및 제1-3 지식 그룹으로 재 그룹핑한다. 이때, 제2 그룹핑 모듈(164)은 제1 서브 그룹의 학습 문항(Q1-1) 및 제2 서브 그룹의 학습 문항(Q2-1)을 그룹핑하여 제1-1 지식 그룹으로 분류하고, 제1 서브 그룹의 학습 문항(Q1-3) 및 제2 서브 그룹의 학습 문항(Q2-2)을 그룹핑하여 제1-2 지식 그룹으로 분류하고, 제1 서브 그룹의 학습 문항(Q1-2) 및 제2 서브 그룹의 학습 문항(Q2-3)을 그룹핑하여 제1-3 지식 그룹으로 분류하는 것을 일례로 한다.
도 14를 참조하면, 문항 분류 모듈(162)이 제1 지식 그룹에 속한 복수의 학습 문항을 3개의 제1 서브 그룹 및 3개의 제2 서브 그룹으로 분류한 것으로 가정하면, 제2 그룹핑 모듈(164)은 두개의 제1 서브 그룹에 속한 학습 문항들(Q1-1, Q1-2)과 하나의 제2 서브 그룹에 속한 학습 문항들(Q2-1)을 재 그룹핑하여 제1-1 지식 그룹으로 분류하고, 하나의 제1 서브 그룹에 속한 학습 문항들(Q1-3)과 두개의 제2 서브 그룹에 속한 학습 문항들(Q2-2, Q2-3)을 재 그룹핑하여 제1-2 지식 그룹으로 분류하는 것을 다른 일례로 한다.
도 15를 참조하면, 문항 분류 모듈(162)이 제1 지식 그룹에 속한 복수의 학습 문항을 2개의 제1 서브 그룹 및 3개의 제2 서브 그룹으로 분류한 것으로 가정하면, 제2 그룹핑 모듈(164)은 하나의 제1 서브 그룹에 속한 학습 문항들(Q1-1)과 하나의 제2 서브 그룹에 속한 학습 문항들(Q2-1)을 재 그룹핑하여 제1-1 지식 그룹으로 분류하고, 하나의 제1 서브 그룹에 속한 학습 문항들(Q1-2)과 두개의 제2 서브 그룹에 속한 학습 문항들(Q2-2, Q2-3)을 재 그룹핑하여 제1-2 지식 그룹으로 분류하는 것을 다른 일례로 한다.
제2 그룹핑 모듈(164)은 재 그룹핑된 지식 그룹들의 문항 정오답률을 산출한다. 제2 그룹핑 모듈(164)은 재 그룹핑된 지식 그룹들의 문항 정오답률과 기준 정오답률을 비교하여 재 그룹핑 승인 여부를 판단한다.
제2 그룹핑 모듈(164)은 문항 정오답률이 기준 정오답률을 벗어나면 재 그룹핑을 다시 수행한다. 제2 그룹핑 모듈(164)은 문항 정오답률이 기준 정오답률 이내이면 재 그룹핑 승인으로 판단하고, 지식 개념 네이밍 요청 신호를 생성하여 네이밍 모듈(180)로 전송한다.
네이밍 모듈(180)은 판단 모듈(140) 또는 제2 클러스터링 모듈(160)의 지식 개념 네이밍 요청 신호에 응답하여 지식 그룹의 대표 지식 개념을 네이밍한다. 네이밍 모듈(180)은 판단 모듈(140)의 지식 개념 네이밍 요청 신호에 응답하여 제1 클러스터링 모듈(120)에서 분류한 각 지식 그룹에 설정된 대표 지식 개념을 네이밍한다. 네이밍 모듈(180)은 제2 클러스터링 모듈(160)의 지식 개념 네이밍 요청 신호에 응답하여 제2 클러스터링 모듈(160)에서 분류한 각 지식 그룹에 설정된 대표 지식 개념을 네이밍한다.
네이밍 모듈(180)은 지식 그룹에 속한 학습 문항들의 메타 정보를 분석하여 지식 그룹에 매칭된 대표 지식 개념을 네이밍한다. 네이밍 모듈(180)은 지식 그룹에 속하는 학습 문항들의 메타 정보를 이용하여 지식 개념을 아우르는 개념어를 추출하고, 추출한 개념어를 해당 지식 그룹의 대표 지식 개념으로 네이밍한다.
네이밍 모듈(180)은 학습 문항의 메타 정보에 포함된 텍스트 정보에 대한 자연어 처리를 통해 지식 개념에 개념어를 설정하여 지식 개념을 네이밍할 수 있다. 네이밍 모듈(180)은 빈출 단어(키워드), 각 문항별로 유사도가 높게 나타나는 단어 등을 개념어로 추출하고, 추출한 복수의 개념어 중에 가장 빈도가 높거나 유사도가 가장 높게 나타나는 개념어를 해당 지식 개념의 네이밍으로 설정한다.
일례로, 네이밍 모듈(180)은 지식 그룹에 속한 학습 문항들의 메타 정보에 '연립방정식'이 높은 빈도로 등장하거나, 각 학습 문항에서 가장 유사하게 나타나는 용어가 '연립방정식'이면 지식 그룹의 대표 지식 개념을 '연립방정식'으로 네이밍한다.
도 16을 참조하면, 본 발명의 실시 예에 따른 학습 문항 클러스터링 방법은 1차 클러스터링 단계(S100), 2차 클러스터링 진행 여부 판단 단계(S200), 2차 클러스터링 단계(S300) 및 지식 개념 네이밍 단계(S400)를 포함하여 구성된다.
1차 클러스터링 단계(S100)는 상술한 학습 문항 클러스터링 장치(100)의 제1 클러스터링 모듈(120)에 의해 수행된다. 1차 클러스터링 단계(S100)에서는 클러스터링 대상인 학습 문항들의 메타 정보, 관리자/사용자가 원하는 지식 개념 개수를 딥러닝 학습 문항 클러스터링 모델에 투입하여 지식 개념을 기준으로 학습 문항들을 클러스터링한다. 1차 클러스터링 단계(S100)에서는 학습 문항들의 클러스터링을 통해 하나 이상의 지식 그룹을 생성하며, 지식 그룹에 대표 지식 개념을 설정한다.
도 17을 참조하면, 1차 클러스터링 단계(S100)는 메타 정보 입력 단계(S110), 지식 개념 개수 입력 단계(S120), 지식 개념 생성 단계(S130), 확률값 산출 단계(S140), 대표 지식 개념 설정 단계(S150) 및 학습 문항 1차 그룹핑 단계(S160) 를 포함하여 구성된다.
메타 정보 입력 단계(S110)에서는 클러스터링 대상인 학습 문항들의 메타 정보를 입력받는다. 메타 정보 입력 단계(S110)에서는 클러스터링 대상인 복수의 학습 문항들 각각의 메타 정보를 입력받는다. 이때, 메타 정보 입력 단계(S110)에서는 각 학습 문항에 포함된 텍스트 정보 및 이미지 정보를 포함한 메타 정보를 입력받는다. 메타 정보 입력 단계(S110)에서는 학습 문항에 부여된 고유 식별자인 문항 코드 및 학습 문항이 매칭된 단원명을 더 포함하는 메타 정보를 입력받을 수 있다.
지식 개념 개수 입력 단계(S120)에서는 학습 문항을 클러스터링하는데 기준이 되는 지식 개념의 개수인 지식 개념 개수를 입력받는다. 지식 개념 개수 입력 단계(S120)에서는 관리자/사용자가 원하는 지식 개념의 개수인 지식 개념 개수를 입력받는다.
지식 개념 생성 단계(S130)에서는 S120 단계에서 입력받은 지식 개념 개수에 대응하는 개수의 지식 개념을 생성한다. 지식 개념 생성 단계(S130)에서는 학습 문항을 클러스터링하기 위한 복수의 지식 개념을 설정하되, S120 단계에서 입력된 지식 개념 대수에 대응하는 개수의 지식 개념을 설정한다.
지식 개념 생성 단계(S130)에서는 네이밍이 되지 않은 지식 개념을 생성하며, 지식 개념의 구분을 위해 문자, 숫자, 특수 기호 등을 조합한 텍스트로 지식 개념을 임시 네이밍한다.
확률값 산출 단계(S140)에서는 S110 단계에서 입력받은 메타 정보와 S130 단계에서 생성된 지식 개념을 기반으로 한 딥러닝을 통해 학습 문항이 지식 개념에 속할 확률값을 산출한다. 확률값 산출 단계(S140)에서는 각 학습 문항이 S130 단계에서 생성된 지식 개념들 각각에 속할 확률값을 산출한다.
확률값 산출 단계(S140)에서는 S110 단계에서 입력받은 메타 정보와 S130 단계에서 설정한 지식 개념들을 딥러닝 학습 문항 클러스터링 모델에 투입하여 각각의 학습 문항이 각각의 지식 개념에 속할 확률값을 산출한다. 이때, 확률값 산출 단계(S140)에서는 딥러닝 기반의 문항 클러스터링 모델인 DKVMN(Dynamic Key-Value Memory Networks) 모델에 메타 정보 및 지식 개념을 투입하여 확률값을 산출하는 것을 일례로 한다.
대표 지식 개념 설정 단계(S150)에서는 S150 단계에서 산출한 확률값을 근거로 학습 문항들 각각의 대표 지식 개념을 설정한다. 대표 지식 개념 설정 단계(S150)에서는 확률값이 가장 높은 지식 개념을 학습 문항의 대표 지식 개념으로 설정한다.
학습 문항 1차 그룹핑 단계(S160)에서는 학습 문항에 설정된 대표 지식 개념을 기준으로 복수의 학습 문항을 그룹핑(클러스터링)한다. 학습 문항 1차 그룹핑 단계(S160)에서는 대표 지식 개념이 동일한 학습 문항들을 동일한 지식 그룹으로 분류하여 학습 문항들을 1차 클러스터링한다.
제1 클러스터링 모듈(120)은 학습 문항들의 1차 클러스터링을 완료한 후 그룹핑 정보를 포함한 클러스터링 완료 신호를 생성하여 판단 모듈(140)로 전송한다. 여기서, 그룹핑 정보는 학습 문항들, 학습 문항들이 속한 지식 그룹, 지식 그룹에 설정된 대표 지식 개념을 포함하는 것을 일례로 한다.
2차 클러스터링 진행 여부 판단 단계(S200)는 상술한 학습 문항 클러스터링 장치(100)의 판단 모듈(140)에 의해 수행되며, 제1 클러스터링 모듈(120)의 클러스터링 완료 신호에 응답하여 2차 클러스터링 진행 여부를 판단한다.
2차 클러스터링 진행 여부 판단 단계(S200)는 지식 그룹의 문항 정오답률이 기준 정오답률을 벗어나면 2차 클러스터링으로 판단한다. 2차 클러스터링 진행 여부 판단 단계(S200)는 지식 그룹의 문항 정오답률이 기준 정오답률 이내이면 지식 개념 네이밍으로 판단한다.
도 18을 참조하면, 2차 클러스터링 진행 여부 판단 단계(S200)는 기준 정오답률 설정 단계(S210), 문항 정오답률 설정 단계(S220), 재 클러스터링 판단 단계(S230), 재 클러스터링 요청 단계(S240) 및 지식 개념 네이밍 요청 단계(S250)를 포함한다.
기준 정오답률 설정 단계(S210)에서는 제1 클러스터링 모듈(120)의 클러스터링 완료 신호에 응답하여 지식 그룹에 설정된 대표 지식 개념의 기준 정오답률을 설정한다. 기준 정오답률 설정 단계(S210)에서는 관리자/사용자로부터 지식 개념에 대한 예측 정오답률을 입력받고, 입력받은 예측 정오답률을 기준 정오답률로 설정한다.
기준 정오답률 설정 단계(S210)에서는 관리자/사용자로부터 예측 정오답률과 함께 오차 범위(오차값)를 더 입력받을 수 있다.
기준 정오답률 설정 단계(S210)에서는 관리자/사용자로부터 최소값 및 최대값을 갖는 범위의 예측 정오답률을 입력받을 수도 있다.
기준 정오답률 설정 단계(S210)에서는 학습 문항별로 기준 정오답률을 설정하고, 동일한 지식 그룹에 속한 학습 문항들의 기준 정오답률 평균값을 지식 그룹의 기준 정오답률로 설정할 수도 있다.
문항 정오답률 설정 단계(S220)에서는 학습자의 학습 문항 풀이 이력을 기준으로 문항 정오답률을 설정한다. 문항 정오답률 설정 단계(S220)에서는 지식 그룹에 속한 학습 문항에 대한 학습자들의 학습 이력을 기준으로 각 학습 문항에 대한 정답률 및/또는 오답률을 산출한다. 문항 정오답률 설정 단계(S220)에서는 지식 그룹에 속한 학습 문항들의 정오답률 평균값을 산출하고, 이를 문항 정오답률로 설정한다.
재 클러스터링 판단 단계(S230)에서는 S210 단계에서 설정된 기준 정오답률과 S220 단계에서 설정된 문항 정오답률을 기반으로 2차 클러스터링 진행 여부를 판단한다.
재 클러스터링 판단 단계(S230)에서는 문항 정오답률과 기준 정오답률의 차이가 오차 범위를 벗어나면 2차 클러스터링 진행으로 판단한다. 재 클러스터링 판단 단계(S230)에서는 기준 정오답률이 범위로 설정된 경우 문항 정오답률이 기준 정오답률 범위를 벗어나면 2차 클러스터링 진행으로 판단할 수도 있다.
재 클러스터링 판단 단계(S230)에서는 문항 정오답률과 기준 정오답률의 차이가 오차 범위 이내이면 지식 개념 네이밍으로 판단한다. 재 클러스터링 판단 단계(S230)에서는 문항 정오답률이 기준 정오답률 범위 이내의 값이면 지식 개념 네이밍으로 판단할 수도 있다.
S230 단계에서 2차 클러스터링 진행으로 판단하면, 재 클러스터링 요청 단계(S240)에서는 재 클러스터링 요청 신호를 생성하여 2차 클러스터링 모듈로 전송한다.
S230 단계에서 지식 개념 네이밍으로 판단하면, 지식 개념 네이밍 요청 단계(S250)에서는 지식 개념 네이밍 요청 신호를 생성하여 네이밍 모듈(180)로 전송한다.
2차 클러스터링 단계(S300)는 제2 클러스터링 모듈(160)에 의해 수행된다. 2차 클러스터링 단계(S300)에서는 S240 단계의 재 클러스터링 요청 신호에 응답하여 하나의 지식 그룹에 속한 학습 문항들을 재 클러스터링한다.
2차 클러스터링 단계(S300)에서는 학습 문항들을 문항 정답률이 높은 제1 그룹과 문항 오답률이 높은 제2 그룹으로 분류하고, 각 그룹으로 분류된 학습 문항들 사이의 유사도를 기반으로 학습 문항들을 복수의 서브 그룹으로 분류한다.
2차 클러스터링 단계(S300)에서는 제1 그룹의 서브 그룹과 제2 그룹의 서브 그룹을 재 그룹핑하여 지식 그룹의 문항 정오답률이 기준 정오답률 내에 포함되도록 한다. 2차 클러스터링 단계(S300)에서는 재 그룹핑된 그룹의 문항 정오답률이 기준 정오답률 내이면 그룹핑 승인으로 판단하고, 지식 개념 네이밍 요청 신호를 생성하여 네이밍 모듈(180)로 전송한다.
2차 클러스터링 단계(S300)에서는 지식 개념의 문항 정오답률이 기준 정오답률을 벗어나면 재 그룹핑으로 판단하고, 그룹의 문항 정오답률이 기준 정오답률 내에 포함될 때까지 상술한 재 그룹핑 과정을 반복한다.
도 19를 참조하면, 2차 클러스터링 단계(S300)는 학습 문항 분류 단계(S310), 학습 문항 유사도 산출 단계(S320), 서브 그룹 분류 단계(S330), 서브 그룹 그룹핑 단계(S340), 문항 정오답률 재 산출 단계(S350), 재 그룹핑 승인 단계(S360) 및 지식 개념 네이밍 요청 단계(S370)를 포함한다.
학습 문항 분류 단계(S310)에서는 S240 단계의 재 클러스터링 요청 신호에 응답하여 하나의 지식 그룹에 속한 학습 문항들을 2개의 그룹으로 구분한다. 학습 문항 분류 단계(S310)에서는 지식 그룹에 속한 학습 문항들의 문항 정오답률을 기준으로 학습 문항을 2개의 그룹으로 분류하되, 하나의 지식 그룹에 속한 학습 문항들을 문항 정답률이 높은 제1 그룹과 문항 오답률이 높은 제2 그룹으로 분류한다.
학습 문항 유사도 산출 단계(S320)에서는 S310 단계에서 제1 그룹으로 분류된 학습 문항들 사이의 유사도를 산출한다. 학습 문항 유사도 산출 단계(S320)에서는 S310 단계에서 제2 그룹으로 분류된 학습 문항들의 사이의 유사도를 산출한다.
학습 문항 유사도 산출 단계(S320)에서는 딥러닝 모델에 메타 정보를 투입하여 학습 문항들 사이의 유사도를 산출할 수 있다. 학습 문항 유사도 산출 단계(S320)에서는 자연어 처리 기술의 일종인 자카드 유사도(Jaccard Similarity), 유클리디언 유사도(Euclidean Similarity), 맨하탄 유사도(Manhattan Similarity), 코사인 유사도(Cosine Similarity) 등을 통해 학습 문항들 사이의 유사도를 산출할 수도 있다.
서브 그룹 분류 단계(S330)에서는 유사도를 기반으로 제1 그룹으로 분류된 학습 문항들을 복수의 제1 서브 그룹으로 분류한다. 서브 그룹 분류 단계(S330)에서는 유사도를 기반으로 제2 그룹으로 분류된 학습 문항들을 복수의 제2 서브 그룹으로 분류한다.
서브 그룹 그룹핑 단계(S340)에서는 S330 단계에서 분류된 복수의 제1 서브 그룹과 복수의 제2 서브 그룹을 그룹핑하여 지식 그룹을 재 그룹핑한다. 서브 그룹 그룹핑 단계(S340)에서는 복수의 제1 서브 그룹 중에서 하나 이상과 복수의 제2 서브 그룹 중에서 하나 이상을 포함하도록 재 그룹핑한다. 이때, 서브 그룹 그룹핑 단계(S340)에서는 하나의 지식 그룹에 속한 학습 문항들을 둘 이상의 지식 그룹으로 재 그룹핑한다.
문항 정오답률 재 산출 단계(S350)에서는 재 그룹핑된 지식 그룹들의 문항 정오답률을 산출한다.
재 그룹핑 승인 단계(S360)에서는 재 그룹핑된 지식 그룹들의 문항 정오답률과 기준 정오답률을 비교하여 재 그룹핑 승인 여부를 판단한다. 재 그룹핑 승인 단계(S360)에서는 문항 정오답률이 기준 정오답률 이내이면 재 그룹핑 승인으로 판단한다.
재 그룹핑 승인 단계(S360)에서 승인으로 판단하면, 네이밍 요청 단계(S370)에서는 지식 개념 네이밍 요청 신호를 생성하여 네이밍 모듈(180)로 전송한다.
한편, 재 그룹핑 승인 단계(S360)에서는 문항 정오답률이 기준 정오답률을 벗어나면 미승인으로 판단하고, S340 단계 내지 S360 단계를 재수행한다.
지식 개념 네이밍 단계(S400)에서는 S250 단계 또는 S370 단계의 지식 개념 네이밍 요청 신호에 응답하여 지식 그룹의 대표 지식 개념을 네이밍한다.
지식 개념 네이밍 단계(S400)에서는 S250 단계의 지식 개념 네이밍 요청 신호에 응답하여 S160 단계에서 분류된 각 지식 그룹에 설정된 대표 지식 개념을 네이밍한다. 지식 개념 네이밍 단계(S400)에서는 S370 단계의 지식 개념 네이밍 요청 신호에 응답하여 S340 단계에서 재 분류된 각 지식 그룹에 설정된 대표 지식 개념을 네이밍한다.
지식 개념 네이밍 단계(S400)에서는 지식 그룹에 속한 학습 문항들의 메타 정보를 분석하여 지식 그룹에 매칭된 대표 지식 개념을 네이밍한다. 지식 개념 네이밍 단계(S400)에서는 지식 그룹에 속하는 학습 문항들의 메타 정보를 이용하여 지식 개념을 아우르는 개념어를 추출하고, 추출한 개념어를 해당 지식 그룹의 대표 지식 개념으로 네이밍한다.
지식 개념 네이밍 단계(S400)에서는 학습 문항의 메타 정보에 포함된 텍스트 정보에 대한 자연어 처리를 통해 지식 개념에 개념어를 설정하여 지식 개념을 네이밍할 수 있다. 지식 개념 네이밍 단계(S400)에서는 빈출 단어(키워드), 각 문항별로 유사도가 높게 나타나는 단어 등을 개념어로 추출하고, 추출한 복수의 개념어 중에 가장 빈도가 높거나 유사도가 가장 높게 나타나는 개념어를 해당 지식 개념의 네이밍으로 설정한다.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
이상에서 여러 실시예들을 설명했으나, 다양한 변형을 할 수 있다는 것을 이해해야 한다. 예를 들어 설명된 기술들이 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 요소들이 다른 방식으로 결합되거나, 다른 요소 또는 균등물에 의하여 대치되거나 보충되더라도 적절한 결과가  달성될 수 있다. 따라서, 다른 구현들도 후술하는 특허청구범위의 범위에 속한다.
100: 학습 문항 클러스터링 장치
120: 제1 클러스터링 모듈 121: 입력 모듈
123: 지식 개념 생성 모듈 125: 확률값 산출 모듈
127: 대표 지식 개념 설정 모듈 129: 제1 그룹핑 모듈
140: 판단 모듈 142: 기준 정오답률 설정 모듈
144: 문항 정오답률 설정 모듈 146: 재 그룹핑 판단 모듈
160: 제2 클러스터링 모듈 162: 문항 분류 모듈
164: 제2 그룹핑 모듈 180: 네이밍 모듈

Claims (20)

  1. 학습 문항 클러스터링의 분류 기준이 되는 지식 개념 개수의 입력에 응답하여 상기 지식 개념 개수에 대응하는 복수의 지식 개념을 설정하고, 클러스터링 대상인 복수의 학습 문항의 메타 정보의 입력에 응답하여 상기 복수의 지식 개념과 상기 메타 정보를 근거로 학습 문항이 상기 복수의 지식 개념 각각에 속할 확률값을 산출하고, 상기 확률값이 가장 높은 지식 개념을 학습 문항의 대표 지식 개념으로 설정하고, 동일한 대표 지식 개념을 갖는 학습 문항이 속하는 지식 그룹을 생성하는 제1 클러스터링 모듈; 및
    상기 제1 클러스터링 모듈에서 생성한 상기 지식 그룹에 속한 학습 문항의 메타 정보를 근거로 상기 지식 그룹의 대표 지식 개념을 네이밍하는 네이밍 모듈을 포함하는 학습 문항 클러스터링 장치.
  2. 제1항에 있어서,
    상기 제1 클러스터링 모듈은,
    상기 지식 개념 개수의 입력에 응답하여 상기 지식 개념 개수를 포함한 지식 개념 생성 요청 신호를 전송하고, 상기 메타 정보의 입력에 응답하여 상기 복수의 학습 문항의 메타 정보를 포함한 확률값 산출 요청 신호를 전송하는 입력 모듈;
    상기 입력 모듈의 지식 개념 생성 요청 신호에 응답하여 상기 지식 개념 개수에 대응하는 개수의 지식 개념을 생성하고, 상기 지식 개념을 포함한 확률값 산출 요청을 전송하는 지식 개념 생성 모듈;
    상기 입력 모듈의 확률값 산출 요청에 응답하여 상기 확률값 산출 요청으로부터 메타 정보를 검출하고, 상기 지식 개념 생성 모듈의 확률값 산출 요청에 응답하여 상기 확률값 산출 요청으로부터 상기 복수의 지식 개념을 검출하고, 상기 메타 정보 및 상기 복수의 지식 개념을 딥러닝 학습 문항 클러스터링 모델에 투입하여 학습 문항이 복수의 지식 개념 각각에 속할 확률값을 산출하고, 상기 확률값을 포함한 대표 지식 개념 설정 요청 신호를 전송하는 확률값 산출 모듈;
    상기 확률값 산출 모듈의 대표 지식 개념 설정 요청 신호에 응답하여 상기 대표 지식 개념 설정 요청 신호로부터 확률값을 검출하고, 가장 높은 확률값을 갖는 지식 개념을 학습 문항의 대표 지식 개념으로 설정하고, 대표 지식 개념이 설정된 학습 문항을 포함한 그룹핑 요청 신호를 전송하는 대표 지식 개념 설정 모듈; 및
    상기 대표 지식 개념 설정 모듈의 그룹핑 요청 신호에 응답하여 상기 그룹핑 요청 신호로부터 학습 문항 및 대표 지식 개념을 검출하고, 동일한 대표 지식 개념이 설정된 학습 문항들을 하나의 지식 그룹으로 그룹핑하는 제1 그룹핑 모듈을 포함하는 학습 문항 클러스터링 장치.
  3. 제1항에 있어서,
    상기 제1 클러스터링 모듈은 상기 지식 그룹을 생성한 후 클러스터링 완료 신호를 전송하고,
    상기 제1 클러스터링 모듈의 클러스터링 완료 신호에 응답하여 기준 정오답률과 상기 지식 그룹의 문항 정오답률을 설정하고, 상기 기준 정오답률과 상기 문항 정오답률을 근거로 2차 클러스터링 진행 여부를 판단하는 판단 모듈을 더 포함하는 학습 문항 클러스터링 장치.
  4. 제3항에 있어서,
    상기 판단 모듈은,
    상기 지식 그룹에 포함된 학습 문항들에 대한 예측 정오답률의 입력에 응답하여 상기 예측 정오답률을 상기 기준 정오답률로 설정하고, 상기 지식 그룹에 속한 학습 문항들의 정오답률을 근거로 상기 문항 정오답률을 설정하고,
    상기 기준 정오답률 및 상기 문항 정오답률을 근거로 2차 클러스터링 진행 및 지식 개념 네이밍 중에서 하나로 판단하는 학습 문항 클러스터링 장치.
  5. 제4항에 있어서,
    상기 판단 모듈은,
    상기 지식 그룹의 문항 정오답률이 상기 기준 정오답률 이내의 값이면 지식 개념 네이밍으로 판단하고, 지식 개념 네이밍 요청 신호를 상기 네이밍 모듈로 전송하는 학습 문항 클러스터링 장치.
  6. 제4항에 있어서,
    상기 판단 모듈은,
    상기 지식 그룹의 문항 정오답률이 상기 기준 정오답률을 벗어나는 값이면 2차 클러스터링 진행으로 판단하고, 재 클러스터링 요청 신호를 전송하는 학습 문항 클러스터링 장치.
  7. 제4항에 있어서,
    2차 클러스터링 진행으로 판단한 상기 판단 모듈의 재 클러스터링 요청 신호에 응답하여 문항 정오답률을 기준으로 지식 그룹에 속한 학습 문항들을 복수의 서브 그룹으로 분류하고, 둘 이상의 서브 그룹을 그룹핑하여 상기 지식 그룹을 두개 이상의 지식 그룹으로 재 그룹핑하는 제2 클러스터링 모듈을 더 포함하는 학습 문항 클러스터링 장치.
  8. 제7항에 있어서,
    상기 제2 클러스터링 모듈은 재 그룹핑된 지식 그룹의 문항 정오답률이 기준 정오답률 이내의 값을 갖도록 상기 복수의 서브 그룹을 그룹핑하는 학습 문항 클러스터링 장치.
  9. 제7항에 있어서,
    상기 제2 클러스터링 모듈은,
    상기 판단 모듈의 재 클러스터링 요청 신호에 응답하여 지식 그룹에 속한 학습 문항들 중에서 정답률이 높은 학습 문항들을 제1 그룹으로 분류하고, 오답률이 높은 학습 문항들을 제2 그룹으로 분류하고, 상기 제1 그룹으로 분류된 학습 문항들 사이의 유사도를 기준으로 상기 제1 그룹에 속한 학습 문항들을 복수의 제1 서브 그룹으로 분류하고, 상기 제2 그룹으로 분류된 학습 문항들 사이의 유사도를 기준으로 상기 제2 그룹에 속한 학습 문항들을 복수의 제2 서브 그룹으로 분류한 후 재 그룹핑 요청 신호를 전송하는 문항 분류 모듈; 및
    상기 문항 분류 모듈의 재 그룹핑 요청 신호에 응답하여 하나 이상의 제1 서브 그룹과 하나 이상의 제2 서브 그룹을 그룹핑하여 상기 지식 그룹을 두개 이상의 지식 그룹으로 재 그룹핑하는 제2 그룹핑 모듈을 포함하는 학습 문항 클러스터링 장치.
  10. 제9항에 있어서,
    상기 제2 그룹핑 모듈은 재 그룹핑된 지식 그룹들의 문항 정오답률이 기준 정오답률 이내의 값이면 그룹핑 승인으로 판단하고, 지식 개념 네이밍 요청 신호를 상기 네이밍 모듈로 전송하는 학습 문항 클러스터링 장치.
  11. 학습 문항 클러스터링 장치에 의해 수행되는 학습 문항 클러스터링 방법에 있어서,
    클러스터링 대상인 복수의 학습 문항의 메타 정보 및 지식 개념 개수의 입력에 응답하여 지식 개념을 기준으로 상기 복수의 학습 문항을 복수의 지식 그룹으로 분류하는 1차 클러스터링 단계; 및
    상기 1차 클러스터링 단계에서 분류된 상기 복수의 지식 그룹의 기준 정오답률과 문항 정오답률을 근거로 2차 클러스터링 진행 여부를 판단하는 2차 클러스터링 진행 여부 판단 단계;
    상기 2차 클러스터링 진행 여부 판단 단계에서 재 클러스터링으로 판단하면 문항 정오답률을 기준으로 지식 그룹에 속한 학습 문항들을 복수의 서브 그룹으로 분류하고, 둘 이상의 서브 그룹을 그룹핑하여 상기 지식 그룹을 두개 이상의 지식 그룹으로 재 그룹핑하는 2차 클러스터링 단계; 및
    상기 1차 클러스터링 단계 또는 상기 2차 클러스터링 단계에서 생성된 지식 그룹에 속한 학습 문항의 메타 정보를 근거로 상기 지식 그룹의 대표 지식 개념을 네이밍하는 단계를 포함하는 학습 문항 클러스터링 방법.
  12. 제11항에 있어서,
    상기 1차 클러스터링 단계는,
    상기 복수의 학습 문항의 메타 정보를 입력받는 메타 정보 입력 단계;
    지식 개념 개수를 입력받는 지식 개념 개수 입력 단계;
    상기 지식 개념 개수 입력 단계에서 입력받은 상기 지식 개념 개수에 대응하는 지식 개념을 생성하는 지식 개념 생성 단계;
    상기 메타 정보를 입력받는 단계에서 입력받은 메타 정보와 상기 지식 개념을 생성하는 단계에서 생성된 지식 개념을 근거로 학습 문항이 상기 복수의 지식 개념 각각에 속할 확률값을 산출하는 확률값 산출 단계;
    상기 복수의 학습 문항에 대표 지식 개념을 설정하되, 상기 확률값 산출 단계에서 산출한 확률값이 가장 높은 지식 개념을 학습 문항의 대표 지식 개념으로 설정하는 대표 지식 개념 설정 단계; 및
    상기 대표 지식 개념 설정 단계에서 설정된 대표 지식 개념을 근거로 상기 복수의 학습 문항을 복수의 지식 그룹으로 분류하되, 대표 지식 개념이 동일한 학습 문항들을 하나의 지식 그룹으로 분류하는 1차 그룹핑 단계를 포함하는 학습 문항 클러스터링 방법.
  13. 제11항에 있어서,
    상기 2차 클러스터링 진행 여부 판단 단계는,
    상기 1차 클러스터링 단계에서 분류된 상기 복수의 지식 그룹에 기준 정오답률을 설정하되, 지식 그룹에 설정된 대표 지식 개념에 포함된 학습 문항들에 대한 예측 정오답률을 기준 정오답률로 설정하는 기준 정오답률 설정 단계;
    학습 문항 풀이 이력을 근거로 상기 복수의 지식 그룹에 문항 정오답률을 설정하는 문항 정오답률 설정 단계; 및
    상기 기준 정오답률 설정 단계에서 설정된 기준 정오답률과 상기 문항 정오답률 설정 단계에서 설정된 문항 정오답률을 근거로 2차 클러스터링 진행 여부를 판단하는 재 클러스터링 판단 단계를 포함하는 학습 문항 클러스터링 방법.
  14. 제13항에 있어서,
    상기 재 클러스터링 판단 단계에서는 지식 그룹의 문항 정오답률이 기준 정오답률 이내의 값이면 지식 개념 네이밍으로 판단하고,
    상기 2차 클러스터링 진행 여부 판단 단계는 상기 재 클러스터링 판단 단계에서 지식 개념 네이밍으로 판단하면 지식 개념 네이밍 요청 신호를 전송하는 단계를 더 포함하는 학습 문항 클러스터링 방법.
  15. 제13항에 있어서,
    상기 재 클러스터링 판단 단계에서는 지식 그룹의 문항 정오답률이 기준 정오답률을 벗어나는 값이면 2차 클러스터링 진행으로 판단하고,
    상기 2차 클러스터링 진행 여부 판단 단계는 상기 재 클러스터링 판단 단계에서 1차 클러스터링 진행으로 판단하면 재 클러스터링 요청 신호를 전송하는 단계를 더 포함하는 학습 문항 클러스터링 방법.
  16. 제11항에 있어서,
    상기 2차 클러스터링 단계는,
    문항 정오답률을 근거로 지식 그룹에 속한 학습 문항들을 제1 그룹 및 제2 그룹으로 분류하는 학습 문항 분류 단계;
    상기 학습 문항 분류 단계에서 상기 제1 그룹으로 분류된 학습 문항들 사이의 유사도와 상기 학습 문항 분류 단계에서 상기 제2 그룹으로 분류된 학습 문항들 사이의 유사도를 산출하는 학습 문항 유사도 산출 단계;
    상기 학습 문항 유사도 산출 단계에서 산출한 유사도를 근거로 상기 제1 그룹에 속한 학습 문항들을 복수의 제1 서브 그룹으로 분류하고, 상기 제2 그룹에 속한 학습 문항들을 복수의 제2 서브 그룹으로 분류하는 서브 그룹 분류 단계; 및
    상기 복수의 제1 서브 그룹 중에서 하나 이상과 상기 복수의 제2 서브 그룹 중에서 하나 이상을 포함하도록 지식 그룹을 재 그룹핑하는 서브 그룹 그룹핑 단계를 포함하는 학습 문항 클러스터링 방법.
  17. 제16항에 있어서,
    상기 학습 문항 분류 단계에서는 지식 그룹에 속한 학습 문항들 중에서 문항 정답률이 높은 학습 문항을 제1 그룹으로 분류하고, 문항 오답률이 높은 학습 문항을 제2 그룹으로 분류하는 학습 문항 클러스터링 방법.
  18. 제16항에 있어서,
    상기 서브 그룹 그룹핑 단계에서는 재 그룹핑된 지식 그룹의 문항 정오답률이 기준 정오답률 이내의 값을 갖도록 상기 복수의 제1 서브 그룹 및 상기 복수의 제2 서브 그룹을 그룹핑하는 학습 문항 클러스터링 방법.
  19. 제16항에 있어서,
    상기 2차 클러스터링 단계는,
    상기 서브 그룹 그룹핑 단계에서 재 그룹핑된 지식 그룹의 문항 정오답률을 산출하는 문항 정오답률 재 산출 단계; 및
    상기 문항 정오답률 재 산출 단계에서 산출한 문항 정오답률과 기준 정오답률을 근거로 재 그룹핑 승인 여부를 판단하는 재 그룹핑 승인 단계를 더 포함하는 학습 문항 클러스터링 방법.
  20. 제19항에 있어서,
    상기 재 그룹핑 승인 단계에서는 지식 그룹의 문항 정오답률이 기준 정오답률 이내이면 재 그룹핑 승인으로 판단하고,
    상기 2차 클러스터링 단계는 상기 재 그룹핑 승인 단계에서 재 그룹핑 승인으로 판단하면 지식 개념 네이밍 요청 신호를 전송하는 단계를 더 포함하는 학습 문항 클러스터링 방법.
KR1020220086677A 2022-07-14 2022-07-14 학습 문항 클러스터링 장치 및 방법 KR20240009604A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220086677A KR20240009604A (ko) 2022-07-14 2022-07-14 학습 문항 클러스터링 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220086677A KR20240009604A (ko) 2022-07-14 2022-07-14 학습 문항 클러스터링 장치 및 방법

Publications (1)

Publication Number Publication Date
KR20240009604A true KR20240009604A (ko) 2024-01-23

Family

ID=89714015

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220086677A KR20240009604A (ko) 2022-07-14 2022-07-14 학습 문항 클러스터링 장치 및 방법

Country Status (1)

Country Link
KR (1) KR20240009604A (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101816665B1 (ko) 2016-02-25 2018-01-09 (주)뤼이드 객관식 문항 학습 데이터를 분석하는 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101816665B1 (ko) 2016-02-25 2018-01-09 (주)뤼이드 객관식 문항 학습 데이터를 분석하는 방법

Similar Documents

Publication Publication Date Title
CN112685550B (zh) 智能问答方法、装置、服务器及计算机可读存储介质
WO2021115186A1 (zh) 基于ann的程序检测方法和检测系统及应用
CN116263782A (zh) 一种基于题库的智能组卷方法、系统及存储介质
CN111831914A (zh) 一种在线教育的智能推题系统
CN108717459A (zh) 一种面向用户评论信息的移动应用缺陷定位方法
CN110929169A (zh) 基于改进Canopy聚类协同过滤算法的职位推荐方法
CN117056612B (zh) 基于ai辅助的备课资料数据推送方法及系统
WO2021147405A1 (zh) 客服语句质检方法及相关设备
CN117573985A (zh) 一种应用于智能化在线教育系统的信息推送方法及系统
Aguagallo et al. Analysis of Student Performance Applying Data Mining Techniques in a Virtual Learning Environment.
Ohno et al. A two-step in-class source code plagiarism detection method utilizing improved CM algorithm and SIM
CN111339258B (zh) 基于知识图谱的大学计算机基础习题推荐方法
KR20240009604A (ko) 학습 문항 클러스터링 장치 및 방법
CN115774854A (zh) 一种文本分类方法、装置、电子设备和存储介质
Tenriawaru et al. A new model of students participation measurement in e-learning systems based on meaningful learning characteristics: An initial investigation
CN114240705A (zh) 一种题库信息处理方法
KR101245824B1 (ko) 학습 정보를 제공하기 위한 방법, 시스템 및 컴퓨터 판독 가능한 기록 매체
CN112799938A (zh) 一种基于python的microbit编程题目自动评测方法及系统
CN112131427A (zh) 一种练习套题的获取方法及系统
Kang et al. Analyzing answers in threaded discussions using a role-based information network
Eichhorn et al. Question Answering in STACK Applying String Similarity
US11599836B2 (en) Assigning a tutor to a cohort of students
CN113066327B (zh) 一种大学生在线智能教育方法
US20230237603A1 (en) Connecting a tutor with a student
Tian The Improvement Effect of Online Teaching Based on Intelligent Speech Recognition Technology on the Teaching Management Mode in Colleges and Universities

Legal Events

Date Code Title Description
E902 Notification of reason for refusal