questionet

어떤 챗봇 본문

Idea/무엇을 개발할까?

어떤 챗봇

orthanc 2021. 5. 22. 13:56

Open domain 챗봇을 만드는 게 얼마나 어려운 일인지 배워가고 있다.
단순한 QA챗봇 구조로는 일상대화가 가능한 챗봇을 구현하기가 매우 힘들고 비효율적이었다.

그러나 이전 대화내용을 기억하는 챗봇, 복수의 도메인에 맞춤화된 답변을 내놓는 챗봇,
대화를 주도해 나가는 챗봇을 구현할 수 있는 구조는
현실적으로 해커톤 기간 내에 이해와 구현이 불가능해 보였다.

그렇다면 가장 주안점을 두어 볼 만한 기능은 챗봇이 일관된 답변을 내놓게 하는 것이었다.
그렇게 하자면 여기저기서 구한 말뭉치들의 레이블을 전부 손봐야 하는 번거로움이 생겼다.

현재 수집하여 분석한 말뭉치는 다음과 같다.
1.
국립국어원이 제공한 구어 말뭉치(신문방송뉴스 상의 대화, 드라마 대본)와 일상대화 말뭉치(위와 같은 공적 대화),
2.
송영숙님의 말뭉치(연애 관련)
3. AI Hub
에서 제공하는 트위터 말뭉치(일상, 여행, 회사 등 open domain), 한국어 연속적 대화 말뭉치(역시 open domain), 웰니스 말뭉치(정신 건강 상담 관련)

보다시피 특정 도메인에 특화된 말뭉치도 있고, 오픈 도메인 말뭉치도 있다.
싱글턴으로만 구성된 말뭉치도 있고, 멀티턴으로 구성된 말뭉치도 있으며
대화가 1:1로 진행되는 말뭉치도 있고, 다수의 화자가 참여하는 말뭉치도 있다.
단일문으로만 이루어진 대화셋도 있고, 장문의 복합문으로 이루어진 대화셋도 있으며,
그 두 형태가 혼합된 형태의 대화셋도 있다.
일부 말뭉치에는 위의 8가지 경우의 수가 3개 이상 섞여 있는 경우도 있었다.

이와 같은 상황에서 챗봇의 일관된 페르소나를 구축하는 일의 어려움, 답변의 어투-말씨의 다양성, 모순되거나 상충되는 내용이 타겟 데이터에 있을 가능성을 제거하는 일을
말뭉치의 전처리 과정에서 어떻게 접근하고 다뤄야 할지 분명한 그림이 그려지지 않는다.

당장 멀티턴으로 이뤄진 대화셋들을 싱글턴 형태로 나눴을 때 챗봇 모델의 성능이 좋지 않은 문제점이 나타났기 때문에, (송영숙 말뭉치는 싱글턴 대화셋이었고 말뭉치 사이즈가 작았음에도 성능이 좋게 나왔지만, 트위터 말뭉치와 한국어 연속적 대화 말뭉치는 멀티턴 대화셋으로 이를 싱글턴 형태로 쪼개어 모델에 돌렸을 때 송영숙 말뭉치보다 데이터 크기가 컸음에도 처참한 결과가 나왔다) 이 문제의 원인이 멀티턴 대화를 싱글턴 형태로 바꿔서인지, 말뭉치 자체의 품질문제 때문인지, 송영숙 말뭉치는 연애 도메인 관련 특화된 말뭉치인 반면, 연속적 대화 말뭉치는 오픈도메인 말뭉치여서 절대적인 데이터셋 크기 자체가 너무 작아서인지를 파악하는 일부터 해야했다.

또 하나의 주안점으로 삼을 만한 것은
어떤 분야, 주제에 대해 얘기가 나와도 자연스러운 답변을 내놓게 하는 것이었다.

그렇게 하자면 우선 현재 모은 말뭉치 외에 더 많은 대화 데이터를 모으는 일을 해야한다.
개인정보보호법의 제약에 구속되지 않고 일상대화에 가까운 대화 데이터를 모으는 방법은
드라마, 연극, 소설의 대화 대본을 발췌하여 사용하는 것밖에 떠오르는 것이 없었다.
하지만 저작권보호법 때문에 다른 팀원들은 사용하길 꺼렸다. 상업용으로 쓸것도 아니고 공개하여 배포할 것도 아닌 학술적 용도에 가까운 챗봇이기에 개인적으로 매우 안타까운 상황이다.

나는 전처리인팀에 속해 말뭉치를 주로 들여다 보고 분리, 정제하는 작업을 하고 있는데
모델팀에서 어떠한 챗봇 모델을 써야 하는지 계속 궁리 중인 터라
객관적으로 봤을 때, 진전이라고 할 만한 게 없는 것이 현재 우리 팀의 상황이라고 할 수 있을 것 같다.

다른 한편으로,

근본적인 질문이 자꾸만 떠오른다.
일상대화 챗봇이 왜 필요할까?
내가 만약 유저라면 그러한 챗봇이 있을 때 무엇을 기대할까?
어떻게 그 챗봇을 사용하려고 할까?
그것이 나에게 필요한가?

글쎄. 내가 무언가를 그리워 할 때를 돌이켜보면
난 언제나 인간이 그리웠지 인간적인걸 그리워 하진 않았다.

인간 자체에서 기대와 만족을 얻을 수 없기에
인간적인 다른 무언가를 통해 대리 만족을 느끼는 건 누구나 마찬가지일 테지만
그 끝에 오는 공허함과 더 큰 불만족은
결국 나로 하여금 언제나 인간을 향하도록 만들었다.
그것이 나 자신이든 타인이든 간에 말이다.

그렇다면 일상대화가 가능한 챗봇이란건 ‘좋은 매개체’로서,
다시 말해, 인간 자체를 향할 수 있게 하기 위한 중간 다리로서,
적당히 쓰일 수 있으면 그뿐인 것이다.
다 쓰이고 났을 때 공허감과 더 큰 불만족을 줌으로써 말이다.

그러니 너무 애쓸 필요 없다.
무언갈 인간답게 만드는 수고로움이 인간 자체가 되게 애쓰는 일보다
결코 더 가치로울 순 없다.

 

Comments