샘플 대화상자를 작성하는 이유
샘플 대화는 훌륭한 Actions on Google 만들기의 핵심입니다. 디자인하는 상호작용의 '소리와 느낌'을 빠르게 확인할 수 있습니다. 코드 표기, 복잡한 흐름도, 인식-문법 문제 등의 기술적 방해 없이 사용자가 실제로 경험하게 될 흐름을 전달합니다.
샘플 대화를 작성하면 새로운 기능의 검색 가능성을 높이는 방법이나 사용자의 요청을 확인하는 방법 등 다양한 디자인 전략을 비공식적으로 실험하고 평가할 수 있습니다 (예: 암시적 확인, 명시적 확인 또는 아예 확인을 사용해야 하는지 여부).
음성 대화로 시작
시작할 때는 음성 대화, 즉 Google Home과 같은 화면이 없는 기기를 위한 디자인에만 집중하는 것이 좋습니다. 음성 안내가 포함된 메시지를 모두 한곳에서 볼 수 있으면 흐름을 더 쉽게 진행할 수 있습니다. 휴대전화와 같은 다른 기기로 확장하면 조각이 음성 안내에서 디스플레이 메시지, 칩, 시각 요소로 이동합니다.
대략적인 설계 전략
숙련된 대화 디자이너는 대략적으로 디자인 방식이 약간 다르며 주요 사용 사례에 따라 사용하는 전략이 다를 수 있습니다. 그러나 이 모든 작업에 필요한 2개의 고수준 디자인 결과물(1) 샘플 대화상자 집합 및 2) 대화 흐름 다이어그램이 제공됩니다.
샘플 대화를 먼저 작성하는 디자이너도 있고 높은 수준의 흐름을 그리는 디자이너도 있습니다. 디자이너는 이 두 가지 작업을 진행하면서 전환하곤 합니다. 어떤 접근 방식을 사용하든 인간의 대화에 대한 심층적인 지식과 기술을 활용한 대화에 관한 사용자 연구 중심의 권장사항을 활용하고 있습니다.
대화를 위해 글쓰기를 연습하는 것은 연습입니다. 음성 메시지를 입력하여 문서화할 때 이메일이나 에세이의 쓰기 스타일을 쉽게 입력할 수 있습니다. 텍스트 음성 변환 (TTS)의 각 음성 메시지를 듣고 대화를 상상해 본다면 이러한 위험을 피할 수 있습니다. 캐릭터의 음성을 녹음하도록 선택한 경우에도 이렇게 하면 음성이 녹음된 대사가 어떻게 들리는지 빠르게 피드백을 받을 수 있습니다.
이어지는 섹션에서는 초보자부터 대략적인 설계까지 한 가지 방법을 안내합니다.
초보자를 위한 샘플 대화상자
캐시 펄, Google 대화 설계 담당 책임자
기능의 샘플 대화상자를 작성하려면 다음 단계를 따르세요.
1단계 | 한 명의 사용자 캐릭터와 하나의 주요 사용 사례에 중점을 둡니다. |
2단계 |
파트너를 찾아서 역할극을 합니다. 한 명은 사용자인 척하고 다른 한 명은 시스템 캐릭터인 척합니다. 대화를 녹음합니다. 파트너가 없는 경우 두 역할 간에 전환해야 합니다. |
3단계 | 대화 스크립트 작성 샘플 대화상자의 첫 번째 초안입니다. |
4단계 | 대화상자를 따라 사용자의 대사를 말하고, 렌더링될 텍스트 음성 변환 (TTS)에서 각 시스템 사용자의 대사를 재생합니다. TTS가 제대로 작동하지 않으면 다시 작성하거나 SSML (Speech Synthesis Markup Language)을 사용하여 성능을 변경합니다. |
5단계 | 다양한 사용자 캐릭터 및 주요 사용 사례를 사용하여 1~4단계를 반복합니다. |
다음은 Google I/O 작업의 초기 샘플 대화상자 초안의 예입니다.
사용자 캐릭터: 27세인 안나는 UX 디자이너이자 스케치 아티스트로, 사용자가 일상에서 일을 처리하는 데 도움이 되는 매력적인 사용자 경험을 만들고 싶어 합니다.
사용자 컨텍스트: 안나가 현재 I/O에 있음
사용자 목표: 그날의 남은 세션에 관한 정보를 원합니다.
주요 사용 사례: 세션 탐색, 경로 찾기, 모바일 앱 연결
시스템 담당자: I/O 관련 지식의 담당자는 기술의 힘을 강력히 믿는 Google 개발자 전문가입니다. 숙련된 네트워킹 전문가로서 StackOverflow의 질문에 답변하고, 유명 브랜드를 위한 앱을 빌드하며, Google이 makewithcode.com을 운영하는 데 도움을 줍니다. 지난 7년 동안 I/O에 참여했으며 신뢰할 수 있는 개발자 커뮤니티의 회원입니다. I/O의 대변인으로서 이러한 책임을 매우 중대하게 여기지만 물론 여전히 즐겁게 업무를 수행할 것입니다.
발표자 | 사용자 음성 / 음성 메시지 | 메모 |
---|---|---|
사용자 |
Hey Google, Google I/O에 연결해줘 |
|
어시스턴트 |
알겠습니다. Google I/O입니다. <이어콘> |
|
I/O |
Google I/O의 모든 것을 위한 Launchpad에 오신 것을 환영합니다. 현재 축제가 진행 중입니다. 행운의 참석자가 있으신가요? |
인사말은 짧고 가볍게 유지합니다. 다양한 옵션 (예: 경로 및 실시간 스트림)이 관련이 있으므로 참석자와 비참석자별로 환경을 분할합니다. |
사용자 |
예! |
사용자의 답변 기억 (이후 상호작용에서 다시 묻지 않음) |
I/O |
축하합니다! I/O 관련 지식을 유지하는 분의 가이드로 추천해 주세요. 일정을 관리하거나, 할 일을 찾거나, 경로 안내를 드릴 수 있습니다. 그렇다면 무엇이 필요하신가요? |
캐릭터를 소개하고 이 작업의 기능에 대한 예시를 제공합니다. |
사용자 |
할 일 찾기 |
|
I/O |
물론입니다. 전문가에게 배우고 싶으신가요? 데모 사용해 보기 아니면 긴장을 풀고 휴식을 취하세요? |
옵션을 그룹화하여 인지 부하를 줄입니다. 전문가 = 기조연설 (1일 차), 세션, 업무 시간, 앱 리뷰 demos = Codelabs, sandboxs 휴식 시간 = 음식, 사은품, 영업시간 이후 |
사용자 |
전문가에게 배우기 |
|
I/O |
좋습니다. 기조연설에 대해 말씀드리겠습니다. 세션을 탐색할 수 있습니다. 또는 특정 영업시간과 앱 리뷰를 추천하세요. Which would you like?(안녕하세요. 상점의 영업시간을 안내하거나 약속을 잡아 드릴 수 있습니다. 어떻게 도와드릴까요?) |
|
사용자 |
세션 둘러보기 |
|
I/O |
오늘 다룰 주제는 머신러닝 및 인공지능, ID, Nest, Android 및 Play, 오픈소스, 어시스턴트입니다. 괜찮으신가요? |
사용자가 하루 종일 가능한 모든 주제에 부담을 느끼기보다는 현재 또는 앞으로 일어나고 있는 일에 집중하세요. 한 번에 최대 6개만 제공하여 목록을 관리하기 쉽게 유지합니다. SSML 필요 <speak>오늘 다룰 주제는 <break time="300ms"/>, 머신러닝 및 인공지능, <break time="300ms"/> ID, <break time="300ms"/> Nest, <break time="300ms"/> Android 및 Play, <break time="300ms"/> 오픈소스, <break time="300ms"/>입니다. <break time="750ms"/> 괜찮으신가요?</speak> |
사용자 |
예, AI입니다 |
|
I/O |
오후 1시에는 예술, 과학, 머신러닝 도구 등 AI Adventures가 열립니다. 그런 다음 2:30에는 AutoML을 사용합니다. 모델 코드를 작성할 필요 없이 커스텀 모델을 빌드하세요. 둘 중 하나를 듣고 싶으신가요? |
이 제목은 길이가 길며 들려주지 않습니다. 무음 기능을 사용하면 제목의 시작과 끝을 나타낼 수 있습니다. 한 번에 최대 2개만 제공합니다. SSML 필요 <speak>오후 1시에는 <break time="250ms"/>AI Adventures: 예술, 과학, 머신러닝 도구가 있습니다.<break time="750ms"/> 그런 다음 2break 30에 <break time="250ms"/>AutoML: 모델 코드를 빌드하지 않고 커스텀 모델을 빌드합니다. <break time="1s"/>이 중 하나를 더 듣고 싶으신가요?</speak> 제목을 검토하고 수정하여 TTS(예: 'AutoML'은 한 단어로 발음됩니다. |
사용자 |
아니 |
|
I/O |
좋습니다. 후반부에서는 4분사로 분산 TensorFlow 학습이 진행됩니다. 더 자세히 알고 싶으신가요? |
SSML 필요 <speak>예. 4시에는 <break time="250ms"/>분산 TensorFlow 학습이 있습니다. <break time="750ms"/>더 자세히 듣고 싶으신가요?</speak> |
사용자 |
아니요 |
|
I/O |
그렇다면 알겠습니다. 오늘은 머신러닝과 인공지능에 관한 내용을 모두 다루었으니 다른 주제를 선택하시겠어요? |
SSML 필요 <speak>알겠습니다. 오늘은 머신러닝 및 인공지능에 대한 마지막 세션입니다.<break time="250ms"/> 다른 주제를 선택하시겠어요?</speak> |
사용자 |
예! |
|
I/O |
다른 주제로는 ID, Nest, Android 및 Play, 오픈소스, 어시스턴트, Firebase가 있습니다. 둘 다 괜찮은가 |
SSML 필요 <speak>오늘 소개할 주제로는 <break time="250ms"/>identity,<break time="300ms"/>Nest,<break time="300ms"/>Android 및 play,<break time="300ms"/>오픈소스,<break time="300ms"/>어시스턴트,<break time="300ms"/>및 Firebase.<break time="750ms"/>어떤 것이 좋으신가요?</speak> |
사용자 |
어시스턴트 |
|
I/O |
오전 11시에 더 나은 액션을 만들기 위한 10가지 팁이 있습니다. 그리고 오후 2시에 제품이 어떻게 생겼나요? 둘 중 하나를 듣고 싶으신가요? |
SSML 필요 <speak>오전 11시에 <break time="250ms"/>더 나은 액션을 만들기 위한 10가지 도움말이 있습니다. <break time="750ms"/>그런 다음 오후 2시에 <break time="250ms"/>캐릭터를 만듭니다. 제품이 어떤 모습일까요?. <break time="1s"/>이 중 하나를 더 듣고 싶으신가요?</speak> |
사용자 |
두 번째는 |
|
I/O |
좋은 세션이네요. 설명은 다음과 같습니다. 캐릭터란 무엇인가요? 어떻게 하면 제품의 정체성을 강화할 수 있을까요? 도구에 관해 알아보고, 팁을 얻고, 잘 설계된 캐릭터가 어떻게 음성 지원 인터페이스를 혁신하고 사용자 참여를 높일 수 있는지 살펴보세요. 이제 반복할까요, 아니면 일정에 추가할까요? 아니면 이동 방법을 알려 드릴까요? |
세션 설명은 길고 음성으로 듣지 않습니다. 수정을 고려해 보세요. SSML 필요 <speak>멋진 세션이네요! 설명은 다음과 같습니다. <break time="250ms"/>캐릭터란 무엇인가요? 어떻게 하면 제품의 정체성을 강화할 수 있을까요? 도구에 관해 알아보고, 팁을 얻고, 잘 설계된 캐릭터가 어떻게 음성 지원 인터페이스를 혁신하고 사용자 참여를 높일 수 있는지 살펴보세요. <break time="1s"/>다시 말씀해 주시겠어요? <break time="250ms"/>일정에 추가, <break time="250ms"/>또는 이동 방법을 알려 드릴까요?</speak> |
사용자 |
내 일정에 추가 |
|
I/O |
그렇게 하려면 I/O 2018 작업을 Google 계정에 연결해야 합니다. Do you want to do that now?(죄송합니다. 현재 요금제를 멕시코에서 사용하실 수 없습니다. 고객님의 회선에 해외여행 요금제 중 하나를 추가하셔야 합니다. 지금 추가하시겠어요?) |
|
사용자 |
나중에 |
'예'라고 답한 경우 사용자가 계정을 연결하도록 돕기 위한 구체적인 안내가 필요함 |
I/O |
걱정하지 마세요. 길 안내를 받으시겠어요? 아니면 다른 세션에 관해 알아보시겠어요? |
|
사용자 |
거기에 어떻게 가나요? |
|
I/O |
캐릭터 만들기: '제품이 어떤가요?' 세션은 <랜드마크와 함께> 세션이며, 오후 2시에 시작합니다. 다시 들으시겠어요? |
모든 위치에 대한 경로 필요 |
사용자 |
아니요 |
|
I/O |
알겠습니다. 다른 도움이 필요하신가요? |
|
사용자 |
아니요 |
|
I/O |
정상입니다. I/O를 즐기세요. |
SSML 필요 <speak><prosody rate="fast">좋습니다. IO를 즐기세요!</prosody></speak> |
어시스턴트 |
<이어콘> |
샘플 대화 작성에 대한 자세한 내용은 I/O 18 Action을 설계하고 빌드한 방법을 자세히 설명하는 2부 블로그 게시물에서 확인하세요.
초보자를 위한 대략적인 흐름
적절한 디자인은 명확하게 정의된 사용자 경로의 필요성과 사용자가 원하는 항목에 대한 바로가기에 대한 갈망 사이에서 균형을 맞춥니다.
개략적인 흐름을 사용자가 작업을 탐색하는 방법에 대한 지도로 생각하세요.
사용자가 작업에 대해 이야기할 때 무엇을 요청할 수 있는지 자동으로 알지 못하므로 따라야 할 경로를 알려줘야 하며, 이 사이사이에는 길을 제시해야 합니다. 사용자를 작업의 모든 부분으로 안내하는 메뉴 및 트리 구조를 만들면 됩니다.
그러나 이를 통해 사용자가 원할 때 언제든지 원하는 것을 요청할 수 있는 자연어 이해(NLU) 기술을 활용하는 데 방해가 되어서는 안 됩니다.
![](https://developers.google.cn/static/assistant/conversation-design/images/write-sample-dialog-map.jpg?authuser=6&%3Bhl=ko&hl=ko)
다음은 Google I/O 작업 초기 초안의 예입니다.
이 흐름은 위의 샘플 대화상자에서 다룬 기능만 보여줍니다. 이 예시에는 완전히 지정되지 않은 '아무도 화살표'가 여러 개 있습니다. (Google Drawings를 사용하여 만듭니다.)
아직 디자인 전이라면 어떻게 설계했는지 자세히 알아보려면 블로그 게시물을 읽어 보세요.
![플로우 차트의 이미지입니다. 모든 경로는 Greeting으로 시작하여 I/O 이전, 중간 또는 이후 여부에 따라 분기됩니다. I/O 기간인 경우 사용자의 참석 여부에 따라 경로가 다시 분할됩니다. 그런 다음 사용자 환경을 더 세분화하는 일련의 메뉴가 있습니다.](https://developers.google.cn/static/assistant/conversation-design/images/ioactiondiagram.png?authuser=6&hl=ko)