brunch

You can make anything
by writing

C.S.Lewis

by Jeanne Nov 05. 2018

Conversational UX

보이지 않는 UX는 어떻게 디자인해야될까?

최근 내가 가장 관심있는 분야는 Conversational UX이다. 지정된 몇개의 명령어를 통해 인터랙션하던 Command line Interface를 지나 화면에 보이는 아이콘과 링크를 누르거나 검색어를 텍스트로 입력하던 Graphic user interface의 정점에 있는 지금, 기업들은 스크린을 벗어나 인공지능과 대화를 통해 사용자가 목적을 달성하는 시대를 향해 달려가고 있다. 구글, 페이스북, 아마존 등 글로벌 업체는 꽤 상업화에도 성공한 모습을 보이고 네이버, 카카오 등 국내 IT는 아직 미흡하지만 다음 패러다임을 선점하기 위해 이제 한걸음을 뗀 모습이다. 그외에도 많은 기업들이 챗봇을 통해 고객센터를 대체하려는 등 다양한 시도를 하고 있긴한데 딱히 잘하고 있는 업체가 보이진 않는다. 

UX디자이너로 스크린 안에서 십수년 일했지만 스마트폰 화면 넘어 아무것도 주어져 있지 않은 환경에서 보이지 않는 존재를 깨우고 뭘 해줄 수 있는지를 파악하고 원하는 결과를 얻어내는 과정을 디자인하는 일은 (특히 사람들과 대화를 잘 이어가는게 어려운)내게 완전히 새롭고 흥미로운 도전이다. 


이글은 IBM의 https://researcher.watson.ibm.com/researcher/view_group.php?id=8426 아티클을 읽으면서 배운것과 느낀점을 정리하려고 작성함을 밝혀둔다. 빨간색으로 표기한 것은 내가 첨언한 나의 의견이다.


위 아티클은 대화를 시스템 중심, 컨텐츠 중심, 시각정보 중심, 그리고 대화중심 네가지로 분류한다. 


스타일 분류


1. 시스템중심(System-centric)

척 봐도 사용자가 할 수 있는 질문의 형태가 제한적이고 답변도 DB에 있는 걸 줄줄 읊어주고 있음을 알 수 있다. 

command line이랑 다른게 무어냐

 


2. 컨텐츠 중심(Contents centric)

 검색이나 지식인과 비슷한 형태로 질문 자체는 좀더 자연스럽다. 다만 정확한 결과를 주기 위해 답변은 길고 일방적이다. 검색창을 활용해 스크린에 뿌려주기는 적절할 수 있으나 스피커로 읽어주며 사용자를 이해시키기는 무리다. 

한 귀로 듣고 한 귀로 흘릴 듯


3. 시각정보중심(Visual centric)

수행할 수 있는 옵션을 객관식으로 사용자에게 제공하는 것이다. 

자연어보다 덜 자연스럽긴 하지만 오류는 없지.



4. 대화중심(Conversation centric)

가장 자연스럽다. 한번에 하나씩 순차적으로 사용자가 원하는 답을 구체화하고 확인하는 과정을 통해 필요한 정보를 제공하고 있다. 

주거니 받거니

그리고 나서 IBM 아티클 답게 자연어 처리와 대화 중심에 대한 중요성을 일장연설... 맞는 말이긴 한데 아직은 다른 형태의 보완이 필요한 단계이다. 사용자도 AI도 아직 준비가 덜 되어서 자꾸 딴소리하잖아. 1번은 모르겠지만 특히 texting 형태로 대화할 경우 2,3번도 각자 장점이 있다고.(물론 그럼에도 불구하고 아래 도미노피자 챗봇처럼 멍청한 대화를 피할 수 없긴 하다...) 

Visual Clue를 객관식 형태나 자동완성을 통해 제공하는 구글 ALLO, 스크린을 통해 대화할 때 유용한 방법이긴 하다.
똥멍청이!!
적어놓은 거 또 물어보고 하더니 결국 쏴리..?☠️



상호작용

아무튼 대화중심에 집중해 자연어 처리 프레임워크의 모델을 보기로 한다. 

