Method for targeted advertising on the web based on accumulated self-learning data, clustering users and semantic node graph techniques
First Claim
Patent Images
1. A method for dynamically placing objects in slots on a web page in response to a current request for said web page, comprising the steps of:
- classifying users into a plurality of user groups based on at least one user characteristic;
accumulating, for each user group, self learning data based on user click behavior during web page accesses;
matching a user identification of a current request for a web page with a corresponding user group;
creating a semantic diagram having nodes corresponding to web pages, keywords, and the objects;
generating a graph based upon the semantic diagram, the graph representing possibilities for assigning the objects to the web pages; and
dynamically selecting one or more objects, and one or more slots on said requested web page in which to position said one or more objects, based on at least said self-learning data of said corresponding user group and the graph.
2 Assignments
0 Petitions
Accused Products
Abstract
A method for dynamically placing objects in slots on a web page in response to a current client request for the web page comprises the steps of classifying users into user groups based one or more user-characteristics, accumulating self-learning data based on user click behavior for each user group, matching the current client request with a corresponding user group and scheduling real-time selection of the slots for the objects on the web page based on the self-learning data of the corresponding user group.
350 Citations
57 Claims
-
1. A method for dynamically placing objects in slots on a web page in response to a current request for said web page, comprising the steps of:
-
classifying users into a plurality of user groups based on at least one user characteristic;
accumulating, for each user group, self learning data based on user click behavior during web page accesses;
matching a user identification of a current request for a web page with a corresponding user group;
creating a semantic diagram having nodes corresponding to web pages, keywords, and the objects;
generating a graph based upon the semantic diagram, the graph representing possibilities for assigning the objects to the web pages; and
dynamically selecting one or more objects, and one or more slots on said requested web page in which to position said one or more objects, based on at least said self-learning data of said corresponding user group and the graph. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50)
assigning keywords to classes of objects and web pages and classifying objects and web pages into a plurality of said classes so that user classification efficiency is improved.
-
-
7. The method of claim 5 wherein said classifying step comprises the steps of:
-
selecting a set of popular web pages with high click rates;
classifying objects with similar click/exposure ratios on the set of popular web pages into object groups;
classifying web pages experiencing similar click/exposure ratios for objects in each of said object groups into page groups;
adding web pages to said set; and
repeating said classifying steps.
-
-
8. The method of claim 7 wherein said slots have differing sizes and locations on said web page.
-
9. The method of claim 3 wherein the dynamically selecting step comprises the steps of:
-
maintaining cumulated statistics on exposures for said corresponding user group within a required range of tolerance as a result of said probabilistic assignment data; and
choosing objects for said slots based on a function of said cumulated statistics and said range of tolerance.
-
-
10. The method of claim 9 wherein the choosing step comprises the step of choosing objects for said slots based on a largest outstanding requirement as dictated by a difference between said cumulated statistics and a targeted rate for said corresponding user group.
-
11. The method of claim 1 further comprising the step of generating probabilistic assignment data for each user group based on a popularity characteristic of said web page.
-
12. The method of claim 11 wherein said generating step comprises the step of generating probabilistic assignment data for each user group based on a number of clicks on said web page for a period of time.
-
13. The method of claim 1 wherein said classifying step comprises the steps of:
-
probabilistically choosing a fraction of previous requests and classifying users of said fraction of previous requests into a plurality of user groups.
-
-
14. The method of claim 1 wherein said classifying step is based on user demographic information.
-
15. The method of claim 1 wherein said classifying step is based on user click behavior.
-
16. The method of claim 15 wherein said classifying step is based on user click/exposure ratios.
-
17. The method of claim 15 wherein said classifying step is based on user path traversal patterns.
-
18. The method of claim 1 wherein said dynamcally selecting step is further based on exposures of objects on previous web pages requested by a same user so that repetitive exposure of the same object is controlled.
-
19. The method of claim 1 wherein the dynamically selecting step comprises the step of varying a size, appearance and/or position of said objects.
-
20. The method of claim 19 wherein the varying step is traversal path dependent.
-
21. The method of claim 1 wherein said classifying step comprises the steps of:
-
collecting user characteristic data based on previous object assignments;
analyzing said user characteristic data so that new user characteristic data is discovered;
classifying users into a plurality of user groups based on said new user characteristic data.
-
-
22. The method of claim 21 wherein said user characteristic data is click/exposure ratio data.
-
23. The method of claim 21 wherein a fraction of said previous assignments are randomly made.
-
24. The method of claim 1 wherein said objects are advertisements.
-
25. The method of claim 1 wherein said classifying step is further based on a sensitivity of said corresponding user group to variations in size and location of said slots on said web page.
-
26. The method of claim 25 further comprising the step of collecting statistics representing the impact of different slot sizes and locations on click/exposure ratios for said user groups.
-
27. The method of claim 1 wherein said classifying step comprises the step of using an efficient multi-dimensional clustering algorithm to classify users into a plurality of user groups.
-
28. The method of claim 1 wherein said dynamically selecting step comprises the step of randomly scheduling a fraction of said objects to said web page so that self-learning is improved.
-
29. The method of claim 1 wherein said dynamically selecting step comprises the step of scheduling on said web page different numbers of said slots.
-
30. The method of claim 1 wherein said classifying step is further based on time of day.
-
31. The method of claim 1, wherein said method is implemented by a program storage device readable by machine, tangibly embodying a program of instructions executable by the machine to perform said method steps.
-
32. The method of claim 1, wherein the one or more objects and the one or more slots are dynamically selected in real-time.
-
33. The method of claim 1, wherein said selecting step is further based on said requested web page.
-
34. The method of claim 1, wherein, upon serving said requested web page, a number of expected clicks of said one or more objects is maximized.
-
35. The method of claim 1, wherein, the graph comprises object nodes and page nodes respectively corresponding to the objects and the web pages, and arcs for connecting the object nodes to the page nodes, and wherein object node flow requirements and page node flow requirements are respectively assigned to the object nodes and the page nodes, and flow weights and a flow are assigned to the arcs.
-
36. The method of claim 35, wherein the arcs connect the object nodes to the page nodes as a function of a classification of the objects and the web pages.
-
37. The method of claim 35, wherein the object node flow requirements are assigned to the object nodes based on periodic contract requirements of a corresponding object.
-
38. The method of claim 35, wherein the page node flow requirements are assigned to the page nodes based on an expected popularity of a corresponding web page.
-
39. The method of claim 35, wherein the flow weights are assigned to the arcs based on a function of group click/exposure ratios resulting from placing the objects on the web pages.
-
40. The method of claim 35, wherein said generating step comprises the step of introducing a flow supply node having an arc to each of the object nodes, the flow supply node providing a supply flow.
-
41. The method of claim 35, wherein the flow to each of the arcs is assigned such that the supply flow flows through the arcs to the page nodes and in-flow equals out-flow for each of the object nodes and in-flow is less than the node flow requirements for each of the page nodes.
-
42. The method of claim 35, wherein the flow to each of the arcs is assigned using a probabilistic assignment method.
-
43. The method of claim 1, wherein said creating step connects a page node to a keyword node in the semantic diagram if a corresponding page falls in a corresponding keyword category.
-
44. The method of claim 43, wherein said creating step connects an object node to the keyword node in the semantic diagram if a corresponding object falls in a corresponding keyword category.
-
45. The method of claim 44, wherein the page node is connected by an arc to the object node in the graph if a path exists in the semantic diagram from the page node through the keyword node to the object node.
-
46. The method of claim 35, wherein the arcs connect the object nodes to the page nodes as a function of a classification of the objects and the web pages, and the object node flow requirements and the page node flow requirements are respectively assigned to the object nodes and the page nodes based on periodic contract requirements of a corresponding object and an expected popularity of a corresponding web page, respectively.
-
47. The method of claim 46, wherein said generating step comprises the step of introducing a flow supply node having an arc to each of the object nodes, the flow supply node providing a supply flow.
-
48. The method of claim 47, wherein the flow to each of the arcs is assigned such that the supply flow flows through the arcs to the page nodes and in-flow equals out-flow for each of the object nodes and in-flow is less than the node flow requirements for each of the page nodes.
-
49. The method of claim 48, wherein the flow to each of the arcs is assigned using a probabilistic assignment method.
-
50. The method of claim 48, wherein the flow weights are assigned to the arcs based on a function of group click/exposure ratios resulting from placing the objects on the web pages.
-
51. A method for dynamically placing objects in slots on a web page in response to a current request for said web page, comprising the steps of:
-
classifying users into a plurality of user groups based on at least one user characteristic;
generating probabilistic assignment data for each user group based on a contract requirement of said objects;
accumulating, for each user group, self learning data based on user click behavior during web page accesses;
matching a user identification of a current request for a web page with a corresponding user group; and
dynamically selecting, in real-time, one or more objects, and one or more slots on said requested web page in which to position said one or more objects, based on at least said self-learning data of said corresponding user group, said requested web page, and said probabilistic assignment data, wherein said generating step comprises the steps of;
assigning each of said objects to an object node;
assigning each of a plurality of web pages to a page node;
providing an arc between a page node and at least one of said object nodes as a function of a classification of said objects and said web pages;
assigning an object node flow requirement to each object node based on periodic contract requirements of a corresponding object;
assigning a page node flow requirement to each page node based on an expected popularity of a corresponding web page;
introducing a flow supply node having an arc to each object node, said flow supply node providing a supply flow;
assigning a flow weight to each arc based on a function of group click/exposure ratios resulting from placing said corresponding objects on said corresponding web pages; and
assigning a flow to each arc with a probabilistic assignment method so that said supply flow flows through said arcs to said page nodes and in-flow equals out-flow for each object node and in-flow is less than said node flow requirement each page node, wherein a total return of the assignment is maximized. - View Dependent Claims (52)
-
-
53. A method for dynamically placing objects in slots on a web page in response to a current request for said web page, comprising the steps of:
-
classifying users into a plurality of user groups based on at least one user characteristic;
accumulating, for each user group, self learning data based on user click behavior during web page accesses;
matching a user identification of a current request for a web page with a corresponding user group;
creating a semantic diagram having nodes corresponding to web pages, keywords, and the objects;
generating a graph based upon the semantic diagram, the graph representing possibilities for assigning the objects to the web pages; and
dynamically selecting one or more slots on said requested web page in which to position one or more of the objects, based on at least said self-learning data of said corresponding user group and the graph. - View Dependent Claims (54, 55, 56, 57)
-
Specification