2023. 7. 5. 20:08ㆍ연구 프로젝트/강화학습 챗봇
※챗봇 용도: 부정적인 감정을 가진 사용자와의 대화를 통해, 사용자의 부정적인 감정을 해소해주는 것
1. 상태 공간을 어떻게 정의할 것인가
*논문 CHAI에서는 상태 공간에 (발화, 물품 설명, 가격, 행동 타입) 포함
*위 챗봇 구현의 목적: 사용자의 우울감을 해소하는 것(감정: 부정 -> 긍정 변화)
-상태 공간에 발화 감성도 추가
2. 보상을 어떻게 정의할 것인가
*보상을 수치적으로 나타낼 수 있는 정확한 기준이 필요
(1) 각 우울함 영역마다의 문장 유사도
*각 우울증 영역마다 일반적으로 구별되는 특징 존재: 특정 단어를 자주 사용하거나 특정 문맥의 문장 사용
=> 해당 영역 내에서 일반적으로 쉽게 볼 수 있는 위와 같은 문장들과 사용자의 발화 간 문장 유사도를 계산함으로써, 사용자가 부정적인 감정 중에서도 어떤 세부적인 감정을 느끼는지 판단 가능할 것이라 추측
-> 문장 유사도가 높을수록 사용자의 발화가 부정적이라고 추측 가능 => 패널티 부여
(2) 사용자의 발화 길이
*우울감이 심할수록 발화 길이가 짧아지는 반면, 우울감이 해소될수록 발화 길이가 통상적으로 길어질 수 있음
-발화 길이가 길어질수록 우울감이 해소되고 있다고 판단 가능
=> 발화 길이(글자 수)가 길어지면 보상 부여
(3) 사용자의 발화에 대한 감성 점수
-턴마다 사용자의 감정 점수 계산
-감정 점수를 계산하는 일반적인 방법: 한국어 감성 사전을 이용해 토큰 별 감정 점수를 구하고 이를 모두 합함
-> 감정 점수가 높을수록 보상 부여
※보상 기준 지표를 동등하게 더할 것이 아니라 중요도를 따져서 가중합으로 전체 보상 계산
(ex) 중요도: 문장 유사도 > 감정 점수 > 발화 길이
-> 문장 유사도의 가중치를 크게, 발화 길이의 가중치를 가장 작게 해 가중합 계산
3. 무엇을 정확한 목표로 삼을 것인가
*사용자와 챗봇 간의 대화를 턴마다 잘라, 각 턴 내 사용자의 발화에 대한 감정 지수나 문맥 등을 파악
-이런 요소를 통해 각 턴마다 보상을 구함
-> 높은 보상 = 더 긍정적인 감정이 되도록 구현
4. 오프라인 강화학습 적용 시 어떤 데이터셋을 사용할 것인가
*멀티턴 대화 데이터셋 이용
2023년 1월 25일에 작성해두었던 강화학습 챗봇 보상 기준...
'연구 프로젝트 > 강화학습 챗봇' 카테고리의 다른 글
[Offline 강화학습 챗봇] Policy Gradient를 이용한 구현 도전기 - KoGPT2 Fine-tuning (1) (0) | 2023.08.20 |
---|---|
[강화학습] Q-Learning vs. Policy Gradient Method (0) | 2023.07.20 |
강화학습을 우울함 해소 챗봇에 적용한다면? (0) | 2023.07.16 |
강화학습 방식 예시 및 챗봇 적용 방안 (0) | 2023.07.16 |
강화학습 개념 (0) | 2023.07.05 |