목차

폼 사용가이드

챗봇에서 사용자의 입력을 선택적으로 받을 수 는 방법은 폼(Form)를 통해서 가능합니다.

챗봇이 사용자에게 여러 가지의 선택지 중에 한가지를 선택하도록 설계하려면

1.멀티링크 2.폼

두 가지를 사용할 수 있습니다.

멀티 링크는 폼과 UI는 동일하지만, 선택지를 클릭했을 때 URL 링크로 이동하는 단순한 액션을 취하게 됩니다.

그러나 폼을 사용하면 사용자의 선택에 따라 챗봇은 그 다음의 선택지로 이동, 혹은 더 많은 대화를 입력 및 폼 입력에 따른 조회 등 다양한 기능으로 확장 할 수 있습니다.

폼의 사용 형태

폼을 사용하는 방법은 크게 두 가지 입니다.

1.폼을 연속적으로 연결하기

2.폼과 폼의 응답 정보를 액션 메소드 연결한 대화 만들기

3.주관식 폼 - 사용자에게 입력을 받고, 그정보를 액션메소드로 전달하기

먼저, 폼을 연속적으로 연결하는 방식은 홈페이지의 카테고리 서브 메뉴 찾아 내려가는 방식입니다. 이 기능은 자연어 처리와는 상관없이 시나리오에 따라서 흐름이 연결되는 단순한 방식입니다.

즉, 폼1> 폼2 > 폼3 을 연속적으로 연결하고, 각 단계별 사용자 선택을 유도할 수 있습니다.

실제로도 이 방법으로도 유용하게 사용자 경험을 설계할 수 있습니다. 그러나, 이 형태로 Form을 매우 많이 생성하는 경우, 그 흐름을 운영 유지하기가 어려운 단점이 있습니다. 챗봇 빌더 에서는 폼 흐름을 쉽게 인지할 수 있도록 시나리오 탭에서 폼 흐름을 따갈 수 있는 기능을 제공합니다.

또 한가지 사용방법으로 아래 예시처럼 사용자 선택에 따라 액션 메소드를 실행하고 답변을 연결하는 방법으로 챗봇을 응용할 수 있습니다.

  • 시나리오 예시: 오늘 날씨 알려줘라는 질문에 #{도시선택}이라는 폼을 제공하도록 설계하였습니다. 그리고 서울을 선택하면 ${weather}라는 액션메소드를 실행하여 답변을 주는 시나리오입니다.

마지막으로 주관식으로 사용자에게 입력을 받고, 그정보를 다음 턴으로 연결하는 시나리오도 구성할 수 있습니다.

  • 시나리오 예시: 고객님의 의견을 남겨주세요 질문에 #{의견 남기기}이라는 주관식 폼을 제공하도록 설계하였습니다. 그리고 고객이 의견을 챗봇에게 남기면 ${customerVoc}라는 액션메소드를 실행하여 사용자의 모든 입력을 Backend Service로 전달하고, 서버의 응답에 따라 고객에게 안내하는 시나리오입니다.

챗봇의 폼 기능으로 유용한 기능을 만드는 예시

1. 폼 + 액션메소드

폼은 사용자의 입력을 선택적으로 받을 수 있는 방법입니다.

chatbot-03-063.png

시나리오 예시: 오늘 날씨 알려줘라는 질문에 #{도시선택}이라는 폼을 제공하도록 설계하였습니다. 그리고 서울을 선택하면 ${weather}라는 액션메소드를 실행하여 답변을 주는 시나리오입니다.

chatbot-03-064.png

1.엔티티를 생성합니다.

  • '도시'라는 엔티티를 입력합니다. 대표어에는 '서울'과 '뉴욕'을 입력합니다.

chatbot-03-065.png

2.액션메소드를 생성합니다.

  • ${weather}를 생성합니다.

    • 호출할 URL은 GET 방식으로 city = 도시명을 넘기면 현재의 온도값을 보내주도록 개발되어 있다고 가정합니다. 호출 URL에서 넘겨줄 인자 값에 city=$[도시]를 입력하여 액션메소드를 생성합니다.
> **참고**
>
> 액션메소드 테스트를 위해서 간단하게 Serverless 함수를 하나 만들었습니다. 우측의 "echo 호출"버튼을 클릭하여 간단히 테스트하실 수 있습니다.
> ```
> https://beta-chatbot.ncloud.com/api/v1/actionmethod/echo?city=$[도시]
> ```

chatbot-03-066.png

3.폼을 생성합니다.

  • #{도시선택}을 생성합니다.
    • 서울을 선택하거나 텍스트로 서울이라고 입력한 경우에 ${weather} 액션메소드가 호출됩니다.

4.대화를 생성합니다.

  • 발화 예시 질문에 '오늘 날씨 알려줘'라고 입력하고 답변에는 #{도시선택}을 입력합니다.

    • 학습을 클릭하고 테스트를 완료합니다

2. 폼 + 폼, 폼 + 대화

챗봇 서비스에서는 폼을 사용하여 사용자의 선택을 제한하지 않아도 사용자의 자연스러운 입력을 통해서 서비스 구성이 가능합니다. 그러나 정해진 시나리오를 통해서 사용자의 선택을 이끌어가야 할 경우에는 폼을 연속해서 연결하거나 폼에서 대화로 연결하는 것이 가능합니다.

1.폼과 폼을 연결하는 방법은 다음과 같습니다.

chatbot-03-067.png

  • 버튼 액션은 텍스트 답변을 선택합니다.
  • 텍스트 입력 창에 다음에 연결할 폼을 입력합니다.

예를들어 #{서비스추천} 폼은 버튼에 따라 #{게임서비스} 폼이나 #{모바일 및 웹서비스} 폼을 호출할 수 있습니다.

2.폼과 대화를 연결하는 방법은 다음과 같습니다.

chatbot-03-068.png

  • 버튼 액션은 대화 연결을 선택합니다.
  • 버튼 선택 시 연결할 대화의 이름을 입력합니다. 만약 등록되지 않은 대화 이름을 입력하면, 해당 이름으로 신규 대화가 생성됩니다.

예를 들어 #{모바일 및 웹서비스} 폼은 버튼에 따라 '모바일 서비스'대화'웹 서비스' 대화를 호출할 수 있습니다.

3. 주관식 폼

사용자에게 선택지를 제시하여 시나리오를 이끌어나가는 객관식폼과는 달리, 주관식폼은 사용자의 자유로운 발화를 답변으로 받아 다음 시나리오로 연결하거나 액션메소드로 사용자의 발화를 전달할 수 있는 기능입니다. 아래는 고객이 불만족하다고 피드백을 응답한 사용자에게 사용자 개선 의견을 받는 시나리오 예시입니다.

1.${사용자개선의견전달} 액션메소드를 생성합니다.

(액션메소드 생성화면 이미지)

  • 해당 액션메소드는 주관식 폼에 응답한 유저의 메시지를 utf-8로 인코딩하여 액션메소드 헤더에 X-KAA-USERMSG 담아 전달합니다.

2.#{사용자개선의견} 주관식 폼을 생성합니다.

(주관식 폼 생성 이미지. 답변부분: "죄송합니다 고객님, 의견을 남겨주시면 더욱 더 발전하는 챗봇이 되겠습니다." 유저응답시 답변 부분 :"${사용자개선의견전달} 고객님의 소중한 의견 감사드립니다." )

  • 답변에는 고객에게 불편을드려 죄송하다는 내용과 함께, 의견을 남겨주면 개선하겠다는 메시지를 입력합니다.
  • 유저 응답시 답변에는 ${사용자개선의견전달} 액션메소드와 함께 의견을 남겨주어 감사하다는 메시지를 입력합니다.

3.피드백을 설정합니다.

(피드백 설정 이미지)

  • 피드백의 불만족 버튼에 대한 응답으로 #{사용자개선의견} 주관식 폼을 입력합니다.

  • 피드백 기능은 연동된 메신저 채널에 따라 해당 기능을 사용할수 있으므로 채널확인 필요합니다.

""에 대한 건이 검색되었습니다.

    ""에 대한 검색 결과가 없습니다.

    처리중...