본문 바로가기
Back/Spring

Spring - Clova Chatbot

by Hyeon_ 2022. 1. 26.

Clova Chatbot

  • 챗봇 제작 API 서비스
  • 사용자의 질문 의도를 이해하여 고객 대응 등 다양한 서비스에 활용할 수 있는 Chatbot 제작 지원

CLOVA Chatbot 만들기

(1) 도메인

(2) 대화 생성

(3) 학습 질문 입력

(4) 챗봇 답변 입력

(5) 챗봇 빌드

(6) 챗봇 테스트

(7) 서비스 제공

챗봇 시나리오 작성 예

독서 모임 신청 시나리오

  • 챗봇 : 독서 지도자
  • 대화 : 독서 모임 신청하기
  • 독서 모임 주최 : 북클럽 멀티
  • 일자 : 2022-01-39 토요일
  • 시간 : 15:00 ~ 17:00
  • 장소 : 00도서관
  • 대상 도서 : 한국형 혁신의 길을 찾다
  • 참가비 : 5,000원(음료)
  • 찾아오는길 : 이미지 첨부
  • 주차 안내 : 이미지
  • 문의 : 010-1234-5678
  • 이메일 : 0000000@naver.com
  • 신청 : https://www.~

대화 작성 예

  • 입력 질문
    • 누구인가요?
    • 하는 일이 무엇인가요?
    • 당신은 누구입니까?
    • 무슨 일을 하시나요?
    • 주로 하는 일
    • 네 역할
    • 담당 업무
  • 답변 입력
    • 저는 독서 지도사입니다.
    • 독서 교육프로그램을 개발하는 일을 합니다
    • 제가 하는 일은 독서 교육을 진행하는 일입니다.
    • 학생들에게 독서의 기술과 방법을 가르칩니다
    • 독후감 쓰는 법을 가르칩니다.
    • 독서 토론을 주도하고 지도합니다.
    • 독서 지도와 관련 학습 상담을 합니다.
    • 교육 자문 업무를 담당하고 있습니다.
  • 기타 생성 가능한 대화 : 독서 모임 신청
    • 신청하기 알려줘
    • 모임 신청 어떻게 해?
    • 어떻게 신청
    • 어디서 신청

Web, App에서 챗봇 구현 방법 : Custom 연동 방법

  1. CLOVA Chatbot 빌더를 이용해서 대화 생성
  2. 대화 모델을 빌드하고 배포 (10-20분 시간 소요)
  3. CLOVA Chatbot Custom 연동 설정
  4. API Gateway 호출 URL 생성하고 Secret Key 발급
    • (복사 -> API코드에서 사용)
  5. API Gateway 호출 URL 통해 애플리케이션에서 호출
    • 스프링 프로젝트와 연동

챗봇 실습

  • 도메인 생성
  • 대화 목록
    • 대화 등록 + 태그 등록
    • 질문 등록
    • 답변 등록
  • 챗봇 빌드 (10-20분 소요)
    • 빌드 중에 메시지 출력 ("베타 환경에서 테스트 가능합니다") -> 테스트 해보기

스프링에서 챗봇 서비스 구현 실습

  1. 질문 메시지 전달하고 콘솔창에서 응답 메시지 출력 확인
  2. APIRestController 사용
    1. 뷰 페이지 폼 입력란에서 질문 메시지 입력하고 응답 메시지 출력
  3. 채팅 창 작성
    1. jQuery 학습 때 작성한 채팅 폼 사용(CSS)

(1) 질문 메시지 전달하고 콘솔창에서 응답 메시지 출력 ㅗ하깅ㄴ

  • ChatbotService 클래스 생성
  • API 코드 복사 : 메소드 3개 다 복사
  • APIController에 추가 :

웰컴 메시지 추가

  • 공통 메시지 추가
  • 답변 입력 / 답변 저장
  • 대화 모델 빌드 / 변경된 설정 적용
  • 대화 모델 빌드
  • 테스트 누르고 확인
  • 스프링 서비스 클래스에서 웰컴 메시지 출력되도록 변경
  • chatbot.js 수정
    • Ajax 별도 관리
    • 메시지 입력하지 않고 전송핵서 웰컴 메시지 받을 수 있도록 하기 위해
  • 결과 확인

