Chatbot Overview
Conversational Bots
Intents & Entities
Intelligent Bots
Kore.ai's Approach
Kore.ai Conversational Platform
Bot Concepts and Terminology
Natural Language Processing (NLP)
Bot Types
Bot Tasks
Starting with Kore.ai Platform
How to Access Bot Builder
Working with Kore.ai Bot Builder
Building your first Bot
Getting Started with Building Bots
Using the Dialog Builder Tool
Creating a Simple Bot
Release Notes
Latest Updates
Older Releases
Deprecations
Bot Builder
Creating a Bot
Design
Develop
Storyboard
Dialog Task
User Intent Node
Dialog Node
Entity Node
Supported Entity Types
Composite Entities
Supported Colors
Supported Company Names
Form Node
Logic Node
Message Nodes
Confirmation Nodes
Service Node
Custom Authentication
2-way SSL for Service nodes
Script Node
Agent Transfer Node
WebHook Node
Grouping Nodes
Connections & Transitions
Managing Dialogs
User Prompts
Alert Tasks
Alert Tasks
Ignore Words and Field Memory
Digital Forms
Digital Views
Knowledge Graph
Terminology
Building
Generation
Importing and Exporting
Analysis
Knowledge Extraction
Small Talk
Action & Information Task
Action Tasks
Information Tasks
Establishing Flows
Natural Language
Overview
Machine Learning
Model Validation
Fundamental Meaning
NLP Settings and Guidelines
Knowledge Graph Training
Traits
Ranking and Resolver
NLP Detection
Advanced NLP Configurations
Bot Intelligence
Overview
Context Management
Session and Context Variables
Context Object
Dialog Management
Sub-Intents & Follow-up Intents
Amend Entity
Multi-Intent Detection
Sentiment Management
Tone Analysis
Sentiment Management
Default Conversations
Default Standard Responses
Channel Enablement
Test & Debug
Talk to Bot
Utterance Testing
Batch Testing
Record Conversations
Publishing your Bot
Analyzing your Bot
Overview
Dashboard
Custom Dashboard
Conversation Flows
Bot Metrics
Advanced Topics
Bot Authorization
Language Management
Collaborative Development
IVR Integration
Data Table
Universal Bots
Defining
Creating
Training
Customizing
Enabling Languages
Smart Bots
Defining
Sample Bots
Github
Asana
Travel Planning
Flight Search
Event Based Bot Actions
koreUtil Libraries
Bot Settings
Bot Functions
General Settings
PII Settings
Customizing Error Messages
Manage Sessions
Bot Management
Bot Versioning
Using Bot Variables
API Guide
API Overview
API List
API Collection
SDKs
SDK Overview
SDK Security
SDK App Registration
Web SDK Tutorial
Message Formatting and Templates
Mobile SDK Push Notification
Widget SDK Tutorial
Widget SDK – Message Formatting and Templates
Web Socket Connect & RTM
Using the BotKit SDK
Installing
Configuring
Events
Functions
BotKit SDK Tutorial – Agent Transfer
BotKit SDK Tutorial – Flight Search Sample Bot
Using an External NLP Engine
Bot Administration
Bots Admin Console
Dashboard
User Management
Managing Users
Managing Groups
Managing Role
Bots Management
Enrollment
Inviting Users
Bulk Invites
Importing Users
Synchronizing Users from AD
Security & Compliance
Using Single Sign-On
Security Settings
Cloud Connector
Analytics
Billing
How Tos
Creating a Simple Bot
Creating a Banking Bot
Transfer Funds Task
Update Balance Task
Context Switching
Using Traits
Schedule a Smart Alert
Configure Digital Forms
Add Form Data into Data Tables
Configuring Digital Views
Add Data to Data Tables
Update Data in Data Tables
Custom Dashboard
Custom Tags to filter Bot Metrics
Patterns for Intents & Entities
Build Knowledge Graph
Using nlMeta
Global Variables
Content Variables
Using Bot Functions
Configure Agent Transfer
  1. Home
  2. Docs
  3. Bots
  4. Bot Building
  5. Knowledge Graph
  6. Knowledge Extraction

Knowledge Extraction

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. On the left pane, click Bot Tasks > Knowledge Graph tab.
  3. Under the Extracts section, click Extract from URL.
  4. Enter a Name for extraction.
  5. Enter the URL of the page, and then click Proceed.
  6. Once the extraction is complete, the page with the success status appears.

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. On the left pane, click Bot Tasks > Knowledge Graph tab.
  3. Under the Extracts section, click Extract from URL.
  4. Click Browse to locate the file (PDF or CSV).
  5. Click Proceed.
  6. For PDF files you have an option to annotate the document before extraction. See below for details.
  7. After the extraction is complete, a page with the success status is displayed.

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. On the left pane, click Bot Tasks > Knowledge Graph tab.
  3. The Knowledge Extraction section displays the list of all extractions.
  4. Click the name of a successful extract you want to edit.
  5. Hover over the question-answer pair to modify it and click the edit icon.
  6. 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. On the left pane, click Bot Tasks > Knowledge Graph tab.
  3. From the Knowledge Extraction section, select the name of a successful extract you want to add.
  4. 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.
  5. You can select multiple Q&As and perform a bulk move.
From Knowledge Graph
  1. Open the bot.
  2. On the left pane, click Bot Tasks > Knowledge Graph tab.
  3. Select the node you want to add these Question-Answers.
  4. Click Add from Extraction. It opens the list of successful and failed extractions.
  5. Click the name of a successful extract you want to move.
  6. 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