스마트폰으로 모든 것이 이뤄지는 세상에 사는 요즘,
어느 가게를가든 키오스크를 어렵지 않게 만날 수 있고, 간편하게 모바일로 예매는 물론 은행 업무도 볼 수 있게 되었다.
지난 코로나19사태는 이러한 정보화 흐름을 더욱 가속화시켰다.
그런데 젋은 세대보다 상대적으로 디지털 환경이 낯선 고령층에게는, 이러한 디지털화가 그저 두려움의 대상일 뿐이다.
대다수의 고령층이 ‘사용 방법을 모르거나 어려워서’ 라는 이유로, 그 디지털 서비스의 사용을 거부하거나, 혹은 거부 당하고 있다. 그러나 기술의 발달로 인한 사회의 디지털화는 피할 수 없는 현실이다. 최근 인공지능이 발달하며, 사회의 정보화는 더욱 가속화되고 있다. 이러한 사회 흐름 속에서 고령층은 점점 이 사회로부터 소외받고 있다.
고령층이 겪는 정보 격차는 매우 심각하다.
본 서비스는 우리 사회의 숙원 과제인 위 고령층의 정보 격차를 문제를 해소하기 위해 고안되었다.
고령층을 이 정보화 사회에 화합🤝시키는 것, 그것이 본 서비스의 궁극적인 목표다.
본 팀은 특히 대부분의 영역에서 디지털화가 이루어진 예약 서비스에 집중하였으며,
(주어진 시간을 고려하여) 그 중에서도 고령층이 주로 이용하는 KTX(교통)에 적용하여 구현하였다.
본 서비스의 핵심적 특징은 ****아래와 같다. ****
- 고령층에게 특화된 사용자 경험을 제공하기 위한 STT (Speech-to-Text) 기술 사용
- 고령층 친화 UI/UX (간결한 UI/UX 화면과 UX FLOW)
구현한 주요 기능은 아래와 같다.
✅ **원클릭(One Click) - 원스피치(One Speech) 예약**-
- (예약 요청) 음성 인식 후 텍스트 변환 ✅
1-1. 프론트엔드 측에서 음성 녹음 후 http request
1-2. 백엔드 측에서 음성 녹음 파일을 AWS S3에 업로드
1-3. S3에 업로드된 음성녹음 파일을 AWS-transcribe를 이용하여 Text로 변환
1-4. openai api(chatgpt)를 이용하여 변환된 text를 형식에 맞게 전처리
1-5. 전처리된 text data로 DB에 query
-
- 요청한 예약 정보와 가장 유사한 차편을 교통편 DB 상에서 탐색 후 임시 예약 ✅
2-1. 요청에 맞는 정확한 차편이 있을 경우, 바로 해당 차편 임시 예약
- DB에는 korail data api를 이용하여 ktx 기차편 정보가 모두 등록되어 있음
- 요청에는 출발 역, 도착 역, 출발 시간이 포함됨
- 해당 데이터와 일치하는 차편이 있을 경우 임시 예약 처리
2-2. 요청에 정확히 맞는 차편은 없을 경우, 유사한 차편 3개 대안으로 제공 후
- 유사한 차편은 출발 역, 도착 역이 일치하고, 출발 시간 차이가 적은 순으로 3개의 record를 제공
- 사용자에게 대안 3가지는 편리하고 알아보기 쉬운 UI로 제공, 클릭 시 임시 예약 처리
-
- 임시 예약 완료 시, 슬랙봇을 통해 (시니어 사용자 자녀에게) 임시 예약 및 결제 안내 메세지 발송 ✅
- 만약, 예약 과정에서의 시니어의 실수 또는 기술적 에러는 예약 확인 과정에서 handling 가능
- 에러가 있다면, 임시 예약 취소 가능
-
슬랙 결제 안내 메세지에서 연결되는 결제 페이지 ✅
-
결제 완료 시 최종 예약 확정 (예정)
AWS S3 : 음성 파일 및 STT 변환 결과 저장
AWS Transcribe : 음성 파일 STT 변환
AWS RDS : KTX Data 저장 및 사용자 예약 정보 저장
AWS EC2 : 배포 및 서버 구동 Vercel : 프론트 서버 배포
Front : Nextjs
Back : Nestjs + postgresql
Open AI ChatGpt
- Prompt Engineering을 통한 자연어처리
-
최종 Prompt = STT로 변환한 유저의 요청 prompt + Service Prompt
-
STT로 변환한 요청 prompt 예시
오월 십오일 서울에서 부산가는 기차아홉시 편 예매해줘.
-
Service Prompt 예시
에서 날짜와 시간, 출발지, 목적지를 구분해줘. 날짜는 2023-MM-DD, 시간은 HH:MM으로 표기하고 출력은 json 형식만 해줘. 구체적인 형식은 다음과 같아\n. {"date": 날짜\n,"time": 시간\n,"departure": 출발지\n,"destination": 목적지}
-
AWS Transcribe
- S3에 저장한 mp4 파일을 AWS Transcribe SDK를 활용하여 STT(Speech to Text) 변환 후 S3에 JSON 형식으로 결과 저장
Slack Email 전송
korail data api
- 존재하는 기차표 정보 제공
- STT 음성 파일을 받아 서버에서 API에 요청(w/ AWS TRISCRIBE) - 장석원, 정경륜
- Speech Text 전처리 (w/ ChatGPT API) - 정경륜
- 백엔드(교통편 및 예약 관련 기능 , 인프라 관리) - 노정훈
- 프론트엔드 - 신재훈, 정경륜, 오윤진
- 슬랙봇 구현(메세지 알림) - 신재훈