IP Library Granted Patent US 11,416,956
Granted Patent B2
US 11,416,956 · App. 15/922,725 · Granted Aug 16, 2022

Machine evaluation of contract terms

Inventors: Jamie Wodetzki (Wellesley, MA); Kevin N. Jansz (Thornbury, AU); Evan D. Greensmith (Belgrave, AU); Justin M. Lipton (Gardenvale, AU); Marco Altieri (London, GB)
Assignee: COUPA SOFTWARE INCORPORATED
G06Q50/188G06F15/76G06K9/628G06N5/022G06N5/046G06N20/00G06Q10/10G06V30/1985G06V30/413G06V30/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,416,956
App. No.
15/922,725
Granted
Aug 16, 2022
Kind
B2
Abstract

The present disclosure provides for a method of machine representation and tracking of contract terms over the lifetime of a contract including a step of defining an object model having object model components. Object model components are associated with other object model components where the object model components have object model component types. Further, words of object model components are evaluated to identify whether the words contain one or more core attributes pertaining to details of the contract terms. From the object model components, and the terms they contain, prevailing terms of the contract are evaluated, stored and updated as changes are made to the object model components.

Claims (48)

1. A method of machine recognition and tracking of contract terms over the lifetime of a contract using a machine learning algorithm, the method comprising:

defining an object model containing a structural representation of the events and artefacts through which contracts are created, changed and brought to an end, the object model having at least three object types: contract objects, contract transaction objects and contract document objects;

associating the contract objects with one or more contract transaction objects corresponding to one or more actions taken within the contract, wherein at least one of the contract transaction objects is of one of the following types: Create Transaction, Terminate Transaction, Amend Transaction, Order Transaction, Renew Transaction, Assign Transaction and Novate Transaction;

associating contract document objects containing a corresponding contract document with one or more corresponding contract transaction objects;

accessing a machine learning classifier comprising a plurality of rule sets that classify natural language words and clauses of contracts, the plurality of rule sets having been formed via training the machine learning algorithm by processing documents, clauses, sentences, and phrases from contracts to create the plurality of rule sets, the plurality of rule sets comprising one or more of: document rule sets, contract transaction rule sets, clause classification rule sets, universal contract module rule sets, industry specific rule sets, and customer specific rule sets; transforming documents into a collection of single sentences, assigning a legal classification to the sentences, and assigning a confidence score to the legal classification; presenting sentences with the confidence score below a predetermined threshold for verification, the verification comprising receiving a correction and feeding the correction to the machine learning algorithm;

applying the plurality of rule sets to words of each contract document to identify whether the words contain one or more core attributes pertaining to details of the contract, wherein the one or more core attributes may comprise one or more of legal classifications, subject classifications, party directions, timing contingencies, conditionalities or contextual dependencies;

applying the plurality of rule sets to the words of each contract document containing legal classifications to determine a type of the legal classification, wherein at least one of the types of legal classification is an obligation, a right, a representation, an act or deed, and a definition;

applying the plurality of rule sets to the clauses of each contract document to determine the core attributes and legal classifications contained in the contract document;

linking the identified core attributes and the words of each contract document to an applicable object of the object model;

determining prevailing terms of a first version of the contract by evaluating all child contract transaction objects, and the data contained therein, chronologically to build a single set of terms for storage in the contract object;

updating the single set of terms as those terms are modified by active, chronologically-later contract transaction objects of a second version of the contract;

storing the prevailing terms in the contract object; and

re-performing the determining and storing steps, above, each time that a change is made to a contract transaction object and each time that a new contract transaction object is associated with the contract object.

2. The method of claim 1 wherein the step of determining prevailing terms of the contract by evaluating all child contract transaction objects chronologically to build a single set of terms for storage in the contract object and updating the single set of terms as those terms are modified by active, chronologically-later contract transaction objects comprises:

determining prevailing terms of the contract by:

1) evaluating all child contract transaction objects chronologically to build a single set of terms for storage in the contract object and updating the single set of terms as those terms are modified by active, chronologically-later contract transaction objects; and

2) not evaluating draft contract transaction objects, terminated contract transaction documents, and rescinded contract transaction objects.

3. The method of claim 1 wherein the step of evaluating words of each contract document comprises the step of evaluating sentence pairs of each contract document.

4. The method of claim 1 wherein the step of storing the prevailing terms in the contract object comprises the step of storing the prevailing terms in the contract object in XML format.

5. The method of claim 1 wherein the step of storing the prevailing terms in the contract object comprises the step of storing the prevailing terms in the contract object in JSON format.

6. The method of claim 1 wherein the step of storing the prevailing terms in the contract object comprises the step of storing the prevailing terms in the contract object in a triple store format.

7. The method of claim 1 further comprising the step of calculating a risk score associated with the prevailing terms of the contract.

8. The method of claim 1 further wherein the object types further comprise project objects, user objects, group objects, workflow objects, organization objects, legal entity objects, and product objects.

