IP Library Granted Patent US 10,353,927
Granted Patent B2
US 10,353,927 · App. 15/324,043 · Granted Jul 16, 2019

Categorizing columns in a data table

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 10,353,927
App. No.
15/324,043
Granted
Jul 16, 2019
Kind
B2
Abstract

In an example, columns in a data table may be categorized according to a data type based upon an analysis of data elements contained in each column with a grammar file. The data type of a column be may be categorized as one of a general data type and a specific data type. In addition, the grammar file may be expanded by at least one of adding a data element to the grammar file in response to a column being categorized as a specific data type and inserting a new data type to the grammar file in response to a column being categorized as a general data type.

Claims (55)

1. A method for categorizing columns in a data table, comprising:

categorizing, by a processor, each of the columns of the data table as one of a specific data type and a general data type based upon an analysis of data elements contained in each column with a grammar file, wherein a column is categorized as a specific data type when a majority of the data elements in the column are recognized as named entities in a specific category of the grammar file, and a column is categorized as a general data type when the data elements in the column belong to a general category in the grammar file; and

expanding, by the processor, the grammar file by at least one of:

in response to a column being categorized as a specific data type, adding an unrecognized data element from the column to the grammar file; and

in response to a column being categorized as a general data type, creating a new data type based on the data elements in the column and inserting the new data type into the grammar file.

2. The method of claim 1 , wherein adding the unrecognized data element from the column to the grammar file further includes:

extracting the unrecognized data element from the column categorized as a specific data type; and

adding the unrecognized data element to the grammar file for the specific data type.

3. The method of claim 1 , wherein inserting the new data type into the grammar file further includes:

identifying a similarity between the data elements in the column categorized as a general data type;

creating a new specific data type for the data elements based on the identified similarity;

validating that the new specific data type describes the data elements in the column; and

adding the data elements to the grammar file for the new specific data type.

4. The method of claim 1 , wherein categorizing each of the columns further includes:

receiving a user selection of a set of data types from which to categorize the columns; and

executing a set of data analyzers to evaluate the data elements in each of the columns, wherein the set of data analyzers corresponds to the user selected set of data types.

5. The method of claim 4 , wherein executing the set of data analyzers on the data elements in each of the columns further includes:

receiving a relevance score from each data analyzer in the set of data analyzers, wherein the relevance score is a function of a frequency of data elements in the column with a data type corresponding to the data analyzer; and

ranking all of the relevance scores from each data analyzer based on a predefined priority, wherein the predefined priority assigns a higher priority to data elements with a specific data type.

6. The method of claim 4 , wherein the set of data analyzers includes a named entity extraction data analyzer for analyzing data elements of the specific data type.

7. The method of claim 1 , wherein the general data type includes rows containing at least one of a numeral, a string, and a temporal value.

8. The method of claim 1 , wherein the specific data type includes rows containing at least one of a name of a person, a name of a company, a name of a location, and a currency.

9. A computing device to categorize columns in a data table, comprising:

a processor;

a memory storing machine readable instructions that are executable by the processor to cause the processor to:

identify each of the columns in the data table according to a data type based upon an analysis of entities contained in each column with a dictionary, wherein the data type is one of a non-named entity type and a named entity type, wherein a column is identified as a named entity type when a majority of the entities in the column are recognized as named entities in a specific category of the dictionary, and a column is categorized as a non-named entity type when the entities in the column belong to a general category in the dictionary; and

augment the dictionary by at least one of:

in response to a column being categorized as a named entity type, adding an unrecognized entity from the column to the dictionary, and

in response to a column being categorized as a non-named entity type, creating a new data type from the entities in the column and inserting the new data type into the dictionary.

10. The computing device of claim 9 , wherein to add the unrecognized entity to the dictionary, the machine readable instructions are to cause the processor to:

extract the unrecognized entity from in the column categorized as a named entity type; and

add the unrecognized entity to the dictionary for the named entity type.

11. The computing device of claim 9 , wherein to insert the new data type into the dictionary, the machine readable instructions are to cause the processor to:

identify a similarity between the entities in the column categorized as a non-named entity type;

create a new named entity type for the entities in the column categorized as a non-named entity type based on the identified similarity;

validate that the new named entity type describes the entities in the column categorized as a non-named entity type; and

