Skip to content

Personal project 6: Speech Recognition Deep Learning Chatbot - Implementation of GUI and Web Interfaces

Notifications You must be signed in to change notification settings

kongju7/my_project6

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 

Repository files navigation

[6th 프로젝트]: 음성 인식 딥러닝 챗봇 - GUI 및 웹 인터페이스 구현

  • 작성: 2023년 2월 14일
  • 챗봇 파일: pytorch_chatbot 폴더

프로젝트 개요

  1. 주제 및 데이터 소개: 음성 인식 딥러닝 챗봇

    • 챗봇(chatbot)

      • 정의: 사람과 텍스트나 음성으로 대화를 나눌 수 있는 프로그램
      • 가파른 성장세: 연평균 성장률(전망) 23.5% (Marketsandmarkets, 2020)
      • 성장 요인: 과거 규칙 기반, 제한적 활용 → 딥러닝 자연어 처리(NLP) 기술 등과 결합 → 성능 크게 향상, 다양한 분야 적용 가능
    • 판별 AI: PyTorch 기반 - 자연어 처리 딥러닝 모델 생성 및 학습

      • 데이터: 시나리오 기반 json 형식으로 직접 작성
        • 태그(tag), 패턴(pattern), 응답(response) 항목 포함 → 상황별 확장 가능
    • 음성 인식 기능: Python, JavaScript 함수 활용

    • 2종의 인터페이스 구현: Python GUI, Flask 기반 웹 인터페이스

  2. 자연어 처리 딥러닝 모델 생성: PyTorch 기반 - 화자의 ‘의도’ 판별 → 응답 반환

    • 한글 토큰화, 한글 표제어 추출
    • 딥러닝 모델 생성 및 학습
      • PyTorch 라이브러리 함수 활용: 하이퍼 파라미터 설정
      • 모델 학습 진행 및 모델 저장
        • Epoch 1000 - final loss: 0.0001
  3. 음성 인식 기능

    • 목적: 음성 인식 기능을 추가하여 챗봇 접근성 및 활용도 향상 → 어린이, 고령자 등도 챗봇 활용 가능
    • 구현
      • Python GUI : Python - SpeechRecognition 라이브러리 활용
      • 웹 인터페이스: JavaScript - webkitSpeechRecognition 라이브러리 활용 → 음성 저장 및 전송을 html 상에서 처리하여 결과를 전송하도록 구현
  4. 2종의 인터페이스 구현

    • Python GUI 구현: Tkinter 라이브러리 활용

  • 웹 인터페이스 구현: Flask 기반 - HTML, JavaScript, CSS 등 활용

  1. 평가 및 향후 계획

    • 기존 챗봇 프로젝트에서 진일보
      • PyTorch 기반 자연어 처리 딥러닝 모델 직접 구현
      • 음성 인식 기능 추가
      • 2종의 서로 다른 인터페이스 구현
    • 향후 계획
      • 대용량 데이터 확보를 통한 모델 성능 재평가
      • 개체명 인식(NER) 기법을 활용한 서비스 정교화

[참고] 챗봇 실행 방법

  • 딥러닝 모델 학습 실행 및 저장
make train 
  • 챗봇 - Python GUI 실행
make run
  • 챗봇 - Flask 기반의 웹 인터페이스 실행
make flask 

About

Personal project 6: Speech Recognition Deep Learning Chatbot - Implementation of GUI and Web Interfaces

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published