시작
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. Test your Bot
  4. Batch Testing
  5. 배치 테스트하기

배치 테스트하기

봇을 구축하고 학습시킨 후, 가장 중요한 질문은여러분의 봇의 학습 모델은 얼마나 좋을것인가입니다. 따라서, 봇의 성능을 평가하는 것은 봇이 사용자의 발화를 얼마나 잘 이해하는지 설명하는 데 중요합니다. 배치 테스트 기능을 사용하면 봇이 주어진 발화 세트에서 예상되는 의도와 엔티티를 올바르게 인식하는 능력이 있는지 식별하는 데 도움이 됩니다. 여기에는 일련의 테스트를 수행하여 자세한 통계 분석을 얻고 봇의 ML 모델 성능을 측정하는 과정이 포함됩니다. 배치 테스트를 수행하려면, 빌더에서 사용할 수 있는 사전 정의된 테스트 스위트를 사용하거나 사용자 정의 테스트 스위트를 만들 수 있습니다. 요구 사항에 따라, 테스트 스위트를 실행하여 원하는 결과를 볼 수 있습니다. 이 옵션은 빌드 탭에서 왼쪽 메뉴의 테스트 -> 배치 테스트 옵션에서 액세스할 수 있습니다.

테스트 스위트 관리하기

Kore.ai는 배치 테스트 수행을 위해 즉시 사용할 수 있는 테스트 스위트를 몇 가지 제공합니다. ‘개발자가 정의한 발화’ 및 ‘성공적인 사용자 발화’는 배치 테스트 수행을 위해 실행할 수 있는 내장된 테스트 스위트입니다. 사용자 정의 발화 세트를 테스트하기 위해 새 테스트 스위트를 만들 수도 있습니다.

개발자가 정의한 발화

이 테스트 스위트는 기계 학습 발화 화면에서 개발자가 이전에 추가하고 학습시킨 발화를 검증합니다. 이 테스트 스위트를 사용한다는 것은 개발자가 봇의 모든 작업에 대해 추가한 전체 발화 세트를 총체적으로 테스트하는 것을 의미합니다.

성공적인 사용자 발화

이 테스트 스위트에는 의도가 성공적으로 일치한 모든 사용자 발화가 포함되어 있으며 해당 작업은 완전히 실행됩니다. 또한, 분석 모듈의 '발견된 의도' 섹션에서 이러한 발화를 찾을 수 있습니다.

새 테스트 스위트 추가하기

새 테스트 스위트를 사용하면 배치 파일에서 한 번에 일괄적으로 테스트 발화의 배열(데이터 세트라고도 함)을 가져올 수 있습니다. 데이터 세트 파일은 CSV 또는 JSON 형식으로 작성해야 하며 최대 10,000개의 발화를 포함할 수 있습니다. 새 테스트 스위트 옵션을 사용하여 테스트 스위트 생성의 일부로 샘플 CSV 또는 JSON 파일 형식을 다운로드할 수 있습니다. 테스트 스위트용 JSON 형식 사용자 정의 스위트 생성을 위해 JSON 형식을 사용하면 테스트 사례 배열(각 테스트 사례는 테스트할 발화, 발화와 비교해 테스트할 의도로 구성되어야 함)을 정의할 수 있으며, 선택적으로 발화에서 결정될 예상 엔티티 목록을 정의할 수 있습니다. 예상되는 의도가 하위 의도인 경우, 고려할 부모 의도를 포함할 수도 있습니다.

  • 다중 항목이 활성화된 엔티티의 경우, 값을 다음과 같이 지정해야 합니다. entity1||entity2
  • 복합 엔티티에는 다음 형식의 값이 필요합니다. component1name:entityValue|component2name:entityValue2
  • 엔티티를 추출하는 순서는 다음과 같이 지정할 수 있습니다. "entityOrder":["TransferAmount", "PayeeName"]. 순서가 제공되지 않거나 부분적으로 제공된 경우, 플랫폼은 모든 엔티티를 포괄하는 최단 경로를 기본 순서로 결정합니다.
속성 이름 유형 설명
테스트 케이스 배열

다음과 같이 구성됩니다.

  • input
  • intent
  • parentIntent
input 문자열 최종 사용자 발화. 배치 테스트에서 발화가 3,000자를 초과하는 경우 배치 테스트 업로드는 실패합니다.
intent 문자열 최종 사용자 발화의 목적을 결정(FAQ 테스트 사례의 경우 작업 이름 또는 주요 질문이 될 수 있음) 이 속성은 접두사 "특성" 을 사용하여 이 발화에 대해 식별할 특성을 정의하는 데 사용할 수 있습니다. 예: 특성: 특성 이름1|| 특성 이름2||특성 이름3 이 속성은 예상되는 스몰 토크 패턴을 포함할 수 있습니다.
parentIntent 문자열[옵션] 의도가 하위 의도인 경우 고려할 부모 의도를 정의합니다. 스몰 토크의 경우, 이 필드는 스몰 토크가 문맥적 후속 의도일 때 채워져야 합니다. 다단계 문맥적 의도인 경우, 부모 의도를 구분자 ||로 구분해야 합니다.
entities 배열[옵션]

입력 문장에서 결정될 엔티티 배열로 구성됩니다.

  • entityValue
  • entityName
