GETTING STARTED
Kore.ai XO Platform
Virtual Assistants Overview
Natural Language Processing (NLP)
Concepts and Terminology
Quick Start Guide
Accessing the Platform
Navigating the Kore.ai XO Platform
Building a Virtual Assistant
Help & Learning Resources
Release Notes
Current Version
Recent Updates
Previous Versions
Deprecations
Request a Feature
CONCEPTS
Design
Storyboard
Overview
FAQs
Conversation Designer
Overview
Dialog Tasks
Mock Scenes
Dialog Tasks
Overview
Navigate Dialog Tasks
Build Dialog Tasks
Node Types
Overview
Intent Node
Dialog Node
Dynamic Intent Node
GenAI Node
GenAI Node (v2, BETA)
GenAI Prompt
Entity Node
Form Node
Confirmation Node
Message Nodes
Logic Node
Bot Action Node
Service Node
Webhook Node
Script Node
Process Node
Agent Transfer
Node Connections
Node Connections Setup
Sub-Intent Scoping
Entity Types
Entity Rules
User Prompts or Messages
Voice Call Properties
Knowledge AI
Introduction
Knowledge Graph
Introduction
Terminology
Build a Knowledge Graph
Manage FAQs
Knowledge Extraction
Import or Export Knowledge Graph
Prepare Data for Import
Importing Knowledge Graph
Exporting Knowledge Graph
Auto-Generate Knowledge Graph
Knowledge Graph Analysis
Answer from Documents
Alert Tasks
Small Talk
Digital Skills
Overview
Digital Forms
Digital Views
Introduction
Widgets
Panels
Session and Context Variables
Context Object
Intent Discovery
Train
NLP Optimization
ML Engine
Overview
Model Validation
FM Engine
KG Engine
Traits Engine
Ranking and Resolver
Training Validations
NLP Configurations
NLP Guidelines
LLM and Generative AI
Introduction
LLM Integration
Kore.ai XO GPT Module
Prompts & Requests Library
Co-Pilot Features
Dynamic Conversations Features
Guardrails
Intelligence
Introduction
Event Handlers
Contextual Memory
Contextual Intents
Interruption Management
Multi-intent Detection
Amending Entities
Default Conversations
Conversation Driven Dialog Builder
Sentiment Management
Tone Analysis
Default Standard Responses
Ignore Words & Field Memory
Test & Debug
Overview
Talk to Bot
Utterance Testing
Batch Testing
Conversation Testing
Conversation Testing Overview
Create a Test Suite
Test Editor
Test Case Assertion
Test Case Execution Summary
Glossary
Health and Monitoring
NLP Health
Flow Health
Integrations
Actions
Actions Overview
Asana
Configure
Templates
Azure OpenAI
Configure
Templates
BambooHR
Configure
Templates
Bitly
Configure
Templates
Confluence
Configure
Templates
DHL
Configure
Templates
Freshdesk
Configure
Templates
Freshservice
Configure
Templates
Google Maps
Configure
Templates
Here
Configure
Templates
HubSpot
Configure
Templates
JIRA
Configure
Templates
Microsoft Graph
Configure
Templates
Open AI
Configure
Templates
Salesforce
Configure
Templates
ServiceNow
Configure
Templates
Stripe
Configure
Templates
Shopify
Configure
Templates
Twilio
Configure
Templates
Zendesk
Configure
Templates
Agents
Agent Transfer Overview
Custom (BotKit)
Drift
Genesys
Intercom
NiceInContact
NiceInContact(User Hub)
Salesforce
ServiceNow
Configure Tokyo and Lower versions
Configure Utah and Higher versions
Unblu
External NLU Adapters
Overview
Dialogflow Engine
Test and Debug
Deploy
Channels
Publishing
Versioning
Analyze
Introduction
Dashboard Filters
Overview Dashboard
Conversations Dashboard
Users Dashboard
Performance Dashboard
Custom Dashboards
Introduction
Custom Meta Tags
Create Custom Dashboard
Create Custom Dashboard Filters
LLM and Generative AI Logs
NLP Insights
Task Execution Logs
Conversations History
Conversation Flows
Conversation Insights
Feedback Analytics
Usage Metrics
Containment Metrics
Universal Bots
Introduction
Universal Bot Definition
Universal Bot Creation
Training a Universal Bot
Universal Bot Customizations
Enabling Languages
Store
Manage Assistant
Team Collaboration
Plan & Usage
Overview
Usage Plans
Templates
Support Plans
Invoices
Authorization
Conversation Sessions
Multilingual Virtual Assistants
Get Started
Supported Components & Features
Manage Languages
Manage Translation Services
Multiingual Virtual Assistant Behavior
Feedback Survey
Masking PII Details
Variables
Collections
IVR Settings
General Settings
Assistant Management
Manage Namespace
Data
Overview
Guidelines
Data Table
Table Views
App Definitions
Data as Service
HOW TOs
Build a Travel Planning Assistant
Travel Assistant Overview
Create a Travel Virtual Assistant
Design Conversation Skills
Create an ‘Update Booking’ Task
Create a Change Flight Task
Build a Knowledge Graph
Schedule a Smart Alert
Design Digital Skills
Configure Digital Forms
Configure Digital Views
Train the Assistant
Use Traits
Use Patterns
Manage Context Switching
Deploy the Assistant
Use Bot Functions
Use Content Variables
Use Global Variables
Use Web SDK
Build a Banking Assistant
Design Conversation Skills
Create a Sample Banking Assistant
Create a Transfer Funds Task
Create a Update Balance Task
Create a Knowledge Graph
Set Up a Smart Alert
Design Digital Skills
Configure Digital Forms
Configure Digital Views
Add Data to Data Tables
Update Data in Data Tables
Add Data from Digital Forms
Train the Assistant
Composite Entities
Use Traits
Use Patterns for Intents & Entities
Manage Context Switching
Deploy the Assistant
Configure an Agent Transfer
Use Assistant Functions
Use Content Variables
Use Global Variables
Intent Scoping using Group Node
Analyze the Assistant
Create a Custom Dashboard
Use Custom Meta Tags in Filters
APIs & SDKs
API Reference
API Introduction
Rate Limits
API List
koreUtil Libraries
SDK Reference
SDK Introduction
Web SDK
How the Web SDK Works
SDK Security
SDK Registration
Web Socket Connect and RTM
Tutorials
Widget SDK Tutorial
Web SDK Tutorial
BotKit SDK
BotKit SDK Deployment Guide
Installing the BotKit SDK
Using the BotKit SDK
SDK Events
SDK Functions
Installing Botkit in AWS
Tutorials
BotKit - Blue Prism
BotKit - Flight Search Sample VA
BotKit - Agent Transfer

ADMINISTRATION
Intro to Bots Admin Console
Administration Dashboard
User Management
Managing Your Users
Managing Your Groups
Role Management
Manage Data Tables and Views
Bot Management
Enrollment
Inviting Users
Sending Bulk Invites to Enroll Users
Importing Users and User Data
Synchronizing Users from Active Directory
Security & Compliance
Using Single Sign-On
Two-Factor Authentication for Platform Access
Security Settings
Cloud Connector
Analytics for Bots Admin
Billing
  1. Docs
  2. Virtual Assistants
  3. Builder
  4. Dialog Task
  5. 지원되는 엔티티 유형

지원되는 엔티티 유형

엔티티 유형은 인식 및 시스템 성능을 향상하기 위해 사용자 발화에서 예상되는 데이터 유형을 NLP 인터프리터에 제공합니다. Kore.ai NLP 인터프리터는 사용자 발화에서 엔티티를 추출합니다. 사용자가 필수 엔티티를 입력하지 않은 경우 사용자에게 엔티티 입력을 요청하는 봇 응답 노드를 정의할 수 있습니다. 자세한 내용은 봇 응답 노드로 작업하기를 참조하세요. 사용자 입력의 유효성을 검사하는 엔티티 규칙을 정의할 수도 있습니다. 자세한 내용은 여기를 참조하세요. 엔티티 노드에 대해 다음 엔티티 유형이 지정됩니다.

주소 복합 사람 이름
공항 날짜 백분율
첨부 날짜 기간 전화번호
이메일 날짜 시간 수량
도시 설명 문자열
국가 항목 목록(열거됨) 시간
회사 항목 목록(조회) 시간대
색상 위치 URL
사용자 정의 숫자 우편번호
통화

주소

표준 미국 및 독일 주소 형식으로 작성된 주소를 캡처합니다. 예: 200 E Main ST Pheonix AZ 85123 USA. 전체 주소는 문자열로 캡처됩니다. “200 E Main ST Pheonix AZ 85123 USA.”

"entities":
{
"AddressEntity": "200 E Main ST Pheonix AZ 85123 USA"
}

다른 국가 주소의 경우 플랫폼은 인식 가능한 도시 또는 국가 이름으로 끝나는 문자열을 캡처합니다. 자세한 내용은 도시 엔티티를 참조하세요.

