IP Library Granted Patent US 9,852,337
Granted Patent B1
US 9,852,337 · App. 14/871,501 · Granted Dec 26, 2017

Method and system for assessing similarity of documents

Inventors: Jeroen Mattijs van Rotterdam (Berkeley, CA); Michael T Mohen (Millington, MD); Chao Chen (Shanghai, CN); Kun Zhao (Shanghai, CN)
Assignee: Open Text Corporation
G06K9/00483G06F17/30011G06K9/00469
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 9,852,337
App. No.
14/871,501
Granted
Dec 26, 2017
Kind
B1
Abstract

A method for assessing similarity of documents. The method includes extracting a reference document text from a reference document, extracting an archived document text from an archived document, and quantifying the reference document and the archived document. Quantifying the reference and archived documents includes tokenizing sentences of the reference document and archived document, respectively, and vectorizing the tokenized sentences to obtain a reference document text vector and an archived document text vector for each sentence of the reference and archived document, respectively. The method also includes determining a document similarity value of the quantified reference document and the quantified archived document. Determining the document similarity value includes calculating a set of vector similarity values for a set of combinations of a reference document text vector and an archived document text vector, and calculating the document similarity value, including a sum of the plurality of vector similarity values.

Claims (168)

1. A method for assessing similarity of documents, comprising:

extracting a reference document text and reference document metadata from a reference document;

extracting an archived document text and archived document metadata from an archived document;

quantifying the reference document, comprising:

tokenizing sentences of the reference document; and

vectorizing the tokenized sentences to obtain a reference document text vector for each sentence of the reference document;

quantifying the archived document, comprising:

tokenizing sentences of the archived document; and

vectorizing the tokenized sentences to obtain an archived document text vector for each sentence of the archived document;

determining a document similarity value of the quantified reference document and the quantified archived document, comprising:

calculating a first plurality of vector similarity values for a plurality of combinations of a reference document text vector and an archived document text vector;

calculating a second plurality of vector similarity values based on combinations of reference document metadata vectors that are based on the reference document metadata and archived document metadata vectors that are based on the archived document metadata; and

calculating the document similarity value, comprising a sum of the first plurality of vector similarity values and a sum of the second plurality of vector similarity values.

2. The method of claim 1 ,

wherein the reference document comprises at least one of:

a text document, or

a document comprising non-text content and text content, and

wherein the archived document comprises at least one of:

a text document, or

a document comprising non-text content and text content.

3. The method of claim 1 , wherein vectorizing tokenized sentences of the reference document and of the archived document is performed using a k-skip-n-gram vectorization,

wherein skip-grams of a length n with a maximum number of skipped tokens k are generated; and

wherein each skip-gram is separately vectorized.

4. The method of claim 3 , wherein calculating the plurality of vector similarity values further comprises multiplying each of the vector similarity values of the plurality of vector similarity values with a corresponding weight, wherein the weight is determined based on the length of the skip-gram, and the number of skipped tokens.

5. The method of claim 1 ,

wherein quantifying the reference document further comprises:

tokenizing the reference document metadata; and

vectorizing the tokenized reference document metadata to obtain the reference document metadata vectors for the reference document metadata;

wherein quantifying the archived document further comprises:

tokenizing the archived document metadata; and

vectorizing the tokenized archived document metadata to obtain the archived document metadata vectors for the archived document metadata; and

wherein

calculating the second plurality of vector similarity values comprises calculating the second plurality of vector similarity values for a plurality of combinations of a reference document metadata vector and an archived document metadata vector.

6. The method of claim 1 , wherein a vector similarity value is a cosine similarity.

7. The method of claim 1 , further comprising:

making a determination that the document similarity value is above a minimum similarity threshold; and

based on the determination, providing the archived document to a user.

8. A method for assessing similarity of documents, comprising:

extracting a reference document text from a reference document;

extracting an archived document text from an archived document;

quantifying the reference document, comprising:

tokenizing reference document sentences of the reference document text; and

vectorizing the tokenized reference document sentences to obtain a plurality of reference document paths;

quantifying the archived document, comprising:

tokenizing archived document sentences of the archived document text; and

vectorizing the tokenized archived document sentences to obtain a plurality of archived document paths;

determining a document similarity value of the quantified reference document and the quantified archived document, comprising:

selecting a first reference document path from the plurality of reference document paths;

selecting a first archived document path from the plurality of archived document paths;

making a first determination that a length of the first reference document path is different from a length of the first archived document path;

based on the first determination:

identifying a shorter path and a longer path of the first reference document path and the first archived document path;

generating subsequences from the longer path, with a length matching the length of the shorter path;

