시작
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. How Tos
  4. Travel Planing Assistant
  5. Travel VA: Build a Knowledge Graph

Travel VA: Build a Knowledge Graph

This article shows you how to build and understand the working of a Knowledge Graph for your Virtual Assistant. It shows how to convert an FAQ into ontology, add tags, use terms, add alternate questions, synonyms, tags, and traits.

For details on the implementation process, please refer here.

Throughout this use case article, we will be building a Knowledge Graph for a Travel Planning Assistant. This article discusses both the basic setup of a Knowledge Graph, but also the solutions at hand for cases of ambiguity.

Static FAQ

Let us start by creating a static FAQ without an ontology.

To add a static FAQ, follow the below steps:

  1. Open the Travel Planning Assistant.
  2. Navigate to Build > Conversational Skills > Knowledge Graph.
  3. Click Create to create a Knowledge Graph.
  4. A Knowledge Graph with the name set to the Bot Name is created.
  5. Click Add Intent to start entering your FAQs.
  6. Select Intent type as FAQ.
  7. Add Question and Bot Response; then click Save.

  8. Click Add Intent on the top-right to add more FAQs.
  9. After you enter all the FAQs, click Train to train the Knowledge Graph.

  10. Click Talk to Bot at the bottom-right to check the response for the added FAQs.

Tags

Tags help filter the FAQs based upon the presence of some key phrases in the user utterance. This helps identify the intent more efficiently and prevents the assistant from providing users with irrelevant responses. We recommend that you add tags to every question, unless you have a large list of FAQs. In this case, you need to create an Ontology (see below for details). To add tags to an FAQ:

  1. Hover over the Question then click the edit (🖉) icon.
  2. In the add tag text box, you can find some suggestions by the Platform based on the phrases present in the question. You can pick one from the list or type your own custom tag.
  3. Train the assistant.
  4. Talk to the Bot, and use an utterance that points to the FAQ you added tags to. Formulate the request in different ways, to find potential tags to add. 

Ontology

For a better response, you must add tags for every question. But this solution is not feasible in case we have a big list of FAQs or questions with common tags. Ontologies help in this situation because they rely on key words and frequently occurring words/phrases to organize FAQs in groups and subgroups. 

Each group can be a node in the ontology. You can have multiple levels of the nodes forming a hierarchical structure. Moving the relevant FAQs (intents) to the nodes will associate that FAQ with the corresponding node name set as a tag.

Here is an example Ontology: 

  1. Reservation
    1. Make
      1. How do I pay for my booking?
    2. Update
      1. How do I update my booking?
    3. Cancel
      1. Can I cancel my reservation?

To create an ontology, follow the below steps:

  1. Hover over the Knowledge Graph name on the left pane and click + icon to Add Child Node. For example, we can add a node for questions related to international travel, and one for reservation related questions.
  2. Add.

  3. To add subgroups, hover over the node and use the corresponding + icon to add child nodes.

  4. Repeat the process for questions related to 
  5. To add questions to your newly created ontology, select them from your list of FAQs, then drag and drop them onto the relevant node. You will notice the path gets updated accordingly.

  6. Edit a question and see that the node name is added as a tag. This ensures that this question is qualified for a user utterance containing the term/node name.

    Note that the tags you added earlier are retained and you can delete them, whereas the node names cannot be deleted from the tags list.

  7. You can further add nodes to your Ontology. The illustration below shows you the Ontology that we will be working with moving forward.

  8. Train the Knowledge Graph and use Talk to Bot.
  9. There should not be any changes in the responses.

Term Usage

By default, the node names or terms are used in evaluating the path and coming up with a set of qualifying questions. You can tighten or relax this rule by either making the term mandatory in the utterance or marking the term/node as organizer respectively.

 

Use Case 1: You want to ensure that the intentions regarding Cancel Reservation must be considered only when the user asked a direct question regarding the topic.

To address this case, we mark the term Cancel  as Mandatory. This helps improve the assistant’s performance.

Steps:

  1. Hover over the node, in this case, cancel, and click on the settings icon.
  2. From the Settings section, select the Mandatory option from the dropdown next to the term name.
  3. Save and Train the Knowledge Collection.
  4. Now the questions under this node are considered only if the user utterance has the node name, cancel in this case.

 

Use Case 2: Consider the following FAQs that need to be added to the Knowledge Graph.

  • Contact
    • Who do I contact in case of an issue?
    • What is your helpline number?
  • Complaints
    • Where can I register my query/complaints?
  • Issues
    • How do I report a problem?