v8.1 이후에는 주소 엔티티의 전체 형식의 주소를 컨텍스트 개체에서 액세스할 수 있습니다. 컨텍스트 개체의 형식은 다음과 같으며 개별 필드 값을 얻을 수 있습니다.

"autoFormattedEntities": {
     "Address": {
        "streetNumber": "200"
        "streetName": "E Main ST"
        "streetType":
        "POBox":
        "roadPrefix":
        "roadNumber":
        "city": "Pheonix"
        "county": "USA"
        "zip": "AZ 85123"
    }
 }

모든 필드를 모든 시나리오에서 사용할 수 있는 것은 아니며 국가를 기반으로 하는 주소 유형에 따라 다릅니다.

공항

다음 입력으로 공항 세부 정보를 캡처합니다.

  • 도시 이름
  • 공항 이름
  • IATA 코드
  • ICAO
  • 미국 도시의 약어입니다.

공항 세부 정보는 아래에 표시된 요소와 함께 JSON 엔티티로 반환됩니다.

"AirportEntity":
  {"IATA": "LHR",
   "AirportName": "London Heathrow Airport",
   "City": "London",
   "ICAO": "EGLL",
   "Latitude": "51.4775", "Longitude": "-0.461389"
  }

모든 공항 세부 정보는 https://github.com/opentraveldata/opentraveldata를 사용합니다.

입력 설명
도시 이름 사용자 발화에서 도시 이름으로부터 공항 이름을 식별합니다. 도시에 여러 개의 공항이 있는 경우 선택할 수 있는 공항 목록이 표시됩니다. 발화: 로스엔젤레스로 비행 응답: 입력한 공항이 모호한 것 같습니다. 선택하려는 옵션을 알려주세요. <로스앤젤레스에 있는 5개 공항의 이름>
공항 이름 눈에 띄는 키워드로 전체 공항 이름 또는 부분 이름에서 공항 이름을 식별합니다. 발화: 히드로로 비행 캡처됨: 봇에 필요한 세부 정보가 있는 런던 히드로 공항입니다.
IATA 국제 항공 운송 협회(IATA) 코드로 공항 이름을 식별합니다. 발화: LHR으로 비행 캡처됨: 런던 히드로 공항의 세부 정보
ICAO 국제 민간 항공 기구(ICAO) 코드를 식별합니다. 발화: EGLL으로 비행 캡처됨: 런던 히드로 공항의 세부 정보
도시의 약어 www.geonames.org에 나열된 도시 약어를 식별합니다 발화: LA로 비행 응답: 입력한 공항이 모호한 것 같습니다. 선택하려는 옵션을 알려주세요. <LA에 있는 5개 공항의 이름>

첨부(이미지 / 파일)

사용자는 최대 25MB의 파일, 이미지 또는 이메일을 첨부할 수 있습니다.

"entities":
{
"AttachmentEntity": "send"
}

참고: 현재 첨부 엔티티는 Facebook, Twitter, Web/Mobile 및 Slack 채널에서만 지원됩니다.

도시

뉴옥의 온도는 몇 도입니까와 같은 발화에서 도시 이름입니다. 봇은 문자열 형태로 인구 5,000명이 넘는 모든 도시 이름을 캡처합니다. 모든 도시 세부 정보는 www.geonames.org를 사용합니다.

참고: 도시 이름은 현재 명확하지 않지만 인구에 따라 우선순위가 정해집니다. 따라서 사용자 발화가 Portland로 구성된 경우 Portland OR은 Portland ME보다 높은 순위를 차지합니다.
"entities":
{
"CityEntity": "New York"
}

국가

미국의 수도는 어디입니까와 같은 사용자 발화에서 도시 이름을 캡처합니다. 국가 세부 정보는 아래에 표시된 요소와 함께 JSON 엔티티로 반환됩니다.

"CountryEntity": {
      "alpha3": "USA",
      "alpha2": "US",
      "localName": "United States of America",
      "shortName": "United States",
      "numericalCode": 840
}

전체 국가 목록은 여기를 참조하세요https://www.nationsonline.org/oneworld/country_code_list.htm.

요소 설명
alpha3 국가의 세 자리 코드 USA, GBR 또는 IND
alpha2 국가의 두 자리 코드 US, GB 또는 IN
localName 국가 이름 미국, 영국 또는 인도
shortName 짧은 이름 미국, 영국 또는 인도
numericalCode 국제 연합, 국가에 사용된 숫자 코드 M49 840, 826 또는 356

회사 이름 또는 조직 이름

Amazon의 가장 가까운 지점과 같은 사용자 발화에서 회사 이름을 캡처합니다. 회사 이름 값이 문자열로 반환됩니다(Amazon). 지원되는 회사 목록을 참조하세요. 회사 이름 말뭉치에는 언어별 이름이 포함됩니다. 주식 이름, 등록 이름 등과 같은 회사 이름의 변형은 모두 공통 이름에 매핑됩니다. 예: Amazon, Amazon.com, Amazon Inc는 따라서 모두 단일 회사로 인식됩니다. 지원되는 회사와는 별개로 봇은 항상 대문자로 시작하며 그 다음에 회사 유형으로 접미사가 나옵니다. Inc, Incorporated, Corp, Corporation, Group, Ltd, Limited, Co, Company, LP, LLP, LLLP, LLC, PLLC.

 "entities":
{
"OrganizationEntity": "amazon"
}

색상

사용자 발화에서 색상 이름을 캡처합니다. 예: 상태를 녹색으로 설정합니다. 색상의 값을 문자열 Green으로 반환합니다. 지원되는 색상 목록을 참조하세요.

"entities":
{
"ColorEntity": "green"
}

통화

사용자 발화에서 금액과 통화 유형을 캡처합니다. 예: 이 핸드백의 가격은 200달러입니다. 200은 금액이고 USD는 통화입니다. 이 엔티티 유형은 다음을 인식합니다.

  • 전체 통화 이름(달러, 루피, 인도 국가 루피, 디나르)
  • 통화 기호($, S$, £)
  • 표준 통화 약어(INR, USD)
  • 통화에 일반적으로 사용되는 속어(Buck, Nickel, Dime, Quid, Loonie, Toonie, Benjamin, Jackson, Hamilton.)
