- 인쇄
- PDF
폼
- 인쇄
- PDF
폼은 챗봇 답변 시 더 효과적으로 대화할 수 있도록 미리 지정한 선택지 내에서 답변을 요구하는 대화 컴포넌트를 제공하는 기능입니다. 사용자에게 선택지 중 하나를 선택하게 하는 대화를 구성하려면 멀티 링크나 폼을 사용합니다. 멀티 링크는 해당 버튼을 클릭했을 때 URL 링크로 이동하는 것만 가능합니다. 폼은 사용자의 질문에 따라 객관식 또는 주관식 질문을 제공하고, 그 답변에 따른 피드백으로 대화를 이어갈 수 있습니다. 폼을 사용하면 사용자의 선택에 따라 특정 선택지로 이동하거나 특정 결과를 조회하는 등 다양하게 활용할 수 있습니다.
폼을 생성한 후, 폼을 답변에 적용하는 방법은 다음과 같습니다.
- 답변 등록 시 답변 유형이 객관식 답변인 상태에서 불러올 폼 이름을 입력합니다.
- 답변 등록 시 답변 유형이 기본 답변인 상태에서 입력창에서 #을 입력합니다. #를 입력하면 폼 목록이 나타나고, 원하는 폼을 선택합니다. 또는 #{FormName}의 형태로 폼 이름을 입력합니다.
폼의 유형
폼 유형은 두 가지입니다.
- 객관식 폼: 여러 개의 선택 사항 중 하나를 선택하는 유형입니다.
- 주관식 폼: 챗봇의 질문에 사용자가 직접 텍스트를 입력하여 답변을 제공하는 유형입니다.
객관식 폼
객관식 폼은 여러 선택지 중 하나를 선택하는 유형입니다. 예를 들어 고객에게 예/아니오에 대한 답변을 객관식 폼으로 만든 후에 다양하게 활용할 수 있고, 메뉴를 선택하는 객관식 폼을 구성할 수 있습니다.
주관식 폼
주관식 폼은 챗봇의 질문에 사용자가 직접 텍스트를 입력하여 답변을 제공하는 유형입니다. 주관식 폼에서는 사용자가 먼저 특정 주제에 대한 질문을 하면, 미리 설정해 놓은 주관식 폼의 안내 문구를 응답합니다. 사용자가 그에 대한 답변을 입력하면, 챗봇이 주관식 폼의 답변을 응답합니다.
주관식 폼의 답변 입력 시 액션 메소드를 추가할 수 있습니다. 액션 메소드의 헤더에 X-KAA-USERMSG를 key로 하여 utf-8로 인코딩된 메시지가 전달됩니다.
주관식 폼의 응답 흐름은 다음과 같습니다.
(특정 주제에 대한 질문) 사용자: 견적 문의하기
(폼의 안내 문구) 챗봇: 안내 메일을 받을 수 있는 이메일을 입력해주세요. 입력한 정보는 담당자에게 전달됩니다.
(사용자의 답변) 사용자: abc@navercorp.com
(폼의 답변) 담당자에게 이메일 주소를 전달했습니다. 감사합니다.
폼 생성
객관식 폼 생성
객관식 폼을 생성하는 방법은 다음과 같습니다.
- 네이버 클라우드 플랫폼의 콘솔에서 Services > CLOVA Chatbot > Domain 메뉴를 차례대로 클릭해 주십시오.
- 원하는 도메인의 [빌더 실행하기] 버튼을 클릭하여 챗봇 빌더를 실행해 주십시오.
- 챗봇 빌더에서 폼 메뉴를 클릭해 주십시오.
- 폼 목록이 나타납니다.
- # 입력 영역에 추가할 폼 이름을 입력하고 [+] 버튼을 클릭해 주십시오.
- 화면 우측에 폼 추가 창이 나타나면 폼에 대한 정보를 입력해 주십시오.
항목 | 설명 |
---|---|
유형 | 폼 유형 선택 |
폼 이름 | 폼 이름. 수정 버튼을 클릭하면 수정 가능 |
버튼 유형 | 폼 유형을 객관식으로 선택한 경우에만 활성화되는 메뉴 * 객관식 버튼: 버튼이 세로로 나열됨. 메신저별로 지원하는 버튼 개수가 다름 - LINE, Facebook: 최대 4개 - 네이버톡톡, NAVERWORKS: 최대 10개 - Custom: 최대 20개 * Quick reply: 버튼이 가로로 나열됨. 버튼은 최대 10개 추가 가능 |
답변 | 객관식 버튼을 설명할 답변 입력 |
버튼 | * 객관식 버튼에 노출될 문구 입력. 특정 문구 대신 엔티티를 연결 가능 * 사용자가 버튼을 클릭하거나, 엔티티의 대표어를 입력했을 때 수행할 작업 선택 |
서비스 연동 | 연동할 서비스 선택 |
- [저장] 버튼을 클릭해 주십시오.
폼에서 LINE Switcher API 또는 LINE Payment 액션 메소드를 사용하는 경우, 통합 지표에 집계되지 않습니다. 만약 통합 지표에 포함해야 한다면 서비스 연결을 설정해 주십시오.
주관식 폼 생성
주관식 폼을 생성하는 다음과 같습니다.
- 네이버 클라우드 플랫폼의 콘솔에서 Service > CLOVA Chatbot > Domain 메뉴를 차례대로 클릭해 주십시오.
- 원하는 도메인의 [빌더 실행하기] 버튼을 클릭하여 챗봇 빌더를 실행해 주십시오.
- 챗봇 빌더에서 폼 메뉴를 클릭해 주십시오.
- 폼 목록이 나타납니다.
- # 입력 영역에 추가할 폼 이름을 입력하고 [Enter] 키를 눌러 주십시오.
- 화면 우측에 폼 추가 창이 나타나면 폼에 대한 정보를 입력해 주십시오.
항목 | 설명 |
---|---|
유형 | 폼 유형 선택 |
폼 이름 | 폼 이름. [수정] 버튼을 클릭하여 수정 가능 |
답변 | 객관식 버튼을 설명할 답변 |
유저 응답시 답변 | 사용자 응답에 따른 답변을 직접 입력. 일반 메시지를 입력해도 되지만, 좀 더 풍부한 대화를 위해서 액션 메소드 또는 다른 폼과 연결하는 것도 가능 * 액션 메소드를 연결하려면 $를 입력한 후, 연결할 액션 메소드를 연결합니다. * 다른 폼과 연결하려면 #를 입력한 후, 연결할 폼 이름 선택 |
서비스 연동 | 연동할 서비스 선택 |
- [저장] 버튼을 클릭해 주십시오.
폼의 사용 예시
폼을 사용하는 방법은 크게 세 가지입니다.
- 폼을 연속적으로 연결하기
- 폼과 폼의 응답 정보를 액션 메소드로 연결한 대화 만들기
- 주관식 폼으로 사용자에게 정보를 받고, 그 정보를 액션 메소드로 전달하기
폼을 연속적으로 연결하기
폼을 연속적으로 연결하는 방법은 홈페이지에서 카테고리의 하위 메뉴를 찾아 내려가는 방식과 동일합니다. 이 기능은 자연어 처리와는 상관 없이 시나리오에 따라 흐름이 연결되는 단순한 방식입니다.
예를 들어, 폼 3개를 생성하여 연속적으로 연결하면, 각 단계에서 사용자 선택을 유도할 수 있습니다. 그러나 이런 형태로 폼을 너무 많이 생성하면 해당 시나리오를 파악하기 어려울 수 있습니다. 그래서 챗봇 빌더에서는 폼의 흐름을 쉽게 파악할 수 있도록 시나리오 탭에서 폼 흐름을 따라갈 수 있는 기능을 제공합니다. 구체적인 예시는 폼+폼 연결을 참조해 주십시오.
폼과 폼의 응답 정보를 액션 메소드로 연결한 대화 만들기
사용자의 선택에 따라 액션 메소드를 실행하는 대화를 구성할 수 있습니다.
예를 들어 ‘오늘 날씨 알려줘’라는 질문에 #{도시선택}이라는 폼을 제공하도록 설계하고, 서울을 선택하면 ${weather}라는 액션 메소드를 실행하여 답변을 주는 시나리오를 구성할 수 있습니다. 해당 시나리오를 구현하는 예시는 폼+액션 메소드 조합 예시를 참조해 주십시오.
주관식 폼으로 사용자에게 정보를 받고, 그 정보를 액션 메소드로 전달하기
사용자에게 주관식으로 입력 받고, 그 정보를 다음 턴으로 연결하는 시나리오를 구성할 수 있습니다.
예를 들어 ‘고객님의 의견을 남겨주세요’라는 챗봇의 질문에 #{의견 남기기}이라는 주관식 폼을 제공하도록 설계하고, 고객이 의견을 남기면 ${customerVoc}라는 액션 메소드를 실행하여 사용자의 모든 입력을 Backend Service로 전달하고, 서버의 응답에 따라 고객에게 안내하는 시나리오를 구성할 수 있습니다. 해당 시나리오를 구현하는 예시는 폼+액션 메소드 연결: 주관식 폼를 참조해 주십시오.
폼+폼 연결
정해진 시나리오를 통해 사용자의 선택을 이끌어가야 할 경우에는 폼을 연속해서 연결하거나 폼에서 대화로 연결할 수 있습니다. 이 시나리오에서는 사용자가 서비스 추천을 요청했을 때, 서비스 추천 항목을 객관식 폼으로 구성하여, 사용자가 객관식 폼의 선택지를 클릭했을 때 해당 서비스 페이지로 바로 이동하는 구성입니다.
폼과 폼을 연결하는 방법은 다음과 같습니다.
- 사전 작업을 완료해 주십시오.
- 게임 서비스 폼 생성
- 모바일 및 웹서비스 폼 생성
- 챗봇 빌더에서 폼 메뉴를 클릭해 주십시오.
- 폼 이름을 입력하고 [Enter] 키를 눌러 주십시오.
- 폼 이름: 서비스 추천
- 폼 생성 창이 나타나면 정보를 입력해 주십시오.
- 유형: 객관식
- 버튼 유형: 객관식 버튼
- 답변: ‘원하는 서비스 유형을 선택하세요’ 입력
- 버튼: 임의의 버튼명 입력 후 텍스트 답변 선택
5, 텍스트 답변 영역에 연결할 폼을 #{폼이름} 형태로 입력해 주십시오. - #{서비스추천} 폼인 경우, #{게임서비스} 폼이나 #{모바일 및 웹서비스} 폼을 입력하여 호출 가능
- [저장] 버튼을 클릭해 주십시오.
<예시>
폼+대화 연결
폼에 대화를 연결할 수 있습니다. 예를 들어 #{모바일 및 웹서비스} 폼에서 '모바일 서비스' 대화나 '웹 서비스' 대화를 호출할 수 있습니다.
폼과 대화를 연결하는 방법은 다음과 같습니다.
- 사전 작업을 완료해 주십시오.
- 모바일 서비스 대화 생성
- 웹 서비스 대화 생성
2 챗봇 빌더에서 폼 메뉴를 클릭해 주십시오.
- 폼 이름을 입력하고 [Enter] 키를 눌러 주십시오.
- 폼 이름: 서비스 추천
- 폼 생성 창이 나타나면 정보를 입력해 주십시오.
- 유형: 객관식
- 버튼 유형: 객관식 버튼
- 답변: ‘원하는 서비스 유형을 선택하세요’ 입력
- 버튼: 임의의 버튼명 입력 후 대화 연결 선택
- 연결할 대화를 선택해 주세요.
- 만약 등록되지 않은 대화 이름을 입력하면, 해당 이름으로 신규 대화가 생성됩니다.
- [저장] 버튼을 클릭해 주십시오.
<예시>
폼+액션 메소드 연결: 객관식 폼
사용자가 ‘오늘 날씨 알려줘’라고 질문하면 #{도시선택}이라는 폼을 제공하고, 사용자가 도시를 선택하면 ${weather}라는 액션 메소드를 실행하여 답변을 주는 시나리오입니다.
위 시나리오에 따라 폼을 생성하는 방법은 다음과 같습니다.
- 챗봇 빌더의 엔티티 > [엔티티 생성] 버튼을 클릭한 후, 도시 엔티티를 생성해 주십시오.
- 엔티티 이름: 도시 입력
- 대표어: ‘서울'과 '뉴욕' 입력
- 엔티티 생성 방법은 도메인 생성를 참조해 주십시오.
- 챗봇 빌더의 액션 메소드 > [액션 메소드 생성] 버튼을 클릭한 후 액션 메소드를 생성해 주십시오.
- 이름: ${weather}
- URL: GET 방식으로 city=도시명을 넘기면 현재의 온도값을 보내주도록 개발되어 있다고 가정합니다. 호출 URL에서 넘겨줄 인자값에 city=$[도시]를 입력하여 액션 메소드를 생성합니다.
- 액션 메소드 생성 방법은 액션 메소드를 참조해 주십시오.
액션 메소드를 테스트하기 위해서 간단하게 Serverless 함수를 만들었습니다. 우측의 [echo 호출] 버튼을 클릭하면 간단히 테스트할 수 있습니다.
<예시> https://chatbot.fin-ncloud.com/api/v1/actionmethod/echo?city=$[도시]
챗봇 빌더의 폼 메뉴에서 폼을 생성해 주십시오.
- 폼 이름: #{도시선택}
- 폼 유형: 객관식
- 답변: ‘현재 거주하는 도시를 선택해주세요.’ 입력
- 버튼: 각 버튼에 도시명을 입력하고 텍스트 답변에 액션 메소드 ${weather}를 입력
- 서울을 선택하거나 텍스트로 서울이라고 입력한 경우에 ${weather} 액션 메소드가 호출됩니다.
챗봇 빌더의 대화목록 > [대화 생성] 버튼을 클릭하여 대화를 생성해 주십시오.
- 질문 등록 영역에 '오늘 날씨 알려줘'라고 입력
- 답변 등록 영역에 #{도시선택}을 입력
대화 모델 빌드 버튼을 클릭하여 빌드한 후, 테스트를 완료해 주십시오.
<예시>
폼+액션 메소드 연결: 주관식 폼
주관식 폼은 사용자가 직접 입력한 텍스트를 답변으로 받아 다음 시나리오로 연결하거나, 액션 메소드로 사용자의 발화를 전달하는 기능입니다.
고객이 피드백으로 불만족을 선택한 경우, 고객에게 사용자 개선 의견을 받는 시나리오를 예시로 설명합니다. 사용자의 의견을 받는 액션 메소드를 먼저 생성한 후, 해당 액션 메소드를 활용하여 폼을 생성하고, 공통 메시지의 피드백 메뉴에서 사용자가 피드백 응답 시 No라고 선택했을 경우 해당 폼을 수행하도록 설계합니다.
위 시나리오에 따라 주관식 폼을 생성하는 방법은 다음과 같습니다.
- 챗봇 빌더의 액션 메소드 > [액션 메소드 생성] 버튼을 클릭하여 {사용자개선의견전달} 액션 메소드를 생성해 주십시오.
- 해당 액션 메소드는 주관식 폼에 응답한 유저의 메시지를 utf-8로 인코딩하여 액션 메소드 헤더에 X-KAA-USERMSG 담아 전달합니다.
- 챗봇 빌더의 폼 메뉴를 클릭한 후 폼을 생성해 주십시오.
- 폼 이름: #{사용자개선의견}
- 유형: 주관식
- 답변: "죄송합니다 고객님, 의견을 남겨 주시면 더욱 더 발전하는 챗봇이 되겠습니다."
- 유저 응답 시 답변에 액션 메소드와 함께 고객에게 전달한 메시지를 입력해 주십시오.
- "${사용자개선의견전달} 고객님의 소중한 의견 감사드립니다."
- 챗봇 빌더의 공통 메시지 > [피드백] 탭에서 피드백을 생성해 주십시오.
- 피드백 문구: 문제가 해결되었나요?
- Y/N 피드백 클릭 시 응답: 응답 메시지 있음 선택
- 응답 메시지 있음 > No의 버튼 액션을 텍스트 답변으로 선택하고 #{사용자개선의견} 주관식 폼 입력
피드백 기능은 연동된 메신저에 따라 지원되지 않는 경우가 있습니다. 피드백 기능을 지원하는 채널인지 확인이 필요합니다. 피드백 기능이 지원되지 않는 메신저는 네이버 톡톡, NAVER WORKS, Face Book, CLOVA입니다.