챗봇 데이터 관리를 위한 시스템 만들기(체크리스트 포함)

챗봇 데이터 버전 관리를 위한 시스템 만들기(체크리스트 포함)
Designed by Freepik

챗봇 서비스 도입? 도입이 끝이 아닌 이유

많은 기업이 도입을 고려하는 챗봇, 하지만 도입 후에도 많은 작업이 필요합니다. 챗봇 데이터를 꾸준히 업데이트해야 하기 때문인데요. 챗봇이 현재 상황에 맞는 답변을 제공할 때 사용자들은 높은 만족감을 느낍니다. 오래된 정보를 제공하거나 상황에 맞지 않는 답변이 출력되면 챗봇 서비스의 신뢰도는 추락하고 맙니다.

챗봇에 지속적인 데이터 업데이트가 필요한 이유 예시
챗봇으로 친구와의 약속 장소를 정했는데… 가봤더니 폐업한 식당이었다면!!!

하지만 새로운 데이터를 막연히 업데이트 한다고 해서 챗봇의 성능이나 사용자의 만족감이 상승하는 것은 아닙니다. 챗봇 데이터 업데이트를 ‘잘’ 하려면 몇 가지 주의해야 할 점이 있습니다.

효과적인 챗봇 데이터 업데이트를 위해 반드시 고려해야 할 점

기존 데이터의 안정성이 유지되고 있는가?

새로운 데이터를 챗봇에 반영할 때는 기존 데이터와의 충돌이 없어야 합니다. 데이터 업데이트를 했는데 진행되던 시나리오에 오류가 생기거나, 답변이 제대로 출력되지 않는다면 챗봇의 성능이 오히려 저하된 것이라고 볼 수 있겠죠. 이런 상황이 발생하지 않게 하기 위해서는 데이터 버전 관리를 체계적으로 수행해 기존 데이터와의 통일성과 일관성이 유지되도록 해야 합니다. 이렇게 하면 데이터로 인한 오류 발생 시 원인을 쉽게 추적하고 해결할 수 있습니다.

데이터 설계를 기반으로 업데이트되었는가?

기존 데이터의 설계 기준을 파악할 수 있는 일종의 ‘데이터 설계도’를 확인합니다. 데이터 설계도를 통해 챗봇 구축 당시의 인텐트와 엔티티는 어떤 기준으로 설계되었는지, 각각의 엔티티에는 어떤 유의어들이 포함되어 있는지 등 설계 방식을 파악합니다. 설계도에 대한 분석 없이 업데이트가 이루어질 경우 중복 데이터, 즉 정크 데이터가 쌓여 챗봇 성능이 급속도로 저하될 수 있습니다. 또한 시간이 지날수록 데이터들이 얽히고설켜 오류의 원인을 찾기 어려워집니다.

데이터 설계도를 확인하여 챗봇 데이터를 업데이트 해야 하는 이유
1:1 인텐트 설계 방식이었던 기존 데이터 설계도를 확인하지 않고 하위 인텐트인 ‘야구 티켓’에 해당하는 발화를 상위 인텐트인 ‘스포츠 티켓’ 인텐트에 학습시켜 ‘스포츠 티켓’에 대한 답변으로 잘못 출력되고 있는 상황

즉, 효과적인 챗봇 데이터 업데이트를 위해서는 1)챗봇 도입 당시 설계 기준에 따라 데이터를 업데이트해야 하고 2)설계 기준을 파악하기 위한 ‘데이터 설계도’를 반드시 마련해야 합니다.

챗봇 도입 당시부터 체계적인 데이터 설계가 되어 있지 않아 현재 문제가 발생하고 있거나, 도입 이후 실제 사용자의 사용 경향에 기존 설계가 적합하지 않을 경우 데이터 설계부터 다시 작업해야 하는 상황이 생기기도 합니다.

챗봇 데이터 설계도란?

챗봇 데이터 설계도 예시
간략하게 표현한 챗봇 데이터 설계도 예시. 챗봇의 기능과 목적에 따라 항목은 늘어날 수 있습니다.