Though they do not have any phrases or terms in common, they are related to Customer Care. For ease of understanding, we can put them under a node by the same name and mark it as Organizer node, ensuring that the intents get qualified without the need to have the term phrase in the user utterance.

Steps:

  1. Create a node called Customer Care.
  2. Create the above three nodes as child nodes to this new node.
  3. Hover over the node, in this case, Customer Care, and click on the settings icon.
  4. From the Settings page, select the Organizer option.
  5. Save and Train the Knowledge Collection.
  6. Now the questions under this node are considered even if the user utterance does not include the node name.

Synonyms

Use Case: If you test the VA for How do I make a booking?, while your Knowledge Graph contains How do I make a reservation? you might get a suggestive match that is not definitive. The reason is that the assistant does not understand booking as being the same as reservation.
Solution: Synonyms

To add synonyms, follow the below steps:

  1. Hover over the reservation node and click the settings icon.
  2. In the Path Level Synonyms, add booking. Path level synonyms are useful in such cases because they apply to all nodes.
  3. Save and Train the VA.
  4. Talk to Bot and use the same query How do I make a booking?
  5. Similarly, we can define Knowledge Graph Synonym if it is applicable to the entire knowledge graph.

Alternate Questions

Some questions have multiple ways the user can approach them.

  • Is there a way to see my reservation details from my laptop?
  • Is there a mobile app that I can use to access my reservation?

Both of these questions pertain to one intent: How do I access my reservation online?. But instead of adding all these Q&As as intents and repeat the response and the settings, if any, you can add these questions as alternate questions.

To add alternate questions, follow the below steps:

  1. Hover over the question, in this case, How do I access my booking online? and click the edit icon.
  2. In the Add alternate question enter the question.
  3. Add the queries mentioned above.

  4. Save, Train, and Talk to the Bot.
  5. Entering any of the above three questions will yield the same response as the question How do I access my reservation online?

Task Execution

Consider the query How do I check my flight status?. If the VA has a task that can give the balance, we can direct the user to it, instead of asking the user to use the utterance to trigger the task.

To trigger a task, follow the below steps:

  1. Before proceeding, ensure that you have a Dialog Task defined for Check Flight Status. Let us consider a dummy dialog that displays a message. Learn more on adding tasks by reading Using the Dialog Builder.
  2. Click Add Intent How do I check my flight status?
  3. Set Intent to Task.

  4. From the drop-down list select the Check Flight Status Dialog Task.
  5. Save and Train the Knowledge Graph.
  6. Talk to bot with the utterance How do I check my flight status? will trigger the Check flight status task.

Ontology Tags 

Use Case: When asking the VA: Does your airline support mobile checkin? the response might be: Did you mean How do I check in online?.

The reason for this might be that: Does your airline support mobile checkin? is a very close match to How do I check in online?. You can avoid such situations by adding a tag (i.e.: mobile)  and marking it as mandatory to the alternate question Does your airline support mobile checkin?.

Solution: Custom Tags

To add tags, follow the below steps:

  1. Edit the question How do I check in online?
  2. For the alternate question: Does your airline support mobile checkin?
    1. Add the tag mobile

    2. Click the tag to open the Tag Settings, then set Tag Usage to Mandatory.
    3. Click Done.
  3. Save and Train the VA.
  4. Now Talk to the Bot and see the response.

Traits

Use Case: I lost my boarding pass, how do I get another boarding pass?

You will get the response for How do I get a boarding pass?

While this is a valid response it is not the right one. Ideally, since the user said I lost my boarding pass, the assistant must direct the user to information that helps them regenerate their boarding pass.

Solution: Traits. Traits are used to get additional information from the user utterance and direct the user to a better solution.

To add traits, follow the below steps:

  1. From the more option next to the Train button, select the Manage Traits option.

    1. Click New Trait to create a New Trait.
    2. Give a Trait Type and add Traits to it. Here, let us consider Issues as Trait Type and lostpass as Trait.
    3. Add lost my boarding pass as the utterance that triggers this trait. (Do not forget to hit enter after you add the utterance).
    4. Save and Train the trait.

  2. Apply Trait
    1. From the ontology, go to the Issues node Settings page.
    2. Add lostpassas Trait (pick from the drop-down list).
    3. Save and Train the Knowledge Graph.
    4. Talk to the Bot and try the same question. Now you will get the expected response.

In this document you have seen various settings for building and managing a Knowledge Graph. For details regarding the implementation and functionality of Knowledge Graph, please refer to this document.

