IP Library › Granted Patent US 11,409,959
Granted Patent B2
US 11,409,959 · App. 16/526,785 · Granted Aug 9, 2022

Representation learning for tax rule bootstrapping

Inventors: Hrishikesh Ganu (Banglalore, IN); Mithun Ghosh (Bangalore, IN)
Assignee: Intuit Inc.
G06F40/284G06N20/20G06Q40/10
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 11,409,959
App. No.
16/526,785
Granted
Aug 9, 2022
Kind
B2
Abstract

A rule having text is pre-processed by replacing terms with dummy tokens. A first machine learning model (MLM) uses the dummy tokens to generate a dependency graph with nodes related by edges tagged with dependency tags. A second MLM uses the dependency graph to generate a canonical version with node labels. The node labels are sorted into a lexicographic order to form a document. A third MLM uses the document to generate a machine readable vector (MRV) that embeds the document as a sequence of numbers representative of a structure of the rule. The MRV is compared to additional MRVs corresponding to additional rules for which computer useable program code blocks have been generated. A set of MRVs is identified that match the MRV within a range. The set of MRVs correspond to a set of rules from the additional rules. The set of rules is displayed to a user.

Claims (68)

1. A method comprising:

receiving a rule comprising text;

pre-processing the rule by replacing terms in the rule with a plurality of dummy tokens denoting a plurality of entities;

generating, using a first machine learning model which takes the plurality of dummy tokens as input, a dependency graph comprising a rooted tree having a plurality of nodes related by a plurality of edges that are tagged according to a plurality of dependency tags;

generating, using a second machine learning model which takes the dependency graph as input, a canonical version of the dependency graph, wherein the canonical version comprises a canonical graph having a plurality of node labels;

sorting the plurality of node labels into a lexicographic order to form a document;

generating, using a third machine learning model which takes the document as input, a machine readable vector that embeds the document as a sequence of numbers representative of a structure of the rule;

comparing the machine-readable vector to a plurality of additional machine readable vectors, wherein the plurality of additional machine readable vectors corresponds to a plurality of additional rules for which a plurality of computer useable program code blocks has been generated;

identifying a set of machine readable vectors, from the plurality of additional machine readable vectors, that match the machine readable vector within a range, wherein the set of machine readable vectors correspond to a set of rules from the plurality of additional rules; and

displaying the set of rules to a user.

2. The method of claim 1 , further comprising:

displaying, to the user, a group of computer useable program code blocks corresponding to the set of rules.

3. The method of claim 2 , further comprising:

generating new computer useable program code configured to implement the rule in a computer, wherein generating comprises re-using at least some of the group of computer useable program code blocks for the set of rules.

4. The method of claim 1 , wherein comparing comprises:

performing a nearest neighbor retrieval between the machine readable vector and the plurality of additional machine readable vectors over a dimensional space of the machine readable vector.

5. The method of claim 1 , further comprising:

clustering the machine readable vector with the plurality of additional machine readable vectors to form a Voronoi diagram;

calculating a plurality of distances using the Voronoi diagram, wherein each distance represents a similarity of a structure of a rule in the set to a corresponding structure of the rule comprising text;

displaying, to the user, the computer useable program code for the set of rules together with the plurality of distances.

6. The method of claim 1 , wherein the rule comprises a natural language rule, and wherein pre-processing comprises natural language processing.

7. The method of claim 1 , wherein the first machine learning model comprises a natural language processing machine learning model.

8. The method of claim 1 , wherein the second machine learning model comprises a Weisfeiler-Lehman (WL) algorithm, and wherein the generating the canonical version of the dependency graph comprises continuously executing the WL algorithm until all node labels converge.

9. The method of claim 1 , wherein the third machine learning model comprises an unsupervised machine learning model trained to convert the document to the machine readable vector.

10. A system comprising:

a data repository storing a rule, a plurality of dummy tokens representing a plurality of entities in the rule, a dependency graph comprising a rooted tree having a plurality of nodes related by a plurality of edges tagged according to a plurality of dependency tags, a canonical graph having a plurality of node labels, a document formed from the plurality of node labels, a machine readable vector which embeds the document as a sequence of numbers representative of a structure of the rule, and a plurality of additional machine readable vectors representative of a plurality of structures of a plurality of additional rules;

a pre-processing engine configured to pre-process the rule by replacing terms in the rule with the plurality of dummy tokens;

a document generator configured to sort the plurality of node labels into a lexicographic order to form the document; and

a machine learning model execution engine configured to execute:

