- AI Dev - 인공지능 개발자 모임
- 정보공유
- 챗봇 사용기
최근 띵스플로우에서 출시한 스토리플레이란 서비스가 큰 인기를 얻고 있습니다. 선택지를 고르면서 대화를 하고 이야기를 풀어나가는 형식입니다. 보통 웹소설은 읽기만 하는 단방향입니다. 하지만 여기서는 사용자가 직접 참여하는 양방향의 콘텐츠입니다. 자신의 선택에 따라 줄거리나 결말이 바뀌면서 실제 주인공이 된 것 같은 재미가 있습니다.
사실 선택지를 고르면서 대화를 하는 것은 올드게이머들에게도 익숙합니다. 두근두근 메모리얼이나 러브 플러스 같은 연예 시뮬레이션 게임에서도 자주 채용하던 방식입니다. 저도 매우 좋아했던 작품들이었는데요. 하지만 이미 주어진 문장을 선택만 하는게 약간 단조롭다는 느낌이 들었습니다. 그냥 내가 직접 마음대로 대답할 수 있으면 얼마나 좋을까하는 상상을 하기도 했습니다.
그런데 이 바람이 현실이 되었습니다. 바로 하이퍼커넥트에서 공개한 나만의 작은 아이돌입니다. 하이퍼커넥트는 이미 하슬아라고 하는 일상대화 챗봇을 출시한 적이 있습니다. 여기서 개발한 딥러닝 일상대화 기술을 활용하여 새로운 장르의 연예 시뮬레이션을 탄생시켰습니다.
나만의 작은 아이돌도 기본적으로는 문장을 선택하여 대답합니다.
하지만 중간중간 사용자가 직접 글을 쓰는 턴도 있습니다.
첫 번째 대답은 사용자가 입력한 문장에 대한 답변입니다. 두 번째는 스토리를 이어가기 위해 미리 설정된 문구가 나옵니다.
가끔씩 2~3번 연속으로 직접 입력하기도 합니다. 보시는 것처럼 다양한 화제에 대해서 적절히 대답합니다.
하지만 전혀 관계없는 질문을 하면 넌지시 넘어가는 답변을 합니다.
선택지를 고르거나 직접 문장을 입력하면 그 반응에 따라 호감도가 오르거나 내려갑니다. 남은 턴 수 안에 호감도가 목표치를 넘기면 다음 단계로 이동합니다. 입력한 문장에서 호감도를 결정하는 방법은 일반적인 감정분석 모델을 응용하지 않았을까 합니다.
가장 중요한 일상대화 알고리즘은 어떻게 구현을 했을까요. 먼저 GPT같은 생성 기법이 있습니다. 그러나 만들어진 문장을 완벽하게 컨트롤할 수 없다는 단점이 있습니다. 특히 이런 게임에서는 적용하기가 조금 어려울 수 있습니다.
제 느낌에는 미리 대답목록을 사람이 작성해놓고, 앞의 문장들과 가장 잘 이어지는 문장을 딥러닝으로 찾는 방법이 아닐까 예상해봅니다. 스캐터랩의 핑퐁빌더를 보면 커스텀 답변이란 기능이 있습니다. 아마 이와 비슷한 방식으로 구현했을 수도 있습니다. 멀티턴도 적용되기 때문에 문맥에 맞게 잘 이어지는 대답이 가능합니다.
https://docs.builder.pingpong.us/description/reply/customreply
각 스테이지를 깨면 이렇게 컷신도 나옵니다.
30분 정도면 엔딩을 볼 수 있습니다.
오랜만에 정말 재미있는 일상대화 챗봇을 만날 수 있었습니다. 물론 내가 입력한 문장과 상관없이 한 방향으로 진행된다는 단점도 있습니다. 그러나 선택지로만 하는 것보다 훨씬 감정이입이 되었습니다. 실제로 내가 게임속에 참여한다는 느낌이 더 강했습니다. 이처럼 일상대화 기술은 다양한 곳에 응용이 가능합니다. 앞으로 또 어떤 새로운 서비스가 등장할지 기대가 됩니다.
< 나만의 작은 아이돌 >
- https://www.my-little-idol.love/