calculating a path similarity value for the shorter path and the subsequences;

adding the path similarity value to a sum, wherein the sum is the document similarity value.

9. The method of claim 8 ,

wherein vectorizing the tokenized reference document sentences comprises obtaining one reference document path for each sentence of the reference document; and

wherein vectorizing the tokenized archived document sentences comprises obtaining one archived document path for each sentence of the archived document.

10. The method of claim 8 , wherein calculating the path similarity value for the shorter path and the subsequences comprises:

calculating a plurality of path similarity values, wherein one path similarity value is calculated for each unique combination of the shorter path and a subsequence;

identifying, from the path similarity values, the highest path similarity value; and

normalizing the highest path similarity value.

11. The method of claim 8 , wherein a vector similarity value is a cosine similarity.

12. The method of claim 8 further comprising:

selecting a second reference document path from the plurality of reference document paths;

selecting a second archived document path from the plurality of archived document paths;

making a second determination that a length of the second reference document path is identical to a length of the second archived document path;

based on the second determination:

calculating a plurality of vector similarity values for a plurality of combinations of the second reference document path and the second archived document path;

calculating a second path similarity value by summing the plurality of vector similarity values and by normalizing the sum of the plurality of vector similarity values;

adding the second path similarity value to a sum, wherein the sum is the document similarity value.

13. The method of claim 8 , further comprising:

making a determination that the document similarity value is above a minimum similarity threshold; and

based on the determination: reporting the archived document to a user.

14. A non-transitory computer readable medium (CRM) storing instructions for assessing similarity of documents, the instructions comprising functionality for:

extracting a reference document text from a reference document;

extracting an archived document text from an archived document;

quantifying the reference document, comprising:

tokenizing sentences of the reference document; and

vectorizing the tokenized sentences to obtain a reference document text vector for each sentence of the reference document;

quantifying the archived document, comprising:

tokenizing sentences of the archived document; and

vectorizing the tokenized sentences to obtain an archived document text vector for each sentence of the archived document;

determining a document similarity value of the quantified reference document and the quantified archived document, comprising:

calculating a plurality of vector similarity values for a plurality of combinations of a reference document text vector and an archived document text vector, the calculating including multiplying each of the vector similarity values of the plurality of vector similarity values with a corresponding weight that is determined, based at least in part on a number of skipped tokens; and

calculating the document similarity value, comprising a sum of the plurality of vector similarity values.

15. The non-transitory CRM of claim 14 ,

wherein the reference document comprises at least one of:

a text document, or

a document comprising non-text content and text content, and

wherein the archived document comprises at least one of:

a text document, or

a document comprising non-text content and text content.

16. The non-transitory CRM of claim 14 , wherein vectorizing tokenized sentences of the reference document and of the archived document is performed using a k-skip-n-gram vectorization,

wherein skip-grams of a length n with a maximum number of skipped tokens k are generated; and

wherein each skip-gram is separately vectorized.

17. The non-transitory CRM of claim 16 , wherein the corresponding weight is determined based on the length of the skip-gram, and the number of skipped tokens.

18. The non-transitory CRM of claim 14 , wherein the instructions for assessing similarity of documents further comprise functionality for:

extracting reference document metadata from the reference document;

extracting archived document metadata from the archived document;

wherein quantifying the reference document further comprises:

tokenizing the reference document metadata; and

vectorizing the tokenized reference document metadata to obtain reference document metadata vectors for the reference document metadata;

wherein quantifying the archived document further comprises:

tokenizing the archived document metadata; and

vectorizing the tokenized archived document metadata to obtain archived document metadata vectors for the archived document metadata; and

wherein determining the document similarity value of the quantified reference document and the quantified archived document, further comprises:

calculating a second plurality of vector similarity values for a plurality of combinations of a reference document metadata vector and an archived document metadata vector; and

wherein the document similarity value further comprises a sum of the second plurality of vector similarity values.

19. The non-transitory CRM of claim 14 , wherein a vector similarity value is a cosine similarity.

20. The non-transitory CRM of claim 14 further comprising:

making a determination that the document similarity value is above a minimum similarity threshold; and

based on the determination, providing the archived document to a user.

21. A non-transitory computer readable medium (CRM) storing instructions for assessing similarity of documents, the instructions comprising functionality for:

extracting a reference document text and reference document metadata from a reference document;

extracting an archived document text and archived document metadata from an archived document;

quantifying the reference document, comprising:

tokenizing sentences of the reference document; and

vectorizing the tokenized sentences to obtain a reference document text vector for each sentence of the reference document;

quantifying the archived document, comprising:

tokenizing sentences of the archived document; and

