Patent ID: 11960550
Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
Field: Computer technology (Electrical engineering)
Classification: CPC G | IPC G

Claim 8:
9. A system comprising:
a processor configured to execute computer-readable instructions; and
a memory storage device storing computer-readable instructions thereon, which, when executed by the processor, cause the system to perform operations comprising:
generating a plurality of approximate nearest neighbor (“aNN”) indexes, each aNN index storing content item embeddings for content items associated with one end-user of a feed of an online service;
at a candidate selection module, receiving a request to obtain a number “k” of content items for presentation to a first end-user of the feed, the request including a query embedding representing the first end-user and data identifying end-users of the online service who are connections or follows of the first end-user;
generating, by the candidate selection module, an intermediate set of content items by adding to the intermediate set a content item selected from each aNN index associated with an end-user of the online service who is a connection or follow of the first end-user, each content item selected for adding to the intermediate set representing the content item in its respective index having the highest similarity score, the similarity score based on a measure of distance between the query embedding and a content item embedding representing the content item;
iteratively performing operations, by the candidate selection module, to add content items to a result set until the number of content items in the result set is equal to “k,” the operations including:
moving, from the intermediate set of content items to the result set, the content item in the intermediate set having the highest similarity score; and
updating the intermediate set of content items by adding to the intermediate set a content item selected from the aNN index from which the last content item moved to the result set was selected; and
ranking, by a ranking module, the content items in the result set; and
selecting a subset of ranked content items for presentation to the first end-user via a user interface of the feed.