IP Library Granted Patent US 12,488,180
Granted Patent B2
US 12,488,180 · App. 17/334,543 · Granted Dec 2, 2025

Systems and methods for generating dialog trees

Inventors: Achraf Abdelmoneim Tawfik Mahmoud Chalabi (Cairo, EG); Michael Zaki Adel Zaki Farag (Alexandria, EG); Sameh Hany Ahmed Abdulrahim (Alexandria, EG); Mohamed Hussein Mohamed Hussein (Zagazig, EG); Ahmed Salaheldin Mohamed Ahmed Mohamed (Giza, EG); Eslam Kamal Abdelreheem (Sammamish, WA); Omar Mohamed Hamed Abouelkhir (Redmond, WA)
Assignee: Microsoft Technology Licensing, LLC
G06F40/205
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,488,180
App. No.
17/334,543
Granted
Dec 2, 2025
Kind
B2
Abstract

A dialog tree generation system is provided, including a processor, and a memory storing instructions that, when executed by the processor, cause the system to receive documents, parse the documents into raw blocks, extract visual design elements from the raw blocks, generate a content structure from the extracted visual design elements, generate at least a dialog decision tree based on the extracted content structure, the dialog decision tree comprising a plurality of nodes organized into a hierarchy, and output the dialog decision tree.

Claims (68)

1 . A dialog tree generation system comprising:

a processor, and a memory storing instructions that, when executed by the processor, cause the dialog tree generation system to:

receive documents;

parse the documents into raw blocks;

extract visual design elements from the raw blocks, the extracted visual design elements including style and geometry properties of the raw blocks;

clustering the raw blocks based on the extracted visual design elements of the raw blocks;

arrange the clustered raw blocks into a hierarchy;

generate a content structure from the clustered raw blocks arranged into the hierarchy;

generate at least a dialog decision tree based on the content structure, the dialog decision tree comprising a plurality of nodes organized into the hierarchy, and levels of the content structure correspond to levels of the dialog decision tree, wherein the dialog decision tree includes a binary type node branch from a node to two topics and an entity based node branching from a node to more than two topics;

output the dialog decision tree;

execute a virtual assistant to execute the dialog decision tree;

receive a user input;

process the user input with the dialog decision tree; and

generate an output based on the executed dialog decision tree, wherein

the style and geometry properties include at least one of font and typographical properties, paragraph alignment, line lengths, column widths, or graphic shapes,

the outputted dialog decision tree is executed by the virtual assistant to thereby present an interactive chat dialog to a user that proceeds according to the dialog decision tree and includes a binary type dialog based on the binary type node branch and an entity based dialog based on the entity based node branching.

2 . The dialog tree generation system of claim 1 , wherein the raw blocks comprise raw text blocks, raw image blocks, and raw shape blocks;

the style and geometry properties of the raw text blocks include color spaces and text dimensions.

3 . The dialog tree generation system of claim 2 , wherein

the style and geometry properties of the raw shape blocks include vector properties; and

the style and geometry properties of the raw image blocks include positions, dimensions, encodings, and color spaces.

4 . The dialog tree generation system of claim 1 , wherein the extracted visual design elements comprise a page layout including at least one of paragraphs, lists, columns, charts, tables, captions, table of contents, or indices.

5 . The dialog tree generation system of claim 4 , wherein the tables are determined by clustering lines of the raw blocks into separate bins and detecting boundaries of the bins or segmenting table columns/rows based on alignment for borderless tables.

6 . The dialog tree generation system of claim 1 , wherein the content structure includes titles, headers, footers, headings, and heading trees.

7 . The dialog tree generation system of claim 1 , wherein the content structure is a hierarchical graph data structure in which nodes are organized in a traversable tree.

8 . The dialog tree generation system of claim 1 , wherein the content structure is annotated with action entities defining actions and generic entities defining key phrases.

9 . The dialog tree generation system of claim 1 , wherein the font and typographical properties include at least one of typeface, letterforms, font size, font family, style, color, orientation, length, contrast, position, spacing, or dimension.

10 . A dialog tree generation method comprising:

receiving documents;

parsing the documents into raw blocks;

