IP Library Granted Patent US 11,553,059
Granted Patent B2
US 11,553,059 · App. 17/065,919 · Granted Jan 10, 2023

Using machine learning to customize notifications for users

Inventors: Parminder Singh Sethi (Ludhiana, IN); Noga Gershon (Dimona, IL)
Assignee: Dell Products L.P.
H04L67/564G06F9/453G06N5/003G06N20/20H04L67/535G06F8/65
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,553,059
App. No.
17/065,919
Granted
Jan 10, 2023
Kind
B2
Abstract

A method includes extracting data pertaining to a plurality of user actions in connection with one or more changes to one or more of a plurality of applications, and training one or more machine learning models with the extracted data. The one more machine learning models are used to predict whether a user should receive a given notification in connection with a given change to a given application of the plurality of applications. In response to predicting that the user should receive the given notification, content of the given notification is determined. The method further includes generating the given notification for the user, and transmitting the given notification to the user.

Claims (41)

1. A method, comprising:

extracting data pertaining to a plurality of user actions in connection with one or more changes to one or more of a plurality of applications;

training one or more machine learning models with the extracted data;

using the one more machine learning models to predict whether a user should receive a given notification in connection with a given change to a given application of the plurality of applications;

in response to predicting that the user should receive the given notification, determining, using the one or more machine learning models, content of the given notification;

generating the given notification for the user; and

transmitting the given notification to the user;

wherein the determining of the content of the given notification comprises:

identifying one or more notifications received by the user as being at least similar to the given notification;

determining that the one or more notifications received by the user resulted in one or more support requests; and

including one or more details in the given notification to address one or more issues with the given change to the given application responsive to the determination that the one or more notifications received by the user resulted in the one or more support requests;

wherein extracting the data comprises calculating a ratio of a number of times the user contacted technical support to a number associated with a read status of the user with respect to a corresponding notification in connection with respective ones of the one or more changes;

wherein the number associated with the read status of the user comprises one of a number of times the user failed to read and a number of times the user read a corresponding notification in connection with respective ones of the one or more changes; and

wherein the steps of the method are executed by a processing device operatively coupled to a memory.

2. The method of claim 1 , wherein the one or more changes to the one or more of the plurality of applications comprise at least one of an installation of and an upgrade to the one or more of the plurality of applications.

3. The method of claim 1 , wherein extracting the data further comprises collecting one or more clickstreams of the user.

4. The method of claim 1 , wherein extracting the data further comprises calculating a ratio of a number of notifications read by the user to a number of notifications received by the user in connection with respective ones of the one or more changes.

5. The method of claim 2 , further comprising:

extracting data about the one or more changes to the one or more of a plurality of applications; and

training the one or more machine learning models with the extracted data about the one or more changes.

6. The method of claim 5 , wherein extracting the data about the one or more changes comprises calculating at least one of an overall average installation time and an overall average upgrade time for the plurality of applications.

7. The method of claim 5 , wherein extracting the data about the one or more changes comprises calculating at least one of an average installation time and an average upgrade time for one or more subsets of the plurality of applications determined to have the same application type.

8. The method of claim 5 , wherein extracting the data about the one or more changes comprises calculating at least one of: (i) a ratio of a number of successful application upgrades to a total number of attempted application upgrades; and (ii) a ratio of a number of successful application installations to a total number of attempted application installations.

9. The method of claim 1 , further comprising:

determining one or more characteristics of respective ones of the plurality of applications; and

identifying, using cosine similarity, two or more of the plurality of applications that are similar to each other based on the determined one or more characteristics.

10. The method of claim 9 , wherein the prediction whether the user should receive the given notification in connection with the given change to the given application is based at least in part on data pertaining to one or more user actions in connection with one or more of the plurality of applications identified as similar to the given application.

11. The method of claim 1 , wherein the one or more machine learning models comprise a plurality of decision trees, and the plurality of decision trees are respectively trained with different portions of the extracted data.

12. The method according to claim 11 , wherein:

each of the plurality of decision trees yields one of a positive result and a negative result with respect to whether the user should receive the given notification; and

the prediction whether the user should receive the given notification corresponds to the result produced by a majority of the plurality of decision trees.

