Slot 노드는? 되묻기!
피자를 주문 받을 때! 메뉴, 사이즈, 수량이라는 3가지 정보가 필요하다 가정하겠습니다. 주문하는 사람이 처음부터 “페퍼로니 피자 미디움 사이즈로 1판 주세요.”라고 빠짐없이 이야기 하면 좋겠습니다. 하지만 3가지 정보 중 몇가지를 빼먹고 이야기 하는 경우가 있을 수 있습니다. 따라서 필요한 정보들이 모두 입력되었는지 체크하고, 누락된 내용들을 다시 질문하여 원하는 정보를 받아내면, 더 자연스러운 대화가 될 것입니다.
이번 단계에서는 “피자메뉴” 정보가 들어왔는지 Slot 노드를 이용해 체크하고, 질문을 통해 정보를 얻어내는 것까지 해보겠습니다.
Slot 노드
Slot 노드는 파라미터를 기준으로 질문메시지를 정의할 수 있습니다. 필수로 얻어야 하는 정보를 파라미터로 정의하고 Slot 노드에 파라미터 값을 얻기 위한 질문을 추가해야 합니다. 필수로 얻어야하는 정보가 여러 개라면 각각 파라미터로 정의하고 질문을 만들면 됩니다.
Slot 노드 생성 및 질문 메시지 정의
1) “피자주문하기” 대화흐름빌더 상세 페이지에서 상단의 Slot 노드를 클릭하여 Slot 노드를 추가해주세요. 그리고 Listen 노드 > Slot 노드 > Speak 노드 순으로 배치한 후 선을 연결해주세요. 기존에 연결되어 있던 선을 삭제하려면 선을 선택한 후 [Delete]키를 누르면 됩니다. (Mac에서는 function + backspace)
![](images/tutorial/basic04_create_slot.png)
2) Slot 노드를 더블 클릭하여 상세 패널을 열고, ”질문 추가” 버튼을 클릭하여 1개의 질문 메시지를 생성해주세요.
3) #1의 Select Box에서 “피자메뉴” 파라미터를 선택하고, 메시지 입력란에 “어떤 피자를 주문할까요?”라고 입력해주세요
![](images/tutorial/basic04_slot_question.png)
선택지 버튼 추가 및 파라미터 값 정의
1) 텍스트로 답을 받을 수도 있지만 사용자로부터 정확한 답을 받기 위해서 버튼 형태로 선택지를 줄 수도 있습니다. “버튼 추가”를 클릭하여 “선택지” 옵션을 선택해주세요.
2) “피자메뉴” 엔티티의 각 메뉴 추출 항목을 버튼으로 입력해주세요. “버튼명”은 채팅창 버튼에 표시되는 텍스트이고, 우측의 입력란에는 “피자메뉴” 파라미터에 담을 값을 입력하면 됩니다. (최초 입력시에 비워두면 버튼명이 파라미터값으로 자동 설정됩니다.)
![](images/tutorial/basic04_add_button.png)
Slot 노드 테스트
1) “변경내용 저장” 버튼을 클릭한 후 우측의 테스트 패널에서 테스트를 해보세요. “피자 주문해줘”라고 입력하면 Slot 노드에서 정의한 질문 메시지가 나타나고, 버튼을 클릭하면 Speak 노드에서 정의한 응답 메시지가 나타납니다.
![](images/tutorial/basic04_slot_test1.png)
3) 여기서 잠깐! “페퍼로니 피자 주문해줘”라고 입력하면 어떻게 될까요? 이미 “피자메뉴”에 대한 정보가 “페퍼로니”라고 들어왔기 때문에 Slot 노드를 건너뛰고, 바로 Speak 노드 메시지가 나타납니다.
![](images/tutorial/basic04_slot_test2.png)
다음 Step에서는
Slot 노드를 이용하여 피자메뉴를 버튼으로 선택할 수 있게 만들어 보았습니다. 사용자가 메뉴 선택을 좀 더 직관적으로 할 수 있도록 사진도 함께 보여주면 더 좋을 것 같은데요. 다음 Step에서는 Carousel 노드를 이용하여, 카드 형태로 메시지를 만드는 방법을 배워보겠습니다.
함께해요! 챗봇시대 :)
모든 사물, 디지털 매체와 말이 통하는 시대! 단비Ai와 함께 반드시 오게될 챗봇시대를 열어갔으면 좋겠습니다.
혹시 서비스 소개서를 찾고 있나요?
단비Ai 서비스 소개서는 아래 링크를 클릭해 다운로드 하실 수 있습니다.
서비스 소개서 다운로드
챗봇을 교육용도로 활용하고 싶으신가요?
단비Ai를 기반으로 만들어진 Ai교육, 에이아이런을 만나보세요 :)