# US 12,001,467 B1 · Feature engineering based on semantic types

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

- Number: US 12,001,467 B1
- Document ID: US12001467B1
- Status: Granted
- Kind: B1
- Application number: 17/539,557
- Filed: 2021-12-01
- Granted: 2024-06-04
- Earliest claimed: 2021-12-01
- Assignees: American Express Travel Related Services Company, Inc.
- Applicants: American Express Travel Related Services Company, Inc.
- Inventors: Man Chon U; Beau Britain; Thai Chiun Huang; Yan Yang; Linou Zhu
- Web page: https://patentgrep.com/patent/US12001467B1

## CPC

- G06F 16/35: Clustering; Classification
- G06N 5/04: Inference or reasoning models
- G06N 20/00: Machine learning
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06N: COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS

## Abstract

A computer-based system may engineer features based on semantic types. The computer-based system may implement deep learning algorithms and derive a domain-specific feature engineering strategy from semantic type predictions and data profiling. The computer-based system may utilize embedded domain (e.g., financial industry, etc.) knowledge to generate curated features from raw data (e.g., transactional datasets, relational datasets, etc.).

## Claims

### Claim 1

A computer-implemented method for determining features from raw data, the method comprising:
receiving a plurality of data structures of raw data, wherein each data structure of the plurality of data structures comprises a respective plurality of data elements;
determining a data profile for the raw data based on an amount of data elements of the respective plurality of data elements for a first data structure of a portion of the plurality of data structures satisfying a statistical threshold for indicating the data profile;
determining, based on respective semantic rules that describe how to infer respective semantic types from data elements of the respective plurality of data elements for the portion of the plurality of data structures, a respective semantic type for each data structure of the portion of the plurality of data structures;
determining that the semantic types for the portion of the plurality of data structures correspond to the data profile;
validating, based on correspondence between the respective semantic types for the portion of the plurality of data structures and the data profile, the respective semantic types for the portion of the plurality of data structures;
determining, based on respective semantic rules that describe how to infer respective semantic types from data elements of the respective plurality of data elements for each remaining data structure of the plurality of data structures, a respective semantic type for each remaining data structure of the plurality of data structures; and
selecting, based on the respective semantic type for each data structure of the plurality of data structures, a respective feature engineering instruction for each data structure of the plurality of data structures that describes how to calculate an input feature for a machine learning model based on the respective plurality of data elements.

### Claim 2 (depends on 1)

The computer-implemented method of claim 1, wherein the raw data comprises at least one of transactional datasets or relational datasets, and wherein the remaining data structures of the plurality of data structures are different from the portion of the plurality of data structures.

### Claim 3 (depends on 1)

The computer-implemented method of claim 1, wherein determining the data profile is further based on at least one of column profiling, cross-column profiling, cross-table profiling, or data rule validation.

### Claim 4 (depends on 1)

The computer-implemented method of claim 1, wherein the statistical threshold for indicating the data profile is based on a distribution of characters indicated by each data element of the respective plurality of data elements for each data structure of the plurality of data structures.

### Claim 5 (depends on 1)

The computer-implemented method of claim 1, further comprising determining, based on the feature engineering instruction, one or more features.

### Claim 6 (depends on 5)

The computer-implemented method of claim 5, further comprising sending, to a data pipeline configured to ingest the raw data, the one or more features, wherein the one or more features facilitate a prediction associated with the raw data.

### Claim 7

