Skip to content

Latest commit

 

History

History
284 lines (272 loc) · 22.7 KB

01-따뜻한코끼리마리오-1차보고서-2024-09-29-v0.md

File metadata and controls

284 lines (272 loc) · 22.7 KB

Team-Info

(1) 과제명 COMMA : 시·청각장애 학습자를 위한 AI 기반 학습 보조 프로그램
(2) 팀 번호 / 팀 이름 01-따뜻한 코끼리 마리오
(3) 팀 구성원 양지원(2176211): 리더, AI
최시원(2271061): 팀원,백엔드
박예나(2271028): 팀원, 프론트엔드
(4) 팀 지도교수 심재형 교수님
(5) 팀 멘토 김기휘 / CTO / Fliption
(6) 과제 분류 산학과제
(6) 과제 키워드 STT, NLP, Vision, Gen AI
(7) 과제 내용 요약 COMMA는 시각 · 청각장애 학습자를 위해, 강의 자료를 학습하여 실시간 수업 시 맞춤형 도움을 제공하는 인공지능 학습 어플리케이션입니다. COMMA는 다음의 세 가지 주요 기능을 제공합니다.

1. (시각장애인) 수업 자료 pdf를 인식하여, 이에 자동으로 *대체텍스트를 생성합니다.
2. (청각장애인) 수업 자료 pdf를 인식하여, 당일 수업 자료와 연관된 단어의 인식률을 높인 실시간 자막 서비스를 지원합니다.
3. (공통) 수업 자료 ppt의 슬라이드 내용에 맞춰 강의 전사 파일을 분리한 복습 자료 ‘콜론’을 생성합니다.

Project-Summary

항목 내용
(1) 문제 정의 COMMA 개발에 앞서 본 팀이 정의한 문제와 COMMA가 그 문제를 해결하는 방식을,
1) Target Customer, 2) 그들이 겪는 문제점, 3) 그 문제점을 세부적으로 나눈 Sub-Problems (Pain Points)와 4) 그 Sub-Problems를 해결하는 Solutions (기능)의 네 단계로 나누어 정리하고자 한다.

1) Target Customer
COMMA가 주목한 Target Customer는 비장애인 도우미로부터 벗어나 학습 자립을 시도하는 시·청각 장애 학습자이다.

2) Target Customer가 겪는 문제점
Target Customer은 자원봉사자 인력 부족으로 인해 비장애인 도우미를 구하지 못할 경우 학습 효율이 크게 저하되며, 홀로 학습할 때 사용할 수 있는 보조 공학 기기의 성능도 부족해 학습에 어려움을 겪고 있다. 따라서 COMMA는 시·청각 장애 학습자들이 타인의 도움을 받지 않고도 효율적으로 학습할 수 있도록, 아래의 어려움을 해결할 수 있는 세 가지 기능을 제안한다.

3) 그 문제점을 세부적으로 나눈 Sub-problems (Pain Points)
- Problem 1 (시각 장애인):
강의 보조 자료(pdf, ppt 등)를 활용하려면 사비를 들여 직접 대체자료를 제작해야 하고, 이마저도 제작에 소요되는 시간이 매우 길다. 강의 보조 자료(pdf, ppt 등)을 pdf 리더기 등을 활용해 음성으로 들으며 학습할 수 있으나, 도표나 그래프 등은 문자 인식 리더기로 인식이 불가능하다.
- Problem 2 (청각 장애인):
실시간 STT 서비스를 활용할 수 있으나, 전공 수업의 전문적인 용어를 표기하는 데 정확도가 떨어진다.
- Problem 3 (시각 청각 장애인 공통):
신체적 한계에 따른 한정적인 공부 방식으로 복습에 비효율을 겪는다.
ex) 시각장애인: 강의 녹음본을 처음부터 끝까지 돌려 들으며 공부
ex) 청각장애인: 강의 보조 자료와 속기 자료를 일일이 대조하며 공부