entityValue 문자열 발화에서 결정될 것으로 예상되는 엔티티의 값입니다. 예상되는 엔티티 값을 문자열로 정의하거나 정규 표현식을 사용할 수 있습니다. 배치 테스트를 위해, 플랫폼은 모든 엔티티 값을 문자열 형식으로 평탄화합니다. 자세한 내용은 엔티티 형식 변환을 참조하세요.
entityName 문자열 발화에서 결정될 것으로 예상되는 엔티티의 이름
entityOrder 배열[옵션] 엔티티가 추출되는 순서를 지정하는 엔티티 이름의 배열입니다. 순서가 제공되지 않거나 부분적으로 제공된 경우, 플랫폼은 모든 엔티티를 포괄하는 최단 경로를 기본 순서로 결정합니다.

  테스트 스위트용 CSV 형식 사용자 정의 스위트 생성을 위해 CSV 형식을 사용하면 테스트 케이스를 CSV의 레코드로 정의할 수 있으며(각 테스트 케이스는 테스트할 발화, 발화와 비교해 테스트할 의도로 구성되어야 함), 선택적으로 발화에서 결정될 엔티티를 정의할 수 있습니다. 테스트 사례에서 한 문장에서 추출할 엔티티가 하나 이상 필요한 경우, 탐지될 추가 엔티티 각각에 대한 추가 행을 포함해야 합니다. 예상되는 의도가 하위 의도인 경우, 고려할 부모 의도를 포함할 수도 있습니다.  

  • 다중 항목이 활성화된 엔티티의 경우 값을 다음과 같이 지정해야 합니다. entity1||entity2
  • 복합 엔티티에는 다음 형식의 값이 필요합니다. component1name:entityValue|component2name:entityValue2
  • 엔티티 값의 추출 순서는 다음 형식으로 참조할 수 있습니다. entity3>entity4>entity1. 순서가 제공되지 않거나 부분적으로 제공된 경우, 플랫폼은 모든 엔티티를 포괄하는 최단 경로를 기본 순서로 결정합니다.
열 이름 유형 설명
input 문자열 최종 사용자가 제공한 발화입니다. 배치 테스트에서 발화가 3,000자를 초과하는 경우 배치 테스트 업로드는 실패합니다.
intent 문자열 최종 사용자 발화의 목적을 결정(FAQ 테스트 사례의 경우 작업 이름 또는 주요 질문이 될 수 있음) 이 속성은 접두사 "특성" 을 사용하여 이 발화에 대해 식별할 특성을 정의하는 데 사용할 수 있습니다. 예: 특성: 특성 이름1|| 특성 이름2||특성 이름3 이 속성은 예상되는 스몰 토크 패턴을 포함할 수 있습니다.
parentIntent 문자열[옵션] 의도가 하위 의도인 경우 고려될 상위 의도를 정의합니다. 스몰 토크의 경우, 이 필드는 스몰 토크가 문맥적 후속 의도일 때 채워져야 하며 후속 의도 조건이 충족된다고 가정할 때 의도가 일치할 것입니다. 다단계 문맥적 의도의 경우 부모 의도는 구분자 ||로 구분해야 합니다
entityValue 문자열[옵션] 발화에서 결정될 것으로 예상되는 엔티티의 값입니다. 예상되는 엔티티 값을 문자열로 정의하거나 정규 표현식을 사용할 수 있습니다. 배치 테스트를 위해, 플랫폼은 모든 엔티티 값을 문자열 형식으로 평탄화합니다. 자세한 내용은 엔티티 형식 변환을 참조하세요.
entityName 문자열[옵션] 발화에서 결정될 것으로 예상되는 엔티티의 이름
entityOrder 배열[옵션] 엔티티가 추출되는 순서를 지정하는 >로 구분된 엔티티 이름의 배열입니다. 순서가 제공되지 않거나 부분적으로 제공된 경우, 플랫폼은 먼저 NER을 처리하고 패턴 엔티티를 처리한 다음 나머지 엔티티를 처리하는 암시적 순서를 정의합니다.

엔티티 형식 변환

엔티티 유형 샘플 엔티티 값 유형 Flat 형식의 값 키 순서
주소 P.O. Box 3700 Eureka, CA 95502 P.O. Box 3700 Eureka, CA 95502
공항 { "IATA": "IAD", "AirportName": "Washington Dulles International Airport", "City": "Washington D.C.", "CityLocal": "Washington", "ICAO": "KIAD", "Latitude": "38.94", "Longitude": "-77.46" } Washington Dulles International Airport IAD KIAD 38.94 -77.46 Washington D.C. Washington AirportName IATA ICAO Latitude Longitude City CityLocal
도시 Washington Washington
국가 { "alpha3": "IND", "alpha2": "IN", "localName": "India", "shortName": "India", "numericalCode": 356} IN IND 356 India India alpha2 alpha3 numericalCode localName shortName
회사 또는 조직 이름 Kore.ai Kore.ai
색상 Blue Blue
통화 [{ "code": "USD", "amount": 10 }] 10 USD 금액 코드
날짜 2018-10-25 2018-10-25
날짜 기간 { "fromDate": "2018-11-01", "toDate": "2018-11-30" } 2018-11-01 2018-11-30 fromDate toDate
날짜 시간 2018-10-24T13:03:03+05:30 2018-10-24T13:03:03+05:30
설명 샘플 설명 샘플 설명
이메일 user1@emaildomain.com user1@emaildomain.com
항목 목록(열거됨) Apple Apple
항목 목록(조회) Apple Apple
위치 { "formatted_address": "8529 Southpark Cir #100, Orlando, FL 32819, USA", "lat": 28.439148,"lng": -81.423733 } 8529 Southpark Cir #100, Orlando, FL 32819, USA 28.439148 -81.423733 formatted_address lat lng
숫자 100 100
사람 이름 Peter Pan Peter Pan
백분율 0.25 0.25
전화번호 +914042528888 +914042528888
수량 { "unit": "meter", "amount": 16093.4, "type": "length", "source": "10 miles" } 16093.4 미터 길이 10 마일 amount unit type source
문자열 샘플 문자열 샘플 문자열
시간 T13:15:55+05:30 T13:15:55+05:30
시간대 -04:00 -04:00
URL https://kore.ai https://kore.ai
우편번호 32819 32819

