IP Library Granted Patent US 10,867,000
Granted Patent B2
US 10,867,000 · App. 16/371,063 · Granted Dec 15, 2020

Recommendation system for providing personalized and mixed content on a user interface based on content and user similarity

Inventors: Logan Sommers Ahlstrom (Ann Arbor, MI); Ravindra Reddy Tappeta Venkata (Novi, MI); Sean Ming-Yin Law (Ann Arbor, MI); Joseph Clark Walston (Herriman, UT); Raviteja Lokineni (Ann Arbor, MI); Dayanand Narregudem (Ann Arbor, MI)
Assignee: TD Ameritrade IP Company, Inc.
G06F16/9535G06F16/24578G06F16/285G06F16/951G06F16/955G06F16/9538G06F3/0482G06F9/451
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,867,000
App. No.
16/371,063
Granted
Dec 15, 2020
Kind
B2
Abstract

A content recommendation system includes a processor and a memory coupled to the processor. The memory stores instructions that, upon execution, cause the processor to obtain a first viewing history of a first user from the viewing history index. The instructions include determining, based on the user similarity index, a first set of users similar to the first user. The instructions include obtaining a corresponding viewing history from the viewing history index and selecting a set of similar content item identifiers based on similarity scores. The instructions include updating a first recommendation list with (i) the corresponding viewing history for each similar user in the first set of users and (ii) the set of similar content item identifiers. The instructions include selecting and transmitting to a user device a subset of recommended content item identifiers from the first recommendation list.

Claims (70)

1. A content recommendation system comprising:

at least one processor; and

a memory coupled to the at least one processor,

wherein the memory stores:

a plurality of content item identifiers corresponding to a plurality of stored content items;

a viewing history index including, for each user of a plurality of users, a viewing history indicating content items the user has viewed;

a content similarity index including a similarity score indicating a similarity between content items of the plurality of stored content items;

a user similarity index identifying, for each user of the plurality of users, a set of similar users; and

instructions that, upon execution, cause the at least one processor to:

obtain a first viewing history of a first user from the viewing history index;

determine, based on the user similarity index, a first set of users similar to the first user;

obtain a corresponding viewing history from the viewing history index for each user in the first set of users;

select a set of similar content item identifiers from the plurality of content item identifiers based on similarity scores stored in the content similarity index between the content items in the first viewing history and the plurality of stored content items;

update a first recommendation list with (i) the corresponding viewing history from the viewing history index for each similar user in the first set of users and (ii) the set of similar content item identifiers;

select a subset of recommended content item identifiers from the first recommendation list based on a weighted similarity score; and

transmit each identifier included in the subset of recommended content item identifiers to a user device of the first user for display of a corresponding user-selectable link for each identifier on a screen of the user device.

2. The system of claim 1 wherein:

the memory stores, for each content item of the plurality of stored content items, a profile, and

the instructions, upon execution, cause the at least one processor to, in response to a new content item:

generate a first profile for the new content item,

calculate a corresponding similarity score between the new content item and the plurality of stored content items, and

add the corresponding similarity scores to the content similarity index.

3. The system of claim 2 wherein the first profile for the new content item is based on a predetermined list of terms.

4. The system of claim 1 wherein the instructions, upon execution, cause the at least one processor to:

classify the first user into a first group of a set of groups based on first user parameters, and

select a predetermined number of members of the first group as the set of similar users.

5. The system of claim 4 wherein the instructions, upon execution, cause the at least one processor to:

determine a distance value for each member of the first group indicating how similar the first user is to each member of the first group, and

select the predetermined number of members of the first group as the set of similar users based on a respective distance value for each of the selected predetermined number of members.

6. The system of claim 1 wherein the user similarity index for the first user is updated in response to: (i) a predetermined interval having elapsed and (ii) a change to a first profile corresponding to the first user.

7. The system of claim 1 wherein the memory stores a user parameter database including, for each user, user parameters including (i) portfolio structure, (ii) trading activity, (iii) platform usage, and (iv) demographic information.

8. The system of claim 1 wherein the selected set of similar content item identifiers have similarity scores above a predetermined threshold.