add the entities to the dictionary for the new named entity type.

12. The computing device of claim 9 , wherein to identify each of the columns according to a data type, the machine readable instructions are to cause the processor to:

receive a user selection of a set of data types from which to identify the data types for the entities in each of the columns, and

execute a set of data analyzers on the entities in each of the columns, wherein the set of data analyzers corresponds to the user selected set of data types;

receive a relevance score from each data analyzer, wherein the relevance score is a function of a frequency of entities in the column with a data type corresponding to the data analyzer; and

rank all of the relevance scores from each data analyzer based on a predefined priority, wherein the predefined priority assigns a higher priority to named entity types.

13. A non-transitory computer readable medium to categorize columns in a data table, including machine readable instructions executable by a processor to:

identify a data type for each of the columns based upon an evaluation of data elements contained in each column with a dictionary, wherein the data type is one of a general data type and a specific data type, wherein a column is identified as a specific data type when a majority of the data elements in the column are recognized as named entities in a specific category of the dictionary, and a column is categorized as a general data type when the data elements in the column belong to a general category in the dictionary;

in response to a column being identified as a specific data type, extract unrecognized data elements in the column and add the unrecognized data elements to the dictionary for the specific data type; and

in response to a column being identified as a general data type, identify a similarity between the data elements in the column and create a new specific data type to add to the dictionary based on the similarity of the data elements.

14. The non-transitory computer readable medium of claim 13 , wherein to identify the data type for each of the columns, the machine readable instructions are executable by the processor to:

receive a user selection of a set of data types from which to identify each of the columns; and

execute a set of data analyzers on the data elements in each of the columns, wherein the set of data analyzers corresponds to the user selected set of data types.

15. The non-transitory computer readable medium of claim 14 , wherein to execute the set of data analyzers on the data elements, the machine readable instructions are executable by the processor to:

receive a relevance score from each data analyzer from the set of data analyzers; and

rank all of the relevance scores from each data analyzer based on a predefined priority.

16. The non-transitory computer readable medium of claim 13 , wherein, after creating the new specific data type, the machine readable instructions are executable to cause the processor to:

validate that the new specific data type describes the data elements in the column categorized as a general data type; and

add the data elements of the column to the dictionary for the new specific data type.

Assignments (8)
RELEASE OF SECURITY INTEREST REEL/FRAME 044183/0577 Recorded Feb 2, 2023
From: JPMORGAN CHASE BANK, N.A.
To: MICRO FOCUS LLC (F/K/A ENTIT SOFTWARE LLC)
Reel/Frame 063560/0001 →
RELEASE OF SECURITY INTEREST REEL/FRAME 044183/0718 Recorded Feb 2, 2023
From: JPMORGAN CHASE BANK, N.A.
To: MICRO FOCUS LLC (F/K/A ENTIT SOFTWARE LLC); BORLAND SOFTWARE CORPORATION; MICRO FOCUS (US), INC.; SERENA SOFTWARE, INC; ATTACHMATE CORPORATION; MICRO FOCUS SOFTWARE INC. (F/K/A NOVELL, INC.); NETIQ CORPORATION
Reel/Frame 062746/0399 →
CHANGE OF NAME Recorded Aug 8, 2019
From: ENTIT SOFTWARE LLC
To: MICRO FOCUS LLC
Reel/Frame 050004/0001 →
SECURITY INTEREST Recorded Oct 11, 2017
From: ENTIT SOFTWARE LLC; ARCSIGHT, LLC
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 044183/0577 →
SECURITY INTEREST Recorded Oct 11, 2017
From: ATTACHMATE CORPORATION; BORLAND SOFTWARE CORPORATION; NETIQ CORPORATION; MICRO FOCUS (US), INC.; MICRO FOCUS SOFTWARE, INC.; ENTIT SOFTWARE LLC; ARCSIGHT, LLC; SERENA SOFTWARE, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 044183/0718 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 9, 2017
From: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
To: ENTIT SOFTWARE LLC
Reel/Frame 042746/0130 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 19, 2017
From: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 041418/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 5, 2017
From: TADESKI, INBAL; HAYOON, ELI; KOGAN, HADAS
To: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
Reel/Frame 040859/0457 →
Cited By (1)
US 12,411,855