데이터 세트 파일 가져오기

  1. 배치 테스트 페이지에서 새 테스트 스위트를 클릭합니다. 데이터 세트를 가져오기 위한 대화 상자가 나타납니다.
  2. 이름, 설명을 입력하고, 데이터 세트 파일의 각 상자에서 데이터 세트 유형을 선택합니다.
  3. 데이터 세트 파일을 가져오려면, 파일 선택을 클릭하고 선택한 데이터 세트 유형에 따라 발화가 포함된 JSON 또는 CSV 파일을 찾아 선택합니다.
  4. 생성을 클릭합니다. 데이터 세트 파일이 배치 테스트 페이지에서 테스트 스위트를 실행할 수 있는 옵션으로 나타납니다.

테스트 스위트 실행하기

다음 단계에서는 봇에서 배치 테스트를 실행하는 방법과 테스트 결과를 기반으로 발화에 대한 자세한 분석 보고서를 얻는 방법을 안내합니다. 시작하려면, 빌더의 테스트 섹션에서 배치 테스트를 클릭합니다.

참고: 테스트하기 전에, 봇을 추가하고 기계 학습을 사용하여 상당히 많은 발화로 봇을 학습시키는 것이 필수입니다.
테스트 스위트(예: 개발자가 정의한 발화)를 실행하려면, 개발자가 정의한 발화테스트 스위트 실행을 차례로 클릭합니다. 그러면 개발자가 정의한 발화의 배치 테스트가 시작됩니다. 개발 중 또는 게시된 버전의 봇에 대해 테스트 스위트를 실행할 수 있습니다.

테스트는 아래에 설명된 대로 결과를 표시합니다. 각 테스트를 실행하면 테스트 보고서 기록이 생성되며 테스트 결과의 요약이 표시됩니다. 아래 스크린샷의 배치 테스트 결과에는 다음 정보가 포함됩니다.

  • 마지막 실행 날짜 및 시간은 마지막으로 테스트를 실행한 날짜와 시간을 표시합니다.
  • F1 점수는 정밀도와 재현율의 가중 평균입니다. 즉, (2*정밀도*재현율)/(정밀도+재현율).
  • 정밀도는 올바르게 분류된 발화의 수를 기존 작업으로 (정확하게 또는 부정확하게) 분류한 발화의 수로 나눈 것입니다. 즉, 모든 분류된 긍정에 대한 참 긍정의 비율(참 긍정 및 긍정 오류의 합), TP/(TP+FP).
  • 재현율은 올바르게 분류된 발화의 수를 기존 작업으로 올바르게 분류한 발화의 총수 또는 기존 작업의 부재로 부정확하게 분류한 발화의 총수로 나눈 것입니다. 즉, 실제 일치 의도/작업에 대한 올바르게 분류된 발화의 비율(참 긍정 및 긍정 오류의 합), TP/(TP+FN).
  • 의도 성공률(%)은 테스트 결과 올바르게 인식한 의도의 비율을 표시합니다.
  • 엔티티 성공률(%)은 테스트 결과 올바르게 인식한 엔티티의 비율을 표시합니다.
  • 버전 유형은 테스트 스위트가 실행된 개발 또는 게시된 봇 버전을 식별합니다.
  • 각 테스트 실행에서 가능한 세 가지 결과는 다음과 같습니다.
    1. 성공 – 파일에 있는 모든 레코드가 처리될 때
    2. 경고와 함께 성공 – 스위트에 있는 하나 이상의 레코드가 시스템 오류로 인해 탐지에서 삭제될 때
    3. 실패 – 시스템 오류가 발생하여 복구 후 재개할 수 없을 때.

    경고/오류 아이콘 위에 마우스를 올리면 이유를 암시하는 메시지가 표시됩니다.

