- 작성: 2023년 2월 14일
- 챗봇 파일: pytorch_chatbot 폴더
-
주제 및 데이터 소개: 음성 인식 딥러닝 챗봇
-
챗봇(chatbot)
- 정의: 사람과 텍스트나 음성으로 대화를 나눌 수 있는 프로그램
- 가파른 성장세: 연평균 성장률(전망) 23.5% (Marketsandmarkets, 2020)
- 성장 요인: 과거 규칙 기반, 제한적 활용 → 딥러닝 자연어 처리(NLP) 기술 등과 결합 → 성능 크게 향상, 다양한 분야 적용 가능
-
판별 AI: PyTorch 기반 - 자연어 처리 딥러닝 모델 생성 및 학습
- 데이터: 시나리오 기반 json 형식으로 직접 작성
- 태그(tag), 패턴(pattern), 응답(response) 항목 포함 → 상황별 확장 가능
- 데이터: 시나리오 기반 json 형식으로 직접 작성
-
음성 인식 기능: Python, JavaScript 함수 활용
-
2종의 인터페이스 구현: Python GUI, Flask 기반 웹 인터페이스
-
-
자연어 처리 딥러닝 모델 생성: PyTorch 기반 - 화자의 ‘의도’ 판별 → 응답 반환
- 한글 토큰화, 한글 표제어 추출
- 딥러닝 모델 생성 및 학습
- PyTorch 라이브러리 함수 활용: 하이퍼 파라미터 설정
- 모델 학습 진행 및 모델 저장
- Epoch 1000 - final loss: 0.0001
-
음성 인식 기능
- 목적: 음성 인식 기능을 추가하여 챗봇 접근성 및 활용도 향상 → 어린이, 고령자 등도 챗봇 활용 가능
- 구현
- Python GUI : Python - SpeechRecognition 라이브러리 활용
- 웹 인터페이스: JavaScript - webkitSpeechRecognition 라이브러리 활용 → 음성 저장 및 전송을 html 상에서 처리하여 결과를 전송하도록 구현
-
2종의 인터페이스 구현
- Python GUI 구현: Tkinter 라이브러리 활용
- 웹 인터페이스 구현: Flask 기반 - HTML, JavaScript, CSS 등 활용
-
평가 및 향후 계획
- 기존 챗봇 프로젝트에서 진일보
- PyTorch 기반 자연어 처리 딥러닝 모델 직접 구현
- 음성 인식 기능 추가
- 2종의 서로 다른 인터페이스 구현
- 향후 계획
- 대용량 데이터 확보를 통한 모델 성능 재평가
- 개체명 인식(NER) 기법을 활용한 서비스 정교화
- 기존 챗봇 프로젝트에서 진일보
- 딥러닝 모델 학습 실행 및 저장
make train
- 챗봇 - Python GUI 실행
make run
- 챗봇 - Flask 기반의 웹 인터페이스 실행
make flask