대화에는 여러가지 형식이 있겠지만 가장 많은 형태는 인접쌍(adjacency pair)이라는 것으로 질문-대답, 안녕?-안녕, 제안-수락/거절 등이 이에 해당한다. 이 경우 발화자는 상대방으로부터 뭔가 끝맺음이나 결과를 기대하게 된다. 이 시퀀스가 반복되면서 대화를 이어가면서 사람들은 사회적 관계를 쌓아간다. 아래 5가지 타입의 상호작용을 살펴보자.


1. Minimal Expansion

최소한의 대화로 목적을 달성한다. 

위 대화에서 'Thanks'는 혼자 존재할 수 없으며 이전 행동에 대한 반응(3번째줄에 대한 답변)으로 기능하는 한편 대화를 종료하는 역할도 수행한다.


2. 5 Sequence Expansion Types

발화자가 시퀀스를 확장하면서 대화를 쌓는 형식이다. 대화의 목적을 달성하고 종결하기 위해 걸러내기(Screening), 끌어내기(Eliciting), 반복하기(Repeating) 또는 확인하기(Paraphrasing) 등을 사용하기도 한다. 아래는 IBM Watson의 자연어 대화 프레임워크 실험에 사용된 테스트예제인 'Alma'와의 대화 중 발췌이다. 


3. Agent Elicitation

대화의 상대방이 범위를 좁혀가며 목적을 달성하는 형식이다. 


4. User Elaboration Request

발화자가 질문의 정확한 의미를 다듬어 목적을 달성하는 타입이다. 


대화의 시퀀스를 이해하는 것은 자연어 대화 처리에 필수적이다. IBM의 아티클은 이 자연어 대화 프레임웍의 목표중 하나는 상호 이해라고 말한다. 발화자가 뭐라고 말하는 지 알아듣는 것은 그 첫번째 단계이고 그 다음은 문장의 맥락을 이해하는 것이다. 예를 들어 "Thanks"는 대화가 목표를 완수했음을 뜻하고 "What do you mean"은 AI가 의미한 바를 못알아들었음을 뜻하고 "No I mean X"는 발화자의 의도를 AI가 오해했음을 뜻하며 "Never mind"는 대화 실패했음을 뜻한다. 그렇지만 보통 한국어 대화에서는 저런 반응을 하지 않기 때문에 AI가 뭐가 잘되고 잘못되었는지 분석하기 어려울 것 같기도. 대화가 잘됐든 못됐든 한국어는 반응하지 않지. 그리고 아직은 영어로도 기존 발화자와 나눈 대화를 1:1로 쌓아놓고 분석하지는 않기 때문에 사람과의 대화와 달리 같은 질문을 반복해도 똑같은 과정을 거쳐야 답을 얻을 수 있다는 Pain Point가 있다.




대화의 네비게이션

컴퓨터(나 스마트폰)를 조작하는 것처럼 대화에도 네비게이션이 있다. 

6 Basic Navigation Actions   

1. What Can you do?        help(Global)

2. What did you say?        back

3. What do you mean?     help(Local)

4. Okay/Thanks                 forward

5. Never mind                    escape

6. Goodbye                         end


Capability

사용자는 항상 AI가 뭘 할 수 있는지 확인해야 한다. "What can you do?"를 물어봄으로써 AI가 사용자에게 물어볼 수 있는 질문을 한정하고 좀더 상세한(그리고 답을 줄 수 있는) 질문을 통해 답을 얻을 수 있게 도와준다. 


Repeat

음성인터페이스는 텍스트와 다르게 머무르지 않기 때문에 (말하는 순간 사라진다) 사용자는 AI에게 반복을 요구할 수 있다. 음성인식에서 "What did you say?" 는 다른 인터페이스의 "이전으로"(또는 Back key)에 네비게이션에 해당한다.  


Paraphrase

Paraphrase(다른말로 바꿔 다시 설명하기)는 대화의 맥락상 도움을 요청하는 기능이다. "What do you mean?"은 앞문장을 좀더 쉽고 이해하기 쉬운 말로 바꿔 말하도록 이끄는 역할을 한다. 


Close Sequence

"Okay"나 "Thanks"는 대화 종료와 다음으로 넘어가는 것을 뜻하는 자연스러운 시퀀스다. 


Abort Sequence

