US 12,219,190 B2
Recommendation system with reduced bias based on a view history
Fei Xiao, San Jose, CA (US); Zidong Wang, San Jose, CA (US); Jose Sanchez, San Jose, CA (US); Abhishek Bambha, Burlimgame, CA (US); and Ronica Jethwa, Mountain View, CA (US)
Assigned to Roku, Inc., San Jose, CA (US)
Filed by ROKU, INC., San Jose, CA (US)
Filed on Aug. 18, 2022, as Appl. No. 17/890,491.
Prior Publication US 2024/0064354 A1, Feb. 22, 2024
Int. Cl. H04N 21/25 (2011.01); H04N 21/258 (2011.01)
CPC H04N 21/252 (2013.01) [H04N 21/25891 (2013.01)] 21 Claims
OG exemplary drawing
 
1. A computing device, comprising:
one or more memories; and
at least one processor each coupled to at least one of the memories and configured to:
access a view history of a user account, the view history stored in and accessed from a storage device accessible by the at least one processor, the view history collected from a media device associated with the user account, the view history comprising at least a first item and a second item viewed by the user account in sequence within a predetermined time interval, the first item and the second item viewed on a display device associated with the media device, the storage device storing a plurality of view histories associated with a plurality of user accounts and collected from a plurality of media devices, the plurality of user accounts including the user account and a plurality of additional user accounts;
generate a co-watch graph based on the view history of the user account, wherein the co-watch graph comprises a plurality of nodes including a first node corresponding to the first item viewed by the user account, a second node corresponding to the second item viewed by the user account, and an edge between the first node and the second node;
assign an initial node weight of the first node to the first node representing a first number of times the first item has been viewed by the user account;
assign an initial node weight of the second node to the second node representing a second number of times the second item has been viewed by the user account;
assign an initial weight of the edge to the edge between the first node and the second node representing a number of co-occurrence times that the first item and the second item have been viewed in sequence within the predetermined time interval;
adjust the initial weight of the edge to remove bias to derive a normalized weight of the edge based on the initial weight of the edge, the initial node weight of the first node, and the initial node weight of the second node;
for a current item being viewed by the user account represented by a current node of the co-watch graph, select, based on the co-watch graph with the edge having the normalized weight, a recommended item represented by an associated node in the co-watch graph;
determine a probability that the recommended item will be viewed by the user account as a maximal probability of being viewed by the user account; and
command the media device to display the recommended item on the display device based on the selection of the recommended item.