테스트 실행에 대한 자세한 분석을 얻으려면, 다운로드 아이콘을 클릭하여 CSV 형식의 테스트 보고서를 다운로드하세요. 필요한 경우 테스트 결과를 삭제할 수 있습니다. 보고서의 상단 섹션은 다음 필드가 있는 요약으로 구성됩니다.

  • 봇 이름
  • 테스트 스위트의 보고서 이름
  • 봇 언어(7.3 릴리스 이후)
  • 실행 유형은 테스트 스위트가 실행된 개발 또는 게시된 봇 버전을 식별합니다.
  • 임계값 설정(7.3 릴리스 이후) 이 테스트 스위트를 실행할 때 적용된 NLP 임계값을 상세히 설명하며, 그다음에는 세 가지의 NL 엔진 각각에 대한 설정이 세부 정보와 함께 표시됩니다.
    • Mode – ml, faq, 또는, cs
    • minThreshold
    • maxThreshold
    • exactMatchThreshold
    • isActive
    • taskMatchTolerance
    • wordCoverage
    • suggestionsCount
    • pathCoverage
  • 마지막으로 테스트됨: 개발자가 정의한 발화에 대한 최신 테스트 실행 날짜입니다.
  • 발화 수: 테스트 실행에 포함된 총발화 수입니다.
  • 성공/실패 비율: 성공적으로 예측한 총발화 수를 총발화 수로 나눈 값에 100을 곱한 값입니다.
  • 참 긍정(TP): 예상된 의도와 올바르게 일치하는 발화의 비율입니다. 스몰 토크의 경우, 예상된 의도와 실제 의도의 목록이 동일할 때일 것입니다. 특성의 경우, 예상되는 일치 이상으로 일치된 특성을 포함합니다.
  • 참 부정(TN): 의도와 일치할 것으로 예상하지 않았고 일치하지 않은 발화의 비율입니다. 스몰 토크에는 적용되지 않습니다.
  • 긍정 오류(FP): 예상하지 않은 의도와 일치하는 발화의 비율입니다. 스몰 토크의 경우, 예상된 의도와 실제 의도의 목록이 다를 때일 것입니다.
  • 부정 오류(FN): 예상된 의도가 일치하지 않은 발화의 비율입니다. 스몰 토크의 경우, 예상되는 스몰토크 의도 항목이 비어 있지만 실제 스몰 토크가 의도에 매핑될 때입니다.

또한, 보고서는 각 테스트 발화와 해당 결과에 대한 자세한 결과를 제공합니다.

  • 발화 – 해당 테스트 스위트에서 사용된 발화입니다.
  • 예상된 의도 – 주어진 발화에 대해 일치할 것으로 예상된 의도는 해당되는 경우 특성 접두사가 있는 특성을 포함합니다
  • 일치된 의도 – 배치 테스트 중 발화에 대해 일치하는 의도입니다. 특성 접두사가 있는 일치하는 특성을 포함합니다(7.3 릴리스 이후). 일치하는 스몰 토크 의도를 포함합니다(8.0 릴리스 이후).
  • 부모 의도 – 발화를 의도에 일치시키기 위해 고려되는 부모 의도입니다.
  • 작업 상태 – 의도 또는 의도가 식별되는 작업의 상태입니다. 가능한 값에는 구성됨 또는 게시됨이 포함됩니다
  • 결과 유형 – 참 긍정 또는 참 부정, 긍정 오류, 부정 오류로 분류된 결과
  • 엔티티 이름 – 발화에서 감지된 엔티티의 이름입니다.
  • 예상되는 엔티티 값 – 배치 테스트 중 결정될 것으로 예상되는 엔티티 값입니다.
  • 일치하는 엔티티 값 – 발화에서 식별된 엔티티 값입니다.
  • 엔티티 결과 – 예상되는 엔티티 값이 실제 엔티티 값과 동일한지 여부를 나타내기 위한 참 또는 긍정으로 분류된 결과입니다.
  • 예상되는 엔티티 순서 – 입력 파일의 엔티티 값
  • 실제 엔티티 순서
    • 모든 예상되는 엔티티 순서가 제공된 경우, 동일하게 이 열에 포함됩니다
    • 순서가 제공되지 않은 경우, 시스템이 결정한 순서로 열에 포함됩니다.
    • 일부 엔티티의 순서가 제공된 경우, 사용자 정의 순서와 시스템이 정의한 순서의 조합이 포함됩니다
  • 일치된 의도 점수 – 긍정 오류 및 부정 오류의 경우, FM, ML 및/또는 KG 엔진으로부터 발화에서 일치한 의도의 신뢰도 점수가 표시됩니다. 점수는 엔진이 의도를 감지한 경우에만 부여되므로 항상 세 엔진 모두에서 점수가 표시되지 않을 수 있습니다.
  • 예상된 의도 점수 – 긍정 오류의 경우, 주어진 발화에 대해 일치할 것으로 예상된 의도의 신뢰도 점수가 부여됩니다. 이번에도 엔진은 의도를 감지하여 점수를 부여합니다.
팁: 배치 테스트의 경우, 봇이 올바른 의도를 인식할 수 없는 것으로 나타나면 발화를 기계 학습 모델에 추가하거나 수정하여 성능을 개선할 수 있습니다.

중요 사항:

  • 봇 NLP 학습에 대한 최적의 접근 방법은 먼저 봇이 식별해야 하는 대부분의 사용 사례(사용자 발화)의 테스트 스위트를 만들고, 모델에 대해 실행하고 실패한 사례에 대한 학습을 시작하는 것입니다.
  • 사용 빈도가 높은 발화를 대상으로 하는 배치 테스트 모듈을 생성/업데이트하세요.
  • 상세 테스트를 거친 후에만 학습된 모델을 게시하세요.
  • 의도 이름을 지정할 때, 이름은 비교적 짧게(3~5단어)하고 특수 문자나 불용어 단어 목록의 단어가 없도록 하세요. 의도 이름이 사용자 발화에서 사용자가 요청하는 내용과 비슷하도록 하세요.
  • 배치 테스트 실행은 사용자의 컨텍스트를 고려하지 않습니다. 따라서, 컨텍스트를 고려할 때 실제 봇에서 참 긍정인 테스트 결과에서 부정 오류가 일부 확인될 수 있습니다.

