시작
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. Builder
  4. Dialog Task
  5. 컨텍스트 개체4 min read

컨텍스트 개체4 min read

Context 개체는 대화 실행을 위해 및 모든 의도(예: 대화 작업, 조치, 알림 및 정보 작업, FAQ)에서 데이터를 유지하는 컨테이너 개체입니다. Kore.ai의 자연어 처리(NLP) 엔진은 식별된 의도, 추출된 엔티티, 기록을 이 개체에 채웁니다. Context 개체의 키는 대화 작업 및 의도 전환 조건에 사용됩니다. 또한, context 개체는 추가 시스템 변수와 세션 변수를 사용하여 액세스할 수 있습니다.  URL에서 Context 개체 키를 사용할 때 구문은 다음과 같이 이중 대괄호로 묶는 것입니다: https://quora.com/{{context.entities.topic}}/rss Context 개체는 스크립트 노드뿐만 아니라 엔티티 노드의 동적 값으로도 참조할 수 있으며 페이로드 응답을 Kore.ai SDK로 전달할 수 있습니다. Context 개체 키 값을 비즈니스 로직을 기반으로 업데이트하여 대화 작업 실행에 영향을 줄 수 있습니다. 플랫폼은 여기서 참조할 수 있는 세션 변수를 생성하고 유지합니다.

다음 표에서는 Context 개체 키를 설명합니다. 이 키는 생성 및 추가되는 시기에 따라 전역 컨텍스트 및 대화 컨텍스트로 분류할 수 있습니다. 자세한 내용은 여기를 참조하세요.

카테고리 설명 사용 예시
의도 대화 NLP 인터프리터가 인식한 의도입니다. 구문: context.intent.<< intent name >>
entities 대화 사용자 프롬프트와 해당 프롬프트에서 인식된 사용자 입력을 기반으로 하는 키/값 쌍의 배열입니다.

구문: context.entities.<< entity name >>다음 코드 예제에서 context.entities 개체는 금액과 계정 이름의 값을 액세스하여 계정 간 이체를 확인하는 데 사용됩니다

var today = new Date();
if(today.getHours() < 21)
 {
   print("You have requested to transfer " +context.entities.Amount + 
         " USD from " +context.entities.FromAccountName +
         " to " +context.entities.ToAccountName + " account. " +  
         " Your funds will be shown immediately though transfer will be shown in tomorrow's date in your transaction history. Shall I go ahead? ");
  }
 else
 {
  print("You have requested to transfer " +context.entities.Amount + 
        " USD from " +context.entities.FromAccountName +
        " to " +context.entities.ToAccountName + " account. Shall I go ahead? " +
         context.accdata[0].transactions.length);
  }
traits 대화 지정된 컨텍스트에 설정된 특성
currentLanguage(ver7.1에서 도입됨) 전역 현재 대화 언어
suggestedLanguages(ver7.1에서 도입됨) 전역 플랫폼이 사용자의 첫 번째 발화에서 감지한 모든 언어의 목록으로 신뢰도순으로 표시됩니다. 이 목록은 각 대화 시작 시 재설정됩니다.
history 전역 NLP 인터프리터를 사용하는 각 구성 요소의 nodeId를 포함하는 배열입니다.

대화 흐름에서 실행된 노드 경로를 순차적으로 기록해 정의하는 개체의 배열입니다.

  • nodeId – 노드 유형 및 증분 번호 지정을 사용한 노드의 대화 작업 흐름 ID입니다. 예: intent0, service2 등.
  • state – 표시된 타임스탬프에서 개체의 상태입니다. 다음 중 하나입니다.
    • processing – 봇 플랫폼이 노드 처리를 시작합니다
    • processed – 노드와 노드 연결이 처리되고 다음 노드를 찾았지만 대화가 해당 노드로 이동하지 않았습니다.
    • waitingForUserInput – 사용자에게 입력을 요청했지만 입력을 수신하지 못했습니다.
    • pause – 다른 작업이 시작되는 동안 현재 대화 작업이 일시 중지되었습니다.
    • resume – 일시 중지 상태의 현재 대화는 먼저 시작된 다른 작업이 완료된 후 흐름의 동일한 지점에서 계속됩니다.
    • waitingForServerResponse – 서버 요청이 비동기 응답을 보류하고 있습니다.
    • error – 오류가 발생했습니다. 예: 루프 제한에 도달했거나 서버 노드 또는 스크립트 노드를 실행하지 못했습니다.
    • end – 대화가 대화 흐름의 끝에 도달했습니다.
  • type – 대화 작업의 유형입니다. 다음 중 하나입니다.
    • intent – 대화 작업이 사용자 의도 또는 작업입니다.
    • faq – 대화 작업이 지식 그래프입니다.
  • componentName – 노드의 이름입니다.
  • timestamp – 노드 실행의 JSON 날짜 타임스탬프입니다. 예: 1492794646000.
