GETTING STARTED
Kore.ai XO Platform
Virtual Assistants Overview
Natural Language Processing (NLP)
Concepts and Terminology
Quick Start Guide
Accessing the Platform
Working with the Builder
Building a Virtual Assistant
Using Workspaces
Release Notes
Current Version
Previous Versions
Deprecations

CONCEPTS
Design
Storyboard
Dialog Tasks
Overview
Dialog Builder
Node Types
Intent Node
Dialog Node
Entity Node
Form Node
Confirmation Node
Message Nodes
Logic Node
Bot Action Node
Service Node
Webhook Node
Script Node
Group Node
Agent Transfer
User Prompts
Voice Call Properties
Dialog Task Management
Connections & Transitions
Component Transition
Context Object
Event Handlers
Knowledge Graph
Introduction
Knowledge Extraction
Build Knowledge Graph
Add Knowledge Graph to Bot
Create the Graph
Build Knowledge Graph
Add FAQs
Run a Task
Build FAQs from an Existing Source
Traits, Synonyms, and Stop Words
Manage Variable Namespaces
Update
Move Question and Answers Between Nodes
Edit and Delete Terms
Edit Questions and Responses
Knowledge Graph Training
Knowledge Graph Analysis
Knowledge Graph Import and Export
Importing Knowledge Graph
Exporting Knowledge Graph
Creating a Knowledge Graph
From a CSV File
From a JSON file
Auto-Generate Knowledge Graph
Alert Tasks
Small Talk
Digital Skills
Digital Forms
Views
Introduction
Panels
Widgets
Feedback Survey
Train
Introduction
ML Engine
Introduction
Model Validation
FM Engine
KG Engine
Traits Engine
Ranking and Resolver
NLP Configurations
NLP Guidelines
Intelligence
Introduction
Contextual Memory
Contextual Intents
Interruption Management
Multi-intent Detection
Amending Entities
Default Conversations
Sentinment Management
Tone Analysis
Test & Debug
Talk to Bot
Utterence Testing
Batch Testing
Conversation Testing
Deploy
Channels
Publish
Analyze
Introduction
Conversations Dashboard
Performance Dashboard
Custom Dashboards
Introduction
Meta Tags
Dashboards and Widgets
Conversations History
Conversation Flows
Feedback Analytics
NLP Metrics
Containment Metrics
Usage Metrics
Smart Bots
Universal Bots
Introduction
Universal Bot Definition
Universal Bot Creation
Training a Universal Bot
Universal Bot Customizations
Enabling Languages
Store
Manage Assistant
Plan & Usage
Overview
Usage Plans
Support Plans
Invoices
Authorization
Multilingual Virtual Assistants
Masking PII Details
Variables
IVR Settings
General Settings
Assistant Management
Data Table
Table Views
App Definitions
Sharing Data Tables or Views

HOW TOs
Build a Flight Status 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
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
Web SDK Tutorial
Widget SDK Tutorial
Analyze the Assistant
Create a Custom Dashboard
Use Custom Meta Tags in Filters

APIs & SDKs
API Reference
API Introduction
API List
API Collection
koreUtil Libraries
SDK Reference
SDK Introduction
SDK Security
SDK Registration
Web Socket Connect and RTM
Using the BotKit SDK
BotKit SDK Tutorial - Blue Prism

ADMINISTRATION
Introduction
Assistant Admin Console
Administration Dashboard
User Management
Add Users
Manage Groups
Manage Roles
Assistant Management
Enrollment
Invite Users
Send Bulk Invites
Import User Data
Synchronize Users from AD
Security & Compliance
Using Single-Sign On
Security Settings
Cloud Connector
Analytics
Billing
  1. Home
  2. Docs
  3. Virtual Assistants
  4. Builder
  5. Knowledge Graph
  6. Knowledge Extraction10 min read

Knowledge Extraction10 min read

The Knowledge Graph Extraction service enables you to effortlessly move your enterprise’s existing Frequently Asked Questions (FAQ content) into bot Knowledge Graph.

The feature supports the extraction from unstructured content such as web pages and PDF documents as well as from structured content such as CSV files.

After completing the extraction, you can edit the question and answers using an easy-to-use interface and organize them under the relevant Knowledge Graph nodes.

