# US 2013/0159305 A1 · Entity Clustering via Data Services

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2013/0159305 A1
- Document ID: US20130159305A1
- Status: Published application
- Kind: A1
- Application number: 13/327,587
- Filed: 2011-12-15
- Published: 2013-06-20
- Earliest claimed: 2011-12-15
- Assignees: Business Objects Software Ltd.
- Inventors: Kimberly Starks
- Web page: https://patentgrep.com/patent/US20130159305A1

## CPC

- G06F 16/35: Clustering; Classification
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A method is provided for forming an entity cluster. In this method, a plurality of entities found in one or more data sources are identified. An entity may represent a word or a phrase found in the one or more data sources. The plurality of entities may then be organized into groups, where each group has a master entity and a set of subordinate entities. The groups are formed using a first comparison criteria. Then, using a second comparison criteria, a first group is associated with a second group. The second comparison criteria may compare the master entities associated with the first and second groups. Based on the association between the first group and the second group, the method can then determine that the first entity is related to the second entity.

## Claims

### Claim 1

A method comprising:
identifying, using one or more processors, a plurality of entities found in one or more data sources, each entity representing a word or a phrase found in the one or more data sources;
using a first comparison criteria, organizing the plurality of entities into groups, each group identifying one of the entities as a master entity and a set of entities as subordinate entities;
using a second comparison criteria, associating a first group from the groups with a second group from the groups, the second comparison criteria comparing a master entity associated with the first group with a master entity associated with the second group; and
determining that a first entity is related to a second entity based on the association between the first group and the second group.

### Claim 2 (depends on 1)

The method of claim 1, wherein the one or more data sources includes at least one of a document, a corpus, a file system, or a database.

### Claim 3 (depends on 1)

The method of claim 1, wherein each entity is a row in a table, each row including a number of columns that identify at least one of a location, a group identifier, and an entity type.

### Claim 4 (depends on 1)

The method of claim 1, wherein the first comparison criteria determines whether the master entity and the subordinate entities share a substring or similarity of characters.

### Claim 5 (depends on 1)

The method of claim 1, further comprising sorting the plurality of entities based on a sorting length before the plurality of entities are organized into the groups, the sorting length being a value based on a function of an entity length of each of the entities.

### Claim 6 (depends on 5)

The method of claim 5, wherein the sorting comprises:
sorting a first portion in non-descending order, the first portion including the entities that meet a length condition based on the sorting length; and
sorting a second portion in non-descending order, the second portion including the entities that do not meet the length condition based on the sorting length, the second portion being located after the first portion.

### Claim 7 (depends on 1)

The method of claim 1, wherein a master entity of a particular group is an entity from the particular group that is first selected from the plurality of entities to form the particular group, and subordinate entities of the particular group are entities from the plurality of entities that, when compared to the master entity, meet a similarity condition defined by the first comparison criteria.

### Claim 8 (depends on 1)

The method of claim 1, wherein the organizing the plurality of entities into the groups further comprises breaking the entities into sub-groups based on an entity type.

### Claim 9 (depends on 1)

The method of claim 1, wherein the first comparison criteria forms groups of entities within a sentence.

### Claim 10 (depends on 1)

The method of claim 1, wherein the second comparison criteria forms groups of entities within a paragraph.

### Claim 11 (depends on 1)

The method of claim 1, further comprising breaking one or more entities from the first group into a subgroup based on the one or more entities having a determinable morpheme.

### Claim 12 (depends on 1)

The method of claim 1, wherein each entity is associated with feedback submitted by a customer.

### Claim 13 (depends on 1)

The method of claim 1, wherein each entity is associated with a requirement submitted by a customer.

### Claim 14 (depends on 1)

The method of claim 1, wherein the organizing of the groups includes a number of matching operations, the number of matching operations including:
selecting an entity from the plurality of entities that is not associated with any group;
using the first comparison criteria, determining a set of entities from the plurality of entities that meet a similarity threshold, the set of entities not being associated with any group; and
associating the selected entity and the set of entities with a group.

### Claim 15 (depends on 14)

