IP Library Granted Patent US 10,516,644
Granted Patent B2
US 10,516,644 · App. 15/966,567 · Granted Dec 24, 2019

Near real time relevance ranker for notifications

Inventors: Changji Shi (Palo Alto, CA); Zhongen Tao (Sunnyvale, CA); Jinyun Yan (Sunnyvale, CA); Yan Gao (Sunnyvale, CA); Shaunak Chatterjee (Sunnyvale, CA); Sandor Nyako (Sunnyvale, CA)
Assignee: Microsoft Technology Licensing, LLC
H04L51/32G06F16/24578G06F16/9535G06N20/00H04L67/306G06Q50/01
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 10,516,644
App. No.
15/966,567
Granted
Dec 24, 2019
Kind
B2
Abstract

A notification platform for distribution of notification content in an on-line social network system addresses the technical problem of optimizing the volume of quality notifications that are being delivered to a given member. A notification delivery system is designed as a stream processing system that can fetch, store, and process data in a near-line fashion. It can perform feature generation, processing and scoring of notifications, as well as ranking of the notifications based on their respective relevance scores that are calculated using machine learning techniques. The notification delivery system is positioned centrally with respect to different producers of notifications, such that it can consume centrally-stored information about members' holistic notification experiences.

Claims (38)

1. A computer-implemented method comprising:

in an on-line social network system that maintains member profiles representing members of the on-line social network system, detecting a notification in a stream of notifications, the notification is generated by a producer from a plurality of producers, each producer from the plurality of producers utilizing different first pass rankers to calculate respective preliminary relevance scores for notifications;

on-line and in response to the detecting of the notification, using at least one processor:

extracting real time features with respect to a subject profile,

executing a machine learning model using the extracted real time features as input to calculate a relevance score with respect to the notification and the subject member profile, the machine learning model trained using a previously stored feature snapshot of previously extracted real time features with respect to the subject profile,

accessing a personalized threshold calculated for the subject member profile based on previously obtained signals with respect to engagement of the subject member profile with previously delivered notifications, and

based on a result of comparing of the relevance score with the personalized threshold, determining that the notification is to be delivered to a member represented by the subject profile.

2. The method of claim 1 , further comprising:

based on the relevance score and the personalized threshold, determine a communication channel to be used for delivery of the notification; and

deliver the notification to a member represented by the subject member profile using the determined communication channel.

3. The method of claim 1 , wherein the notification is associated with a preliminary relevance score generated by a first pass ranker provided with a producer of the notification, the preliminary relevance score is used as further input to the machine learning model to calculate the relevance score with respect to the notification and the subject member profile.

4. The method of claim 1 , further comprising calculating the personalized threshold for the subject member profile based on previously obtained signals with respect to engagement of the subject member profile with previously delivered notifications and storing the personalized threshold in a database that is local with respect to the machine learning model.

5. The method of claim 1 , wherein the calculating of the personalized threshold comprises assigning a greater value to the personalized threshold based on features indicating greater engagement of the subject member profile with previously delivered notifications and assigning a lesser value to the personalized threshold based on features indicating lesser engagement of the subject member profile with the previously delivered notifications.

6. The method of claim 1 , wherein the real time features reflect events triggered by the subject member profile with respect to notifications delivered to the subject member profile during a specified time period.

7. The method of claim 1 , wherein a feature from the real time features indicates a number of notifications delivered to the subject member profile during a specified time period.

8. A system comprising:

one or more processors; and

a non-transitory computer readable storage medium comprising instructions that when executed by the one or processors cause the one or more processors to perform operations comprising:

in an on-line social network system that maintains member profiles representing members of the on-line social network system, detecting a notification in a stream of notifications, the notification is generated by a producer from a plurality of producers, each producer from the plurality of producers utilizing different first pass rankers to calculate respective preliminary relevance scores for notifications;

on-line and in response to detecting of the notification, using at least one processor:

extracting real time features with respect to a subject profile,

executing a machine learning model using the extracted real time features as input to calculate a relevance score with respect to the notification and the subject member profile, the machine learning model trained using a previously stored feature snapshot of previously extracted real time features with respect to the subject profile,

accessing a personalized threshold calculated for the subject member profile based on previously obtained signals with respect to engagement of the subject member profile with previously delivered notifications, and

based on a result of comparing of the relevance score with the personalized threshold, determining that the notification is to be delivered to a member represented by the subject profile.

9. The system of claim 8 , further comprising:

based on the relevance score and the personalized threshold, determine a communication channel to be used for delivery of the notification; and

deliver the notification to a member represented by the subject member profile using the determined communication channel.

10. The system of claim 8 , wherein the notification is associated with a preliminary relevance score generated by a first pass ranker provided with a producer of the notification, the preliminary relevance score is used as further input to the machine learning model to calculate the relevance score with respect to the notification and the subject member profile.

11. The system of claim 8 , further comprising calculating the personalized threshold for the subject member profile based on previously obtained signals with respect to engagement of the subject member profile with previously delivered notifications and storing the personalized threshold in a database that is local with respect to the machine learning model.

12. The system of claim 8 , wherein the calculating of the personalized threshold comprises assigning a greater value to the personalized threshold based on features indicating greater engagement of the subject member profile with previously delivered notifications and assigning a lesser value to the personalized threshold based on features indicating lesser engagement of the subject member profile with the previously delivered notifications.

13. The system of claim 8 , wherein the real time features reflect events triggered by the subject member profile with respect to notifications delivered to the subject member profile during a specified time period.

14. A machine-readable non-transitory storage medium having instruction data executable by a machine to cause the machine to perform operations comprising:

in an on-line social network system that maintains member profiles representing members of the on-line social network system, detecting a notification in a stream of notifications, the notification is generated by a producer from a plurality of producers, each producer from the plurality of producers utilizing different first pass rankers to calculate respective preliminary relevance scores for notifications;

on-line and in response to the detecting of the notification, using at least one processor:

extracting real time features with respect to a subject profile,

executing a machine learning model using the extracted real time features as input to calculate a relevance score with respect to the notification and the subject member profile, the machine learning model trained using a previously stored feature snapshot of previously extracted real time features with respect to the subject profile,

accessing a personalized threshold calculated for the subject member profile based on previously obtained signals with respect to engagement of the subject member profile with previously delivered notifications, and

based on a result of comparing of the relevance score with the personalized threshold, determining that the notification is to be delivered to a member represented by the subject profile.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 16, 2018
From: SHI, CHANGJI; TAO, ZHONGEN; YAN, JINYUN; GAO, YAN; CHATTERJEE, SHAUNAK; NYAKO, SANDOR
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 045821/0517 →
Continuity (1)
Related Publication 20190334851A1 · Oct 31, 2019
Cited By (1)
US 12,341,645