Conversation Analysis 에서의 UX
대화 분석가들은 "대화"가 다음의 피쳐들을 보여주는 "말을 교환하는 시스템"이라고 했다.
"A Simplest Systematics for the Organization of Turn-Taking for Conversation" (1974) 에 나오는 대화 요소를 소개한다.
- Speaker의 변경이 일어난다.
- 압도적으로 한 사람이 한번에 말한다.
- 한 번에 여러 명이 말하는 경우가 일반적이다. 하지만 짧다.
- 시간 간격과 겹침이 없는 턴 전환이 일반적이다.
- 턴 순서, 사이즈는 고정되어 있지 않다.
- 대화의 길이, 화자, 턴의 상대분포는 미리 명시되어 있지 않다.
- 화자의 수는 변할 수 있다.
- 대화는 연속적일 수도 있고, 비연속적일 수도 있다.
- 대화 순서를 명확하게 할당해줄 수 있다. (예: 다음 화자를 선택할 때)
- 턴 구성 단위가 다양하다
- 잘못된 대화를 수정하는 메카니즘이 존재한다.
뻔한 것 같아 보여도 우리가 어떤 문제에 집중해야하는지 다시 한번 생각해볼 수 있는 요소들이다.
"Whether your conversational application has a lot of content or only a little,
you will still need to build the same structures to deliver that content"
대화 디자인을 위해 대화에 대해서 살펴보자.
Turn Constructional Unit(TCU)
대화에서 턴의 단위를 설명한다. (단어, 구절, 절, 문장)
대화의 발화들은 적어도 하나의 TCU로 구성되어 있다.
발화들은 인식이 가능한 대화의 "Sequence" 로 구성된다.
"Activity"는 더 큰 목적을 달성하려는 관련된 "Sequence"들로 구성된다.
"Conversation"은 "Activity"들의 조합으로 탄생된다.
구두로 대화할 때 있어서의 가장 기본적인 작동 방식 3가지를 소개한다.
Recipient design
대화의 수취인에 따라서 다른 디자인이 작동해야한다는 의미다. (topic, level 등등)
"인간의 요구와 능력, 행동을 최우선으로 생각한 다음 그런 방식을 수용하도록 디자인 해야 한다." (노만님의 말씀을 인용)
현재의 시스템에 Recipient design을 적용하는 방식을 다음 두가지로 소개했다.
- 유저를 알아야 한다.
-> 모든 유저 각각에 대비할 수는 없어도 특정 유저로 제한을 하면 맞춤형 답변을 준비할 수 있다. - turn level 에서 각각의 답변을 준비하는 것은 불가능할지라도 sequence level 에서는 가능하다.
-> 도메인과 방식에 대해 잘 아는 유저에게는 빠르고 효과적으로 짧은 path를 준비해주는 것이 좋다.
(turn level에서도 가능하다고 본다, 전화를 받았을 때 연령 별로 적절한 단어나 말투를 제공해 줄 수 있을 것이다. 물론 템플릿화가 잘 되어있어야 한다)
Minimization
대부분의 사용자가 이해할 수 있는 한에서 agent의 응답은 짧아야한다.
보통의 챗봇들은 content-centric style로 엄청 자세한 정보를 주곤 한다. 불필요한 상세함은 포인트를 이해하기 어렵게 만든다.
물론 자세한 정보를 원하는 유저에게는 발화를 수정해서 내보내야 한다.
-> agent가 문장을 반복해서 말하게 될 때 정보량을 유저의 의도에 맞춰서 조절할 수 있어야 한다는 의미다.
Repair
말, 듣기, 이해 등의 다양한 문제로 발생하는 대화의 흐름 속에 실패를 수정해나가는 과정이다.
다양한 위치에서 일어날 수 있다.
First-position | A: 안녕하슈 아 아니 안녕하세요. |
Second-position |
A: 아, 10살이라구요? B: 9살이요 |
Third-position |
A: 저 번호가 뭐라고 하셨죠? B: 010-... A: 아 가게 번호요. |
Fourth-position |
A: 주소가 어떻게 되셨나요? B: 화정동에 있어요 A: 아 회사 주소 맞나요? B: 아 회사는 판교 쪽이구요. |