- AI Dev - 인공지능 개발자 모임
- 정보공유
- 챗봇 딥러닝
일상대화 챗봇인 핑퐁에 사용된 Dialog-BERT에 대한 글입니다. 작년 7월에 처음 연재되었는데, 최근에 4편으로 완결되었습니다. 핑퐁은 '연애의 과학'이란 앱에서 수집한 카톡 데이터로 학습을 하였습니다. 이를 전처리하고, 토큰으로 분리하고, BERT로 사전훈련하고, 최종적으로 파인튜닝하는 과정들을 자세히 보여주고 있습니다.
리액션 모델은 핑퐁의 핵심적인 알고리즘입니다. 먼저 어떤 입력이라도 대략 1000개 정도의 클래스로 분류합니다. 그다음 거기에 맞는 답변 템플릿 중 하나를 랜덤하게 선택합니다. 과거에는 한 턴만 가능했지만, 지금은 Dialog-BERT를 통해 2~3턴까지 고려하고 있습니다.
무엇보다 핑퐁은 카카오톡에서 수집한 방대한 데이터가 강점입니다. 뿐만 아니라 머신러닝과 딥러닝으로 학습하는 기술력 역시 독보적입니다. 오랫동안 쌓아온 노하우를 공개해주신 분들에게 감사드립니다. 일상대화 챗봇에 관심있는 분들은 꼭 읽어보시길 추천드립니다.
1. 카톡 데이터는 어떻게 정제할 수 있을까?
-> https://blog.pingpong.us/dialog-bert-1/
2. 누가누가 잘하나! 대화체와 합이 잘 맞는 Tokenizer를 찾아보자!
-> https://blog.pingpong.us/tokenizer/
3. 카톡 대화 데이터를 BERT로 잘 학습시킬 수 있을까?
-> https://blog.pingpong.us/dialog-bert-pretrain/
4. 대화의 Context를 반영한 답변을 생성할 수 있을까?
-> https://blog.pingpong.us/ml-dialog-bert-multiturn