챗봇 데이터 설계도란, 챗봇 데이터의 구조와 현황이 담긴 하나의 파일을 의미합니다. 주로 아래의 내용을 포함하며, 챗봇 데이터의 모든 것이 담긴 파일이라고 할 수 있습니다.

  • 인텐트 분류
  • 인텐트명
  • 인텐트별 학습 발화문
  • 인텐트에 따른 엔티티
  • 엔티티의 유의어

챗봇 관리자 센터 외, 데이터 설계도가 별도로 존재해야 하는 이유

이런 의문이 들 수 있습니다.

“데이터는 빌더에서 충분히 관리할 수 있는데, 굳이 별도의 파일이 필요한가요?”

챗봇 데이터 설계도가 별도로 존재해야 하는 이유는, 설계 기준을 한눈에 파악할 수 있기 때문입니다. 챗봇 빌더에서는 각각의 인텐트, 엔티티를 클릭해야만 발화문과 유의어의 현황을 볼 수 있습니다. 때문에 거시적인 관점에서 설계 기준을 파악하기가 어렵습니다.

설계 기준을 명확히 알고 그에 맞게 데이터를 조정하는 것이 챗봇 운영의 핵심이며, 잘 설계된 기준을 따를 때 챗봇은 높은 성능을 유지할 수 있습니다. 또한 시기별로 업데이트한 데이터의 정보를 쉽게 찾고 변동 내역을 추적할 수 있어 꾸준한 품질 관리가 가능하기 때문에 추가적인 비용이나 리소스도 절감할 수 있습니다.

챗봇 데이터 업데이트 프로세스

데이터 설계도와 챗봇 빌더의 데이터 현황은 늘 일치하도록 관리해야 합니다. 도입 시 작성한 설계도를 기반으로 아래의 과정을 따른다면 충분히 관리가 가능합니다.

  1. 설계 기준 파악
    데이터 설계도를 바탕으로 챗봇의 데이터 현황과 설계 기준을 확인합니다. 인텐트는 어떤 것들이 있고 어떤 기준으로 나뉘어져 있는지, 엔티티의 속성과 유의어 등을 살펴봅니다.
  2. 신규 데이터 확인
    새로 추가해야 할 데이터를 확인합니다.
  3. 신규 데이터 테스트
    충돌 가능성이 있는 인텐트(인접 인텐트)를 확인하기 위해, 챗봇 빌더마다 존재하는 봇 시뮬레이터를 통해 새로 추가될 데이터에 대한 가상 발화를 입력해 봅니다. 답변이 나온다면 현재 기준에서 해당 인텐트의 연관 인텐트는 어떤 것들이 있는지 체크합니다.
  4. 신규 데이터 설계
    추가할 데이터의 인텐트 설계를 구상합니다. 이때 중요한 것은 인접 인텐트와 새로 추가할 데이터의 구분을 명확히 하는 것입니다. 어떤 학습 발화문 또는 어떤 엔티티 때문에 인접 인텐트가 되었는지 봇 시뮬레이터의 json 정보, 데이터 설계도를 확인 후 명확한 구분점을 만듭니다. 이때 필요하다면 기존의 인텐트/엔티티를 분리하거나 통합할 수 있습니다.
  5. 설계도 반영
    구상한 인텐트 설계를 데이터 설계도에 반영해 봅니다. 설계도가 업데이트되었다면, 그에 맞는 새로운 이름으로 버전 관리를 시행합니다.
  6. 빌더 반영
    수정 반영된 데이터 설계도에 따라 빌더에도 새로운 데이터를 반영합니다.
  7. 최종 테스트
    학습이 완료되었다면 봇 시뮬레이터를 통해 새로 추가된 데이터에 따른 답변이 잘 출력되는지 확인합니다. 새로 추가된 데이터 외 기존 데이터에도 수정된 부분이 있다면 의도대로 답변이 출력되는지 확인합니다.
  8. 최종 배포
    배포를 통해 실서비스에 적용합니다. 서비스 적용 후에는 사용자 로그를 확인하여 변경한 설계도가 잘 기능하는지, 혹시 사용자의 사용 경향과 데이터 설계도가 상이한 부분은 없는지 확인하며 지속 개선하는 것이 좋습니다.