Extraction Process

Moving data using the Knowledge Extraction service to the Knowledge Graph involves the followings steps:

  • Extracting: Extract the existing FAQ content from structured or unstructured sources of question-answer data such as PDF, web pages, and CSV files. This extraction can be done before or after creating a Knowledge Graph for the bot.
    Note: The Knowledge Extraction service supports a specific content structure for each source type. Refer to the Supported formats section for details.
  • Editing: Upon successful data extraction, you can edit the questions and answer text before moving it to the Knowledge Graph.
  • Moving: You can add data into a bot before or after creating a Knowledge Graph (KG). If you try to add the extracted content to a KG before it exists, the bot automatically creates one with the bot’s name.

The Knowledge Extractor allows you to add the extracted content to the Knowledge Graph:

  • Add to Knowledge Graph moves the selected questions to the root node of the Knowledge Graph. You can use this option when the required term is not yet added to the KG or when the bot does not have a Knowledge Graph.
  • Add to Specific Term: If the bot already consists of a Knowledge Graph, you drag-drop the selected content to the required nodes.

Extract from a Website

  1. Open the bot to which you want to extract the content.
  2. Select the Build top menu item.
  3. From the left menu, click Conversational Skills > Knowledge Graph.
  4. Under the Extracts section, click Extract from URL.
  5. Enter a Name for extraction.
  6. Enter the URL of the page, and then click Proceed.
  7. Once the extraction is complete, the page with the success status appears.
  8. Review & Add the relevant questions to your Knowledge Graph, see below for details.

Extract from File

NOTE: File size must not exceed 5MB.

For file format details, refer to the Supported formats section below.

  1. Open the bot to which you want to extract the content.
  2. Select the Build top menu item.
  3. From the left menu, click Conversational Skills > Knowledge Graph.
  4. Under the Extracts section, click Extract from URL.
  5. Click Browse to locate the file (PDF or CSV).
  6. Click Proceed.
  7. For PDF files you have an option to annotate the document before extraction. See below for details.
  8. After the extraction is complete, a page with the success status is displayed.
  9. Review & Add the relevant questions to your Knowledge Graph, see below for details.

Annotate & Extract

(introduced in v8.0)

You might have all the FAQs related to your business in a PDF file but not in the format mandated by the platform. Before v8.0, you can not use such files. But with the introduction of the Annotation tool, you can annotate documents identifying the key sections of the content. The Knowledge Extraction engine uses this information to extract the FAQs from the document.

NOTE: This is applicable only for PDF documents.

  1. Select a new or previously extracted PDF file. Note that you can use a previously extracted file provided no questions from that file are added to the Knowledge Graph.
  2. Click Annotate & Extract (Review & Add option in case of an already extracted file).
  3. The PDF document is loaded into the Annotation Tool allowing you to annotate the various sections in the document.
  4. To annotate, select the text and tag it as follows:
    • Heading tag is used to identify questions. Headings are used to train the model to identify the questions and the content between two consecutive headings are treated as the answer for the preceding heading.
    • Header – Text thus marked is ignored. Text marked as Headers is used to train the model to identify and ignore. Random marking of texts as headers must be avoided as marking text such as footer or paragraphs as the header invalidates the backend ML model, and will not produce the optimal results.
    • Footer – Text thus marked is ignored. Text marked as Footers is used to train the model to identify and ignore. Same as the Header, random marking of texts as footers must be avoided as marking text such as header or paragraphs as the footer invalidates the backend ML model, and will not produce the optimal results.
    • Exclude – This text is not used for extraction.
    • Ignore Page – Pages marked as ignored are not used for extraction.
    • You can Remove Annotation to rectify any incorrect annotations.
  5. The Knowledge Graph Engine uses the headings, headers, and footers in the extraction process. Since the model is trained by the KG Engine, you need not annotate the entire document. You can annotate a couple of pages with headings, headers, and footers, extract and review the questions. If satisfied, you can proceed with adding questions to the Knowledge Graph, else repeat the annotation process till you get satisfactory results.
  6. Additional document information is provided:
    • Document Info – Name, Size, and the Number of Pages of the document.
    • Annotation Summary – Number of annotations marked for each category for the particular page and entire document.
  7. After you annotate, you can Extract the document.
  8. Review Questions tab gives the questions extracted by the KG Engine as per the annotations and training. You can select the ones you want to add to the Knowledge Graph. Drag and drop them to the appropriate node in your Knowledge Graph.
  9. If you are not satisfied with the extracted content, you can always re-annotate the document. Just click on the Annotate tab to return to the annotation tool.
  10. The same procedure mentioned above is followed for re-annotation. The following points need to be kept in mind for re-annotation:
    • You can re-annotate the document provided no questions from this file is added to the Knowledge Graph.
    • In case questions are already added, you can choose to create a copy of the annotated document and work with it. The copy is created will have all the annotations intact.

