인공지능이�사람의 채점을�대신할 수 있을까?
곰파다 프로젝트�NLP-03조 삼각김박임
#자동_채점 #채점_도우미 #교육_AI
목차
2
Introduction
안녕하세요, 삼각김박임 입니다.🍙
4
김상렬 | 김소연 | 김은기 | 박세연 | 임수정 |
| | | | |
Frontend 개발
Backend API 설계
프로젝트 배포 �및 관리
모델 엔지니어링
문맥 유사도 모델/
키워드 모델 제작
데이터 증강�Web/로고 디자인
전체 pipeline 연결
데이터 수집
문맥 유사도 모델
평가 데이터셋 제작
SBERT 성능 실험
PM
유사도 모델링
Rule-based 데이터 구축
5
곰파다는 채점 기준을 참고하여
서술형 답안을 꼼꼼히 채점함으로써
선생님들의 반복적 채점 작업을 효율적으로 줄여줍니다.
Education + AI
6
2019
4,040
* 단위 : 달러(억)
···
1,830
2025
[1] 교육 분야에서의 인공지능(AI) 및 데이터 활용 동향 2021
1. Introduction
Education + AI : 해외 사례
7
[1] 교육 분야에서의 인공지능(AI) 및 데이터 활용 동향 2021
1. Introduction
Education + AI : 국내 사례
8
적응형 학습 서비스
교육 행정 지원 서비스
[1] 교육 분야에서의 인공지능(AI) 및 데이터 활용 동향 2021
1. Introduction
Education + AI : 국내 사례
9
적응형 학습 서비스
교육 행정 지원 서비스
채점은.. AI가 하겠지?
[1] 교육 분야에서의 인공지능(AI) 및 데이터 활용 동향 2021
1. Introduction
수능에도 도입되는 서술형
10
수학능력평가
[1] https://www.newsworks.co.kr/news/articleView.html?idxno=544004
1. Introduction
수능에도 도입되는 서술형
11
수학능력평가
1. Introduction
채점은.. AI가 하겠지?
정말, AI는 잘 채점하고 있나?
12
[1] 한국어 서답형 문항 자동 채점 결과 비교 분석1) -국가수준 학업성취도 평가 국어,사회,과학 문항을 중심으로 2014
[2] 조선에듀 교육 컬럼 2021.07
1. Introduction
곰파다의 목표
13
1. Introduction
Data & Modeling
서술형 답안 채점 기준
15
한국 교육과정 평가원 서술형 평가 기준표 [1]
[1] 구자옥, 『2018년 학업성취도평가 결과 분석:과학』 (한국교육과정평가원, 2019) , p.11
2. Data & Modeling
키워드 : 혈장, 적혈구, 백혈구, 혈소판
키워드 설명 :
혈장 - 물질이나 가스를 운반한다. 삼투압을 조절한다.
적혈구 – 산소를 운반한다.
백혈구 – 세균을 잡아먹는다.
혈소판 – 혈액을 응고시킨다.
서술형 답안 채점 기준
16
문맥 유사도 채점
키워드 채점
필수적으로 들어가야 하는
키워드를 포함하여 서술했는가?
키워드에 대한 설명이�선생님이 제시한 모범답안과
문맥적으로 유사한가?
[1] 구자옥, 『2018년 학업성취도평가 결과 분석:과학』 (한국교육과정평가원, 2019) , p.11
곰파다의 채점 기준
1. 키워드 포함 여부
2. 키워드 설명
2. Data & Modeling
데이터 : 키워드 채점 & 문맥 유사도 채점
17
서술형 문제 및 문제에 대한 학생 답안 수집
관련 연구 데이터
네이버 지식인 Q&A
학원/학교
서술형 문제
[1] 교육부와 한국과학창의재단이 지원한 서술형 평가 지원프로그램 개발 데이터 (연구책임: 하민수 교수)
2. Data & Modeling
데이터 : 실제 서술형 데이터
18
[1] 교육부와 한국과학창의재단이 지원한 서술형 평가 지원프로그램 개발 데이터 (연구책임: 하민수 교수)
교육부와 한국과학창의재단이 지원한 서술형 평가 지원프로그램 개발 데이터 (연구책임: 하민수 교수)
2. Data & Modeling
데이터 : 실제 서술형 데이터
19
[1] 교육부와 한국과학창의재단이 지원한 서술형 평가 지원프로그램 개발 데이터 (연구책임: 하민수 교수)
문제
2. Data & Modeling
데이터 : 실제 서술형 데이터
20
[1] 교육부와 한국과학창의재단이 지원한 서술형 평가 지원프로그램 개발 데이터 (연구책임: 하민수 교수)
문제
학생 답안
2. Data & Modeling
데이터 : 실제 서술형 데이터
21
[1] 교육부와 한국과학창의재단이 지원한 서술형 평가 지원프로그램 개발 데이터 (연구책임: 하민수 교수)
문제
학생 답안
키워드 &
답안 별 키워드
존재 유무
2. Data & Modeling
데이터 : 실제 서술형 데이터
22
[1] 교육부와 한국과학창의재단이 지원한 서술형 평가 지원프로그램 개발 데이터 (연구책임: 하민수 교수)
문제
서술형 문제 �개수 | 총 64문제 |
문제 별 학생 �답변 수 | 850 ~ 1000개 |
학생 답안
2. Data & Modeling
키워드 &
답안 별 키워드
존재 유무
데이터 : 키워드 채점
23
Train
TF-IDF, BM25, Word Embedding …
모델에 필요한 corpus 수집
서술형 문제에 대한 학생 답안 + 문제별 키워드
Validate & Test
학생 답안
키워드
2. Data & Modeling
데이터 : 문맥 유사도 채점
24
STS(Sentence Textual Similarity) Task
| KorSTS[1] | paraKQC[2] | Kor-sentence[3] | KLUE STS[4] |
라벨 | 0~5 값 | 0 또는 1 | 0 또는 1 | 1. 0 또는 1 2. 0~5 값 |
특징 | 짧은 문장. 외국 STS-B 번역. 뉴스, 표현 설명 내용 | 짧은 문장. 질문중심 | 짧은 문장. 지식인 질문 포함. 인터넷 용어 다수 | 짧은 문장. Airbnb, Policy, paraKQC 포함 |
데이터 개수 | 5,749 | 15,170 | 61,220 | 11,668 |
[1-4] appendix 의 레퍼런스 페이지 참고
2. Data & Modeling
Train
데이터 : 문맥 유사도 채점
25
2. Data & Modeling
각 문제에 대한 모범 답안 제작 및 �(모범답안, 학생 답안) 유사도 라벨링 작업 진행
수집한 서술형 데이터의 문제
Validate & Test
데이터 : 문맥 유사도 채점
26
제작한 모범답안
[1] 만점왕 EBS 초등 과학 5-2.생물과 환경
분해자가 없어 진다면 죽은 생물과
배설물이 분해되지 않아서
생태계가 오염될 것이다.
2. Data & Modeling
Validate & Test
문제 : 분해자(버섯, 곰팡이)가 지구에서 사라지면 어떤 일이 생길까요?
키워드 : 사체, 배설물, 생태계
참고 EBS 교육 자료[1] :
1. 문제 별 모범답안 제작
데이터 : 문맥 유사도 채점
27
학생 답안 | 평가자1 | 평가자2 | 평가자3 | 평가자4 | 평가자5 |
죽은 생물이 썩지 않고 그대로 있고 쓰레기도 분해되지 않는다. | 2점 | 2점 | 3점 | 2점 | 2점 |
생태계가 멸종될 것이다. | 1점 | 0점 | 1점 | 0점 | 0점 |
키워드 : 사체, 배설물, 생태계
제작한 모범 답안 : 분해자가 없어진다면 죽은 생물과 배설물이 분해되지 않아서 생태계가 오염될 것이다.
* 라벨링 기준표 appendix 참고
2. Data & Modeling
2. (모범 답안, 학생 답안) Pairing & Pilot Tagging 진행
Validate & Test
데이터 : 문맥 유사도 채점
28
3 . 반의어를 고려한 negative sample 추가
2. Data & Modeling
제품 질이 향상되고
저렴한 가격에 상품이 팔릴 것이다.
제품 질이 낮아지고
비싼 가격에 상품이 팔릴 것이다.
Positive sample
Negative sample
Label : 1
Label : 0
Validate & Test
데이터 : 문맥 유사도 채점
29
문제 | 모범 답안 | 학생 정답 | Label |
q55 | 분해자가 없어진다면 죽은 생물과 배설물이 분해되지 않아서 생태계가 오염될 것이다. | 죽은 생물이 썩지 않고 그대로 있고 쓰레기도 분해되지 않는다. | 1 |
q55 | 분해자가 없어진다면 죽은 생물과 배설물이 분해되지 않아서 생태계가 오염될 것이다. | 생태계가 멸종될 것이다. | 0 |
q51 | 제품의 가격이 낮아지고, 품질이 좋아진다. | 제품 질이 향상되고 저렴한 가격에 상품이 팔릴 것이다. | 1 |
q51 | 제품의 가격이 낮아지고, 품질이 좋아진다. | 제품 질이 낮아지고 비싼 가격에 상품이 팔릴 것이다. | 0 |
2. Data & Modeling
(제작 데이터 예시)
Validate & Test
문맥 유사도 모델 평가 데이터 총 110개 제작 완료
데이터 제작 추가 : 문맥 유사도 채점 Pseudo Labeling
30
2. Data & Modeling
사람이 직접 모범답안 제작 + 유사도 채점 🡪 시간 대비 완성 데이터 개수가 너무 적다.
데이터 제작 추가 : 문맥 유사도 채점 Pseudo Labeling
31
사람이 직접 모범답안 제작 + 유사도 채점 🡪 시간 대비 완성 데이터 개수가 너무 적다.
학습된 문장 임베딩 모델을 활용해 코사인 유사도 계산 후, 사람이 최종 라벨링
2. Data & Modeling
데이터 제작 추가 : 문맥 유사도 채점 Pseudo Labeling
32
모범 답안과 학생 답안의 코사인 유사도 기준으로 학생 답안을 정렬한 결과
모범 답안 예시 : 나무 재질보다 금속 재질이 열 전달이 더 잘 되기 때문이다
상위 20% 이내 학생 답안 예시 | 하위 20% 학생 답안 예시 |
금속이 나무보다 열을 더 잘 흡수를 잘하기 때문이다. 나무보다 금속이 열 전달을 더 잘하기 때문에. 나무 국자보다 금속 국자가 열 전도성이 좋기 때문이다. 나무 국자보다 금속 국자가 더욱 열이 잘 전달되기 때문이다. | 열이 통하지 않아서 그냥 그러기 때문에 나무는 전도가 된다 모르겠습니다 안 배웠어요. |
2. Data & Modeling
Data & Modeling
최종 채점 기준
34
키워드 :
가격, 품질, 다양성, 혜택
학생 답안 :
빵을 더 낮은 값에 살 수 있고, 빵의 맛이 더 좋아져서 소비자들은 많은 혜택을 받는다.
키워드 점수 : 3/4 = 0.75
문맥 유사도 채점
키워드 채점
질문 : 여러 제과점이 서로 경쟁을 하면 소비자에게 어떤 점이 좋을까요?
모범 답안:
제품의 가격이 낮아지고, 품질이 좋아진다.
또한 제품의 다양성이 증가하므로 소비자들은 더 좋은 혜택을 받을 수 있다.
학생 답안 :
빵을 더 낮은 값에 살 수 있고, 빵의 맛이 더 좋아져서 소비자들은 많은 혜택을 받는다.
유사도 점수: 0.82
2. Data & Modeling
곰파다 모델링 전체 구조
35
2. Data & Modeling
곰파다 모델링 전체 구조
36
2. Data & Modeling
키워드 채점 : 키워드 기반 분류
37
키워드 : 가격
ex1) 부덕이의 답안 : 어느 곳에 빵의 가격이 낮은 지 알 수 있다.
ex2) 메타몽의 답안 : 어느 곳에 빵의 값이 낮은 지 알 수 있다. (매칭 실패)
2. Data & Modeling
키워드 채점 : 키워드 기반 분류
38
값
가격
원가
키워드 : 가격
들어온 문장 : 어느 곳에 빵의 값이 낮은 지 알 수 있다.
가격과 유사한 단어 : 값
2. Data & Modeling
키워드 채점 : 키워드 기반 분류
39
키워드 : 가격
들어온 문장 : 공짜를 좋아하면 대머리됨ㅋ
Top-1 선택 시 공짜가 선택될 수 있음.
부덕이 1 | 모르겠다. 소비자라는걸 몰른다 ㅇㅈ??????? |
부덕이 2 | 돈을 벌 수 있다. |
부덕이 3 | 광고지 |
부덕이 4 | 공짜를 좋아하면 대머리됨ㅋ |
2. Data & Modeling
곰파다 모델링 전체 구조
40
2. Data & Modeling
문맥 유사도 채점 : 문장 유사도 판단 학습
41
우리 곰파다 최고 + [SEP] + 우리 곰파다는 훌륭하네
BERT
head
회귀
분류
2. Data & Modeling
문맥 유사도 채점 : 문장 유사도 판단 학습
42
우리 곰파다 최고 + [SEP] + 우리 곰파다는 훌륭하네
BERT
head
[1] Reimers, Nils, and Iryna Gurevych. "Sentence-bert: Sentence embeddings using siamese bert-networks." arXiv preprint arXiv:1908.10084 (2019).
BERT 모델 | Threshold 출력 확률이 threshold 이상일 시 동일 문장 예측으로 처리, binary accuracy | ||
| 0.6 | 0.7 | 0.8 |
오픈 벤치마크 validation | 0.93 | 0.92 | 0.92 |
실제 구축 validation | | | |
2. Data & Modeling
문맥 유사도를 어떻게 효과적으로 파악할까?
43
실제 구축 validation | Threshold Similarity가 threshold 이상일 시 동일 문장 예측으로 처리 binary accuracy | ||
| 0.6 | 0.7 | 0.8 |
BERT | 0.62 | 0.60 | 0.48 |
SBERT | 0.64 (0.02▲) | 0.59 (0.01▲) | 0.62 (0.14▲) |
[1] Reimers, Nils, and Iryna Gurevych. "Sentence-bert: Sentence embeddings using siamese bert-networks." arXiv preprint arXiv:1908.10084 (2019).
2. Data & Modeling
* xlm : cross-language model
문맥 이해를 더 잘할 수 있게 해보자
44
NLI 분류 학습
Similarity 학습
[1] Reimers, Nils, and Iryna Gurevych. "Sentence-bert: Sentence embeddings using siamese bert-networks." arXiv preprint arXiv:1908.10084 (2019).
2. Data & Modeling
문맥 이해를 더 잘할 수 있게 해보자
② 문맥 비교에 도움될 수 있는 사전 테스크 학습
45
NLI 분류 학습
Similarity 학습
[1] Reimers, Nils, and Iryna Gurevych. "Sentence-bert: Sentence embeddings using siamese bert-networks." arXiv preprint arXiv:1908.10084 (2019).
2. Data & Modeling
문맥 이해를 더 잘할 수 있게 해보자
46
실제 구축 Validation | Threshold | ||
| 0.6 | 0.7 | 0.8 |
BERT | 0.62 | 0.60 | 0.48 |
SBERT (xlm-bert-base/ 추가 튜닝 X) | 0.64 | 0.59 | 0.62 |
SBERT +STS (xlm-bert-base) | 0.66 | 0.61 | 0.59 |
SBERT +NLI+STS (klue/bert-base) | 0.67 (최종 : 0.05▲) | 0.65 (최종 : 0.05▲) | 0.58 (최종 : 0.10▲) |
[1] Reimers, Nils, and Iryna Gurevych. "Sentence-bert: Sentence embeddings using siamese bert-networks." arXiv preprint arXiv:1908.10084 (2019).
2. Data & Modeling
문맥 이해를 더 잘할 수 있게 해보자
47
모범 답안 | 경쟁사가 있을 경우 서로의 상품이 잘 팔리게 하기 위해 가격도 낮추고 상품의 품질도 좋아진다. 또 상품의 다양성을 늘리는데도 도움이 된다. | BERT 스코어 | SBERT 스코어 |
답변 1 | 제품의 가격이 낮아지고, 품질이 좋아진다. 또 제품의 다양성이 증가하고, 소비자들은 더 좋은 혜택을 받을 수 있다. | 0.56 | 0.81 |
답변 2 | 서로의 이권을 더 얻기 위해 품질이나 가격경쟁력 따위를 높이기 위해 노력하여 소비자는 더 질 좋으면서도 값싼 상품을 얻을 수 있을 것이다. | 0.52 | 0.75 |
* 추가 예시 appendix 참고
2. Data & Modeling
Service & Product
시스템 구조
사용자
49
Input: 문제 & 모범 답안 & 키워드 & 학생답변
Output: 학생답변 점수
Frontend
Backend
Preprocessing
Inference
- Keyword checker
- similarity
Postprocessing
modeling
data�processing
3. Service & Product
시스템 프레임워크 선정
50
Frontend 와 Backend의 분리 | Streamlit등의 라이브러리는 사용자 커스텀 환경 부족 MVC 패턴으로 분리 어려워 협업의 난이도가 높음 커스터마이징 및 업무 분리를 효과적으로 하기 위해 분리 |
Vue.js | 중규모의 프로젝트 프로토타이핑을 위해서 도입 다양한 외부 라이브러리(NPM)과 그래프, 차트를 적용하기 위해 사용 빠른 프로젝트 프로토타이핑, 필요한 기능 구현 위한 외부 라이브러리 |
FastAPI | 가볍고 강력한 ASGI 툴킷인 Starlette 사용, API Docs를 통한 API 문서 공유 용이, 모델 서빙과 API 단의 구조적 설계를 통한 코드 관리 용이 문서화와 구조적 설계 용이 |
3. Service & Product
코드 최적화
51
3. Service & Product
Demo
곰파다 시현
53
3. Service & Product
Summary & Discussion
곰파다를 요약하자면
55
실제 교육현장에서 선생님들의 채점 환경 반영
문맥 유사도
채점
키워드 채점
[1] Brabb, Thea, et al. "Institutional animal care and use committee considerations for animal models of peripheral neuropathy." ILAR journal 54.3 (2014): 329-337.
4. Summary & Discussion
곰파다를 요약하자면
56
단순
Rule-Based Model
딥러닝
채점 모델
키워드 :
가격, 품질, 다양성, 혜택
학생 답안 :
빵을 더 낮은 값에 살 수 있고, 빵의 맛이 더 좋아져서 소비자들은 많은 혜택을 받는다.
4. Summary & Discussion
곰파다의 Further Works : 모델
문장의 Embedding을 어떻게 더 효과적으로 할 수 있을까?
57
Binary
Regression
문장 임베딩
4. Summary & Discussion
곰파다의 Further Works : 모델
58
문장의 Embedding을 어떻게 더 효과적으로 할 수 있을까?
4. Summary & Discussion
곰파다의 Further Works : 모델
59
문장의 Embedding을 어떻게 더 효과적으로 할 수 있을까?
4. Summary & Discussion
영희의 답안 : 고도가 높아짐에 따라 대기압이 낮아진다.
대기압이 낮아진다.
고도가 높아짐에 따라
문장 분해
곰파다의 Further Works : 데이터
60
영희의 답안 : 고도가 높아짐에 따라 대기압이 낮아진다.
철수의 답안 : 고도가 올라가면서 기압이 높아진다.
4. Summary & Discussion
곰파다의 Further Works : 데이터
61
4. Summary & Discussion
증가
Increase
Decrease
감소하다
번역
영어 반의어
검색
번역
곰파다의 Further Works : 지표, 시스템
62
4. Summary & Discussion
About US 😆
팀 소개! + Roles
64
5. About US 😆
65
감사합니다
66
Q&A
Appendix
데이터셋 추가 레퍼런스
[1] https://github.com/kakaobrain/KorNLUDatasets
[2] https://github.com/warnikchow/paraKQC
[3] https://github.com/yoongi0428/Kor-Sentence-Similarity
[4] https://klue-benchmark.com/tasks/67/data/description
68
Appendix
Training & Deployment 환경
69
Appendix
협업 툴
코드 관리 : github,huggingface hub
커뮤니케이션 : slack
아카이브: 노션 & 드라이브
70
Appendix
Timeline
71
| 3월 | 4월 | 5월 1W | 5월 2W | 5월 3W | 5월 4W | 6월 1W |
아이디에이션 & 사전 연구 조사 | - 아이디어 제안 - 채점 관련 서비스 조사 | | | | | ||
연구조사 심화 | | |
| | | | |
기능 정의 | | | |
| | | |
프론트앤드 구현 | | | | | - 주요 기능 mockup 테스트 | | |
백엔드 구현 | | | | |
| ||
벤치마크 기준 모델 파일럿 테스트 | | | |
| | | |
Validation & 커스텀 데이터 구축 | | | |
| | ||
키워드 모델 고도화 | | | | | | - word2vec 기반 키워드 체커 | |
유사도 모델 고도화 | | | | | | - SBERT 훈련 및 ablation study | |
테스트 | | | | | | - 로직 구체화, 테스트 | |
Appendix
파일럿 태깅 라벨링 기준
72
*Label 기준
3 = 답변에 포함된 키워드에 대한 모든 논리가 모범답안과 유사하거나 일치함
2 = 키워드에 대한 논리가 틀리다고 할 순 없지만, 맞았다고 하기도 애매함
1 = 키워드에 대한 논리가 틀린 개 1개 이상이고, 맞는 부분도 1개 이상 존재
0 = 키워드에 대한 논리가 모두 틀림
학생 답안 | 평가자1 | 평가자2 | 평가자3 | 평가자4 | 평가자5 |
점점 공기의 온도가 낮아지고 기압이 낮아지기 때문일 것 같다. | 2 | 2 | 2 | 3 | 2 |
기압이 높아져서 공기의 압력때문에 빵빵해지게 될 것일 것 같다. | 1 | 0 | 0 | 0 | 0 |
고도가 높아지면 기압이 낮아져서 과자 봉지의 내부 공기가 팽창한다 | 3 | 3 | 3 | 3 | 3 |
Appendix
키워드 유사도 모델 진행 과정
73
Appendix
키워드 :
가격, 품질, 다양성
값
품질
다양성
키워드 유사도 모델 진행 과정
Appendix
키워드 :
가격, 품질, 다양성
학생 답안 :
빵을 더 낮은 값에 살 수 있고..
split
빵을 더 낮은 값에 살 수 있고..
키워드 유사도 모델 진행 과정
Appendix
키워드 :
가격, 품질, 다양성
학생 답안 :
빵을 더 낮은 값에 살 수 있고..
값에
Mecab 형태소 분류기
값/Noun + 에/Josa
키워드 유사도 모델 진행 과정
Appendix
키워드 :
가격, 품질, 다양성
학생 답안 :
빵을 더 낮은 값에 살 수 있고..
가격/Noun
값/Noun
Word2Vec 유사도 검출기
유사도 0.8
유사도 0.35 이상?
Yes!
왜 직접 구현이 아닌 fastText 선택?
77
Appendix
왜 문맥 단어 그대로가 아닌 Tokenizer를 사용했는가?
Tokenizer를 통해 어미와 조사를 분리하지 않으면 단어의 의미가 달라지는 경우 존재
78
“열의”
Okt
Appendix
“열”
“열/Noun”
“의/Josa”
“의”
Okt
“열의Noun”
왜 Tokenizer 중에서 Okt를 선택?
79
Appendix
“기다리는”
Okt
”기다리다/VERB”
Mecab
“기다리VVB”
“기다리는”
키워드 유사도 모델의 한계점과 개선방안
즉, 키워드가 문맥에서 어떻게 사용이 되었는가는 평가해내지 못함
80
Appendix
가격
품질
다양성
혜택
제시된 키워드
Wor2Vec 기반 검출
키워드 검출 🡪 정답처리
빵을 더 높은 값에 살 수 있고…
키워드 유사도 모델의 한계점과 개선방안
ex1) n-gram 방식을 차용해 구문과 모범답안의 키워드 문맥을 비교
ex2) 주체, 객체, 서술어 추출 방식 🡪 구문 검출
81
Appendix
가격
품질
다양성
혜택
빵을 더 높은 값에 살 수 있고…
제시된 키워드
키워드 문맥
낮은 가격에 구매
품질이 좋아진다.
다양성이 높아진다.
…
Wor2Vec 기반 검출
값 🡪 더 높은 값
유사도 점수 0.2 🡪 탈락
구문 유사도 모델
문맥 유사도를 어떻게 효과적으로 파악할까?
82
[CLS]
우리
곰
파다
[SEP]
T1
T2
T3
T4
T5
BERT
[CLS]
우리
곰
파다
[SEP]
T1
T2
T3
T4
T5
BERT
[CLS]
우리
곰
파다
[SEP]
T1
T2
T3
T4
T5
BERT
A. [CLS] 토큰
B. 토큰 Max pooling
C. 토큰 Mean pooling
2. Data& Modeling
문맥 유사도를 어떻게 효과적으로 파악할까?
83
우리 곰파다 최고 + [SEP] + 우리 곰파다는 훌륭하네
BERT
head
Appendix
문맥 유사도를 어떻게 효과적으로 파악할까?
84
우리 곰파다 최고 + [SEP] + 우리 곰파다는 훌륭하네
BERT
head
Reimers, Nils, and Iryna Gurevych. "Sentence-bert: Sentence embeddings using siamese bert-networks." arXiv preprint arXiv:1908.10084 (2019).
Appendix
문맥 모델 추가 예시 : 짧은 모범답안 1
85
모범 답안 : 지구는 주변을 돈다.
학생 답안 | Cosine similarity | Threshold 0.6 |
지구는 주변을 돌지 않는다. | 0.58 | 0 |
주변을 지구는 돈다. | 0.97 | 1 |
지구는 멈춰있다. | 0.54 | 0 |
멈춰있지 않고 중심을 기준으로 계속 움직인다. | 0.47 | 0 |
지구는 멈춰있지 않고 중심을 기준으로 계속 움직인다. | 0.76 | 1 |
부정 표현 Catch!
어순이 달라져도 Catch!
반의어 Catch!
같은 표현이지만 겹치는 단어가 없을 경우 놓침! ‘지구’라는 단어 포함 여부에 따른 성능차이 큼
Appendix
문맥 모델 추가 예시 : 짧은 모범답안 2
86
모범 답안 : 콩팥은 재흡수, 분비 과정을 거쳐 오줌을 통해 노폐물을 몸밖으로 내보낸다.
학생 답안 | Cosine similarity | Threshold 0.6 |
콩팥은 재흡수를 거쳐 오줌을 통해 노폐물을 몸밖으로 내보낸다. | 0.99 | 1 |
콩팥은 재흡수를 거쳐 오줌을 통해 노폐물을 체외로 보낸다. | 0.97 | 1 |
신장은 재흡수를 통해 오줌을 통해 노폐물을 체외로 보낸다. | 0.91 | 1 |
소변을 통해 체외로 노폐물이 빠지는 과정은 신장에서 수행된다. | 0.85 | 1 |
몸에 필요한 것들은 재흡수가 되고 불필요한 것은 신장에서 내보낸다. | 0.71 | 1 |
노폐물들이 오줌을 통해서 체외로 내보내진다. | 0.82 | 1 |
콩팥은 노폐물 배출을 담당하지 않는다. | 0.46 | 0 |
콩팥은 재흡수, 분비 과정을 거치지 않고 오줌을 통해 노폐물을 몸밖으로 내보낸다. | 0.76 | 1 |
콩팥은 재흡수, 분비 과정을 거쳐 오줌을 통해 노폐물을 몸 안으로 재흡수한다. | 0.97 | 1 |
콩팥은 재흡수, 분비 과정을 거쳐 오줌을 통해 중요한 성분을 몸 밖으로 내보낸다. | 0.96 | 1 |
소변은 간과 연관되어 있고 노폐물들은 크게 영향을 주지 않는다. | 0.40 | 0 |
모르겠어요. | 0.00 | 0 |
반의어에 대한 파악을 어려워함
Appendix
문맥 모델 추가 예시 : 긴 모범답안
87
모범 답안 : 콩팥은 재흡수, 분비 과정을 거쳐 오줌을 통해 노폐물을 몸밖으로 내보낸다. 즉 항상성 유지를 위해 호르몬을 생산, 분비하는 내분비 기능을 가지고 있다.
학생 답안 | Cosine similarity | Threshold 0.6 |
콩팥은 재흡수를 거쳐 오줌을 통해 노폐물을 몸밖으로 내보낸다. | 0.85 | 1 |
콩팥은 재흡수를 거쳐 오줌을 통해 노폐물을 체외로 보낸다. | 0.83 | 1 |
신장은 재흡수를 통해 오줌을 통해 노폐물을 체외로 보낸다. | 0.79 | 1 |
소변을 통해 체외로 노폐물이 빠지는 과정은 신장에서 수행된다. | 0.81 | 1 |
몸에 필요한 것들은 재흡수가 되고 불필요한 것은 신장에서 내보낸다. | 0.69 | 1 |
노폐물들이 오줌을 통해서 체외로 내보내진다. | 0.72 | 1 |
콩팥은 노폐물 배출을 담당하지 않는다. | 0.37 | 0 |
소변은 간과 연관되어 있고 노폐물들은 크게 영향을 주지 않는다. | 0.36 | 0 |
모르겠어요. | 0.00 | 0 |
비교 기준이 되는 모범 답안이 더 많은 정보를 포함하고 길어질 수록 학생 답안 비교 점수가 떨어짐
Appendix
성능 분석 : Confusion Matrix
88
| Predicted | ||
Pos | Neg | ||
Ground truth | Pos | 50 | 7 |
Neg | 29 | 24 | |
| Predicted | ||
Pos | Neg | ||
Ground truth | Pos | 36 | 21 |
Neg | 21 | 32 | |
BERT 모델 + 회귀
SBERT 모델 + Cosine Loss
Appendix
성능 분석 : 예측 분포
89
BERT
SBERT
회귀 결과값
유사도 값
실제 동일한 pair에 대한 예측
실제 다른 pair에 대한 예측
* 회귀 점수와 유사도값을 비교하는 것은 무리가 있을 수 있으나, 최종값을 사용하는 관점에서 결과 분석 위해 사용
Appendix
데이터 : 문맥 유사도 채점 : 오픈 데이터 특징
90
Train
| KorSTS[1] | paraKQC[2] | Kor-sentence[3] | KLUE STS[4] |
라벨 | 0~5 값 | 0 또는 1 | 0 또는 1 | 1. 0 또는 1 2. 0~5 값 |
특징 | 짧은 문장. 외국 STS-B 번역. 뉴스, 표현 설명 내용 | 짧은 문장. 질문중심 | 짧은 문장. 지식인 질문 포함. 인터넷 용어 다수 | 짧은 문장. Airbnb, Policy, paraKQC 포함 |
데이터 개수 | 5,749 | 15,170 | 61,220 | 11,668 |
2. Data& Modeling
커스텀 데이터셋 제작 과정 : 유의어 및 단어 설명
91
기존 자동 채점 연구 데이터[1] 에서
발생하는 명사 추출(총 3,963개)
[1] 교육부와 한국과학창의재단이 지원한 서술형 평가 지원프로그램 개발 데이터 (연구책임: 하민수 교수)
’명사’의 경우 뜻 풀이로 크롤링
단어집 구성
구축 이유 : 학생 답변 중 유의어 파악을 잘 시키면 좋은 임베딩이 되지 않을까?
Appendix
커스텀 데이터셋 제작 과정 : 반의어
92
기존 자동 채점 연구 데이터[1] 에서
발생하는 용언(577), 형용사(112) 추출
[1] 교육부와 한국과학창의재단이 지원한 서술형 평가 지원프로그램 개발 데이터 (연구책임: 하민수 교수)
[2] 우리말샘: https://opendict.korean.go.kr/main
반의어 부재
해당 단어 부재
구축 이유 : 학생 답변 중 중요한 동사가 정반대의 의미를 갖는 경우가 다수!!
Appendix
커스텀 데이터셋 제작 과정 : 반의어
93
증가
Increase
Decrease
감소하다
번역
영어 반의어
검색
번역
Appendix
커스텀 데이터셋 제작 과정 : 데이터 생성
94
구축 이유 : 모아진 유의어, 의미 풀이, 반의어로 데이터를 생성해서 학습하면 더 효과적인 negative sample을 만들 수 있지 않을까?
'주어’ + ‘조사’ + ‘동사/형용사’
명사 뭉치
동사/형용사 뭉치
은/는/이/가
문장 템플릿
랜덤 선택
랜덤 선택
랜덤 선택
Appendix
커스텀 데이터셋 제작 과정 : 데이터 생성
95
구축 이유 : 모아진 유의어, 의미 풀이, 반의어로 데이터를 생성해서 학습하면 더 효과적인 negative sample을 만들 수 있지 않을까?
생성된 원래 문장 : 하늘은 푸르다
Positive Samples
Negative Samples
지평선이나 수평선 위로 보이는 무한대의 넓은 공간는 푸르다
지평선이나 수평선 위로 보이는 무한대의 넓은 공간는 생활에서 충분한 만족과 기쁨을 느끼어 흐뭇하다.
하늘은 안 푸르다
하늘은 누렇다
지평선이나 수평선 위로 보이는 무한대의 넓은 공간는
안 푸르다
Appendix
성능 Ablation : 데이터셋 종류에 따른 성능
96
데이터셋 | Threshold | ||||||
korSTS | paraKQC | 생성데이터 | kor-sentence | 0.6 | 0.7 | 0.8 | 0.9 |
✓ | | | | 0.62 | 0.59 | 0.48 | 0.50 |
✓ | ✓ | | | 0.59 | 0.60 | 0.55 | 0.53 |
✓ | | ✓ | | 0.55 | 0.50 | 0.48 | 0.43 |
✓ | | | ✓ | 0.53 | 0.47 | 0.45 | 0.48 |
| ✓ | | | 0.61 | 0.61 | 0.63 | 0.59 |
| | ✓ | | 0.52 | 0.52 | 0.52 | 0.52 |
| | | ✓ | 0.58 | 0.58 | 0.57 | 0.56 |
예측값이 threshold 이상일 경우 동일한 문장, 미만일 경우 다른 문장으로 처리 후 binary accuracy 책정
모델 : klue/bert-base
BS: 32, lr: 2e-5 (허깅페이스에 보고된 일반적 STS 학습에 사용한 configuration을 따름[1])
[1] https://huggingface.co/rurupang/bert-base-finetuned-sts
korSTS 외에 데이터셋은 binary 임으로 실수정보를 주는 korSTS가 높은 성능을 준 것으로 예측
Appendix
성능 Ablation : 데이터셋 종류에 따른 성능
97
예측값이 threshold 이상일 경우 동일한 문장, 미만일 경우 다른 문장으로 처리 후 binary accuracy 책정
[1] https://huggingface.co/sentence-transformers/stsb-xlm-r-multilingual
[2] https://github.com/BM-K/Sentence-Embedding-Is-All-You-Need/tree/main/KoSBERT
데이터셋 | Threshold | |||||||
korNLI | korSTS | paraKQC | 생성 데이터 | koSTS 반의어 치환 | 0.6 | 0.7 | 0.8 | 0.9 |
pretrained | 0.64 | 0.59 | 0.62 | 0.52 | ||||
| ✓ | | | | 0.61 | 0.63 | 0.65 | 0.52 |
✓ | ✓ | | | | 0.66 | 0.61 | 0.59 | 0.53 |
✓ | | ✓ | | | 0.60 | 0.54 | 0.55 | 0.55 |
✓ | | | ✓ | | 0.60 | 0.56 | 0.55 | 0.53 |
✓ | ✓ | | | ✓ | 0.52 | 0.52 | 0.52 | 0.52 |
모델 : stsb-xlm-r-multilingual
BS: 32, lr: 2e-5 (허깅페이스에 보고된 일반적 STS 학습에 사용한 configuration을 따름[2])
Appendix
성능 Ablation : 데이터셋 종류에 따른 성능
98
예측값이 threshold 이상일 경우 동일한 문장, 미만일 경우 다른 문장으로 처리 후 binary accuracy 책정
[1] https://github.com/BM-K/Sentence-Embedding-Is-All-You-Need/tree/main/KoSBERT
데이터셋 | Threshold | ||||||||
korNLI | korSTS | klueSTS | paraKQC | 생성 데이터 | koSTS 반의어 치환 | 0.6 | 0.7 | 0.8 | 0.9 |
| ✓ | | | | | 0.60 | 0.59 | 0.54 | 0.47 |
✓ | ✓ | | | | | 0.67 | 0.65 | 0.58 | 0.48 |
✓ | | ✓ | | | | 0.63 | 0.58 | 0.55 | 0.50 |
✓ | ✓ | | | | | 0.53 | 0.61 | 0.61 | 0.56 |
✓ | | | ✓ | | | 0.64 | 0.59 | 0.52 | 0.48 |
✓ | | | | ✓ | | 0.65 | 0.64 | 0.59 | 0.57 |
✓ | ✓ | | | | ✓ | 0.52 | 0.52 | 0.52 | 0.52 |
모델 : klue/bert-base
BS: 32, lr: 2e-5 (SKT sentence-transformer STS 학습에 사용한 configuration을 따름[1])
Appendix
유저 시나리오
99
Appendix
유저 시나리오
2. FastAPI에서 정보를 받아 전처리, Text-similarity& 키워드 모델로 결과값 산출
100
Appendix
유저 시나리오
3. 사용자에게 결과값 파일(csv) 반환
4. Frontend : AI 자동 서술형 채점 결과에 대한 통계, 시각적 결과 확인
101
Appendix
프로덕트 기능 – 기본정보 추가
① 시험 이름 추가 가능
② 문제 추가 버튼을 통해 채점할 문제 추가 가능
③ 제출 및 결과보기 버튼을 통해 채점 결과 확인
102
Service & Product
프로덕트 기능 – 문제 추가 디테일
① 문제와 모범답안, 필수 키워드 입력
103
csv파일 예시
② 학생 ID와 학생 예시 답안이 포함된 csv파일 업로드
Service & Product
프로덕트 기능 – 결과 확인
104
Service & Product
프로덕트 기능 – 결과 확인 상세
105
Service & Product