onHoldTasks 대화 대화가 진행되는 동안 보류된 모든 작업의 배열입니다. 평가 용도로 사용할 수 있는 읽기 전용 목록입니다. (버전 7.1에서 도입됨)
서비스 노드 이름 대화 서비스 노드 실행을 위한 개체 모음입니다.
  • response – 요청 상태와 응답 본문을 JSON 페이로드로 반환합니다.
    • statusCode – HTTP 요청 상태 코드입니다. 예: 200 OK.
    • body – 서비스 요청의 JSON 페이로드 응답 본문입니다.
resultsFound 대화 결과가 반환되는 경우 True입니다
message_tone 전역 대화 작업의 현재 노드에 대해 인식된 어조 감정 및 점수 배열입니다.
  • tone_name – 감지된 어조 이름입니다. 다음 중 하나입니다.
    • angry
    • disgust
    • fear
    • sad
    • joy
    • positive – 발화의 전반적인 긍정성을 평가하는 데 사용되는 특별한 어조입니다.
  • count
  • level – 어조 감정의 수준은 -3에서 +3까지입니다. 다음 중 하나입니다.
    • +3 – 사용자가 어조 감정을 확실히 표현했습니다.
    • +2 – 사용자가 어조 감정을 표현했습니다.
    • +1 – 사용자가 어조 감정을 표현했을 가능성이 높습니다.
    • 0 – 사용자 어조 감정이 중립입니다.
    • -1 – 사용자가 어조 감정을 억제했을 가능성이 높습니다.
    • -2 – 사용자가 어조 감정을 억제했습니다.
    • -3 – 사용자가 어조 감정을 확실히 억제했습니다.
dialog_tone 전역 전체 대화 작업 세션에 대해 평균적인 인식된 어조 감정 및 점수의 배열입니다.
  • tone_name – 감지된 어조 이름입니다. 다음 중 하나입니다.
    • angry
    • disgust
    • fear
    • sad
    • joy
    • positive – 발화의 전반적인 긍정성을 평가하는 데 사용되는 특별한 어조입니다.
  • count
  • level – 어조 감정의 수준은 -3에서 +3까지입니다. 다음 중 하나입니다.
    • +3 – 사용자가 어조 감정을 확실히 표현했습니다.
    • +2 – 사용자가 어조 감정을 표현했습니다.
    • +1 – 사용자가 어조 감정을 표현했을 가능성이 높습니다.
    • 0 – 사용자 어조 감정이 중립입니다.
    • -1 – 사용자가 어조 감정을 억제했을 가능성이 높습니다.
    • -2 – 사용자가 어조 감정을 억제했습니다.
    • -3 – 사용자가 어조 감정을 확실히 억제했습니다.
<< nodename >>.response.body 대화 서비스 노드의 HTTP JSON 요청입니다. 구문: context.<< node name >>.response.body 다음 코드 예제에서는 서비스 노드의 응답이 메시지 노드의 최종 사용자에게 표시됩니다. print(JSON.stringify(context.fetchopportunitiesnode.response.body));
개발자가 정의한 키 대화 개발자가 정의한 키/값 쌍입니다. 구문: context.<< varName >> 예, context.customerId

샘플 컨텍스트 개체 컨텍스트 개체를 포함한 페이로드 응답은 다음과 같습니다.