4) 그 Sub-Problem을 해결하는 기능 (Solution)
- Solution 1 (Problem 1을 해결) 강의 자료에 자동 대체텍스트 생성 기능:
사용자가 업로드한 수업 자료 (pdf, ppt 등)에 대체텍스트 설명을 생성한다. 생성된 대체텍스트를 통해, 시각장애인은 스마트폰에 내재된 스크린 리더 기능을 활용하여 시각적 강의 자료의 내용을 소리로 들어 이해할 수 있다.
- Solution 2 (Problem 2를 해결) 수업 연관 단어의 인식률을 높인 실시간 자막 생성 기능:
사용자가 업로드한 수업 자료 (pdf, ppt 등)에서 자주 사용된 단어를 추출하여, 해당 단어들에 대한 인식률을 향상시킨 실시간 자막을 생성한다.
- Solution 3 (Problem 3를 해결) 장애 학습자 맞춤형 복습 자료(콜론) 생성 기능:
강의 전사 파일을 수업 자료의 슬라이드별로 분리한 복습 자료를 생성한다. 해당 자료를 통해 시각 장애인은 이전처럼 강의 녹음본을 처음부터 끝까지 돌려 들을 필요 없이, 자신이 원하는 부분부터 녹음본을 돌려 들을 수 있다. 또한, 청각 장애인은 이전처럼 강의 전사 파일을 일일이 읽으며 강의 자료와 맞춰볼 필요 없이, 각 강의 파일의 어느 부분이 전사 파일의 어느 설명과 일치하는 것인지 즉각적으로 찾을 수 있다.
(2) 기존 연구와의 비교 1. Pain Point 1와 관련된 유사사례 - 소리앨범:
업로드한 사진에 자동으로 대체텍스트를 생성해 주는 어플리케이션이다. 하지만 소리앨범은 .jpg 형식의 개별 파일만 변환할 수 있으며, 일반적인 강의 자료의 형식인 .pdf, .ppt 파일은 지원하지 않는다. 또한 변환 기능이 일상적인 사진에 대해서만 특화되어, 강의 자료를 변환할 때 문자 인식 기능의 정확도가 떨어진다.
반면 COMMA는 .pdf, .jpg 등 더 다양한 형식의 강의 자료를 변환할 수 있으며, 업로드된 자료에 대해 일상적인 설명보다 더 전문적인 대체텍스트를 생성한다.

2. Pain Point 2와 관련된 유사사례 - 네이버 클로바 노트:
녹음 파일을 텍스트 파일로 변환해 주는 서비스이다. 하지만 클로바 노트는 녹음이 완료된 파일을 사후적으로 변환하는 기능만 지원하며, 실시간으로 자막을 생성하는 기능은 지원하지 않는다. 또한 생성되는 음성 인식의 정확도를 높이기 위해서는 사용자가 ‘연관 단어’를 일일이 등록해야 한다는 번거로움이 존재한다.
반면 COMMA는 강의 자료로부터 수업 연관 키워드를 추출하여, 실시간 자막을 생성할 때 자동으로 수업 연관 키워드에 대한 인식 정확률을 향상한다.
(3) 제안 내용 1. 해결책 1 (시각 장애인): GPT-4o를 활용한 강의 자료에 자동 대체텍스트 생성 기능
2. 해결책 2 (청각 장애인): GPT-4o를 활용해 수업 연관 단어의 인식률을 높인 실시간 자막 생성 기능
3. 해결책 3 (시·청각 장애인 공통): GPT-4o를 활용한 장애 학습자 맞춤형 복습 자료(콜론) 생성 기능
(4) 기대효과 및 의의 COMMA는 시각 및 청각 장애 학습자가 타인의 도움 없이 강의 자료를 활용할 수 있게 하여, 자립 학습 환경을 구축한다. 구체적으로, 시각장애와 청각장애 학습자에게 기대되는 효과는 다음과 같다.

1. 시각 장애인: 기존의 보조 공학 기기만으로는 부족했던 강의 자료 접근성을 개선함으로써, 학습자들이 그래프, 도표, 전문 용어 등 복잡한 내용이 포함된 강의 자료도 스크린 리더를 통해 이해할 수 있도록 지원한다.

2. 청각 장애인: 기존의 실시간 자막 생성 서비스가 전공 수업에서 전문 용어를 정확하게 인식하지 못해 겪었던 어려움을 해결한다. COMMA는 수업 자료에서 추출한 연관 단어를 바탕으로 인식률을 향상시켜, 청각 장애 학습자가 보다 정확한 실시간 자막을 통해 강의를 이해할 수 있도록 지원한다. 이를 통해 청각 장애 학습자는 전문적이고 복잡한 내용이 포함된 강의에서도 원활하게 학습할 수 있다.

3. 시각, 청각 장애인 공통: 강의 내용을 처음부터 끝까지 듣거나, 전사 자료와 보조 자료를 일일이 대조하며 공부하던 비효율적인 복습 방식을 해결해준다. COMMA의 기능을 통해 장애 학습자는 필요한 부분만 선별적으로 복습할 수 있어 시간과 에너지를 절약할 수 있다.
(5) 주요 기능 리스트 COMMA는 강의 자료를 인공지능에 학습시켜 제공하는 3가지 주기능으로 실시간 수업 환경에서 시각·청각 장애인 학습자가 효과적으로 학습할 수 있도록 보조한다.

