IP Library › Granted Patent US 10,223,728
Granted Patent B2
US 10,223,728 · App. 14/564,123 · Granted Mar 5, 2019

Systems and methods of providing recommendations by generating transition probability data with directed consumption

Inventors: Aiyou Chen (Palo Alto, CA); Jeffrey David Oldham (San Jose, CA)
Assignee: Google LLC
G06Q30/0631G06N7/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 10,223,728
App. No.
14/564,123
Filed
Dec 9, 2014
Granted
Mar 5, 2019
Kind
B2
Art Unit
3625
USPC
705/26.7
Abstract

Systems and methods of directed item consumption recommendations are disclosed which include generating, with a server, empirical transition matrix data that includes row data for a first item and column data for a second item, and an entry in the empirical transition matrix data for a number of users that acquire the second item after the first item, generating, with the server, metadata transition matrix data by partitioning items for each item metadata type, setting a uniform transition probability for all items in the partition, and summing the uniform transition probabilities across all metadata types, generating, with the server, transition probability matrix data by multiplying the metadata transition matrix data with a weight parameter, adding the result to the empirical transition matrix data, and normalizing each row, and providing item recommendations to a user computing device communicatively coupled to the server according to the generated transition probability matrix data.

Claims (79)

1. A method for enabling a computing system, to reduce model bias, when recommending a second item to a computing device, after the computing device accesses, from a network, a first item that is infrequently accessed by other computing devices on the network, the method comprising:

determining, by the computing system, a quantity of computing devices that have accessed any candidate item from a set of candidate items after accessing the first item;

determining, by the computing system, a first attribute of the first item and a second attribute of the first item;

determining, by the computing system, a first subset of candidate items of the set of candidate items, wherein a first attribute of each candidate item from the first subset of candidate items corresponds to the first attribute of the first item;

determining, by the computing system, a first probability of the computing device accessing any candidate item from the first subset of candidate items after accessing the first item;

determining, by the computing system, a second subset of candidate items from the set of candidate items, wherein a second attribute of each candidate item from the second subset of candidate items corresponds to the second attribute of the first item;

determining, by the computing system, a second probability of the computing device accessing any candidate item from the second subset of items after accessing the first item;

determining, by the computing system, based on the quantity of computing devices that have accessed any candidate item from the set of candidate items after accessing the first item, the first probability, and the second probability, a respective probability of the computing device accessing each candidate item from the set of candidate items after accessing the first item;

responsive to the computing device accessing the first item, outputting, by the computing system and to the computing device, an indication of a particular candidate item from the set of candidate items as the second item, wherein the respective probability of the computing device accessing the particular candidate item from the set of candidate items after accessing the first item is greater than or equal to the respective probability of the computing device accessing any other candidate item from the set of candidate items after accessing the first item; and

responsive to receiving data indicating a user input selecting the second item, sending, by the computing system to the computing device, the second item rather than another candidate item from the set of candidate items when the probability of the computing device accessing the second item after accessing the first item is greater than or equal to the probability of the computing device accessing the another candidate item after accessing the first item.

2. The method of claim 1 , wherein the first item is an e-book, the second item is an e-book, and the plurality of candidate items are e-books.

3. The method of claim 1 ,

wherein the first attribute includes one of an author, a publisher, a subject, a series set, a title, or a language, and

wherein the second attribute includes a different one of the author, the publisher, the subject, the series set, the title, or the language.

4. The method of claim 1 , wherein the first probability is based on a quantity of candidate items of the first subset of candidate items, and wherein the second probability is based on a quantity of candidate items of the second subset of candidate items.

5. The method of claim 1 , wherein determining the respective probability of the computing device accessing each respective candidate item from the set of candidate items after accessing the first item is responsive to:

determining, by the computing system, that a quantity of candidate items of the first subset of candidate items is less than a threshold quantity of items; and

determining, by the computing system, that a quantity of candidate items of the second subset of candidate items is less than the threshold quantity of items.

6. The method of claim 5 , further comprising:

determining, by the computing system, a third attribute of the first item;

determining, by the computing system, a third subset of candidate items of the set of candidate items, wherein a third attribute of each candidate item from the third subset of candidate items corresponds to the third attribute of the first item; and

determining, by the computing system, whether a quantity of candidate items of the third subset of candidate items is greater than a threshold quantity of items,

