시작
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. Test your Bot
  4. 발화 테스트2 min read

발화 테스트2 min read

봇이 관련 작업으로 사용자 발화에 응답하는지 확인하려면, 다양한 사용자 입력으로 봇을 테스트하는 것이 중요합니다. 예상되는 사용자 입력의 많은 샘플로 봇을 평가하면 봇 응답에 대한 통찰력을 제공할 뿐만 아니라 인간의 다양한 표현을 해석하도록 봇을 학습시킬 수 있는 좋은 기회를 제공합니다. 발화 테스트 모듈에서 봇의 모든 학습 관련 활동을 수행할 수 있습니다. 테스트 및 학습 문서에서 예시로 사용하기 위해 다음 작업으로 구성된 항공편 예약 봇을 사용할 것입니다.

봇 테스트

간단히 말해, 봇 테스트는 봇이 가장 적절한 작업으로 사용자 발화에 응답할 수 있는지 확인하는 것을 의미합니다. 언어의 유연성을 고려할 때, 사용자는 같은 의도를 표현하기 위해 다양한 문구를 사용할 것입니다. 예를 들어, 1월 1일 샌프란시스코에서 로스앤젤레스로 가는 티켓을 변경하고 싶습니다를 다음과 같이 바꿔서 표현할 수 있습니다. 여행 날짜를 변경해 주세요. 1월 1일은 못 갑니다. 요령은 동일한 발화로 이 두 발화를 매핑하도록 봇을 훈련시키거나 예약 수정 작업을 수행하는 것입니다. 따라서, 봇 테스트를 시작하기 위한 첫 번째 단계는 봇 응답을 테스트할 사용자 발화의 대표적인 샘플을 식별하는 것입니다. 지원 채팅 로그, 온라인 커뮤니티, 관련 포털의 FAQ 페이지 등 실제 언어 사용을 반영하는 데이터 소스를 찾습니다.

봇 테스트 방법

봇을 테스트하려면 다음 단계를 따르세요.

  1. 테스트하려는 봇을 엽니다.
  2. 상단 메뉴에서 빌드 탭을 선택합니다.
  3. 왼쪽 메뉴에서 테스트 -> 발화 테스트를 클릭합니다.
  4. 다중 의도 모델의 경우, 발화를 테스트하려는 의도 모델을 선택할 수 있습니다. ML 엔진은 선택된 모델에서만 의도를 감지합니다.
  5. 사용자 발화 입력 필드에, 테스트하려는 발화를 입력합니다. 예: 항공편 예약:
  6. 결과에는 단일 의도, 다중 의도 또는 일치하지 않는 의도가 나타납니다.

테스트 결과 유형

봇에 사용자 발화를 테스트할 때, NLP 엔진은 의도와 일치하는 봇 작업을 찾으려고 시도합니다. NLP 엔진은 기계 학습, 기초 의미 및 Knowledge Graph(봇에 있는 경우) 모델을 통한 하이브리드 접근 방식으로 관련성에 대한 일치 의도의 점수를 매깁니다. 모델은 사용자 발화를 가능한 일치 또는 확실한 일치로 분류합니다.

확실한 일치는 높은 신뢰도 점수를 얻은, 사용자 발화와 완벽하게 일치하는 것으로 간주합니다. 게시된 봇에서 사용자 입력이 단일한 확실한 일치와 일치하면, 봇이 작업을 직접 실행합니다. 발화가 여러 개의 확실한 일치와 일치하는 경우, 최종 사용자가 하나를 선택할 수 있는 옵션으로 전송합니다. 반면에, 가능한 일치는 사용자 입력에 대해 꽤 좋은 점수를 받지만 정확한 일치라고 부를 만큼 확실하다는 생각이 들지 않는 의도입니다. 내부적으로 시스템은 점수에 따라 가능한 일치를 좋은 일치와 확실하지 않은 일치로 추가 분류합니다. 게시된 봇에서 최종 사용자의 발화가 가능한 일치를 생성한 경우, 봇은 이러한 일치를 “이런 뜻이 맞습니까?”라는 제안 형태로 최종 사용자에게 보냅니다. 다음은 사용자 발화 테스트의 가능한 결과입니다.

    • 단일 일치(가능한 또는 확실한): NLP 엔진은 단일 의도 또는 작업과 사용자 발화가 일치하는 것을 찾습니다. 의도는 사용자 발화 필드 아래에 표시됩니다. 발화가 올바른 일치인 경우, 계속해서 다음 발화를 테스트하거나 작업을 학습하여 점수를 향상시킬 수도 있습니다. 발화가 부정확한 일치인 경우, 잘못된 것으로 표시하고 적절한 의도를 선택할 수 있습니다.
    • 다중 일치(가능한, 확실한 또는 둘 다): NLP 엔진은 사용자 발화와 일치하는 다중 의도를 식별합니다. 결과에서, 일치하는 작업의 라디오 버튼을 선택하고 학습합니다.
  • 알 수 없는 의도: 사용자 입력이 연결된 봇의 어떠한 작업과도 일치하지 않습니다. 의도를 선택하고 사용자 발화와 일치하도록 학습합니다.

