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 File
NOTE: File size must not exceed 5MB.
For file format details, refer to the Supported formats section below.
- Open the bot to which you want to extract the content.
- Select the Build top menu item.
- From the left menu, click Conversational Skills > Knowledge Graph.
- Under the Extracts section, click Extract from URL.
- Click Browse to locate the file (PDF or CSV).
- Click Proceed.
- For PDF files you have an option to annotate the document before extraction. See below for details.
- After the extraction is complete, a page with the success status is displayed.
- Review & Add the relevant questions to your Knowledge Graph, see below for details.
(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.
- 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.
- Click Annotate & Extract (Review & Add option in case of an already extracted file).
- The PDF document is loaded into the Annotation Tool allowing you to annotate the various sections in the document.
- 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.
- 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.
- 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.
- After you annotate, you can Extract the document.
- 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.
- 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.
- 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.
Add the Extracted Content
There are two ways to add the extracted content to the Knowledge Graph.
From the Extracts Section
- Open the bot.
- Select the Build top menu item.
- From the left menu, click Conversational Skills > Knowledge Graph.
- From the Knowledge Extraction section, select the name of a successful extract you want to add.
- 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.
- You can select multiple Q&As and perform a bulk move.
From Knowledge Graph
- Open the bot.
- Select the Build top menu item.
- From the left pane, click Conversational Skills > Knowledge Graph.
- Select the node you want to add these Question-Answers.
- Click Add from Extraction. It opens the list of successful and failed extractions.
- Click the name of a successful extract you want to move.
- 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.