사용자가 AI로부터 기대하는 답을 얻지 못할 것으로 판단하고 종료 후 다음을 넘어가는 경우이다. "Never mind"같은 표현이 다른 인터페이스의 'ESC'와 같은 기능을 하는 대표적인 케이스이다. 하지만 더 자연스러운 케이스라면 바보 똥멍충이 같은 말을 뱉겠지


Close Conversation

사람간의 대화처럼 AI와의 대화에도 자연스럽게 헤어짐을 뜻하는 네비게이션이 필요하다. "Good bye"가 대표적이다. 




Common Activities

대화를 통해 목적을 달성하기 위한 시퀀스의 연속이라고 할 수 있다. 즉 대화 시작하기, 사용법안내, 가르치기, 에러리포트, 유우머, 주문하기 등등의 세트이다. 


자주 쓰는 모듈을 IBM에서는 아래와 같이 분류해 Library로 제공하고 있나본데 위 아티클에는 몇가지 예제를 제공하고 있으니 관심있으면 가서 보시길.

Common Activity Modules                    

Opening                                Complaint & Remedy
Help Offer                             Compliment
Inquiry                                   Insult & Apology
Request                                 Understanding Repair
Open-ended Request         Hearing Repair
Story/Instructions              Closing (Sequence)
Troubleshooting                 Closing (Conversation)
Quiz                                       Disengagement



Sequence Metrix

대화는 확장된 시퀀스로 구성되는데 이 대화가 성공적이었는지 여부는 대화의 상화작용 개수 대비 목표달성여부(성공률) 뿐 아니라 앞서 말한 것처럼 대화의 발화자와 AI 상호가 이해해야되기 때문에 효율성도 측정이 가능하다. 

A는 엄청 효율적, B는 효율은 떨어지지만 목표는 달성, C는 목표도 달성 실패


위 시퀀스들의 성공률과 효과 측정은 위와 같다는데 Number of Sequences는 어째서 이런 숫자인지 이해하지 못했다. 로그가 어쩌구...



Conversational UX Design process

위 아티클에서는 Mockup-Design-Build의 3단계로 설명하고 있다. 본격 작업 전 퀵하게 컨셉을 증명하는 일반적인 디자인 Mockup과는 달리 Conversational UX에서의 Mock up은 대화를 통해 가장 이상적으로 정보를 전달하는 최소 시퀀스이다.  


Design은 좀더 프로그래밍에 가까워보인다. mock up은 시스템 그 자체보다는 정보를 한땀한땀 쳐넣는것처럼 보이는데 그래서 Design단계에서는 이를 추상화해서 코드 자체를 코딩하는게 중요한데 이를 Pseudocoding이라 하는 것 같다. 


1. 조건문 만들기 Create condition – Conditions are compared to input utterances, represented with "if"    

    Intents(#) – Linguistic classes against which the similarity of a text input can be scored

    Entities(@) – Keywords or phrases to be matched exactly

    Context($) – Variables for capturing events in the conversation

    Pattern(^) – Text string analysis with Regular Expressions, Javascript, etc.

Pseudocode

2. 디폴트값 세팅 Assign default – Assign action if no conditions are met, represented with "else"

3. 변수 세팅 Set variable – Capture the context of the current input for future turns, represented with "set"

4. 루트 설정 Route to node – Route to another dialog node, represented with "goto"

5. 값 반환 Respond to user – Output text to the user, represented with "say"  


Build는 말그대로 빌딩...본인들의 Natural Conversation Framework 깨알자랑도 빠질 수 없다.



IBM의 위 솔루션이 적용된 몇몇 제품의 경우... 경험상 엄청난 노가다의 산물이라 할 정도로 자연어 처리는 아직 쉽지 않아 보인다. 미국의 경우와 또 다르게 한국어 특성상 대화의 시작과 종료, 피드백이 명확하지 않은 것도 있을 것 같고. 동생 줘버린 카카오 스피커는 얼마나 학습을 통해 발전했을지 궁금하군. 



부록: 한국에서 사용하기엔 아직 갈길 먼 대화형 AI...

홈페이지에 가서 찾을거 같으면 내가 왜 물어봤겠니...
하라는 거 다 했는데 왜 길을 못찾니...애플맵 못써서 그러니...


브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari