챗봇(Chatbot) 퀵스타트 가이드

네이버 클라우드 플랫폼의 챗봇(Chatbot) 서비스는 빠르고 쉽게 챗봇을 제작할 수 있도록 도와드립니다.

아래 가이드를 따라 챗봇을 만들기를 시작하시기 전에 "챗봇 개발 전 고려 사항 가이드"를 꼭 확인해 주세요

챗봇 서비스 만들기

콘솔에 접속 후 아래의 단계를 거쳐 챗봇 서비스를 쉽게 만들 수 있습니다.

  • Step 1. 서비스 이용 신청 및 약관 동의
  • Step 2. 도메인 생성
  • Step 3. 대화 생성
  • Step 4. 학습 및 테스트
  • Step 5. 채널 연동
  • Step 6. 상담원 연결
  • Step 7. 재학습

Step 1. 서비스 이용 신청 및 약관 동의

챗봇 서비스를 이용하기 위해서는 이용 신청 및 약관 동의가 필요합니다.

본 서비스 이용 약관은 챗봇에서 발생하는 데이터의 보관 및 사용에 대한 내용과 개인 정보 위수탁, 회사의 의무 및 고객의 의무에 대한 내용을 담고 있습니다. 서비스 기획 전에 약관 내용을 반드시 확인해 주세요.

챗봇 이용약관 바로가기

상품 이용 신청을 클릭하여 약관에 동의한 후 다음 단계로 이동합니다.

chatbot-01-001.png

chatbot-01-001.png

Step 2. 도메인 생성

본격적으로 챗봇 서비스를 제작하기 위해 도메인을 생성합니다.

도메인은 챗봇 서비스의 기준이 되는 단위입니다. 예를 들어 '네이버 클라우드 플랫폼의 고객 지원'을 담당하는 챗봇을 만든다면 그 챗봇의 전체 대화를 포함하는 단위가 도메인입니다. 따라서 대화 생성 및 채널 연동, 그리고 통계 정보까지 하나의 도메인을 기준으로 동작하고 관리됩니다.

chatbot-01-002.png

도메인 생성을 클릭하여 도메인을 생성합니다.

② 도메인 이름과 도메인 코드를 입력합니다.

  • 도메인 이름: 1글자 이상이어야 하며 최대 100글자까지 입력 가능합니다.

  • 도메인 코드: 고유한 값으로 중복되지 않아야 합니다. 네임스페이스 형식(com.ncloud.chatbot.support)으로 입력하는 것을 권장합니다.

  • 자연어처리: 한국어/영어/중국어/일본어 중에서 선택합니다. 챗봇 서비스는 다국어를 지원하고 있으며, 자연어 처리 및 학습에 각 언어의 특징이 반영됩니다. 자연어 처리 옵션을 선택하신 후, 대화 입력 데이터를 해당 언어에 맞게 입력하여야 합니다.

  • 서비스 타입: Basic과 Standard 중에서 서비스 타입을 선택합니다. 챗봇 서비스는 실용적인 운영을 위한 Basic 요금제와 대규모 서비스 운영을 위한 Standard 요금제를 제공합니다. 챗봇을 부담없이 구축하려는 소상공인, 챗봇 개발 및 테스트를 원하시는 분은 Basic 타입을(빌드 10회 무료, api 호출 1,000회 무료) 엔터프라이즈 및 중소 규모 서비스 제공 회사는 Standard(빌드 및 api 호출 유료)를 선택하실 수 있습니다.

③ 도메인 생성이 완료되면 도메인 목록을 확인할 수 있습니다.

chatbot-01-003.png

④ 선택한 도메인의 빌더 실행하기를 클릭하면 새로운 창에서 챗봇 빌더가 실행됩니다.

chatbot-01-003.png

Step 3. 대화 생성

챗봇 빌더는 챗봇 대화 데이터를 입력하고 테스트하는 웹 콘솔로서 챗봇 개발에 필요한 다양한 기능을 제공하고 있습니다.

① 왼쪽 메뉴의 대화 목록 메뉴를 클릭합니다.

대화 생성을 클릭합니다.

chatbot-01-004.png

③ 대화 이름과 대화유형을 입력합니다.

chatbot-01-007.png

  • 도메인 크기에 따라서 작성해야 하는 대화의 범위는 다릅니다. 대화 이름과 대화 유형으로 도메인의 하위 영역을 구분하여 태깅할 수 있습니다.
  • 대화 유형은 사용자 발화 유형의 상태를 정의한 것입니다. 예를 들어, GPU 서버의 가격에 대해 궁금해한다면 대화유형은 'GPU 상품, 서버 가격 문의'라는 대화유형으로 쪼개어서 정의할 수 있습니다.
  • 자연어에서는 두 가지 이상의 내용을 묻는 경우가 있습니다. 예를 들어 'GPU 서버 얼마, 스펙도 궁금해'라는 질문을 한 개의 대화 유형에 매핑하면 정확한 답변을 할 수 없습니다. 이런 경우에도 대화유형을 두 가지, 즉 'GPU 상품, 서버 가격 문의, 서버 스펙 문의'라고 태깅하면 조금 더 정확한 답변을 찾아갈 수 있습니다.

④ 질문을 등록합니다.

chatbot-01-007a.png

  • 질문의 개수는 많으면 많을수록 좋습니다. 하지만 문장의 어미만 수정해서 질문의 개수를 늘리는 것보다는 다양한 발화 유형을 입력하는 것이 학습에 더 도움이 됩니다.

  • 예를 들어, 사용자가 특정 상품의 요금을 알고 싶을 때 어떻게 물어볼지 생각해 볼 수 있습니다.

    • 00 상품 얼마야
    • 얼마면 00 상품 살 수 있니
    • 00 상품 비싸니
    • 00 상품 가격은
    • 요금표 있으면 알려줘
    • 00 상품 견적 줄래?
    • 00 상품 임직원 할인가 알려줘

    위의 예시처럼 다양한 발화 유형을 입력하면 더 많은 사용자 발화를 이해하여 효과적인 대화를 할 수 있습니다.

  • 질문을 입력할 때 일반 질문과 정규식 질문 중 하나의 질문 유형을 선택할 수 있습니다.

    • 일반 질문은 자연어로 입력된 질문을 말하며, 모델의 학습 데이터로 활용됩니다.

    • 다양하게 표현된 문장들을 압축적으로 표현해야한다면 정규식 질문을 활용합니다. 자세한 정규식 표기법은 "정규식 입력 가이드"를 참고해주세요.(정규식 질문은 한국어와 일본어만 지원합니다. 그 외의 언어는 정규식 질문을 지원하지 않습니다.)

  • '업로드' 또는 '다운로드' 버튼을 클릭하여, 대량의 질문을 Excel 파일을 통해 업로드할 수 있습니다.

chatbot-01-007b.png

  • 지정된 업로드 파일 양식에 맞추어야 하며, 적합하지 않은 양식은 업로드에 실패할 수 있습니다.

    • A열: 질문 유형 (일반 질문 또는 정규식 질문을 선택하여 입력합니다.)
    • B열: 질문 (추가하려는 질문을 입력합니다.)

⑤ 답변을 등록합니다.

chatbot-01-008.png

  • 답변 유형 선택: 기본 답변(텍스트) 외에도 다양한 유형의 답변을 쉽게 작성할 수 있습니다. 더 상세한 내용은 "대화 목록 관리"에서 다룹니다.
    • 기본 답변
    • 이미지 답변
    • 멀티 링크 답변
    • 객관식 답변
    • Flex 메시지 답변
    • 연속 답변
    • LINE 스티커 답변
  • 조건: 각 답변에 최대 5개의 조건을 설정할 수 있습니다. 조건이 설정된 답변이 조건 설정되지 않은 답변보다 우선시되어 응답되며, 만약 조건 충족되는 답변이 없는 경우에는 실패 발화가 응답될 수 있으니 주의해주세요.
    • 시간 조건: 특정 시간대에만 응답하는 답변을 설정할 수 있습니다.
    • 요일 조건: 특정 요일에만 응답하는 답변을 설정할 수 있습니다. 복수 요일을 선택 가능합니다.
    • 날짜 조건: 특정 날짜에만 응답하는 답변을 설정할 수 있습니다.
    • 엔티티 조건 : 특정 엔티티를 사용자가 발화하거나(=) 발화하지 않은 경우(≠)에만 응답하는 답변을 설정할 수 있습니다.
    • 커스텀 조건 : 직접 커스텀한 조건을 답변에 설정할 수 있습니다. 컴퓨팅 서비스를 통해 원하는 조건을 커스텀한 후 해당 서비스의 end point를 입력해주세요.
    • 복수의 조건이 추가된 경우 모든 조건이 충족된 경우에만 답변이 응답됩니다.
    • 두 개 이상의 답변에 설정된 조건이 동시에 만족되는 경우 랜덤 응답됩니다.
      예: 답변 1에 [화요일] 조건을 설정하고 답변 2에 [12/25] 날짜 조건을 설정했을 때 만약 12월 25일이 화요일이면 두 답변 모두 조건을 만족하므로 답변 1과 답변 2가 랜덤으로 응답됩니다.
  • 메신저 설정 : 특정 메신저에서만 응답하는 답변을 설정할 수 있습니다. 만약 '모든 메신저' 답변과 특정 메신저로 설정한 답변이 함께 서비스 on 되어있는 경우, 해당 메신저에서는 '모든 메신저'로 설정한 답변은 응답되지 않습니다. 또한 특정 메신저에서 지원하지 않는 답변 유형을 선택한 경우 사용자에게는 실패 메시지가 응답될 수 있습니다.
  • 서비스 ON/OFF 설정: 답변의 서비스 여부를 On/Off로 설정할 수 있습니다. 복수의 답변을 서비스 on으로 설정 시, 해당 답변들이 랜덤하게 응답됩니다. 예를 들어 특정 질문에 대해 2개 이상의 답변이 on 되어있는 경우, 질문 인입시 답변이 등록된 순서와 관계없이 랜덤하게 응답이 나갑니다. 만약, 사용자가 약 5시간 이내 동일한 질문을 추가로 던질 경우, 기 노출되지 않은 답변 중에서 응답이 나가게 됩니다.
  • 미리보기: 작성한 답변의 미리보기를 확인할 수 있습니다. 편집한 내용이 실시간으로 미리보기 화면에 반영됩니다.
  • 답변: 챗봇이 답변할 문장을 작성합니다.
    • 대화 컴포넌트 추가를 클릭하여 답변 문장 중간에 액션 메소드와 폼을 추가할 수 있습니다.
    • 답변 입력란에서 $#을 입력하면 빠르게 액션 메소드와 폼을 입력할 수 있습니다.
    • 폼 입력은 기본 답변과 객관식 답변 유형에서만 가능하며, 이미지 답변과 멀티 링크 답변 등 형식이 지정된 템플릿 답변의 경우에는 폼 입력이 불가합니다. 더 상세한 내용은 "대화 컴포넌트 관리"에서 다룹니다.
    • 메신저가 LINE으로 설정된 경우, 답변 입력란에서 `{0x000000} 형식을 통해 라인 이모지를 추가할 수 있습니다. 입력 가능한 라인 이모지는 "LINE Original emoji "에서 확인 가능합니다.
  • URL 추가

    • URL 주소: 연결할 URL 주소를 입력하세요.

⑥ Microsoft Excel을 사용하여 대화를 작성하고 챗봇에 일괄 업로드할 수 도 있습니다. 업로드 유형은 JSON 업로드와 일반 업로드가 있습니다.

chatbot-03-012a.png

  • 대화 목록에서 '업로드'를 클릭하여 Excel 파일을 업로드합니다.

chatbot-03-012b.png

  • 지정된 업로드 파일 양식에 맞추어야 하며, 적합하지 않은 양식으로 업로드하면 대화 생성에 실패할 수 있습니다. 기본답변, 이미지 답변, 멀티링크 답변, 객관식 답변 등 일부 답변 유형만 Excel 업로드/다운로드를 지원합니다.

    • A열: 대화 이름(기존 대화 이름과 중복되지 않는 이름을 입력합니다.)

    • B열: 대화 유형(복수의 대화 유형을 선택하는 경우 '|' 기호를 사용하여 구분합니다.)

    • C열: 대화 위치(대화의 시나리오상 위치를 입력합니다. 시작 대화, 중간 대화, 마지막 대화, 단일대화 중 선택합니다.)

    • D열 : 질문 유형(일반 질문과 정규식 질문 중 선택합니다.)

    • E열: 질문(복수의 질문을 입력해야 하는 경우 아래에 행을 추가하여 입력합니다.)

    • F열: 답변 유형(작성할 답변의 유형을 지정합니다. 기본 답변, 멀티 링크, 이미지, 객관식 답변 중 하나만 선택합니다.)

    • G열: 조건(해당 답변을 응답할 조건을 선택합니다.)

      • 조건 없음 : 조건 열을 공란으로 비워둡니다.
      • 시간 조건 : 24시간 표기법으로 입력합니다.
      • 요일 조건 : '월~일' 중 선택하여 입력합니다.(복수의 요일을 선택하는 경우 '|' 기호를 사용하여 구분합니다.)
      • 날짜 조건 : '월/일~월/일' 양식으로 입력합니다.
      • 엔티티 조건 : @엔티티 이름 = 대표어 또는 @엔티티 이름 ≠ 대표어의 형식으로 입력합니다.
      • 커스텀 조건 : endpoint를 입력합니다.
      • 메신저 조건 : 모든 메신저, LINE, LINE WORKS, 카카오톡, 네이버 톡톡, Facebook, Custom 중 선택하여 입력합니다.
    • H열 : 답변(복수의 답변을 입력해야 하는 경우 아래에 행을 추가하여 입력합니다. 선택 입력 값은 입력하지 않아도 됩니다.)

      • 기본 답변

        답변: 답변 메시지를 입력합니다. 줄바꿈이 필요하다면 '\n' 기호를 입력합니다.

        URL: URL 주소를 입력합니다.

      • 멀티 링크

        답변: 답변 메시지를 입력합니다.

        버튼 1: URL 주소를 입력합니다.

      • 이미지 답변

        [이미지 카드]

        이미지 URL: 이미지의 URL 링크를 입력합니다.

        제목: 이미지의 제목을 입력합니다.

        이미지 설명: 이미지를 설명할 수 있는 답변을 입력합니다.

        URL: 이미지 설명 하단에 노출할 URL 주소를 입력합니다.

        버튼1: 버튼의 이름을 입력합니다.(URL 주소를 입력합니다.)

      • 객관식 답변

        답변 : #{객관식 폼 이름}의 형식으로 입력합니다.

    • I열: 서비스 여부(해당 답변의 서비스 여부를 ON/OFF로 입력합니다.)

Step 4. 학습 및 테스트

챗봇이 완성되면 챗봇 엔진이 잘 동작하는지 확인하는 과정이 필요합니다.

네이버 비즈니스 플랫폼의 챗봇은 대화 모델을 빌드합니다.

① 대화 모델 빌드

챗봇 빌더 상단의 대화 모델 빌드를 클릭합니다.

chatbot-01-010-a.png

만약 빌드의 변경점을 기록할 필요성이 있다면 빌드 메모를 작성할 수 있습니다.

챗봇 엔진은 대화 데이터셋을 기반으로 학습을 진행합니다.

  • 자연어 분석의 기본인 NLP(Natural Language Processing)는 질문 데이터와 답변 데이터에 입력된 문장의 형태소를 분석합니다. 그 다음 단계인 NLU(Natural Language Understanding)에서는 문장이 어떤 의미를 가지는지, 어느 답변과 가장 유사성을 가지는지 판단합니다. 또한 학습에서는 네이버의 데이터 사전과 매핑하여 일반적인 엔티티 매핑 작업을 진행합니다. 특정 도메인에서 학습이 필요한 엔티티만을 태깅한 경우 그 태깅 내용을 포함하여 엔진에서 학습시킵니다.
  • 학습은 데이터 사이즈에 따라 수 분에서 수 시간 걸릴 수 있습니다. 네이버 클라우드 플랫폼에서는 빠른 학습 처리를 위해서 GPU를 활용합니다. 한 가지 모델로 학습시키는 것이 아니라, 챗봇 엔진에서는 다양한 레벨의 학습 모델을 제공합니다. 예를 들어, 학습 실행 시작 후 테스트 메뉴에서는 현재 빌드를 요청한 모델의 답변이 나오는지 테스트가 가능합니다. 학습이 모두 완료되면 다양한 발화 유형을 커버할 수 있습니다.
  • 학습 시간은 데이터 량에 따라 다르지만, 대화 데이터셋이 100개 이하인 경우는 5분~10분 사이에서 학습이 완료됩니다. 그리고, 대화 1개 등록 후 학습을 수행하신 경우, 너무 데이터 셋이 작아서 학습에 실패하게 됩니다. 적어도 10개 이상의 대화 데이터 셋을 입력하여 테스트 하여야 합니다.

② 빌드 관리

챗봇을 제작하기까지 많은 시간을 들여 답변의 품질을 높입니다. 이 과정에서 모델을 학습시키는 히스토리 관리가 필요합니다.

chatbot-01-011.png

  • [빌드 관리] 항목으로 이동하면, 빌드에 대한 추가 정보를 볼 수 있습니다.

현재 빌드되고 있는 항목과 빌드 현황이 제공됩니다. 이전에 학습시켰던 모델로 되돌아가서 서비스를 배포하는 등 배포 관리 기능이 제공됩니다. 더 상세한 내용은 "도메인 관리"에서 다룹니다.

③ 테스트

  • 테스트 환경을 선택해 학습한 대화를 테스트 해볼 수 있는 기능을 제공합니다. 뿐만 아니라, 메신저와 날짜/시간 조건을 지정해서 대화를 테스트할 수 있습니다.

    • 자세히 보기 클릭 시 분석된 대화 이름, 대화 유형, 엔티티, 정규식과 키워드를 확인할 수 있습니다. 수정 버튼 클릭 시 분석된 대화의 수정 페이지로 이동합니다.

chatbot-01-012.png

chatbot-01-012a.png

  • 자동 테스트를 통해 정해진 양식의 질문 리스트를 업로드하여 추출되는 답변들을 한번에 확인할 수도 있습니다.

chatbot-01-012b.png

  • 메신저와 날짜/시간 조건을 지정하여 대화를 테스트할 수 있으며, 테스트가 완료되면 작업관리에서 다운로드를 하실 수 있습니다.

  • 업로드 양식

    • 테스트 템플릿 다운로드를 클릭하여 템플릿 파일을 확인하실 수 있습니다.
    • Xls 및 Xlsx 형식의 파일만 지원합니다.

Step 5. 채널 연동

챗봇 대화 데이터를 작성하고 나면 실제로 서비스할 채널과 연동 설정을 해야 합니다. 각 도메인별로 사용량을 제공하고 외부로 안전하게 서비스를 제공할 수 있어야 하기 때문에 네이버 클라우드 플랫폼의 API Gateway 상품과 연동하여 제공됩니다.

① Custom API 연동을 위한 호출 URL 생성하기

먼저, "호출 URL 생성 가이드"를 참고하여 API Gateway의 호출 URL을 생성합니다. Invoke URL은 외부 채널과 연동할 수 있는 접점을 의미합니다.

  • 커스텀 채널: 메신저 채널이 아닌 웹 기반의 페이지 및 모바일 애플리케이션에서도 쉽게 연동할 수 있도록 REST API기반의 End-point를 확장하여 제공하는 기능입니다. API Gateway에서 설정한 ghcnf URL을 사용합니다.

chatbot-01-015.png

chatbot-01-015.png

② 대화 기록 확인하기

chatbot-01-013.png

  • 메신저나 커스텀 채널에 연결하여 서비스를 실행한 후 사용자와 챗봇의 대화 기록을 확인할 수 있습니다.
  • 대화 기록에서는 대화 이름, 대화 유형, 답변, 메신저를 검색할 수 있습니다.
  • 챗봇이 제대로 응답하지 못한 질문을 확인할 수 있습니다.
  • [모든 대화 보기] 버튼을 클릭할 경우, 해당 대화 세션에서 사용자와 챗봇이 나눈 모든 대화와 각각의 대화/답변유형을 볼 수 있습니다.

Step 6. 상담원 연결

챗봇이 처리하기 어려운 사용자의 요구사항은 상담원 연결을 통해 해결할 수 있습니다.

chatbot-02-068.png

Step 7. 재학습

챗봇 서비스를 시작 후에는 사용자의 대화 기록 바탕으로 엔드 유저가 챗봇과 어떤 대화를 하였는지 파악하여야 합니다. 답변의 품질을 높이기 위해서 질문에 답하지 못한 경우는 추가로 대화에 반영해야 합니다. 이러한 과정을 재학습이라고 합니다.

① 실패 대화 재학습

chatbot-01-014a.png

사용자의 질문에 실패 답변으로 응답된 대화 목록을 확인하고 검토할 수 있습니다.

  • 수정 버튼 클릭 시, 해당 질문을 기존에 생성된 대화에 추가할 수 있습니다.
  • 보류 버튼 클릭 시, 추후 재검토를 할 수 있습니다.
  • 제외 버튼 클릭 시, 검토 대상이 아닌 대화를 실패 대화 목록에서 제외할 수 있습니다.

② 유사 답변 재학습

chatbot-01-014b.png

사용자의 질문에 유사 답변으로 응답된 대화 목록을 확인하고 검토할 수 있습니다.

  • 수정 버튼 클릭 시, 해당 질문을 기존에 생성된 대화에 추가할 수 있습니다.
  • 보류 버튼 클릭 시, 추후 재검토를 할 수 있습니다.
  • 제외 버튼 클릭 시, 검토 대상이 아닌 대화를 유사 답변 목록에서 제외할 수 있습니다.

③ 불만족 대화 재학습

chatbot-01-014c.png

사용자가 챗봇 답변에 대해 불만족 피드백을 보낸 대화 목록을 확인하고 검토할 수 있습니다.

  • 정답 버튼 클릭 시, 챗봇의 답변이 적절하다고 판단되어 불만족 대화 목록에서 제외됩니다.
  • 수정 버튼 클릭 시, 해당 질문을 기존에 생성된 대화에 추가할 수 있습니다.
  • 보류 버튼 클릭 시, 추후 재검토를 할 수 있습니다.
  • 제외 버튼 클릭 시, 검토 대상이 아닌 대화를 불만족 대화 목록에서 제외할 수 있습니다.

chatbot-01-014d.png

④ 만족 대화 재학습

사용자가 챗봇 답변에 대해 만족 피드백을 보낸 대화 목록을 확인하고 검토할 수 있습니다.

  • 정답 버튼 클릭 시, 챗봇의 답변이 적절하다고 판단되어 만족 대화 목록에서 제외됩니다.
  • 수정 버튼 클릭 시, 해당 질문을 기존에 생성된 대화에 추가할 수 있습니다.
  • 보류 버튼 클릭 시, 추후 재검토를 할 수 있습니다.
  • 제외 버튼 클릭 시, 검토 대상이 아닌 대화를 만족 대화 목록에서 제외할 수 있습니다.

[Tip] 서비스 Demo Excel 템플릿

챗봇 Demo 대화셋을 import하여 테스트해 볼 수 있습니다.

  • Excel Template 다운로드

    zip 파일에는 여섯 개의 Excel 템플릿 파일이 있습니다.(순서대로 업로드 권장)

    1. 대화 유형
    2. 엔티티
    3. 액션 메소드
    4. 태스크
    5. 대화 -한국어
  • 대화에 등록된 답변에 Form이나 ActionMehtod를 참조하는 경우 업로드 중 오류가 발생할 수 있습니다. 따라서 대화유형과 엔티티 등 위에서 권장하는 순서대로 파일 업로드를 진행합니다.

  • 6개의 Template을 업로드한 후 대화모델 빌드를 클릭합니다.

  • 테스트에서 대화에 등록된 질문을 입력하여 테스트합니다.

연관 정보 바로가기

도메인 생성, 대화 목록과 컴포넌트 관리 및 통계 관리와 관련하여 아래 사용 가이드를 참고하실 수 있습니다.

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

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

    처리중...