1. 해결책 1을 구현한 주기능 1 (시각장애인):
사용자가 수업에서 사용될 강의 자료 (.pdf, .jpg, .ppt 등)를 업로드하면, GPT-4o 모델을 활용하여 해당 자료의 내용을 사용자가 음성으로 들어 충분히 이해할 수 있도록 전문적인 대체텍스트를 생성한다. 특히, 표나 그래프 등 정보 집약도가 높은 시각적 자료들에 대해서는 국제 대체텍스트 표준 규격에 맞춘 설명을 생성한다.

해결책 2를 구현한 주기능 2 (청각장애인):
사용자가 수업에서 사용될 강의 자료 (.pdf, .jpg, .ppt 등)을 업로드하면, GPT-4o 모델을 통해 해당 자료에서 자주 사용된 당일 수업의 키워드를 자동으로 추출한다. 이후 사용자가 실시간 수업 녹음을 시작하면, 사전에 추출한 수업의 키워드를 더 정확하게 인식하여 오류율이 낮은 실시간 자막을 생성한다.

해결책 3을 구현한 주기능 3 (시각, 청각장애인 공통):
GPT-4o 모델을 활용하여 수업 자료와 강의 전사 파일을 슬라이드별로 분리한 복습 자료 ‘콜론’ 파일을 생성한다. 이를 위해 교수자가 각 슬라이드의 소제목을 언급하거나, 해당 슬라이드에서 자주 등장한 키워드를 포함하여 발화했을 경우 그 문장을 해당 슬라이드와 연동하여 구분한다. 이 콜론 파일을 통해 학습자들은 강의 내용을 원하는 부분부터 쉽게 접근하고 복습할 수 있으며, 기존의 비효율적인 학습 방식을 개선하여 학습 시간을 절약할 수 있다.

Project-Design

항목 내용
(1) 요구사항 정의 (1) 기능별 상세 요구사항
요구사항 명세서로 이동하기

(2) E-R 다이어그램


(2) 전체 시스템 구성 SW 구조


크게보기

(3) 진척도 및 검증내역 1. 대체텍스트 생성 기술 검증
(1) 사용 기술 : OpenAI GPT-4-turbo 모델
- 사진 자료에 대한 대체텍스트 생성 및 화면 출력 검증
(2) 진척도 : 90 %
- GPT-4o 모델로 변경 후 기술 검증 완료
- 대체텍스트 생성 및 데이터베이스 저장 검증 완료
- 대체텍스트 앱 화면 출력 검증 완료
- 현재 작업 : 대체텍스트 길이 선택 기능(기본/자세하게) 구현 마무리 단계

2. 실시간 자막 생성 기술 검증
(1) 사용 API : Google Speech-to-text API
- 실시간 자막 생성 및 화면 출력 검증
(2) 진척도 : 90 %
- Deepgram의 Speech-to-text API로 변경 후 기술 검증 완료
- 강의자료에서 핵심 키워드를 추출하여 키워드 부스팅 기능 개발 완료
- 키워드 부스팅을 포함한 실시간 자막 생성 및 출력 검증 완료
- 현재 작업 : 키워드 추출 프롬프팅 수정 마무리 단계
(4) 기타 COMMA는 시각장애인이 사용자임을 고려하여 모바일 애플리케이션 콘텐츠 접근성 지침 2.0과 W3C 웹 접근성 지침(WCAG)을 준수하였다.

1. 폰트 크기 조절 기능: 사용자가 폰트 크기를 1.0배, 1.5배, 1.7배로 자유롭게 조절할 수 있음
2. 명도 대비 강화: 시각장애인이 콘텐츠를 명확히 인식할 수 있도록 일반 텍스트는 4.5:1 이상의 명도 대비를, 큰 텍스트는 3:1 이상의 명도 대비를 유지함
3. 대체텍스트* 제공: 시각장애인이 스크린리더*를 통해 어플을 원활하게 사용할 수 있도록, 이미지 및 버튼 등의 비텍스트 콘텐츠에 대체텍스트를 제공함
4. 초점 관리: 스크린리더* 사용시 모든 사용자 인터페이스 컴포넌트에 초점*이 적용되며, 초점은 논리적인 순서로 이동하도록 설계함

* 대체텍스트: 이미지나 비텍스트 콘텐츠를 설명하기 위한 텍스트로, 시각장애인을 위해 사용
* 스크린리더: 시각장애인이 모바일 기기를 이용할 때, 화면의 내용을 음성으로 읽어주어 조작을 도와주는 기능
* 초점: 화면에서 현재 선택된 컴포넌트를 화면 낭독 프로그램이 적절히 인식할 수 있도록 돕는 기능

요구사항 명세서