Travel VA: Build a Knowledge Graph

This article shows you how to build and understand the working of a Knowledge Graph for your Virtual Assistant. It shows how to convert an FAQ into ontology, add tags, use terms, add alternate questions, synonyms, tags, and traits.

For details on the implementation process, please refer here.

Throughout this use case article, we will be building a Knowledge Graph for a Travel Planning Assistant. This article discusses both the basic setup of a Knowledge Graph, but also the solutions at hand for cases of ambiguity.

Static FAQ

Let us start by creating a static FAQ without an ontology.

To add a static FAQ, follow the below steps:

  1. Open the Travel Planning Assistant.
  2. Navigate to Build > Conversational Skills > Knowledge Graph.
  3. Click Create to create a Knowledge Graph.
  4. A Knowledge Graph with the name set to the Bot Name is created.
  5. Click Add Intent to start entering your FAQs.
  6. Select Intent type as FAQ.
  7. Add Question and Bot Response; then click Save.

  8. Click Add Intent on the top-right to add more FAQs.
  9. After you enter all the FAQs, click Train to train the Knowledge Graph.

  10. Click Talk to Bot at the bottom-right to check the response for the added FAQs.

Tags

Tags help filter the FAQs based upon the presence of some key phrases in the user utterance. This helps identify the intent more efficiently and prevents the assistant from providing users with irrelevant responses. We recommend that you add tags to every question, unless you have a large list of FAQs. In this case, you need to create an Ontology (see below for details). To add tags to an FAQ:

  1. Hover over the Question then click the edit (🖉) icon.
  2. In the add tag text box, you can find some suggestions by the Platform based on the phrases present in the question. You can pick one from the list or type your own custom tag.
  3. Train the assistant.
  4. Talk to the Bot, and use an utterance that points to the FAQ you added tags to. Formulate the request in different ways, to find potential tags to add. 

Ontology

For a better response, you must add tags for every question. But this solution is not feasible in case we have a big list of FAQs or questions with common tags. Ontologies help in this situation because they rely on key words and frequently occurring words/phrases to organize FAQs in groups and subgroups. 

Each group can be a node in the ontology. You can have multiple levels of the nodes forming a hierarchical structure. Moving the relevant FAQs (intents) to the nodes will associate that FAQ with the corresponding node name set as a tag.

Here is an example Ontology: 

  1. Reservation
    1. Make
      1. How do I pay for my booking?
    2. Update
      1. How do I update my booking?
    3. Cancel
      1. Can I cancel my reservation?

To create an ontology, follow the below steps:

  1. Hover over the Knowledge Graph name on the left pane and click + icon to Add Child Node. For example, we can add a node for questions related to international travel, and one for reservation related questions.
  2. Add.

  3. To add subgroups, hover over the node and use the corresponding + icon to add child nodes.

  4. Repeat the process for questions related to 
  5. To add questions to your newly created ontology, select them from your list of FAQs, then drag and drop them onto the relevant node. You will notice the path gets updated accordingly.

  6. Edit a question and see that the node name is added as a tag. This ensures that this question is qualified for a user utterance containing the term/node name.

    Note that the tags you added earlier are retained and you can delete them, whereas the node names cannot be deleted from the tags list.

  7. You can further add nodes to your Ontology. The illustration below shows you the Ontology that we will be working with moving forward.

  8. Train the Knowledge Graph and use Talk to Bot.
  9. There should not be any changes in the responses.

Term Usage

By default, the node names or terms are used in evaluating the path and coming up with a set of qualifying questions. You can tighten or relax this rule by either making the term mandatory in the utterance or marking the term/node as organizer respectively.

 

Use Case 1: You want to ensure that the intentions regarding Cancel Reservation must be considered only when the user asked a direct question regarding the topic.

To address this case, we mark the term Cancel  as Mandatory. This helps improve the assistant’s performance.

Steps:

  1. Hover over the node, in this case, cancel, and click on the settings icon.
  2. From the Settings section, select the Mandatory option from the dropdown next to the term name.
  3. Save and Train the Knowledge Collection.
  4. Now the questions under this node are considered only if the user utterance has the node name, cancel in this case.

 

Use Case 2: Consider the following FAQs that need to be added to the Knowledge Graph.

  • Contact
    • Who do I contact in case of an issue?
    • What is your helpline number?
  • Complaints
    • Where can I register my query/complaints?
  • Issues
    • How do I report a problem?