9. The method of claim 1 wherein the legal classification comprises one of an obligation, a right, a representation, an act, and a definition.

10. The method of claim 1 wherein the step of evaluating words of each contract document to identify whether the words contain one or more core attributes pertaining to details of the contract comprises associating groups of words with data variables having data variable values that identify one or more of legal classifications, subject classifications, party directions, timing contingencies, conditionalities or contextual dependencies of the contract document.

11. A method of machine recognition and tracking of contract terms over the lifetime of a contract using a machine learning algorithm, the method comprising:

defining an object model containing a structural representation of the events and artefacts through which contracts are created, changed and brought to an end, the object model having at least three object types: contract objects, contract transaction objects and contract document objects;

associating the contract objects with one or more contract transaction objects corresponding to one or more actions taken within the contract, wherein at least one of the contract transaction objects is of one of the following types: Create Transaction, Terminate Transaction, Amend Transaction, Order Transaction, Renew Transaction, Assign Transaction and Novate Transaction;

associating contract document objects containing a corresponding contract document with one or more corresponding contract transaction objects;

accessing a machine learning classifier comprising a plurality of rule sets that classify natural language words and clauses of contracts, the plurality of rule sets having been formed via training the machine learning algorithm by processing documents, clauses, sentences, and phrases from contracts to create the plurality of rule sets, the plurality of rule sets comprising one or more of: document rule sets, contract transaction rule sets, clause classification rule sets, universal contract module rule sets, industry specific rule sets, and customer specific rule sets; transforming documents into a collection of single sentences, assigning a legal classification to the sentences, and assigning a confidence score to the legal classification; presenting sentences with the confidence score below a predetermined threshold for verification, the verification comprising receiving a correction and feeding the correction to the machine learning algorithm;

applying the plurality of rule sets to words of each contract document to identify whether the words contain one or more core attributes pertaining to details of the contract, wherein the one or more core attributes may comprise one or more of legal classifications, subject classifications, party directions, timing contingencies, conditionalities or contextual dependencies;

applying the plurality of rule sets to the words of each contract document containing legal classifications to determine a type of the legal classification, wherein at least one of the types of legal classification is an obligation, a right, a representation, an act or deed, and a definition;

applying the plurality of rule sets to the clauses of each contract document to determine the core attributes and legal classifications contained in the contract document;

linking the identified core attributes and the words of each contract document to an applicable object of the object model;

determining prevailing terms of a first version of the contract by:

1) evaluating all child contract transaction objects chronologically to build a single set of terms for storage in the contract object and updating the single set of terms as those terms are modified by active, chronologically-later contract transaction objects of a second version of the contract; and

2) not evaluating draft contract transaction objects, terminated contract transaction documents, and rescinded contract transaction objects;

storing the prevailing terms in the contract object; and

re-performing the determining and storing steps, above, each time that a change is made to a contract transaction object and each time that a new contract transaction object is associated with the contract object.

12. The method of claim 11 wherein at least one of the contract transaction objects is of one of the following types: Create Transaction, Terminate Transaction, Amend Transaction, Order Transaction, Renew Transaction, Assign Transaction, Rescind Transaction and Novate Transaction.

13. The method of claim 11 wherein the step of evaluating words of each contract document comprises the step of evaluating sentence pairs of each contract document.

14. The method of claim 11 wherein the step of storing the prevailing terms in the contract object comprises the step of storing the prevailing terms in the contract object in XML format.

15. The method of claim 11 wherein the step of storing the prevailing terms in the contract object comprises the step of storing the prevailing terms in the contract object in JSON format.

16. The method of claim 11 wherein the step of storing the prevailing terms in the contract object comprises the step of storing the prevailing terms in the contract object in a triple store format.

17. The method of claim 11 further comprising the step of calculating a risk score associated with the prevailing terms of the contract.

18. The method of claim 11 further wherein the object types further comprise project objects, user objects, group objects, workflow objects, organization objects, legal entity objects, and product objects.

19. The method of claim 11 wherein the legal classification comprises one of an obligation, a right, a representation, an act, and a definition.

20. The method of claim 11 wherein the step of evaluating words of each contract document to identify whether the words contain one or more core attributes pertaining to details of the contract comprises associating groups of words with data variables having data variable values that identify one or more of legal classifications, subject classifications, party directions, timing contingencies, conditionalities or contextual dependencies of the contract document.

Assignments (3)
SECURITY INTEREST Recorded Feb 28, 2023
From: COUPA SOFTWARE INCORPORATED; YAPTA, INC.
To: SSLP LENDING, LLC
Reel/Frame 062887/0181 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 7, 2019
From: EXARI GROUP, INC.
To: COUPA SOFTWARE INCORPORATED
Reel/Frame 050954/0067 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 10, 2018
From: WODETZKI, JAMIE; JANSZ, KEVIN N.; GREENSMITH, EVAN D.; LIPTON, JUSTIN M.; ALTIERI, MARCO
To: EXARI GROUP, INC.
Reel/Frame 045491/0659 →