IP Library Granted Patent US 11,651,291
Granted Patent B2
US 11,651,291 · App. 16/777,686 · Granted May 16, 2023

Real-time predictions based on machine learning models

Inventors: Rakesh Ganapathi Karanth (San Mateo, CA); Arun Kumar Jagota (Sunnyvale, CA); Kaushal Bansal (Pleasanton, CA); Amrita Dasgupta (San Francisco, CA)
Assignee: Salesforce, Inc.
G06N20/20G06N7/005
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,651,291
App. No.
16/777,686
Granted
May 16, 2023
Kind
B2
Abstract

An online system performs predictions for real-time tasks and near real-time tasks that need to be performed by a deadline. A client device receives a real-time machine learning based model associated with a measure of accuracy. If the client device determines that a task can be performed using predictions having less than the specified measure of accuracy, the client device uses the real-time machine learning based model. If the client device determines that a higher level of accuracy of results is required, the client device sends a request to an online system. The online system provides a prediction along with a string representing a rationale for the prediction.

Claims (64)

1. A computer-implemented method for performing predictions, the method comprising:

receiving, by a client device from an online system, a regression based machine learning model and a measure of accuracy of the regression based machine learning model;

receiving a request for a task;

extracting features of the task;

determining whether a level of expected accuracy for the task is below the measure of accuracy of the regression based machine learning model;

responsive to determining that the level of expected accuracy for the task is below the measure of accuracy of the regression based machine learning model:

executing the regression based machine learning model with the extracted features of the task as input to generate a first output;

responsive to determining that a level of expected accuracy for the task is above the measure of accuracy of the regression based machine learning model:

serializing the extracted features of the task;

transmitting, from the client device to the online system, the serialized features, causing the online system to execute a second machine learning based model with the features of the task as input to generate a second output; and

receiving, from the online system, the second output of the second machine learning based model; and

performing the task using the received first output or second output.

2. The computer-implemented method of claim 1 , wherein the second machine learning based model is one of a deep learning based neural network model or a random forest based machine learning model.

3. The computer-implemented method of claim 1 , further comprising:

determining, by a client device, work load exceeding a threshold value, a workload representing tasks associated with the client device, wherein the client device executes the regression based machine learning model further in response to the work load exceeding a threshold value.

4. The computer-implemented method of claim 1 , further comprising:

determining, by a client device, that the first task needs to be finished within a threshold time interval, wherein the client device executes the regression based machine learning model further in response to determining that the first task needs to be finished within a threshold time interval.

5. The computer-implemented method of claim 1 , wherein the second machine learning based model is a decision tree based machine learning model.

6. The computer-implemented method of claim 5 , further comprising:

receiving, from the online system, a string representing a description of a rationale for the prediction of the second machine learning based model, the string generated based on an execution of the decision tree based machine learning model.

7. The computer-implemented method of claim 1 , wherein the online system is a multi-tenant system and the client device is associated with a user of a tenant of the multi-tenant system, wherein each of the regression based machine learning model and the second machine learning based model is trained using training data set of the tenant.

8. A non-transitory computer readable storage medium for storing instructions that when executed by a computer processor cause the computer processor to perform steps for performing predictions, the steps comprising:

receiving, by a client device from an online system, a regression based machine learning model and a measure of accuracy of the regression based machine learning model;

receiving a request for a task;

extracting features of the task;

determining whether a level of expected accuracy for the task is below the measure of accuracy of the regression based machine learning model;

responsive to determining that the level of expected accuracy for the task is below the measure of accuracy of the regression based machine learning model:

executing the regression based machine learning model with the features of the task as input to generate a first output;

responsive to determining that a level of expected accuracy for the task is above the measure of accuracy of the regression based machine learning model:

serializing the extracted features of the task;

transmitting, from the client device to the online system, the serialized features, causing the online system to execute a second machine learning based model with the features of the task as input to generate a second output; and

receiving, from the online system, the second output of the second machine learning based model; and

performing the task using the received first output or second output.

