페르소나 NLP 챗봇 프로젝트 복기

최민수·2023년 10월 24일
0

프로젝트 정리

목록 보기
5/8

프로젝트 기간: 2021.3월 ~ 6월 (3달) (4-1)
팀 프로젝트: 팀원 3명, 팀장 맡음

주제: 
페르소나를 적용한 챗봇 모델에 대한 당시 연구의 한계점과 문제점을 인식하고 개선하고자한 프로젝트.

목표: 
기존 연구에서 개선시킬 만한 포인트
- 주어진 페르소나에 위배되는 답변 최소화.
- 주어진 페르소나를 선택하여 답변하지 못하는 경우 최소화.
- 과거에 했던 답변과 모순되는 답변 최소화.

*주된 개선점으로 잡은 포인트
- 구체적으로 주어진 페르소나 문장을 제대로 학습하지 못하는 현상을 개선시키고자 함.
- 수식어나 개수, 색깔, 나이와 같은 특성을 구분하지 못하는 경향을 보이는 것을 가장 주요한 문제점으로 판단.

진행 프로세스:
- 우선 학습에 사용될 모델의 2가지 유형에 대해 공부함.
- Generative model 과 Ranking model 은 각각
단어별로 답변을 생성, 트레이닝 셋 안의 데이터 중 가장 확률이 높은 답변을 선택하는 모델.
- 모델 자체는 바꾸지 않고, 최대한 많은 모델로 실험하며
데이터셋을 수정해 성능 변화를 이끌어낼 수 있는지 확인하는 과정으로 진행.

문제 해결과정:
- Contrastive learning 적용
- Positive 와 Negative pair 를 대조시키는 방식으로 의미있는 표현을 추출하는 것을 돕는 학습 방식.
- NLP 에서 특히 이 방법은 단어의 의미 정보와 문맥상 관계를 잡아내는 데 도움이 된다.
- 예를 들어, training set 에 제시된 정답 답변에 대조적인 5가지 답변을 추가하거나
- 색깔, 나이 등과 관련해 특징적인 부분만을 오답으로 바꿔 데이터셋에 추가해주는 방식으로 데이터셋을 재구성.

결론:
- 모델을 바꾸지 않았음에도 불구하고 데이터셋에 contrastive learning 적용한 것 만으로 
test set에서 인식하지 못했던 수식어나 개수, 색깔과 같은 부분을 제대로 인식했음을 확인.
정성적인 지표로 확인했을 때에도 정확도가 약 15% 향상.
- 새로운 모델을 제안한 연구는 아니지만 챗봇의 training 과정이 어떻게 이루어지는지,
그리고 데이터셋의 구성, 직접 훈련시켜 정확도를 측정해보고 개선점을 생각해보는 경험 등
챗봇 기술에 대해 더 깊이 이해할 수 있는 경험이었음.
- 특히, 팀장을 하며 팀원들과 진행 상황에 대해 소통하고 교수님께 브리핑/발표하며,
훈련 과정에서 예상한 결과가 안나온 이유, 오류가 난 이유 등을 보고드리며 팀원들과 함께 고민했던 과정 자체가
매우 유익했던 경험이었음.

CheckPoint

  • 더 생각해볼 수 있는 개선점은?

  • 요즘 챗봇, AI 어시스턴트 개발 과정이 어떻게 되는지 알고 있는가? (SKT 에이닷 조사)


profile
CS, 개발 공부기록 🌱

0개의 댓글