a first machine learning model which receives as input the plurality of dummy tokens and outputs the dependency graph,

a second machine learning model which receives as input the dependency graph and outputs the canonical graph, and

a third machine learning model which receives as input the document and outputs the machine readable vector;

a comparator configured to:

compare the machine readable vector to the plurality of additional machine readable vectors; and

identify a set of machine readable vectors, from the plurality of additional machine readable vectors, that match the machine readable vector within a range; and

a display device configured to display a set of rules that correspond to the set of machine readable vectors.

11. The system of claim 10 , wherein the data repository further comprises a plurality of computer useable program code blocks corresponding to the plurality of additional rules, and wherein the display device is further configured to display a group of computer useable program code blocks corresponding to the set of rules.

12. The system of claim 11 , further comprising:

a code generator configured to generate new computer useable program code configured to implement the rule in a computer by re-using at least some of the group of computer useable program code blocks for the set of rules.

13. The system of claim 10 wherein:

the first machine learning model comprises a natural language processing machine learning model,

the second machine learning model comprises a Weisfeiler-Lehman (WL) algorithm, and

the third machine learning model comprises an unsupervised machine learning model trained to convert the document to the machine readable vector.

14. A non-transitory computer readable storage medium comprising computer readable program code, the computer readable program code for causing a computer system to:

receive a rule comprising text;

pre-process the rule by replacing terms in the rule with a plurality of dummy tokens denoting a plurality of entities;

generate, using a first machine learning model which takes the plurality of dummy tokens as input, a dependency graph comprising a rooted tree having a plurality of nodes related by a plurality of edges that are tagged according to a plurality of dependency tags;

generate, using a second machine learning model which takes the dependency graph as input, a canonical version of the dependency graph, wherein the canonical version comprises a canonical graph having a plurality of node labels;

sort the plurality of node labels into a lexicographic order to form a document; and

generate, using a third machine learning model which takes the document as input, a machine readable vector that embeds the document as a sequence of numbers representative of a structure of the rule;

compare the machine-readable vector to a plurality of additional machine readable vectors, wherein the plurality of additional machine readable vectors corresponds to a plurality of additional rules for which a plurality of computer useable program code blocks has been generated;

identify a set of machine readable vectors, from the plurality of additional machine readable vectors, that match the machine readable vector within a range, wherein the set of machine readable vectors correspond to a set of rules from the plurality of additional rules; and

display the set of rules to a user.

15. The non-transitory computer readable storage medium of claim 14 , wherein the computer readable program code is further for causing the computer system to:

display, to the user, a group of computer useable program code blocks corresponding to the set of rules.

16. The non-transitory computer readable storage medium of claim 15 , wherein the computer readable program code is further for causing the computer system to:

generate new computer useable program code configured to implement the rule in a computer, wherein generating comprises re-using at least some of the group of computer useable program code blocks for the set of rules.

17. The non-transitory computer readable storage medium of claim 14 , wherein the computer readable program code is further for causing the computer system to:

perform a nearest neighbor retrieval between the machine readable vector and the plurality of additional machine readable vectors over a dimensional space of the machine readable vector.

18. The non-transitory computer readable storage medium of claim 14 , wherein the computer readable program code is further for causing the computer system to:

cluster the machine readable vector with the plurality of additional machine readable vectors to form a Voronoi diagram;

calculate a plurality of distances using the Voronoi diagram, wherein each distance represents a similarity of a structure of a rule in the set to a corresponding structure of the rule comprising text;

display, to the user, the computer useable program code for the set of rules together with the plurality of distances.

19. The non-transitory computer readable storage medium of claim 14 , wherein the rule comprises a natural language rule, and wherein the computer readable program code for pre-processing comprises computer readable program code for performing natural language processing.

20. The non-transitory computer readable storage medium of claim 14 , wherein:

the first machine learning model comprises a natural language processing machine learning model;

the second machine learning model comprises a Weisfeiler-Lehman (WL) algorithm, and wherein the generating the canonical version of the dependency graph comprises continuously executing the WL algorithm until all node labels converge; and

the third machine learning model comprises an unsupervised machine learning model trained to convert the document to the machine readable vector.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 31, 2019
From: GANU, HRISHIKESH; GHOSH, MITHUN
To: INTUIT INC.
Reel/Frame 049922/0551 →
Priority Claims (1)
IN 201921023587 · Jun 14, 2019 · national
Continuity (1)
Related Publication 20200394263A1 · Dec 17, 2020