The method of claim 14, wherein the number of matching operations are repeated to form other groups until all the entities are associated with a group.

### Claim 16

A computer system comprising:
at least one processor;
an entity extraction module implemented by the at least one processor and configured to identify a plurality of entities found in one or more data sources, each entity representing a word or a phrase found in the one or more data sources;
an entity matching module implemented by the at least one processor and configured to:
organize the plurality of entities into groups using a first comparison criteria, each group identifying one of the entities as a master entity and a set of entities as subordinate entities;
associate a first group from the groups with a second group from the groups using a second comparison criteria that compares a master entity associated with the first group with a master entity associated with the second group; and
a group association module implemented by the at least one processor and configured to determine that a first entity is related to a second entity based on the association between the first group and the second group.

### Claim 17 (depends on 16)

The computer system of claim 16, wherein the one or more data sources includes at least one of a document, a corpus, a file system, or a database.

### Claim 18 (depends on 16)

The computer system of claim 16, wherein each entity is a row in a table, each row including a number of columns that identify at least one of a location, a group identifier, and an entity type.

### Claim 19 (depends on 16)

The computer system of claim 16, wherein the first comparison criteria determines whether the master entity and the subordinate entities share a substring.

### Claim 20 (depends on 16)

The computer system of claim 16, further comprising a sorting module implemented by the at least one processor and configured to sort the plurality of entities based on a sorting length before the plurality of entities are organized into the groups, the sorting length being a value based on a function of an entity length of each of the entities.

### Claim 21 (depends on 20)

The computer system of claim 20, wherein the sorting module is further configured to:
sort a first portion in non-descending order, the first portion including the entities that meet a length condition based on the sorting length; and
sort a second portion in non-descending order, the second portion including the entities that do not meet the length condition based on the sorting length, the second portion being located after the first portion.

### Claim 22 (depends on 16)

The computer system of claim 16, wherein a master entity of a particular group is an entity from the particular group that is first selected from the plurality of entities to form the particular group, and subordinate entities of the particular group are entities from the plurality of entities that, when compared to the master entity, meet a similarity condition defined by the first comparison criteria.

### Claim 23 (depends on 16)

The computer system of claim 16, wherein the entity matching module is further configured to break the entities into sub-groups based on an entity type.

### Claim 24 (depends on 16)

The computer system of claim 16, wherein the first comparison criteria forms groups of entities within a sentence.

### Claim 25 (depends on 16)

The computer system of claim 16, the second comparison criteria forms groups of entities within a paragraph.

### Claim 26 (depends on 16)

The computer system of claim 16, wherein entities from the first group into a subgroup based on the one or more entities having a determinable affix.

### Claim 27 (depends on 16)

The computer system of claim 16, wherein each entity is associated with feedback submitted by a customer.

### Claim 28 (depends on 16)

The computer system of claim 16, wherein each entity is associated with a requirement submitted by a customer.

### Claim 29 (depends on 16)

The computer system of claim 16, wherein the entity matching module is further configured to perform a number of matching operations, the number of matching operations involves the matching module being configured to:
select an entity from the plurality of entities that is not associated with any group;
using the first comparison criteria, determine a set of entities from the plurality of entities that meet a similarity threshold, the set of entities not being associated with any group; and
associate the selected entity and the set of entities with a group.

### Claim 30 (depends on 29)

The computer system of claim 29, wherein the entity matching module is further configured to perform the number of matching operations to form other groups until all the entities are associated with a group.

### Claim 31

A non-transitory computer-readable storage medium storing instructions for causing a processor to implement operations, the operations comprising:
identifying a plurality of entities found in one or more data sources, each entity representing a word or a phrase found in the one or more data sources;
using a first comparison criteria, organizing the plurality of entities into groups, each group identifying one of the entities as a master entity and a set of entities as subordinate entities;
using a second comparison criteria, associating a first group from the groups with a second group from the groups, the second comparison criteria comparing a master entity associated with the first group with a master entity associated with the second group; and
determining that a first entity is related to a second entity based on the association between the first group and the second group.
