핑퐁 빌더의 작동 흐름

핑퐁 빌더의 작동 흐름

기능대화 봇에 핑퐁 빌더로 만든 일상대화 봇을 연동하면 기능대화 봇이 처리하지 못한 사용자 발화를 핑퐁 빌더에서 처리하게 됩니다. 핑퐁 빌더의 기술들은 아래와 같은 대화 모듈들로 구성되어 있습니다.

Figure 2. 핑퐁 빌더의 작동 흐름
  1. 기능대화 매칭: 당신의 인공지능이 별도로 기능 명령을 처리하는 모듈이 있다면, 그런 말을 굳이 핑퐁 빌더로 보낼 필요없이 별도로 처리하면 됩니다.

  2. 금칙어/기능대화 필터: 기능대화 봇에서 처리되지 못한 기능 명령을 금칙어/기능대화 필터를 통해 한 번 더 안전하게 걸러냅니다.

  3. 대화 시나리오 매칭: 사용자의 말이 대화 시나리오의 사용자 발화 예시와 비슷하면 시나리오에 따라 작성된 봇의 답변이 출력됩니다.

  4. 자동 답변: 금칙어/기능대화 필터나 대화 시나리오에 매칭되지 않는 사용자 발화는 자동 답변에서 가장 적절한 답변을 찾아 제공합니다. 자동 답변에는 리액션 답변커스텀 답변이 있으며, 머신러닝 알고리즘이 모든 자동 답변 중 가장 적절하다고 판단하는 답변을 출력합니다.

  5. 토픽: 새로운 대화 주제를 토픽에 넣어두면 일정 빈도로 자동 답변 뒤에 붙어 새로운 화제를 제시합니다.

실제 작동 예시

실제로 사용자와의 대화에서 핑퐁이 일상대화를 어떻게 처리하는지 알아볼까요?

  • 사용자가 기능 수행을 요구하는 말(날씨 정보)을 했고, 그 기능이 타 기능대화 모듈에서 처리되는 경우에는 사용자 발화를 핑퐁 빌더로 전달할 필요가 없습니다.

  • 사용자가 기능 수행을 요구하는 말(날씨 정보)을 했으나 기능대화 봇에서 처리하지 못한 경우, 핑퐁 빌더의 기능대화 필터로 처리할 수 있습니다. 이를 통해 사용자의 목적을 일상대화로 처리할 때 생기는 문제를 예방할 수 있습니다. 또한 아래 예시와 같이 올바른 명령어를 알려주면, 사용자의 학습에도 도움이 됩니다.

  • 일상대화가 전달되는 경우, 핑퐁 빌더에서는 우선적으로 대화 시나리오에 비슷한 사용자 발화 예시가 있는지 확인합니다. 대화 시나리오에 같은 의도의 발화 예시가 있다면, 이에 매칭시켜 시나리오에 따른 답변을 제공합니다.

  • 대화 시나리오에 해당 예시가 없는 경우, 그에 대한 답변은 자동 답변이 처리합니다. 위의 예시 그림의 #4-1의 경우에는 리액션 답변과 커스텀 답변 중에 리액션 답변이 제공되었습니다. #4-2 예시는 커스텀 답변이 제공된 경우입니다. 커스텀 답변과 리액션 답변 중 어떤 답변으로 처리할지는 핑퐁의 일상대화 모델이 결정합니다.

  • 봇이 하고 싶은 말을 토픽에 작성해두면, 자동 답변을 한 후 일정 빈도로 새로운 화제를 제시합니다. 이는 봇과 다양한 대화를 오래 하게 함으로써 사용자와 친근한 관계를 맺는데 도움이 됩니다.