데이터 버전 관리하는 법

챗봇 운영은 보통 한 사람이 아닌 여러 사람에 의해 진행됩니다. 따라서 데이터 설계도와 봇 빌더의 데이터 현황이 일치하려면 데이터 설계도의 버전 관리가 매우 중요합니다. 운영/관리 실무자는 항상 최신의 설계도를 보유하고 있어야 하고, 관리자는 설계도가 업데이트되면 즉시 모든 운영자에게 공유해 업데이트된 데이터가 누락되거나 유실되지 않도록 합니다. 협업툴인 Jira 등을 사용하여 업데이트 내역을 기록하거나, 챗봇 운영을 위한 메신저, 채팅 등 소통 채널을 별도로 마련하는 것을 추천합니다.

효과적인 데이터 업데이트를 위한 체크리스트

아래의 항목들을 체크해보며, 현재 운영하는 챗봇이 잘 관리되고 있는지 확인해 보세요! 내부에서 관리가 어렵다면, 챗봇 운영 및 유지 보수 전문 서비스를 이용하는 것도 좋습니다.

  • 챗봇 데이터 설계도가 마련되어 있나요?
  • 챗봇 빌더의 데이터와 챗봇 데이터 설계도의 데이터가 일치하나요?
  • 새로운 데이터 업데이트 시 챗봇의 기존 설계 방식을 충분히 파악 후 데이터를 설계하고 있나요?
  • 새로 업데이트할 데이터와 기존의 데이터가 충돌하지 않도록 반영 전 충분한 테스트, 명확한 구분점을 만들어 설계하고 있나요?
  • 새로 업데이트할 데이터를 챗봇 데이터 설계도에 누락 없이 기록하고 있나요?
  • 여러 챗봇 운영/관리 실무자가 있는 경우 업데이트된 챗봇 데이터 설계서를 실시간으로 공유하고 있나요?

꼼꼼한 설계는 성공적인 챗봇 도입의 지름길

이처럼 챗봇에 새로운 데이터를 업데이트할 때는 도입 시 설계했던 기준을 철저히 따라야 합니다. 그래야만 데이터 간 충돌을 줄이고, 사용자의 혼란을 막을 수 있습니다. 중대한 오류가 발생하는 것이 아니라면 이 첫 설계 기준과 방식은 챗봇 운영의 토대가 되며, 이는 ‘첫 설계가 꼼꼼하게 진행되지 않았다면 높은 성능의 챗봇이 되기는 어렵다’는 의미와도 같습니다. 챗봇이 생을 다할 때까지 이어지는 기준, 이 설계를 꼼꼼하게 진행하는 것이 챗봇 도입에 있어 제일 중요한 핵심이라고 할 수 있겠죠! 그렇다면 그 방법은 무엇일까요? 힌트는 ‘MECE’…! 자세한 내용도 곧 전해드릴게요!

✏️
Editor │ 챗봇사업팀 김예슬 PM
다양한 도메인 경험과 역량을 활용하여 효과적인 봇 전략을 제시하는 김예슬입니다.

TEXTNET 소개

지금의 딥러닝을 있게 한 AI Guru 제프리 힌튼의 데이터셋 'ImageNet'에 어원을 둔 TEXTNET은 (주)스피링크가 운영하는 AI/챗봇을 위한 텍스트 데이터 설계 및 구축 서비스입니다.

TEXTNET은 언어학, 심리학, 전산언어학 석·박사를 포함한 전문 인력으로 구성된 언어전문가 그룹으로서, 고객사의 니즈에 부합하는 텍스트 데이터를 설계·가공·구축하고 내부 R&D를 통해 설계 방식을 지속적으로 개선하여 최적의 데이터 설계 방법을 제안합니다. 프로젝트 목적에 따라 적합한 숙련 작업자를 선별하여 투입하고, 체계적이고 효율적으로 고품질의 학습데이터를 생산합니다.

TEXTNET은 삼성, LG, KT, SK 등 유수 대기업의 데이터 구축 파트너로 함께하며 금융, 마케팅, 콘텐츠, 메타버스, 서비스 기획, CS 등 다양한 도메인을 다루고 있습니다.