엔티티 일치

봇을 테스트하는 동안, 일치하는 엔티티가 표시됩니다. 발화의 엔티티는 다음의 순서로 처리됩니다. 처음으로 NER 및 패턴 엔티티 그다음으로 나머지 엔티티. 플랫폼의 릴리스 8.0 이후, 엔티티가 어떻게 일치하는지에 대한 세부 정보와 신뢰도 점수가 표시됩니다. 세부 정보는 다음을 포함합니다.

  • 식별 엔진 – 기계 학습 또는 기초 의미;
  • 학습 유형 – NER, 패턴 학습, 엔티티 이름, 시스템 개념 등에서 일치가 있을 수 있습니다. 패턴 일치의 경우, 행을 클릭하여 같은 세부 정보를 얻습니다.
  • NER 학습을 사용하여 ML 엔진이 식별한 신뢰도 점수(조건부 랜덤 필드가 NER 모델로 선택된 경우에만 해당함)

테스트 결과 분석

사용자 발화를 테스트하는 경우, 일치하는 의도 외에도 NLP 분석 상자가 표시되며, 최종 후보에 오른 의도 및 후보 선정에 사용된 NLP 모델, 상응하는 점수, 최종 우승자에 대한 간략한 개요를 제공합니다. 기초 의미 탭에서는, 최종 후보에 없더라도 모든 의도의 점수를 볼 수 있습니다. 위에서 언급한 대로, Kore.ai NLP 엔진은 기계 학습, 기초 의미 및 Knowledge Graph(있는 경우) 모델을 사용하여 의도를 일치시킵니다. NLP 엔진이 기본 모델 중 하나를 통해 단일의 확실한 일치를 찾은 경우, 해당 작업을 일치하는 의도로 간주합니다. 테스트에서 하나 이상의 확실한 일치가 확인되는 경우, 올바른 의도를 선택할 수 있는 옵션이 주어집니다. 모델이 하나 이상의 가능한 일치를 후보로 선정한 경우, 기초 의미 모델을 사용하여 순위와 해결에 의해 모든 후보 의도의 점수를 다시 채점하여 최종 승자를 결정합니다. 때로는, 여러 가능한 일치가 재채점 후에도 같은 점수를 확보하는데, 이 경우 개발자에게 여러 일치를 제시하여 하나를 선택하도록 합니다. NLP 분석 상자에서 학습 모델의 이름이 있는 탭을 클릭하여 의도 점수를 볼 수 있습니다.

참고: NLP 점수는 절댓값이며 동일한 입력의 다른 작업과 비교할 때에만 사용할 수 있습니다. 작업 점수는 다른 발화에서 비교할 수 없습니다.

각 모델 대화 상자에서, 오른쪽 상단의 아이콘을 클릭하면 해당 엔진에 적용된 설정과 임계값이 표시됩니다.

ML 모델

ML 모델은 사용자 입력을 작업 레이블 및 각 작업의 학습 발화와 일치시키려 합니다. 사용자 입력이 여러 문장으로 구성된 경우, 각 문장은 작업 이름과 작업 발화에 대해 별도로 실행됩니다. 기계 학습 모델 버튼을 클릭하여 NLP 분석의 기계 학습 모델 섹션을 엽니다. 긍정적인 점수를 확보한 작업의 이름만 표시됩니다. 일반적으로, 작업에 추가된 학습 발화의 수가 많을수록, 발견 가능성이 더 높아집니다. 자세한 내용은, 기계 학습을 읽어보세요.

FM 모델

