바로가기 메뉴
본문 바로가기
대메뉴 바로가기

TECH M

“못 알아 들었어요, 다시 말해주세요” 몰지각한 대화형 인공지능

2017-12-25연세대학교 UX랩 인지공학스퀘어(홍수미, 조광수)

[테크M=연세대학교 UX랩 인지공학스퀘어(홍수미, 조광수)]

에러 처리를 잘하면, 성능과 사용자 경험 두 마리 토끼를 잡는다. 아마존 에코를 시작으로 국내에서도 다양한 종류의 대화형 인터페이스가 도입되고 있다.

삼성의 빅스비, 애플의 시리와 SKT의 누구, KT의 기가지니, 네이버의 클로바 등 다양한 형태와 서비스에서 대화형 인터페이스가 사용되고 있다.

대화형 인터페이스는 사용자가 별도 사용법을 배울 필요 없이 ‘대화’라는 수단을 사용한다는 장점 때문에 각광받고 있다. 

그러나 대화형 인터페이스 사용 시, 시스템이 사용자의 말을 이해하지 못할 경우 사용자에게 “다시 말씀해 주세요”라는 에러 메시지를 전달한다. 이를 음성 이해 오류(Understanding error) 상황이라고 한다.

시스템마다 답변하는 방식은 다를 수 있지만, 결국 사용자가 한 말을 알아듣지 못해서 현재 오류가 발생했으니, 사용자에게 재발화, 즉 다시 말해 달라고 하는 것이다. 쉽게 설명해 에러 처리를 하는 상황이다.

이 때 사용자에게 재발화를 어떻게 요청하느냐는 대화형 인공지능 서비스의 성패를 가를 만큼 중요하다. 사용자 요청을 처리하지 못하는 에러가 발생했을 때, 재발화 요청은 대화형 인터페이스 성능에 큰 영향을 미치고, 동시에 사용자 경험도 크게 좌우할 수 있기 때문이다.

그런데 현업에서는 이를 간과하는 경향이 강한 것 같다. 시스템이 재발화를 요청하는 이유는 첫째, 시스템 입장에서는 사용자로 하여금 ‘시스템이 이해할 수 있도록’ 말을 바꿔 해달라는 뜻이고 둘째, 사용자에게는 불쾌감을 주지 않고자 하는 것이다.

더군다나 계속 다시 말해 달라는 식의 반복적인 에러 처리 메시지를 보내게 되면, 사용자는 결국 좌절하면서 대화형 인터페이스 사용을 포기할 수 있다.

시스템이 사용자에게 재발화를 요청하는 것은 보통 사용자를 당황하게 한다. 왜냐하면 사용자는 어떤 부분이 잘못되었고 어떻게 재발화를 해야할지 모르기 때문이다.

단순히 말한 내용을 못 들어서, 다시 말해 주변 소음 등의 이유로 음성 인식 자체를 실패한 것인지 아니면 말의 내용이 잘못된 것인지 사용자는 파악할 수 없다.

그렇기 때문에 같은 내용을 더 크고 정확하게 말해야 하는지, 단어를 바꿔야 하는지, 짧게 말해야 하는지, 길게 말해야 하는지 사용자는 고민하게 된다. 

실제로 오류 상황에 대한 원인은 다양하다. 시스템의 음성 이해 오류 상황은 사용자의 말을 해석하는 과정에서 발생한다. 즉 사용자의 발화 형태와 이를 모델링하는 시스템 능력 간 불일치 때문에 발생한다.

오류 원인을 분류하는 기준은 다양하지만, 보후스(Bohus)와 루드니키(Rudnicky)의 연구(2005년)에 따르면 앞선 사례에서 사용자가 고민한 것처럼 음성 인식에 실패했을 수도 있고(ASR Error), 말의 끝을 제대로 인식하지 못했거나(End-Point Error), 시스템이 할 수 없는 기능을 요구했거나(Out of application), 시스템이 해석할 수 없는 문법을 사용해(Out of grammar) 발생할 수 있다. 

따라서 원인이 무엇이냐에 따라 적절한 재발화가 있고, 원인에 따라 요청도 달라져야 한다. 가령 음성인식 자체가 실패한 경우에는 문장 변경보다는 주변 소음을 줄이거나 좀 더 크고 정확하게 발음하도록 재발화를 요청하는 것이 중요하다.

마찬가지로 시스템이 이해할 수 없는 문법을 사용한 경우라면 다른 단어나 문장을 사용해서 말하도록 요청해야 한다.

반면 시스템이 할 수 없는 기능을 요구한 것이라면 앞선 두 경우와 매우 다르게 재발화를 요청해야, 정확하게 사용자의 발화를 이끌어 낼 수 있다. 

만약 적절하지 않은 재발화로 인해 반복적인 오류가 발생한다면, 사용성에 악영향을 미치게 된다.

기존 연구에 따르면 반복적인 오류 상황은 사용자가 대화형 인터페이스의 전반적인 성능에 대해 부정적으로 인식하도록 하기 때문이다.(Sanders & Garofolo, 2002: Walker, Litman, Kamm & Abella, 1998)

또 오류해결 시도를 반복하는 것은 사용자에게 좌절감을 주며 특정 과업을 수행하는 시간을 증가시키고 결국 인터랙션 자체를 그만두게 한다.(Oviatt & VanGent, 1996) 그렇기 때문에 사용자가 올바르게 재발화를 할 수 있도록 유도할 수 있어야 하며 적절한 유도 전략을 취하는 것이 중요하다. 

재발화를 유도하는 전략에 따라 사용자의 발화 내용이 바뀌기 때문이다.(Bohus & Rudnicky, 2005) 전략에 따라 사용자가 단순히 이전에 말했던 내용을 반복할 수도 있고 문장을 바꿔서 말하거나 아예 다른 내용으로 변경해서 말하기도 한다.

앞서 언급한 것처럼 시스템이 할 수 없는 기능을 요구해 오류가 발생했다고 가정하자. 이는 사용자 재발화 내용이 변경 돼야하는 경우다.

그러나 이때 사용자가 이전 발화 내용을 단순히 반복하게 하는 전략을 선택한다면 사용자는 연속적으로 같은 내용을 말하게 되고 오류는 회복되지 않을 것이다.

이는 결국 대화형 인터페이스에 대한 인식에 악영향을 미칠 것이다. 그렇기 때문에 원인에 따라 적절한 재발화 유도전략을 선택하는 것이 중요하다. 

어떤 전략을 사용하느냐에 따라 대화형 인터페이스에 대한 좌절감도 달라질 수 있다. 단순히 반복하게 하는 전략인지 다른 문장으로 바꾸어 말하도록 하는 전략인지, 같은 전략이라도 “죄송하지만~”과 같은 사과의 의미를 포함하는지에 따라 사용자가 느끼는 좌절감이 달라지는 것을 볼 수 있다.(Goldberg, Ostendorf & Kirchhoff, 2003) 

이처럼 향후 대화형 인터페이스가 사용자에게 더 좋은 인식과 사용성을 제공하기 위해서는 사용자가 오류 상황을 마주했을 때 어떻게 회복하게 할 것인지 오류 회복 전략을 잘 디자인해야 한다.

오류의 원인이 무엇인지, 어떤 재발화가 필요한 것인지를 고려해 오류 회복 전략을 선택하고 선택한 전략이 사용자의 좌절감을 낮출 수 있는 전략인지 항상 고려해야 한다. 

<본 기사는 테크M 제56호(2017년 12월) 기사입니다>