챗봇만들기-카카오 i 오픈빌더

Song Chae Won·2022년 7월 13일
0
post-thumbnail

챗봇 관리자 개요 및 유튜브 날먹코딩을 참조하며 작성하였습니다.
링크: https://i.kakao.com/docs/getting-started-overview#%EC%B1%97%EB%B4%87-%EA%B4%80%EB%A6%AC%EC%9E%90%EC%84%BC%ED%84%B0-%EA%B5%AC%EC%A1%B0
링크: https://www.youtube.com/watch?v=NhGaSFHmhT0


카카오 i 오픈빌더 설명

🔹 카카오 i 오픈 빌더(Kakao i Open Builder)란?

공식 홈페이지 링크: https://i.kakao.com/
도움말 링크: https://i.kakao.com/docs/key-concepts-entity#%EC%97%94%ED%8B%B0%ED%8B%B0%EC%9D%98-%EA%B5%AC%EC%A1%B0

🔻 시나리오 탭

🔹 시나리오

✔ 기능 단위, 시나리오 내에 블록을 추가하여 해당 시나리오가 작동
✔ 오픈 빌더에서는 웰컴 블록, 폴백 블록, 탈출 블록 이렇게 기본 세가지를 제공

1) 웰컴 블록: 챗봇에 처음 진입했을 때 웰컴 메세지를 제공

  • 카카오 i 오픈빌더의 경우, 채팅방을 나가더라도 최초 진입한 1회만 웰컴 메세지를 제공

2) 폴백 블록: 챗봇이 사용자의 발화에 대응하지 못하는 fallback 상황에 대응하는 역할을 수행

  • 챗봇 내에 사용자의 모든 발화를 처리하는 시나리오를 담기가 어렵기 때문에, 폴백 블록을 통해 적절한 사용자의 행동을 유도하고 친숙한 안내를 하는 것이 중요

3) 탈출 블록: 각 시나리오에서 탈출하는 기능

🔹 봇 제네릭 메뉴

  • 제네릭 메뉴를 추가하고 싶으면 '버튼 추가'를 누르면 되며, 버튼 설정은 '버튼 설정'을 통해 할 수 있음

🔻 카카오 지식+

  • 지식+는 챗봇에 엑셀 파일을 업로드하여 챗봇 사용자의 질문에 답변을 하는 기능
    번거로운 등록 없이 FAQ 응대가 가능하기에 콜센터 기능을 챗봇에 이식하기 편리하다.

🔹 즉문즉답형

: 엑셀 파일 내의 문답 중 사용자의 질문과 가장 유사도가 높은 답변 하나만을 출력해줌. 즉각적인 답변을 출력하기 때문에 depth가 줄고 짧은 시간에 응대가 가능.

➕ 즉문즉답형 출력 말풍선

(1) 최소 답변 정확도

  • 답변 제공의 기준이 되는 최소 정확도를 설정하는 영역
  • 설정된 정확도 이상의 지식 베이스 답변을 제공

(2) 가이드 말풍선

  • 답변이 제시되기 전에 안내문구를 꾸미는 영역
  • 텍스트로 가이드문구를 넣어주거나, 또는 희망하시는 이미지를 넣어줄수 있음
  • 이 부분을 선택적으로 On/Off할수도 있음

(3) 피드백 버튼

  • 답변이 제공된후, '좋아요' 또는 '나빠요'에 해당하는 사용자 피드백 버튼을 넣어줄수 있음
    (이 부분도 선택적으로 On/Off 가능)

*참고. 피드백 버튼으로부터 누적된 결과를 바탕으로 답변 검색 로직을 강화하고, 분석 메뉴에서 블록별로 현황을 보여주는 feature가 향후 데이터 누적후 제공

🔹 답안추천형

: 사용 시 잘못된 답변이 출력되는 경우가 발생할 수 있기 때문에 관련 문답 세 가지를 제시함. 오대응을 방지하고 사용자가 정확한 답변을 골라볼 수 있음.

➕ 답안추천형 출력 말풍선

(1) 가이드 말풍선

  • 즉문즉답형에서 꾸미는 방식과 동일.
  • 답변 출력전 안내문구를 넣어주거나 이미지를 넣어줄수 있음.

(2) 답변설정

  • 답안추천형에서는 사용자 질의 문장에 대해 유사한 것으로 판단되는 유사질문 Top3를 캐로셀 형태로 제공
  • 봇작업자는 이미지를 첨부하여 카드형 말풍선으로 답변을 꾸밀수 있음

(3) 버튼명 설정

  • 답변을 보기 위한 버튼에 대해 '버튼명'을 정의

(4) 피드백 설정

  • 답변이 제공된후, '좋아요' 또는 '나빠요'에 해당하는 사용자 피드백 버튼을 넣어줄 수 있음
  • 선택적으로 On/Off 할 수 있음

지식+ 도움말 링크: https://i.kakao.com/docs/key-concepts-knowledge#%EC%A7%80%EC%8B%9D-%EB%B2%A0%EC%9D%B4%EC%8A%A4%EA%B0%80-%EB%AC%B4%EC%97%87%EC%9D%B8%EA%B0%80%EC%9A%94

🔻 카카오 스킬

  • 오픈빌더 내에서 스킬을 통해 API를 연결하여 동작 파라미터에 반응하는 응답형식을 설계할 수 있음.
  • 외부 서비스에 데이터를 요청하거나, 특정 동작(연산, 매핑 등)이 필요한 경우에 활용 가능.
  • 개발단에 스킬을 연동할 수 있음.