ML 모델 외에도, 봇의 각 작업은 작업 이름 및 동의어, 패턴의 다양한 조합을 포함하는 종합적인 맞춤형 NLP 알고리즘을 사용하여 사용자 입력에 대해 점수가 매겨집니다. Fundamental meaning(FM) 모델 탭에는 봇의 모든 의도에 대한 분석이 표시됩니다. 탭을 클릭하면 각 작업의 점수를 볼 수 있습니다. 처리된 발화를 클릭하면 사용자 발화를 분석하고 처리한 방법을 알 수 있습니다. 릴리스 7.2부터, FM 엔진은 봇의 언어에 따라 두 가지 방식으로 모델을 생성합니다. 접근 방법 1: 독일어 및 프랑스어를 지원합니다. 원어, 보편적인 품사, 의존 관계 및 관련 단어와 관계된 단어 분석 요소가 자세히 설명되어 있습니다. 그 다음, 처리된 각 의도의 점수 구분이 표시됩니다. 스코어링된 의도(일치됨 또는 제거됨)를 선택하면 각 단어에 대한 스코어링 세부 정보가 표시됩니다. 여기에는 발화의 단어, 종속성 파싱에 따라 각 단어에 할당된 점수가 포함됩니다.

접근 방법 2: 위에서 언급된 언어를 제외한 모든 언어를 지원합니다. 원어, 문장에서의 역할 및 처리된 단어(철자 수정의 경우)와 관계된 단어 분석 요소가 자세히 설명되어 있습니다. 그다음, 처리된 각 의도의 점수 구분이 표시됩니다. 스코어링된 의도(일치됨 또는 제거됨)를 선택하면 각 단어에 대한 스코어링 세부 정보가 표시됩니다. 자세한 분류는 아래와 같습니다.

  • 일치된 단어: 작업 이름 또는 작업에 대해 학습된 발화의 단어와 일치하는 사용자 입력에서의 단어 수에 부여된 점수.
  • 단어 범위: 작업 이름, 필드 이름, 발화, 동의어를 포함하여 작업의 전체 단어와 일치하는 단어의 비율에 대해 부여된 점수.
  • 정확한 단어: 동의어가 아닌 정확히 일치하는 단어 수에 대해 부여된 점수.
  • 보너스
    • 문장 구조: 사용자 입력과 일치하는 문장 구조에 대한 보너스.
    • 단어 위치: 문장 내 단어의 위치에 따라 단어에 부여된 점수. 문장의 시작 부분에 있는 개별 단어에 더 높은 선호도가 부여됩니다. 단어가 문장 시작에 가까우면 추가 점수를 받습니다.
    • 순서 보너스: 작업 레이블과 동일한 순서로 된 단어 수에 대한 보너스.
    • 역할 보너스: 일치하는 기본 역할 및 보조 역할(주어/동사/목적어)의 수에 대한 보너스.
    • 확산 보너스: 패턴에서 첫 번째로 일치하는 단어와 마지막으로 일치하는 단어의 위치 차이에 대한 보너스. 차이가 클수록, 점수가 높아집니다.
  • 패널티: 작업 이름 앞에 여러 개의 구문이 있거나 작업 레이블 중간에 접속사가 있는 경우 패널티.

Knowledge Graph

봇이 Knowledge Graph로 구성된 경우, 사용자 발화를 처리하여 용어를 추출하고 Knowledge Graph와 매핑하여 관련 경로를 가져옵니다. 용어 수가 사전 설정된 임계값을 초과하는 모든 경로는 추가 심사를 위해 최종 후보로 등록됩니다. 경로에 100% 용어가 포함되어 있고 유사한 FAQ가 있으면 완벽한 일치로 간주됩니다.

발화가 대화(KG에서 실행에 따른 대화 옵션)를 실행하는 경우, 동일한 것이 일치된 의도 및 일치된 발화로 표시됩니다. 아래 학습 세션에 자세히 설명된 대로 ML 또는 FM 엔진에서 의도에 대해 봇을 추가로 학습시킬 수 있습니다.

여기에서 Knowledge Graph 학습을 자세히 알아보세요.

순위 및 해결

순위 및 해결은 전체 NLP 계산을 통해 최종 승자를 결정합니다. ML 모델 또는 Knowledge Graph 중 하나가 완벽한 일치를 찾을 경우, 순위와 해결은 의도를 다시 스코어링하지 않고 이를 일치된 의도로 표시합니다.

완벽한 일치가 여러 개 있는 경우, 개발자가 선택할 수 있는 옵션으로 제공됩니다. 순위와 해결은 기초 의미 모델을 사용하여 세 가지 모델이 식별한 다른 모든 우수한 일치 및 불확실한 일치의 점수를 재채점합니다. 재채점 후, 의도의 최종 점수가 특정 임계값을 넘는 경우에도 일치로 간주합니다.

순위와 해결 탭을 선택하면 세부 정보가 표시됩니다.   각 일치의 순위와 세부 정보는 일치된 발화를 선택하여 볼 수 있습니다.

봇 언어에 따른 스코어링 모델은 다음과 같습니다.

  • 단어 역할, 문장/단어 위치 및 단어 순서 기반, 또는
  • 종속성 파싱(독일어 및 프랑스어 지원) 기반