wherein the respective probability of the computing device accessing each candidate item from the set of candidate items after accessing the first item is not based on the third subset of candidate items when the quantity of candidate items of the third subset of candidate items is greater than the threshold quantity of items.

7. The method of claim 1 , further comprising:

determining, by the computing system, whether the first item has been accessed by the other computing devices on the network less than the threshold number of times; and

recommending the second item in response to determining that the first item has been accessed less than the threshold number of times.

8. The method of claim 1 , wherein determining the respective probability of the computing device accessing each respective candidate item from the set of candidate items after accessing the first item is further based on user history data associated with a user of the computing device.

9. The method of claim 1 , wherein determining the quantity of computing devices that have accessed the respective candidate item from the set of candidate items after accessing the first item comprises determining the quantity of computing devices that have accessed the respective candidate item within a predetermined time window.

10. A computing system comprising:

a processor:

memory comprising instructions that, when executed by the processor, cause the processor to:

determine a quantity of computing devices that have accessed any candidate item from a set of candidate items after accessing a first item;

determine a first attribute of the first item and a second attribute of the first item;

determine, a first subset of candidate items of the set of candidate items, wherein a first attribute of each candidate item from the first subset of candidate items corresponds to the first attribute of the first item;

determine a first probability of a computing device accessing any candidate item from the first subset of candidate items after accessing the first item;

determine a second subset of candidate items from the set of candidate items, wherein a second attribute of each candidate item from the second subset of candidate items corresponds to the second attribute of the first item;

determine a second probability of the computing device accessing any candidate item from the second subset of items after accessing the first item;

determine, based on the quantity of computing devices that have accessed any candidate item from the set of candidate items after accessing the first item, the first probability, and the second probability, a respective probability of the computing device accessing each candidate item from the set of candidate items after accessing the first item;

responsive to the computing device accessing the first item, output, to the computing device, an indication of a particular candidate item from the set of candidate items as the second item, wherein the respective probability of the computing device accessing the particular candidate item from the set of candidate items after accessing the first item is greater than or equal to the respective probability of the computing device accessing any other candidate item from the set of candidate items after accessing the first item; and

responsive to receiving data indicating a user input selecting the second item, send, to the computing device, the second item rather than another candidate item from the set of candidate items when the probability of the computing device accessing the second item after accessing first item is greater than or equal to the probability of the computing device accessing the another candidate item after accessing the first item.

11. The computing system of 10 , wherein the first item is an e-book, the second item is an e-book, and the plurality of candidate items are e-books.

12. The computing system of claim 10 ,

wherein the first attribute includes one of an author, a publisher, a subject, a series set, a title, or a language, and

wherein the second attribute includes a different one of the author, the publisher, the subject, the series set, the title, or the language.

13. The computing system of claim 10 , wherein the first probability is based on a quantity of candidate items of the first subset of candidate items, and wherein the second probability is based on a quantity of candidate items of the second subset of candidate items.

14. The computing system of claim 10 , wherein execution of the instructions cause the processor to determine the respective probability of the computing device accessing the respective candidate item from the set of candidate items after accessing the first item in response to causing the processor to:

determine that a quantity of candidate items of the first subset of candidate items is less than a threshold quantity of items; and

determine that a quantity of candidate items of the second subset of candidate items is less than the threshold quantity of items.

15. The computing system of claim 14 , wherein execution of the instructions further causes the processor to:

determine a third attribute of the first item;

determine a third subset of candidate items of the set of candidate items, wherein a third attribute of each candidate item from the third subset of candidate items corresponds to the third attribute of the first item; and

determine whether a quantity of candidate items of the third subset of candidate items is greater than a threshold quantity of items,

wherein the respective probability of the computing device accessing each candidate item from the set of candidate items after accessing the first item is not based on the third subset of candidate items when the quantity of candidate items of the third subset of candidate items is greater than the threshold quantity of items.

16. The computing system of claim 10 , wherein execution of the instructions further causes the processor to:

determine whether the first item has been accessed by the other computing devices on the network less than the threshold number of times; and

recommend the second item in response to determining that the first item has been accessed less than the threshold number of times.

17. The computing system of claim 10 , wherein execution of the instructions causes the processor to determine the respective probability of the computing device accessing each respective candidate item from the set of candidate items further based on user history data associated with a user of the computing device.

