1. 수업 대화 데이터
1-1. 데이터 명세
항목 | 설명 |
데이터 명칭 | 선생님 - 학생 대화 데이터 |
데이터 설명 | 선생님 한명과 그 선생님이 담당하는 학생 한 명과의 대화 내역 |
데이터 카테고리 | 대화 |
데이터 형식 | CSV |
파일 확장자 | .csv |
수집 주기 | 주배치 |
저장 방식 | MySQL |
예상 데이터 크기 | 약 600만개(약 1GB) / 월 |
데이터 제공 방식 | csv 전달 |
개인 정보 포함 | 이름(마스킹 처리) |
담당 부서 | IHFB R&D 본부 데이터팀 |
1-2. 데이터 예시 및 설명 (As Is)
대화 데이터는 기존에 제공된 샘플데이터를 참고하면 됨
해당 대화 데이터는 같은 수업 시퀀스에서 일어나는 대화, 학습 제출 데이터, 이벤트 데이터를 모아놓은 데이터임.
현재 대화 데이터는 raw 한 데이터로 수업 중에 발생한 모든 대화 데이터가 포함되어 있어서 바로 학습용으로 사용하기에는 적합하지 않음
1-3. 추후 데이터 제공 계획 (To Be)
단순한 raw 데이터가 아닌 실제 질문과 답변에 대한 구분과 해당 대화가 일어난 수업의 맥락 정보, 세부 문항, 학생의 정보 등을 매핑하여 전처리 후 제공될 예정임
•
현재 풀고 있는 학생의 문제, 학생의 수준, 현재 학생이 가지고 있는 질문, 그 질문에 대한 대답을 하나의 쌍으로 관리
◦
현재 학생이 풀고 있는 문항에 대한 메타 데이터 매핑
▪
현재 풀고 있는 문제가 무엇인지, 이 문제에 대한 기본적으로 제공되는 해설이 무엇인지 등이 포함
◦
현재 학생에 대한 메타 데이터 매핑
▪
현재까지 학생이 학습한 지식 태그가 어느정도 인지, 현재 푸는 문제와 비슷한 문제에 대한 이해도가 어느정도인지 포함
◦
현재 문제에 대한 학생의 질문(Question)
▪
대화 데이터와 손필기 데이터를 결합하여 학습에 사용가능한 형태의 Question로 변환
◦
해당 질문에 대한 선생님의 답변(Answer)
▪
대화 데이터와 손필기 데이터를 결합하여 학습에 사용가능한 형태의 Question로 변환
•
현재 학생이 풀고 있는 문항에 대한 메타 데이터와 현재 학생에 대한 메타 데이터는 추후 RAG으로도 사용가능
2. 문항 데이터
2-1. 데이터 명세
항목 | 설명 |
데이터 명칭 | 문항 - 학생 학습 데이터 |
데이터 설명 | 학습할 콘텐츠 문항과 그 문항에 대한 학생의 학습 데이터 |
데이터 카테고리 | 학습 |
데이터 형식 | csv |
파일 확장자 | .csv |
수집 주기 | 실시간 |
저장 방식 | MySQL |
예상 데이터 크기 | 약 2000만개(약 100GB) / 월 |
데이터 제공 방식 | csv 전달 |
개인 정보 포함 | user_id로 제공 |
담당 부서 | IHFB R&D 본부 데이터팀 |
2-2. 데이터 예시 및 설명 (As Is)
공통 데이터 포맷
Column | type | Description | Detail |
feed_due_date | DATE | 학습 목표 날짜 | 학습을 완료해야 하는 목표 날짜 |
curriculum_title | VARCHAR | 커리큘럼의 제목 | 커리큘럼 : 사용할 교재 |
daily_curriculum_title | VARCHAR | 데일리 커리큘럼의 제목 | 데일리 커리큘럼 : 하루에 진도나갈 범위 or 하나의 큰 단원 |
study_module_title | VARCHAR | 스터디 모듈의 제목 | 스터디 모듈 : 한번에 학습할 단위 |
study_unit_title | VARCHAR | 스터디 유닛의 제목 | 스터디 유닛 : 각 학습을 특정 개념별로 분류한 단위 |
study_activity_instance_title | VARCHAR | 학생에게 발송한 스터디 액티비티의 제목 | 스터디 액티비티 : 실제로 학습할 각 문제 단위 |
study_activity_instance_started_at | DATETIME | 학생이 스터디 액티비티에 진입한 시점 | |
study_activity_instance_finished_at | DATETIME | 학생이 스터디 액티비티를 제출한 시점 | |
study_activity_instance_updated_at | DATETIME | 학생이 스터디 액티비티를 업데이트한 시점 | |
study_activity_instance_created_at | DATETIME | 스터디 액티비티가 학생에게 발송된 시점 | |
study_activity_instance_learning_state | VARCHAR | 스터디 액티비티의 학습상태 | FINISHED : 학습완료
PARTIALY LEARNED : 부분 완료(VIDEO 타입만 존재)
UNLEARNED : 미학습 |
study_activity_instance_type | VARCHAR | 스터디 액티비티의 타입 | QUESTION : 영어 문제
MATH_QUESTION : 수학 문제
READING : 독해 문제(끊어읽기, 구문분석 등) |
study_activity_instance_difficulty | VARCHAR | 스터디 액티비티의 난이도 | BASIC: 개념
NORMAL: 발전
ADVANCED: 심화 |
study_activity_instance_metadata | JSON | 스터디 액티비티의 메타데이터 | 하위 타입별 데이터 설명 참고 |
study_activity_instance_content_type | VARCHAR | 스터디 액티비티 타입의 하위 세부 유형 | QUESTION : 일반
SELECTING_GRAMMAR_OR_VOCABULARY : 어휘어법
FILLING_BLANK_TYPING : 빈칸 채우기
FILLING_BLANK_CHOICE : 빈칸 맞추기
FINDING_REFERAL_TARGET : 지칭대상찾기 |
study_activity_instance_is_required | INTEGER | 스터디 액티비티의 필수 학습 여부 | |
study_activity_instance_correct_type | INTEGER | 스터디 액티비티의 정답 여부 | 1 : 정답
0 : 오답
-1 : 미학습 및 정오답 여부 판단 불가한 타입 |
study_activity_instance_link | VARCHAR | 해당 액티비티로 바로가기 링크 | https://study.mildang.kr/today-mission 에서
아래 계정으로 로그인 후에 확인 가능
id: test.student@test.student.com
password: mildang#hA8!6 |
영어 타입별 데이터 예시 및 설명
끊어읽기와 문법태그
READING(독해) 타입에는 학생이 각 문장을 분석해서 끊어읽기를 하고, 구문분석(주어, 동사 등을 매핑하기)을 진행할 수 있습니다. 또한, 각 문장에 어떤 문법이 사용되어있는 정보도 포함되어 있습니다.
이를 활용하여, 현재 학생의 영어 실력이 어떠한지 해당 문장을 어떻게 이해하고 있는지를 확인할 수 있고, 현재 문장과 연동된 문법태그 정보를 RAG으로 이용해서 학생에게 추가적인 피드백을 지시할 수 있도록 활용할 수 있습니다.
•
study_activity_instance_metadata json 구조
Column | Description | Detail |
history | 학생의 풀이 내역 | 학생의 끊어읽기를 어떻게 했는지에 대한 정보와 실제 정답 끊어읽기와의 비교 데이터 |
isMarked | 중요 문제 여부 | |
memoList | 메모 태깅 정보 | |
metaWords | 문장 내 단어 정보 | 문장을 구성하는 단어에 대한 정보 |
slashList | 문장 내 끊어읽기 정보 | 실제 문장을 어떻게 끊어야되는지 저장되어 있는 정보 |
syntaxList | 문장 내 구문분석 정보 | 문장의 구문(주어, 동사 등)에 대한 매핑된 정보 |
grammarList | 문장 내 문법태그 정보 | 현재 문장에 사용된 문법태그에 대한 정보 - 하단에 문법태그 정보 확인 |
translation | 정답 해석 | |
comprehension | 정답 이해 | |
lastHistoryStatus | 끊어읽기 재제출에 대한 내역 |
•
문법 태그 테이블 정보
Column | type | Description |
id | INTEGER | 학습 목표 날짜 |
name | VARCHAR | 문법 이름 |
type | VARCHAR | 문법의 대분류 |
items | JSON | 해당 문법에 대한 설명과 예시 설명 문장 |
객관식 / 주관식 / 학습지 유형
영어 문제는 기본적으로 어법, 일관성, 빈칸, 어휘, 일치, 주제, 기타와 같은 타입 정보가 포함되어 있습니다. 이 정보를 통해서 학생이 풀고 있는 문제가 어떤 유형인지 확인할 수 있고, 어떤 유형에 대한 약점을 가지고 있는지도 확인할 수 있습니다.
또한, 영어 문제들은 기본적으로 영어 지문을 포함하고 있기 때문에, 해당 문제를 풀기 위해서는 각 문항 상단에 있는 지문을 학습 후에 문제를 풀게 됩니다.
Column | Description |
contentType | COMMON: 객관식/주관식 타입
아래는 학습지 유형
FILLING_BLANK_CHOICE: 빈칸 선택해서 맞추기
FILLING_BLANK_TYPING: 빈칸 직접 채우기 SELECTING_GRAMMAR_OR_VOCABULARY: 맞는 어휘/어법 선택하기FINDING_REFERAL_TARGET: 지칭대상 찾기 |
maxStudyTime | 문제 푸는데 권장되는 가이드 시간 |
questionText | 문제에 대한 정보. 영어의 경우 제목과 지문을 텍스트로 제공 |
subQuestions | 하나의 study activity 단위 안에 여러개의 하위(sub) 문제들로 구성 |
commonQuestionTitle | 전체 하위 문제에 대한 공통 질문 제목 |
•
subQuestions
수학 데이터 예시 및 설명
객관식 / 주관식
Column | Description |
contentType | COMMON: 객관식/주관식 타입 |
maxStudyTime | 문제 푸는데 권장되는 가이드 시간 |
questionText | 문제에 대한 정보. 수학의 경우 이미지로 문제 제공 |
subQuestions | 하나의 study activity 단위 안에 여러개의 하위(sub) 문제들로 구성 |
commonQuestionTitle | 전체 하위 문제에 대한 공통 질문 제목 |
•
subQuestions
◦
title: 하위 문제의 번호 또는 제목
◦
answerType: 답변 유형
▪
객관식
•
MULTIPLE_CHOICE_SINGLE_ANSWER
•
MULTIPLE_CHOICE_MULTIPLE_ANSWER
▪
주관식
•
SHORT_ANSWER_SINGLE_ANSWER
•
SHORT_ANSWER_MULTIPLE_ANSWER
◦
explanation: 문제 해설
◦
choiceItemList: 객관식의 경우 각 문항의 값과 정오답 여부 리스트
◦
studentAnswerMultiple: 객관식의 경우 학생이 선택한 문항 번호 리스트
◦
correctAnswerSubjective: 주관식의 경우 정답 텍스트 리스트
◦
studentAnswerSubjective: 주관식의 경우 학생의 정답 텍스트 리스트
참고자료 예시 및 설명
study_activity, study_unit, study_module 단위로 학생이 참고할 수 있는 자료를 선생님들이 텍스트 또는 이미지로 참고자료로 등록하여 사용하고 있습니다.
학생이 해당 문제를 학습 하기 전에 알아야할 정보나 학습 후에도 해당 문제에 대한 특별한 풀이방법이나 개념, 추가적인 질문 등을 참고자료로 만들어서 학습 후 피드백으로 바로 제공할 수 있습니다.
Column | Description |
title | 해당 참고자료의 이름 |
content | 해당 참고자료의 실제 내용(JSON) |
type | AFTER_STUDY : 학습 후에 사용할 참고자료
BEFORE_STUDY : 학습 전에 사용할 참고자료 |
category | 해당 참고자료가 어떤 상황에 쓰여야 되는지에 대한 정보
QUESTION : 역질문
ANSWER : 역질문답
FEEDBACK_BY_EXAMPLE : 보기별 피드백
CORE_CONCEPT_EXPLANATION : 핵심개념 설명
LEANING_MATERIAL : 학습 자료
FREQUENTLY_ASKED_QUESTION : FAQ
FREQUENTLY_ASKED_QUESTION_ANSWER : FAQ 답변
WRONG_ANSWER_CAUSE 오답 원인 REPEATED_COMMENT : 반복 사용 멘트 HOMEWORK : 숙제
OTHER : 기타 |
source | 공식자료인지, 선생님이 등록한 자료인지 |
citation_count | 참고자료 인용 수 |
2-3. 데이터 추후 데이터 제공 계획 (To Be)
1.
영어의 경우에는 어느정도 학습이 활용가능한 데이터와 자체 데이터 구조로 인해 전처리가 조금 더 필요한 데이터로 분리되어 있어 문항 자체에 있는 metadata json 데이터를 추후 전처리하여 제공할 예정입니다.
2.
수학 문항 데이터는 밀당PT의 경우 대부분 이미지로 구성되어 있으며 추후 자체 전처리 프로세스를 통해서 텍스트 및 Latex 변환을 진행할 예정입니다. 최종적으로는 각 문제에 대한 정보도 LLM에서 바로 활용할 수 있는 텍스트 정보로 전달할 예정입니다.
3.
AI 디지털 교과서의 경우에는 자체 에디터 ProsMirror 포맷으로 현재 저장되어있는데 자체 전처리 프로세스를 통해서 문항의 세부 내용을 구분하여 제공 예정입니다.
4.
각 문제와 대화 데이터를 매핑하여 데이터를 결합할 수 있고, 각 문제마다 연결된 참고자료를 인용여부를 토대로 인용된 참고자료가 가지고 있는 이미지 또한 변환하여 제공할 예정입니다.
5.
역질의나 학생 질문의 다양한 케이스에 대해 대응이 가능한 참고자료 데이터 또한 내부에서 이미지로 많이 다루고 있는데 해당 부분도 Text 및 Latex 변환 후 제공 예정
3. 손필기 문항 풀이 및 피드백 데이터
데이터 명세
항목 | 설명 |
데이터 명칭 | 선생님 - 학생 대화 데이터 |
데이터 설명 | 선생님 한명과 그 선생님이 담당하는 학생 한 명과의 대화 내역 |
데이터 카테고리 | 대화 |
데이터 형식 | CSV |
파일 확장자 | .csv |
수집 주기 | 주배치 |
저장 방식 | MySQL |
예상 데이터 크기 | 약 600만개(약 1GB) / 월 |
데이터 제공 방식 | csv 전달 |
개인 정보 포함 | 이름(마스킹 처리) |
담당 부서 | IHFB R&D 본부 데이터팀 |
3-1. 데이터 예시 및 설명 (As Is)
현재는 실시간 시퀀스를 저장하기 위해서 해당 데이터의 포맷은 HTML DOM 형태로 저장소에 저장하고 있습니다. 손필기 데이터는 유저별로 레이어를 가지고 있어 어떤 유저가 손필기를 했는지 구분이 가능하고, 시퀀스 또한 가지고 있기 때문에 특정 구간별로 손필기를 쪼개서 저장할 수도 있습니다.
3-2. 추후 데이터 제공 계획 (To Be)
1.
HTML DOM 형태로 저장하고 있는 손필기 데이터를 학생과 선생님 레이어를 구분해서 이미지 형태로 변환
2.
각 이미지마다 시퀀스 정보를 이용하여 순서를 매핑
3.
중요한 손필기 정보에 대한 추가적인 라벨링 진행
4.
해당 이미지를 다시 Text 와 Latex 로 변환하는 전처리 프로세스를 통해서 최종적으로 대화 데이터와 같이 메타데이터와 피드백 데이터를 매핑하여 제공 예정