챗봇 대화 디자인
참고문서 : https://developers.google.com/assistant/conversation-design/welcome
구글의 대화 디자인 문서에서 중요한 예제들을 정리했습니다. 챗봇 시나리오 디자인할 때 기본적인 흐름 제작에 참고 자료로 사용할 수 있습니다. 보다 많은 예제는 참고 문서를 확인하세요.
- 1 기계적인 응답을 요구하지 않는다.
- 2 입력 형식이 맞지 않는 경우
- 3 대화 진행을 위한 (문제 해결을 위한) 응답
- 4 한번에 너무 많은 목록을 제시 하지 않는다.
- 5 응답에 대한 함축적 표현을 이해할 수 있어야 한다.
- 6 기술용어가 아닌 일반 용어를 사용한다.
- 7 방금 요청한 사항을 다시 묻지 않는다. (대화 용어를 사용할 것)
- 8 대명사 처리
- 9 이어지는 의도 파악하기
- 10 UI 에 대한 표현에 대해서 이해하기
- 11 다양한 표현으로 응답
- 12 대화주제 변경
- 13 한번에 하나의 질문
기계적인 응답을 요구하지 않는다.
사용자에게 이렇게 해라 저렇게 해라 강요하지 않아야 한다.
⭕ Good
대화 형식에 맞게 질문하고, 해당 형식이 맞지 않는 경우에만 다시 질문한다.
BOT : 질문하신 내용에 답변을 바로 드릴 수 없습니다. 전화번호를 남겨 주시면 담당자가 확인 후에 연락드리도록 하겠습니다. 연락받을 연락처를 말씀해 주세요.
USER : 1055270494
BOT : 입력하신 번호가 잘못된 것 같습니다. 다시 확인 부탁드립니다. (잘못 입력한 경우에만 처리)
❌ Bad
입력받은 데이터를 다시 맞는지 묻는 것
USER : 3시에 2명 예약 부탁드려요
BOT : 네, 3시에 2명 맞나요?
USER : 네
입력 형식이 맞지 않는 경우
⭕ Good
형식에 매칭되지 않는다면, 단순하게 해당 형식으로 이야기 할 수 있도록 유도
BOT : 예약 하실 인원을 알려주세요.
USER : 저와 친구가 갈겁니다.
BOT : 죄송합니다. 몇명인가요?
USER : 2명
❌ Bad
장황하게 입력 방식을 설명하는 것
BOT : 예약하실 인원을 알려주세요.
USER : 저와 친구가 갈겁니다.
BOT : 인원을 @명 형식으로 입력해주세요.
USER : 2명
대화 진행을 위한 (문제 해결을 위한) 응답
⭕ Good
제시한 옵션에서 유저 선택이 없을 경우의 대안을 제시
BOT : 내일 3시와 모레 6시에 가능합니다.
USER : 둘 다 안되는데요
BOT : 그러면 오늘 8시는 어떠신가요?
❌ Bad
다른 옵션 없이 불가능만을 이야기 하고 대화 종료
BOT : 내일 3시와 모레 6시에 예약 가능합니다.
USER : 둘 다 안되는데요
BOT : 네, 알겠습니다.
한번에 너무 많은 목록을 제시 하지 않는다.
⭕ Good
현재 대화에 맞는 데이터를 유저에게 제공하고, 다음 대화의 흐름에서 데이터에 맞는 정보를 제시해야 한다.
BOT : 한식, 중식이 준비 되어 있는데요, 어떤 종류를 원하시나요?
USER : 한식
BOT : 김치찌게, 비빔밥 이 인기 메뉴입니다.
USER : 비빔밥
❌ Bad
한번에 모든 데이터를 제시하고, 유저가 선택하기를 기다린다.
BOT : 저희는 김치찌게, 비빔밥, 짜장면, 짬뽕, 탕수육 … 음식이 가능합니다. 어떤 것을 원하시나요?
USER : 비빔밥
응답에 대한 함축적 표현을 이해할 수 있어야 한다.
⭕ Good
맞아, 그만, 그게 좋아, 됐어 와 같은 문맥도 처리한다.
USER : 이벤트 쿠폰이 있나요?
BOT : 네, 이번주까지 사용 가능한 10% 쿠폰이 있어요.
받기/다른쿠폰보기
USER : 다음에 받을게요
BOT : 네, 다음 쿠폰이 발행되면 알려드릴게요.
❌ Bad
정해진 응답만 처리한다.
USER : 이벤트 쿠폰이 있나요?
BOT : 네, 이번주까지 사용 가능한 10% 쿠폰이 있어요.
받기/다른쿠폰보기
USER : 다음에 받을게요
BOT : 죄송하지만 이해할 수 없어요. 다시 말씀해 주세요.
기술용어가 아닌 일반 용어를 사용한다.
⭕ Good
유저는 개발자나 전문가가 아니다.
BOT : 배송에 필요한 우편번호를 알려주세요.
USER : 938
BOT : 우편번호가 짧습니다. 5자리 우편번호를 말씀해 주실래요?
❌ Bad
일반적으로 기획할 때의 용어를 대화에 사용한다.
BOT : 배송에 필요한 우편번호를 알려주세요.
USER : 938
BOT : 우편번호 오류, 5자리로 입력해 주세요.
방금 요청한 사항을 다시 묻지 않는다. (대화 용어를 사용할 것)
⭕ Good
결과에 대해서만 간략하게 답변한다.
- BOT : 네, 완료되었습니다. 다음 중 어떤 것이 좋으신가요?
❌ Bad
요청사항을 다시 질문하고 확인한다.
- BOT : 요청하신 사항이 지금 모두 완료되었습니다. 검색결과를 확인하고 선택해주세요.
대명사 처리
⭕ Good
유저 정보에 따른 대명사 처리를 한다.
USER : 요즘하는 콘서트 정보 알려줘
BOT : 최근 인기있는 콘서트를 찾아봤어요, 어떤 것이 좋으세요?
USER : 여기에서 하는 건 없어?
BOT : 서울에서는 8월에 이런 콘서트가 있어요.
❌ Bad
이해할 수 없다.
USER : 요즘하는 콘서트 정보 알려줘
BOT : 최근 인기있는 콘서트를 찾아봤어요, 어떤 것이 좋으세요?
USER : 여기에서 하는 건 없어?
BOT : 이해할 수 없네요, 다른 선택을 해주세요.
이어지는 의도 파악하기
⭕ Good
의도가 이어지는 것인지 아닌지 파악해서 대답합니다.
USER : 장미꽃 10송이가 얼마인가요?
BOT : 프리미엄의 경우에는 5만원이고, 일반의 경우에는 4만원 입니다. 주문하시겠습니까?
USER : 5송이는 얼마죠?
BOT : 프리미엄의 경우에는 3만원이고, 일반의 경우에는 2만원입니다. 주문하시겠습니까?
❌ Bad
해당 의도에 대해서만 응답합니다.
USER : 장미꽃 10송이가 얼마인가요?
BOT : 프리미엄의 경우에는 5만원이고, 일반의 경우에는 4만원 입니다. 주문하시겠습니까?
USER : 5송이는 얼마죠?
BOT : 꽃 종류를 알려주세요.
UI 에 대한 표현에 대해서 이해하기
⭕ Good
몇번째, 무슨색 등의 표현을 처리한다.
(5가지 리스트를 보여준다.)
USER : 첫번째로 할게요
BOT : 첫번째에 대한 자세한 설명과 쇼핑진행
❌ Bad
처리 못한다.
BOT : 저희가 준비한 목록은 다음과 같습니다.
`(5가지 리스트를 다시 보여준다)
다양한 표현으로 응답
⭕ Good
지속적으로 사용되는 표현들은 다양하게 응답할 수 있도록 해야 한다.
오후 5:30
오후 다섯시 반에
5:30
…
❌ Bad
하나의 표현으로 여러번 사용
대화주제 변경
⭕ Good
행동을 만들 수 있는 질문하기 구매 가능한 목록을 보여준다.
- BOT : 어떤것을 구입하고 싶으신가요?
❌ Bad
내용에 대한 설명만 하기
- BOT : 아래 목록을 구매할 수 있습니다.
한번에 하나의 질문
⭕ Good
질문 후에 다른 말을 하지 않고 기다린다.
USER : 이 동네 있는 이벤트 알려줘
BOT : 네, 특별히 마음에 두고 있는 이벤트 종류가 있으세요?
❌ Bad
중첩된 질문으로 사용자를 혼란스럽게 한다.
USER : 이 동네 있는 이벤트 알려줘
BOT : 네, 야구경기와 축구경기가 있군요. 어떤 것이 좋으세요? 아니면 다른 종류의 이벤트를 찾아 볼까요? 이 동네에서는 배구 경기가 유명하군요.