Skip to content

Angsook은 페르소나 기반 대화 시뮬레이션 시스템으로, 대화를 통해 갈등을 줄이고 관계 개선을 돕는 것을 목표로 합니다.

Notifications You must be signed in to change notification settings

solp721/Persona_Chatbot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

76 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Angsook (앙숙)


프로젝트 개요

Angsook은 페르소나 기반 대화 시뮬레이션 시스템으로, 사용자가 상대방의 페르소나와의 대화를 통해 자신의 대화 방식을 인식하고 개선할 수 있도록 돕습니다. 이 시스템은 갈등을 줄이고 인간관계를 개선하는 데 중점을 둡니다.


📺 프로젝트 시연 영상

Angsook Project Video
YouTube에서 보기


History


시스템 구성도

시스템 구성도

시스템 아키텍처

시스템 아키텍처

주요 기여 및 역할

  1. 페르소나 기반 대화 설계

    • Rasa에 AI 허브의 공감형 대화 데이터를 학습시켜 다양한 상황별 맞춤형 대화를 설계했습니다.
  2. GPT-3.5-Turbo 파인튜닝

    • AI 허브의 페르소나 및 한국어 멀티세션 데이터로 모델을 파인튜닝해 한국적 특성에 맞는 자연스러운 대화를 구현했습니다.
  3. 실시간 채팅 및 대화 이력 관리

    • 실시간 채팅 시스템을 구축하고, 대화 이력을 관리해 일관된 대화 흐름을 유지했습니다.
  4. 음성 인식 기능 도입

    • 음성 입력을 텍스트로 변환해, AI와의 실시간 대화를 지원했습니다.
  5. 피드백 시스템 구축

    • 대화 세션 종료 후 AI에 전체 대화 내용을 전송해 피드백을 제공받을 수 있도록 구현했습니다.

주요 이슈 및 해결 방법

1. 상황 인식 문제

  • 문제:
    초기에는 role과 content만 구분해 데이터를 학습한 탓에, AI가 상황을 제대로 이해하지 못하고 부자연스러운 상호작용이 발생했습니다.

  • 해결 방법:

    • 대화 데이터를 프롬프트와 응답(completion)으로 분리해 학습을 개선했습니다.
    • 메모리 최적화를 통해 AI가 상황을 더 명확히 인식하도록 향상시켰습니다.

2. 대화 흐름 문제 및 응답 불일치

  • 문제:
    대화가 진행될수록 이전 대화를 기억하지 못해 일관성이 떨어지는 응답이 발생했습니다.

  • 해결 방법:

    • 대화 히스토리 시스템을 도입해 모든 대화 이력을 저장하고 일관된 대화 흐름을 유지했습니다.
    • 대화가 끊기지 않도록 chat_history를 지속적으로 갱신했습니다.

데이터 학습 과정

1. Rasa의 공감형 대화 학습

AI 허브의 공감형 대화 데이터를 활용해 Rasa를 학습했습니다.

데이터 처리 과정

  • 데이터 분류: 상황별로 데이터를 나누고 스토리를 구성했습니다.
  • NLU와 도메인 파일 생성: 각 상황에 맞는 NLU 모델과 도메인 파일을 생성해 의도(intent)를 인식하고 응답하도록 설계했습니다.
  • 공감 카테고리 설정: 의도를 공감, 위로 등으로 나누어 맞춤형 대화를 구현했습니다.

2. GPT-3.5-Turbo 파인튜닝 과정

AI 허브의 페르소나 및 한국어 멀티세션 대화 데이터를 이용해 GPT-3.5-Turbo를 파인튜닝했습니다.

데이터 처리 및 준비

  • 정리 및 포맷팅: 불필요한 데이터를 제거하고 일관된 포맷으로 정리했습니다.
  • 세그먼트 분할: 대화 데이터를 작은 단위로 나누어 효율적으로 학습할 수 있도록 준비했습니다.

JSONL 파일로 변환 및 업로드

  • 데이터를 JSONL 포맷으로 변환해 OpenAI 플랫폼에 업로드했습니다.

파인튜닝 과정

  • 학습 구성: 파인튜닝을 위해 적절한 학습 파라미터를 설정했습니다.
  • 훈련 수행: 여러 epoch를 거쳐 모델 성능을 점진적으로 개선했습니다.

모델 평가

  • 테스트 시나리오: 다양한 대화 시나리오로 테스트해 응답의 자연스러움과 일관성을 평가했습니다.
  • 성능 지표 측정: 응답 정확도와 공감도, 대화 흐름 유지 능력을 평가했습니다.

성과 및 배운 점

  1. AI 모델의 통합과 최적화 경험

    • Rasa와 GPT-3.5-Turbo를 연동해 페르소나와 상황에 맞는 자연스러운 대화를 구현하는 데 성공했습니다.
  2. 데이터 처리 및 모델 학습의 중요성

    • 데이터의 정제와 적절한 포맷팅이 모델 성능에 중요한 영향을 미친다는 점을 배웠습니다.

About

Angsook은 페르소나 기반 대화 시뮬레이션 시스템으로, 대화를 통해 갈등을 줄이고 관계 개선을 돕는 것을 목표로 합니다.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published