extracting visual design elements from the raw blocks, the extracted visual design elements including style and geometry properties of the raw blocks;

clustering the raw blocks based on the extracted visual design elements of the raw blocks;

arranging the clustered raw blocks into a hierarchy;

generating a content structure from the clustered raw blocks arranged into the hierarchy;

generating at least a dialog decision tree based on the content structure, the dialog decision tree comprising a plurality of nodes organized into the hierarchy, and levels of the content structure correspond to levels of the dialog decision tree, wherein the dialog decision tree includes a binary type node branch from a node to two topics and an entity based node branching from a node to more than two topics;

outputting the dialog decision tree;

executing a virtual assistant to execute the dialog decision tree;

receiving a user input;

processing the user input with the dialog decision tree; and

generating an output based on the executed dialog decision tree, wherein

the style and geometry properties include at least one of font and typographical properties, paragraph alignment, line lengths, column widths, or graphic shapes, and

the outputted dialog decision tree is executed by the virtual assistant to thereby present an interactive chat dialog to a user that proceeds according to the dialog decision tree and includes binary type dialog based on the binary type node branch and an entity based dialog based on the entity based node branching.

11 . The dialog tree generation method of claim 10 , wherein

the raw blocks comprise raw text blocks, raw image blocks, and raw shape blocks;

the style and geometry properties of the raw text blocks include color spaces and text dimensions;

the style and geometry properties of the raw shape blocks include vector properties; and

the style and geometry properties of the raw image blocks include positions, dimensions, encodings, and color spaces.

12 . The dialog tree generation method of claim 10 , wherein the extracted visual design elements include a page layout.

13 . The dialog tree generation method of claim 12 , wherein the page layout includes at least one of paragraphs, lists, columns, charts, tables, captions, table of contents, or indices.

14 . The dialog tree generation method of claim 13 , wherein the tables are determined by clustering lines of the raw blocks into separate bins and detecting boundaries of the bins or segmenting table columns/rows based on alignment for borderless tables.

15 . The dialog tree generation method of claim 10 , wherein the content structure includes titles, headers, footers, headings, and heading trees.

16 . The dialog tree generation method of claim 10 , wherein the content structure is a hierarchical graph data structure in which nodes are organized in a traversable tree.

17 . The dialog tree generation method of claim 10 , wherein the content structure is annotated with action entities defining actions and generic entities defining key phrases.

18 . The dialog tree generation method of claim 10 , wherein the font and typographical properties include at least one of typeface, letterforms, font size, font family, style, color, orientation, length, contrast, position, spacing, or dimension.

19 . A computing system comprising:

a processor, and a memory storing instructions that, when executed by the processor, cause the computing system to implement:

a virtual assistant configured to execute a dialog decision tree to thereby present an interactive chat dialog to a user that proceeds according to the dialog decision tree and includes binary type dialog based on a binary type node branch and an entity based dialog based on an entity based node branching, the virtual assistant further configured to receive a user input, process the user input with the dialog decision tree, and generate an output based on the executed dialog decision tree,

wherein the dialog decision tree is generated by a dialog tree generation software system, configured to:

receive documents;

parse the documents into raw text blocks, raw image blocks, and raw shape blocks;

extract visual design elements from the raw text blocks, the extracted visual design elements including style and geometry properties of the raw blocks;

cluster the raw blocks based on the extracted visual design elements of the raw blocks;

arrange the clustered raw blocks into a hierarchy to generate a document layout model;

process the document layout model to generate a document structure model;

annotate the document structure with entities and synonyms;

generate at least the dialog decision tree based on the annotated document structure, the dialog decision tree comprising a plurality of nodes organized into the hierarchy, and levels of the document structure model correspond to levels of the dialog decision tree, wherein the dialog decision tree includes the binary type node branch from a node to two topics and the entity based node branching from a node to more than two topics; and

output the dialog decision tree to a location accessible by the virtual assistant, wherein the style and geometry properties include at least one of font and typographical properties, paragraph alignment, line lengths, column widths, or graphic shapes.

