Angsook은 페르소나 기반 대화 시뮬레이션 시스템으로, 사용자가 상대방의 페르소나와의 대화를 통해 자신의 대화 방식을 인식하고 개선할 수 있도록 돕습니다. 이 시스템은 갈등을 줄이고 인간관계를 개선하는 데 중점을 둡니다.
- 2024 한국컴퓨터 정보학회 하계학술대회 - KSCI 우수논문상 수상
- 📄 논문 바로가기
-
페르소나 기반 대화 설계
- Rasa에 AI 허브의 공감형 대화 데이터를 학습시켜 다양한 상황별 맞춤형 대화를 설계했습니다.
-
GPT-3.5-Turbo 파인튜닝
- AI 허브의 페르소나 및 한국어 멀티세션 데이터로 모델을 파인튜닝해 한국적 특성에 맞는 자연스러운 대화를 구현했습니다.
-
실시간 채팅 및 대화 이력 관리
- 실시간 채팅 시스템을 구축하고, 대화 이력을 관리해 일관된 대화 흐름을 유지했습니다.
-
음성 인식 기능 도입
- 음성 입력을 텍스트로 변환해, AI와의 실시간 대화를 지원했습니다.
-
피드백 시스템 구축
- 대화 세션 종료 후 AI에 전체 대화 내용을 전송해 피드백을 제공받을 수 있도록 구현했습니다.
-
문제:
초기에는 role과 content만 구분해 데이터를 학습한 탓에, AI가 상황을 제대로 이해하지 못하고 부자연스러운 상호작용이 발생했습니다. -
해결 방법:
- 대화 데이터를 프롬프트와 응답(completion)으로 분리해 학습을 개선했습니다.
- 메모리 최적화를 통해 AI가 상황을 더 명확히 인식하도록 향상시켰습니다.
-
문제:
대화가 진행될수록 이전 대화를 기억하지 못해 일관성이 떨어지는 응답이 발생했습니다. -
해결 방법:
- 대화 히스토리 시스템을 도입해 모든 대화 이력을 저장하고 일관된 대화 흐름을 유지했습니다.
- 대화가 끊기지 않도록 chat_history를 지속적으로 갱신했습니다.
AI 허브의 공감형 대화 데이터를 활용해 Rasa를 학습했습니다.
- 데이터 분류: 상황별로 데이터를 나누고 스토리를 구성했습니다.
- NLU와 도메인 파일 생성: 각 상황에 맞는 NLU 모델과 도메인 파일을 생성해 의도(intent)를 인식하고 응답하도록 설계했습니다.
- 공감 카테고리 설정: 의도를 공감, 위로 등으로 나누어 맞춤형 대화를 구현했습니다.
AI 허브의 페르소나 및 한국어 멀티세션 대화 데이터를 이용해 GPT-3.5-Turbo를 파인튜닝했습니다.
- 정리 및 포맷팅: 불필요한 데이터를 제거하고 일관된 포맷으로 정리했습니다.
- 세그먼트 분할: 대화 데이터를 작은 단위로 나누어 효율적으로 학습할 수 있도록 준비했습니다.
- 데이터를 JSONL 포맷으로 변환해 OpenAI 플랫폼에 업로드했습니다.
- 학습 구성: 파인튜닝을 위해 적절한 학습 파라미터를 설정했습니다.
- 훈련 수행: 여러 epoch를 거쳐 모델 성능을 점진적으로 개선했습니다.
- 테스트 시나리오: 다양한 대화 시나리오로 테스트해 응답의 자연스러움과 일관성을 평가했습니다.
- 성능 지표 측정: 응답 정확도와 공감도, 대화 흐름 유지 능력을 평가했습니다.
-
AI 모델의 통합과 최적화 경험
- Rasa와 GPT-3.5-Turbo를 연동해 페르소나와 상황에 맞는 자연스러운 대화를 구현하는 데 성공했습니다.
-
데이터 처리 및 모델 학습의 중요성
- 데이터의 정제와 적절한 포맷팅이 모델 성능에 중요한 영향을 미친다는 점을 배웠습니다.