처음에 인사를 하고 안부를 묻고 둘 사이의 관심사 등에 대해서 서로 이야기를 진행해 나가듯이 대화 과정에서 하나하나의 이야기 단위들이 (인사, 날씨문의, 취미 등) 모여 대화의 흐름을 구성하게 됩니다.
여기에서 그 하나하나의 이야기 단위를 단비Ai에서는 대화 흐름 라는 이야기 단위로 명명을 하고 있습니다.
대화할 때에는 상대방의 이야기를 듣고 대답하는 것이 기본일 것입니다. 대화 흐름에서도 챗봇이 사람과 대화하는데 있어서 말귀를 알아 듣고 (Listen 노드) 대답 (Speak 노드) 하는 기본 방식으로 구성이 되어 있습니다.
대화 과정에서 확인해야 할 사항이 있다면 되묻는 질문을 할 수 도 있겠고, 상대방의 답변에 대해 논리적으로 판단하여 대화의 흐름을 달리 이야기해야 할 경우도 있을 것입니다.
대화 흐름은 이러한 대화 과정에서 필요한 기본적인 듣고, 말하고, 판단하고 정보를 활용하는 기본적인 대화 노드들의 조합으로 대화의 흐름을 구성할 수 있는 역할을 담당하고 있습니다.
다음 내용에서는 대화 흐름에서 사용되고 있는 각각의 대화 노드들에 대해 자세히 알아보겠습니다
대화 흐름 생성
대화 흐름 목록 메뉴 우측 상단에 있는 [대화 흐름 생성] 버튼을 눌러 호출된 팝업에서 대화 흐름 제목을 입력하면 신규 대화 흐름이 생성됩니다.
대화 흐름 생성
대화노드 추가
대화 흐름 캔버스 화면 상단에 있는 노드를 클릭하여 Canvas에 필요한 Node들을 추가할 수 있습니다.
대화 흐름의 대화 노드 종류에는 크게 8가지가 있습니다.
이벤트 플로우란 대화 의도에서 시작되는 흐름이 아닌, 특정 조건에서 시작되는 흐름을 이야기합니다. 이벤트 플로우는 이벤트 URL과 이벤트명을 가지며 스크립트를 통해 직접 호출해야합니다.
이벤트 플로우로 설정
대화 흐름 기본 조작
노드 선택
노드는 클릭 또는 드래그로 선택할 수 있습니다.
노드 선택
노드 연결
노드의 연결점을 클릭, 드래그하는 방식으로 노드들을 연결할 수 있습니다.
노드 연결
노드 삭제
대화 흐름 캔버스 상에 있는 Node와 연결 선은 선택한 후에 delete키를 눌러 삭제할 수 있습니다. (Mac에서는 fn + delete)
노드 삭제
노드 개별 수정
모든 노드는 더블클릭하면 상세 화면을 열 수 있습니다.
노드 반영 확인/취소
모든 노드에는 이름과 설명을 수정할 수 있습니다.
노드를 수정한 뒤에는 반영 확인을 눌러 수정을 확정하거나, 취소버튼을 눌러 수정내용을 되돌릴 수 있습니다.
노드 정보 입력란과 반영 확인/취소 버튼
이미지 추가
메세지를 출력하는 노드에는 이미지를 추가할 수 있습니다. 이미지 url 연결 옵션을 선택하면 이미지가 있는 인터넷상의 URL을 활용하여 이미지를 올릴 수 있습니다. 확장자(jpg, png, gif)가 있는 URL을 적용해야 정상적으로 출력됩니다. 이미지 파일을 직접 업로드 할때는 1MB 파일크기 제한이 있습니다.
등록된 파라미터들의 값은 메시지나 조건절 경우에 따라 활용하실 수 있습니다.
직접 #{파라미터명} 식으로 입력할 수도 있겠지만, 편의성 차원에서 아래와 같이 파라미터를 추가하실 수 있습니다.
팝업에서 파라미터 선택시 해당 파라미터는 #{파라미터명} 식으로 메시지에 추가됩니다.
일반 변수 추가
버튼 추가
메세지를 출력하는 노드는 + 버튼 추가를 클릭해 버튼을 추가할 수 있습니다. 버튼은 단순 대답부터 전화연결, 다른 대화 흐름으로 연결까지 다양한 기능을 지원하고 있습니다.
버튼(선택지) 설정
Speak 노드는 답변 메시지와 함께 사용자에게 다음 버튼을 제공함으로써 사용자 편의성을 제공할 수 있습니다.
버튼은 일부 ‘단비’ 엔진에서 처리하는 버튼과 채널(Web, 스마트폰, IoT디바이스)에서 옵션정보를 활용하여 처리해야하는 항목들로 구성되어 있고
그 항목들은 다음과 같습니다.
버튼
설명
선택지
버튼 형태 선택지를 제공합니다.
웹 링크
팝업으로 호출할 Link 정보를 제공합니다.
내부 App실행
스마트폰에서 내부 App을 실행합니다.
외부 App실행
스마트폰에서 외부 App을 실행합니다.
전화걸기
스마트폰에서 전화걸기로 연결합니다.
대화 흐름호출
다른 대화 흐름을 호출합니다. 이때 현재 대화 흐름의 파라미터를 넘겨줄 수 있습니다.
퀵 리플라이
입력창 상단에 버튼 형태의 선택지를 제공합니다.
액션
버튼을 누르면 챗봇이 별도의 설정된 함수를 실행합니다
Note: 퀵 리플라이 타입은 facebook, 네이버톡톡에서 해당 형태로 이용 가능하며 제공되지 않는 채널에서는 선택지와 동일하게 표시됩니다.
대화 흐름 호출 파라미터 연결
대화 흐름 호출 버튼을 눌렀을때 각 대화 흐름에서 사용되는 파라미터들끼리 연결이 가능합니다. 버튼형 Jump 노드 기능으로 볼 수 있습니다.
예를 들어 날씨를 물은 뒤 사용자가 버튼을 클릭하면 날씨에 따라 음식을 추천한다고 가정해보겠습니다.
대화 흐름 호출 파라미터 연결
위와 같이 Speak 메세지를 설정하고 대화 흐름 호출 버튼을 추가합니다. 호출할 대화 흐름을 선택하면 [파라미터 연결] 버튼이 활성화 됩니다.
파라미터 연결 버튼을 클릭하면 호출할 대화 흐름과 현재 대화 흐름의 파라미터 값을 연결할 수 있는 창이 뜹니다. 예시와 같이 ‘tempo’라는 파라미터를 연결하고 테스트패널에서 테스트 해보면 다음과 같은 결과를 확인할 수 있습니다.
대화 흐름 호출 파라미터 연결 테스트
디버그 모드에서 기존 날씨 대화 흐름에서 세팅되었던 tempo의 ‘폭우’라는 값이 야식 대화 흐름의 파라미터로 넘어갔음을 확인할 수 있습니다.
대화 흐름 저장
대화 흐름 설계하고 나서 [대화 흐름 저장] 버튼을 클릭을 하면 해당 내용이 서버에 반영됩니다.
대화 흐름은 서버에 반영되고 나서야 Tester 혹은 시뮬레이션(Simulation) 에서 테스트해 볼 수 있습니다.
대화 흐름 저장
Warning: 대화 흐름 저장을 하지 않고 다른 화면으로 이동하면 입력되었던 작업은 사라지게 되니 유의하시기 바랍니다.
대화 흐름 테스트 패널
테스트 패널은 설계한 대화 흐름이 정상적으로 흐름을 진행하는지 사전에 테스트할 수 있는 기능을 제공합니다.
대화 흐름 Tester 영역
테스트 예문을 입력하고 그에 따른 답변과 현재 진행되고 있는 상태 정보를 확인 할 수 있습니다.
사용자 선택에 따라 일반 모드, 디버그 모드로 테스트 패널을 사용하실 수 있습니다.
[일반 모드] : 챗봇과의 메시지를 주고 받는 상황을 일반 채팅창처럼 보여줍니다.
[디버그 모드] : 메시지 뿐만 아니라 내부적으로 처리되는 데이터 처리 내용까지 확인이 가능합니다.
[파라미터 팝업] : 특정 노드에서의 처리된 파라미터 내역 확인이 가능합니다. (? 표시 클릭)
테스트 패널
테스트 패널에서는 여러 대화 흐름을 테스트해 볼 수 있습니다. 만약 지금 진행 중인 대화 흐름을 확인하고 싶다면 패널 아래 부분의 ‘대화 흐름 상세’ 버튼을 선택하시면 됩니다.
그러면 원하시는 대화 흐름가 대화 흐름 canvas에 펼쳐지게 됩니다.
대화 흐름 상세 링크
용어 설명
용어
용어 설명
대화세션
‘대화세션아이디’의 줄임말으로 대화를 시작해서 끝날 때까지의 대화를 식별하기 위한 단위 개념입니다.
인스턴스
‘ChatflowInstance’의 줄임말로 ‘대화 흐름’ 단위로 이야기를 진행할때 인스턴스 단위로 발급되는 식별 단위 입니다.
노드
듣고, 말하고, 판단하고, 되묻고 하는 등, 대화 흐름을 이어가는데 필요한 기본 기능 단위 입니다.
파라미터
대화 흐름 내 흐름 과정에서 사용되는 변수들을 일컫는 것으로 Slot, Carousel에서 답변 정보를 저장하는 용도로 주로 사용합니다.
의도추론
현재 대화에 대해 NLU가 파악한 의도 정보를 나타냅니다.
함께해요! 챗봇시대 :)
모든 사물, 디지털 매체와 말이 통하는 시대! 단비Ai와 함께 반드시 오게될 챗봇시대를 열어갔으면 좋겠습니다.