18. The computing system of claim 10 , wherein execution of the instructions further causes the processor to determine the quantity of computing devices that have accessed the respective candidate item from the set of candidate items after accessing the first item by at least causing the processor to determine the quantity of computing devices that have accessed the respective candidate item within a predetermined time window.

19. A computer-readable storage medium, comprising instructions that, when executed by a processor of a computing system, cause the processor to:

determine a quantity of computing devices that have accessed any candidate e-book from a set of candidate e-books after accessing the first e-book;

determine an attribute of the first e-book;

determine, a subset of candidate e-books of the set of candidate e-books, wherein an attribute of each candidate e-book from the subset of candidate e-books corresponds to the attribute of the first e-book;

determine a probability of a computing device accessing any candidate e-book from the subset of candidate e-books after accessing the first e-book;

determine, based on the quantity of computing devices that have accessed any candidate e-book from the set of candidate e-books after accessing the first e-book and the probability of the computing device accessing any candidate e-book from the subset of candidate e-books after accessing the first e-book first, a respective probability of the computing device accessing each candidate e-book from the set of candidate e-books after accessing the first e-book;

responsive to the computing device accessing the first e-book, output, to the computing device, an indication of a particular candidate e-book from the set of candidate e-books as the second e-book, wherein the respective probability of the computing device accessing the particular candidate e-book from the set of candidate e-books after accessing the first e-book is greater than or equal to the respective probability of the computing device accessing any other candidate e-book from the set of candidate e-books after accessing the first e-book; and

responsive to receiving data indicating a user input selecting the second item, send, to the computing device, the second e-book rather than another candidate e-book from the set of candidate e-books when the probability of the computing device accessing the second e-book after accessing the first e-book is greater than or equal to than the probability of the computing device accessing the another candidate e-book after accessing the first e-book.

20. The computer-readable storage medium of claim 19 , wherein the attribute includes one of an author, a publisher, a subject, a series set, a title, or a language.

21. The computer-readable storage medium of claim 19 , wherein the first probability is based on a quantity of candidate items of the first subset of candidate items, and wherein the second probability is based on a quantity of candidate items of the second subset of candidate items.

22. The computer-readable storage medium of claim 19 , wherein execution of the instructions cause the processor to determine the respective probability of the computing device accessing each respective candidate e-book from the set of candidate e-books after accessing the first e-book in response to determining that a quantity of candidate e-books of first subset of candidate e-books is less than a threshold quantity of e-books.

23. The computer-readable storage medium of claim 22 , wherein the attribute is a first attribute, wherein the subset of e-books is a first subset of e-books, and wherein execution of the instructions further causes the processor to:

determine a second attribute of the first e-book;

determine a second subset of candidate e-books of the set of candidate e-books, wherein a second attribute of each candidate e-book from the second subset of candidate e-books corresponds to the second attribute of the first e-book; and

determine whether a quantity of candidate e-books of the second subset of candidate e-books is greater than a threshold quantity of e-books,

wherein the respective probability of the computing device accessing each candidate e-book from the set of candidate e-books after accessing the first e-book is not based on the second subset of candidate e-books when the quantity of candidate e-books of the second subset of candidate e-books is greater than the threshold quantity of e-books.

24. The computer-readable storage medium of claim 19 , wherein execution of the instructions further causes the processor to:

determine whether the first e-book has been accessed by the other computing devices on the network less than the threshold number of times; and

recommend the second e-book in response to determining that the first e-book has been accessed less than the threshold number of times.

25. The computer-readable storage medium of claim 19 , wherein execution of the instructions causes the processor to determine the respective probability of the computing device accessing the respective candidate e-book from the set of candidate e-books further based on user history data associated with a user of the computing device.

26. The computer-readable storage medium of claim 19 , wherein execution of the instructions further causes the processor to determine the quantity of computing devices that have accessed the respective candidate e-book from the set of candidate e-books after accessing the first e-book by at least causing the processor to determine the quantity of computing device that have accessed the respective candidate e-book within a predetermined time window.

Assignments (2)
CHANGE OF NAME Recorded Oct 5, 2017
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 044129/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: CHEN, AIYOU; OLDHAM, JEFFREY DAVID
To: GOOGLE INC.
Reel/Frame 034432/0783 →
Continuity (1)
Related Publication 20160162975A1 · Jun 9, 2016