배치 테스트하기

봇을 구축하고 학습시킨 후, 가장 중요한 질문은여러분의 봇의 학습 모델은 얼마나 좋을것인가입니다. 따라서, 봇의 성능을 평가하는 것은 봇이 사용자의 발화를 얼마나 잘 이해하는지 설명하는 데 중요합니다. 배치 테스트 기능을 사용하면 봇이 주어진 발화 세트에서 예상되는 의도와 엔티티를 올바르게 인식하는 능력이 있는지 식별하는 데 도움이 됩니다. 여기에는 일련의 테스트를 수행하여 자세한 통계 분석을 얻고 봇의 ML 모델 성능을 측정하는 과정이 포함됩니다. 배치 테스트를 수행하려면, 빌더에서 사용할 수 있는 사전 정의된 테스트 스위트를 사용하거나 사용자 정의 테스트 스위트를 만들 수 있습니다. 요구 사항에 따라, 테스트 스위트를 실행하여 원하는 결과를 볼 수 있습니다. 이 옵션은 빌드 탭에서 왼쪽 메뉴의 테스트 -> 배치 테스트 옵션에서 액세스할 수 있습니다.

테스트 스위트 관리하기

Kore.ai는 배치 테스트 수행을 위해 즉시 사용할 수 있는 테스트 스위트를 몇 가지 제공합니다. ‘개발자가 정의한 발화’ 및 ‘성공적인 사용자 발화’는 배치 테스트 수행을 위해 실행할 수 있는 내장된 테스트 스위트입니다. 사용자 정의 발화 세트를 테스트하기 위해 새 테스트 스위트를 만들 수도 있습니다.

개발자가 정의한 발화

이 테스트 스위트는 기계 학습 발화 화면에서 개발자가 이전에 추가하고 학습시킨 발화를 검증합니다. 이 테스트 스위트를 사용한다는 것은 개발자가 봇의 모든 작업에 대해 추가한 전체 발화 세트를 총체적으로 테스트하는 것을 의미합니다.

성공적인 사용자 발화

이 테스트 스위트에는 의도가 성공적으로 일치한 모든 사용자 발화가 포함되어 있으며 해당 작업은 완전히 실행됩니다. 또한, 분석 모듈의 '발견된 의도' 섹션에서 이러한 발화를 찾을 수 있습니다.

새 테스트 스위트 추가하기

새 테스트 스위트를 사용하면 배치 파일에서 한 번에 일괄적으로 테스트 발화의 배열(데이터 세트라고도 함)을 가져올 수 있습니다. 데이터 세트 파일은 CSV 또는 JSON 형식으로 작성해야 하며 최대 10,000개의 발화를 포함할 수 있습니다. 새 테스트 스위트 옵션을 사용하여 테스트 스위트 생성의 일부로 샘플 CSV 또는 JSON 파일 형식을 다운로드할 수 있습니다. 테스트 스위트용 JSON 형식 사용자 정의 스위트 생성을 위해 JSON 형식을 사용하면 테스트 사례 배열(각 테스트 사례는 테스트할 발화, 발화와 비교해 테스트할 의도로 구성되어야 함)을 정의할 수 있으며, 선택적으로 발화에서 결정될 예상 엔티티 목록을 정의할 수 있습니다. 예상되는 의도가 하위 의도인 경우, 고려할 부모 의도를 포함할 수도 있습니다.

  • 다중 항목이 활성화된 엔티티의 경우, 값을 다음과 같이 지정해야 합니다. entity1||entity2
  • 복합 엔티티에는 다음 형식의 값이 필요합니다. component1name:entityValue|component2name:entityValue2
  • 엔티티를 추출하는 순서는 다음과 같이 지정할 수 있습니다. "entityOrder":["TransferAmount", "PayeeName"]. 순서가 제공되지 않거나 부분적으로 제공된 경우, 플랫폼은 모든 엔티티를 포괄하는 최단 경로를 기본 순서로 결정합니다.
속성 이름 유형 설명
테스트 케이스 배열

다음과 같이 구성됩니다.

  • input
  • intent
  • parentIntent
input 문자열 최종 사용자 발화. 배치 테스트에서 발화가 3,000자를 초과하는 경우 배치 테스트 업로드는 실패합니다.
intent 문자열 최종 사용자 발화의 목적을 결정(FAQ 테스트 사례의 경우 작업 이름 또는 주요 질문이 될 수 있음) 이 속성은 접두사 "특성" 을 사용하여 이 발화에 대해 식별할 특성을 정의하는 데 사용할 수 있습니다. 예: 특성: 특성 이름1|| 특성 이름2||특성 이름3 이 속성은 예상되는 스몰 토크 패턴을 포함할 수 있습니다.
parentIntent 문자열[옵션] 의도가 하위 의도인 경우 고려할 부모 의도를 정의합니다. 스몰 토크의 경우, 이 필드는 스몰 토크가 문맥적 후속 의도일 때 채워져야 합니다. 다단계 문맥적 의도인 경우, 부모 의도를 구분자 ||로 구분해야 합니다.
entities 배열[옵션]

입력 문장에서 결정될 엔티티 배열로 구성됩니다.

  • entityValue
  • entityName