🔻 카카오 학습

  • 챗봇 내에서 처리하지 못한 fallback 발화를 최대 30일까지 정리하여 제공함. 확인하고 학습시킬 수 있음.
  • 해당 발화를 확인하고 대응이 필요한 경우에 이를 학습시킬 수 있음.
  • 지속적인 fallback 분석 및 학습을 통해 더욱 똑똑한 챗봇으로 거듭날 수 있음.

🔻 카카오 분석

  • 직관적인 유저 분석을 제공하여 제작자가 인사이트를 얻을 수 있음.
  • 대시보드: 블록 호출수, 사용자, 잔존율, 세션을 그래프로 제공
  • 사용자: 활성 사용자(사용자 정보), 사용자 세션(세션 현황, 잔전율 정보)를 그래프로 제공
  • 챗봇: 기간별 블록 호출 수 및 사용 비율을 제공함.
  • 보고서: 블록별 발화, 블록 호출 수, 사용자 수 데이터를 일자별 보고서 형태로 다운로드 가능

🔻 배포 및 작업이력

  • 오픈빌더 구축 및 수정 후에는 배포를 진행해야 실제 챗봇에 반영이 됨.
  • 시나리오, 블록, 엔티티, 스킬, 학습 등의 작업 이력을 시간순으로 확인할 수 있음.

🔻 머신러닝

  • 오픈빌더 내에서 어터런스(발화) 입력 후 머신러닝을 통해 더욱 다양한 사용자 발화에 대응 가능
  • 머신러닝을 위해서는 20개 이상의 어터런스가 존재해야하고 오픈빌더에서는 100개의 발화 예시 입력을 권장함.

➕ 머신러닝 실행 조건

(1) 2개 이상의 머신러닝 대상 블록
(2) 각 블록당 패턴 발화 1개 이상, 머신러닝 발화 20개 이상 존재

실행 조건 충족 시, 실행 방법
(1) 머신러닝 실행
(2) 머신러닝 대상 블록과 예상 소요시간을 확인하고 실행

➕ 성능 테스트 및 최소 답변 정확도 조절

  • 테스트 발화 세트 구성 방법

(1) 기존의 패턴 발화, 머신러닝 발화에 입력된 발화 말고, 새로운 발화를 모으기
(2) 간단한 발화로 작동하는 블록은 5~10개, 복잡한 발화로 작동될 수 있는 블록은 20~30개정도를 준비하기

  • 최소 답변 정확도

답변 제공의 기준이 되는 최소 정확도를 의미합니다. 예를 들어, 최소 답변 정확도가 100이라면 정확도가 100인 답변만 제공하며, 최소 답변 정확도가 60이면 정확도가 60 이상인 경우에만 답변을 제공.

머신러닝의 최소 답변 정확도는 머신러닝 페이지에서 설정이 가능하며, 지식+의 최소 답변 정확도는 즉문즉답형 응답에서 설정 가능.

🔻 엔티티

  • 사용자 발화 중 처리해야하는 엔티티를 추가 및 학습 시킬 수 있음.
  • 커스터마이징이 필요 없는 일반적인 엔티티는 기본적으로 제공되는 시스템 엔티티를 활용하여 처리할 수 있음

    (시스템 엔티티는 sys.라는 단어로 시작합니다.)

🔻 되묻기 질문 등록하기

되묻기 질문: 챗봇이 대화 중에 사용자에게 거꾸로 질문을 던지는 액션

봇은 대화를 이해하며 사용자와 인터랙션을 이어가기 위해 사용자 발화 안에 특정 값이 있는지 지속해서 확인하고, 필요로 하는 값이 있다면 이를 추출하여 외부 스킬 서버 및 플러그인과 연동함. 특정한 의도가 있는 응답을 구현하기 위해서는, 사용자 발화로부터 특정 값이 필수적으로 접수 되어야 함. 만약 발화 중 특정 필수 값이 부재한다면, 봇 사용자가 해당 값을 입력하도록 유도하는 되묻기 질문을 설정할 수 있음

챗봇 관리자센터 안에서는 봇이 받고자 하는 값을 사용자 발화 안에 있는 엔티티를 통해서만 인지할 수 있는데, 이러한 엔티티를 칭하여, 새로운 파라미터로 정의함. 이때, 되묻기 기능을 사용하기 위해서는 해당 파라미터를 ‘필수’로 표시하여 필수 파라미터로 설정해야 함.

예를 들어, 발화 주문할게요를 등록하고, 해당 블록이 실행될 때 사용자 예상 발화 안에 커피 이름수량을 필수 파라미터로 설정하면, 필수 파라미터 박스 안에서 되묻기 질문 버튼이 활성화 된 것을 확인할 수 있음.

➕ 되묻기 질문 팝업의 상세 메뉴 구성

  • 되묻기 질문 응답 : 되묻기 질문을 정의한다. 총 3개까지 정의할 수 있고, 사용자에게 출력되는 허용횟수 안에서 무작위 순으로 출력
  • 바로 연결 응답 : 사용자가 되묻기 상황에서 입력할 파라미터 값을 직접 '바로 연결' 버튼으로 클릭해 보낼 수 있도록 세팅
  • 되묻기 허용 횟수 설정 : 되묻기 질문이 실행될 횟수를 선택한다. 최대 허용 횟수가 끝나서 결국 원하는 파라미터값을 획득하지 못했을 때 봇이 사용자에게 출력할 안내 메시지를 정의

🔻 봇테스트

  • 에뮬레이터를 통해 디자인한 챗봇이 어떻게 동작하는지 즉각적으로 확인이 가능
  • 블록연결에 대한 확인은 불가능하기에 onClick 이벤트는 확인이 어려움
profile
@chhaewxn

0개의 댓글