IP Library Granted Patent US 12,190,356
Granted Patent B2
US 12,190,356 · App. 17/863,019 · Granted Jan 7, 2025

Line item-based audience extension

Inventors: Moussa Taifi (Jackson Heights, NY); Yana Volkovich (New York, NY); Carlos Eduardo Rodriguez Castillo (Brooklyn, NY)
Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
G06Q30/0277G06F18/23G06N20/00G06Q30/0256G06Q30/0261G06Q30/0275G06V10/764
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,190,356
App. No.
17/863,019
Granted
Jan 7, 2025
Kind
B2
Abstract

Aspects of the subject disclosure may include, for example, receiving from a campaign manager device information defining a line item in an online advertising system, including receiving information defining constraints for the line item. The subject disclosure may further include collecting browsing history information for targetable users matching the constraints for the line item, generating a machine learning model to rank the targetable users and building a new segment based on users ranked by the model. The subject disclosure may further include providing, to the campaign manager device, a recommendation to add the new segment to the line item, receiving from the campaign manager device an indication to attach the new segment to the line item, and subsequently, providing advertisement content to targeted users according to the line item including the new segment. Other embodiments are disclosed.

Claims (100)

1. A device, comprising:

a processing system including a processor; and

a memory that stores executable instructions that, when executed by the processing system, facilitate performance of operations, the operations comprising:

receiving, from a campaign manager device, information defining a line item and constraints for the line item in an online advertising system;

collecting browsing history information for targetable users;

ranking the targetable users based upon the browsing history information;

building a new segment based on the ranking of the targetable users;

forming a list of line item, segment identifier pairs, where the list includes a pair that comprises an identifier for the line item and an identifier for the new segment;

constructing a mapping that maps line items to segments, where the mapping is constructed based upon the list of line item, segment identifier pairs;

generating a line item to segment co-occurrence matrix based upon the mapping;

training a machine learning model to output an embedding of a segment identifier to add to the line item, where the machine-learning model is trained based upon the line item to segment co-occurrence matrix;

receiving, from the machine learning model, the embedding of the segment identifier;

receiving a second embedding of a second segment identifier that identifies a second segment;

selecting the second segment based upon a proximity between the embedding of the segment identifier output by the machine learning model and the second embedding of the second segment identifier;

providing advertisement content to targeted users according to the line item including the second segment.

2. The device of claim 1 , the operations further comprising:

producing a segment embeddings space responsive to training the machine learning model.

3. The device of claim 2 , the operations further comprising generating a second machine learning model to rank the targetable users, where generating the second machine learning model comprises:

computing co-occurrence for the targetable users based on universal resource locator (URL) information to generate user-user co-occurrence pairs;

training a user embedding model, including the segment embeddings space, with the user-user co-occurrence pairs, forming a trained user embedding model; and

storing the trained user embedding model.

4. The device of claim 3 , wherein the training the user embedding model comprises training a machine learning model that encodes user browser histories into the segment embeddings space where similarly behaving users cluster together.

5. The device of claim 4 , the operations further comprising:

using historical data to train the user embedding model for all targetable users that the line item would target if it did not have the constraints for the line item, forming a trained user embedding model.

6. The device of claim 5 , the operations further comprising:

determining, from the constraints for the line item, a targeted audience for the line item;

projecting the targeted audience into the trained user embedding model;

computing an average of the targeted audience in the trained user embedding model;

ranking two or more targetable users based on distance of each targetable user from the average of the targeted audience in the trained user embedding model;

selecting a predetermined number of ranked targetable users; and

creating the new segment including the predetermined number of ranked targetable users.

7. The device of claim 2 , the operations further comprising:

receiving, from the campaign manager device, a list of segment identifiers;

providing the list of segment identifiers to the segment embeddings space;

receiving from the segment embeddings space an output list of segment identifiers having locations in the segment embeddings space closest to segments of the list of segment identifiers;

ranking the output list of segment identifiers; and

providing a second predetermined number of segment identifiers of the ranked output list of segment identifiers to the campaign manager device as a list of recommended segments to add to the line item.

8. The device of claim 1 , the operations further comprising:

receiving from the campaign manager device an indication to attach the new segment to the line item.

9. A method performed by a processing system that includes a processor, the method comprising:

receiving, from a campaign manager device that is in network communication with the processing system, information defining a line item and information comprising constraints for the line item in an online advertising system;

collecting browsing history information for targetable users;

ranking the targetable users based upon the browsing history information to form a ranked list of targetable users;

