IP Library Granted Patent US 12,288,237
Granted Patent B2
US 12,288,237 · App. 17/743,360 · Granted Apr 29, 2025

Online inference and learning for nonsymmetric determinantal point processes

Inventors: Ryan A. Rossi (San Jose, CA); Aravind Reddy Talla (Evanston, IL); Zhao Song (San Jose, CA); Anup Rao (San Jose, CA); Tung Mai (San Jose, CA); Nedim Lipka (Campbell, CA); Gang Wu (San Jose, CA); Eunyee Koh (Sunnyvale, CA)
Assignee: Adobe Inc.
G06Q30/0631G06Q30/0629G06Q30/0643
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 12,288,237
App. No.
17/743,360
Granted
Apr 29, 2025
Kind
B2
Abstract

Embodiments provide systems, methods, and computer storage media for a Nonsymmetric Determinantal Point Process (NDPPs) for compatible set recommendations in a setting where data representing entities (e.g., items) arrives in a stream. A stream representing compatible sets of entities is received and used to update a latent representation of the entities and a compatibility distribution indicating likelihood of compatibility of subsets of the entities. The probability distribution is accessed in a single sequential pass to predict a compatible complete set of entities that completes an incomplete set of entities. The predicted complete compatible set is provided a recommendation for entities that complete the incomplete set of entities.

Claims (43)

1. One or more computer storage media storing computer-useable instructions that, when used by one or more computing devices, cause the one or more computing devices to perform operations comprising:

receiving a stream representing compatible sets of entities from a pool of entities in a database;

extracting latent low-dimensional representations of the entities of the compatible sets, wherein the latent low-dimensional representations of the entities are low compared to a size of the stream of compatible sets;

generating a compatibility distribution for the compatible sets using the extracted latent low-dimensional representations; and

for each compatible set represented in the stream, and in response to a new entity arriving in the stream, (i) updating the latent low-dimensional representation of the entities in the compatible set, and (ii) updating a compatibility distribution, that represents likelihood of compatibility of different subsets of the entities, to maximize a probability function that quantifies likelihood of compatibility based on a comparison between latent low dimensional representations of the entities in the compatible set and of the entities in the pool.

2. The one or more computer storage media of claim 1 , wherein the operations limit processing of the compatible sets of entities to a single sequential pass of the compatible sets of entities.

3. The one or more computer storage media of claim 1 , wherein the latent low-dimensional representation of the entities in the compatible set and the compatibility distribution occupy a memory size that is independent of a length of the stream of compatible sets.

4. The one or more computer storage media of claim 1 , the operations further comprising, for a particular compatible set represented in the stream:

updating the compatibility distribution based on the particular compatible set; and

discarding the particular compatible set from local memory upon updating the compatibility distribution.

5. The one or more computer storage media of claim 1 , wherein the compatibility distribution comprises a square matrix having row and column dimensions corresponding to a number of the entities in the pool.

6. The one or more computer storage media of claim 1 , wherein the compatible sets of entities represent different sets of items in different shopping baskets associated with an online marketplace.

7. The one or more computer storage media of claim 1 , wherein the compatible sets of entities represent different sets of user commands issued during different sessions of an application.

8. The one or more computer storage media of claim 1 , wherein the compatible sets of entities represent different sets of web pages visited during different online sessions.

9. The one or more computer storage media of claim 1 , wherein the compatible sets of entities represent different sets of user traits associated with different user accounts.

10. The one or more computer storage media of claim 1 , wherein the compatible sets of entities represent different sets of data attributes observed in different data visualizations.

11. A computerized method comprising:

receiving an incomplete set of entities of a pool of entities;

predicting a complete set of entities that completes the incomplete set using a compatibility distribution generated from latent low-dimensional representations of compatible sets of entities from the pool of entities, the predicted complete set provided as an initial solution set of entities for the incomplete set of entities;

generating an updated solution set that replaces the initial solution set based on a likelihood that the entities in the updated solution set are more compatible than the entities in the initial solution set;

storing the initial solution set as an auxiliary set of entities; and

causing a user interface to present the updated solution set as a recommended set.

12. The computerized method of claim 11 , wherein the initial solution set is updated responsive to a single sequential pass of the entities streamed from the pool.

13. The computerized method of claim 11 , wherein the incomplete set of entities represents a set of items in a shopping basket associated with an online marketplace, and the initial solution set comprises a recommendation to add one or more items to the shopping basket.

14. The computerized method of claim 11 , wherein the incomplete set of entities represents a set of user commands issued during a session of an application, and the initial solution set comprises a recommendation to add one or more user commands to the set of user commands.

15. The computerized method of claim 11 , wherein the incomplete set of entities represents a set of web pages visited during an online session, and the initial solution set comprises a recommendation to add one or more web pages to the set of web pages.

16. The computerized method of claim 11 , wherein the incomplete set of entities represents a set of user traits associated with a user account, and the initial solution set comprises a recommendation to add one or more user traits to the set of user traits.

17. The computerized method of claim 11 , wherein the incomplete set of entities represents a set of data attributes observed in a data visualization, and the initial solution set comprises a recommendation to add one or more data attributes to the set of data attributes.