13. An apparatus comprising: a processing device operatively coupled to a memory and configured to: extract data pertaining to a plurality of user actions in connection with one or more changes to one or more of a plurality of applications; train one or more machine learning models with the extracted data; use the one more machine learning models to predict whether a user should receive a given notification in connection with a given change to a given application of the plurality of applications; in response to predicting that the user should receive the given notification, determine, using the one or more machine learning models, content of the given notification; generate the given notification for the user; and transmit the given notification to the user; wherein, in determining the content of the given notification, the processing device is configured to: identify one or more notifications received by the user as being at least similar to the given notification; determine that the one or more notifications received by the user resulted in one or more support requests; and include one or more details in the given notification to address one or more issues with the given change to the given application responsive to the determination that the one or more notifications received by the user resulted in the one or more support requests; wherein, in extracting the data, the processing device is configured to calculate a ratio of a number of times the user contacted technical support to a number associated with a read status of the user with respect to a corresponding notification in connection with respective ones of the one or more changes; and wherein the number associated with the read status of the user comprises one of a number of times the user failed to read and a number of times the user read a corresponding notification in connection with respective ones of the one or more changes.

14. The apparatus of claim 13 , wherein the one or more changes to the one or more of the plurality of applications comprise at least one of an installation of and an upgrade to the one or more of the plurality of applications.

15. The apparatus of claim 13 , wherein the processing device is further configured to:

determine one or more characteristics of respective ones of the plurality of applications; and

identify, using cosine similarity, two or more of the plurality of applications that are similar to each other based on the determined one or more characteristics.

16. The apparatus of claim 15 , wherein the prediction whether the user should receive the given notification in connection with the given change to the given application is based at least in part on data pertaining to one or more user actions in connection with one or more of the plurality of applications identified as similar to the given application.

17. An article of manufacture comprising a non-transitory processor-readable storage medium having stored therein program code of one or more software programs, wherein the program code when executed by at least one processing device causes said at least one processing device to perform the steps of: extracting data pertaining to a plurality of user actions in connection with one or more changes to one or more of a plurality of applications; training one or more machine learning models with the extracted data; using the one more machine learning models to predict whether a user should receive a given notification in connection with a given change to a given application of the plurality of applications; in response to predicting that the user should receive the given notification, determining, using the one or more machine learning models, content of the given notification; generating the given notification for the user; and transmitting the given notification to the user; wherein, in determining the content of the given notification, the program code causes said at least one processing device to perform the steps of: identifying one or more notifications received by the user as being at least similar to the given notification; determining that the one or more notifications received by the user resulted in one or more support requests; and including one or more details in the given notification to address one or more issues with the given change to the given application responsive to the determination that the one or more notifications received by the user resulted in the one or more support requests; wherein, in extracting the data, the program code causes said at least one processing device to calculate a ratio of a number of times the user contacted technical support to a number associated with a read status of the user with respect to a corresponding notification in connection with respective ones of the one or more changes; and wherein the number associated with the read status of the user comprises one of a number of times the user failed to read and a number of times the user read a corresponding notification in connection with respective ones of the one or more changes.

18. The article of manufacture of claim 17 , the one or more changes to the one or more of the plurality of applications comprise at least one of an installation of and an upgrade to the one or more of the plurality of applications.

19. The article of manufacture of claim 17 , wherein the program code further causes said at least one processing device to perform the steps of: determining one or more characteristics of respective ones of the plurality of applications; and identifying, using cosine similarity, two or more of the plurality of applications that are similar to each other based on the determined one or more characteristics.

20. The article of manufacture of claim 19 , wherein the prediction whether the user should receive the given notification in connection with the given change to the given application is based at least in part on data pertaining to one or more user actions in connection with one or more of the plurality of applications identified as similar to the given application.

Assignments (8)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (054475/0434) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
Reel/Frame 060332/0740 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (054475/0609) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
Reel/Frame 062021/0570 →
RELEASE OF SECURITY INTEREST AT REEL 054591 FRAME 0471 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0463 →
SECURITY INTEREST Recorded Nov 18, 2020
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 054475/0434 →
SECURITY INTEREST Recorded Nov 18, 2020
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 054475/0523 →
SECURITY INTEREST Recorded Nov 18, 2020
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 054475/0609 →
SECURITY AGREEMENT Recorded Nov 13, 2020
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 054591/0471 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 8, 2020
From: SETHI, PARMINDER SINGH; GERSHON, NOGA
To: DELL PRODUCTS L.P.
Reel/Frame 054009/0991 →