IP Library Granted Patent US 11,630,853
Granted Patent B2
US 11,630,853 · App. 17/163,156 · Granted Apr 18, 2023

Metadata classification

Inventors: Craig E. Hawco (Toronto, CA); Joseph David Jensen (Riverhead, NY)
Assignee: Snowflake Inc.
G06F16/285
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 11,630,853
App. No.
17/163,156
Granted
Apr 18, 2023
Kind
B2
Abstract

Generating semantic names for a data set is described. An example method can include retrieving data from a data set, the data organized in a plurality of columns. The method may also include generating one or more candidate semantic categories for that column, wherein each of the one or more candidate semantic categories has a corresponding probability for each of the columns. The method may also further include creating a feature vector for each column from the one or more column candidate semantic categories and the corresponding probabilities. Additionally, the method may also include selecting, for each column, a column semantic category from the one or more candidate semantic categories using at least the feature vector and a trained machine learning model.

Claims (63)

1. A method comprising:

retrieving data from a data set, wherein the data is organized in a plurality of columns; and

for each column in the plurality of columns:

generating one or more candidate semantic categories for the column, wherein each of the one or more candidate semantic categories has a corresponding probability;

creating a feature vector for the column from the one or more candidate semantic categories and the corresponding probabilities;

inputting the feature vector into a trained machine learning model, wherein the trained machine learning model comprises an encoded threshold and identifies one of the one or more candidate semantic categories having a corresponding probability above the encoded threshold;

selecting a column semantic category for the column based on the candidate semantic category identified by the trained machine learning model;

determining a semantic category type of the column based on the column semantic category; and

anonymizing the data in the column in response to the semantic category type determined to be an identifier semantic type or a quasi-identifier type, wherein the anonymizing comprises:

retrieving a data hierarchy of the candidate semantic categories that comprises a lower level and a higher level, wherein the data hierarchy relates more specific data in the lower level with less specific data in the higher level;

matching the data from the column with a lower level location in the lower level of the data hierarchy;

identifying the less specific data in the higher level that relates to the lower level location; and

replacing the data in the column with the less specific data identified in the higher level.

2. The method of claim 1 , wherein there are a plurality of candidate semantic categories for at least one column.

3. The method of claim 1 , further comprising:

suppressing the data in the column in response to the semantic category type determined to be a sensitive semantic type.

4. The method of claim 1 , wherein generation of one or more candidate semantic categories comprises:

generating the probability for each of the one or more candidate semantic categories.

5. The method of claim 4 , wherein the generation of the probabilities comprises:

selecting a column from the plurality of columns;

applying a bloom filter with a potential semantic category to the data of the selected column; and

computing the probability based on a set of results from an application of the bloom filter to the data of the selected column.

6. The method of claim 5 , wherein the bloom filter is one of a whitelist bloom filter and a blacklist bloom filter.

7. The method of claim 1 , wherein the trained machine learning model is a random forest trained machine learning model.

8. A system comprising:

a set of storage resources;

a query processor to:

retrieve data from a data set, wherein the data is organized in a plurality of columns; and

for each column in the plurality of columns:

generate, with the query processor, one or more candidate semantic categories for the column, wherein each of the one or more candidate semantic categories has a corresponding probability;

create a feature vector for the column from the one or more candidate semantic categories and the corresponding probabilities;

input the feature vector into a trained machine learning model, wherein the trained machine learning model comprises an encoded threshold and identifies one of the one or more candidate semantic categories having a corresponding probability above the encoded threshold;

select a column semantic category for the column based on the candidate semantic category identified by the trained machine learning model;

determine a semantic category type of the column based on the column semantic category; and

anonymize the data in the column in response to the semantic category type determined to be an identifier semantic type or a quasi-identifier type, wherein the query processor to:

retrieve a data hierarchy of the candidate semantic categories that comprises a lower level and a higher level, wherein the data hierarchy relates more specific data in the lower level with less specific data in the higher level;

match the data from the column with a lower level location in the lower level of the data hierarchy;

identify the less specific data in the higher level that relates to the lower level location; and

replace the data in the column with the less specific data identified in the higher level.

9. The system of claim 8 , wherein there are a plurality of candidate semantic categories for at least one column.

10. The system of claim 8 , wherein the query processor further to:

suppress the data in the column in response to the semantic category type determined to be a sensitive semantic type.

11. The system of claim 8 , wherein for the generation of one or more candidate semantic categories, the query processor further to:

generate the probability for each of the one or more candidate semantic categories.

12. The system of claim 11 , wherein for the generation of the probabilities, the query processor further to:

select a column from the plurality of columns;

apply a bloom filter with a potential semantic category to the data of the selected column; and

compute the probability based on a set of results from an application of the bloom filter to the data of the selected column.

13. The system of claim 12 , wherein the bloom filter is one of a whitelist bloom filter and a blacklist bloom filter.

14. The system of claim 8 , wherein the trained machine learning model is a random forest trained machine learning model.

15. A non-transitory machine-readable medium storing instructions which, when executed by one or more processors of a computing device, cause the one or more processors to:

retrieve data from a data set, wherein the data is organized in a plurality of columns; and

for each column in the plurality of columns:

generate, with the one or more processor, one or more candidate semantic categories for the column, wherein each of the one or more candidate semantic categories has a corresponding probability,

create a feature vector for the column from the one or more candidate semantic categories and the corresponding probabilities;

input the feature vector into a trained machine learning model, wherein the trained machine learning model comprises an encoded threshold and identifies one of the one or more candidate semantic categories having a corresponding probability above the encoded threshold;

select a column semantic category for the column based on the candidate semantic category identified by the trained machine learning model;

determine a semantic category type of the column based on the column semantic category; and

anonymize the data in the column in response to the semantic category type determined to be an identifier semantic type or a quasi-identifier type, wherein the one or more processors to:

retrieve a data hierarchy of the candidate semantic categories that comprises a lower level and a higher level, wherein the data hierarchy relates more specific data in the lower level with less specific data in the higher level;

match the data from the column with a lower level location in the lower level of the data hierarchy;

identify the less specific data in the higher level that relates to the lower level location; and

replace the data in the column with the less specific data identified in the higher level.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 3, 2021
From: HAWCO, CRAIG E.; JENSEN, JOSEPH DAVID
To: SNOWFLAKE INC.
Reel/Frame 056428/0385 →
Continuity (1)
Related Publication 20220245175A1 · Aug 4, 2022
Cited By (2)
US 12,293,003 US 12,505,253