요구사항 ID 요구사항명 기능 ID 기능명 상세설명 필수 데이터 선택 데이터 데이터베이스(테이블명:필드명)
USER 사용자 정보 USER01-MODE01 사용자 모드 선택 사용자가 시각장애인,청각장애인 모드를 선택할 수 있는 기능 1. 사용자 유형 선택 1. user_table : dis_type
USER01-MODE02 사용자 모드 변경 사용자가 시각장애인, 청각장애인 모드를 변경할 수 있는 기능 1. 사용자 유형 선택 1. user_table : dis_type
USER02-NAME01 닉네임 변경하기 기본 이름에서 사용자가 원하는 이름으로 변경하는 기능 1. 닉네임 1. user_table : user_nickname
USER03-DROP01 회원탈퇴 사용자가 회원 계정을 삭제할 수 있는 기능 1. user_table : userKey
FOLDER 폴더 수정 FOLDER01-ADD01 강의폴더 추가 새로운 강의폴더를 생성하는 기능 1. 강의폴더 이름 1. LectureFolders : folder_name
FOLDER01-DROP01 강의폴더 삭제 선택한 강의폴더를 삭제하는 기능 1. LectureFolders : id
FOLDER01-NAME01 강의폴더 이름 변경 선택한 강의폴더의 이름을 사용자가 원하는 이름으로 변경하는 기능 1. 새 강의폴더 이름 1. LectureFolders : folder_name
FOLDER02-ADD01 콜론폴더 추가 새로운 콜론폴더를 생성하는 기능 1. 강의폴더 이름 1. ColonFolders : folder_name
FOLDER02-DROP01 콜론폴더 삭제 선택한 콜론폴더를 삭제하는 기능 1. ColonFolders : id
FOLDER02-NAME01 콜론폴더 이름 변경 선택한 콜론폴더의 이름을 사용자가 원하는 이름으로 변경하는 기능 1. 새 강의폴더 이름 1. LectureFiles : lecture_name
FILE 파일 수정 FILE01-DROP01 강의파일 삭제 선택한 강의파일을 삭제하는 기능 1. LectureFiles : id
FILE01-MOVE01 강의파일 이동 선택한 강의파일을 다른 폴더로 이동하는 기능 1. 이동 강의폴더 선택 1. LectureFiles : folder_id
FILE01-NAME01 강의 파일 이름 변경 선택한 강의파일의 이름을 사용자가 원하는 이름으로 변경하는 기능 1. 새 강의파일 이름 1. LectureFiles : lecture_name
FILE02-DROP01 콜론파일 삭제 선택한 콜론파일을 삭제하는 기능 1. ColonFiles : id
FILE02-MOVE01 콜론파일 이동 선택한 콜론파일을 다른 폴더로 이동하는 기능 1. 이동 콜론폴더 선택 1. ColonFiles : folder_id
FILE02-NAME01 콜론파일 이름 변경 선택한 콜론파일의 이름을 사용자가 원하는 이름으로 변경하는 기능 1. 새 콜론파일 이름 1. ColonFiles : file_name
BLIND 대체텍스트 BLIND01 대체텍스트 생성 강의자료학습하기 버튼 클릭 시 OPEN AI를 통해 대체텍스트를 생성하는 기능 1. 강의자료 2. 강의폴더 이름 1. LectureFiles : file_url
2. LectureFolders : folder_name
3. LectureFiles : lecture_name
BLIND02-LOAD01 대체텍스트 로드 DB에 저장된 대체텍스트를 로드하는 기능 1. 강의자료 2. 강의폴더 이름 1. LectureFiles : file_url
2. Alt_table : alternative_text_url
3. LectureFolders : folder_name
4. LectureFiles : lecture_name
DEAF 실시간자막 DEAF01-KEY01 키워드 추출 강의자료학습하기 버튼 클릭 시 OPEN AI를 통해 키워드를 추출하는 기능 1. 강의자료 1. LectureFiles : file_url
2. Keywords_table : keywords_url
DEAF02-LOAD01 실시간자막 로드 녹음 버튼 클릭 시 deepgram api를 통해 자막을 출력하는 기능 1. 강의자료 3. 폴더 이름 1. LectureFiles : file_url
2. Keywords_table : keywords_url
3. LectureFolders : folder_name
4. LectureFiles : lecture_name
ACC 도움말 ACC01-HELP01 도움말 애플리케이션 사용 방법에 대한 도움말을 제공하는 기능
글씨크기조정 ACC02-FONT01 글씨크기조정 사용자가 화면에 표시되는 텍스트의 크기를 조절할 수 있는 기능 1. 크기 조절 옵션(3가지) 선택

돌아가기

SW 구조


돌아가기