음성 메시지로 챗봇에 질문하기 (답변 : 텍스트)

  • 질문을 녹음해서 mp3파일로 저장
  • Mp3 파일을 텍스트로 변환 : STT 서비스 사용
  • 변환된 텍스트를 질문으로 챗봇 서버로 전송해서 답변 받아서 출력
  • TTS 서비스 사용해서 텍스트를 음성으로 변환해서 음성으로 답변

대화 생성

  • 시간 대화 : 독서 모임 시간 문의
    • 질문 등록
      • 시간이 어떻게 되는데
      • 모임 시간 알려줘
      • 몇 시에 시작하는데
      • 모임 일정 시간이 어떻게 되는데
      • 몇 시에 시작하나요
      • 시작 시간을 알려주세요
    • 답변 등록
      • 오후 3시부터 5시까지 입니다.
      • 2022-01-29 15:00 ~ 17:00
      • 2022-01-29 토요일 오후 3시 ~ 5시 입니다.
  • (2) 이미지 답변 등록을 위한 대화 생성 : 독서 모임 장소 약도 문의
    • 질문 등록
      • 독서 모임 장소 약도 알려줘
      • 장소 지도 보여줘
      • 지도 보여줘
      • 지도 알려주세요
      • 위치 정보 알려주세요
      • 어디서 하는데
      • 어디야
      • 주차 장소는
      • 주차 가능해
    • 답변 등록
      • 이미지만
      • 이미지 + 텍스트
    • (3) 멀티링크 답변을 위한 대화 생성 : 독서 모임 신청
      • 질문 등록
        • 신청은 어디서 하는데
        • 어떻게 신청해
        • 참가 신청 어디서 해
        • 신청하는 곳 알려줘
        • 신청
        • 신청 방법 알려줘
        • 가입은 어떻게 해
        • 참석은 어떻게 해
        • 모임 신청
        • 등록은
        • 등록 방법 알려줘
        • 참석 어떻게 하나요
      • 멀티링크 답변
        • 버튼 이름 / URL 주소

연습 문제

기본 인사

  • 안녕하세요. 학술동아리 Artieer(아티니어)입니다. 무엇을 도와드릴까요?

기본 답변

  1. 동아리 소개
    • 질문
      • 어떤 동아리인가요
      • 뭐하는 곳인가요
      • 목적이 무엇인가요
      • 뭘 배우나요
      • 동아리 활동은 무엇이 있나요
    • 대답
      • 학술동아리 Artineer(아티니어)는 2017년 만들어진 컴퓨터 소프트웨어공학과 과동아리입니다. 주요 프로그램은 프로그래밍 언어, Android, Web, 보안 등의 강의와 파트별 스터디 활동을 합니다.
      • Artineer(아티니어)는 2017년 만들어진 학술동아리 입니다. 마음이 맞는 학생들이 모여 프로그래밍 언어에 대해 공부하고, 프로젝트를 하는 등의 활동을 하는 동아리입니다.
      • 컴퓨터 소프트웨어공학과 학생들이 모여서 전공 공부를 하는 것이 목적입니다.
      • 1학기는 프로그래밍 언어(C, C++, JAVA, Python)등 다양한 프로그래밍 언어. 2학기는 언어를 기반으로 프로젝트를 진행합니다.
      • 동아리 활동으로는 프로그래밍 언어 강의, 스터디(프로젝트), MT, 전시회 참여 등 다양한 활동이 있습니다.

이미지 답변(동방 위치 / 공지사항)

  • 질문
    • 동아리방은 어디에 있나요
    • 위치
    • 동방 위치
    • 동아리방 어디에
    • 장소는 어디인가요
    • 장소
  • 대답
    • 이미지

멀티링크 답변(동아리 가입 신청)

  • 질문
    • 동아리 가입은 어디서 하나요
    • 가입은 어디서 하나요
    • 입부 신청
    • 입부 신청은 어떻게 하나요
    • 가입은 어떻게 하나요
  • 답변
    • 회원가입 URL

'Back > Spring' 카테고리의 다른 글

예제로 배우는 스프링 - PetClinic  (0) 2022.07.05
FullCalendar 캘린더 db 일정 조회하기  (0) 2022.03.04
Spring - REST, Ajax  (0) 2022.01.11
Spring - AOP(Aspect Oriented Programming)  (0) 2022.01.05
Spring - Annotation(어노테이션)  (0) 2022.01.05