• 프로젝트 설명: 자연어처리를 이용한 온라인 강의 학습 보조 서비스 개발
  • 공모전 일자: 2020.05 ~ 2020.07
  • 주관: 성균관대학교 대학혁신과공유센터
  • 수상실적: TBD

자연어처리를 이용한 온라인 강의 학습 보조 서비스 개발

프로젝트 배경 및 목적

  • COVID-19 로 인해 많은 강의들이 온라인으로 진행됨에 따라, 학습자의 이해도와, 교수자의 평가 등과 같은 부분에서 많은 문제가 발생하고 있음.
  • 모든 강의가 온라인에서 이루어지고, 강의 내용은 결국 사람의 언어이기 때문에 해당 내용에 자연어처리를 활용할 수 있음.
  • 자연어처리를 활용해 학습에 도움을 줄 수 있는 여러 요소들을 자동화하여 학습자에게 제시

Contribution

  • 강의 내용에 대한 핵심 문장을 자동으로 추출하고, 해당 내용에 대한 Quiz 를 자동으로 생성
  • 강의 내용에 대한 핵심 키워드를 자동으로 추출해 제공
  • 강의 내용을 Speech-To-Text 기술을 통해 자막으로 제공
  • 학습자가 강의를 들으며 코넬식 노트를 작성할 수 있게 코넬식 노트에 관한 폼 제공

진행 내용

Google Speech-To-Text API 활용

  • Google Speech-To-Text API를 활용해 강의 내용에 대한 스크립트를 자막으로 제공하고, 해당 스크립트를 이용해 자연어처리 task를 적용한다.

핵심 문장 추출

  • 문서가 입력되면 문서를 각 문장별로 나눈 후, 문장의 명사들만 추출.

  • 해당 명사들에 대해 코사인 유사도를 사용하여 각 문장별 유사도 행렬을 구함.

  • 행렬에서 행별로 값을 다 더해, 그 값이 큰 N개의 문장을 문서의 핵심 문장으로 선정

핵심 문장에 대한 키워드 추출

  • 핵심 문장에서 핵심 키워드를 통해 Quiz를 제공하기 위하여, 핵심 키워드를 자동으로 추출.
  • ETRI에서 제공하는 개체명 인식기를 활용하여, 해당 문장의 명사 중에서 인명(PS_NAME), 위치명(LOCATION) 등 문장의 핵심 키워드가 될 수 있는 개체명을 핵심 키워드로 선정

키워드를 통해 문장에 대한 질문과 답 생성

  1. 학습 데이터 구축 및 정제
    • 본 모델은 특정 문장으로부터 질문을 만들어내는 모델이므로, 문장과 질문이 있는 데이터가 요구됨.
    • (1개의 문서, 문서에 대한 질문, 문서에서 질문이 있는 답의 위치) 로 구성되어 있는 KorQUAD 데이터셋을 정제해 특정 문장과 특정 문장에 대한 질문 으로 데이터쌍을 구성함.
    • 문장에서 답이 있는 위치를 [mask] 로 표시해 (masking 된 문장, 해당 문장에 대한 질문) 형태로 데이터 셋을 구성
  2. Ko-GPT2 모델 fine-tuning
    • 본 모델은 GPT-2를 fine-tuning 해서 masking된 문장이 입력으로 들어왔을 때, 질문을 생성할 수 있도록 하는 모델이다.
    • 앞서 구축한 (masking 된 문장, 해당 문장에 대한 질문) 형태의 데이터셋을 Ko-GPT2 모델에 (masking된 문장 + [SEP] + 질문) 형태로 입력해 사전 학습된 Ko-GPT2 모델을 fine-tuning 한다.
  3. Ko-GPT2 모델을 활용한 질문 생성
    • 앞서 추출한 문장과 해당 문장의 핵심키워드를 통해 해당 문장을 masking된 문장으로 만든다.
    • masking된 문장을 fine-tuning 된 Ko-GPT2 모델에 입력해 해당 문장에 대한 질문을 생성한다.

결과

  1. 동영상 스트리밍
  2. STT 기술을 활용한 강의 스크립트 제시
  3. 중요도와 빈도수를 고려한 키워드 추출 및 해당 키워드 워드클라우드 제시
  4. 핵심 내용에 대한 퀴즈 제공
  5. 코넬식 노트 제공

의의 및 한계점

본 프로젝트를 통해 여러 자연어처리 기술들을 사용해 실제 강의에 적용하여 하나의 완성된 어플리케이션으로 제작할 수 있었다. 해당 플랫폼에 교수자가 강의를 업로드만 한다면 자막 생성, 퀴즈 생성, 키워드 추출 등의 과정을 자동으로 해결할 수 있다. 하지만 아직 STT 기술이 완성된 것이 아니라서, 수학이나 물리처럼 강의 내용에 수식이 들어간다면 스크립트 추출이 잘 되지 않는다는 문제점이 존재한다. 또한, 일관된 내용이 아닌 여러 내용을 가볍게 훑고 지나가는 강의같은 경우, 유사도를 통한 문장 추출에도 어려움이 있다.