참고: 통화 이름은 이전 사용법에 따라 명확하지 않습니다. 따라서 사용자 발화가 처음에 달러로 구성되면 인기 때문에 USD가 SGD(싱가포르 달러)보다 높은 순위를 차지합니다. 그러나 사용자가 명시적으로 SGD를 언급하면 봇은 그 위치에서부터 달러를 SGD로 생각합니다.
"CurrencyEntity":[
{
"code": "SGD",
"amount": 20
}

사용자 정의

정규식을 정의하여 표시된 정규식 필드에서 사용자 입력을 검증합니다. 예: 다음을 입력: [a-zA-Z]{3}[-]\d{4}반환된 샘플 응답: {"regex":"NLP-1234"} 자세한 내용은 장규식을 참조하세요.

복합

복합 엔티티는 하나의 엔티티에서 여러 엔티티 값을 캡처하는 데 사용됩니다. 예: 자동차 판매에 대한 판매 문의를 고려해 보세요. 문의는 일반적으로 다음과 같은 형식일 수 있습니다. 테슬라 모델 S 2018 모델에 관심이 있습니다 또는 빨간색 테슬라 2010 모델 가격은 얼마입니까 또는 테슬라 모델 S에 대해 알려주세요. 보시다시피 봇은 이러한 문의에 응답하려면 제조사, 모델, 연도, 색상과 같은 세부 정보의 조합을 처리해야 합니다. 이러한 시나리오는 복합 엔티티 유형으로 처리됩니다. 복합 엔티티 유형을 자세히 알아보려면 여기를 참조하세요.

날짜

사용자 발화에서 날짜 언급을 캡처합니다. 예: 10월 10일 항공편 예약하기 날짜를 ISO8601 날짜 형식인 YYYY-MM-DD로 반환합니다. 봇은 다음과 같이 날짜를 표현하는 모든 가능한 방법과 형식을 인식합니다.

  • YYYY-MM-DD, DD-MM-YYYY, DD-MM-YY, YYYY/MM/DD, DD/MM/YYYY, DD/MM/YY, YYYY.MM.DD, DD.MM.YYYY, DD.MM.YY와 같은 형식화된 날짜.
  • 20180518 및 09102013의 YMD 및 DMY와 같은 모든 숫자 날짜.
  • YYYY MM DD. dd/mm yyyy, dd-mm, dd-mm-yyyy, dd-mm-yy, mm-dd, dd / mm / yyyy, dd . mm . yyyy, ddmm yyyy, mmdd.와 같은 공간 구분 기호가 있는 형식화된 날짜.
  • yyyy/dd/monthNames or yyyy-dd-monthNames or dd.monthNames.yyyy 2018/28/Dec or 2018-28-Dec or 28.Dec.2018과 같은 명명된 월.
  • 오늘, 내일, 어제, 오늘, 오늘 밤, 오늘 저녁, 오늘 오후, 모레, 그제, 어제 아침, 내일 밤, 내일 1시간, 3일 전, 24시간 전, 3일 후, 2개월 후, 작년 다음 달 오늘, 다음 6월, 다음 해 6월 26일, 일주일 후, 2주 전, 이번 달 22일, 다음 달 오늘, 다음 달 25일, 이번 달 30일, 이번 달 27일, 세 번째 달, 이번 달 2일과 같이 지금과 관련된 절대적인 날짜
  • 성탄절, 성탄절 전야, 올해 현충일, 2018년 추수감사절, 지난 추수감사절, 추수감사절 다음 주, 유월절, 새해 전날, 성탄절 다음날과 같은 명명된 날짜.
  • 내일부터 2일 후, 7월 4일 이후 3일, 오늘부터 3일 후, 오늘부터 5일 후, 2일 더, 2일 후와 같은 절대적인 날에서 상대적인 날짜.
  • 토요일, 다가오는 월요일, 일요일, 토요일, 다음 주말, 새해 첫 번째 토요일, 새해 첫 번째 일요일, 다음 달 첫 번째 토요일, 내년 첫 번째 일요일과 같은 평일.
"entities":
{
"DateEntity": "1982-04-13"
}

날짜 시간

사용자 발화에서 시간과 함께 날짜 그룹을 캡처합니다. 예: 10월 10일 오후 6시에 항공편 예약하기 날짜 시간 값을 ISO8601 날짜 형식인 YYYYY-MM-DDThh: mm: ss.sTZD로 반환합니다. 봇은 날짜와 시간을 표현하는 모든 방법과 형식을 인식합니다.

"entities":
{
"DateEntity": "2017-10-10T18:00:00+05:30"
}

날짜 기간

사용자 입력에서 시작일과 종료일을 캡처합니다. 예: 5월 5일부터 5일 동안 호텔을 예약합니다. 사용자 입력에 날짜 중 하나 또는 둘 다 포함되지 않은 경우 봇은 사용자에게 필요한 입력을 요청하는 메시지를 표시합니다.

참고: 다른 엔티티와 달리 날짜 기간 엔티티를 사용하면 사용자 및 오류 프롬프트의 두 세트를 입력할 수 있습니다.

  1. 시작 날짜에 대한 사용자 및 오류 프롬프트.
  2. 종료 날짜에 대한 사용자 및 오류 프롬프트.

다음 표에는 여러 시나리오에서 엔티티가 작동하는 방법을 나열합니다.

입력 유형 봇 반응
시작 날짜와 종료 날짜를 모두 포함하지 않았습니다[예: 호텔 예약]. 시작 날짜에 대한 사용자 프롬프트를 사용자에게 표시합니다
시작 날짜 또는 종료 날짜 중 하나를 포함합니다[예: 8월 15일 호텔 예약] 입력에 누락된 종류에 따라 사용 날짜에 대한 사용자 프롬프트 또는 종료 날짜에게 대한 사용자 프롬프트를 표시합니다
시작 날짜 및 기간에 대한 암시적 참조를 포함합니다[예: 화요일부터 5일간 호텔 예약] 두 날짜를 결정합니다
시작 날짜와 기간을 포함합니다[예: 11월 15일부터 5일간 호텔 예약] 두 날짜를 결정합니다
시작 날짜 및 종료 날짜를 포함합니다[예: 5일부터 10일까지 호텔 예약] 두 날짜를 결정합니다

설명

사용자 발화에서 문장 또는 텍스트 단락을 캡처합니다. 설명의 값은 문자열로 반환되며 와일드 문자를 포함할 수 있습니다.

참고: 이 엔티티 유형에는 다중 항목을 사용할 수 없습니다.
"entities":
{
"Description": "text here"
}

이메일

발화에서 이메일 주소를 캡처합니다. 예: “help@koremessenger.com로 이메일 보내기” 이메일의 값을 문자열로 반환합니다.

"entities":
{
"Email": "help@koremessenger.com"
}

항목 목록(열거됨)

최종 사용자에게 값 목록을 표시합니다. 목록 유형을 정의하려면,

  1. 항목 목록(열거됨) 유형 필드 옆에 있는 설정 아이콘을 클릭합니다.
  2. 항목 목록(열거됨) 설정 페이지에서 다음 목록 유형 중 하나를 정의합니다.
    • 정적 목록
    • 컨텍스트의 목록

이 기능은 일부 언어에서는 완전히 지원되지 않습니다. 자세한 내용은 여기를 클릭하세요.

  • 정적 목록 – 키의 표시 이름, 동의어를 입력합니다. 사용자 입력에 대한 자동 수정 값을 설정합니다.
  • 컨텍스트의 목록 – 다음 필드에서 이 항목에 사용할 컨텍스트 변수를 정의합니다.
    • 사용할 컨텍스트 변수 지정 – 컨텍스트 개체 유형을 정의합니다. 예: EnterpriseContext, BotContext, UserContexts 또는 context.entities와 같은 session variables. context.를 입력하고 컨텍스트 개체 유형을 선택합니다.
    • 표시 이름 키 – 최종 사용자에게 표시된 이름입니다.
    • 값 키 – 목록에 있는 항목 값을 나타내는 키입니다.
    • 동의어 키 – 키를 위한 동의어를 하나 이상 입력합니다(자세한 내용은 여기를 클릭하세요).
  • 자동 수정– LOV 엔티티 유형을 위한 자동 수정 임곗값을 설정하고 정확한 일치뿐만 아니라 작은 변형으로 가장 가까운 발화를 수락합니다. 예: Apple이라는 목록 값은 임곗값 설정에 따라 appel과 같은 오타가 있는 경우 수락합니다. 자동 수정 설정은 다음과 같은 방식으로 작동합니다.
    1. 봇은 사용자 입력에서 변경(삽입, 삭제 또는 대체)할 문자 수를 식별하여 목록에 있는 값과 일치시킵니다.
    2. 숫자는 입력에서 총 문자 수의 비율로 변환됩니다.
    3. 가장 높은 유사성이 있는 목록 값은 점수가 설정된 비율보다 크거나 같으면 입력으로 간주됩니다.
    철자 수정은 사전상 단어 또는 영숫자 입력에는 적용되지 않습니다.

v7.1 이후로는 다음과 같은 키가 아래 사용법에 따른 용도로 컨텍스트 개체에 추가됩니다.

  • ambiguousEntityValues: 이 키는 다중 항목 엔티티에 대한 사용자 입력이 모호한 경우 값을 포함합니다. 이를 사용하여 모호한 값이 식별되었는지 확인하고 흐름을 구성하여 모호성을 해결합니다. 대화 중에 엔티티가 다시 프롬프트되면 이 키가 재설정됩니다. 값은 제목, 값, 동의어를 포함하는 각 개체인 JSON 개체의 배열입니다.
  • synonymsUsed: 이 키는 항목을 식별하는 데 사용된 동의어를 포함합니다. 필요한 경우 이 값을 사용하여 봇 응답을 개인화할 수 있습니다. 대화 중에 엔티티가 다시 프롬프트되면 이 키가 재설정됩니다.

목록을 사용자에게 표시하려면 값 표시 목록을 로 설정합니다. 그러면 채널별 형식으로 값 목록을 사용자에게 표시합니다. 요구 사항에 따라 템플릿을 사용할 수 있습니다(자세히 확인하려면 여기를 클릭하세요).

항목 목록(조회)

최종 사용자에게 값 목록을 표시합니다. 조회 목록을 정의하려면,

  1. 항목 목록(조회) 유형 필드 옆에 있는 설정 아이콘을 클릭합니다.
  2. 항목 목록(조회) 설정 페이지에서 다음 목록 유형 중 하나를 정의합니다.
    • 정적 목록
    • 원격 목록

이 기능은 일부 언어에서는 완전히 지원되지 않습니다. 자세한 내용을 확인하려면 여기를 클릭하세요. 정적 목록: 정적 목록을 사용하여 엔티티 값을 다음 목록 유형 중 하나로 정의합니다.

  • JSON 탭 – 키/값 쌍 및 동의어 목록을 입력합니다(자세한 내용은 여기를 클릭하세요). 예:
    [{
    "title": "United States",
    "value": "US",
    "synonyms": ["united states", "USA", "US", "U.S.A", "America"]
    },
    {
    "title": "John F. Kennedy International Airport",
    "value": "JFK",
    "synonyms": ["John F. Kennedy International Airport", "New York International Airport", "JFK"]
    }
    ]
  • 편집기 탭 – 키의 표시 이름, 동의어를 입력합니다.
  • 파일 업로드파일 업로드를 클릭하여 JSON 형식의 파일 목록 또는 .csv 파일 형식의 키/값 쌍 목록을 찾습니다. 예, CSV 파일 형식

v7.1 이후로는 다음과 같은 키가 아래 사용법에 따른 용도로 컨텍스트 개체에 추가됩니다.

  • ambiguousEntityValues: 이 키는 다중 항목 엔티티에 대한 사용자 입력이 모호한 경우 값을 포함합니다. 이를 사용하여 모호한 값이 식별되었는지 확인하고 흐름을 구성하여 모호성을 해결합니다. 대화 중에 엔티티가 다시 프롬프트되면 이 키가 재설정됩니다. 값은 제목, 값, 동의어를 포함하는 각 개체인 JSON 개체의 배열입니다.
  • synonymsUsed: 이 키는 항목을 식별하는 데 사용된 동의어를 포함합니다. 필요한 경우 이 값을 사용하여 봇 응답을 개인화할 수 있습니다. 대화 중에 엔티티가 다시 프롬프트되면 이 키가 재설정됩니다.

목록을 사용자에게 표시하려면 값 표시 목록을 로 설정합니다. 그러면 채널별 형식으로 값 목록을 사용자에게 표시합니다. 요구 사항에 따라 템플릿을 사용할 수 있습니다(자세히 확인하려면 여기를 클릭하세요).

원격 목록

원격 목록은 보안 제한이나 다른 이유로 외부 서비스로 엔티티 추출을 수행해야 할 때 사용됩니다. 또한 대용량 데이터를 처리하는 데도 사용할 수 있습니다. 관련된 단계는 다음과 같습니다.

  1. 서비스 호출 정의: 서비스 노드가 현재 설정되는 방법과 유사한 서비스 호출을 설정할 수 있습니다. 헤더, 본문(POST의 경우) 등을 설정할 수 있습니다. (자세히 확인하려면 여기를 클릭하세요). 호출된 외부 서비스는 플랫폼이 채운 사용자 발화 데이터를 수락하고 처리할 수 있어야 합니다. 다음 필드가 있는 context.inputData 개체는 이 용도로 사용됩니다.
    • input – 현재 대화에서 사용자로부터 받은 입력 목록을 포함하는 배열입니다.
    • usedUp – 다른 엔티티 또는 의도에 이미 사용된 단어의 색인 형태입니다. 형식은 x-y-z입니다
      • x는 문장/발화 인덱스(0~n)를 나타냅니다.
      • y는 x발화 내에서 사용된 시작 인덱스를 나타냅니다.
      • z는 사용된 단어의 끝 인덱스를 나타냅니다.
      • sentenceindex-x-x는 해당 문장에서 사용되지 않는 단어를 나타냅니다.
      • 한 문장에서 여러 단어가 사용된 경우 쉼표로 구분된 값으로 입력해야 합니다.
    • isMultiItem – 서비스 호출에 여러 값이 필요한 경우 플래그를 설정해야 합니다.
        "inputData": {
          "input": [
            "get account"
          ],
          "usedUp": [
            "0-x-x"
          ],
          "isMultiItem": false
        }
  2. 응답 매핑: 다음 필드로 서비스 호출의 응답을 매핑할 수 있습니다.
    • 서비스 호출에서 응답 데이터를 보유하는 컨텍스트 변수입니다. 이 변수는 배열 형식이어야 합니다.
    • 표시 키 이름 – 이 필드를 참조하는데 사용하는 이름입니다. 이 이름은 사용자와 상호 작용할 때 사용됩니다. 예: 모호성 해소 시나리오에서. 이것은 {{context.entities.<entity-name>.title}}를 사용하여 액세스할 수 있습니다.
    • 값 키 – 서비스 호출의 응답 본문에서 값을 보유하는 필드 이름입니다. 엔티티에 이 값이 할당됩니다. 이것은 {{context.entities.<entity-name>.value}}를 사용하여 액세스할 수 있습니다.
    • 동의어 키 – 이 필드의 동의어가 있는 경우 포함하는 필드입니다. 이것은 사용자가 참조하는 값입니다. 예: 모호성 해소 질문에 대한 응답. 이것은 {{context.entities.<entity-name>.synonym}}를 사용하여 액세스할 수 있습니다.
    • 일치하는 단어 색인inputData에서 엔티티 추출에 사용된 단어를 나타냅니다(context.inputData 개체에서 usedUp 값과 동일한 형식). 플랫폼이 사용자 발화에서 사용된 단어로 표기하는 데 사용합니다.

흐름: 플랫폼은 다음을 수행합니다.

  1. context.inputData를 위에 언급된 값으로 채웁니다.
  2. 서비스 호출을 수행하여 서비스 호출에 설정된 대로 값을 전달하는 엔티티 값을 가져옵니다.
  3. 응답 매핑에 따라 반환된 값을 사용합니다.
    • 원격 시스템에서 단일 값이 반환되면 해당 값이 엔티티에 할당됩니다.
    • 원격 시스템에서 여러 값이 반환되면 플랫폼은 이 목록에서 엔티티를 추출합니다.
      • 일치 항목이 발견되면 엔티티에 할당됩니다.
      • 일치 항목이 없으면 사용자에게 선택할 수 있는 값 목록을 표시합니다. 사용자 입력이 목록의 항목 중 하나와 일치하는 경우 엔티티에 할당됩니다. 사용자 입력이 항목과 일치하지 않으면 입력은 컨텍스트 개체에서 업데이트되고 원격 서비스에 대한 다른 호출이 시작됩니다.
      • 하나 이상의 일치 항목이 발견되면 모호한 것으로 간주되며 사용자에게 선택 항목을 표시합니다. 사용자 입력이 목록의 항목 중 하나와 일치하는 경우 엔티티에 할당됩니다. 사용자 입력이 항목과 일치하지 않으면 입력은 컨텍스트 개체에서 업데이트되고 원격 서비스에 대한 다른 호출이 시작됩니다.
    • 엔티티가 다중 항목 엔티티로 표시된 경우 원격 서버에서 반환된 값 목록이 다시 평가되고 모든 유효한(엔티티 유형별로 유효한) 목록이 엔티티에 대한 값으로 할당됩니다. 유효하지 않은 목록 항목은 삭제됩니다.
  4. 다음 예외를 처리합니다.
    • 서비스 호출의 응답이 비어있거나 예상되는 형식이 아닌 경우 엔티티의 사용자 프롬프트 설정은 사용자에게 입력을 요청하는 데 사용됩니다.
    • 모호한 경우, 예를 들어 하나의 값을 예상했지만 서비스가 여러 값을 반환한 경우 사용자에게 서비스에서 반환한 값 목록 중 하나를 선택하라는 메시지가 표시됩니다.

위치

사용자 발화에서 시/도의 세부 정보를 캡처합니다. 예: 라스베이거스의 벨라지오에서 엔티티는 라스베이거스의 위치 세부 정보를 캡처합니다. 엔티티는 주소 및 좌표와 함께 개체의 위치를 JSON 응답으로 반환합니다.

"Location":
{
"formatted_address": "Las Vegas, NV, USA",
"lat": 36.1699412,
"lng": -115.1398296
}

숫자

사용자 발화에서 숫자를 캡처합니다. 예: 16명을 위한 방을 예약합니다. 이 예에서는 값 16이 숫자로 반환됩니다. 봇 플랫폼은 철자로 표기된 숫자와 1M과 같은 표준 약어를 인식합니다. 연속된 수의 단어는 하나의 숫자로 결합됩니다. 예: 1 2 3은 123이 됩니다. 참고: 허용되는 최대 자릿수는 18입니다.

"entities":
{
"NumberEntity": 16
}

사람 이름

사용자 발화에서 사람의 전체 이름을 캡처합니다. 예: John Smith에게 이메일 전송. John Smith는 사람 이름으로 식별됩니다. Kore.ai 봇 플랫폼은 사용자 발화에서 대문자로 된 첫 번째 단어를 이름으로 가정하고 낙타 대문자에서 다음 두 단어를 이름의 일부로 가정합니다. 예: 사용자 발화가 John Smith와 통화하고 싶습니다. John Smith는 이름으로 인식합니다. 사용자 발화가 John smith와 바로 통화하고 싶습니다.인 경우 John만 이름으로 인식합니다.

"entities":
{
"PersonName": "John Smith"
}

백분율

사용자 발화에서 백분율 값을 캡처합니다. 예: 오늘의 비 올 확률은 60% 이상입니다. 백분율은 60이며, 0.0~1.0 범위에서 부동 소수점 값 0.6을 반환합니다. 퍼센트, 백분율 및 % 기호를 지원합니다.

"entities":
{
"PercentageEntity": 0.6
}

전화번호

표준 10자리 또는 12자리 전화번호를 캡처합니다. 예: 4075551212로 전화하십시오. 전화번호 값은 4075551212이며 숫자로 반환됩니다.

"entities":
{
"PhoneNumber": "+4075551212"
}

수량

사용자 발화에서 다음 세부 정보를 사용하여 발화에서 수량을 캡처합니다.

  • 수량 유형(길이, 면적, 부피 등).
  • 측정 단위(킬로미터, 제곱킬로미터, 세제곱미터 등).
  • 금액(100, 500, 1.5 등).

수량 엔티티 유형을 선택할 때 수량 및 기본 측정의 단위 유형도 선택해야 합니다. 예: 부피를 캡처하려면 부피단위 유형으로 선택하고 밀리미터기본 단위로 선택합니다. 따라서 사용자 발화가 물 500ml 추가이면 다음 JSON이 반환됩니다.

"Quantity":
{
"unit": "millilitre",
"amount": 500,
"type": "volume",
"source": "500 ml"
}

봇 플랫폼은 이러한 모든 수량을 식별하고 표준 약어, 코드, 기호와 함께 결합합니다.

유형 단위
길이
  • 킬로미터
  • 미터
  • 센티미터
  • 인치
  • 피트
  • 야드
  • 마일
면적
  • 제곱킬로미터
  • 제곱미터
  • 제곱마일
  • 제곱야드
  • 제곱피트
부피
  • 세제곱미터
  • 리터
  • 밀리미터
  • 갤런
  • 온스
시간
  • 밀리초
속도
  • 미터/초
  • 킬로미터/시
  • 마일/시
압력
  • 파스칼
  • 기압
에너지
  • 칼로리
  • 킬로칼로리
  • 와트시
  • 킬로와트시
메모리
  • 비트
  • 바이트
  • 킬로바이트
  • 메가바이트
  • 테라바이트
  • 기가바이트
무게
  • 킬로그램
  • 그램
  • 파운드
  • 온스
각도
나이
  • 10년
  • 100년
온도
  • 섭씨
  • 화씨

문자열

설명 엔티티 유형과 동일하게 작동하지만 한 문장으로 제한됩니다. 문자열 엔티티의 사용자 발화가 학습되지 않은 경우 유효성 검사는 수행되지 않습니다. 따라서 이 엔티티 유형은 요구 사항이 플랫폼 지원 엔티티 유형 중 어느 것과도 충족되지 않을 때 마지막 수단으로 사용됩니다.

시간

사용자 발화에서 시간을 캡처합니다. 예: 알람을 오전 6시로 설정하고, 시간 값을 ISO 8601 시간 형식인 hh:mm:ss.sZD로 반환합니다. 다음 표시를 인식합니다.

    • am, a.m., AM, pm, p.m., PM, P.M.
    • 숫자는 철자로 적습니다. 예: 오전 6시.
    • 아침 및 저녁입니다. 예: 저녁 6시.
"entities":
{
"TimeEntity": "T06:00:00+05:30"
}

시간대

시간대입니다. 동부 표준시는 시간대를 GMT로 변환하고 결과 값을 저장합니다. 예: EST를 입력하면 -6:00으로 저장됩니다. 봇 플랫폼은 표준 시간대를 인식합니다.

"entities":
{
"TimeZoneEntity": "-06:00"
}

URL

발화에서 웹 URL을 캡처합니다. 봇은 모든 표준 형식의 URL을 인식합니다. 예: 당사 웹 사이트(www.kore.ai)를 방문하세요. URL 값이 문자열로 반환됩니다.

"entities":
{
"URLEntity": "www.kore.ai"
}

우편번호

사용자 발화에서 미국 우편번호를 캡처합니다. 예: 32746의 날씨는 어떤가요? 우편번호의 값은 32746이며 문자열로 반환됩니다.

"entities":
{
"ZipcodeEntity": "32746"
}

지원되는 엔티티 유형

엔티티 유형은 인식 및 시스템 성능을 향상하기 위해 사용자 발화에서 예상되는 데이터 유형을 NLP 인터프리터에 제공합니다. Kore.ai NLP 인터프리터는 사용자 발화에서 엔티티를 추출합니다. 사용자가 필수 엔티티를 입력하지 않은 경우 사용자에게 엔티티 입력을 요청하는 봇 응답 노드를 정의할 수 있습니다. 자세한 내용은 봇 응답 노드로 작업하기를 참조하세요. 사용자 입력의 유효성을 검사하는 엔티티 규칙을 정의할 수도 있습니다. 자세한 내용은 여기를 참조하세요. 엔티티 노드에 대해 다음 엔티티 유형이 지정됩니다.

주소 복합 사람 이름
공항 날짜 백분율
첨부 날짜 기간 전화번호
이메일 날짜 시간 수량
도시 설명 문자열
국가 항목 목록(열거됨) 시간
회사 항목 목록(조회) 시간대
색상 위치 URL
사용자 정의 숫자 우편번호
통화

주소

표준 미국 및 독일 주소 형식으로 작성된 주소를 캡처합니다. 예: 200 E Main ST Pheonix AZ 85123 USA. 전체 주소는 문자열로 캡처됩니다. “200 E Main ST Pheonix AZ 85123 USA.”

"entities":
{
"AddressEntity": "200 E Main ST Pheonix AZ 85123 USA"
}

다른 국가 주소의 경우 플랫폼은 인식 가능한 도시 또는 국가 이름으로 끝나는 문자열을 캡처합니다. 자세한 내용은 도시 엔티티를 참조하세요.

v8.1 이후에는 주소 엔티티의 전체 형식의 주소를 컨텍스트 개체에서 액세스할 수 있습니다. 컨텍스트 개체의 형식은 다음과 같으며 개별 필드 값을 얻을 수 있습니다.

"autoFormattedEntities": {
     "Address": {
        "streetNumber": "200"
        "streetName": "E Main ST"
        "streetType":
        "POBox":
        "roadPrefix":
        "roadNumber":
        "city": "Pheonix"
        "county": "USA"
        "zip": "AZ 85123"
    }
 }

모든 필드를 모든 시나리오에서 사용할 수 있는 것은 아니며 국가를 기반으로 하는 주소 유형에 따라 다릅니다.

공항

다음 입력으로 공항 세부 정보를 캡처합니다.

  • 도시 이름
  • 공항 이름
  • IATA 코드
  • ICAO
  • 미국 도시의 약어입니다.

공항 세부 정보는 아래에 표시된 요소와 함께 JSON 엔티티로 반환됩니다.

"AirportEntity":
  {"IATA": "LHR",
   "AirportName": "London Heathrow Airport",
   "City": "London",
   "ICAO": "EGLL",
   "Latitude": "51.4775", "Longitude": "-0.461389"
  }

모든 공항 세부 정보는 https://github.com/opentraveldata/opentraveldata를 사용합니다.

입력 설명
도시 이름 사용자 발화에서 도시 이름으로부터 공항 이름을 식별합니다. 도시에 여러 개의 공항이 있는 경우 선택할 수 있는 공항 목록이 표시됩니다. 발화: 로스엔젤레스로 비행 응답: 입력한 공항이 모호한 것 같습니다. 선택하려는 옵션을 알려주세요. <로스앤젤레스에 있는 5개 공항의 이름>
공항 이름 눈에 띄는 키워드로 전체 공항 이름 또는 부분 이름에서 공항 이름을 식별합니다. 발화: 히드로로 비행 캡처됨: 봇에 필요한 세부 정보가 있는 런던 히드로 공항입니다.
IATA 국제 항공 운송 협회(IATA) 코드로 공항 이름을 식별합니다. 발화: LHR으로 비행 캡처됨: 런던 히드로 공항의 세부 정보
ICAO 국제 민간 항공 기구(ICAO) 코드를 식별합니다. 발화: EGLL으로 비행 캡처됨: 런던 히드로 공항의 세부 정보
도시의 약어 www.geonames.org에 나열된 도시 약어를 식별합니다 발화: LA로 비행 응답: 입력한 공항이 모호한 것 같습니다. 선택하려는 옵션을 알려주세요. <LA에 있는 5개 공항의 이름>

첨부(이미지 / 파일)

사용자는 최대 25MB의 파일, 이미지 또는 이메일을 첨부할 수 있습니다.

"entities":
{
"AttachmentEntity": "send"
}

참고: 현재 첨부 엔티티는 Facebook, Twitter, Web/Mobile 및 Slack 채널에서만 지원됩니다.

도시

뉴옥의 온도는 몇 도입니까와 같은 발화에서 도시 이름입니다. 봇은 문자열 형태로 인구 5,000명이 넘는 모든 도시 이름을 캡처합니다. 모든 도시 세부 정보는 www.geonames.org를 사용합니다.

참고: 도시 이름은 현재 명확하지 않지만 인구에 따라 우선순위가 정해집니다. 따라서 사용자 발화가 Portland로 구성된 경우 Portland OR은 Portland ME보다 높은 순위를 차지합니다.
"entities":
{
"CityEntity": "New York"
}

국가

미국의 수도는 어디입니까와 같은 사용자 발화에서 도시 이름을 캡처합니다. 국가 세부 정보는 아래에 표시된 요소와 함께 JSON 엔티티로 반환됩니다.

"CountryEntity": {
      "alpha3": "USA",
      "alpha2": "US",
      "localName": "United States of America",
      "shortName": "United States",
      "numericalCode": 840
}

전체 국가 목록은 여기를 참조하세요https://www.nationsonline.org/oneworld/country_code_list.htm.

요소 설명
alpha3 국가의 세 자리 코드 USA, GBR 또는 IND
alpha2 국가의 두 자리 코드 US, GB 또는 IN
localName 국가 이름 미국, 영국 또는 인도
shortName 짧은 이름 미국, 영국 또는 인도
numericalCode 국제 연합, 국가에 사용된 숫자 코드 M49 840, 826 또는 356

회사 이름 또는 조직 이름

Amazon의 가장 가까운 지점과 같은 사용자 발화에서 회사 이름을 캡처합니다. 회사 이름 값이 문자열로 반환됩니다(Amazon). 지원되는 회사 목록을 참조하세요. 회사 이름 말뭉치에는 언어별 이름이 포함됩니다. 주식 이름, 등록 이름 등과 같은 회사 이름의 변형은 모두 공통 이름에 매핑됩니다. 예: Amazon, Amazon.com, Amazon Inc는 따라서 모두 단일 회사로 인식됩니다. 지원되는 회사와는 별개로 봇은 항상 대문자로 시작하며 그 다음에 회사 유형으로 접미사가 나옵니다. Inc, Incorporated, Corp, Corporation, Group, Ltd, Limited, Co, Company, LP, LLP, LLLP, LLC, PLLC.

 "entities":
{
"OrganizationEntity": "amazon"
}

색상

사용자 발화에서 색상 이름을 캡처합니다. 예: 상태를 녹색으로 설정합니다. 색상의 값을 문자열 Green으로 반환합니다. 지원되는 색상 목록을 참조하세요.

"entities":
{
"ColorEntity": "green"
}

통화

사용자 발화에서 금액과 통화 유형을 캡처합니다. 예: 이 핸드백의 가격은 200달러입니다. 200은 금액이고 USD는 통화입니다. 이 엔티티 유형은 다음을 인식합니다.

  • 전체 통화 이름(달러, 루피, 인도 국가 루피, 디나르)
  • 통화 기호($, S$, £)
  • 표준 통화 약어(INR, USD)
  • 통화에 일반적으로 사용되는 속어(Buck, Nickel, Dime, Quid, Loonie, Toonie, Benjamin, Jackson, Hamilton.)
참고: 통화 이름은 이전 사용법에 따라 명확하지 않습니다. 따라서 사용자 발화가 처음에 달러로 구성되면 인기 때문에 USD가 SGD(싱가포르 달러)보다 높은 순위를 차지합니다. 그러나 사용자가 명시적으로 SGD를 언급하면 봇은 그 위치에서부터 달러를 SGD로 생각합니다.
"CurrencyEntity":[
{
"code": "SGD",
"amount": 20
}

사용자 정의

정규식을 정의하여 표시된 정규식 필드에서 사용자 입력을 검증합니다. 예: 다음을 입력: [a-zA-Z]{3}[-]\d{4}반환된 샘플 응답: {"regex":"NLP-1234"} 자세한 내용은 장규식을 참조하세요.

복합

복합 엔티티는 하나의 엔티티에서 여러 엔티티 값을 캡처하는 데 사용됩니다. 예: 자동차 판매에 대한 판매 문의를 고려해 보세요. 문의는 일반적으로 다음과 같은 형식일 수 있습니다. 테슬라 모델 S 2018 모델에 관심이 있습니다 또는 빨간색 테슬라 2010 모델 가격은 얼마입니까 또는 테슬라 모델 S에 대해 알려주세요. 보시다시피 봇은 이러한 문의에 응답하려면 제조사, 모델, 연도, 색상과 같은 세부 정보의 조합을 처리해야 합니다. 이러한 시나리오는 복합 엔티티 유형으로 처리됩니다. 복합 엔티티 유형을 자세히 알아보려면 여기를 참조하세요.

날짜

사용자 발화에서 날짜 언급을 캡처합니다. 예: 10월 10일 항공편 예약하기 날짜를 ISO8601 날짜 형식인 YYYY-MM-DD로 반환합니다. 봇은 다음과 같이 날짜를 표현하는 모든 가능한 방법과 형식을 인식합니다.

  • YYYY-MM-DD, DD-MM-YYYY, DD-MM-YY, YYYY/MM/DD, DD/MM/YYYY, DD/MM/YY, YYYY.MM.DD, DD.MM.YYYY, DD.MM.YY와 같은 형식화된 날짜.
  • 20180518 및 09102013의 YMD 및 DMY와 같은 모든 숫자 날짜.
  • YYYY MM DD. dd/mm yyyy, dd-mm, dd-mm-yyyy, dd-mm-yy, mm-dd, dd / mm / yyyy, dd . mm . yyyy, ddmm yyyy, mmdd.와 같은 공간 구분 기호가 있는 형식화된 날짜.
  • yyyy/dd/monthNames or yyyy-dd-monthNames or dd.monthNames.yyyy 2018/28/Dec or 2018-28-Dec or 28.Dec.2018과 같은 명명된 월.
  • 오늘, 내일, 어제, 오늘, 오늘 밤, 오늘 저녁, 오늘 오후, 모레, 그제, 어제 아침, 내일 밤, 내일 1시간, 3일 전, 24시간 전, 3일 후, 2개월 후, 작년 다음 달 오늘, 다음 6월, 다음 해 6월 26일, 일주일 후, 2주 전, 이번 달 22일, 다음 달 오늘, 다음 달 25일, 이번 달 30일, 이번 달 27일, 세 번째 달, 이번 달 2일과 같이 지금과 관련된 절대적인 날짜
  • 성탄절, 성탄절 전야, 올해 현충일, 2018년 추수감사절, 지난 추수감사절, 추수감사절 다음 주, 유월절, 새해 전날, 성탄절 다음날과 같은 명명된 날짜.
  • 내일부터 2일 후, 7월 4일 이후 3일, 오늘부터 3일 후, 오늘부터 5일 후, 2일 더, 2일 후와 같은 절대적인 날에서 상대적인 날짜.
  • 토요일, 다가오는 월요일, 일요일, 토요일, 다음 주말, 새해 첫 번째 토요일, 새해 첫 번째 일요일, 다음 달 첫 번째 토요일, 내년 첫 번째 일요일과 같은 평일.
"entities":
{
"DateEntity": "1982-04-13"
}

날짜 시간

사용자 발화에서 시간과 함께 날짜 그룹을 캡처합니다. 예: 10월 10일 오후 6시에 항공편 예약하기 날짜 시간 값을 ISO8601 날짜 형식인 YYYYY-MM-DDThh: mm: ss.sTZD로 반환합니다. 봇은 날짜와 시간을 표현하는 모든 방법과 형식을 인식합니다.

"entities":
{
"DateEntity": "2017-10-10T18:00:00+05:30"
}

날짜 기간

사용자 입력에서 시작일과 종료일을 캡처합니다. 예: 5월 5일부터 5일 동안 호텔을 예약합니다. 사용자 입력에 날짜 중 하나 또는 둘 다 포함되지 않은 경우 봇은 사용자에게 필요한 입력을 요청하는 메시지를 표시합니다.

참고: 다른 엔티티와 달리 날짜 기간 엔티티를 사용하면 사용자 및 오류 프롬프트의 두 세트를 입력할 수 있습니다.

  1. 시작 날짜에 대한 사용자 및 오류 프롬프트.
  2. 종료 날짜에 대한 사용자 및 오류 프롬프트.

다음 표에는 여러 시나리오에서 엔티티가 작동하는 방법을 나열합니다.

입력 유형 봇 반응
시작 날짜와 종료 날짜를 모두 포함하지 않았습니다[예: 호텔 예약]. 시작 날짜에 대한 사용자 프롬프트를 사용자에게 표시합니다
시작 날짜 또는 종료 날짜 중 하나를 포함합니다[예: 8월 15일 호텔 예약] 입력에 누락된 종류에 따라 사용 날짜에 대한 사용자 프롬프트 또는 종료 날짜에게 대한 사용자 프롬프트를 표시합니다
시작 날짜 및 기간에 대한 암시적 참조를 포함합니다[예: 화요일부터 5일간 호텔 예약] 두 날짜를 결정합니다
시작 날짜와 기간을 포함합니다[예: 11월 15일부터 5일간 호텔 예약] 두 날짜를 결정합니다
시작 날짜 및 종료 날짜를 포함합니다[예: 5일부터 10일까지 호텔 예약] 두 날짜를 결정합니다

설명

사용자 발화에서 문장 또는 텍스트 단락을 캡처합니다. 설명의 값은 문자열로 반환되며 와일드 문자를 포함할 수 있습니다.

참고: 이 엔티티 유형에는 다중 항목을 사용할 수 없습니다.
"entities":
{
"Description": "text here"
}

이메일

발화에서 이메일 주소를 캡처합니다. 예: “help@koremessenger.com로 이메일 보내기” 이메일의 값을 문자열로 반환합니다.

"entities":
{
"Email": "help@koremessenger.com"
}

항목 목록(열거됨)

최종 사용자에게 값 목록을 표시합니다. 목록 유형을 정의하려면,

  1. 항목 목록(열거됨) 유형 필드 옆에 있는 설정 아이콘을 클릭합니다.
  2. 항목 목록(열거됨) 설정 페이지에서 다음 목록 유형 중 하나를 정의합니다.
    • 정적 목록
    • 컨텍스트의 목록

이 기능은 일부 언어에서는 완전히 지원되지 않습니다. 자세한 내용은 여기를 클릭하세요.

  • 정적 목록 – 키의 표시 이름, 동의어를 입력합니다. 사용자 입력에 대한 자동 수정 값을 설정합니다.
  • 컨텍스트의 목록 – 다음 필드에서 이 항목에 사용할 컨텍스트 변수를 정의합니다.
    • 사용할 컨텍스트 변수 지정 – 컨텍스트 개체 유형을 정의합니다. 예: EnterpriseContext, BotContext, UserContexts 또는 context.entities와 같은 session variables. context.를 입력하고 컨텍스트 개체 유형을 선택합니다.
    • 표시 이름 키 – 최종 사용자에게 표시된 이름입니다.
    • 값 키 – 목록에 있는 항목 값을 나타내는 키입니다.
    • 동의어 키 – 키를 위한 동의어를 하나 이상 입력합니다(자세한 내용은 여기를 클릭하세요).
  • 자동 수정– LOV 엔티티 유형을 위한 자동 수정 임곗값을 설정하고 정확한 일치뿐만 아니라 작은 변형으로 가장 가까운 발화를 수락합니다. 예: Apple이라는 목록 값은 임곗값 설정에 따라 appel과 같은 오타가 있는 경우 수락합니다. 자동 수정 설정은 다음과 같은 방식으로 작동합니다.
    1. 봇은 사용자 입력에서 변경(삽입, 삭제 또는 대체)할 문자 수를 식별하여 목록에 있는 값과 일치시킵니다.
    2. 숫자는 입력에서 총 문자 수의 비율로 변환됩니다.
    3. 가장 높은 유사성이 있는 목록 값은 점수가 설정된 비율보다 크거나 같으면 입력으로 간주됩니다.
    철자 수정은 사전상 단어 또는 영숫자 입력에는 적용되지 않습니다.

v7.1 이후로는 다음과 같은 키가 아래 사용법에 따른 용도로 컨텍스트 개체에 추가됩니다.

  • ambiguousEntityValues: 이 키는 다중 항목 엔티티에 대한 사용자 입력이 모호한 경우 값을 포함합니다. 이를 사용하여 모호한 값이 식별되었는지 확인하고 흐름을 구성하여 모호성을 해결합니다. 대화 중에 엔티티가 다시 프롬프트되면 이 키가 재설정됩니다. 값은 제목, 값, 동의어를 포함하는 각 개체인 JSON 개체의 배열입니다.
  • synonymsUsed: 이 키는 항목을 식별하는 데 사용된 동의어를 포함합니다. 필요한 경우 이 값을 사용하여 봇 응답을 개인화할 수 있습니다. 대화 중에 엔티티가 다시 프롬프트되면 이 키가 재설정됩니다.

목록을 사용자에게 표시하려면 값 표시 목록을 로 설정합니다. 그러면 채널별 형식으로 값 목록을 사용자에게 표시합니다. 요구 사항에 따라 템플릿을 사용할 수 있습니다(자세히 확인하려면 여기를 클릭하세요).

항목 목록(조회)

최종 사용자에게 값 목록을 표시합니다. 조회 목록을 정의하려면,

  1. 항목 목록(조회) 유형 필드 옆에 있는 설정 아이콘을 클릭합니다.
  2. 항목 목록(조회) 설정 페이지에서 다음 목록 유형 중 하나를 정의합니다.
    • 정적 목록
    • 원격 목록

이 기능은 일부 언어에서는 완전히 지원되지 않습니다. 자세한 내용을 확인하려면 여기를 클릭하세요. 정적 목록: 정적 목록을 사용하여 엔티티 값을 다음 목록 유형 중 하나로 정의합니다.

  • JSON 탭 – 키/값 쌍 및 동의어 목록을 입력합니다(자세한 내용은 여기를 클릭하세요). 예:
    [{
    "title": "United States",
    "value": "US",
    "synonyms": ["united states", "USA", "US", "U.S.A", "America"]
    },
    {
    "title": "John F. Kennedy International Airport",
    "value": "JFK",
    "synonyms": ["John F. Kennedy International Airport", "New York International Airport", "JFK"]
    }
    ]
  • 편집기 탭 – 키의 표시 이름, 동의어를 입력합니다.
  • 파일 업로드파일 업로드를 클릭하여 JSON 형식의 파일 목록 또는 .csv 파일 형식의 키/값 쌍 목록을 찾습니다. 예, CSV 파일 형식

v7.1 이후로는 다음과 같은 키가 아래 사용법에 따른 용도로 컨텍스트 개체에 추가됩니다.

  • ambiguousEntityValues: 이 키는 다중 항목 엔티티에 대한 사용자 입력이 모호한 경우 값을 포함합니다. 이를 사용하여 모호한 값이 식별되었는지 확인하고 흐름을 구성하여 모호성을 해결합니다. 대화 중에 엔티티가 다시 프롬프트되면 이 키가 재설정됩니다. 값은 제목, 값, 동의어를 포함하는 각 개체인 JSON 개체의 배열입니다.
  • synonymsUsed: 이 키는 항목을 식별하는 데 사용된 동의어를 포함합니다. 필요한 경우 이 값을 사용하여 봇 응답을 개인화할 수 있습니다. 대화 중에 엔티티가 다시 프롬프트되면 이 키가 재설정됩니다.

목록을 사용자에게 표시하려면 값 표시 목록을 로 설정합니다. 그러면 채널별 형식으로 값 목록을 사용자에게 표시합니다. 요구 사항에 따라 템플릿을 사용할 수 있습니다(자세히 확인하려면 여기를 클릭하세요).

원격 목록

원격 목록은 보안 제한이나 다른 이유로 외부 서비스로 엔티티 추출을 수행해야 할 때 사용됩니다. 또한 대용량 데이터를 처리하는 데도 사용할 수 있습니다. 관련된 단계는 다음과 같습니다.

  1. 서비스 호출 정의: 서비스 노드가 현재 설정되는 방법과 유사한 서비스 호출을 설정할 수 있습니다. 헤더, 본문(POST의 경우) 등을 설정할 수 있습니다. (자세히 확인하려면 여기를 클릭하세요). 호출된 외부 서비스는 플랫폼이 채운 사용자 발화 데이터를 수락하고 처리할 수 있어야 합니다. 다음 필드가 있는 context.inputData 개체는 이 용도로 사용됩니다.
    • input – 현재 대화에서 사용자로부터 받은 입력 목록을 포함하는 배열입니다.
    • usedUp – 다른 엔티티 또는 의도에 이미 사용된 단어의 색인 형태입니다. 형식은 x-y-z입니다
      • x는 문장/발화 인덱스(0~n)를 나타냅니다.
      • y는 x발화 내에서 사용된 시작 인덱스를 나타냅니다.
      • z는 사용된 단어의 끝 인덱스를 나타냅니다.
      • sentenceindex-x-x는 해당 문장에서 사용되지 않는 단어를 나타냅니다.
      • 한 문장에서 여러 단어가 사용된 경우 쉼표로 구분된 값으로 입력해야 합니다.
    • isMultiItem – 서비스 호출에 여러 값이 필요한 경우 플래그를 설정해야 합니다.
        "inputData": {
          "input": [
            "get account"
          ],
          "usedUp": [
            "0-x-x"
          ],
          "isMultiItem": false
        }
  2. 응답 매핑: 다음 필드로 서비스 호출의 응답을 매핑할 수 있습니다.
    • 서비스 호출에서 응답 데이터를 보유하는 컨텍스트 변수입니다. 이 변수는 배열 형식이어야 합니다.
    • 표시 키 이름 – 이 필드를 참조하는데 사용하는 이름입니다. 이 이름은 사용자와 상호 작용할 때 사용됩니다. 예: 모호성 해소 시나리오에서. 이것은 {{context.entities.<entity-name>.title}}를 사용하여 액세스할 수 있습니다.
    • 값 키 – 서비스 호출의 응답 본문에서 값을 보유하는 필드 이름입니다. 엔티티에 이 값이 할당됩니다. 이것은 {{context.entities.<entity-name>.value}}를 사용하여 액세스할 수 있습니다.
    • 동의어 키 – 이 필드의 동의어가 있는 경우 포함하는 필드입니다. 이것은 사용자가 참조하는 값입니다. 예: 모호성 해소 질문에 대한 응답. 이것은 {{context.entities.<entity-name>.synonym}}를 사용하여 액세스할 수 있습니다.
    • 일치하는 단어 색인inputData에서 엔티티 추출에 사용된 단어를 나타냅니다(context.inputData 개체에서 usedUp 값과 동일한 형식). 플랫폼이 사용자 발화에서 사용된 단어로 표기하는 데 사용합니다.

흐름: 플랫폼은 다음을 수행합니다.

  1. context.inputData를 위에 언급된 값으로 채웁니다.
  2. 서비스 호출을 수행하여 서비스 호출에 설정된 대로 값을 전달하는 엔티티 값을 가져옵니다.
  3. 응답 매핑에 따라 반환된 값을 사용합니다.
    • 원격 시스템에서 단일 값이 반환되면 해당 값이 엔티티에 할당됩니다.
    • 원격 시스템에서 여러 값이 반환되면 플랫폼은 이 목록에서 엔티티를 추출합니다.
      • 일치 항목이 발견되면 엔티티에 할당됩니다.
      • 일치 항목이 없으면 사용자에게 선택할 수 있는 값 목록을 표시합니다. 사용자 입력이 목록의 항목 중 하나와 일치하는 경우 엔티티에 할당됩니다. 사용자 입력이 항목과 일치하지 않으면 입력은 컨텍스트 개체에서 업데이트되고 원격 서비스에 대한 다른 호출이 시작됩니다.
      • 하나 이상의 일치 항목이 발견되면 모호한 것으로 간주되며 사용자에게 선택 항목을 표시합니다. 사용자 입력이 목록의 항목 중 하나와 일치하는 경우 엔티티에 할당됩니다. 사용자 입력이 항목과 일치하지 않으면 입력은 컨텍스트 개체에서 업데이트되고 원격 서비스에 대한 다른 호출이 시작됩니다.
    • 엔티티가 다중 항목 엔티티로 표시된 경우 원격 서버에서 반환된 값 목록이 다시 평가되고 모든 유효한(엔티티 유형별로 유효한) 목록이 엔티티에 대한 값으로 할당됩니다. 유효하지 않은 목록 항목은 삭제됩니다.
  4. 다음 예외를 처리합니다.
    • 서비스 호출의 응답이 비어있거나 예상되는 형식이 아닌 경우 엔티티의 사용자 프롬프트 설정은 사용자에게 입력을 요청하는 데 사용됩니다.
    • 모호한 경우, 예를 들어 하나의 값을 예상했지만 서비스가 여러 값을 반환한 경우 사용자에게 서비스에서 반환한 값 목록 중 하나를 선택하라는 메시지가 표시됩니다.

위치

사용자 발화에서 시/도의 세부 정보를 캡처합니다. 예: 라스베이거스의 벨라지오에서 엔티티는 라스베이거스의 위치 세부 정보를 캡처합니다. 엔티티는 주소 및 좌표와 함께 개체의 위치를 JSON 응답으로 반환합니다.

"Location":
{
"formatted_address": "Las Vegas, NV, USA",
"lat": 36.1699412,
"lng": -115.1398296
}

숫자

사용자 발화에서 숫자를 캡처합니다. 예: 16명을 위한 방을 예약합니다. 이 예에서는 값 16이 숫자로 반환됩니다. 봇 플랫폼은 철자로 표기된 숫자와 1M과 같은 표준 약어를 인식합니다. 연속된 수의 단어는 하나의 숫자로 결합됩니다. 예: 1 2 3은 123이 됩니다. 참고: 허용되는 최대 자릿수는 18입니다.

"entities":
{
"NumberEntity": 16
}

사람 이름

사용자 발화에서 사람의 전체 이름을 캡처합니다. 예: John Smith에게 이메일 전송. John Smith는 사람 이름으로 식별됩니다. Kore.ai 봇 플랫폼은 사용자 발화에서 대문자로 된 첫 번째 단어를 이름으로 가정하고 낙타 대문자에서 다음 두 단어를 이름의 일부로 가정합니다. 예: 사용자 발화가 John Smith와 통화하고 싶습니다. John Smith는 이름으로 인식합니다. 사용자 발화가 John smith와 바로 통화하고 싶습니다.인 경우 John만 이름으로 인식합니다.

"entities":
{
"PersonName": "John Smith"
}

백분율

사용자 발화에서 백분율 값을 캡처합니다. 예: 오늘의 비 올 확률은 60% 이상입니다. 백분율은 60이며, 0.0~1.0 범위에서 부동 소수점 값 0.6을 반환합니다. 퍼센트, 백분율 및 % 기호를 지원합니다.

"entities":
{
"PercentageEntity": 0.6
}

전화번호

표준 10자리 또는 12자리 전화번호를 캡처합니다. 예: 4075551212로 전화하십시오. 전화번호 값은 4075551212이며 숫자로 반환됩니다.

"entities":
{
"PhoneNumber": "+4075551212"
}

수량

사용자 발화에서 다음 세부 정보를 사용하여 발화에서 수량을 캡처합니다.

  • 수량 유형(길이, 면적, 부피 등).
  • 측정 단위(킬로미터, 제곱킬로미터, 세제곱미터 등).
  • 금액(100, 500, 1.5 등).

수량 엔티티 유형을 선택할 때 수량 및 기본 측정의 단위 유형도 선택해야 합니다. 예: 부피를 캡처하려면 부피단위 유형으로 선택하고 밀리미터기본 단위로 선택합니다. 따라서 사용자 발화가 물 500ml 추가이면 다음 JSON이 반환됩니다.

"Quantity":
{
"unit": "millilitre",
"amount": 500,
"type": "volume",
"source": "500 ml"
}

봇 플랫폼은 이러한 모든 수량을 식별하고 표준 약어, 코드, 기호와 함께 결합합니다.

유형 단위
길이
  • 킬로미터
  • 미터
  • 센티미터
  • 인치
  • 피트
  • 야드
  • 마일
면적
  • 제곱킬로미터
  • 제곱미터
  • 제곱마일
  • 제곱야드
  • 제곱피트
부피
  • 세제곱미터
  • 리터
  • 밀리미터
  • 갤런
  • 온스
시간
  • 밀리초
속도
  • 미터/초
  • 킬로미터/시
  • 마일/시
압력
  • 파스칼
  • 기압
에너지
  • 칼로리
  • 킬로칼로리
  • 와트시
  • 킬로와트시
메모리
  • 비트
  • 바이트
  • 킬로바이트
  • 메가바이트
  • 테라바이트
  • 기가바이트
무게
  • 킬로그램
  • 그램
  • 파운드
  • 온스
각도
나이
  • 10년
  • 100년
온도
  • 섭씨
  • 화씨

문자열

설명 엔티티 유형과 동일하게 작동하지만 한 문장으로 제한됩니다. 문자열 엔티티의 사용자 발화가 학습되지 않은 경우 유효성 검사는 수행되지 않습니다. 따라서 이 엔티티 유형은 요구 사항이 플랫폼 지원 엔티티 유형 중 어느 것과도 충족되지 않을 때 마지막 수단으로 사용됩니다.

시간

사용자 발화에서 시간을 캡처합니다. 예: 알람을 오전 6시로 설정하고, 시간 값을 ISO 8601 시간 형식인 hh:mm:ss.sZD로 반환합니다. 다음 표시를 인식합니다.

    • am, a.m., AM, pm, p.m., PM, P.M.
    • 숫자는 철자로 적습니다. 예: 오전 6시.
    • 아침 및 저녁입니다. 예: 저녁 6시.
"entities":
{
"TimeEntity": "T06:00:00+05:30"
}

시간대

시간대입니다. 동부 표준시는 시간대를 GMT로 변환하고 결과 값을 저장합니다. 예: EST를 입력하면 -6:00으로 저장됩니다. 봇 플랫폼은 표준 시간대를 인식합니다.

"entities":
{
"TimeZoneEntity": "-06:00"
}

URL

발화에서 웹 URL을 캡처합니다. 봇은 모든 표준 형식의 URL을 인식합니다. 예: 당사 웹 사이트(www.kore.ai)를 방문하세요. URL 값이 문자열로 반환됩니다.

"entities":
{
"URLEntity": "www.kore.ai"
}

우편번호

사용자 발화에서 미국 우편번호를 캡처합니다. 예: 32746의 날씨는 어떤가요? 우편번호의 값은 32746이며 문자열로 반환됩니다.

"entities":
{
"ZipcodeEntity": "32746"
}
메뉴