# US 2020/0402084 A1 · Object-oriented ai modeling

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

- Number: US 2020/0402084 A1
- Document ID: US20200402084A1
- Status: Published application
- Kind: A1
- Application number: 16/891,827
- Filed: 2020-06-03
- Published: 2020-12-24
- Earliest claimed: 2019-06-03
- Applicants: Cerebri AI Inc.
- Inventors: Alain Charles Briancon; Jean Joseph Belanger; Chris Michael Coovrey; Valisis Sotiris; Eric Paver Simon
- Web page: https://patentgrep.com/patent/US20200402084A1

## CPC

- G06Q 40/08: Insurance
- G06F 8/10: Requirements analysis; Specification techniques
- G06F 8/24: {Object-oriented}
- G06F 8/315: {Object-oriented languages}
- G06F 8/36: Software reuse
- G06F 9/44521: {Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading}
- G06F 16/254: {Extract, transform and load [ETL] procedures, e.g. ETL data flows in data warehouses}
- G06F 18/214: Generating training patterns; Bootstrap methods, e.g. bagging or boosting
- G06F 18/2148: {characterised by the process organisation or structure, e.g. boosting cascade}
- G06F 18/2185: {the supervisor being an automated module, e.g. intelligent oracle}
- G06F 18/24323: {Tree-organised classifiers}
- G06F 30/20: Design optimisation, verification or simulation (optimisation, verification or simulation of circuit designs G06F30/30)
- G06N 3/0442: characterised by memory or gating, e.g. long short-term memory [LSTM] or gated recurrent units [GRU]
- G06N 3/0455: Auto-encoder networks; Encoder-decoder networks
- G06N 3/0464: Convolutional networks [CNN, ConvNet]
- G06N 3/0475: Generative networks
- G06N 3/082: modifying the architecture, e.g. adding, deleting or silencing nodes or connections
- G06N 3/09: Supervised learning
- G06N 3/092: Reinforcement learning
- G06N 3/094: Adversarial learning
- G06N 3/098: Distributed learning, e.g. federated learning
- G06N 3/0985: Hyperparameter optimisation; Meta-learning; Learning-to-learn
- G06N 5/01: Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
- G06N 5/04: Inference or reasoning models
- G06N 20/00: Machine learning
- G06N 20/20: Ensemble learning
- G06Q 10/06316: {Sequencing of tasks or work}
- G06Q 10/06375: {Prediction of business process outcome or impact based on a proposed change}
- G06Q 10/06393: {Score-carding, benchmarking or key performance indicator [KPI] analysis}
- G06Q 10/067: Enterprise or organisation modelling
- G06Q 30/012: Providing warranty services
- G06Q 30/016: After-sales
- G06Q 30/0201: Market modelling; Market analysis; Collecting market data
- G06Q 30/0202: Market predictions or forecasting for commercial activities
- G06Q 30/0204: Market segmentation
- G06Q 40/03: Credit; Loans; Processing thereof
- G06N 3/044: Recurrent networks, e.g. Hopfield networks
- G06N 3/126: Evolutionary algorithms, e.g. genetic algorithms or genetic programming
- G06N 5/022: Knowledge engineering; Knowledge acquisition
- G06N 7/01: Probabilistic graphical models, e.g. probabilistic networks
- G06Q: INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06N: COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS

## Abstract

Provided is a process including: obtaining, for a plurality of entities, datasets; and orchestrating an object-orientated application or service by: forming a plurality of objects, forming object-oriented labeled datasets based on an event and the attributes of each of the datasets; forming a library or framework of classes with a plurality of object-orientation modelors; and forming a plurality of object-manipulation functions, each function being configured to leverage a respective class among the library or framework of classes.

## Claims

### Claim 1