vectorizing the tokenized sentences to obtain an archived document text vector for each sentence of the archived document;

determining a document similarity value of the quantified reference document and the quantified archived document, comprising:

calculating a first plurality of vector similarity values for a plurality of combinations of a reference document text vector and an archived document text vector;

calculating a second plurality of vector similarity values based on combinations of reference document metadata vectors that are based on the reference document metadata and archived document metadata vectors that are based on the archived document metadata; and

calculating the document similarity value, comprising a sum of the first plurality of vector similarity values and a sum of the second plurality of vector similarity values.

22. The non-transitory CRM of claim 21 , wherein vectorizing tokenized sentences of the reference document and of the archived document is performed using a k-skip-n-gram vectorization,

wherein skip-grams of a length n with a maximum number of skipped tokens k are generated; and

wherein each skip-gram is separately vectorized.

23. The non-transitory CRM of claim 22 , wherein calculating the plurality of vector similarity values further comprises multiplying each of the vector similarity values of the plurality of vector similarity values with a corresponding weight, wherein the weight is determined based on the length of the skip-gram, and the number of skipped tokens.

24. The non-transitory CRM of claim 21 , wherein:

quantifying the reference document further comprises:

tokenizing the reference document metadata; and

vectorizing the tokenized reference document metadata to obtain the reference document metadata vectors for the reference document metadata; and

wherein quantifying the archived document further comprises:

tokenizing the archived document metadata; and

vectorizing the tokenized archived document metadata to obtain the archived document metadata vectors for the archived document metadata; and

wherein calculating the second plurality of vector similarity values comprises calculating the second plurality of vector similarity values for a plurality of combinations of a reference document metadata vector and an archived document metadata vector.

25. The non-transitory CRM of claim 21 , wherein a vector similarity value is a cosine similarity.

26. A method for assessing similarity of documents, comprising:

extracting a reference document text from a reference document;

extracting an archived document text from an archived document;

quantifying the reference document, comprising:

tokenizing sentences of the reference document; and

vectorizing the tokenized sentences to obtain a reference document text vector for each sentence of the reference document;

quantifying the archived document, comprising:

tokenizing sentences of the archived document; and

vectorizing the tokenized sentences to obtain an archived document text vector for each sentence of the archived document;

determining a document similarity value of the quantified reference document and the quantified archived document, comprising:

calculating a plurality of vector similarity values for a plurality of combinations of a reference document text vector and an archived document text vector, the calculating including multiplying each of the vector similarity values of the plurality of vector similarity values with a corresponding weight that is determined, based at least in part on a number of skipped tokens; and

calculating the document similarity value, comprising a sum of the plurality of vector similarity values.

27. The method of claim 26 , wherein vectorizing tokenized sentences of the reference document and of the archived document is performed using a k-skip-n-gram vectorization,

wherein skip-grams of a length n with a maximum number of skipped tokens k are generated; and

wherein each skip-gram is separately vectorized.

28. The method of claim 27 , wherein the corresponding weight is determined based on the length of the skip-gram, and the number of skipped tokens.

29. The method of claim 26 , further comprising:

extracting reference document metadata from the reference document;

extracting archived document metadata from the archived document;

wherein quantifying the reference document further comprises:

tokenizing the reference document metadata; and

vectorizing the tokenized reference document metadata to obtain reference document metadata vectors for the reference document metadata;

wherein quantifying the archived document further comprises:

tokenizing the archived document metadata; and

vectorizing the tokenized archived document metadata to obtain archived document metadata vectors for the archived document metadata; and

wherein determining the document similarity value of the quantified reference document and the quantified archived document, further comprises:

calculating a second plurality of vector similarity values for a plurality of combinations of a reference document metadata vector and an archived document metadata vector; and

wherein the document similarity value further comprises a sum of the second plurality of vector similarity values.

30. The method of claim 26 , wherein a vector similarity value is a cosine similarity.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 31, 2017
From: EMC CORPORATION
To: OPEN TEXT CORPORATION
Reel/Frame 041140/0586 →
PATENT RELEASE (REEL:40134/FRAME:0001) Recorded Jan 23, 2017
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
To: EMC CORPORATION, AS GRANTOR
Reel/Frame 041073/0136 →
RELEASE OF SECURITY INTEREST Recorded Jan 23, 2017
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: EMC CORPORATION
Reel/Frame 041073/0443 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 16, 2016
From: VAN ROTTERDAM, JEROEN MATTIJS; MOHEN, MICHAEL T.; CHEN, CHAO; ZHAO, KUN
To: EMC CORPORATION
Reel/Frame 040337/0147 →