KR102129704B1 - 문항 자동 생성 방법 및 시스템 - Google Patents

문항 자동 생성 방법 및 시스템 Download PDF

Info

Publication number
KR102129704B1
KR102129704B1 KR1020200034496A KR20200034496A KR102129704B1 KR 102129704 B1 KR102129704 B1 KR 102129704B1 KR 1020200034496 A KR1020200034496 A KR 1020200034496A KR 20200034496 A KR20200034496 A KR 20200034496A KR 102129704 B1 KR102129704 B1 KR 102129704B1
Authority
KR
South Korea
Prior art keywords
item
similar
model
information
slot
Prior art date
Application number
KR1020200034496A
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 주식회사 보인정보기술
Application granted granted Critical
Publication of KR102129704B1 publication Critical patent/KR102129704B1/ko
Priority to JP2021025379A priority Critical patent/JP7179886B2/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • 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
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B5/00Electrically-operated educational appliances
    • G09B5/02Electrically-operated educational appliances with visual presentation of the material to be studied, e.g. using film strip

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Molecular Biology (AREA)
  • Data Mining & Analysis (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Mathematical Physics (AREA)
  • Evolutionary Computation (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Business, Economics & Management (AREA)
  • Educational Administration (AREA)
  • Educational Technology (AREA)
  • Electrically Operated Instructional Devices (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

문항 자동 생성 방법 및 시스템을 개시한다.
본 실시예는 입력 문항에 대한 문항 유형을 분류한 후 입력 문항 유형과 동일한 유형 내에서 문제풀이 라이브러리와 자연어 처리 모델을 기반으로 유사 문항을 생성하여 제공하는 동시에 입력 문항 유형과 유사한 문형 유형 내에서 교육과정과 학습목표에 기반한 변형 문항을 생성하여 제공하도록 하는 문항 자동 생성 방법 및 시스템을 제공한다.

Description

문항 자동 생성 방법 및 시스템{Method And System for Generating Learning Item}
본 발명의 일 실시예는 문항 자동 생성 방법 및 시스템에 관한 것이다.
이하에 기술되는 내용은 단순히 본 실시예와 관련되는 배경 정보만을 제공할 뿐 종래기술을 구성하는 것이 아니다.
최근 인터넷과 컴퓨터 활용에 따른 다양한 주변환경의 변화를 통하여 교육환경은 빠르게 변화하고 있다. 특히, 다양한 교육매체의 발달로 학습자는 보다 폭넓은 학습방법을 선택하고 이용할 수 있게 되었다. 보다 폭넓은 학습방법 중 인터넷을 이용한 교육 서비스는 시간적, 공간적 제약을 극복하고 저비용의 교육이 가능하다.
최근 들어, e-러닝 관련 기술이 급속한 발달로 인해 제한된 인적/물적 자원으로도 오프라인 교육에서 불가능했던 맞춤형 교육서비스 제공이 가능하다. 예컨대, 학습자의 개성과 능력에 따라 세분화된 수준별 학습을 제공함으로써, 과거의 획일적인 교육 방법에서 탈피하여 학습자의 개인 역량에 따른 교육 콘텐츠를 제공할 수 있다.
하지만, 일반적인 맞춤형 교육서비스는 일방적인 주입식 교육 형태를 취하고 있다. 다시 말해, 일반적인 맞춤형 교육서비스는 강사가 목차 또는 수강자의 수준에 따른 강의를 진행하면, 수강자가 학습과정을 거친 후 평가과정을 통해 학습성과를 확인하는 방식이다.
특히, 수학교육 서비스의 경우, 모든 학습자에게 동일한 형태의 수학 문제가 제시되는 것이 일반적이다. 일반적인 수학교육 서비스는 하나의 수학 문제에 대하여, 문제의 설명에 사용된 수식의 숫자만을 다른 숫자로 랜덤(Random)하게 바꾼 유형의 문제를 제공한다. 전술한 문제 유형 변경 방식은 문제의 설명 내에 숫자만 바꾸기 때문에 문제의 변이 정도가 깊지 않다는 문제가 있다.
본 실시예는 입력 문항에 대한 문항 유형을 분류한 후 입력 문항 유형과 동일한 유형 내에서 문제풀이 라이브러리와 자연어 처리 모델을 기반으로 유사 문항을 생성하여 제공하는 동시에 입력 문항 유형과 유사한 문항 유형 내에서 교육과정과 학습목표에 기반한 변형 문항을 생성하여 제공하도록 하는 문항 자동 생성 방법 및 시스템을 제공하는 데 목적이 있다.
본 실시예의 일 측면에 의하면, 지식공간 DB에 기 저장된 복수의 모델 중 입력받은 입력 문항에 대응하는 모델을 적합 문항 모델로 선별하고, 상기 적합 문항 모델을 기반으로 문항유형 분류정보를 생성하는 문항 모델 선택부; 상기 문항유형 분류정보와 동일한 문항 구조를 가지되, 문항 내 구성요소를 변경한 유사 문항 정보를 생성하고, 상기 유사 문항 정보를 기 설정된 슬롯(Slot) 단위로 구분한 후 상기 슬롯의 내부를 채우는 형태로 상기 유사 문항 정보를 완성하여 출력하는 유사 문항 생성부; 및 상기 문항유형 분류정보와 기 저장된 복수의 모델 간에 매핑된 유사도값을 각각 확인하고, 상기 유사도값을 기반으로 적합 유사유형 문항모델을 선별하고, 상기 적합 유사유형 문항모델과 동일한 문항 구조를 가지되, 문항 내 구성요소를 변경한 변형 문항 정보를 생성하고, 상기 변형 문항 정보를 기 설정된 슬롯(Slot) 단위로 구분한 후 상기 슬롯의 내부를 채우는 형태로 상기 변형 문항 정보를 완성하여 출력하는 변형 문항 생성부;를 포함하는 것을 특징으로 하는 문항자동 생성장치를 제공한다.
본 실시예의 다른 측면에 의하면, 지식공간 DB에 기 저장된 복수의 모델 중 입력받은 입력 문항에 대응하는 모델을 적합 문항 모델로 선별하는 과정; 상기 적합 문항 모델을 기반으로 문항유형 분류정보를 생성하는 과정; 상기 문항유형 분류정보와 동일한 문항 구조를 가지되, 문항 내 구성요소를 변경한 유사 문항 정보를 생성하는 과정; 상기 유사 문항 정보를 기 설정된 슬롯(Slot) 단위로 구분한 후 상기 슬롯의 내부를 채우는 형태로 상기 유사 문항 정보를 완성하여 출력하는 과정; 상기 문항유형 분류정보와 기 저장된 복수의 모델 간에 매핑된 유사도값을 각각 확인하고, 상기 유사도값을 기반으로 적합 유사유형 문항모델을 선별하는 과정; 상기 적합 유사유형 문항모델과 동일한 문항 구조를 가지되, 문항 내 구성요소를 변경한 변형 문항 정보를 생성하는 과정; 및 상기 변형 문항 정보를 기 설정된 슬롯(Slot) 단위로 구분한 후 상기 슬롯의 내부를 채우는 형태로 상기 변형 문항 정보를 완성하여 출력하는 과정;을 포함하는 것을 특징으로 하는 문항자동 생성방법을 제공한다.
이상에서 설명한 바와 같이 본 실시예에 의하면, 입력 문항에 대한 문항 유형을 분류한 후 입력 문항 유형과 동일한 유형 내에서 문제풀이 라이브러리와 자연어 처리 모델을 기반으로 유사 문항을 생성하여 제공하는 동시에 입력 문항 유형과 유사한 문형 유형 내에서 교육과정과 학습목표에 기반한 변형 문항을 생성하여 제공할 수 있는 효과가 있다.
도 1은 본 실시예에 따른 수학 문항 자동 생성 시스템을 개략적으로 나타낸 블럭 구성도이다.
도 2는 본 실시예에 따른 문항자동 생성장치를 개략적으로 나타낸 블럭 구성도이다.
도 3은 본 실시예에 따른 입력 문항을 컨버팅하는 방법을 나타낸 도면이다.
도 4는 본 실시예에 따른 문항 모델 선택부의 동작 과정을 설명하기 위한 순서도이다.
도 5는 본 실시예에 따른 유사 문항 생성부의 동작 과정을 설명하기 위한 순서도이다.
도 6a,6b는 본 실시예에 따른 변형 문항 생성부의 동작 과정을 설명하기 위한 순서도이다.
도 7은 본 실시예에 따른 유사 문항 정보 또는 변형 문항 정보를 나타낸 예시도이다.
이하, 본 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
도 1은 본 실시예에 따른 문항 자동 생성 시스템을 개략적으로 나타낸 블럭 구성도이다.
본 실시예에 따른 문항 자동 생성 시스템은 신규 문항 입력부(110), 자동 분류부(120), 지식공간 DB(130), 문항자동 생성장치(140), 문제 확인부(150)를 포함한다. 문항 자동 생성 시스템에 포함된 구성요소는 반드시 이에 한정되는 것은 아니다.
신규 문항 입력부(110)는 교육과정 변경 또는 학습목표 수정에 따른 신규 문항을 입력받는다. 신규 문항은 교육 과정 및 학습 목표 중 적어도 하나 이상이 매핑되는 카테고리(학년, 학기, 대단원, 소단원, 세부 유형 수준)를 포함하는 메타데이터(Metadata)를 포함한다.
자동 분류부(120)는 신규 문항 입력부(110)로부터 신규 문항을 입력받는다. 자동 분류부(120)는 신규 문항에 포함된 메타데이터를 추출한다. 자동 분류부(120)는 메타데이터에 포함된 정보를 기반으로 신규 문항을 자동으로 분류하여 지식공간 DB(130)에 저장한다.
자동 분류부(120)는 입력된 신규 문항들을 모델링하여 지식공간 DB(130)에 저장한다. 예컨대, 자동 분류부(120)는 지식공간 DB(130)에 중학교 1학년, 3단원, 단원 정보, 모델 넘버에 대한 문항 규격 정보를 모델링한 후 DB화하여 지식공간 DB(130)에 저장한다.
지식공간 DB(130)는 데이터베이스 관리 프로그램(DBMS)을 이용하여 컴퓨터 시스템의 저장공간(하드디스크 또는 메모리)에 구현된 일반적인 데이터구조를 의미한다. 지식공간 DB(130)는 데이터의 검색(추출), 삭제, 편집, 추가 등을 수행할 수 있는 데이터 저장형태를 의미한다. 지식공간 DB(130)에 저장된 정보들은 자신의 기능을 달성하기 위하여 필드(Field) 또는 엘리먼트들을 가진다.
문항자동 생성장치(140)는 지식공간 DB(130)에 기 저장된 복수의 모델 중 입력받은 입력 문항에 대응하는 모델을 적합 문항 모델로 선별하고, 적합 문항 모델을 기반으로 문항유형 분류정보를 생성한다.
문항자동 생성장치(140)는 문항유형 분류정보와 동일한 문항 구조를 가지되, 문항 내 구성요소를 변경한 유사 문항 정보를 생성한다. 문항자동 생성장치(140)는 유사 문항 정보를 기 설정된 슬롯(Slot) 단위로 구분한 후 슬롯의 내부를 채우는 형태로 유사 문항 정보를 완성하여 출력한다.
문항자동 생성장치(140)는 문항유형 분류정보와 기 저장된 복수의 모델 간에 매핑된 유사도값을 각각 확인하고, 유사도값 중 적합하다고 판단되는 적합 유사유형 문항모델을 선별한다. 문항자동 생성장치(140)는 유사유형 문항모델과 동일한 문항 구조를 가지되, 문항 내 구성요소를 변경한 변형 문항 정보를 생성한다. 문항자동 생성장치(140)는 변형 문항 정보를 기 설정된 슬롯(Slot) 단위로 구분한 후 슬롯의 내부를 채우는 형태로 변형 문항 정보를 완성하여 출력한다.
문제 확인부(150)는 문항자동 생성장치(140)에서 출력한 유사 문항 정보 또는 변형 문항 정보가 확인되면, 유사 문항 정보 또는 변형 문항 정보를 자동 분류부(120)로 입력한다. 문제 확인부(150)는 유사 문항 정보 또는 변형 문항 정보를 자동 분류부(120)로 입력하여 유사 문항 정보 또는 변형 문항 정보에 대한 학습이 이루어지도록 한다.
도 2는 본 실시예에 따른 문항자동 생성장치를 개략적으로 나타낸 블럭 구성도이다.
본 실시예에 따른 문항자동 생성장치(140)는 문항 모델 선택부(210), 유사 문항 생성부(220), 변형 문항 생성부(230)를 포함한다. 문항자동 생성장치(140)에 포함된 구성요소는 반드시 이에 한정되는 것은 아니다.
문항자동 생성장치(140)에 포함된 각 구성요소는 장치 내부의 소프트웨어적인 모듈 또는 하드웨어적인 모듈을 연결하는 통신 경로에 연결되어 상호 간에 유기적으로 동작할 수 있다. 이러한 구성요소는 하나 이상의 통신 버스 또는 신호선을 이용하여 통신한다.
도 2에 도시된 문항자동 생성장치(140)의 각 구성요소는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 소프트웨어적인 모듈, 하드웨어적인 모듈 또는 소프트웨어와 하드웨어의 결합으로 구현될 수 있다.
문항 모델 선택부(210)는 기 설정된 포맷으로 구성된 원본 파일(예컨대, HWP 파일 포맷)을 입력받는다.
문항 모델 선택부(210)는 기 설정된 포맷(예컨대, HWP 파일 포맷)을 마크업 양식인 HML 또는 수식 표현 마크업 양식인 MathML(Mathematical Markup Language) 형식으로 인코딩한다. 여기서, MathML은 XML 응용 중 하나로 수학 수식을 표현하고, 그 구조와 내용을 파악하기 위한 마크업 언어를 의미한다. MathML은 월드 와이드 웹 페이지 및 다른 문서들에 수식을 통합하는 것을 목적으로 하며, HTML5의 일부이다.
문항 모델 선택부(210)는 입력 문항에 내포한 메타데이터(Metadata)를 확인한다. 문항 모델 선택부(210)는 지식공간 DB(130) 내에 저장된 복수의 모델에 메타데이터 내의 수학 교육과정에 근거하여 학년, 학기, 대단원, 소단원, 세부 유형 수준 등의 카테고리를 매핑한다.
문항 모델 선택부(210)는 지식공간 DB(130) 내에 저장된 복수의 모델 중 범위가 좁혀진 카테고리에 대응하는 문항 모델을 대상으로 입력된 문항의 자연어를 기반으로 품사를 태깅하고, 수식 정보를 별도로 구성하여 N-gram 기반의 문장 유사도 알고리즘을 이용하여 패턴을 비교하여 분석한다.
문항 모델 선택부(210)는 품사 태깅 시, 딥러닝 기술인 양방향(Bidirectional) LSTM(Long Short-Term Memory Network)-CRF(Conditional Random Field) 모델을 기반으로 한 한국어 품사 태깅 모델을 이용할 수 있으나, 반드시 이에 한정되는 것은 아니다.
문항 모델 선택부(210)는 문장 유사도 측정 시, 4종의 N-gram 토큰을 구성하여 입력 문항에 포함된 문장과 기 저장된 복수의 모델에 포함된 문장의 패턴을 비교한다. 여기서, N-gram은 이웃한 N개의 문자를 의미한다.
문항 모델 선택부(210)는 입력 문항에 포함된 문장과 기 저장된 복수의 모델에 포함된 서로 다른 두 개의 문장을 N-gram으로 비교한 후 출현하는 단어의 종류와 빈도수, 유사도를 확인할 수 있다. 예컨대, 문항 모델 선택부(210)는 ‘오늘 강남에서 맛있는 스파게티를 먹었다.’, ‘강남에서 먹었던 오늘의 스파게티는 맛있었다.’라는 문장이 입력되면, 입력된 문장을 2글자씩 구분한다.
문항 모델 선택부(210)는 입력된 문장을 기 설정된 글자 단위['오늘', '늘', '강', '강남', '남에', '서', '맛', '있는'...], ['강남', '남에', '에서', '어', '먹', '먹었', '던', '오', '오늘'...]로 구분한다.
문항 모델 선택부(210)는 기 설정된 글자 단위로 구분된 문장들을 한 항목씩 비교해서 동일한 항목이 존재할 때마다 카운트(Count)를 + 1씩 증가시킨다. 문항 모델 선택부(210)는 총 카운트를 구분된 문장 배열의 항목 수로 나눠서 유사도를 구한다.
문항 모델 선택부(210)는 입력된 문항 모델과의 학습목표, 문항 유형을 고려하여 적합 문항 모델을 선정하고, 적합 문항 모델을 기반으로 문항 유형과 문항 정보를 도출한다.
문항 모델 선택부(210)는 문항의 슬롯 파싱을 위해, 연속적 레이블링 기법을 적용한 딥러닝 모델 구조인 양방향(Bidirectional) LSTM(Long Short-Term Memory Network)-CRF(Conditional Random Field) 기반의 슬롯 파싱 모델을 이용한다.
문항 모델 선택부(210)는 시스템 호출 시, 설정한 문항 생성 방식에 따라 유사 문항 생성부(220) 또는 변형 문항 생성부(230)로 해당 추출 정보(문항유형 분류정보)를 전달한다. 문항 모델 선택부(210)는 자연어처리 기술을 활용한 입력 문항별 문항 유형 분류기를 이용하여 문항유형 분류정보를 생성한다.
유사 문항 생성부(220)는 교과과정 내의 핵심적인 연산을 수행할 수 있는 문제풀이 라이브러리(문제풀이 엔진 - 가감승제, 난수발생, 소수검증 등)와 문항 유형별 자동생성 알고리즘을 이용하여 변형 수식을 생성한다.
유사 문항 생성부(220)는 어탠션 시퀀스 투 시퀀스(Attention Sequence-to-Sequence) 구조 기반의 문항 표현 변화 모델을 이용하여, 문항의 자연어 표현을 기존과 의미는 유사하지만 표현을 변형한 쌍둥이 문항 구조를 구성한다.
유사 문항 생성부(220)는 유사 문항에 대한 슬롯 필링(Slot Filling)을 수행하여 표현을 변형한 쌍둥이 문항 구조 내의 변형 가능한 수식 슬롯(Slot)에 변형 수식을 채워 쌍둥이 문항을 생성한다. 여기서, 슬롯 필링이란 파라미터가 ‘필수’임에도 값이 채워지지 않았을 때, 해당 ‘파라미터 값’을 채우기 위해서 변수 조건, 변수간의 관계식 등을 사용하여 값을 채우는 과정을 의미한다.
유사 문항 생성부(220)는 시스템 호출 시, 설정한 문항 생성 개수에 따라 쌍둥이 문항을 생성한다.
유사 문항 생성부(220)는 문항 모델 선택부(210)로부터 문항유형 분류정보를 입력받은 후 문항유형 분류정보와 기본적인 문항 구조는 동일하나, 문항 내에서 문장(주어, 동사, 품사) 또는 수식(숫자)의 내용을 변경하거나, 복수의 문장 순서를 변경(치환)하여 유사 문항을 생성한다. 도 7에 도시된 바와 같이, 유사 문항 생성부(220)는 입력 문항과 상이한 새로운 형태의 유사 문항을 생성한다.
유사 문항 생성부(220)는 새로운 유사 문항을 생성한 후 유사 문항이 실제 풀이가 가능한지를 확인하기 위해 기 저장된 문제풀이 라이브러리(예컨대, 수학교과 라이브러리)를 이용하여 유사 문항을 풀어보고, 유사 문항에 대응하는 보기를 바꿔준다.
유사 문항 생성부(220)는 기 저장된 문제풀이 라이브러리(예컨대, 수학교과 라이브러리)를 이용하여 유사 문항을 풀어서 정답을 산출하고, 정답이 해당 문항의 보기 중에 있는지의 여부를 확인한다. 확인 결과, 정답이 해당 문항의 보기 중 없는 경우, 유사 문항 생성부(220)는 정답을 해당 문항의 보기로 삽입하거나 생성한다.
유사 문항 생성부(220)는 유사 문항을 자연어 처리하기 위해 기 설정된 슬롯 단위로 구분한다. 유사 문항 생성부(220)는 새로운 유사 문항을 어디서 어디까지를 하나의 시멘틱(Semantic)으로 판단할 것인지를 판별하기 위해 유사 문항을 기 설정된 슬롯 단위로 구분한다. 유사 문항 생성부(220)는 문항 내에서 문장(주어, 동사, 품사) 또는 수식(숫자)의 내용이 변경된 부분을 고려(명사와 동사가 모순되는지의 여부를 확인)하여 슬롯을 구분한다.
유사 문항 생성부(220)는 새로운 유사 문항 내의 명사와 동사가 모순되는지의 여부를 확인하고, 확인 결과, 명사와 동사가 모순되지 않는 경우, 슬롯 파싱을 수행한다.
유사 문항 생성부(220)는 새로운 유사 문항 내의 변경 또는 치환된 복수의 문장 순서가 모순되는지의 여부를 확인하고, 확인 결과, 변경 또는 치환된 복수의 문장 순서가 모순되지 않는 경우, 슬롯 파싱을 수행한다.
유사 문항 생성부(220)는 새로운 유사 문항 내의 명사와 동사가 모순되는지의 여부를 확인하고, 확인 결과, 명사와 동사가 모순되는 경우, 슬롯 필링을 수행하여 명사와 동사가 모순되지 않도록 명사 또는 동사를 채워서 다른 구문을 생성한다.
유사 문항 생성부(220)는 새로운 유사 문항 내의 변경 또는 치환된 복수의 문장 순서가 모순되는지의 여부를 확인하고, 확인 결과, 변경 또는 치환된 복수의 문장 순서가 모순되는 경우, 슬롯 필링을 수행하여 복수의 문장 내에 접속사를 추가하거나 문장내 조사를 추가(변경)한다.
유사 문항 생성부(220)는 새로운 유사 문항의 정답이 보기 중에 있는 경우 슬롯 파싱을 수행한다. 유사 문항 생성부(220)는 새로운 유사 문항의 정답이 보기 중에 없는 경우, 슬롯 필링을 수행하여 보기 중에 정답 기준으로 보기를 채워넣는다.
변형 문항 생성부(230)는 문항 모델 선택부(210)로부터 문항유형 분류정보를 입력받는다. 변형 문항 생성부(230)는 문항유형 분류정보와 기 저장된 모델간의 유사도값을 기반으로 일정 범위에 해당하는 적합 유사유형 문항 모델을 선별하고, 적합 유사유형 문항 모델과 기본적인 문항 구조는 동일하나, 문항 내에서 문장(주어, 동사, 품사) 또는 수식(숫자)의 내용을 변경하거나, 문장(주어, 동사, 품사) 또는 수식(숫자)의 순서를 변경(치환)하여 변형 문항을 생성한다. 도 7에 도시된 바와 같이, 변형 문항 생성부(230)는 입력 문항 및 유사 문항과 상이한 새로운 형태의 변형 문항을 생성한다.
변형 문항 생성부(230)는 문항 모델 선택부(210)로부터 입력된 문항 모델(문항유형 분류정보)에 대해 문항 유형간 매핑 사전을 이용한 유사유형 문항 리스트를 도출한다.
변형 문항 생성부(230)는 유사유형 문항 리스트를 대상으로, 문항의 메타 정보와 문제풀이 라이브러리를 이용하여, 해당 문항이 내포한 학습목표 및 문항 유형 등을 분석하여 적합 유사유형 문항모델을 선정한다.
변형 문항 생성부(230)는 선정한 적합 유사유형 문항모델에 대한 슬롯 파싱 모델의 분석 결과를 토대로, 문항 유형별 자동생성 알고리즘을 통해 변형 수식을 생성한다.
변형 문항 생성부(230)는 문항 표현 변화 모델을 기반으로 슬롯 필링을 수행하여, 표현을 변화한 유사유형 구조 내의 변형 가능한 수식 슬롯에 생성한 변형 수식을 채워 유사유형 문항을 생성한다. 변형 문항 생성부(230)는 시스템 호출 시, 설정한 문항 생성 개수에 따라 유사유형 문항을 생성한다.
변형 문항 생성부(230)는 문항 모델 선택부(210)로부터 문항유형 분류정보를 입력받는다. 변형 문항 생성부(230)는 문항유형 분류정보를 확인한 결과, 문제 유형이 대소관계를 확인하는 문제 유형으로 확인하는 경우, 문제 유형과 기 저장된 모델의 유사도를 확인한다. 변형 문항 생성부(230)는 기 저장된 모델과 유사도를 매핑하여 유사유형 리스트를 생성한다.
예컨대, 변형 문항 생성부(230)는 문항 유형간 매핑 사전을 이용하여 문항유형 1과 3이 매핑되는 것을 확인하여 해당 유사도가 0.1임을 확인한다. 변형 문항 생성부(230)는 문항 유형간 매핑 사전을 이용하여 문항유형 1과 5가 매핑되는 것을 확인하여 해당 유사도가 0.3임을 확인한다. 변형 문항 생성부(230)는 문항유형과 매핑되는 값을 확인하여 복수의 유사도값을 확인하고 가장 적합하다고 판단되는(예컨대, 0.1의 유사도를 갖는 값)값을 선별한다.
문제풀이 라이브러리를 이용하여 문제를 해를 구하는 과정은 자동 계산이 가능하다. 문제풀이 라이브러리는 숫자가 바뀐 경우, 계산하기 위한 라이브러리를 의미한다. 문제풀이 라이브러리는 수식이 입력되면, 변경된 문제의 답을 계산하는 라이브러리이다.
변형 문항 생성부(230)는 유사유형 리스트를 기반으로 적합 유사유형 정보를 생성한다. 변형 문항 생성부(230)는 적합 유사유형 정보를 기반으로 변형 문항을 생성한다.
변형 문항 생성부(230)는 문항유형 분류정보와 유사한 유형 문항 내에서 문장(주어, 동사, 품사) 또는 수식(숫자)의 내용을 변경하거나, 문장(주어, 동사, 품사) 또는 수식(숫자)의 순서를 변경(치환)하여 변형 문항을 생성한다.
변형 문항 생성부(230)는 변형 문항을 생성한 후 변형 문항이 실제 풀이가 가능한지를 확인하기 위해 기 저장된 문제풀이 라이브러리를 이용하여 유사 문항을 풀어보고, 보기를 바꿔준다.
변형 문항 생성부(230)는 기 저장된 문제풀이 라이브러리를 이용하여 변형 문항을 풀어서 정답을 산출하고, 정답이 해당 문항의 보기 중에 있는지의 여부를 확인한다. 확인 결과, 정답이 해당 문항의 보기 중 없는 경우, 변형 문항 생성부(230)는 정답을 해당 문항의 보기로 삽입하거나 생성한다.
변형 문항 생성부(230)는 변형 문항을 자연어 처리하기 위해 기 설정된 슬롯 단위로 구분한다. 변형 문항 생성부(230)는 변형 문항을 어디서 어디까지를 하나의 시멘틱으로 판단할 것인지를 판별하기 위해 변형 문항을 기 설정된 슬롯 단위로 구분한다. 변형 문항 생성부(230)는 문항 내에서 문장(주어, 동사, 품사) 또는 수식(숫자)의 내용이 변경된 부분을 고려(명사와 동사가 모순되는지의 여부를 확인)하여 슬롯을 구분한다.
변형 문항 생성부(230)는 변형 문항 내의 명사와 동사가 모순되는지의 여부를 확인하고, 확인 결과, 명사와 동사가 모순되지 않는 경우, 슬롯 파싱을 수행한다. 변형 문항 생성부(230)는 변형 문항 내의 변경 또는 치환된 복수의 문장 순서가 모순되는지의 여부를 확인하고, 확인 결과, 변경 또는 치환된 복수의 문장 순서가 모순되지 않는 경우, 슬롯 파싱을 수행한다.
변형 문항 생성부(230)는 변형 문항 내의 명사와 동사가 모순되는지의 여부를 확인하고, 확인 결과, 명사와 동사가 모순되는 경우, 슬롯 필링을 수행하여 명사와 동사가 모순되지 않도록 명사 또는 동사를 채워서 다른 구문을 생성한다. 변형 문항 생성부(230)는 변형 문항 내의 변경 또는 치환된 복수의 문장 순서가 모순되는지의 여부를 확인하고, 확인 결과, 변경 또는 치환된 복수의 문장 순서가 모순되는 경우, 슬롯 필링을 수행하여 복수의 문장 내에 접속사를 추가하거나 문장내 조사를 추가(변경)한다.
변형 문항 생성부(230)는 변형 문항의 정답이 보기 중에 있는 경우 슬롯 파싱을 수행한다. 변형 문항 생성부(230)는 변형 문항의 정답이 보기 중에 없는 경우, 슬롯 필링을 수행하여 보기 중에 정답 기준으로 보기를 채워넣는다.
도 3은 본 실시예에 따른 입력 문항을 컨버팅하는 방법을 나타낸 도면이다.
문항 모델 선택부(210)는 입력 문항(원본 문항)을 수신한다. 문항 모델 선택부(210)는 지식공간 DB(130)에 저장된 복수의 모델 중 입력 문항(원본 문항)을 매핑하여 유사 문항 유형 또는 변형 문항 유형을 생성할 수 있는 모델을 선별한다.
입력 문항은 일반적인 문제지 내의 문항(예컨대, 수학 문항)으로서, 도 3에 도시한 바와 같이, 통상 HWP 파일 포맷을 갖는다.
문항 모델 선택부(210)는 HWP 파일 포맷을 갖는 입력 문항(원본 문항)을 HML 또는 MathML 파일 포맷으로 컨버팅한 컨버팅 파일을 생성한다. 문항 모델 선택부(210)는 컨버팅 파일(HML 또는 MathML 파일 포맷으로 컨버팅)을 Latex MathML에 저장된 복수의 모델(예컨대, 1번부터 1000번까지 모델)과 비교한다.
문항 모델 선택부(210)는 Latex MathML에 저장된 복수의 모델(예컨대, 1번부터 1000번까지 모델) 중 컨버팅 파일(HML 또는 MathML 파일 포맷으로 컨버팅)과 가장 적합한 모델(예컨대, 1번부터 1000번까지 모델 중 16번 모델)을 선택하여 문항유형 분류정보를 생성한다.
도 4는 본 실시예에 따른 문항 모델 선택부의 동작 과정을 설명하기 위한 순서도이다.
문항 모델 선택부(210)는 입력 문항(예컨대, HWP 파일 포맷)을 기 설정된 파일 포맷(HML 또는 MathML)으로 컨버팅하여 컨버팅 데이터를 생성한다(S410). 문항 모델 선택부(210)는 컨버팅 데이터로부터 입력 문항이 내포한 메타데이터(Metadata)를 추출한다(S420).
문항 모델 선택부(210)는 기 저장된 복수의 모델 중 메타데이터에 대응하는 교육 과정 및 학습 목표 중 적어도 하나 이상이 매핑되는 카테고리(학년, 학기, 대단원, 소단원, 세부 유형 수준)를 선별한다(S430)
문항 모델 선택부(210)는 카테고리 내 문항 모델을 대상으로 입력 문항을 자연어 처리하여 인식된 단어별 품사를 태깅한다(S440). 단계 S440에서, 문항 모델 선택부(210)는 단어별 품사 태깅 시, 양방향(Bidirectional) LSTM(Long Short-Term Memory Network)-CRF(Conditional Random Field)를 이용한 품사 태깅 모델을 이용한다.
문항 모델 선택부(210)는 단어별 품사마다 언어 모델(예컨대, N-gram Language Model) 기반 문장 유사도 알고리즘을 적용하여 기 저장된 복수의 모델과의 패턴을 비교하여 적합 문항 모델을 선별한다(S450). 단계 S450에서, 문항 모델 선택부(210)는 단어별 품사마다 기 저장된 복수의 모델의 패턴을 비교할 때, 이웃한 N개의 문자를 토큰(예컨대, 4종의 N-gram 토큰)으로 구성한 후 패턴을 비교하여 문장간 유사도를 산출하고, 유사도를 기반으로 적합 문항 모델을 선별한다.
문항 모델 선택부(210)는 입력 문항에 포함된 문장과 기 저장된 복수의 모델에 포함된 서로 다른 두 개의 문장을 언어 모델(예컨대, N-gram)을 이용하여 비교한 후 출현하는 단어의 종류, 품사, 빈도수를 확인하며, 단어의 종류, 품사, 빈도수를 기반으로 유사도를 산출한다.
문항 모델 선택부(210)는 입력 문항에 포함된 문장과 기 저장된 복수의 모델에 포함된 서로 다른 두 개의 문장을 기 설정된 글자 단위(슬롯 단위)로 구분한다. 문항 모델 선택부(210)는 기 글자 단위(슬롯 단위)로 서로 다른 두 개의 문장을 한 항목(단어의 종류, 품사)씩 비교하여 동일한 항목이 존재할 때마다 카운트(Count)를 (+ 1씩) 증가시켜서 총 카운트를 산출한다. 문항 모델 선택부(210)는 총 카운트를 구분된 문장 배열의 항목수로 나눈값을 유사도로 산출한다.
문항 모델 선택부(210)는 기 저장된 복수의 모델 중 입력 문항과 높은 유사도를 갖는 모델을 접합 문항 모델로 선별하고, 적합 문항 모델에 포함된 문항을 문항유형 분류정보로 생성한다.
도 4에서는 단계 S410 내지 단계 S450을 순차적으로 실행하는 것으로 기재하고 있으나, 반드시 이에 한정되는 것은 아니다. 다시 말해, 도 4에 기재된 단계를 변경하여 실행하거나 하나 이상의 단계를 병렬적으로 실행하는 것으로 적용 가능할 것이므로, 도 4는 시계열적인 순서로 한정되는 것은 아니다.
전술한 바와 같이 도 4에 기재된 본 실시예에 따른 문항 모델 선택부의 동작 과정은 프로그램으로 구현되고 컴퓨터로 읽을 수 있는 기록매체에 기록될 수 있다. 본 실시예에 따른 문항 모델 선택부의 동작 과정을 구현하기 위한 프로그램이 기록되고 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다.
도 5는 본 실시예에 따른 유사 문항 생성부의 동작 과정을 설명하기 위한 순서도이다.
유사 문항 생성부(220)는 문항유형 분류정보와 동일한 문항 구조를 가지되, 문항 내 구성요소를 변경한 유사 문항 정보를 생성한다(S510). 단계 S510에서, 유사 문항 생성부(220)는 문항유형 분류정보와 기본적인 문항 구조는 동일하나, 문항 내에서 문장(주어, 동사, 품사) 또는 수식(숫자)의 내용을 변경하거나, 문장(주어, 동사, 품사) 또는 수식(숫자)의 순서를 변경(치환)하여 유사 문항 정보를 생성한다.
유사 문항 생성부(220)는 유사 문항 정보를 생성한 후 유사 문항 정보의 실제 풀이가 가능한지를 확인하기 위해 기 저장된 문제풀이 라이브러리를 이용하여 유사 문항 정보에 대한 해를 구한다(S520).
유사 문항 생성부(220)는 해를 기반으로 유사 문항 정보에 포함되는 보기 정보를 변경한다(S530). 단계 S530에서, 유사 문항 생성부(220)는 기 저장된 문제풀이 라이브러리(입력된 수식의 답을 계산하는 라이브러리)를 이용하여 유사 문항 정보를 풀어서 해가 산출되면, 해를 보기 중 정답으로 설정한 후 정답이 유사 문항 정보의 보기 중에 존재하는 지의 여부를 확인한다.
확인 결과, 정답이 유사 문항 정보의 보기 중에 미존재하는 경우, 유사 문항 생성부(220)는 정답을 보기에 삽입한다. 다시 말해, 유사 문항 생성부(220)는 유사 문항 정보의 보기 중에 정답이 존재하는 경우, 슬롯 파싱을 수행하고, 유사 문항 정보의 보기 중에 정답이 미존재하는 경우, 슬롯 필링을 수행하여 보기 중에 하나를 정답으로 채워넣는다.
유사 문항 생성부(220)는 유사 문항 정보를 자연어 처리하여 시멘틱(Semantic)하게 인식하기 위해 기 설정된 슬롯 단위로 구분한다(S540). 단계 S540에서, 유사 문항 생성부(220)는 유사 문항 내에서 변경된 문장(주어, 동사, 품사) 또는 수식(숫자)의 내용을 고려하여 슬롯을 구분한다.
유사 문항 생성부(220)는 슬롯 단위로 유사 문항 정보 내에서 변경된 구성요소의 모순 여부에 따라 슬롯 파싱 또는 슬롯 필링 수행한다(S550). 단계 S550에서, 유사 문항 생성부(220)는 유사 문항 정보 내에서 슬롯 단위로 변경된 문장(주어, 동사, 품사) 또는 수식(숫자)이 모순되는지의 여부를 확인한다.
확인 결과, 문장(주어, 동사, 품사) 또는 수식(숫자)이 모순되지 않는 경우, 유사 문항 생성부(220)는 연속적 레이블링 기법을 적용한 양방향 LSTM-CRF 기반의 슬롯 파싱(Slot Parsing)을 수행한다.
확인 결과, 문장(주어, 동사, 품사) 또는 수식(숫자)이 모순되는 경우, 유사 문항 생성부(220)는 어탠션 시퀀스 투 시퀀스(Attention Sequence-to-Sequence) 구조 기반의 문항 표현 변화 모델을 이용하여 문장(주어, 동사, 품사) 또는 수식(숫자)이 모순되지 않도록 문항의 자연어 표현을 기존과 의미와 유사하지만 표현을 변형한 쌍둥이 문항 구조를 구성한다. 유사 문항 생성부(220)는 슬롯 필링(Slot Filling)을 수행하여 쌍둥이 문항 구조를 필수 파라미터 값이 할당된 슬롯 중 모순이 발생하여 채워지지 않은 빈슬롯(Slot)에 할당하여 유사 문항 정보(쌍둥이 문항 정보)를 완성한다.
유사 문항 생성부(220)는 슬롯 단위로 유사 문항 정보 내에서 변경된 구성요소의 순서의 모순 여부에 따라 슬롯 파싱 또는 슬롯 필링 수행한다(S560). 단계 S560에서, 유사 문항 생성부(220)는 유사 문항 정보 내에서 변경(치환)된 문장(주어, 동사, 품사) 또는 수식(숫자)의 순서가 모순되는지의 여부를 확인한다.
확인 결과, 변경(치환)된 문장(주어, 동사, 품사) 또는 수식(숫자)의 순서가 모순되지 않는 경우, 유사 문항 생성부(220)는 연속적 레이블링 기법을 적용한 양방향 LSTM-CRF 기반의 슬롯 파싱(Slot Parsing)을 수행한다.
확인 결과, 변경(치환)된 문장(주어, 동사, 품사) 또는 수식(숫자)의 순서가 모순되는 경우, 유사 문항 생성부(220)는 어탠션 시퀀스 투 시퀀스(Attention Sequence-to-Sequence) 구조 기반의 문항 표현 변화 모델을 이용하여 유사 문항 정보 내에 접속사를 추가하거나 문장내 조사를 추가(변경)한 쌍둥이 문항 구조를 구성한다.
유사 문항 생성부(220)는 슬롯 필링(Slot Filling)을 수행하여 쌍둥이 문항 구조를 필수 파라미터 값이 할당된 슬롯 중 모순이 발생하여 채워지지 않은 빈슬롯(Slot)에 할당하여 유사 문항 정보(쌍둥이 문항 정보)를 완성한다.
도 5에서는 단계 S510 내지 단계 S560을 순차적으로 실행하는 것으로 기재하고 있으나, 반드시 이에 한정되는 것은 아니다. 다시 말해, 도 5에 기재된 단계를 변경하여 실행하거나 하나 이상의 단계를 병렬적으로 실행하는 것으로 적용 가능할 것이므로, 도 5는 시계열적인 순서로 한정되는 것은 아니다.
전술한 바와 같이 도 5에 기재된 본 실시예에 따른 유사 문항 생성부의 동작 과정은 프로그램으로 구현되고 컴퓨터로 읽을 수 있는 기록매체에 기록될 수 있다. 본 실시예에 따른 유사 문항 생성부의 동작 과정을 구현하기 위한 프로그램이 기록되고 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다.
도 6a,6b는 본 실시예에 따른 변형 문항 생성부의 동작 과정을 설명하기 위한 순서도이다.
변형 문항 생성부(230)는 문항유형 분류정보와 기 저장된 복수의 모델 간에 매핑된 유사도값을 각각 확인한다(S610).
변형 문항 생성부(230)는 문항유형 분류정보에 포함된 문항 유형과 기 저장된 모델 간에 매핑된 유사도값을 기반으로 유사유형 리스트를 생성한다(S620). 단계 S620에서, 변형 문항 생성부(230)는 기 설정된 임계범위 내에 해당하는 유사도값을 추출하여 유사유형 리스트를 생성한다.
변형 문항 생성부(230)는 컨버팅 데이터로부터 입력 문항이 내포한 메타데이터(Metadata)를 추출하고, 유사유형 리스트 중 메타데이터에 포함된 교육 과정 및 학습 목표 중 적어도 하나 이상이 매핑되는 카테고리(학년, 학기, 대단원, 소단원, 세부 유형 수준)를 갖는 모델을 적합 유사유형 문항모델로 선별한다(S630).
변형 문항 생성부(230)는 적합 유사유형 문항모델과 기본적인 문항 구조는 동일하나, 문항 내에서 문장(주어, 동사, 품사) 또는 수식(숫자)의 내용 변경하거나, 문장(주어, 동사, 품사) 또는 수식(숫자)의 순서를 변경(치환)하여 변형 문항 정보를 생성한다(S640).
변형 문항 생성부(230)는 변형 문항 정보를 생성한 후 변형 문항 정보의 실제 풀이가 가능한지를 확인하기 위해 기 저장된 문제풀이 라이브러리를 이용하여 변형 문항 정보에 대한 해를 구한다(S650).
변형 문항 생성부(230)는 해를 기반으로 변형 문항 정보에 포함되는 보기 정보를 변경한다(S660). 단계 S660에서, 변형 문항 생성부(230)는 기 저장된 문제풀이 라이브러리(입력된 수식의 답을 계산하는 라이브러리)를 이용하여 변형 문항 정보를 풀어서 해가 산출되면, 해를 보기 중 정답으로 설정한 후 정답이 변형 문항 정보의 보기 중에 존재하는 지의 여부를 확인한다.
확인 결과, 정답이 보기 중에 미존재하는 경우, 정답을 보기에 삽입한다. 다시 말해, 변형 문항 생성부(230)는 유사 문항 정보의 보기 중에 정답이 존재하는 경우, 슬롯 파싱을 수행하고, 유사 문항 정보의 보기 중에 정답이 미존재하는 경우, 슬롯 필링을 수행하여 보기 중에 하나를 정답으로 채워넣는다.
변형 문항 생성부(230)는 변형 문항 정보를 자연어 처리하여 시멘틱(Semantic)하게 인식하기 위해 기 설정된 슬롯 단위로 구분한다(S670). 단계 S670에서, 변형 문항 생성부(230)는 변형 문항 내에서 변경된 문장(주어, 동사, 품사) 또는 수식(숫자)의 내용을 고려하여 슬롯을 구분한다.
변형 문항 생성부(230)는 슬롯 단위로 유사 문항 정보 내에서 변경된 구성요소의 모순 여부에 따라 슬롯 파싱 또는 슬롯 필링 수행한다(S680). 단계 S680에서, 변형 문항 생성부(230)는 변형 문항 정보 내에서 슬롯 단위로 변경된 문장(주어, 동사, 품사) 또는 수식(숫자)이 모순되는지의 여부를 확인한다.
확인 결과, 문장(주어, 동사, 품사) 또는 수식(숫자)이 모순되지 않는 경우, 변형 문항 생성부(230)는 연속적 레이블링 기법을 적용한 양방향 LSTM-CRF 기반의 슬롯 파싱(Slot Parsing)을 수행한다.
확인 결과, 문장(주어, 동사, 품사) 또는 수식(숫자)이 모순되는 경우, 변형 문항 생성부(230)는 어탠션 시퀀스 투 시퀀스(Attention Sequence-to-Sequence) 구조 기반의 문항 표현 변화 모델을 이용하여 문장(주어, 동사, 품사) 또는 수식(숫자)이 모순되지 않도록 문항의 자연어 표현을 기존과 의미와 유사하지만 표현을 변형한 쌍둥이 문항 구조를 구성한다. 변형 문항 생성부(230)는 슬롯 필링(Slot Filling)을 수행하여 쌍둥이 문항 구조를 필수 파라미터 값이 할당된 슬롯 중 모순이 발생하여 채워지지 않은 빈슬롯(Slot)에 할당하여 변형 문항 정보(쌍둥이 문항 정보)를 완성한다.
변형 문항 생성부(230)는 슬롯 단위로 변형 문항 정보 내에서 변경된 구성요소의 순서의 모순 여부에 따라 슬롯 파싱 또는 슬롯 필링 수행한다(S690). 단계 S690에서, 변형 문항 생성부(230)는 변형 문항 정보 내에서 변경(치환)된 문장(주어, 동사, 품사) 또는 수식(숫자)의 순서가 모순되는지의 여부를 확인한다.
확인 결과, 변경(치환)된 문장(주어, 동사, 품사) 또는 수식(숫자)의 순서가 모순되지 않는 경우, 변형 문항 생성부(230)는 연속적 레이블링 기법을 적용한 양방향 LSTM-CRF 기반의 슬롯 파싱(Slot Parsing)을 수행한다.
확인 결과, 변경(치환)된 문장(주어, 동사, 품사) 또는 수식(숫자)의 순서가 모순되는 경우, 변형 문항 생성부(230)는 어탠션 시퀀스 투 시퀀스(Attention Sequence-to-Sequence) 구조 기반의 문항 표현 변화 모델을 이용하여 변형 문항 정보 내에 접속사를 추가하거나 문장내 조사를 추가(변경)한 쌍둥이 문항 구조를 구성한다.
변형 문항 생성부(230)는 슬롯 필링(Slot Filling)을 수행하여 쌍둥이 문항 구조를 필수 파라미터 값이 할당된 슬롯 중 모순이 발생하여 채워지지 않은 빈슬롯(Slot)에 할당하여 변형 문항 정보(쌍둥이 문항 정보)를 완성한다.
도 6에서는 단계 S610 내지 단계 S690을 순차적으로 실행하는 것으로 기재하고 있으나, 반드시 이에 한정되는 것은 아니다. 다시 말해, 도 6에 기재된 단계를 변경하여 실행하거나 하나 이상의 단계를 병렬적으로 실행하는 것으로 적용 가능할 것이므로, 도 6은 시계열적인 순서로 한정되는 것은 아니다.
전술한 바와 같이 도 6에 기재된 본 실시예에 따른 변형 문항 생성부의 동작 과정은 프로그램으로 구현되고 컴퓨터로 읽을 수 있는 기록매체에 기록될 수 있다. 본 실시예에 따른 변형 문항 생성부의 동작 과정을 구현하기 위한 프로그램이 기록되고 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다.
이상의 설명은 본 실시예의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 실시예의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 실시예들은 본 실시예의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 실시예의 기술 사상의 범위가 한정되는 것은 아니다. 본 실시예의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 실시예의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
110: 신규 문항 입력부 120: 자동 분류부
130: 지식공간 DB 140: 문항자동 생성장치
150: 문제 확인부
210: 문항 모델 선택부 220: 유사 문항 생성부
230: 변형 문항 생성부

Claims (7)

  1. 지식공간 DB에 기 저장된 복수의 모델 중 입력받은 입력 문항에 대응하는 모델을 적합 문항 모델로 선별하고, 상기 적합 문항 모델을 기반으로 문항유형 분류정보를 생성하는 문항 모델 선택부;
    상기 문항유형 분류정보와 동일한 문항 구조를 가지되, 문항 내 구성요소를 변경한 유사 문항 정보를 생성하고, 상기 유사 문항 정보를 기 설정된 슬롯(Slot) 단위로 구분한 후 상기 슬롯의 내부를 채우는 형태로 상기 유사 문항 정보를 완성하여 출력하는 유사 문항 생성부; 및
    상기 문항유형 분류정보와 기 저장된 복수의 모델 간에 매핑된 유사도값을 각각 확인하고, 상기 유사도값을 기반으로 적합 유사유형 문항모델을 선별하고, 상기 적합 유사유형 문항모델과 동일한 문항 구조를 가지되, 문항 내 구성요소를 변경한 변형 문항 정보를 생성하고, 상기 변형 문항 정보를 기 설정된 슬롯(Slot) 단위로 구분한 후 상기 슬롯의 내부를 채우는 형태로 상기 변형 문항 정보를 완성하여 출력하는 변형 문항 생성부;
    를 포함하되, 상기 문항 모델 선택부는 상기 입력 문항에 포함된 문장과 상기 기 저장된 복수의 모델에 포함된 서로 다른 두 개의 문장을 기 설정된 글자 단위로 구분하고, 상기 글자 단위로 상기 서로 다른 두 개의 문장을 단어의 종류 또는 품사와 하나씩 비교하여 동일한 항목이 존재할 때마다 카운트(Count)를 증가시키서 총 카운트를 산출하고, 상기 총 카운트를 구분된 문장 배열의 항목수로 나눈값을 상기 유사도값으로 산출한 후 상기 유사도값을 기반으로 상기 적합 문항 모델을 선별하며,
    상기 유사 문항 생성부는 상기 유사 문항 정보 내의 명사와 동사가 모순되거나 변경 또는 치환된 복수의 문장 순서가 모순되는지의 여부를 확인하고, 확인 결과, 모순이 미발생한 경우 슬롯 파싱(Slot Parsing)을 수행하고, 확인 결과, 모순이 발생한 경우 쌍둥이 문항 구조를 생성하고, 상기 쌍둥이 문항 구조에 슬롯 필링(Slot Filling)을 수행하여 명사와 동사가 모순되지 않도록 명사 또는 동사를 채워서 다른 구문을 생성하거나 복수의 문장 내에 접속사를 추가하거나 문장내 조사를 추가하며,
    상기 변형 문항 생성부는 상기 변형 문항 정보 내의 명사와 동사가 모순되거나 변경 또는 치환된 복수의 문장 순서가 모순되는지의 여부를 확인하고, 확인 결과, 모순이 미발생한 경우 슬롯 파싱을 수행하고, 확인 결과, 모순이 발생한 경우 쌍둥이 문항 구조를 생성하고, 상기 쌍둥이 문항 구조에 슬롯 필링을 수행하여 명사와 동사가 모순되지 않도록 명사 또는 동사를 채워서 다른 구문을 생성하거나 복수의 문장 내에 접속사를 추가하거나 문장내 조사를 추가하는 것을 특징으로 하는 문항자동 생성장치.
  2. 제1항에 있어서,
    상기 문항 모델 선택부는,
    상기 입력 문항을 기 설정된 파일 포맷으로 컨버팅하여 컨버팅 데이터를 생성하고, 상기 컨버팅 데이터에 대해 자연어 처리하여 상기 입력 문항별 문항 유형을 분류하고, 기 저장된 복수의 모델 중 상기 문항 유형에 대응하는 모델을 상기 적합 문항 모델로 선별하는 것을 특징으로 하는 문항자동 생성장치.
  3. 제1항에 있어서,
    상기 유사 문항 생성부는,
    상기 문항유형 분류정보와 동일한 기본 문항 구조를 유지한 상태에서 문항 내에서 문장 또는 수식의 내용을 변경하거나, 문장 또는 수식의 순서를 변경하여 상기 유사 문항 정보를 생성하는 것을 특징으로 하는 문항자동 생성장치.
  4. 제3항에 있어서,
    상기 유사 문항 생성부는,
    상기 유사 문항 정보의 문제풀이 여부와 상기 슬롯 단위로 확인한 상기 유사 문항 정보에 대한 자연어 처리 결과를 기반으로 상기 슬롯을 채우는 것을 특징으로 하는 문항자동 생성장치.
  5. 제4항에 있어서,
    상기 변형 문항 생성부는
    상기 문항유형 분류정보에 포함된 상기 문항 유형과 기 저장된 모델 간에 매핑된 유사도 기반으로 유사유형 리스트를 생성하고, 상기 유사유형 리스트 중 상기 입력 문항이 내포한 메타데이터(Metadata)에 매핑되는 카테고리를 갖는 모델을 상기 적합 유사유형 문항모델로 선별하는 것을 특징으로 하는 문항자동 생성장치.
  6. 제5항에 있어서,
    상기 변형 문항 생성부는,
    상기 적합 유사유형 문항모델과 동일한 기본 문항 구조를 유지한 상태에서 문항 내에서 문장 또는 수식의 내용을 변경하거나, 문장 또는 수식의 순서를 변경하여 상기 변형 문항 정보를 생성하는 것을 특징으로 하는 문항자동 생성장치.
  7. 문항 모델 선택부에서 지식공간 DB에 기 저장된 복수의 모델 중 입력받은 입력 문항에 대응하는 모델을 적합 문항 모델로 선별할 때, 상기 입력 문항에 포함된 문장과 상기 기 저장된 복수의 모델에 포함된 서로 다른 두 개의 문장을 기 설정된 글자 단위로 구분하고, 상기 글자 단위로 상기 서로 다른 두 개의 문장을 단어의 종류 또는 품사와 하나씩 비교하여 동일한 항목이 존재할 때마다 카운트를 증가시키서 총 카운트를 산출하고, 상기 총 카운트를 구분된 문장 배열의 항목수로 나눈값을 유사도값으로 산출한 후 상기 유사도값을 기반으로 상기 적합 문항 모델을 선별하는 과정;
    상기 문항 모델 선택부에서 상기 적합 문항 모델을 기반으로 문항유형 분류정보를 생성하는 과정;
    유사 문항 생성부에서 상기 문항유형 분류정보와 동일한 문항 구조를 가지되, 문항 내 구성요소를 변경한 유사 문항 정보를 생성하는 과정;
    상기 유사 문항 생성부에서 상기 유사 문항 정보를 기 설정된 슬롯 단위로 구분한 후 상기 슬롯의 내부를 채우는 형태로 상기 유사 문항 정보를 완성하여 출력할 때, 상기 유사 문항 정보 내의 명사와 동사가 모순되거나 변경 또는 치환된 복수의 문장 순서가 모순되는지의 여부를 확인하고, 확인 결과, 모순이 미발생한 경우 슬롯 파싱을 수행하고, 확인 결과, 모순이 발생한 경우 쌍둥이 문항 구조를 생성하고, 상기 쌍둥이 문항 구조에 슬롯 필링을 수행하여 명사와 동사가 모순되지 않도록 명사 또는 동사를 채워서 다른 구문을 생성하거나 복수의 문장 내에 접속사를 추가하거나 문장내 조사를 추가하는 과정;
    변형 문항 생성부에서 상기 문항유형 분류정보와 기 저장된 복수의 모델 간에 매핑된 유사도값을 각각 확인하고, 상기 유사도값을 기반으로 적합 유사유형 문항모델을 선별하는 과정;
    상기 변형 문항 생성부에서 상기 적합 유사유형 문항모델과 동일한 문항 구조를 가지되, 문항 내 구성요소를 변경한 변형 문항 정보를 생성하는 과정; 및
    상기 변형 문항 생성부에서 상기 변형 문항 정보를 기 설정된 슬롯 단위로 구분한 후 상기 슬롯의 내부를 채우는 형태로 상기 변형 문항 정보를 완성하여 출력할 때, 상기 변형 문항 정보 내의 명사와 동사가 모순되거나 변경 또는 치환된 복수의 문장 순서가 모순되는지의 여부를 확인하고, 확인 결과, 모순이 미발생한 경우 슬롯 파싱을 수행하고, 확인 결과, 모순이 발생한 경우 쌍둥이 문항 구조를 생성하고, 상기 쌍둥이 문항 구조에 슬롯 필링을 수행하여 명사와 동사가 모순되지 않도록 명사 또는 동사를 채워서 다른 구문을 생성하거나 복수의 문장 내에 접속사를 추가하거나 문장내 조사를 추가하는 과정;
    을 포함하는 것을 특징으로 하는 문항자동 생성방법.
KR1020200034496A 2019-11-01 2020-03-20 문항 자동 생성 방법 및 시스템 KR102129704B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2021025379A JP7179886B2 (ja) 2019-11-01 2021-02-19 問題項目自動生成方法およびシステム

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20190138335 2019-11-01
KR1020190138335 2019-11-01

Publications (1)

Publication Number Publication Date
KR102129704B1 true KR102129704B1 (ko) 2020-07-02

Family

ID=71599578

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200034496A KR102129704B1 (ko) 2019-11-01 2020-03-20 문항 자동 생성 방법 및 시스템

Country Status (2)

Country Link
JP (1) JP7179886B2 (ko)
KR (1) KR102129704B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023128530A1 (ko) * 2021-12-30 2023-07-06 (주)유닛컴퍼니 코딩 문제 추천 시스템 및 코딩 문제 추천 방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101560802B1 (ko) * 2014-10-15 2015-10-15 성균관대학교산학협력단 임의 수학 문제를 제공하는 클라우드 컴퓨팅 서버, 방법 및 기록매체
KR20180122926A (ko) * 2017-05-04 2018-11-14 주식회사 매스프레소 학습 서비스 제공 방법 및 그 장치
KR20180125746A (ko) * 2017-05-16 2018-11-26 동아대학교 산학협력단 문장 임베딩 및 유사 질문 검색을 위한 장치 및 방법
KR101986721B1 (ko) * 2019-03-27 2019-06-10 월드버텍 주식회사 신경망 기반 기계번역 및 셈뭉치를 이용한 수학문제 개념유형 예측 서비스 제공 방법

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3932350B2 (ja) * 2001-07-06 2007-06-20 独立行政法人情報通信研究機構 言語変換処理統一システム
JP4645242B2 (ja) * 2005-03-14 2011-03-09 富士ゼロックス株式会社 質問応答システム、およびデータ検索方法、並びにコンピュータ・プログラム
KR102033435B1 (ko) * 2014-11-19 2019-11-11 한국전자통신연구원 자연어 질의응답 시스템과 방법 및 패러프라이즈 모듈
WO2016088463A1 (ja) * 2014-12-03 2016-06-09 ソニー株式会社 情報処理装置、情報処理方法及びコンピュータプログラム
JP7082333B2 (ja) * 2017-11-30 2022-06-08 学校法人酪農学園 設問自動生成プログラム及び設問自動生成装置
JP7087938B2 (ja) * 2018-06-07 2022-06-21 日本電信電話株式会社 質問生成装置、質問生成方法及びプログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101560802B1 (ko) * 2014-10-15 2015-10-15 성균관대학교산학협력단 임의 수학 문제를 제공하는 클라우드 컴퓨팅 서버, 방법 및 기록매체
KR20180122926A (ko) * 2017-05-04 2018-11-14 주식회사 매스프레소 학습 서비스 제공 방법 및 그 장치
KR20180125746A (ko) * 2017-05-16 2018-11-26 동아대학교 산학협력단 문장 임베딩 및 유사 질문 검색을 위한 장치 및 방법
KR101986721B1 (ko) * 2019-03-27 2019-06-10 월드버텍 주식회사 신경망 기반 기계번역 및 셈뭉치를 이용한 수학문제 개념유형 예측 서비스 제공 방법

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Amazon Web Services 한국 블로그, aws.amazon.com, 인공지능 스타트업 소개-매스프레소 (20180509) 1부. *
Mathpresso 홈페이지, AI 기술 기반의 풀이 검색 플랫폼 콴다(QanD) 소개, mathpresso.com *

Also Published As

Publication number Publication date
JP7179886B2 (ja) 2022-11-29
JP2021149956A (ja) 2021-09-27

Similar Documents

Publication Publication Date Title
US10720078B2 (en) Systems and methods for extracting keywords in language learning
Settles et al. Machine learning–driven language assessment
US20110270883A1 (en) Automated Short Free-Text Scoring Method and System
RU2632656C2 (ru) Система и методика автоматического обучения языкам на основе частотности синтаксических моделей
CN105677747A (zh) 在线教学中的知识点管理方法和系统
Cobb et al. The nuclear word family list: A list of the most frequent family members, including base and affixed words
US20150254999A1 (en) Method and system for providing contextual vocabulary acquisition through association
US10373516B2 (en) Method for facilitating contextual vocabulary acquisition through association
Nielsen et al. Working with multiple representations: Preservice teachers’ decision-making to produce a digital explanation
KR102129704B1 (ko) 문항 자동 생성 방법 및 시스템
KR102149935B1 (ko) 8품사 및 문장 내 사용역할로 성분을 구분하는 단순도해법을 이용한 영어문장 학습 서비스 제공 방법
Kostolányová et al. Adaptation of teaching process based on a students individual learning needs
Aryadoust et al. Role of assessment in second language writing research and pedagogy
Msusa Semantic Waves: Writer Performance Ranges on the National Benchmark Tests (NBT) Academic Literacy Test.
Lobeck Teaching linguistic diversity as the rule rather than the exception
Pal et al. Enhanced metadata modelling and extraction methods to acquire contextual pedagogical information from e-learning contents for personalised learning systems
Xiao Teaching Morphophonetic Characters in Teaching Chinese as a Foreign Language Based on Internet of Things Assistance
McLean Davies et al. Reading in the (post) digital age: Large digital databases and the future of literature in secondary classrooms.
KR102569339B1 (ko) 스피킹 테스트 시스템
Therova Core Academic Vocabulary in Four Genres of Novice Student Writing
KR20230142215A (ko) 문제 생성 장치 및 방법
Kumar et al. Automatic Tutorial Generation from Input Text File using Natural Language Processing
Kosova et al. Accessibility of Mathematics MOOCs to Learners with Disabilities
Le Bras Automated strategic visualisations and user confidence
Jadhav et al. An Automatic Gap Filling Questions Generation using NLP

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant