시작
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 커넥터
봇 관리자용 분석
Billing (지원하지 않음)
  1. Docs
  2. Virtual Assistants
  3. Builder
  4. Dialog Task
  5. 스크립트 노드

스크립트 노드

스크립트 노드를 사용하여 대화 작업에서 JavaScript 코드를 작성할 수 있습니다. 스크립트 노드를 사용하여 다음 조치를 수행할 수 있습니다.

  • API 호출을 실행하기 전에 사용자 입력 매개 변수를 조작합니다.
  • 대화를 계속하기 전에 API 응답 페이로드에서 매개 변수를 조작합니다.
  • 사용자에게 사용자 정의 오류 메시지를 표시합니다.
  • 복잡한 비즈니스 규칙을 기반으로 의사 결정을 합니다.

봇 빌더에서 대화를 테스트할 때 스크립트 노드에 오류 대화에 Context 개체와 함께 줄 번호 및 열 번호를 포함하여 스크립트 노드 오류가 표시됩니다. 다음 그림과 같이 스크립트 노드의 오류 대화상자에서 직접 스크립트를 업데이트하고 테스트 할 수 있습니다.

스크립트 노드 설정

대화 작업에서 스크립트 노드를 설정하려면 다음 단계를 수행합니다.

설정

대화 작업에서 스크립트 노드를 설정하려면 다음 단계를 수행합니다. 참고: 플랫폼의 v9.0 이후에는 스크립트 노드가 봇 작업 노드 아래에 분류됩니다. 봇 조치 노드에 대해 자세히 알아보려면 여기를 클릭하세요.

노드 추가

  1. 스크립트 노드를 추가하려는 대화 작업을 엽니다.
  2. 지정된 위치에 스크립트 노드를 추가합니다. 노드를 추가하는 단계의 경우, 여기를 참조하세요.
  3. 스크립트 창은 기본적으로 구성 요소 속성 탭이 선택되어 표시됩니다.
  4. 연결 속성을 설정할 수 있습니다.자세한 내용은 여기를 참조하세요.

노드 설정

구성 요소 속성

참고: 이 섹션에서 설정하거나 편집한 설정은 이 노드를 사용하는 다른 모든 대화 작업에 반영됩니다.

  1. 구성 요소 속성 탭의 일반 설정 섹션에서 스크립트 노드의 이름표시 이름 이름을 입력합니다. 노드 이름에는 공백을 사용할 수 없습니다.
  2. 스크립트 정의 섹션에서 JavaScript를 추가하려면 스크립트 정의를 클릭합니다.
  3. 스크립트 추가 대화 상자에서 JavaScript를 입력한 후 저장을 클릭합니다. JavaScript 코드 예제는 아래에서 확인하세요.
  4. 변수 네임스페이스 섹션에서 이 노드와 전환을 실행할 변수 네임스페이스를 연결합니다. 이 옵션은 봇에 변수 네임스페이스를 사용하도록 설정한 경우에만 표시됩니다. 작업 수준 설정을 사용하거나 이 노드에 사용자 정의할 수 있습니다. 자세한 내용은 네임스페이스 관리를 참조하세요.

JavaScript 예제

JavaScript를 사용하여 API 호출 전후에 데이터를 처리하여 대화 작업을 사용자 정의할 수 있습니다. 예를 들어, 대화 흐름의 방향을 지정합니다. Context 개체 타이프 어헤드 기능을 사용하여 다음 설명과 같이 동적 변수를 식별하고 선택할 수 있습니다. 자세한 내용은 컨텍스트 개체를 참조하세요. 타이프 어헤드 컨텍스트 개체

데이터 조작하기

JavaScript에서 세션 변수를 사용하여 세션 데이터에서 데이터를 가져올 수 있습니다. 예를 들어, context.session.UserContext.identities를 사용하여 사용자 ID를 얻은 후 다음 예제와 같이 데이터를 context에 넣을 수 있습니다.

var x = context.session.UserContext.identities;
var isEmailFound = false;
for (var i = 0; i < x.length; i++) {
    if (x[i].type === "mapped") {
        var identity = x[i].val;
        var arr = identity.split("/");
        var pattern = /^cs/i;
        var result = arr[0].match(pattern);
        if (result) {
            isEmailFound = true;
            context.UserSession.put("rtmEmail", arr[1], '20000');
        }
    }
}
...

자세한 내용은 작업에서 세션 및 컨텍스트 변수 사용하기를 참조하세요.

조건 처리하기

다음 코드 예제에서는 ID가 입력되지 않았을 때 서비스 노드 응답 본문의 Context 개체 변수를 사용하여 고객 ID를 반환합니다 data.results

var data = context.getcontactsService.response.body;
if (data & amp; & amp; typeof(data.results) != 'undefined') {
 context.customerID = data.results.customerId;
} else {
 context.customerID = context.Usersession.customerID;
}

흐름 처리하기

다음 스크립트 노드 코드 예에서는 Context 개체 변수를 사용하여 선택한 계정 유형에 대한 제한을 초과하지 않는 은행 송금액을 확인합니다.

var valid = 0;
var i = 0;
while (context.accdata.length - i) {
 if (context.accdata[i].accountType == context.entities.FromAccountName) {
  if ((context.accdata[i].amount - context.entities.Amount) < 0) { valid = 3; } else { if (context.entities.Amount > context.accdata[i].transferLimit) {
    valid = 0;
   } else {
    valid = 2;
   }
  }
 }
 i++;
}
context.canProceed = valid;

스크립트 노드

스크립트 노드를 사용하여 대화 작업에서 JavaScript 코드를 작성할 수 있습니다. 스크립트 노드를 사용하여 다음 조치를 수행할 수 있습니다.

  • API 호출을 실행하기 전에 사용자 입력 매개 변수를 조작합니다.
  • 대화를 계속하기 전에 API 응답 페이로드에서 매개 변수를 조작합니다.
  • 사용자에게 사용자 정의 오류 메시지를 표시합니다.
  • 복잡한 비즈니스 규칙을 기반으로 의사 결정을 합니다.

봇 빌더에서 대화를 테스트할 때 스크립트 노드에 오류 대화에 Context 개체와 함께 줄 번호 및 열 번호를 포함하여 스크립트 노드 오류가 표시됩니다. 다음 그림과 같이 스크립트 노드의 오류 대화상자에서 직접 스크립트를 업데이트하고 테스트 할 수 있습니다.

스크립트 노드 설정

대화 작업에서 스크립트 노드를 설정하려면 다음 단계를 수행합니다.

설정

대화 작업에서 스크립트 노드를 설정하려면 다음 단계를 수행합니다. 참고: 플랫폼의 v9.0 이후에는 스크립트 노드가 봇 작업 노드 아래에 분류됩니다. 봇 조치 노드에 대해 자세히 알아보려면 여기를 클릭하세요.

노드 추가

  1. 스크립트 노드를 추가하려는 대화 작업을 엽니다.
  2. 지정된 위치에 스크립트 노드를 추가합니다. 노드를 추가하는 단계의 경우, 여기를 참조하세요.
  3. 스크립트 창은 기본적으로 구성 요소 속성 탭이 선택되어 표시됩니다.
  4. 연결 속성을 설정할 수 있습니다.자세한 내용은 여기를 참조하세요.

노드 설정

구성 요소 속성

참고: 이 섹션에서 설정하거나 편집한 설정은 이 노드를 사용하는 다른 모든 대화 작업에 반영됩니다.

  1. 구성 요소 속성 탭의 일반 설정 섹션에서 스크립트 노드의 이름표시 이름 이름을 입력합니다. 노드 이름에는 공백을 사용할 수 없습니다.
  2. 스크립트 정의 섹션에서 JavaScript를 추가하려면 스크립트 정의를 클릭합니다.
  3. 스크립트 추가 대화 상자에서 JavaScript를 입력한 후 저장을 클릭합니다. JavaScript 코드 예제는 아래에서 확인하세요.
  4. 변수 네임스페이스 섹션에서 이 노드와 전환을 실행할 변수 네임스페이스를 연결합니다. 이 옵션은 봇에 변수 네임스페이스를 사용하도록 설정한 경우에만 표시됩니다. 작업 수준 설정을 사용하거나 이 노드에 사용자 정의할 수 있습니다. 자세한 내용은 네임스페이스 관리를 참조하세요.

JavaScript 예제

JavaScript를 사용하여 API 호출 전후에 데이터를 처리하여 대화 작업을 사용자 정의할 수 있습니다. 예를 들어, 대화 흐름의 방향을 지정합니다. Context 개체 타이프 어헤드 기능을 사용하여 다음 설명과 같이 동적 변수를 식별하고 선택할 수 있습니다. 자세한 내용은 컨텍스트 개체를 참조하세요. 타이프 어헤드 컨텍스트 개체

데이터 조작하기

JavaScript에서 세션 변수를 사용하여 세션 데이터에서 데이터를 가져올 수 있습니다. 예를 들어, context.session.UserContext.identities를 사용하여 사용자 ID를 얻은 후 다음 예제와 같이 데이터를 context에 넣을 수 있습니다.

var x = context.session.UserContext.identities;
var isEmailFound = false;
for (var i = 0; i < x.length; i++) {
    if (x[i].type === "mapped") {
        var identity = x[i].val;
        var arr = identity.split("/");
        var pattern = /^cs/i;
        var result = arr[0].match(pattern);
        if (result) {
            isEmailFound = true;
            context.UserSession.put("rtmEmail", arr[1], '20000');
        }
    }
}
...

자세한 내용은 작업에서 세션 및 컨텍스트 변수 사용하기를 참조하세요.

조건 처리하기

다음 코드 예제에서는 ID가 입력되지 않았을 때 서비스 노드 응답 본문의 Context 개체 변수를 사용하여 고객 ID를 반환합니다 data.results

var data = context.getcontactsService.response.body;
if (data & amp; & amp; typeof(data.results) != 'undefined') {
 context.customerID = data.results.customerId;
} else {
 context.customerID = context.Usersession.customerID;
}

흐름 처리하기

다음 스크립트 노드 코드 예에서는 Context 개체 변수를 사용하여 선택한 계정 유형에 대한 제한을 초과하지 않는 은행 송금액을 확인합니다.

var valid = 0;
var i = 0;
while (context.accdata.length - i) {
 if (context.accdata[i].accountType == context.entities.FromAccountName) {
  if ((context.accdata[i].amount - context.entities.Amount) < 0) { valid = 3; } else { if (context.entities.Amount > context.accdata[i].transferLimit) {
    valid = 0;
   } else {
    valid = 2;
   }
  }
 }
 i++;
}
context.canProceed = valid;
메뉴