18. The computerized method of claim 11 , further comprising:

receiving an entity streamed from the pool of entities;

performing local neighborhood searches within both the updated solution set and the auxiliary set; and

including the entity in the updated solution set presented as the recommended set based on the local neighborhood searches.

19. A system comprising:

at least one processor; and

one or more computer storage media storing computer executable instructions thereon that, when executed by the at least one processor, cause the at least one processor to perform operations comprising:

receiving an entity streamed from a pool of entities comprising compatible sets of entities;

generating an updated solution set of entities that replaces an initial solution set of entities based on a likelihood that the entities in the updated solution set are more compatible than the entities in the initial solution set as determined from a compatibility distribution generated from latent low-dimensional representations of the compatible sets of entities;

storing the initial solution set as an auxiliary set of entities; and

causing a user interface to present the updated solution set as a recommended set.

20. The system of claim 19 , further comprising:

receiving another entity streamed from the pool of entities;

performing local neighborhood searches within both the updated solution set and the auxiliary set; and

including the another entity in the updated solution set presented as the recommended set based on the local neighborhood searches.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 16, 2022
From: ROSSI, RYAN; TALLA, ARAVIND REDDY; LIPKA, NEDIM; SONG, ZHAO; MAI, TUNG; WU, GANG; KOH, EUNYEE; RAO, ANUP
To: ADOBE INC.
Reel/Frame 059922/0773 →
Continuity (1)
Related Publication 20230368265A1 · Nov 16, 2023
References Cited (18)
US 10475103B2 · Hiranandani · 2019 [cited by examiner]
US 20170255862A1 · Li · 2017 [cited by examiner]
Anari, N., and Vuong, T-D., “From Sampling to Optimization on Discrete Domains with Applications to Determinant Maximization”, arXiv:2102.05347v3, pp. 1-22 (Sep. 15, 2021). [cited by applicant]
Brunel, V-E., et al., “Rates of estimation for determinantal point processes”, In Conference on Learning Theory, arXiv:1706.00961v2, pp. 1-17 (Jul. 21, 2017). [cited by applicant]
Gillenwater, J., et al., “Maximizing Induced Cardinality Under a Determinantal Point Process”, 32nd Conference on Neural Information Processing Systems (NeurIPS), pp. 1-10 (2018). [cited by applicant]
Mirzasoleiman, B., et al., “Lazier Than Lazy Greedy”, Proceedings of the Twenty-Ninth AAAI Conference on Artificial Intelligence, pp. 1812-1818 (2015). [cited by applicant]
Bhaskara, A., et al., “Online MAP Inference of Determinantal Point Processes”, 34th Conference on Neural Information Processing Systems (NeurIPS), pp. 1-11 (2020). [cited by applicant]
Fiedler, M., and Pták, V., “Some Generalizations of Positive Definiteness and Monotonicity”, Numerische Mathematik, vol. 9, Issue 2, pp. 163-172 (1966). [cited by applicant]
Kulesza, A., and Taskar, B., “Determinantal Point Processes for Machine Learning”, Foundations and Trends® in Machine Learning, vol. 5, Nos. 2-3, pp. 1-166 (2012). [cited by applicant]
Nemhauser, G., et al., “An Analysis of Approximations for Maximizing Submodular Set Functions-I”, Mathematical Programming, vol. 14, pp. 265-294 (1978). [cited by applicant]
Bian, A. A., et al., “Guarantees for Greedy Maximization of Non-submodular Functions with Applications”, In International Conference on Machine Learning (ICML), arXiv:1703.02100v3, pp. 1-27 (Jun. 13, 2017). [cited by applicant]
Gartrell, M., et al., “Learning Nonsymmetric Determinantal Point Processes”, 33rd Conference on Neural Information Processing Systems (NeurIPS), pp. 1-11 (2019). [cited by applicant]
Kulesza, A., and Taskar, B., “k-DPPs: Fixed-Size Determinantal Point Processes”, Proceedings of the 28th International Conference on Machine Learning (ICML), pp. 1-8 (2011). [cited by applicant]
Roughgarden, T., “Communication Complexity (for Algorithm Designers)”, arXiv:1509.06257v1, pp. 1-150 (Sep. 21, 2015). [cited by applicant]
Aho, A. V., et al., “The Design and Analysis of Computer Algorithms”, Addison-Wesley Publishing Company, pp. 1-479 (1974). [cited by applicant]
Brunel, V-E., “Learning Signed Determinantal Point Processes through the Principal Minor Assignment Problem”, In Neural Information Processing Systems (NeurIPS), pp. 1-10 (2018). [cited by applicant]
Gartrell, M., et al., “Scalable Learning and Map Inference for Nonsymmetric Determinantal Point Processes”, In International Conference on Learning Representations (ICLR), arXiv:2006.09862v2, pp. 1-21 (Apr. 13, 2021). [cited by applicant]
Liu, P., et al., “Diversity on the Go! Streaming Determinantal Point Processes under a Maximum Induced Cardinality Objective”, In Proceedings of the International World Wide Web Conference, pp. 1-10 (Apr. 19-23, 2021). [cited by applicant]