20 . The computing system of claim 19 , wherein the visual design elements of the document layout model are analyzed to generate the document structure model comprising a hierarchical graph data structure in which nodes are organized in a traversable tree, each node representing a dialog.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 9, 2026
From: KAMEL, AYA SHERIEF MAHMOUD; GERGUIS, MICHEL NAIM NAGUIB
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 075947/0444 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 21, 2021
From: CHALABI, ACHRAF ABDELMONEIM TAWFIK MAHMOUD; FARAG, MICHAEL ZAKI ADEL ZAKI; ABDULRAHIM, SAMEH HANY AHMED; HUSSEIN, MOHAMED HUSSEIN MOHAMED; MOHAMED, AHMED SALAHELDIN MOHAMED AHMED; ABDELREHEEM, ESLAM KAMAL; ABOUELKHIR, OMAR MOHAMED HAMED
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 056938/0983 →
Continuity (2)
Provisional Application 63168117 · Mar 30, 2021
Related Publication 20220318497A1 · Oct 6, 2022
References Cited (25)
US 7266222B2 · Harrington et al. · 2007 [cited by applicant]
US 9811515B2 · Allen et al. · 2017 [cited by applicant]
US 10049270B1 · Agarwalla · 2018 [cited by examiner]
US 20050097070A1 · Enis et al. · 2005 [cited by applicant]
US 20050278340A1 · Rehberg et al. · 2005 [cited by applicant]
US 20060242180A1 · Graf · 2006 [cited by examiner]
US 20070027893A1 · Gundy et al. · 2007 [cited by applicant]
US 20070166674A1 · Kochunni et al. · 2007 [cited by applicant]
US 20070250497A1 · Mansfield · 2007 [cited by examiner]
US 20080152238A1 · Sarkar · 2008 [cited by examiner]
US 20090327338A1 · Zhao · 2009 [cited by examiner]
US 20110252315A1 · Misawa · 2011 [cited by examiner]
US 20190028588A1 · Shinseki · 2019 [cited by examiner]
US 20190132264A1 · Jafar Ali · 2019 [cited by examiner]
US 20200334697A1 · BaderEddin · 2020 [cited by examiner]
US 20220300716A1 · Sabharwal · 2022 [cited by examiner]
Chang et al. (2018. RecipeScape: An Interactive Tool for Analyzing Cooking Instructions at Scale. In Proceedings of the 2018 CHI Conference on Human Factors in Computing Systems (CHI '18). Association for Computing Mach… [cited by examiner]
“Building a Document-Based Chatbot”, Retrieved from: https://www.capgemini.com/in-en/2018/03/building-a-document-based-chatbot/, Mar. 5, 2018, 8 Pages. [cited by applicant]
Baharudin, et al., “A Review of Machine Learning Algorithms for Text-Documents Classification”, In Journal of Advances in Information Technology, vol. 1, Issue 1, Feb. 2010, pp. 4-20. [cited by applicant]
Berry, Dina, “Bring the Power of the Public Cloud into Your Data Center”, In White paper of Intel, Nov. 2, 2018, 11 Pages. [cited by applicant]
Luthier, et al., “Chat or Learn: A Data-Driven Robust Question-Answering System”, In Proceedings of the 12th Conference on Language Resources and Evaluation, May 11, 2020, pp. 5474-5480. [cited by applicant]
Rajput, et al., “Best Practices of a QnA Maker Knowledge Base”, Retrieved from: https://docs.microsoft.com/en-us/azure/cognitive-services/qnamaker/concepts/best-practices?tabs=v1, Sep. 11, 2020, 9 Pages. [cited by applicant]
Rajput, et al., “Troubleshooting for QnA Maker”, Retrieved from: https://docs.microsoft.com/en-us/azure/cognitive-services/QnAMaker/troubleshooting?tabs=v1, Sep. 11, 2020, 4 Pages. [cited by applicant]
Thomas, Christian, “Why do my Headphones Sound Bad?”, Retrieved from: https://www.soundguys.com/why-do-my-headphones-suck-troubleshooting-bad-audio-12375/, Mar. 16, 2021, 11 Pages. [cited by applicant]
“International Search Report and Written Opinion Issued in PCT Application No. PCT/US22/019215”, Mailed Date: May 30, 2022, 10 Pages. [cited by applicant]