세 엔진이 서로 다른 확실한/가능한 일치를 반환할 때, 순위 및 해결에 의한 의도 제거의 기준은 다음과 같습니다.

  • 날짜, 숫자 등 엔티티 값에 따라 일치된 의도는 기계 학습 모델에 의해 제거됩니다.
  • 세 가지 엔진 중 하나로 식별된 모든 가능한 일치는 확실한 일치가 발견되는 경우 제거됩니다.
  • 사용자 발화에서 이전에 또 다른 확실한 일치가 발견되는 경우 확실한 일치는 제거됩니다. 사용자 발화에 두 개의 의도가 포함된 경우입니다. 예를 들어, “항공편 예약 후 택시 예약”은 “항공편 예약” 및 “택시 예약”과 일치하지만 “택시 예약”은 “항공편 예약” 이후 제거됩니다.
  • 확실한 의도 일치 다음에 나오는 의도 패턴 일치는 제거됩니다. 예를 들어, “이메일 전송 작업 생성”의 사용자 발화는 “작업 생성” 및 “이메일 전송”의 의도와 일치하지만, 이 경우 “이메일 전송”은 “작업 생성” 의도 다음에 나왔으므로 제거됩니다.
  • 임계값 및 설정 섹션에서 설정된 최솟값 점수 미만의 점수를 받은 의도는 제거됩니다.
  • 네거티브 패턴과 일치하는 확실한 일치.
  • 정의된 경우, 사전 조건이 충족되지 않는 의도는 제거됩니다.
  • 확실한 일치가 Knowledge Graph 엔진에서 답변에서 검색에서 나왔으며 다른 일치된 의도가 있습니다.

봇 학습시키기

학습은 NLP 엔진의 성능을 향상하여 사용자 입력에 따라 다른 것보다 봇 작업 또는 사용자 의도를 우선시하는 방법입니다. 봇을 테스트하고, 필요한 경우, 가능한 모든 사용자 발화에 대해 봇을 학습시켜야 합니다.

봇 학습

  1. 사용자 발화를 입력한 후, 테스트 결과에 따라 다음 중 하나를 수행하여 학습 옵션을 엽니다.
    • 일치하지 않은 의도의 경우: 의도 선택 드롭다운 목록에서, 사용자 발화와 일치시킬 의도를 선택합니다.
    • 일치하는 의도가 여러 개인 경우: 일치시킬 의도의 라디오 버튼을 선택합니다.
    • 일치하는 의도가 하나인 경우: 일치하는 의도의 이름을 클릭합니다.
  2. 입력한 사용자 발화는 ML 발화 섹션 아래의 필드에 표시됩니다. 의도에 발화를 추가하려면, 저장을 클릭합니다. 원하는 만큼 차례대로 발화를 추가할 수 있습니다. 자세한 내용은, 기계 학습을 읽어보세요.
  3. 의도 동의어 섹션에서, 작업 이름의 각 단어는 별도의 라인 항목으로 나타납니다. NLP 인터프리터의 정확도를 최적화하여 올바른 작업을 인식하기 위한 단어의 동의어를 입력합니다. 자세한 내용은, 동의어 관리하기를 읽어보세요.
  4. 의도 패턴 섹션에서, 의도의 작업 패턴을 입력합니다. 자세한 내용은, 패턴 관리하기를 읽어보세요.
  5. 관련 학습 항목 입력을 모두 완료한 경우, 발화 재실행을 클릭하여 의도 점수가 개선되어 높은 신뢰도 점수를 얻었는지 확인합니다.

FAQ로 학습

봇이 FAQ로 사용자 발화에 응답하도록 하려면, 다음 두 가지 방법을 수행합니다.

  • FAQ 페이지에서 용어, 용어 설정 또는 클래스를 설정하고, KG를 학습시킨 후 발화를 다시 테스트합니다.
  • 대체 질문의 형태로 발화를 Knowledge Graph 페이지에서 선택한 FAQ에 추가하고, KG를 학습시킨 후 발화를 다시 테스트합니다.

Knowledge Graph 학습을 자세히 알아보세요.

잘못된 일치 표시

사용자 입력이 잘못된 작업과 일치하는 경우, 다음 작업을 수행하여 올바른 의도와 일치시킵니다.

  1. 일치된 의도 이름 위에서, 잘못된 일치로 표시 링크를 클릭합니다.
  2. 일치된 의도 드롭다운 목록이 열리고 다른 의도를 선택합니다.
  3. 사용자 입력에 해당하는 의도를 선택하고 봇을 훈련시킵니다.
메뉴