IP Library Granted Patent US 8,843,494
Granted Patent B1
US 8,843,494 · App. 13/868,314 · Granted Sep 23, 2014

Method and system for using keywords to merge document clusters

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 8,843,494
App. No.
13/868,314
Granted
Sep 23, 2014
Kind
B1
Abstract

Using keywords to merge document clusters is described. Documents are distributed into document clusters that include a first document cluster of first documents and a second document cluster of second documents. A template associated with the first document cluster is created. The template includes keywords associated with most of the first documents. A distance is calculated between keyword location information associated with the template and word location information associated with a document in the second document cluster. The keyword location information includes information indicating a location of a keyword in the template relative to other keywords in the template. The word location information includes information indicating a location of a word in the document relative to other words in the document. A determination is made whether the distance is less than a threshold value. The second document cluster is merged with the first document cluster in response to the determination that the distance is less than the threshold value.

Claims (76)

1. A system for using keywords to merge document clusters, the system comprising:

one or more processors; and

a non-transitory computer readable medium storing a plurality of instructions, which when executed, cause the one or more processors to:

distribute a plurality of documents into a plurality of document clusters, wherein the plurality of document clusters comprise a first document cluster comprising a first plurality of documents and a second document cluster comprising a second plurality of documents;

create a template associated with the first document cluster, wherein the template comprises a plurality of keywords associated with at least most of the first plurality of documents;

calculate a distance between keyword location information associated with the template and word location information associated with a document in the second document cluster, wherein the keyword location information comprises information indicating a location of a keyword in the template relative to other keywords in the template, and wherein the word location information comprises information indicating a location of a word in the document relative to other words in the document;

determine whether the distance is less than a threshold value; and

merge the second document cluster with the first document cluster in response to a determination that the distance is less than the threshold value.

2. The system of claim 1 , wherein distributing the plurality of documents into the plurality of document clusters comprises:

generating a plurality of word pairs, wherein each word pair comprises a first word from a first document and a corresponding second word from a second document;

computing, for each word pair, first location information for the first word that indicates a location of the first word in the first document relative to other words in the first document;

computing, for each word pair, second location information for the corresponding second word that indicates a location of the corresponding second word in the second document relative to other words in the second document; and

comparing the first location information to the second location information.

3. The system of claim 1 , wherein the word location information comprises top location information and bottom location information, wherein the top location information is associated with a top portion of the document and comprises a locations of a specific word in the top portion relative to other words in the top portion, and wherein the bottom location information is associated with a bottom portion of the document and comprises a location of another specific word in the bottom portion relative to other words in the bottom portion.

4. The system of claim 1 , wherein the plurality of instructions, when executed, further cause the one or more processors to:

calculate a first vector from the keyword in the template to another keyword in the template, wherein the first vector indicates the location of the keyword relative to the other keyword; and

calculate a second vector from the word in the document to another word in the document, wherein the second vector indicate the location of the word in the document relative to the other word in the document.

5. The system of claim 1 , wherein the plurality of instructions, when executed, further cause the one or more processors to:

calculate a horizontal distance from the keyword in the template to another keyword in the template; and

calculate a vertical distance from the keyword in the template to the other keyword in the template, wherein the horizontal distance and the vertical distance indicate a location of the keyword relative to the other keyword.

6. The system of claim 1 , wherein the template comprises a first area value associated with the keyword that indicates an area occupied by the keyword in the template, and the plurality of instructions, when executed, further cause the one or more processors to:

calculate a second area value that indicates an area occupied by the word in the document;

determine whether a difference between the first area value and the second area value is below an area threshold value; and

identify the keyword in the template as being a keyword for a word pair and identify the word in the document as being a corresponding word for the word pair based upon a determination that the difference is below the area threshold value.

7. The system of claim 1 , wherein the plurality of instructions, when executed, further cause the one or more processors to:

calculate a Levenshtein distance between the keyword in the template and the word in the document;

determine whether the Levenshtein distance is below a distance threshold value; and

identify the keyword in the template as being a word for a word pair, and identify the word in the document as being a corresponding word for the word pair based upon a determination that the difference is below the distance threshold value.

8. A computer-implemented method for using keywords to merge document clusters, the method comprising:

distributing a plurality of documents into a plurality of document clusters, wherein the plurality of document clusters comprise a first document cluster comprising a first plurality of documents and a second document cluster comprising a second plurality of documents;

creating a template associated with the first document cluster, wherein the template comprises a plurality of keywords associated with at least most of the first plurality of documents;

calculating a distance between keyword location information associated with the template and word location information associated with a document in the second document cluster, wherein the keyword location information comprises information indicating a location of a keyword in the template relative to other keywords in the template, and wherein the word location information comprises information indicating a location of a word in the document relative to other words in the document;

determining whether the distance is less than a threshold value; and

merging the second document cluster with the first document cluster in response to a determination that the distance is less than the threshold value.

9. The computer-implemented method of claim 8 , wherein distributing the plurality of documents into the plurality of document clusters comprises:

generating a plurality of word pairs, wherein each word pair comprises a first word from a first document and a corresponding second word from a second document;

computing, for each word pair, first location information for the first word that indicates a location of the first word in the first document relative to other words in the first document;

computing, for each word pair, second location information for the corresponding second word that indicates a location of the corresponding second word in the second document relative to other words in the second document; and

comparing the first location information to the second location information.

10. The computer-implemented method of claim 8 , wherein the word location information comprises top location information and bottom location information, wherein the top location information is associated with a top portion of the document and comprises a locations of a specific word in the top portion relative to other words in the top portion, and wherein the bottom location information is associated with a bottom portion of the document and comprises a location of another specific word in the bottom portion relative to other words in the bottom portion.

