Belief propagation for generalized matching
First Claim
1. A computer readable medium having software instructions stored thereon for matching an advertisement with a key term using belief propagation, the software instructions, when executed by a processor, cause the processor to perform operations comprising:
- identifying a predetermined number of advertiser nodes matching a selected key term node;
updating a belief value corresponding to each neighboring advertiser node of a selected key term node in a graph data structure by passing messages between neighboring nodes until a termination condition is met, each message being based on profit matrix values and received messages, where a data content of each message is determined according to a compressed message update process;
the compressed message update process comprising calculating one or more intermediate values for each neighboring advertiser node of a selected key term node that is based on exponentiated profit matrix values and received messages, sorting the one or more intermediate values, selecting an intermediate value from the one or more intermediate values based on the predetermined number of advertiser nodes matching the selected key term node, and calculating a new message based on the exponentiated profit matrix values, the received messages, and the selected intermediate value;
the passing messages including applying data signals to and receiving signals from a multiprocessor data input/output system;
storing each updated belief value and each received message in an electronic storage associated with the selected key term node;
selecting the predetermined number of advertiser nodes matching the selected key term node, the matching based on updated belief values of advertiser nodes neighboring the selected key term node; and
outputting the selected advertiser nodes.
3 Assignments
0 Petitions
Accused Products
Abstract
Entities may be matched to enhance the efficiency of various commercial activities using various system and method embodiments of the disclosed subject matter. Belief propagation on a graph data structure defining a bipartite or unipartite matching opportunity is used to calculate a best matching. In embodiments, functions are implemented based upon the match, such as executing sales between matched buyers and sellers in an online auction system. In embodiments, messages with scalar values carry information about the relative value of possible matchings, initially provided as weights or values for the possible matchings. Weights may depend on, for example, bids or costs. Messages may be passed, for example over a network between processors respective to the nodes. Belief values reflecting a best matching can be continuously updated for each node responsively to the value information and received messages to rank the matches respective to each node, which progressively improve. This allows short or complete terminations conditions to determine the goodness of the matching. Differing numbers of matches respective to each member of the disjoint sets and distributions of the desirability of different numbers of matches can be integrated in the matchings in respective embodiments.
-
Citations
25 Claims
-
1. A computer readable medium having software instructions stored thereon for matching an advertisement with a key term using belief propagation, the software instructions, when executed by a processor, cause the processor to perform operations comprising:
-
identifying a predetermined number of advertiser nodes matching a selected key term node; updating a belief value corresponding to each neighboring advertiser node of a selected key term node in a graph data structure by passing messages between neighboring nodes until a termination condition is met, each message being based on profit matrix values and received messages, where a data content of each message is determined according to a compressed message update process; the compressed message update process comprising calculating one or more intermediate values for each neighboring advertiser node of a selected key term node that is based on exponentiated profit matrix values and received messages, sorting the one or more intermediate values, selecting an intermediate value from the one or more intermediate values based on the predetermined number of advertiser nodes matching the selected key term node, and calculating a new message based on the exponentiated profit matrix values, the received messages, and the selected intermediate value; the passing messages including applying data signals to and receiving signals from a multiprocessor data input/output system; storing each updated belief value and each received message in an electronic storage associated with the selected key term node; selecting the predetermined number of advertiser nodes matching the selected key term node, the matching based on updated belief values of advertiser nodes neighboring the selected key term node; and outputting the selected advertiser nodes. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A distributed processing system for matching advertisements with search terms using belief propagation, the system comprising:
-
a plurality of processors each corresponding to a node of a graph data structure having advertisement nodes and search term nodes where each advertisement node is a neighbor to at least one search term node; a network coupling the plurality of processors and adapted to transfer messages between the processors; wherein each processor is adapted to load and execute software instructions stored on a computer readable medium, the software instructions, when executed, cause the processor to perform operations including; identifying a predetermined number of advertiser nodes matching a selected search term node; updating belief values corresponding to its respective neighbor nodes by passing messages between neighboring nodes until a termination condition is met, a data content of each message being based on profit matrix values and received messages, where a data content of each message is determined according to a message update process; the compressed message update process comprising calculating one or more intermediate values for each neighboring advertiser node of a selected search term node that is based on exponentiated profit matrix values and received messages, sorting the one or more intermediate values, selecting an intermediate value from the one or more intermediate values based on the predetermined number of advertiser nodes matching the selected search term node, and calculating a new message based on the exponentiated profit matrix values, the received messages, and the selected intermediate value; storing each updated belief value and each received message in an electronic storage associated with the respective processor; selecting the predetermined number of matching neighbor nodes, the matching being determined based on updated belief values of neighbor nodes; and outputting the selected matching neighbor nodes. - View Dependent Claims (7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
-
-
17. A computerized method for matching advertisements with search terms using belief propagation, the method comprising:
-
providing a bipartite graph data structure having a plurality of advertiser nodes and a plurality of search term nodes, where each advertiser node is connected to a corresponding search term node by an edge; providing a profit matrix having a profit for each edge of the bipartite graph data structure; identifying a predetermined number of advertiser nodes matching a selected search term node; updating, with a processor adapted to perform belief propagation generalized matching, a belief value corresponding to each advertiser node connected to a selected search term node by passing messages between adjacent nodes until a termination condition is met, each message being based on profit matrix values and received messages, where a data content of each message is determined according to a compressed message update process; the compressed message update process comprising calculating one or more intermediate values for each neighboring advertiser node of a selected search term node that is based on exponentiated profit matrix values and received messages, sorting the one or more intermediate values, selecting an intermediate value from the one or more intermediate values based on the predetermined number of advertiser nodes matching the selected search term node, and calculating a new message based on the exponentiated profit matrix values, the received messages, and the selected intermediate value; storing each updated belief value and each received message in an electronic storage associated with the corresponding advertiser node; selecting the predetermined number of advertiser nodes matching each search term node of a group of search term nodes of interest, the matching being determined based on updated belief values of advertiser nodes adjacent to each search term node of interest; and outputting the selected advertiser nodes matching each search term node of interest. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24, 25)
-
Specification