A tangible, non-transitory, machine-readable medium storing instructions that when executed by one or more processors effectuate operations comprising:
obtaining, with one or more processors, for a plurality of entities, datasets, wherein:
the datasets comprise a plurality of entity logs;
the entity logs comprise events involving the entities;
at least some of the events are actions by the entities;
at least some of the actions are targeted actions;
the entity logs comprise or are otherwise associated with attributes of the entities; and
the events are distinct from the attributes;
orchestrating, with one or more processors, an object-orientated application or service by:
forming a plurality of objects, wherein each object of the plurality of objects comprises a different set of attributes and events;
forming object-oriented labeled datasets based on the event and the attributes of each of the datasets;
forming a library or framework of classes with a plurality of object-orientation modelors; and
forming a plurality of object-manipulation functions, each function being configured to leverage a respective class among the library or framework of classes;
receiving, with one or more processors, a request to determine a set of actions to achieve, or increase likelihood of, a given targeted action;
assigning, with one or more processors, the given targeted action to a first subset of classes from the library or framework of classes of the object-orientated application or service; and
determining, with one or more processors, based on the assigning, the set of actions to achieve, or increase likelihood of, the given targeted action using a first subset of the plurality of object-manipulation functions leveraging the first subset of classes from the library or framework of classes of the object-orientated application or service.

### Claim 2 (depends on 1)

The medium of claim 1, wherein the orchestrating further comprises:
adding version numbers to the datasets;
adding primary surrogate keys to the datasets and updating the version numbers; and
encoding the datasets in dimensional star schema and updating the version numbers.

### Claim 3 (depends on 1)

The medium of claim 1, wherein the orchestrating further comprises:
forming a first training dataset from the datasets;
training, with one or more processors, a first machine-learning modeling pipeline on the first training dataset by adjusting parameters of the first machine-learning modeling pipeline to optimize a first objective function that indicates an accuracy of the plurality of object-orientation modelors in generating the library or framework of classes; and
storing, with one or more processors, the adjusted parameters of the trained first machine-learning modeling pipeline in memory.

### Claim 4 (depends on 3)

The medium of claim 3, wherein training comprises steps for training.

### Claim 5 (depends on 1)

The medium of claim 1, wherein the orchestrating further comprises:
forming a second training dataset from the datasets;
training, with one or more processors, a second machine-learning model on the second training dataset by adjusting parameters of the second machine-learning model to optimize a second objective function that determines the first subset of the plurality of object-manipulation functions; and
storing, with one or more processors, the adjusted parameters of the trained second machine-learning model in memory.

### Claim 6 (depends on 1)

The medium of claim 1, wherein the plurality of entity logs comprise:
consumers;
communications to consumers by an enterprise;
communications to an enterprise by consumers;
purchases by consumers from an enterprise;
non-purchase interactions by consumers with an enterprise; and
a customer relationship management system of an enterprise.

### Claim 7 (depends on 6)

The medium of claim 6, wherein:
the enterprise is a credit card issuer and the given targeted action is predicting whether a consumer will default;
the enterprise is a lender and the given targeted action is predicting whether a consumer will borrow;
the enterprise is an insurance company and the given targeted action is predicting whether a consumer will file a claim;
the enterprise is an insurance company and the given targeted action is predicting whether a consumer will sign-up for insurance;
the enterprise is a vehicle seller and the given targeted action is predicting whether a consumer will purchase a vehicle;
the enterprise is a seller of goods and the given targeted action is predicting whether a consumer will file a warranty claim,
the enterprise is a wireless operator and the given targeted action is predicting whether a consumer upgrade their cellphone, or
the enterprise is a bank and the given targeted action is predicting GDP variation.

### Claim 8 (depends on 1)

The medium of claim 1, wherein the assignment of the given targeted action to a first subset of classes comprises:
assigning the given targeted action to a first subset of the plurality of objects using a second subset of the plurality of object-manipulation functions; and
determining the first subset of classes from the library or framework of classes of the object-orientated application or service that are related to the first subset of the plurality of objects.

### Claim 9 (depends on 8)

The medium of claim 8, wherein second subset of the plurality of object-manipulation functions are configured to add new objects to the plurality of objects.

### Claim 10 (depends on 9)

The medium of claim 9, wherein the new objects comprise attributes and events related to the given targeted action.

### Claim 11 (depends on 1)

The medium of claim 1, wherein the datasets comprise:
a data frame;
a data stream;
a column in a table;
a row in a column;
a cell in a table;
structured data; and
unstructured data.

### Claim 12 (depends on 1)

The medium of claim 1, wherein the plurality of object-manipulation functions comprises:
a sequence function used to change a collection of events into a time sequences for processing;
a feature function used to gather features of a first object-orientation modelor and then use the features in a second object-orientation modelor;
an economic function used to:
gather economic objectives and economic constraints of an entity; and
employ an allocation algorithm to maximize the objectives; and
an ensembling function used to combine a first subset of the library or framework of classes.