A non-transitory computer-readable device having instructions stored thereon for determining features from raw data, that, when executed by at least one computing device, causes the at least one computing device to perform operations comprising:
receiving a plurality of data structures of raw data, wherein each data structure of the plurality of data structures comprises a respective plurality of data elements;
determining a data profile for the raw data based on an amount of data elements of the respective plurality of data elements for a first data structure of a portion of the plurality of data structures satisfying a statistical threshold for indicating the data profile;
determining, based on respective semantic rules that describe how to infer respective semantic types from data elements of the respective plurality of data elements for the portion of the plurality of data structures, a respective semantic type for each data structure of the portion of the plurality of data structures;
determining that the semantic types for the portion of the plurality of data structures correspond to the data profile;
validating, based on correspondence between the respective semantic types for the portion of the plurality of data structures and the data profile, the respective semantic types for the portion of the plurality of data structures;
determining, based on respective semantic rules that describe how to infer respective semantic types from data elements of the respective plurality of data elements for each remaining data structure of the plurality of data structures, a respective semantic type for each remaining data structure of the plurality of data structures; and
selecting, based on the respective semantic type for each data structure of the plurality of data structures, a respective feature engineering instruction for each data structure of the plurality of data structures that describes how to calculate an input feature for a machine learning model based on the respective plurality of data elements.

### Claim 8 (depends on 7)

The non-transitory computer-readable device of claim 7, wherein the raw data comprises at least one of transactional datasets or relational datasets, and wherein the remaining data structures of the plurality of data structures are different from the portion of the plurality of data structures.

### Claim 9 (depends on 7)

The non-transitory computer-readable device of claim 7, wherein determining the data profile is further based on at least one of column profiling, cross-column profiling, cross-table profiling, or data rule validation.

### Claim 10 (depends on 7)

The non-transitory computer-readable device of claim 7, wherein the statistical threshold for indicating the data profile is based on a distribution of characters indicated by each data element of the respective plurality of data elements for each data structure of the plurality of data structures.

### Claim 11 (depends on 10)

The non-transitory computer-readable device of claim 10, wherein the instructions stored thereon further cause the at least one computing device to perform operations comprising:
determining, based on the feature engineering instruction, one or more features; and
sending, to a data pipeline configured to ingest the raw data, the one or more features, wherein the one or more features facilitate a prediction associated with the raw data.

### Claim 12

A system for determining features from raw data comprising:
a memory; and
at least one processor coupled to the memory and configured to:
receive a plurality of data structures of raw data, wherein each data structure of the plurality of data structures comprises a respective plurality of data elements;
determine a data profile for the raw data based on an amount of data elements of the respective plurality of data elements for a first data structure of a portion of the plurality of data structures satisfying a statistical threshold for indicating the data profile;
determine, based on respective semantic rules that describe how to infer respective semantic types from data elements of the respective plurality of data elements for the portion of the plurality of data structures, a respective semantic type for each data structure of the portion of the plurality of data structures;
determine that the semantic types for the portion of the plurality of data structures correspond to the data profile;
validate, based on correspondence between the respective semantic types for the portion of the plurality of data structures and the data profile, the respective semantic types for the portion of the plurality of data structures;
determine, based on respective semantic rules that describe how to infer respective semantic types from data elements of the respective plurality of data elements for each remaining data structure of the plurality of data structures, a respective semantic type for each remaining data structure of the plurality of data structures; and
select, based on the respective semantic type for each data structure of the plurality of data structures, a respective feature engineering instruction for each data structure of the plurality of data structures that describes how to calculate an input feature for a machine learning model based on the respective plurality of data elements.

### Claim 13 (depends on 12)

The system of claim 12, wherein the raw data comprises at least one of transactional datasets or relational datasets, and wherein the remaining data structures of the plurality of data structures are different from the portion of the plurality of data structures.

### Claim 14 (depends on 13)

The system of claim 13, wherein the at least one processor is further configured to determine the data profile is further configured to determine the data profile based on at least one of column profiling, cross-column profiling, cross-table profiling, or data rule validation.

### Claim 15 (depends on 13)

The system of claim 13, wherein the statistical threshold for indicating the data profile is based on a distribution of characters indicated by each data element of the respective plurality of data elements for each data structure of the plurality of data structures.

### Claim 16 (depends on 12)

The system of claim 12, wherein the at least one processor is further configured to:
determine, based on the feature engineering instruction, one or more features.

### Claim 17 (depends on 16)

The system of claim 16, wherein the at least one processor is further configured to:
send, to a data pipeline configured to ingest the raw data, the one or more features, wherein the one or more features facilitate a prediction associated with the raw data.