entityValue 문자열 발화에서 결정될 것으로 예상되는 엔티티의 값입니다. 예상되는 엔티티 값을 문자열로 정의하거나 정규 표현식을 사용할 수 있습니다. 배치 테스트를 위해, 플랫폼은 모든 엔티티 값을 문자열 형식으로 평탄화합니다. 자세한 내용은 엔티티 형식 변환을 참조하세요.
entityName 문자열 발화에서 결정될 것으로 예상되는 엔티티의 이름
entityOrder 배열[옵션] 엔티티가 추출되는 순서를 지정하는 엔티티 이름의 배열입니다. 순서가 제공되지 않거나 부분적으로 제공된 경우, 플랫폼은 모든 엔티티를 포괄하는 최단 경로를 기본 순서로 결정합니다.

  테스트 스위트용 CSV 형식 사용자 정의 스위트 생성을 위해 CSV 형식을 사용하면 테스트 케이스를 CSV의 레코드로 정의할 수 있으며(각 테스트 케이스는 테스트할 발화, 발화와 비교해 테스트할 의도로 구성되어야 함), 선택적으로 발화에서 결정될 엔티티를 정의할 수 있습니다. 테스트 사례에서 한 문장에서 추출할 엔티티가 하나 이상 필요한 경우, 탐지될 추가 엔티티 각각에 대한 추가 행을 포함해야 합니다. 예상되는 의도가 하위 의도인 경우, 고려할 부모 의도를 포함할 수도 있습니다.  

  • 다중 항목이 활성화된 엔티티의 경우 값을 다음과 같이 지정해야 합니다. entity1||entity2
  • 복합 엔티티에는 다음 형식의 값이 필요합니다. component1name:entityValue|component2name:entityValue2
  • 엔티티 값의 추출 순서는 다음 형식으로 참조할 수 있습니다. entity3>entity4>entity1. 순서가 제공되지 않거나 부분적으로 제공된 경우, 플랫폼은 모든 엔티티를 포괄하는 최단 경로를 기본 순서로 결정합니다.
열 이름 유형 설명
input 문자열 최종 사용자가 제공한 발화입니다. 배치 테스트에서 발화가 3,000자를 초과하는 경우 배치 테스트 업로드는 실패합니다.
intent 문자열 최종 사용자 발화의 목적을 결정(FAQ 테스트 사례의 경우 작업 이름 또는 주요 질문이 될 수 있음) 이 속성은 접두사 "특성" 을 사용하여 이 발화에 대해 식별할 특성을 정의하는 데 사용할 수 있습니다. 예: 특성: 특성 이름1|| 특성 이름2||특성 이름3 이 속성은 예상되는 스몰 토크 패턴을 포함할 수 있습니다.
parentIntent 문자열[옵션] 의도가 하위 의도인 경우 고려될 상위 의도를 정의합니다. 스몰 토크의 경우, 이 필드는 스몰 토크가 문맥적 후속 의도일 때 채워져야 하며 후속 의도 조건이 충족된다고 가정할 때 의도가 일치할 것입니다. 다단계 문맥적 의도의 경우 부모 의도는 구분자 ||로 구분해야 합니다
entityValue 문자열[옵션] 발화에서 결정될 것으로 예상되는 엔티티의 값입니다. 예상되는 엔티티 값을 문자열로 정의하거나 정규 표현식을 사용할 수 있습니다. 배치 테스트를 위해, 플랫폼은 모든 엔티티 값을 문자열 형식으로 평탄화합니다. 자세한 내용은 엔티티 형식 변환을 참조하세요.
entityName 문자열[옵션] 발화에서 결정될 것으로 예상되는 엔티티의 이름
entityOrder 배열[옵션] 엔티티가 추출되는 순서를 지정하는 >로 구분된 엔티티 이름의 배열입니다. 순서가 제공되지 않거나 부분적으로 제공된 경우, 플랫폼은 먼저 NER을 처리하고 패턴 엔티티를 처리한 다음 나머지 엔티티를 처리하는 암시적 순서를 정의합니다.

엔티티 형식 변환

엔티티 유형 샘플 엔티티 값 유형 Flat 형식의 값 키 순서
주소 P.O. Box 3700 Eureka, CA 95502 P.O. Box 3700 Eureka, CA 95502
공항 { "IATA": "IAD", "AirportName": "Washington Dulles International Airport", "City": "Washington D.C.", "CityLocal": "Washington", "ICAO": "KIAD", "Latitude": "38.94", "Longitude": "-77.46" } Washington Dulles International Airport IAD KIAD 38.94 -77.46 Washington D.C. Washington AirportName IATA ICAO Latitude Longitude City CityLocal
도시 Washington Washington
국가 { "alpha3": "IND", "alpha2": "IN", "localName": "India", "shortName": "India", "numericalCode": 356} IN IND 356 India India alpha2 alpha3 numericalCode localName shortName
회사 또는 조직 이름 Kore.ai Kore.ai
색상 Blue Blue
통화 [{ "code": "USD", "amount": 10 }] 10 USD 금액 코드
날짜 2018-10-25 2018-10-25
날짜 기간 { "fromDate": "2018-11-01", "toDate": "2018-11-30" } 2018-11-01 2018-11-30 fromDate toDate
날짜 시간 2018-10-24T13:03:03+05:30 2018-10-24T13:03:03+05:30
설명 샘플 설명 샘플 설명
이메일 user1@emaildomain.com user1@emaildomain.com
항목 목록(열거됨) Apple Apple
항목 목록(조회) Apple Apple
위치 { "formatted_address": "8529 Southpark Cir #100, Orlando, FL 32819, USA", "lat": 28.439148,"lng": -81.423733 } 8529 Southpark Cir #100, Orlando, FL 32819, USA 28.439148 -81.423733 formatted_address lat lng
숫자 100 100
사람 이름 Peter Pan Peter Pan
백분율 0.25 0.25
전화번호 +914042528888 +914042528888
수량 { "unit": "meter", "amount": 16093.4, "type": "length", "source": "10 miles" } 16093.4 미터 길이 10 마일 amount unit type source
문자열 샘플 문자열 샘플 문자열
시간 T13:15:55+05:30 T13:15:55+05:30
시간대 -04:00 -04:00
URL https://kore.ai https://kore.ai
우편번호 32819 32819