9. The system of claim 1 wherein the weighted similarity score for content items in the subset of recommended content item identifiers indicates how similar the content items are to at least one of: (i) the content items of the first viewing history and (ii) content items of the corresponding viewing history of a similar user in the first set of users.

10. The system of claim 1 wherein the instructions, upon execution, cause the at least one processor to:

determine the weighted similarity score for each entry of the first recommendation list based on the first viewing history, and

select a predetermined number of content items from the first recommendation list based on the weighted similarity score as the subset of recommended content item identifiers.

11. The system of claim 1 wherein the instructions, upon execution, cause the at least one processor to:

identify entries common to the first viewing history of the first user and the first recommendation list, and

remove the identified entries prior to selecting the subset of recommended content item identifiers.

12. The system of claim 1 wherein the instructions, upon execution, cause the at least one processor to:

obtain a respective recommendation list for each similar user in the first set of users, and

update the first recommendation list with each obtained respective recommendation list.

13. The system of claim 1 wherein the plurality of stored content items include at least one of: (i) a video, (ii) an article, (iii) a playlist, and (iv) an online course.

14. A content recommendation method comprising:

obtaining a first viewing history of a first user from a viewing history index, wherein the viewing history index includes, for each user of a plurality of users, a viewing history indicating content items the user has viewed;

determining, based on a user similarity index, a first set of users similar to the first user, wherein the user similarity index identifies, for each user of the plurality of users, a set of similar users;

obtaining a corresponding viewing history from the viewing history index for each user in the first set of users;

selecting a set of similar content item identifiers from a plurality of content item identifiers based on similarity scores stored in a content similarity index between the content items in the first viewing history and the plurality of stored content items, wherein the content similarity index includes a similarity score indicating a similarity between content items of the plurality of stored content items, and wherein the plurality of content item identifiers correspond to a plurality of stored content items;

updating a first recommendation list with (i) the corresponding viewing history from the viewing history index for each similar user in the first set of users and (ii) the set of similar content item identifiers;

selecting a subset of recommended content item identifiers from the first recommendation list based on a weighted similarity score; and

transmitting each identifier included in the subset of recommended content item identifiers to a user device of the first user for display of a corresponding user-selectable link for each identifier on a screen of the user device.

15. The method of claim 14 further comprising, in response to a new content item:

generating a first profile for the new content item, wherein, for each content item of the plurality of stored content items, a profile is stored,

calculating, based on a predetermined list of terms, a corresponding similarity score between the new content item and the plurality of stored content items, and

adding the corresponding similarity scores to the content similarity index.

16. The method of claim 14 further comprising:

classifying the first user into a first group of a set of groups based on first user parameters, and

selecting a predetermined number of members of the first group as the set of similar users.

17. The method of claim 16 further comprising:

determining a distance value for each member of the first group indicating how similar the first user is to each member of the first group, and

selecting the predetermined number of members of the first group as the set of similar users based on a respective distance value for each of the selected predetermined number of members.

18. The method of claim 14 further comprising:

determining the weighted similarity score for each entry of the first recommendation list based on the first viewing history, and

selecting a predetermined number of content items from the first recommendation list based on the weighted similarity score as the subset of recommended content item identifiers.

19. The method of claim 14 further comprising:

identifying entries common to the first viewing history of the first user and the first recommendation list, and

removing the identified entries prior to selecting the subset of recommended content item identifiers.

20. The method of claim 14 further comprising:

obtaining a respective recommendation list for each similar user in the first set of users, and

updating the first recommendation list with each obtained respective recommendation list.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 5, 2023
From: TD AMERITRADE IP COMPANY, INC.
To: CHARLES SCHWAB & CO., INC.
Reel/Frame 064807/0936 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 4, 2019
From: LOKINENI, RAVITEJA; NARREGUDEM, DAYANAND
To: TD AMERITRADE IP COMPANY, INC.
Reel/Frame 049354/0884 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 26, 2019
From: AHLSTROM, LOGAN SOMMERS; TAPPETA VENKATA, RAVINDRA REDDY; LAW, SEAN MING-YIN; WALSTON, JOSEPH CLARK
To: TD AMERITRADE IP COMPANY, INC.
Reel/Frame 049012/0553 →
Continuity (1)
Related Publication 20200311159A1 · Oct 1, 2020
Cited By (1)
US 12,380,394