Though they do not have any phrases or terms in common, they are related to Customer Care. For ease of understanding, we can put them under a node by the same name and mark it as Organizer node, ensuring that the intents get qualified without the need to have the term phrase in the user utterance.

Steps:

  1. Create a node called Customer Care.
  2. Create the above three nodes as child nodes to this new node.
  3. Hover over the node, in this case, Customer Care, and click on the settings icon.
  4. From the Settings page, select the Organizer option.
  5. Save and Train the Knowledge Collection.
  6. Now the questions under this node are considered even if the user utterance does not include the node name.

Synonyms

Use Case: If you test the VA for How do I make a booking?, while your Knowledge Graph contains How do I make a reservation? you might get a suggestive match that is not definitive. The reason is that the assistant does not understand booking as being the same as reservation.
Solution: Synonyms

To add synonyms, follow the below steps:

  1. Hover over the reservation node and click the settings icon.
  2. In the Path Level Synonyms, add booking. Path level synonyms are useful in such cases because they apply to all nodes.
  3. Save and Train the VA.
  4. Talk to Bot and use the same query How do I make a booking?
  5. Similarly, we can define Knowledge Graph Synonym if it is applicable to the entire knowledge graph.

Alternate Questions

Some questions have multiple ways the user can approach them.

  • Is there a way to see my reservation details from my laptop?
  • Is there a mobile app that I can use to access my reservation?

Both of these questions pertain to one intent: How do I access my reservation online?. But instead of adding all these Q&As as intents and repeat the response and the settings, if any, you can add these questions as alternate questions.

To add alternate questions, follow the below steps:

  1. Hover over the question, in this case, How do I access my booking online? and click the edit icon.
  2. In the Add alternate question enter the question.
  3. Add the queries mentioned above.

  4. Save, Train, and Talk to the Bot.
  5. Entering any of the above three questions will yield the same response as the question How do I access my reservation online?

Task Execution

Consider the query How do I check my flight status?. If the VA has a task that can give the balance, we can direct the user to it, instead of asking the user to use the utterance to trigger the task.

To trigger a task, follow the below steps:

  1. Before proceeding, ensure that you have a Dialog Task defined for Check Flight Status. Let us consider a dummy dialog that displays a message. Learn more on adding tasks by reading Using the Dialog Builder.
  2. Click Add Intent How do I check my flight status?
  3. Set Intent to Task.

  4. From the drop-down list select the Check Flight Status Dialog Task.
  5. Save and Train the Knowledge Graph.
  6. Talk to bot with the utterance How do I check my flight status? will trigger the Check flight status task.

Ontology Tags 

Use Case: When asking the VA: Does your airline support mobile checkin? the response might be: Did you mean How do I check in online?.

The reason for this might be that: Does your airline support mobile checkin? is a very close match to How do I check in online?. You can avoid such situations by adding a tag (i.e.: mobile)  and marking it as mandatory to the alternate question Does your airline support mobile checkin?.

Solution: Custom Tags

To add tags, follow the below steps:

  1. Edit the question How do I check in online?
  2. For the alternate question: Does your airline support mobile checkin?
    1. Add the tag mobile

    2. Click the tag to open the Tag Settings, then set Tag Usage to Mandatory.
    3. Click Done.
  3. Save and Train the VA.
  4. Now Talk to the Bot and see the response.

Traits

Use Case: I lost my boarding pass, how do I get another boarding pass?

You will get the response for How do I get a boarding pass?

While this is a valid response it is not the right one. Ideally, since the user said I lost my boarding pass, the assistant must direct the user to information that helps them regenerate their boarding pass.

Solution: Traits. Traits are used to get additional information from the user utterance and direct the user to a better solution.

To add traits, follow the below steps:

  1. From the more option next to the Train button, select the Manage Traits option.

    1. Click New Trait to create a New Trait.
    2. Give a Trait Type and add Traits to it. Here, let us consider Issues as Trait Type and lostpass as Trait.
    3. Add lost my boarding pass as the utterance that triggers this trait. (Do not forget to hit enter after you add the utterance).
    4. Save and Train the trait.

  2. Apply Trait
    1. From the ontology, go to the Issues node Settings page.
    2. Add lostpassas Trait (pick from the drop-down list).
    3. Save and Train the Knowledge Graph.
    4. Talk to the Bot and try the same question. Now you will get the expected response.

In this document you have seen various settings for building and managing a Knowledge Graph. For details regarding the implementation and functionality of Knowledge Graph, please refer to this document.

메뉴