IP Library Granted Patent US 12,174,916
Granted Patent B2
US 12,174,916 · App. 17/383,537 · Granted Dec 24, 2024

Method and apparatus for contract analysis

Inventors: Noam Kalush (Be'er Sheva, IL); Anat Parush Tzur (Be'er Sheva, IL); Idan Richman Goshen (Be'er Sheva, IL); Lisa Woo (Arcadia, CA); Emer Fitzpatrick (Celbridge, IE); Skye Jones (Georgetown, TX); Balaji Dhamodharan (Round Rock, TX); Christopher Schneider (Vlamao, BR); Daniel Coutinho (Fortaleza, BR); Joao Adalino Lopes de Moraes, Jr. (Guaiba, BR); Guilherme Toralles Darley (Porto Alegre, BR); Eder Soares (Eusebio, BR); Lidiane Silva (Fortaleza, BR); Amihai Savir (Sansana, IL); Carlos Augusto Barra (Indaiatuba, BR); Eder Crespo (Novo Hamburgo, BR)
Assignee: EMC IP Holding Company LLC
G06F18/22G06F18/23G06F40/205G06Q50/188G06V30/416
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,174,916
App. No.
17/383,537
Granted
Dec 24, 2024
Kind
B2
Abstract

A method is provided comprising: obtaining a counterparty contract, the counterparty contract including a contract that is being proposed by a counterparty to a user; performing a segmentation of the counterparty contract to identify a plurality of sentence clusters, each of the sentence clusters corresponding to a different provision in the counterparty contract; generating a plurality of counterparty provision vectors based on the counterparty contract, each of the counterparty provision vectors being generated based on a different one of the plurality of sentence clusters; retrieving a user provision vector, the user provision vector corresponding to a user provision; calculating a plurality of similarity scores for the user provision vector; detecting whether the plurality of similarity scores satisfies a condition that is associated with the user provision; and outputting a notification associated with the user provision when the condition is satisfied.

Claims (41)

1. A method, comprising:

obtaining, by a contract analyzer that is executed on a computing device, a counterparty contract, the counterparty contract including a contract that is being proposed by a counterparty to a user;

performing, by the contract analyzer, a segmentation of the counterparty contract to generate a plurality of sentence clusters, each of the plurality of sentence clusters corresponding to a different provision in the counterparty contract, wherein generating the plurality of sentence clusters includes: generating a plurality of vectors, each vector representing a different sentence in the counterparty contract, comparing the respective vector for any given one of the plurality of sentences to a respective vector of a next sentence in the document, adding the given sentence to a current sentence cluster when the respective vector for the given sentence matches the respective vector of the next sentence, and instantiating a new cluster and adding the given sentence to the new cluster when the respective vector for the given sentence does not match the respective vector of the next sentence;

generating, by the contract analyzer, a plurality of counterparty provision vectors based on the counterparty contract, each of the plurality of counterparty provision vectors being generated based on a different one of the plurality of sentence clusters;

retrieving, by the contract analyzer, a user provision vector;

calculating, by the contract analyzer, a plurality of similarity scores for the user provision vector, the plurality of similarity scores being calculated based on the user provision vector and the plurality of counterparty provision vectors, each of the plurality of similarity scores indicating a degree of similarity between the user provision vector and a respective one of the plurality of counterparty provision vectors;

detecting, by the contract analyzer, whether the plurality of similarity scores satisfies a condition that is associated with the user provision; and

outputting a notification associated with the user provision, the notification being based on an outcome of the detection.

2. The method of claim 1 , further comprising displaying the counterparty contract in a graphical user interface of a word processor, wherein outputting the notification includes displaying the notification in the graphical user interface of the word processor.

3. The method of claim 1 , wherein the counterparty contract includes a non-disclosure agreement that is being proposed by the counterparty to the user.

4. The method of claim 1 , wherein the notification indicates that the user provision is missing from the counterparty contract.

5. The method of claim 1 , wherein the condition is satisfied when at least one of the plurality of similarity scores meets a predetermined threshold, and the notification includes an indication that a forbidden provision is present the counterparty contract.

6. The method of claim 1 , wherein the notification is generated in a file or object that is usable as a checklist for evaluating the counterparty contract.

7. A system, comprising:

a memory; and

at least one processor, the at least one processor being configured to perform the operations of:

obtaining a counterparty contract, the counterparty contract including a contract that is being proposed by a counterparty to a user;

performing a segmentation of the counterparty contract to generate a plurality of sentence clusters, each of the plurality of sentence clusters corresponding to a different provision in the counterparty contract, wherein generating the plurality of sentence clusters includes: generating a plurality of vectors, each vector representing a different sentence in the counterparty contract, comparing the respective vector for any given one of the plurality of sentences to a respective vector of a next sentence in the document, adding the given sentence to a current sentence cluster when the respective vector for the given sentence matches the respective vector of the next sentence, and instantiating a new cluster and adding the given sentence to the new cluster when the respective vector for the given sentence does not match the respective vector of the next sentence;

generating a plurality of counterparty provision vectors based on the counterparty contract, each of the plurality of counterparty provision vectors being generated based on a different one of the plurality of sentence clusters;

retrieving a user provision vector;

calculating a plurality of similarity scores for the user provision vector, the plurality of similarity scores being calculated based on the user provision vector and the plurality of counterparty provision vectors, each of the plurality of similarity scores indicating a degree of similarity between the user provision vector and a respective one of the plurality of counterparty provision vectors;

detecting whether the plurality of similarity scores satisfies a condition that is associated with the user provision; and

outputting a notification associated with the user provision, the notification being based on an outcome of the detection.

8. The system of claim 7 , wherein the at least one processor is further configured to display the counterparty contract in a graphical user interface of a word processor, wherein outputting the notification includes displaying the notification in the graphical user interface of the word processor.

9. The system of claim 7 , wherein the counterparty contract includes a non-disclosure agreement that is being proposed by the counterparty to the user.

10. The system of claim 7 , wherein the notification indicates that the user provision is missing from the counterparty contract.

11. The system of claim 7 , wherein the condition is satisfied when at least one of the plurality of similarity scores meets a predetermined threshold, and the notification includes an indication that a forbidden provision is present the counterparty contract.

12. The system of claim 7 , wherein the notification is generated in a file or object that is usable as a checklist for evaluating the counterparty contract.

13. A non-transitory computer-readable medium storing one or more processor-executable instructions, which, when executed by at least one processor, cause the at least one processor to perform the operations of:

obtaining a counterparty contract, the counterparty contract including a contract that is being proposed by a counterparty to a user;

performing a segmentation of the counterparty contract to generate a plurality of sentence clusters, each of the plurality of sentence clusters corresponding to a different provision in the counterparty contract, wherein generating the plurality of sentence clusters includes: generating a plurality of vectors, each vector representing a different sentence in the counterparty contract, comparing the respective vector for any given one of the plurality of sentences to a respective vector of a next sentence in the document, adding the given sentence to a current sentence cluster when the respective vector for the given sentence matches the respective vector of the next sentence, and instantiating a new cluster and adding the given sentence to the new cluster when the respective vector for the given sentence does not match the respective vector of the next sentence;

generating a plurality of counterparty provision vectors based on the counterparty contract, each of the plurality of counterparty provision vectors being generated based on a different one of the plurality of sentence clusters;

retrieving a user provision vector;

calculating a plurality of similarity scores for the user provision vector, the plurality of similarity scores being calculated based on the user provision vector and the plurality of counterparty provision vectors, each of the plurality of similarity scores indicating a degree of similarity between the user provision vector and a respective one of the plurality of counterparty provision vectors;

detecting whether the plurality of similarity scores satisfies a condition that is associated with the user provision; and

outputting a notification associated with the user provision, the notification being based on an outcome of the detection.

14. The non-transitory computer-readable medium of claim 13 , wherein, one or more processor-executable instructions, when executed by the at least one processor, further cause the at least one processor to perform the operation of displaying the counterparty contract in a graphical user interface of a word processor, wherein outputting the notification includes displaying the notification in the graphical user interface of the word processor.

15. The non-transitory computer-readable medium of claim 13 , wherein the counterparty contract includes a non-disclosure agreement that is being proposed by the counterparty to the user.

16. The non-transitory computer-readable medium of claim 13 , wherein the notification indicates that the user provision is missing from the counterparty contract.

17. The non-transitory computer-readable medium of claim 13 , wherein the condition is satisfied when at least one of the plurality of similarity scores meets a predetermined threshold, and the notification includes an indication that a forbidden provision is present the counterparty contract.

18. The non-transitory computer-readable medium of claim 13 , wherein the notification is generated in a file or object that is usable as a checklist for evaluating the counterparty contract.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (057758/0286) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 061654/0064 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (058014/0560) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 062022/0473 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (057931/0392) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 062022/0382 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 28, 2022
From: KALUSH, NOAM; TZUR, ANAT PARUSH; GOSHEN, IDAN RICHMAN; WOO, LISA; FITZPATRICK, EMER; DHAMODHARAN, BALAJI; SCHNEIDER, CHRISTOPHER; LOPES DE MORAES, JOAO ADALINO, JR; DARLEY, GUILHERME TORALLES; SAVIR, AMIHAI; CRESPO, EDER; BARRA, CARLOS AUGUSTO; JONES, SKYE
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 059524/0930 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 25, 2022
From: COUTINHO, DANIEL; SILVA, LIDIANE; SOARES, EDER
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 060200/0287 →
SECURITY INTEREST Recorded Oct 6, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 057931/0392 →
SECURITY INTEREST Recorded Oct 6, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 058014/0560 →
SECURITY INTEREST Recorded Oct 6, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 057758/0286 →
SECURITY AGREEMENT Recorded Oct 1, 2021
From: DELL PRODUCTS, L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 057682/0830 →
Continuity (1)
Related Publication 20230028534A1 · Jan 26, 2023