constructing a new segment based on the ranked list of targetable users;

forming a list of pairs, where a pair in the list of pairs includes an identifier for the line item and an identifier for the new segment;

constructing a mapping that maps line items line items to segments, where the mapping is constructed based upon the list of pairs;

constructing a line item to segment co-occurrence matrix based upon the mapping;

training a machine learning model based upon the line item to segment co-occurrence matrix, where the machine learning model is trained to output an embedding of a segment identifier that is to be added to the line item;

receiving, from the machine learning model, the embedding of the segment identifier in response to providing the machine learning model with the line item;

receiving a second embedding of a second segment identifier that identifies a second segment;

computing a proximity between the embedding of the segment identifier and the second embedding of the second segment identifier;

selecting the second segment based upon the computed proximity between the embedding of the segment identifier and the second embedding of the second segment identifier;

including the second segment in the line item in response to selecting the second segment; and

providing advertisement content to targeted users based upon the line item including the second segment.

10. The method of claim 9 , further comprising:

producing a segment embeddings space responsive to training the machine learning model.

11. The method of claim 10 , further comprising generating a second machine learning model to rank the targetable users, where generating the second machine learning model comprises:

computing co-occurrence for the targetable users based on universal resource locator (URL) information to generate user-user co-occurrence pairs;

training a user embedding model, including the segment embeddings space, with the user-user co-occurrence pairs, thereby forming a trained user embedding model; and

storing the trained user embedding model.

12. The method of claim 11 , where training the user embedding model comprises training a machine learning model that encodes user browser histories into the segment embeddings space where similarly behaving users cluster together.

13. The method of claim 12 , further comprising:

using historical data to train the user embedding model for all targetable users that the line item would target if it did not have the constraints for the line item, forming a trained user embedding model.

14. The method of claim 13 , further comprising:

determining, from the information including the constraints for the line item, a targeted audience for the line item;

projecting the targeted audience into the trained user embedding model;

computing an average of the targeted audience in the trained user embedding model;

ranking two or more targetable users based on distance of each targetable user from the average of the targeted audience in the trained user embedding model;

selecting a predetermined number of ranked targetable users; and

creating the new segment including the predetermined number of ranked targetable users.

15. The method of claim 10 , the further comprising:

receiving, from the campaign manager device, a list of segment identifiers;

providing the list of segment identifiers to the segment embeddings space;

receiving from the segment embeddings space an output list of segment identifiers having locations in the segment embeddings space closest to segments of the list of segment identifiers;

ranking the output list of segment identifiers; and

providing a second predetermined number of segment identifiers of the ranked output list of segment identifiers to the campaign manager device as a list of recommended segments to add to the line item.

16. The method of claim 9 , further comprising:

receiving from the campaign manager device an indication to attach the new segment to the line item.

17. A non-transitory, machine-readable medium, comprising executable instructions that, when executed by a processing system including a processor, facilitate performance of operations, the operations comprising:

receiving, from a campaign manager device that is in network communication with the processing system, information defining a line item and information comprising constraints for the line item in an online advertising system;

collecting browsing history information for targetable users;

ranking the targetable users based upon the browsing history information to form a ranked list of targetable users;

constructing a new segment based on the ranked list of targetable users;

forming a list of pairs, where a pair in the list of pairs includes an identifier for the line item and an identifier for the new segment;

constructing a mapping that maps line items line items to segments, where the mapping is constructed based upon the list of pairs;

constructing a line item to segment co-occurrence matrix based upon the mapping;

training a machine learning model based upon the line item to segment co-occurrence matrix, where the machine learning model is trained to output an embedding of a segment identifier that is to be added to the line item;

receiving, from the machine learning model, the embedding of the segment identifier in response to providing the machine learning model with the line item;

receiving a second embedding of a second segment identifier that identifies a second segment;

computing a proximity between the embedding of the segment identifier and the second embedding of the second segment identifier;

selecting the second segment based upon the computed proximity between the embedding of the segment identifier and the second embedding of the second segment identifier;

including the second segment in the line item in response to selecting the second segment; and

providing advertisement content to targeted users based upon the line item including the second segment.

18. The non-transitory, machine-readable medium of claim 17 , the operations further comprising:

producing a segment embeddings space responsive to training the machine learning model.

19. The non-transitory, machine-readable medium of claim 18 , the operations further comprising generating a second machine learning model to rank the targetable users, where generating the second machine learning model comprises:

computing co-occurrence for the targetable users based on universal resource locator (URL) information to generate user-user co-occurrence pairs;