9. The non-transitory computer readable storage medium of claim 8 , wherein the second machine learning based model is one of a deep learning based neural network model or a random forest based machine learning model.

10. The non-transitory computer readable storage medium of claim 8 , wherein the stored instructions further cause the computer processor to perform steps comprising:

determining, by a client device, work load exceeding a threshold value, the work load representing tasks associated with the client device, wherein the client device executes the regression based machine learning model further in response to the work load exceeding a threshold value.

11. The non-transitory computer readable storage medium of claim 8 , wherein the stored instructions further cause the computer processor to perform steps comprising:

determining, by a client device, that the task needs to be finished within a threshold time interval, wherein the client device executes the regression based machine learning model further in response to determining that the first needs to be finished within a threshold time interval.

12. The non-transitory computer readable storage medium of claim 8 , wherein the second machine learning based model is a decision tree based machine learning model.

13. The non-transitory computer readable storage medium of claim 12 , wherein the stored instructions further cause the computer processor to perform steps comprising:

receiving, from the online system, a string representing a description of a rationale for the prediction of the second machine learning based model, the string generated based on an execution of the decision tree based machine learning model.

14. The non-transitory computer readable storage medium of claim 12 , wherein the online system is a multi-tenant system and the client device is associated with a user of a tenant of the multi-tenant system, wherein each of the regression based machine learning model and the second machine learning based model is trained using training data set of the tenant.

15. A computer system comprising:

a computer processor; and

a non-transitory computer readable storage medium for storing instructions that when executed by a computer processor cause the computer processor to perform steps for performing predictions, the steps comprising:

receiving, by a client device from an online system, a regression based machine learning model and a measure of accuracy of the regression based machine learning model;

receiving a request for a task;

extracting features of the task;

determining whether a level of expected accuracy for the task is below the measure of accuracy of the regression based machine learning model;

responsive to determining that the level of expected accuracy for the task is below the measure of accuracy of the regression based machine learning model:

executing the regression based machine learning model with the features of the task as input to generate a first output;

responsive to determining that a level of expected accuracy for the task is above the measure of accuracy of the regression based machine learning model:

serializing the features of the task;

transmitting, from the client device to the online system, the serialized features, causing the online system to execute a second machine learning based model with the features of the task as input to generate a second output; and

receiving, from the online system, the second output of the second machine learning based model; and

performing the task using the received first output or second output.

16. The computer system of claim 15 , wherein the stored instructions further cause the computer processor to perform steps comprising:

determining, by a client device, work load exceeding a threshold value, the work load representing tasks associated with the client device, wherein the client device executes the regression based machine learning model further in response to the work load exceeding a threshold value.

17. The computer system of claim 15 , wherein the stored instructions further cause the computer processor to perform steps comprising:

determining, by a client device, that the task needs to be finished within a threshold time interval, wherein the client device executes the regression based machine learning model further in response to determining that the first task needs to be finished within a threshold time interval.

18. The computer system of claim 15 , wherein the second machine learning based model is a decision tree based machine learning model.

19. The computer system of claim 18 , wherein the stored instructions further cause the computer processor to perform steps comprising:

receiving, from the online system, a string representing a description of a rationale for the prediction of the second machine learning based model, the string generated based on an execution of the decision tree based machine learning model.

20. The computer system of claim 15 , wherein the online system is a multi-tenant system and the client device is associated with a user of a tenant of the multi-tenant system, wherein each of the regression based machine learning model and the second machine learning based model is trained using training data set of the tenant.

Assignments (2)
CHANGE OF NAME Recorded Oct 4, 2023
From: SALESFORCE.COM, INC.
To: SALESFORCE, INC.
Reel/Frame 065129/0434 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 27, 2020
From: KARANTH, RAKESH GANAPATHI; JAGOTA, ARUN KUMAR; BANSAL, KAUSHAL; DASGUPTA, AMRITA
To: SALESFORCE.COM, INC.
Reel/Frame 051955/0399 →
Continuity (1)
Related Publication 20210241179A1 · Aug 5, 2021
Cited By (2)
US 12,401,626 US 12,657,460