데이터 세트 파일 가져오기

  1. 배치 테스트 페이지에서 새 테스트 스위트를 클릭합니다. 데이터 세트를 가져오기 위한 대화 상자가 나타납니다.
  2. 이름, 설명을 입력하고, 데이터 세트 파일의 각 상자에서 데이터 세트 유형을 선택합니다.
  3. 데이터 세트 파일을 가져오려면, 파일 선택을 클릭하고 선택한 데이터 세트 유형에 따라 발화가 포함된 JSON 또는 CSV 파일을 찾아 선택합니다.
  4. 생성을 클릭합니다. 데이터 세트 파일이 배치 테스트 페이지에서 테스트 스위트를 실행할 수 있는 옵션으로 나타납니다.

테스트 스위트 실행하기

다음 단계에서는 봇에서 배치 테스트를 실행하는 방법과 테스트 결과를 기반으로 발화에 대한 자세한 분석 보고서를 얻는 방법을 안내합니다. 시작하려면, 빌더의 테스트 섹션에서 배치 테스트를 클릭합니다.

참고: 테스트하기 전에, 봇을 추가하고 기계 학습을 사용하여 상당히 많은 발화로 봇을 학습시키는 것이 필수입니다.
테스트 스위트(예: 개발자가 정의한 발화)를 실행하려면, 개발자가 정의한 발화테스트 스위트 실행을 차례로 클릭합니다. 그러면 개발자가 정의한 발화의 배치 테스트가 시작됩니다. 개발 중 또는 게시된 버전의 봇에 대해 테스트 스위트를 실행할 수 있습니다.

테스트는 아래에 설명된 대로 결과를 표시합니다. 각 테스트를 실행하면 테스트 보고서 기록이 생성되며 테스트 결과의 요약이 표시됩니다. 아래 스크린샷의 배치 테스트 결과에는 다음 정보가 포함됩니다.

  • 마지막 실행 날짜 및 시간은 마지막으로 테스트를 실행한 날짜와 시간을 표시합니다.
  • F1 점수는 정밀도와 재현율의 가중 평균입니다. 즉, (2*정밀도*재현율)/(정밀도+재현율).
  • 정밀도는 올바르게 분류된 발화의 수를 기존 작업으로 (정확하게 또는 부정확하게) 분류한 발화의 수로 나눈 것입니다. 즉, 모든 분류된 긍정에 대한 참 긍정의 비율(참 긍정 및 긍정 오류의 합), TP/(TP+FP).
  • 재현율은 올바르게 분류된 발화의 수를 기존 작업으로 올바르게 분류한 발화의 총수 또는 기존 작업의 부재로 부정확하게 분류한 발화의 총수로 나눈 것입니다. 즉, 실제 일치 의도/작업에 대한 올바르게 분류된 발화의 비율(참 긍정 및 긍정 오류의 합), TP/(TP+FN).
  • 의도 성공률(%)은 테스트 결과 올바르게 인식한 의도의 비율을 표시합니다.
  • 엔티티 성공률(%)은 테스트 결과 올바르게 인식한 엔티티의 비율을 표시합니다.
  • 버전 유형은 테스트 스위트가 실행된 개발 또는 게시된 봇 버전을 식별합니다.
  • 각 테스트 실행에서 가능한 세 가지 결과는 다음과 같습니다.
    1. 성공 – 파일에 있는 모든 레코드가 처리될 때
    2. 경고와 함께 성공 – 스위트에 있는 하나 이상의 레코드가 시스템 오류로 인해 탐지에서 삭제될 때
    3. 실패 – 시스템 오류가 발생하여 복구 후 재개할 수 없을 때.

    경고/오류 아이콘 위에 마우스를 올리면 이유를 암시하는 메시지가 표시됩니다.