training a user embedding model, including the segment embeddings space, with the user-user co-occurrence pairs, thereby forming a trained user embedding model; and

storing the trained user embedding model.

20. The non-transitory, machine-readable medium of claim 19 , where training the user embedding model comprises training a machine learning model that encodes user browser histories into the segment embeddings space where similarly behaving users cluster together.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 10, 2023
From: TAIFI, MOUSSA; VOLKOVICH, YANA; RODRIGUEZ CASTILLO, CARLOS EDUARDO
To: XANDR INC.
Reel/Frame 063592/0602 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 5, 2023
From: XANDR INC.
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 063264/0001 →
Continuity (2)
Continuation 16748259 · Jan 21, 2020
Related Publication 20220351254A1 · Nov 3, 2022
References Cited (28)
US 7231358B2 · Singh · 2007 [cited by examiner]
US 7835943B2 · Cheung · 2010 [cited by examiner]
US 10115124B1 · Kamvysselis · 2018 [cited by examiner]
US 20080281694A1 · Kretz · 2008 [cited by examiner]
US 20090063268A1 · Burgess · 2009 [cited by examiner]
US 20100324996A1 · Kim · 2010 [cited by examiner]
US 20120109664A1 · Krishnapuram · 2012 [cited by examiner]
US 20160180248A1 · Regan · 2016 [cited by examiner]
US 20170201781A1 · Itwaru · 2017 [cited by examiner]
US 20170308792A1 · Liang · 2017 [cited by examiner]
US 20170308924A1 · Jeon · 2017 [cited by examiner]
US 20170330239A1 · Luo · 2017 [cited by examiner]
US 20170371890A1 · Seker · 2017 [cited by examiner]
US 20180060915A1 · Liu · 2018 [cited by examiner]
US 20190005409A1 · Doshi · 2019 [cited by examiner]
US 20210224862A1 · Taifi · 2021 [cited by examiner]
Fan, Teng-Kai, et al. “Sentiment-Oriented Contextual Advertising.” Knowledge Information Systems, vol. 23, pp. 321-344, 2010. (Year: 2010). [cited by examiner]
Barkan, Oren et al., “ITEM2VEC: Neural Item Embedding for Collaborative Filtering”, Tel Aviv University; Microsoft, Feb. 20, 2017, 6 pages. [cited by applicant]
Fan, et al., “Sentiment-Oriented Contextual Advertising.”, Knowledge Information Systems, vol. 23, pp. 321-344, 2010. (Year: 2010), 2009, 23pgs. [cited by applicant]
Github, , “Github—Maciejkula/Spotlight: Deep Recommender Models Using Pytorch”, https://github.com/maciejkula/spotlight, Sep. 25, 2019, 4 pages. [cited by applicant]
Grbovic, Mihajlo et al., “Real-Time Personalization Using Embeddings for Search Ranking at Airbnb”, Proceedings of the 24th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining, Aug. 19-23, 2018, 10 … [cited by applicant]
Kenthapadi, Krishnaram et al., “Personalized Job Recommendation System at Linkedin: Practical Challenges and Lessons Learned”, Interesting Domains, RecSys'17, Aug. 27-31, 2017, pp. 346-347. [cited by applicant]
Mikolov, Tomas et al., “Distributed Representations of Words and Phrases and Their Compositionality”, Oct. 16, 2013, 9 pages. [cited by applicant]
Paszke, Adam , “Automatic Differentiation in Pytorch”, 31st Conference on Neural Information Processing Systems (NIPS 2017), 2017, 4 pages. [cited by applicant]
Pennington, Jeffrey et al., “Glove: Global Vectors for Word Representation”, Proceedings of the 2014 Conference on Empirical Methods in Natural Language Processing (EMNLP), Oct. 25-29, 2014, pp. 1532-1543. [cited by applicant]
Seyler, Dominic et al., “An Information Retrieval Framework for Contextual Suggestion Based on Heterogeneous Information Network Embeddings”, Jul. 8-12, 2018, 4 pages. [cited by applicant]
Smilkov, Daniel et al., “Embedding Projector: Interactive Visualization and Interpretation of Embeddings”, 30th Conference on Neural Information Processing Systems (NIPS 2016), Nov. 16, 2016, 4 pages. [cited by applicant]
Van Der Maaten, Laurens et al., “Visulaizing Data Using t-SNE”, Journal of Machine Learning Research 9; 2579-2605, Nov. 2008, 27 pages. [cited by applicant]