Edit the Extracted Content

  1. Open the bot.
  2. Select the Build top menu item.
  3. From the left pane, click Conversational Skills > Knowledge Graph.
  4. The Knowledge Extraction section displays the list of all extractions.
  5. Click the name of a successful extract you want to edit.
  6. Hover over the question-answer pair to modify it and click the edit icon.
  7. Make the necessary changes and click Save.

Add the Extracted Content

There are two ways to add the extracted content to the Knowledge Graph.

From the Extracts Section
  1. Open the bot.
  2. Select the Build top menu item.
  3. From the left menu, click Conversational Skills > Knowledge Graph.
  4. From the Knowledge Extraction section, select the name of a successful extract you want to add.
  5. Drag and drop the required Q&A to the node/term you want to add. As you drag and drop, the child nodes will be expanded.
  6. You can select multiple Q&As and perform a bulk move.
From Knowledge Graph
  1. Open the bot.
  2. Select the Build top menu item.
  3. From the left pane, click Conversational Skills > Knowledge Graph.
  4. Select the node you want to add these Question-Answers.
  5. Click Add from Extraction. It opens the list of successful and failed extractions.
  6. Click the name of a successful extract you want to move.
  7. Select the checkboxes next to the question-answer pairs that you want to move and then click Add.

Note: Once you move a question-answer pair from the extract to the knowledge graph, you cannot move it again. The platform throws a duplicate error when you try to move a question from the extract that is already present in the collection. You can make any changes to the moved content from the knowledge graph. However, if the question is modified or removed from the knowledge graph, then the developer is allowed to add it again to the knowledge graph.

Supported Formats

The Knowledge Extraction service supports extracting FAQs only from supported CSV, PDF, and URL formats.

Note that the file size must not exceed 5MB.

CSV
  • The Knowledge Extraction service interprets the text in the first column as a question and that in the second column as an answer.
  • The file must not have any headers.
  • The Knowledge Extraction service ignores any headers and the text present in the other columns.
PDF
  • The Knowledge Extraction service processes the content from a PDF and converts it into question-answer pairs.
  • Documents with the table of contents: Ideally a document with a table of contents is preferred. In such cases, the Knowledge Extraction service extracts the table of contents first and then uses it to parse the document and identify headings. The information present in the table of contents is used to derive the hierarchy of headings (headings, subheadings, sub-sub headings, etc.). These levels are separated by a vertical line as a delimiter (heading | subheading | sub-sub heading) as part of the extraction process.
  • Documents with no table of contents: In such cases, the Knowledge Extraction service uses a pre-trained machine learning model that identifies headings based on either font style or font size. In the case of using font size, the heading hierarchy can also be derived.
  • The text is then formatted with a uniform header and paragraph blocks.
Web Pages

The Knowledge Extraction service supports the following three different formats of FAQ web pages:

  • Plain FAQ pages with linear question-answer pairs.
  • Pages with question hyperlinks that point to answers on the same page.
  • Pages with question hyperlinks that point to answers on a different page.

Extraction of certain FAQs on the webpage fails under the following conditions:

  • The question text is split between multiple HTML tags on the FAQ page.
  • The tag applied to the answer is neither the child nor the sibling of the extracted question as per the HTML DOM structure.
  • The question does not have a hyperlink to the answer (applies to FAQs with hyperlinks).
  • When the questions hyperlink to the answer, but the question statement is not repeated above the answer (applies to FAQs with hyperlinks).

The extraction of the entire FAQ page fails if the page consists of more than one FAQ page types mentioned above.

Menu