11. The computer-implemented method of claim 8 , wherein the method further comprises:

calculating a first vector from the keyword in the template to another keyword in the template, wherein the first vector indicates the location of the keyword relative to the other keyword; and

calculating a second vector from the word in the document to another word in the document, wherein the second vector indicate the location of the word in the document relative to the other word in the document.

12. The computer-implemented method of claim 8 , wherein the method further comprises:

calculating a horizontal distance from the keyword in the template to another keyword in the template; and

calculating a vertical distance from the keyword in the template to the other keyword in the template, wherein the horizontal distance and the vertical distance indicate a location of the keyword relative to the other keyword.

13. The computer-implemented method of claim 8 , wherein the template comprises a first area value associated with the keyword that indicates an area occupied by the keyword in the template, and the method further comprises:

calculating a second area value that indicates an area occupied by the word in the document;

determining whether a difference between the first area value and the second area value is below an area threshold value; and

identifying the keyword in the template as being a keyword for a word pair and identify the word in the document as being a corresponding word for the word pair based upon a determination that the difference is below the area threshold value.

14. The computer-implemented method of claim 8 , wherein the method further comprises:

calculating a Levenshtein distance between the keyword in the template and the word in the document;

determining whether the Levenshtein distance is below a distance threshold value; and

identifying the keyword in the template as being a word for a word pair, and identify the word in the document as being a corresponding word for the word pair based upon a determination that the difference is below the distance threshold value.

15. A computer program product, comprising a non-transitory computer-readable medium having a computer-readable program code embodied therein, the computer-readable program code adapted to be executed by one or more processors, the program code comprising instructions to:

distribute a plurality of documents into a plurality of document clusters, wherein the plurality of document clusters comprise a first document cluster comprising a first plurality of documents and a second document cluster comprising a second plurality of documents;

create a template associated with the first document cluster, wherein the template comprises a plurality of keywords associated with at least most of the first plurality of documents;

calculate a distance between keyword location information associated with the template and word location information associated with a document in the second document cluster, wherein the keyword location information comprises information indicating a location of a keyword in the template relative to other keywords in the template, and wherein the word location information comprises information indicating a location of a word in the document relative to other words in the document;

determine whether the distance is less than a threshold value; and

merge the second document cluster with the first document cluster in response to a determination that the distance is less than the threshold value.

16. The computer program product of claim 15 , wherein distributing the plurality of documents into the plurality of document clusters comprises:

generating a plurality of word pairs, wherein each word pair comprises a first word from a first document and a corresponding second word from a second document;

computing, for each word pair, first location information for the first word that indicates a location of the first word in the first document relative to other words in the first document;

computing, for each word pair, second location information for the corresponding second word that indicates a location of the corresponding second word in the second document relative to other words in the second document; and

comparing the first location information to the second location information.

17. The computer program product of claim 15 , wherein the word location information comprises top location information and bottom location information, wherein the top location information is associated with a top portion of the document and comprises a locations of a specific word in the top portion relative to other words in the top portion, and wherein the bottom location information is associated with a bottom portion of the document and comprises a location of another specific word in the bottom portion relative to other words in the bottom portion.

18. The computer program product of claim 15 , wherein the program code comprises further instructions to:

calculate a first vector from the keyword in the template to another keyword in the template, wherein the first vector indicates the location of the keyword relative to the other keyword; and

calculate a second vector from the word in the document to another word in the document, wherein the second vector indicate the location of the word in the document relative to the other word in the document.

19. The computer program product of claim 15 , wherein the program code comprises further instructions to:

calculate a horizontal distance from the keyword in the template to another keyword in the template; and

calculate a vertical distance from the keyword in the template to the other keyword in the template, wherein the horizontal distance and the vertical distance indicate a location of the keyword relative to the other keyword.

20. The computer program product of claim 15 , wherein the template comprises a first area value associated with the keyword that indicates an area occupied by the keyword in the template, and the program code comprises further instructions to:

calculate a second area value that indicates an area occupied by the word in the document;

determine whether a difference between the first area value and the second area value is below an area threshold value; and

identify the keyword in the template as being a keyword for a word pair and identify the word in the document as being a corresponding word for the word pair based upon a determination that the difference is below the area threshold value.

Assignments (12)
RELEASE OF SECURITY INTEREST IN PATENTS (REEL/FRAME 063559/0805) Recorded Jun 21, 2024
From: BARCLAYS BANK PLC
To: OPEN TEXT CORPORATION
Reel/Frame 067807/0069 →
SECURITY INTEREST Recorded Aug 30, 2023
From: OPEN TEXT CORPORATION
To: THE BANK OF NEW YORK MELLON
Reel/Frame 064761/0008 →
SECURITY INTEREST Recorded May 7, 2023
From: OPEN TEXT CORPORATION
To: BARCLAYS BANK PLC
Reel/Frame 063559/0805 →
SECURITY INTEREST Recorded May 7, 2023
From: OPEN TEXT CORPORATION
To: BARCLAYS BANK PLC
Reel/Frame 063559/0831 →
SECURITY INTEREST Recorded May 7, 2023
From: OPEN TEXT CORPORATION
To: BARCLAYS BANK PLC
Reel/Frame 063559/0839 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (045455/0001) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061753/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 1, 2017
From: EMC CORPORATION
To: OPEN TEXT CORPORATION
Reel/Frame 041579/0133 →
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 →
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 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040134/0001 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 040136/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 25, 2013
From: SAMPSON, STEVEN
To: EMC CORPORATION
Reel/Frame 030285/0088 →