IP Library Granted Patent US 9,275,129
Granted Patent B2
US 9,275,129 · App. 13/028,841 · Granted Mar 1, 2016

Methods and systems to efficiently find similar and near-duplicate emails and files

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,275,129
App. No.
13/028,841
Granted
Mar 1, 2016
Kind
B2
Abstract

A set of trigrams can be generated for each document in a plurality of documents processed by an e-discovery system. Each trigram in the set of trigrams for a given document is a sequence of three terms in the given document. A set of trigrams for each similar document is then determined based on the set of trigrams for the original document. To facilitate identification of the similar documents, a full text index is then generated for the plurality of documents and the set of trigrams for each document are indexed into the full text index, as individual terms. Queries can be generated into the full text index based on trigrams of a document to determine other similar or near-duplicate documents. After a set of potentially similar documents are identified, a separate distance criteria can be applied to evaluate the level of similarity between the two documents in an efficient way.

Claims (54)

1. A method comprising:

receiving a plurality of documents, each document in the plurality of documents having a plurality of terms;

for each document in the plurality of documents:

generating, by a processor, a first set of trigrams, each trigram in the first set of trigrams being a sequence of terms, and

determining a second set of trigrams based on the first set of trigrams for the document and first filter criteria to filter the first set of trigrams for the document for a predetermined number of most frequently occurring trigrams, the second set of trigrams being a smaller subset of the first set of trigrams for the document, the second set of trigrams comprising a trigram that satisfies the first filter criteria; and

generating a full text index indexing the second set of trigrams for the plurality of documents;

generating a query into the full text index for the plurality of documents indexing the second set of trigrams for each document in the plurality of documents based on a third set of trigrams associated with a new document; and

identifying, in response to the query into the full text index, a set of documents in the plurality of documents that are substantially similar to the new document by identifying matching trigrams between the third set of trigrams and the second set of trigrams indexed in the full text index.

2. The method of claim 1 , further comprising:

for each document in the plurality of documents, generating an artificial distance between a trigram in the second set of trigrams prior to indexing into the full text index.

3. The method of claim 1 , further comprising:

receiving the new document;

determining the third set of trigrams associated with the new document.

4. The method of claim 1 wherein identifying the set of documents in the plurality of documents that are substantially similar to the new document comprises identifying the set of documents based on second filter criteria.

5. The method of claim 1 wherein identifying the set of documents in the plurality of documents that are substantially similar to the new document comprises identifying the set of documents as a subset of another set of documents returned in response to executing the query based on a cosine similarity between the new document and each document in the other set of documents.

6. The method of claim 1 , further comprising:

generating a user interface to display information identifying the set of documents in the plurality of documents as substantially similar to the new document in response to the query into the full text index for the plurality of documents indexing the second set of trigrams based on the third set of trigrams associated with the new document.

7. The method of claim 1 , further comprising:

generating a user interface to display information identifying a first document of the plurality of documents as substantially similar to the new document and to display a part of the first document of the plurality of documents corresponding to a match with the new document.

8. A non-transitory computer-readable medium storing instructions, which when executed, cause a processor to perform operations comprising:

receiving a plurality of documents, each document in the plurality of documents having a plurality of terms;

for each document in the plurality of documents:

generating, by the processor, a first set of trigrams, each trigram in the first set of trigrams being a sequence of terms, and

determining a second set of trigrams based on the first set of trigrams for the document and first filter criteria to filter the first set of trigrams for the document for a predetermined number of most frequently occurring trigrams, the second set of trigrams being a smaller subset of the first set of trigrams for the document, the second set of trigrams comprising a trigram that satisfies the first filter criteria; and

generating a full text index indexing the second set of trigrams for the plurality of documents;

generating a query into the full text index for the plurality of documents indexing the second set of trigrams for each document in the plurality of documents based on a third set of trigrams associated with a new document; and

identifying, in response to the query, a set of documents in the plurality of documents that are substantially similar to the new document by identifying matching trigrams between the third set of trigrams and the second set of trigrams indexed in the full text index.

9. The computer-readable medium of claim 8 , further comprising:

generating an artificial distance between a trigram in the second set of trigrams prior to indexing into the full text index.

10. The computer-readable medium of claim 8 , further comprising:

receiving the new document;

determining the third set of trigrams associated with the new document.

11. The computer-readable medium of claim 8 wherein identifying the set of documents in the plurality of documents that are substantially similar to the new document comprises identifying the set of documents based on second filter criteria.

12. The computer-readable medium of claim 8 wherein identifying the set of documents in the plurality of documents that are substantially similar to the new document comprises identifying the set of documents as a subset of another set of documents returned in response to executing the query based on a cosine similarity between the new document and each document in the other set of documents.

