시작
Kore.ai 대화형 플랫폼
챗봇 개요
자연어 처리(NLP)
봇 개념 및 용어들
빠른 시작 가이드
봇 빌더 접근 방법
사용 고지 사항 (영어)
Kore.ai 봇 빌더로 작업하기
봇 구축 시작하기
릴리스 정보
현재 버전 (영어)
이전 버전 (영어)

개념
디자인
스토리보드
대화 작업
개요
Using the Dialog Builder Tool
노드 유형
사용자 의도 노드
대화 노드
엔티티 노드
양식 노드
확인 노드
서비스 노드
봇 조치 노드
Service Node
WebHook 노드
스크립트 노드
노드 그룹화하기
Agent Transfer Node
사용자 프롬프트
음성 통화 속성
대화 관리
노드 및 전환
구성 요소 전환
컨텍스트 개체
이벤트 기반 봇 조치
지식 그래프
소개
지식 추출
지식 그래프 생성
봇에 지식 그래프 추가
그래프 생성
지식 그래프 작성
FAQ 추가
작업 실행
기존 소스에서 FAQ 구축
특성, 동의어 및 불용어
변수 네임스페이스 관리
수정
용어 편집 및 삭제
용어 편집 및 삭제
질문과 응답 편집
Knowledge Graph Training
지식 그래프 분석
봇 온톨로지 가져오기 및 내보내기
지식 그래프 가져오기
지식 그래프 내보내기
지식 그래프 생성
CSV 파일에서
JSON 파일
지식 그래프 생성
경고 작업
스몰 토크
Digital Skills
디지털 양식
Views
Digital Views
Panels
Widgets
기차
봇 성능 향상 – NLP 최적화
기계 학습
소개
모델 검증
기초 의미
지식 그래프 학습
특성
순위 및 해결
고급 NLP 설정
NLP 설정 및 지침
봇 인텔리전스
소개
컨텍스트 관리
컨텍스트 관리
대화 관리
다중 – 의도 탐지
엔티티 수정
기본 대화
정서 관리
어조 분석
Test & Debug
봇과 대화
발화 테스트
배치 테스트하기
대화 테스트
배포
채널 활성화
봇 게시
분석
봇 분석하기
Conversations Dashboard
Performance Dashboard
사용자 정의 대시보드
소개
맞춤형 메타 태그
사용자 정의 대시보드 생성 방법
Conversation Flows
NLP 지표
Containment Metrics
사용량 지표
스마트 봇
소개
범용 봇
소개
범용 봇 정의
범용 봇 생성
범용 봇 학습
범용 봇 커스터마이징
범용 봇용 추가 언어 활성화
스토어
Manage Assistant
플랜 및 사용량
Overview
Usage Plans
Support Plans
플랜 관리
봇 인증
다국어 봇
개인 식별 정보 삭제하기
봇 변수 사용
IVR 통합
일반 설정
봇 관리

방법
간단한 봇 생성하기
Design Conversation Skills
뱅킹 봇 생성
뱅킹 봇 – 자금 이체
뱅킹 봇 – 잔액 업데이트
Knowledge Graph (KG) 구축
스마트 경고를 예약하는 방법
Design Digital Skills
디지털 양식 설정 방법
디지털 보기 설정 방법
데이터 테이블에 데이터를 추가하는 방법
데이터 테이블 내 데이터 업데이트 방법
UI 양식에서 데이터 테이블에 데이터를 추가하는 방법
Train the Assistant
특성 사용 방법
의도와 엔티티에 대한 패턴 사용 방법
컨텍스트 전환 관리 방법
Deploy the Assistant
상담사 전환을 설정하는 방법
봇 기능 사용 방법
콘텐츠 변수 사용 방법
전역 변수 사용 방법
Kore.ai 웹 SDK 튜토리얼
Kore.ai 위젯 SDK 튜토리얼
Analyze the Assistant
사용자 정의 대시보드 생성 방법
사용자 지정 태그를 사용하여 봇 메트릭을 필터링하는 방법

API 및 SDK
API 참조
Kore.ai API 사용
API 목록
API 컬렉션
koreUtil Libraries
SDK 참조
상담사 전환을 설정하는 방법
봇 기능 사용 방법
콘텐츠 변수 사용 방법
전역 변수 사용 방법
소개
Kore.ai 웹 SDK 튜토리얼
Kore.ai 위젯 SDK 튜토리얼

관리
소개
봇 관리자 콘솔
대시보드
사용자 관리
사용자 관리
그룹 관리
역할 관리
봇 관리 모듈
등록
사용자 초대
사용자 등록을 위한 대량 초대 보내기
사용자 및 사용자 데이터 가져오기
Active Directory에서 사용자 동기화
보안 및 준수
싱글 사인 온 사용
보안 설정
Kore.ai 커넥터
봇 관리자용 분석
청구
  1. Docs
  2. Virtual Assistants
  3. How Tos
  4. 그룹 노드를 사용하여 의도 범위 지정1 min read

그룹 노드를 사용하여 의도 범위 지정1 min read

대화형 봇을 구축하는 데 있어 중요한 요소 중 하나는 상황에 맞는 하위 의도를 추가하는 것입니다.

대화 흐름에서 다른 경로를 택하고, 이전에 제공된 엔티티 값을 수정하는 등 다양한 목적을 위해 상황에 맞는 적절한 의도가 필요할 수 있습니다. 컨텍스트 전환 관리 방법에서 컨텍스트 데이터를 중단 처리와 함께 사용하여 봇과 더욱 자연스럽고 인간적인 상호 작용을 실현하는 방법을 살펴보았습니다.

이 기능은 주로 두 의도의 중단 동작을 정의할 수 있도록 합니다. 이 기능을 사용하면 맞춤형 처리 동작으로 상황에 맞는 의도의 동작을 정의하기가 어려울 수 있습니다. 상황별 NLU를 간소화하기 위해 그룹 노드 기능이 의도 범위 지정, 훈련 및 처리 설정으로 향상되었습니다. 자세한 내용은 여기를 참조하세요.

본 방법에서는 맥락 이탈, 입력 값 수정, 상황에 맞는 후속 쿼리를 포함하는 항공편 예약 봇 시나리오를 살펴봅니다. 이 모든 것을 한 곳에서 쉽게 달성할 수 있도록 그룹 노드를 사용하겠습니다.

문제 설명

항공권 티켓 예약 과정 중:

  1. 사용자는 목적지 또는 여행 날짜에 관한 생각을 바꿀 수 있습니다.
  2. 사용자는 예약을 확인하기 전에 항공편 예약 작업의 일부가 아닌 날씨 정보를 확인할 수 있습니다.
  3. 사용자는 예약에 관한 후속 질문을 할 수 있습니다.
  4. 사용자는 작업 취소를 선택할 수 있습니다.

전제 조건

이 방법에서는 다음과 같은 대화 작업과 함께 항공편 세부 정보 봇을 사용합니다.

  1. 항공편 예약 대화는 다음을 수행합니다.
    1. 출발지, 목적지, 여행 날짜 및 웹 체크인 옵션을 사용자에게 알립니다.
    2. 예약 확인 메시지를 표시합니다(간소함을 위해 실제 예약을 위한 서비스 호출은 추가되지 않았습니다).
    3. 사용자에게 추가 지원이 필요한지 확인합니다.
    4. 대화를 종료합니다.

  2. 날씨 보고서 대화는 다음을 수행합니다.
    1. 원하는 위치의 날씨 보고서를 사용자에게 알립니다.
    2. 날씨 보고서 메시지를 표시합니다(간소함을 위해 실제 날씨 조회를 위한 서비스 호출은 추가하지 않았습니다).

구현

엔티티 수정

사용자가 목적지 또는 여행 날짜를 변경하려는 경우를 살펴보겠습니다. 다음은 동일하게 달성하기 위한 단계입니다. 1단계: 하위 의도 범위를 지정하는 노드를 그룹화: 첫 번째 단계는 목적지 및 여행 날짜의 변경을 트리거 하는 하위 의도에 대한 범위를 정의하는 것입니다.

  1. 사용자는 대화 중 실제 예약 전에 언제든지 목적지 또는 여행 날짜를 변경할 수 있어야 하므로 범위는 엔티티 노드가 됩니다. 마우스를 사용하여 그룹 노드를 형성하는 엔티티를 선택합니다.
  2. 그룹 이름을 명명합니다(예: 여행 세부 정보 그룹)

2a단계: 하위 의도 정의, 목적지 및 여행 날짜 변경에 대한 동작 속성을 학습 및 설정합니다. 다음으로 하위 의도를 정의하고 학습을 추가하며, 하위 의도가 식별되어야 하는 조건과 이러한 경우의 봇 동작을 선택적으로 설정해야 합니다. 먼저 목적지 및 여행 날짜를 변경할 수 있는 경우를 생각해 봅시다.

  1. 엔티티 그룹 화면에서 의도 추가 버튼을 클릭
    1. 여행 날짜 및 목적지 변경을 허용하기 위한 의도 생성
      • 의도 이름을 입력(예: 날짜 및 목적지 변경)
      • 설명을 입력합니다.
    2. 학습기계 학습 옵션을 사용하여 이러한 의도를 파악할 수 있는 사용자 발화까지 학습해보도록 하겠습니다.
      • 발화 추가(예: “다른 날짜 및 목적지를 시도해 봅시다“)
      • 선택적으로 다른 발화를 추가(예: “생각이 바뀌었네요. 다시 시작합시다.“)
      • 이 발화의 하위 의도를 학습

    3. 목적지 및 여행 날짜 값 재설정:
      • 처리컨텍스트 변수 설정 옵션에서 다음 키-값 쌍을 사용하여 목적지 도시 및 이동 날짜를 재설정합니다:
        context.entities.To null
        context.entities.When null
    4. 선택적으로 사용자에게 변경 사항에 대한 메시지 표시를 합니다.(예: “좋습니다. 처음부터 다시 시작합니다.”)
    5. 전환 흐름 아래에서 노드로 이동 옵션을 사용하여 흐름을 출발지 엔티티 노드로 다시 가져갑니다 시작 엔티티 값이 변경되지 않았기 때문에 흐름이 다음 엔티티로 이동하고 목적지 및 시간으로 이동합니다

2b단계: NER 학습과 함께 목적지 변경에 대한 하위 의도를 정의하고, 학습하고, 행동 속성을 설정합니다 원래 엔티티 값을 변경하는 위의 활용 사례를 계속 사용하면 사용자가 자신의 발화에서 변경 사항을 지정할 수 있습니다. 사용자가 사용자의 발화에서 목적지의 변경을 나타내는 경우를 생각해 보세요.

  1. 의도 추가 버튼을 클릭하여 새 하위 의도 추가
    1. 목적지 변경을 허용하기 위한 의도 생성
      • 의도 이름 입력(예: 목적지 변경)
      • 설명을 입력합니다.
    2. 학습기계 학습 옵션을 사용하여 이러한 의도를 파악할 수 있는 사용자 발화까지 학습해보도록 하겠습니다.
      • 발화 추가(예: “대신 시카고로 갑시다“)
      • NER 접근 방식을 사용하여, 발화 내 목적지 엔티티에 주석을 답니다.
      • 이 발화의 하위 의도를 학습

    3. 목적지 값을 캡처된 값으로 설정합니다. 이 값은 컨텍스트 객체에서 identifiedSubIntents 배열로 저장됩니다. 가장 최근에 식별된 하위 의도는 항상 배열의 0번째 인덱스에 저장됩니다.
      • 처리컨텍스트 변수 설정 옵션에서 다음 키-값 쌍을 사용하여 목적지를 설정합니다:
        context.entities.To context.identifiedSubIntents[0].entities.To
    4. 선택적으로 사용자에게 메시지 표시 (예: “목적지를 {{context.identifiedSubIntents[0].entities.To}}로 변경“)
    5. 전환 흐름 아래에서 노드로 이동 옵션을 사용하여 흐름을 출발지 엔티티 노드로 다시 가져갑니다

봇 테스트하기

  1. 봇과 대화 옵션을 사용하여 봇을 테스트합니다.
  2. 다양한 수정 시나리오를 시도해 보고 봇 응답을 확인하세요