테스트 실행에 대한 자세한 분석을 얻으려면, 다운로드 아이콘을 클릭하여 CSV 형식의 테스트 보고서를 다운로드하세요. 필요한 경우 테스트 결과를 삭제할 수 있습니다. 보고서의 상단 섹션은 다음 필드가 있는 요약으로 구성됩니다.

  • 봇 이름
  • 테스트 스위트의 보고서 이름
  • 봇 언어(7.3 릴리스 이후)
  • 실행 유형은 테스트 스위트가 실행된 개발 또는 게시된 봇 버전을 식별합니다.
  • 임계값 설정(7.3 릴리스 이후) 이 테스트 스위트를 실행할 때 적용된 NLP 임계값을 상세히 설명하며, 그다음에는 세 가지의 NL 엔진 각각에 대한 설정이 세부 정보와 함께 표시됩니다.
    • Mode – ml, faq, 또는, cs
    • minThreshold
    • maxThreshold
    • exactMatchThreshold
    • isActive
    • taskMatchTolerance
    • wordCoverage
    • suggestionsCount
    • pathCoverage
  • 마지막으로 테스트됨: 개발자가 정의한 발화에 대한 최신 테스트 실행 날짜입니다.
  • 발화 수: 테스트 실행에 포함된 총발화 수입니다.
  • 성공/실패 비율: 성공적으로 예측한 총발화 수를 총발화 수로 나눈 값에 100을 곱한 값입니다.
  • 참 긍정(TP): 예상된 의도와 올바르게 일치하는 발화의 비율입니다. 스몰 토크의 경우, 예상된 의도와 실제 의도의 목록이 동일할 때일 것입니다. 특성의 경우, 예상되는 일치 이상으로 일치된 특성을 포함합니다.
  • 참 부정(TN): 의도와 일치할 것으로 예상하지 않았고 일치하지 않은 발화의 비율입니다. 스몰 토크에는 적용되지 않습니다.
  • 긍정 오류(FP): 예상하지 않은 의도와 일치하는 발화의 비율입니다. 스몰 토크의 경우, 예상된 의도와 실제 의도의 목록이 다를 때일 것입니다.
  • 부정 오류(FN): 예상된 의도가 일치하지 않은 발화의 비율입니다. 스몰 토크의 경우, 예상되는 스몰토크 의도 항목이 비어 있지만 실제 스몰 토크가 의도에 매핑될 때입니다.

또한, 보고서는 각 테스트 발화와 해당 결과에 대한 자세한 결과를 제공합니다.

  • 발화 – 해당 테스트 스위트에서 사용된 발화입니다.
  • 예상된 의도 – 주어진 발화에 대해 일치할 것으로 예상된 의도는 해당되는 경우 특성 접두사가 있는 특성을 포함합니다
  • 일치된 의도 – 배치 테스트 중 발화에 대해 일치하는 의도입니다. 특성 접두사가 있는 일치하는 특성을 포함합니다(7.3 릴리스 이후). 일치하는 스몰 토크 의도를 포함합니다(8.0 릴리스 이후).
  • 부모 의도 – 발화를 의도에 일치시키기 위해 고려되는 부모 의도입니다.
  • 작업 상태 – 의도 또는 의도가 식별되는 작업의 상태입니다. 가능한 값에는 구성됨 또는 게시됨이 포함됩니다
  • 결과 유형 – 참 긍정 또는 참 부정, 긍정 오류, 부정 오류로 분류된 결과
  • 엔티티 이름 – 발화에서 감지된 엔티티의 이름입니다.
  • 예상되는 엔티티 값 – 배치 테스트 중 결정될 것으로 예상되는 엔티티 값입니다.
  • 일치하는 엔티티 값 – 발화에서 식별된 엔티티 값입니다.
  • 엔티티 결과 – 예상되는 엔티티 값이 실제 엔티티 값과 동일한지 여부를 나타내기 위한 참 또는 긍정으로 분류된 결과입니다.
  • 예상되는 엔티티 순서 – 입력 파일의 엔티티 값
  • 실제 엔티티 순서
    • 모든 예상되는 엔티티 순서가 제공된 경우, 동일하게 이 열에 포함됩니다
    • 순서가 제공되지 않은 경우, 시스템이 결정한 순서로 열에 포함됩니다.
    • 일부 엔티티의 순서가 제공된 경우, 사용자 정의 순서와 시스템이 정의한 순서의 조합이 포함됩니다
  • 일치된 의도 점수 – 긍정 오류 및 부정 오류의 경우, FM, ML 및/또는 KG 엔진으로부터 발화에서 일치한 의도의 신뢰도 점수가 표시됩니다. 점수는 엔진이 의도를 감지한 경우에만 부여되므로 항상 세 엔진 모두에서 점수가 표시되지 않을 수 있습니다.
  • 예상된 의도 점수 – 긍정 오류의 경우, 주어진 발화에 대해 일치할 것으로 예상된 의도의 신뢰도 점수가 부여됩니다. 이번에도 엔진은 의도를 감지하여 점수를 부여합니다.
팁: 배치 테스트의 경우, 봇이 올바른 의도를 인식할 수 없는 것으로 나타나면 발화를 기계 학습 모델에 추가하거나 수정하여 성능을 개선할 수 있습니다.

중요 사항:

  • 봇 NLP 학습에 대한 최적의 접근 방법은 먼저 봇이 식별해야 하는 대부분의 사용 사례(사용자 발화)의 테스트 스위트를 만들고, 모델에 대해 실행하고 실패한 사례에 대한 학습을 시작하는 것입니다.
  • 사용 빈도가 높은 발화를 대상으로 하는 배치 테스트 모듈을 생성/업데이트하세요.
  • 상세 테스트를 거친 후에만 학습된 모델을 게시하세요.
  • 의도 이름을 지정할 때, 이름은 비교적 짧게(3~5단어)하고 특수 문자나 불용어 단어 목록의 단어가 없도록 하세요. 의도 이름이 사용자 발화에서 사용자가 요청하는 내용과 비슷하도록 하세요.
  • 배치 테스트 실행은 사용자의 컨텍스트를 고려하지 않습니다. 따라서, 컨텍스트를 고려할 때 실제 봇에서 참 긍정인 테스트 결과에서 부정 오류가 일부 확인될 수 있습니다.
메뉴