13. The computer-readable medium of claim 8 , further comprising:

generating a user interface to display information identifying a first document of the plurality of documents as substantially similar to the new document selected in response to the query into the full text index for the plurality of documents indexing the second set of trigrams for each document in the plurality of documents based on the third set of trigrams associated with the new document.

14. The computer-readable medium of claim 8 , further comprising:

generating a user interface to display information identifying a first document of the plurality of documents as substantially similar to the new document and to display a part of the first document of the plurality of documents corresponding to a match with the new document.

15. A system comprising:

a memory; and

a processor coupled to the memory, wherein the processor is to:

receive a plurality of documents, each document in the plurality of documents having a plurality of terms;

for each document in the plurality of documents:

generate a first set of trigrams, each trigram in the first set of trigrams being a sequence of terms, and

determine a second set of trigrams based on the first set of trigrams for the document and first filter criteria to filter the first set of trigrams for the document for a predetermined number of most frequently occurring trigrams, the second set of trigrams being a smaller subset of the first set of trigrams for the document, the second set of trigrams comprising a trigram that satisfies the first filter criteria; and

generate a full text index indexing the second set of trigrams for the plurality of documents;

generate a query into the full text index for the plurality of documents indexing the second set of trigrams for each document in the plurality of documents based on a third set of trigrams associated with a new document; and

identify, in response to the query, a set of documents in the plurality of documents that are substantially similar to the new document by identifying matching trigrams between the third set of trigrams and the second set of trigrams indexed in the full text index.

16. The system of claim 15 wherein the processor is further to:

receive the new document;

determine the third set of trigrams associated with the new document;

generate a user interface to display information identifying selected ones of the set of documents as substantially similar to the new document;

generate an artificial distance between a trigram in the second set of trigrams prior to indexing into the full text index; and

generate a user interface to display a part of the new document that corresponds to a match with the new document.

Assignments (17)
SECURITY INTEREST Recorded Dec 12, 2025
From: ARCTERA US LLC
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 073951/0470 →
TERMINATION AND RELEASE OF PATENT SECURITY AGREEMENT AT R/F 070530/0497 Recorded Dec 1, 2025
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: ARCTERA US LLC
Reel/Frame 073833/0730 →
TERMINATION AND RELEASE OF PATENT SECURITY AGREEMENT AT R/F 069585/0150 Recorded Dec 1, 2025
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: ARCTERA US LLC
Reel/Frame 073833/0848 →
RELEASE OF SECURITY INTEREST Recorded Dec 16, 2024
From: ACQUIOM AGENCY SERVICES LLC, AS COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC (F/K/A VERITAS US IP HOLDINGS LLC)
Reel/Frame 069712/0090 →
RELEASE OF SECURITY INTEREST Recorded Dec 13, 2024
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 069634/0584 →
SECURITY INTEREST Recorded Dec 10, 2024
From: ARCTERA US LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 069563/0243 →
PATENT SECURITY AGREEMENT Recorded Dec 10, 2024
From: ARCTERA US LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 069585/0150 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2024
From: VERITAS TECHNOLOGIES LLC
To: ARCTERA US LLC
Reel/Frame 069548/0468 →
ASSIGNMENT OF SECURITY INTEREST IN PATENT COLLATERAL Recorded Nov 25, 2024
From: BANK OF AMERICA, N.A., AS ASSIGNOR
To: ACQUIOM AGENCY SERVICES LLC, AS ASSIGNEE
Reel/Frame 069440/0084 →
TERMINATION AND RELEASE OF SECURITY IN PATENTS AT R/F 037891/0726 Recorded Nov 30, 2020
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: VERITAS US IP HOLDINGS, LLC
Reel/Frame 054535/0814 →
SECURITY INTEREST Recorded Aug 20, 2020
From: VERITAS TECHNOLOGIES LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 054370/0134 →
MERGER Recorded Apr 18, 2016
From: VERITAS US IP HOLDINGS LLC
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 038483/0203 →
SECURITY INTEREST Recorded Feb 23, 2016
From: VERITAS US IP HOLDINGS LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 037891/0001 →
SECURITY INTEREST Recorded Feb 23, 2016
From: VERITAS US IP HOLDINGS LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 037891/0726 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 4, 2016
From: SYMANTEC CORPORATION
To: VERITAS US IP HOLDINGS LLC
Reel/Frame 037693/0158 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 7, 2014
From: CLEARWELL SYSTEMS INC.
To: SYMANTEC CORPORATION
Reel/Frame 032381/0682 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 24, 2011
From: DESAI, MALAY; SHEWALE, MEDHA; RANGAN, VENKAT
To: CLEARWELL SYSTEMS, INC.
Reel/Frame 026013/0372 →