# US 2020/0401380 A1 · Application Digital Content Control using an Embedded Machine Learning Module

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

- Number: US 2020/0401380 A1
- Document ID: US20200401380A1
- Status: Published application
- Kind: A1
- Application number: 17/007,253
- Filed: 2020-08-31
- Published: 2020-12-24
- Earliest claimed: 2017-10-16
- Assignees: Adobe Inc.
- Applicants: Adobe Inc.
- Inventors: Thomas William Randall Jacobs; Peter Raymond Fransen; Kevin Gary Smith; Kent Andrew Edmonds; Jen-Chan Jeff Chien; Gavin Stuart Peter Miller
- Web page: https://patentgrep.com/patent/US20200401380A1

## CPC

- G06F 8/33: Intelligent editors
- G06F 21/6245: {Protecting personal data, e.g. for financial or medical purposes}
- G06N 5/02: Knowledge representation; Symbolic representation
- 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

Application personalization techniques and systems are described that leverage an embedded machine learning module to preserve a user's privacy while still supporting rich personalization with improved accuracy and efficiency of use of computational resources over conventional techniques and systems. The machine learning module, for instance, may be embedded as part of an application to execute within a context of the application to learn user preferences to train a model using machine learning. This model is then used within the context of execution of the application to personalize the application, such as control access to digital content, make recommendations, control which items of digital marketing content are exposed to a user via the application, and so on.

## Claims

### Claim 1

In a digital medium application creation environment, a method implemented by at least one computing device, the method comprising:
generating, by the at least one computing device computing device, an application based on user interaction with a software development kit as executed by the at least one computing device;
receiving, by the at least one computing device, a user input caused via interaction with the software development kit to select a machine learning module included as part of the software development kit;
embedding, by the at least one computing device, the selected machine learning module from the software development kit as part of the application, the machine learning module configured to train a model using machine learning based on user interaction within a context of the application when executed; and
outputting, by the at least one computing device, the application as having the embedded machine learning module.

### Claim 2 (depends on 1)

The method as described in claim 1, wherein the software development kit includes a set of software development tools that are executable by the at least one computing device to create the application based on the user interaction.

### Claim 3 (depends on 2)

The method as described in claim 2, wherein the set of software development tools includes an option to select the machine learning module from a plurality of machine learning modules configured to support different configurations of models for machine learning, one to another.

### Claim 4 (depends on 2)

The method as described in claim 2, wherein the set of software development tools are configured to specify application programming interfaces and employ debugging.

### Claim 5 (depends on 1)

The method as described in claim 1, wherein the machine learning module is configured to generate the recommendation based on a pattern identified in the user interaction with the application as learned during execution of the application.

### Claim 6 (depends on 1)

The method as described in claim 1, wherein the machine learning module is configured to:
transmit data describing the model, once trained, via a network; and
receive a recommendation via the network in response to transmission of the data.

### Claim 7 (depends on 6)

The method as described in claim 6, wherein the data describes weights assigned to respective nodes of a neural network that form the model as part of the machine learning.

### Claim 8 (depends on 6)

The method as described in claim 6, wherein the data does not indicate how the model is trained.

### Claim 9

In a digital medium application creation environment, a system comprising:
a processing system; and
a computer-readable storage medium having instructions stored thereon that, responsive to execution by the processing system, causes the processing system to perform operations comprising:
generating an application based on user interaction with a software development kit as executed by the processing system;
receiving a user input caused via interaction with the software development kit to select a machine learning module included as part of the software development kit;
embedding the selected machine learning module from the software development kit as part of the application, the machine learning module configured to train a model using machine learning based on user interaction within a context of the application when executed; and
outputting the application as having the embedded machine learning module.

### Claim 10 (depends on 9)

The system as described in claim 9, wherein the software development kit includes a set of software development tools that are executable by the at least one computing device to create the application based on the user interaction.

### Claim 11 (depends on 10)

The system as described in claim 10, wherein the set of software development tools includes an option to select the machine learning module from a plurality of machine learning modules configured to support different configurations of models for machine learning, one to another.

### Claim 12 (depends on 10)

The system as described in claim 10, wherein the set of software development tools are configured to specify application programming interfaces and employ debugging.

### Claim 13 (depends on 9)

The system as described in claim 9, wherein the machine learning module is configured to generate the recommendation based on a pattern identified in the user interaction with the application as learned during execution of the application.

### Claim 14 (depends on 9)

The system as described in claim 9, wherein the machine learning module is configured to:
transmit data describing the model, once trained, via a network; and
receive a recommendation via the network in response to transmission of the data.

### Claim 15 (depends on 14)

The system as described in claim 14, wherein the data describes weights assigned to respective nodes of a neural network that form the model as part of the machine learning.

### Claim 16 (depends on 14)

The system as described in claim 14, wherein the data does not indicate how the model is trained.

### Claim 17

In a digital medium application creation environment, a system comprising:
means for generating an application based on user interaction with a software development kit;
means for receiving a user input caused via interaction with the software development kit to select a machine learning module included as part of the software development kit; and
means for embedding the selected machine learning module from the software development kit as part of the application, the machine learning module configured to train a model using machine learning based on user interaction within a context of the application when executed.

### Claim 18 (depends on 17)

The system as described in claim 17, wherein the software development kit includes a set of software development tools that are executable by the at least one computing device to create the application based on the user interaction.

### Claim 19 (depends on 18)

The system as described in claim 18, wherein the set of software development tools includes an option to select the machine learning module from a plurality of machine learning modules configured to support different configurations of models for machine learning, one to another.

### Claim 20 (depends on 18)

The system as described in claim 18, wherein the set of software development tools are configured to specify application programming interfaces and employ debugging.