### Claim 13 (depends on 12)

The medium of claim 12, wherein the plurality of object-manipulation functions are arranged to perform in series.

### Claim 14 (depends on 12)

The medium of claim 12, wherein the plurality of object-manipulation functions are arranged to change orders dynamically based on the given targeted action.

### Claim 15 (depends on 1)

The medium of claim 1, wherein the plurality of object-orientation modelors comprises:
a scaled propensity modelor used to calculate probability of a customer making an economic commitment;
a timing modelor used to calibrate moments in time when a customer is likely to engage with the given targeted action;
an affinity modelor used to capture ranked likes and dislikes of an entity's customers for a first subset of targeted actions;
a best action modelor used to create a framework for concurrent Key Performance Index of the given targeted action at different points in a customer's journey; and
a cluster modelor used to group an entity's customers based on the customers' behavior into a finite list.

### Claim 16 (depends on 15)

The medium of claim 15, wherein the plurality of object-orientation modelors are arranged to perform in series.

### Claim 17 (depends on 15)

The medium of claim 15, wherein the plurality of object-orientation modelors are arranged to perform in parallel.

### Claim 18 (depends on 15)

The medium of claim 15, wherein the plurality of object-orientation modelors are arranged to change orders dynamically based on the given targeted action.

### Claim 19 (depends on 1)

The medium of claim 1, wherein:
the given targeted action comprises a plurality of sub-targets; and
at least some targets of the plurality of sub-targets are expected to happen at different times in future.

### Claim 20 (depends on 1)

The medium of claim 1, wherein:
the given targeted action comprises a plurality of sub-targets; and
the plurality of object-orientation modelors comprises:
a scaled propensity modelor used to calculate probability of a customer making an economic commitment;
a timing modelor used to calibrate moments in time when a customer is likely to engage with each subset of the plurality of sub-targets;
an affinity modelor used to capture ranked likes and dislikes of an entity's customers for a first subset of targeted actions;
a best action modelor used to create a framework for concurrent Key Performance Index for each subset of the plurality of sub-targets at different points in a customer's journey;
a cluster modelor used to group an entity's customers based on the customers' behavior into a finite list; and
wherein:
a first subset of the plurality of object-orientation modelors are used for a first subset of the plurality of sub-targets;
a second subset of the plurality of object-orientation modelors are used for a second subset of the plurality of sub-targets; and
wherein the order in which the first subset of the plurality of object-orientation modelors perform is different from the order in which the second subset of the plurality of object-orientation modelors perform.

### Claim 21 (depends on 1)

The medium of claim 1, wherein the object-oriented labeled datasets formed according to an ontology of events.

### Claim 22 (depends on 21)

The medium of claim 21, wherein the ontology of events comprises Concurrent Ontology Labelling Datastore (COLD) methodology.

### Claim 23 (depends on 1)

The medium of claim 1, wherein the object-oriented labeled datasets formed according to a hierarchal taxonomy of events.

### Claim 24 (depends on 1)

The medium of claim 1, the operations comprising:
steps for determining the set of actions required to achieve the given targeted action.

### Claim 25

A method, comprising:
obtaining, with one or more processors, for a plurality of entities, datasets, wherein:
the datasets comprise a plurality of entity logs;
the entity logs comprise events involving the entities;
at least some of the events are actions by the entities;
at least some of the actions are targeted actions;
the entity logs comprise or are otherwise associated with attributes of the entities; and
the events are distinct from the attributes;
orchestrating, with one or more processors, an object-orientated application or service by:
forming a plurality of objects, wherein each object of the plurality of objects comprises a different set of attributes and events;
forming object-oriented labeled datasets based on the event and the attributes of each of the datasets;
forming a library or framework of classes with a plurality of object-orientation modelors; and
forming a plurality of object-manipulation functions, each function being configured to leverage a respective class among the library or framework of classes;
receiving, with one or more processors, a request to determine a set of actions to achieve, or increase likelihood of, a given targeted action;
assigning, with one or more processors, the given targeted action to a first subset of classes from the library or framework of classes of the object-orientated application or service; and
determining, with one or more processors, based on the assigning, the set of actions to achieve, or increase likelihood of, the given targeted action using a first subset of the plurality of object-manipulation functions leveraging the first subset of classes from the library or framework of classes of the object-orientated application or service.