"context":{
   "bot":"Kore Banking Documentation",
   "botid":"st-b4a22e86-XXXX-575c-b888-e106d083a251",
   "taskid":"dg-df510618-XXXX-5a0b-8370-ee042b3e5b47",
   "intent":"Agent",
   "intentType":"dialog",
   "entities":{
      "Name":12345,
      "number":1234
   },
   "userInputs":{
      "originalInput":{
         "sentence":" agent",
         "timestamp":1501244143000
      }
   },
   "history":[
      {
         "originalSentence":"agent",
         "timestamp":1501244143000
      },
      {
         "dialogState":"started",
         "timestamp":1501244143000
      },
      {
         "nodeId":"intent0",
         "state":"processed",
         "type":"intent",
         "componentName":"Agent",
         "timestamp":1501244143000
      },
      {
         "nodeId":"entity1",
         "state":"processing",
         "type":"entity",
         "componentName":"Name",
         "timestamp":1501244143000
      },
      {
         "nodeId":"entity1",
         "state":"waitingForUserInput",
         "type":"entity",
         "componentName":"Name",
         "timestamp":1501244143000
      },
      {
         "nodeId":"entity1",
         "state":"processed",
         "type":"entity",
         "componentName":"Name",
         "timestamp":1501244149000
      },
      {
         "nodeId":"entity4",
         "state":"processing",
         "type":"entity",
         "componentName":"number",
         "timestamp":1501244149000
      },
      {
         "nodeId":"entity4",
         "state":"waitingForUserInput",
         "type":"entity",
         "componentName":"number",
         "timestamp":1501244149000
      },
      {
         "nodeId":"entity4",
         "state":"processed",
         "type":"entity",
         "componentName":"number",
         "timestamp":1501244156000
      },
      {
         "nodeId":"agentTransfer3",
         "state":"processing",
         "type":"agentTransfer",
         "componentName":"agenttransfer",
         "timestamp":1501244156000
      },
      {
         "dialogState":"transferredToAgent",
         "timestamp":1501244156000
      }
   ],
   "dialog_tone":[
      {
         "tone_name":"positive",
         "level":1
      }
   ],
   "message_tone":[
      {
         "tone_name":"positive",
         "level":1
      }
   ],
  "currentTags": {
    "tags": [
      "name"
    ]
  },
  "historicTags": [
    {
      "tags": [
        "name"
      ]
    }
  ],
   "session":{
      "EnterpriseContext":{
         "5":"500",
         "TestData-Ent":"1000234",
         "ec1":"Enterprise Context session variable from processor",
         "Enterprise_G_Smith_Email":"george.smith@kore.com",
         "enterprisesessiondialog":"enterprisesessiondialogvalue",
         "enterprisecustomprocessor":"enterprisecustomprocessorvalue",
         "enterprisepreprocessor":"enterprisepreprocessorvalue",
         "EnterpriseContext":"EnterpriseContextvalueresponse",
         "Entersession123":"Entersession123value",
         "EnterpriseContext Summary":"TestingSpread",
         "enterprisecontext":"enterprisecontextvalue",
         "ec2":"Enterprise Context session variable from channel response",
         "EC":"ec session variable from intializer",
         "enterprisepreprocessorkey":"enterprisepreprocessorvalue"
      },
      "BotContext":{
      },
      "UserContext":{
         "profColour":"#3651fc",
         "workinghours":{
            "workdays":"Mon, Tue, Wed, Thu, Fri, Sat, Sun",
            "workstart":"12:00 AM",
            "workend":"12:00 PM"
         },
         "dept":"Product Development",
         "jTitle":"Documentation Manager",
         "profImage":"profile.png",
         "activationStatus":"active",
         "emailId":"help.docs@kore.com",
         "firstName":"Help",
         "lastName":"Docs",
         "orgId":"o-b30656ae-XXXX-XXXX-9181-065f7de34be9",
         "_id":"u-4b9f02a3-XXXX-XXXX-b5cc-6df81c0af603",
         "customData":null,
         "identities":[
            {
               "val":"help.docs@kore.com",
               "type":"email"
            },
            {
               "val":"kore/u-4b9f02a3-XXXX-XXXX-b5cc-6df81c0af603",
               "type":"mapped"
            }
         ]
      },
      "UserSession":{
      },
      "BotUserSession":{
         "isReturningUser": true,
         "lastMessage":{
            "channel":"rtm",
            "messagePayload":{
               "clientMessageId":1501244152843,
               "message":{
                  "body":"1234"
               },
               "resourceid":"/bot.message",
               "botInfo":{
                  "chatBot":"Kore Banking Documentation",
                  "taskBotId":"st-b4a22e86-XXXX-XXXX-b888-e106d083a251"
               },
               "client":"botbuilder",
               "meta":{
                  "timezone":"America/New_York",
                  "locale":"en-US"
               },
               "id":1501244152843
            }
         },
     "lastUserMessageTime": "2021-07-12T07:07:17.278Z"
      },
      "opts":{
         "userId":"u-4b9f02a3-XXXX-XXXX-b5cc-6df81c0af603",
         "streamId":"st-b4a22e86-XXXX-XXXX-b888-e106d083a251"
      }
   }
},
"channel":{
   "_id":"dc-5b4a742a-XXXX-XXXX-938f-520912935456",
   "channelInfos":{
      "requestId":"ms-26aae382-XXXX-XXXX-8bf1-a9e076770956",
      "message":"The bot is not accessible via Web / Mobile Client.",
      "body":"1234",
      "client":"botbuilder",
      "handle":{
         "spanId":"8cab2ce2f6aabc47",
         "traceId":"8cab2ce2f6aabc47",
         "taskBotId":"st-b4a22e86-XXXX-XXXX-b888-e106d083a251",
         "clientId":"5a37bf24-XXXX-XXXX-a816-f9602db08149",
         "userId":"u-4b9f02a3-XXXX-XXXX-b5cc-6df81c0af603",
         "handleId":"54e95c2b-XXXX-XXXX-ba6b-384d4166f1b2"
      },
      "botInfo":{
         "taskBotId":"st-b4a22e86-XXXX-XXXX-b888-e106d083a251",
         "chatBot":"Kore Banking Documentation"
      },
      "from":"u-4b9f02a3-3f6f-XXXX-XXXX-6df81c0af603",
      "type":"rtm"
   },
   "__v":0
},
"baseUrl":"https://bots.kore.ai/api/botsdk/stream/st-b4a22e86-XXXX-XXXX-b888-e106d083a251",
"sendUserMessageUrl":"https://bots.kore.ai/api/botsdk/stream/st-b4a22e86-e95b-XXXX-XXXX-e106d083a251/sendUserMessage/1501244156289",
"sendBotMessageUrl":"https://bots.kore.ai/api/botsdk/stream/st-b4a22e86-e95b-XXXX-XXXX-e106d083a251/sendBotMessage/1501244156289"
}

“lastUserMessageTime”: “2021-07-12T07:07:17.278Z”

메뉴