맥락 이탈

대화는 선형 방식으로 일어나지 않습니다. 사용자는 주요 의도에서 이탈한 후 다시 돌아올 수 있습니다. 그룹을 사용하여 이를 달성하기 위한 단계를 살펴보겠습니다. 항공편을 예약하는 동안 사용자는 여행 날짜를 확정하기 전에 목적지 도시의 날씨를 확인하길 원할 수 있습니다. 봇이 여행 날짜 입력을 기다리는 동안 “내일 XYZ 도시의 날씨는 어떠냐“라는 질문을 할 수 있습니다. 이러한 경우, 사용자에게 날짜를 다시 묻는 메시지가 표시되기 전에 날씨 정보가 사용자에게 표시되어야 합니다. 위의 엔티티 수정 사례와 마찬가지로 날씨 보고서 대화의 범위를 설정하고 동작을 학습하고 설정하는 단계가 있습니다.

  1. 날씨 보고서와 관련된 쿼리의 범위는 실제 예약 이전이므로 엔티티 사용 사례 수정에 사용된 같은 엔티티 그룹을 사용합니다.
  2. 대화 작업 노드를 추가하여 현재 대화에서 날씨 보고서 대화 상자를 실행합니다. : 날씨 보고서 대화 작업을 기존 노드에 추가한 다음 연결에서 제거하여 다른 노드에 연결되지 않은 플로팅 노드로 만듭니다.
  3. 이 작업에는 입력값대로 위치가 필요하며 이 경우 사용자가 입력한 목적지 도시로 설정될 수 있습니다.
  4. 이 대화에 대한 연결 규칙이 출발지 엔티티로 다시 루프 백해야 합니다. 이렇게 하면 사용자가 원래 대화 흐름에서 그대로 둔 위치에서 다시 시작할 수 있습니다.
  5. 엔티티 그룹 설정 대화 상자에서
    1. 신규 추가 의도
    2. 의도 선택 드롭다운에서 날씨 보고서 선택
    3. 학습은 날씨 보고서 대화의 학습 발화, 패턴 및 규칙으로 입력됩니다. 이 목록에 추가할 수 있지만 이는 일반적인 학습 데이터이며 날씨 보고서가 사용되는 모든 인스턴스에 영향을 줄 수 있습니다.
    4. 전환 흐름노드로 이동으로 설정되어 있고 Weather_Report 노드가 선택되어 있는지 확인합니다.
  6. 봇과 대화를 사용하여 시나리오를 테스트합니다.

상황에 맞는 FAQ

그룹 노드를 사용하여 상황에 맞는 쿼리에 응답할 수도 있습니다. 사용자가 예약을 완료한 후 탑승수속 프로세스에 대해 문의할 수 있습니다. 입력 값 수정, 맥락 이탈(범위 지정, 교육 및 동작 정의)과 동일한 단계를 통해 이러한 작업을 수행할 수 있습니다:

  1. 지금 범위는 예약 확인 후이기 때문에, 노드 예약 후 절차를 그룹화하겠습니다.
    • 그룹을 명명합니다(예: 쿼리 그룹)
    • 설명 을 입력합니다

  2. 쿼리 그룹 설정 대화에서 새 의도 추가
    1. 사용자의 쿼리를 허용하기 위한 의도 생성
      1. 의도 이름 입력(예: 체크인 쿼리)
      2. 설명을 입력합니다.
    2. 학습기계 학습 옵션을 사용하여 이러한 의도를 파악할 수 있는 사용자 발화까지 학습해보도록 하겠습니다.
      1. 발화 추가(예: “공항에서 몇 시에 보고해야 합니까?)
      2. 선택적으로 다른 발화 추가(예: “체크인 시간은 언제입니까?)”
      3. 이 발화의 하위 의도를 학습

       

    3. 메시지 표시를 사용하여 사용자에게 응답(예: “웹 체크인을 선택했으므로 항공편 이륙하기 30분 전에 신고해야 합니다“)
    4. 전환 흐름대화 재개로 설정되어 있는지 확인

     

  3. 봇과 대화옵션을 사용하여 시나리오를 위해 테스트합니다.
메뉴