WO2010005952A2 - Systems and methods for query expansion in sponsored search - Google Patents
Systems and methods for query expansion in sponsored search Download PDFInfo
- Publication number
- WO2010005952A2 WO2010005952A2 PCT/US2009/049786 US2009049786W WO2010005952A2 WO 2010005952 A2 WO2010005952 A2 WO 2010005952A2 US 2009049786 W US2009049786 W US 2009049786W WO 2010005952 A2 WO2010005952 A2 WO 2010005952A2
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- query
- feature vector
- feature
- advertisement
- data store
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/3332—Query translation
- G06F16/3338—Query expansion
Definitions
- Embodiments of the invention described herein generally relate to query expansion. More specifically, embodiments of the present invention are directed towards systems, methods and computer program products for expanding an input query utilizing one or more external knowledge sources, a search result set for the input query and one or more other features of the input query in selecting sponsored search advertisements.
- the present invention is directed towards systems, methods and computer program products for providing query-based advertising content.
- a method according to one embodiment of the present invention for providing query-based advertising content comprises receiving a web query and generating an ad query associated with the web query.
- the ad query is generated on the basis of one of a query to feature vector relationship or a rewritten query vector.
- An advertisement is selected based on the generated ad query.
- the method may comprise mapping a query to advertisement relationship that associates the web query with one or more advertisements and selecting the one or more advertisements upon receipt of the web query.
- a query to feature vector relationship may comprise querying a feature vector data store comprising one or more feature vectors.
- the feature vector data store may be generated during an offline process and comprise feature vectors generated through rewriting of a plurality of cached queries.
- the feature vector data store may also comprise feature vectors generated through analyzing one or more search results associated with one or more cached queries, as well as feature vectors generated using ancillary features associated with a cached query, which according to one embodiment comprise proper noun analysis of a cached query.
- selecting an advertisement may comprise selecting one or more advertisements according to a predetermined advertisement selection scheme.
- the system also comprises an online query expansion module operative to generate an ad query on the basis of a rewritten query vector and an inverted ad index operative to select a plurality of advertisements based on the generated ad query.
- a query to advertisement relationship comprises associating a web query with one or more advertisements.
- the query to feature cache may comprise a feature vector data store comprising one or more feature vectors, which may be generated during an offline process.
- the feature vector data store may comprise one or more feature vectors generated through a rewriting of one or more cached queries, as well as feature vectors generated through an analysis of one or more search results associated with one or more cached queries or ancillary features associated with one or more cached queries, which may comprise a proper noun analysis of the one or more cached queries.
- Selecting an advertisement may comprise selecting one or more advertisements according to a predetermined advertisement selection scheme.
- One embodiment of the present invention also comprises Computer readable media comprising program code for execution by a programmable processor that instructs the processor to perform a method for providing query-based advertising content.
- the computer readable media according to the present embodiment comprises program code for receiving a web query and program code for generating an ad query associated with the web query, wherein the ad query is generated on the basis of on one of a query to advertisement relationship, a query to feature vector relationship, or a rewritten query vector.
- the present embodiment also comprises program code for selecting an advertisement based on the generated ad query.
- the computer readable media maintains a query to advertisement relationship that comprises associating a web query with one or more advertisements.
- the computer readable media may maintain a query to feature vector relationship that comprises querying a feature vector data store comprising one or more feature vectors, which may be generated during an offline process.
- the feature vector data store may comprise feature vectors generated through rewriting of a plurality of cached queries, through analyzing one or more search results associated with one or more cached queries or through the use of ancillary features associated with a cached query, which may comprise a proper noun analysis of a cached query.
- the computer readable for selecting an advertisement may also comprise computer readable media for selecting one or more advertisements according to a predetermined advertisement selection scheme.
- FIG. 1 presents a block diagram depicting a system for expanding web queries for use in sponsored search applications according to one embodiment of the present invention
- FIG. 2 presents a flow diagram illustrating a method for expanding a query for the selection of sponsored search advertisements according to one embodiment of the present invention
- FIG. 3 presents a flow diagram illustrating a method for generating a feature vector for a cached query according to one embodiment of the present invention
- FIG. 4 presents a flow diagram illustrating a method for generating a feature vector for an advertisement according to one embodiment of the present invention.
- Fig. 5 presents a flow diagram illustrating a method for selecting one or more advertisements in response to receipt of a query according to one embodiment of the present invention.
- Fig. 1 presents a block diagram depicting a system for providing query-based advertising content according to one embodiment of the present invention.
- the exemplary system 100 comprises a sponsored search module 102 that is in communication with an advertisement selector 104.
- advertisement selector 104 comprises a query to advertisement cache 106 coupled to a query to feature cache 108.
- query to feature cache 108 is communicatively coupled to inverted ad index 112, an online query expansion module 110 and feature generator 114.
- the feature generator 114 may comprise a feature combination module 122 coupled to rewrite module 116, a search result module 118 and one or more other feature module(s) 120 that, in turn, are operative to receive data from a cached queries data store 126.
- Feature generator 114 may also comprise an advertisement feature module 124 operative to transmit data to the advertisement selector 104.
- the sponsored search module 102 may comprise a server device that is operative to receive requests for content from a plurality of users (not shown).
- sponsored search module 102 may be further operative to receive requests from a plurality of software components (not shown), which may be server-side software components.
- the sponsored search module 102 may be operative to receive a request for advertisements from a user directly, or from a search module operative to perform additional search related tasks (e.g., retrieving search results) in addition to transmitting an advertisement request to sponsored search module 102.
- data that the sponsored search module 102 receives may comprise a user query, which may be entered, for example, through a form field presented on a search engine web page.
- the sponsored search module 102 may be operative to transmit the received user queries to query to advertisement cache 106.
- query to advertisement cache 106 comprises an indexed cache operative to associate an incoming query (also referred to as a "web query") with one or more advertisements.
- popular user queries such as "World Cup” or "Red Sox” may be associated with one or more advertisements indexed in the query to advertisement cache 106. If the query to advertisement cache 106 maintains a match, the query to advertisement cache 106 may return one or more advertisements to the sponsored search module 102.
- the query to advertisement cache 106 may transmit the received query to an inverted ad index 112 for subsequent processing, as is described in greater detail herein.
- one or more advertisements associated with the web query may not be located or otherwise identified within the query to advertisement cache 106.
- more complex queries (or less popular queries) that are not associated with advertisements may be forwarded from the query to advertisement cache 106 to the query to feature cache 108.
- the query to feature cache 108 is operative to attempt to locate a feature vector associated with the web query, a given feature vector received from the feature generator 114, as is described in greater detail herein.
- the feature generator 114 is operative to examine cached queries 126 and generate one or more feature vectors for association with a given one of the cached queries.
- rewrite module 116 may be operative to first analyze a query from the cached queries 126 and generate a feature vector based upon query rewriting.
- rewrite module 116 may be operative to examine a cached query and generate a feature vector by rewriting terms within the cached query.
- the rewrite module 116 may replace, append or delete terms from an original cached query to generate a more robust rewrite of the cached query for use in generating feature vector associated with the query.
- rewrite module 116 may be operative to remove terms deemed unnecessary to the query (e.g., stopwords, redundant terms, etc).
- the feature generator 114 also contains a search result module 118 operative to retrieve cached queries 126 and generate a feature vector based upon search results associated with the cached query.
- the search result module 118 may be operative to determine features for a given cached query on the basis of a top N number of web search results associated with the given query.
- the N number of results may be pre-determined by the system.
- the content of the top 40 search results may be used to generate a feature vector for association with the given query.
- a feature vector may comprise the top M terms occurring within the top N documents, wherein M may also pre-determined within the system.
- the feature generator 114 may further comprise another feature module 120 operative to generate a feature vector for cached queries 126 on the basis of one or more ancillary features.
- ancillary features may comprise extracting predetermined terms from cached queries 126 and generating features based on the predetermined terms.
- the other feature module 120 may extract proper nouns such as locations or names of individuals and generate a feature vector on the basis of knowledge regarding the proper nouns.
- the other feature module 120 may utilize other databases for generating a feature vector for a given cached query 126, such as a user interaction database.
- the rewrite module 116, search result module 118 and other feature module 120 are operative to transmit feature vectors to a feature combination module 122.
- a feature combination module 122 may be operative to receive the feature vectors and generate a final feature vector associated with a given cached query 126.
- generating a final feature vector may comprise weighting the plurality of features stored within the received feature vectors and selecting a plurality of features based on the weighting.
- the query to feature cache 108 is operative to store a pair comprising one or more feature vectors in association with a query, which the query to feature cache 108 receives from the feature generator 114.
- the advertisement selector 104 receives the web query and examines the query to feature cache 108 to determine if a feature vector exists for the web query. If so, query to feature cache 108 transmits the feature vector to the inverted ad index 112. If not, query to feature cache forwards the query to the online query expansion module 110.
- the online query expansion module 110 may be operative to rewrite the original query for use in generating feature vector used to access the inverted index of ads 112.
- the feature generator 114 may further comprise an advertisement feature module 124 operative to analyze one or more advertisements and generate a feature vector for association with a given advertisement.
- generating a feature vector may comprise analyzing textual data associated with an advertisement and extracting one or more terms associated with a given advertisement.
- the advertisement feature module 124 may be operative to transmit a plurality of feature vectors - advertisement pairs to the inverted index of ads 112.
- the inverted index of ads 112 may receive a feature vector from query to advertisement cache 106, query to feature cache 108 or online query expansion module 110 and may compare the received feature vector to stored feature vectors for advertisements, returning one or more advertisements matching the received feature vector.
- the inverted index of ads 112 may select one or more advertisements on the basis of a pre-determined ranking scheme. For example, the inverted index 112 may select the top five advertisements associated with a received feature vector and may forward those advertisements to sponsored search module 102.
- the sponsored search module 102 may be operative to combine incoming advertisement data within the context of a search engine results page.
- inverted index of ads 112 may additionally be operative to cache a plurality of ads associate with a given query for subsequent retrieval to enhance the overall all speed of the system 100.
- Fig. 2 presents a flow diagram illustrating a method for expanding a query for the selection of sponsored search advertisements according to one embodiment of the present invention.
- the method 200 receives a web query, step 202.
- a web query may be received from a form element allowing a user to enter freeform text into a web page and submit the request to a search engine via an HTTP request.
- the method 200 receives the web query and determines a feature vector for am expanded web query to formulate an ad query, step 204.
- determining a feature vector for an expanded web query may comprise generating a feature vector based on a plurality of feature vectors, as is described herein with respect to Figure 3.
- the method 200 may execute a plurality of vector generation techniques, combining the results to generate a final feature vector that represents an ad query.
- the method 200 may then select one or more advertisements on the basis of the ad query, step 206.
- selecting advertisements may comprise comparing the ad query to one or more feature vectors associated with one or more advertisements.
- the method 200 may select advertisements on the basis of a relevancy match between the ad query and the advertisement feature vectors.
- Fig. 3 presents a flow diagram illustrating a method for generating a feature vector for a cached query according to one embodiment of the present invention.
- the method 300 receives a stored query, step 302.
- receiving a stored query may comprise accessing a query log database containing a plurality of previously entered queries.
- the method 300 may then generate a rewrite for the stored query, step 304.
- a rewrite may comprise modifying the stored query according to a set of rules. For example, rewriting a query may comprise replacing, adding or deleting terms from the original stored query.
- the method 300 checks to determine if additional rewrites are available for the stored query, step 306. If additional rewrites are available, the method 300 generates the additional rewrites in step 304. If not, the method 300 generates a feature vector for the generated rewrites, step 308. In one embodiment, generating a feature vector for a plurality of rewrites may comprise extracting a plurality of terms common to the generated rewrites.
- a feature vector may comprise a list of rewritten terms and a weight associated with a given term. Similarly, terms may be weighted in accordance with a rewrite technique utilized to obtain the rewrite. In an alternative embodiment, rewriting a cached query may be performed recursively, that is, performing additional rewrites to obtain additional material for use in query expansion. [0041] After generating a feature vector for the one or more rewrites, the method 300 may then execute a web search for the stored query, step 310. In the embodiment that Fig.
- executing a web search may comprise performing a web search similar to that performed by a user accessing a search engine, resulting in the retrieval of one or more relevant search results for the stored query.
- the method 300 may then generate a feature vector for a given result from the web search results, step 312.
- generating a feature vector may comprise analyzing data within a search result and populating a feature vector with the most relevant terms found within the search result.
- the method 300 determines if additional results remain in the result set, step 314.
- a determination of additional results may comprise analyzing the top N returned search results from a search results set, wherein N may be determined prior to performing the method 300.
- the method 300 may generate feature vectors for the remaining search results, step 312.
- feature vectors for a result set have been generated on the basis of external knowledge (e.g., rewrite systems), as well as a result set based on the query, the method 300 may generate feature vector expansions of the stored query, step 316.
- other features may comprise various ancillary features enabling the generation of a feature vector.
- the method 300 may extract proper nouns such as locations or names of individuals and generate a feature vector based on knowledge regarding the proper nouns.
- the method 300 may utilize other databases for generating a feature vector for a given stored query, such as a user interaction database.
- the method 300 combines the feature vectors to formulate a final, normalized feature vector, e.g., an ad query, for storage, step 318.
- Combing feature vectors may comprise calculating the most frequently occurring terms occurring within the feature vectors generated in steps 308, 312 and 316.
- terms within specific feature vectors may be weighted according to a predetermined weighting scheme. For example, terms within a vector generated in steps 308 and 312 may be weighted higher than those generated in step 316.
- the method 300 stores the final ad query for storage.
- storing an ad query for storage may comprise storing the ad query within a database or similar persistent storage device for subsequent retrieval.
- Fig. 4 presents a flow diagram illustrating a method for generating a feature vector for an advertisement according to one embodiment of the present invention.
- the method 400 selects a given advertisement, step 402.
- an advertisement may comprise textual, graphical or video elements transmitted by an advertiser to an advertisement provider.
- the method 400 then generates a feature vector for the selected advertisement, step 404.
- Generating a feature vector for a selected advertisement may comprise analyzing textual data associated with a given advertisement and extracting a subset of the textual data for incorporation in a feature vector.
- generating a feature vector for a given advertisement may further comprise analyzing non-textual data such as graphical or video data and generating a textual feature vector associated with the non-textual data.
- the method 400 may further analyze hyperlinked resources associated with a given advertisement, as well as previously retrieved data associated with an advertisement or advertiser.
- the method 400 may write the given advertisement and feature vector to a persistent storage device, step 406.
- Fig. 5 presents a flow diagram illustrating a method for selecting one or more advertisements in response to receipt of a query according to one embodiment of the present invention.
- the method 500 receives a web query, step 502.
- a web query may comprise textual data entered into a search form located on a search engine web page.
- the method 500 checks to determine if a ⁇ query, ad> pair is present, step 504. If the ⁇ query, ad> pair is present, the method returns one or more advertisements associated with the query, step 506.
- a user query may match an existing ⁇ query, ad> pair and, thus, a plurality of predetermined ads may be returned in response to the user query.
- a ⁇ query, ad> pair may be present for popular queries so that top quality advertisements may be retrieved immediately for popular queries.
- a ⁇ query, ad> pair is not present, the method 500 determines if a ⁇ query, feature vector> pair is present, step 508. If ⁇ query, feature vector> pair is present, the method returns an ad query associated with the web query, step 510.
- generating an ad query may comprise querying a feature vector store for a feature vector that corresponds to the user query.
- a feature vector store may comprise feature vectors generated in the offline process described with respect to Figure 3.
- the method 500 If a ⁇ query, feature vector> pair is not present, the method 500 generates rewrites for the web query, step 516, generating an ad query from the feature vector for the rewrite, step 518. In this step, the method 500 may determine that feature vectors associated with the query have not been generated during the offline process described in conjunction with in Figure 3, therefore the method 500 generates one or more re-written queries for the web query and an associated ad query in real time for the web query.
- the method 500 uses the selected ad query to query an inverted index of advertisements, step 512, returning one or more advertisements that match the ad query.
- selecting advertisements may comprise comparing the ad query to a plurality of feature vectors associated with a plurality of advertisements.
- the method 500 may select a top plurality of advertisements based on the relevancy match between the ad query and the advertisement feature vectors.
- the method 500 then returns the advertisements matching the ad query, step 514.
- the method 500 may further be operative to cache ad queries associated with a given query.
- Figs. 1 through 5 are conceptual illustrations allowing for an explanation of the present invention. It should be understood that various aspects of the embodiments of the present invention could be implemented in hardware, firmware, software, or combinations thereof. In such embodiments, the various components and/or steps would be implemented in hardware, firmware, and/or software to perform the functions of the present invention. That is, the same piece of hardware, firmware, or module of software could perform one or more of the illustrated blocks (e.g., components or steps).
- computer software e.g., programs or other instructions
- data is stored on a machine readable medium as part of a computer program product, and is loaded into a computer system or other device or machine via a removable storage drive, hard drive, or communications interface.
- Computer programs also called computer control logic or computer readable program code
- processors controllers, or the like
- machine readable medium used to generally refer to media such as a random access memory (RAM); a read only memory (ROM); a removable storage unit (e.g., a magnetic or optical disc, flash memory device, or the like); a hard disk; electronic, electromagnetic, optical, acoustical, or other form of propagated signals (e.g., carrier waves, infrared signals, digital signals, etc.); or the like.
- RAM random access memory
- ROM read only memory
- removable storage unit e.g., a magnetic or optical disc, flash memory device, or the like
- hard disk e.g., a hard disk
- electronic, electromagnetic, optical, acoustical, or other form of propagated signals e.g., carrier waves, infrared signals, digital signals, etc.
Abstract
The present invention is directed towards systems, methods and computer program products for providing query-based advertising content. According to one embodiment, a method for providing query-based advertising content comprises receiving a web query and generating an ad query associated with the web query, wherein the ad query is generated on the basis of one of a query to advertisement relationship, a query to feature vector relationship, or a rewritten query vector. An advertisement is selected on the basis of the generated ad query.
Description
SYSTEMS AND METHODS FOR QUERY EXPANSION IN SPONSORED SEARCH
COPYRIGHT NOTICE
[0001] A portion of the disclosure of this patent document contains material, which is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure, as it appears in the Patent and Trademark Office patent files or records, but otherwise reserves all copyright rights whatsoever.
CROSS REFERENCE TO RELATED APPLICATIONS
[0002] This application is related to the following pending applications, each of which is hereby incorporated herein by reference in its entirety:
[0003] U.S. Patent Application Serial No. 11/432,585, entitled "SYSTEM AND METHOD FOR
DETERMINING SEMANTICALLY RELATED TERM," filed May 11, 2006; and
[0004] U.S. Patent No. 11/830,726, entitled, "SYSTEM FOR DETERMINING THE QUALITY
OF QUERY SUGGESTIONS USING A NETWORK OF USERS AND ADVERTISERS," filed
July 30, 2007
[0005] U.S. Patent No. 11/600,603, entitled "SYSTEM AND METHOD FOR GENERATING
SUBSTITUTABLE QUERIES ON THE BASIS OF ONE OR MORE FEATURES," filed
November 15, 2006;
[0006] U.S. Patent No. 11/598,239, entitled "SYSTEM AND METHOD FOR GENERATING
SUBSTITUTABLE QUERIES," filed November 9, 2006; and
[0007] U.S. Patent No. 11/733,630, entitled "SYSTEM AND METHOD FOR
UNDERSTANDING THE RELATIONSHIPS BETWEEN KEYWORDS AND
ADVERTISEMENTS," filed April 10, 2007.
FIELD OF INVENTION
[0008] Embodiments of the invention described herein generally relate to query expansion. More specifically, embodiments of the present invention are directed towards systems, methods and computer program products for expanding an input query utilizing one or more external
knowledge sources, a search result set for the input query and one or more other features of the input query in selecting sponsored search advertisements.
BACKGROUND OF THE INVENTION
[0009] Since the widespread acceptance of the Internet, advertising as a main source of revenue has proven to be both effective and lucrative. Advertising on the Internet provides the additional benefit of allowing advertisers to more effectively target audiences viewing their advertisements as opposed to traditional print and "hard copy" advertising which constitute a one-way flow of information: advertisers to users.
[0010] The business of Web search, a $10 billion industry, relies heavily on sponsored search, which involves displaying one or more selected paid advertisements alongside algorithmic search results. To maximize long-term revenue, the selection of advertisements should be relevant to the user's query. On the other hand, identifying relevant ads is challenging because the typical query is short and also because users, consciously or not, choose terms intended to lead to optimal Web search results and not to optimal ads. Furthermore, the ads themselves are short and usually formulated to capture the reader's attention rather than to facilitate query matching.
[0011] Traditionally, the matching of ads to queries has been accomplished by requiring advertisers to pre-define the queries ("bid phrases") for which it would be desirable to display a given ad. This approach, however, restricts the ad distribution to a relatively small set of queries. Accordingly, to go beyond this set while maintaining ad relevancy, systems, methods and computer program products are needed that expand an original query with features prevalent among the returned web search results, rewrites of the original query and other features of the original query, using the expanded query to search an advertisement space.
SUMMARY OF THE INVENTION
[0012] The present invention is directed towards systems, methods and computer program products for providing query-based advertising content. A method according to one embodiment
of the present invention for providing query-based advertising content comprises receiving a web query and generating an ad query associated with the web query. The ad query is generated on the basis of one of a query to feature vector relationship or a rewritten query vector. An advertisement is selected based on the generated ad query. According to certain embodiments, the method may comprise mapping a query to advertisement relationship that associates the web query with one or more advertisements and selecting the one or more advertisements upon receipt of the web query.
[0013] A query to feature vector relationship may comprise querying a feature vector data store comprising one or more feature vectors. The feature vector data store may be generated during an offline process and comprise feature vectors generated through rewriting of a plurality of cached queries. The feature vector data store may also comprise feature vectors generated through analyzing one or more search results associated with one or more cached queries, as well as feature vectors generated using ancillary features associated with a cached query, which according to one embodiment comprise proper noun analysis of a cached query. Additionally, selecting an advertisement may comprise selecting one or more advertisements according to a predetermined advertisement selection scheme.
[0014] A system according to one embodiment of the present invention for providing query- based advertising content comprises a sponsored search module operative to receive a web query, a feature generator operative to generate one or more feature vectors, a query to advertisement cache operative to maintain one or more advertisements on the basis of on one of a query to advertisement relationship and a query to feature cache operative to maintain an ad query on the basis of a query to feature vector relationship. According to the present embodiment, the system also comprises an online query expansion module operative to generate an ad query on the basis of a rewritten query vector and an inverted ad index operative to select a plurality of advertisements based on the generated ad query.
[0015] According to one embodiment, a query to advertisement relationship comprises associating a web query with one or more advertisements. The query to feature cache may comprise a feature vector data store comprising one or more feature vectors, which may be generated during an offline process. The feature vector data store may comprise one or more feature vectors generated through a rewriting of one or more cached queries, as well as feature vectors generated through an analysis of one or more search results associated with one or more cached queries or ancillary features associated with one or more cached queries, which may comprise a proper noun analysis of the one or more cached queries. Selecting an advertisement may comprise selecting one or more advertisements according to a predetermined advertisement selection scheme.
[0016] One embodiment of the present invention also comprises Computer readable media comprising program code for execution by a programmable processor that instructs the processor to perform a method for providing query-based advertising content. The computer readable media according to the present embodiment comprises program code for receiving a web query and program code for generating an ad query associated with the web query, wherein the ad query is generated on the basis of on one of a query to advertisement relationship, a query to feature vector relationship, or a rewritten query vector. The present embodiment also comprises program code for selecting an advertisement based on the generated ad query. [0017] According to one embodiment, the computer readable media maintains a query to advertisement relationship that comprises associating a web query with one or more advertisements. The computer readable media may maintain a query to feature vector relationship that comprises querying a feature vector data store comprising one or more feature vectors, which may be generated during an offline process. The feature vector data store may comprise feature vectors generated through rewriting of a plurality of cached queries, through analyzing one or more search results associated with one or more cached queries or through the use of ancillary features associated with a cached query, which may comprise a proper noun
analysis of a cached query. The computer readable for selecting an advertisement may also comprise computer readable media for selecting one or more advertisements according to a predetermined advertisement selection scheme.
BRIEF DESCRIPTION OF THE DRAWINGS
[0018] The invention is illustrated in the figures of the accompanying drawings which are meant to be exemplary and not limiting, in which like references are intended to refer to like or corresponding parts, and in which:
[0019] Fig. 1 presents a block diagram depicting a system for expanding web queries for use in sponsored search applications according to one embodiment of the present invention;
[0020] Fig. 2 presents a flow diagram illustrating a method for expanding a query for the selection of sponsored search advertisements according to one embodiment of the present invention;
[0021] Fig. 3 presents a flow diagram illustrating a method for generating a feature vector for a cached query according to one embodiment of the present invention;
[0022] Fig. 4 presents a flow diagram illustrating a method for generating a feature vector for an advertisement according to one embodiment of the present invention; and
[0023] Fig. 5 presents a flow diagram illustrating a method for selecting one or more advertisements in response to receipt of a query according to one embodiment of the present invention.
DETAILED DESCRIPTION OF THE EMBODIMENTS
[0024] In the following description, reference is made to the accompanying drawings that form a part hereof, and is shown by way of illustration specific embodiments in which the invention may be practiced. It is to be understood that other embodiments may be utilized and structural changes may be made without departing from the scope of the present invention. [0025] Fig. 1 presents a block diagram depicting a system for providing query-based advertising content according to one embodiment of the present invention. As Fig. 1 illustrates, the
exemplary system 100 comprises a sponsored search module 102 that is in communication with an advertisement selector 104. In the illustrated embodiment, advertisement selector 104 comprises a query to advertisement cache 106 coupled to a query to feature cache 108. Additionally, query to feature cache 108 is communicatively coupled to inverted ad index 112, an online query expansion module 110 and feature generator 114. The feature generator 114 may comprise a feature combination module 122 coupled to rewrite module 116, a search result module 118 and one or more other feature module(s) 120 that, in turn, are operative to receive data from a cached queries data store 126. Feature generator 114 may also comprise an advertisement feature module 124 operative to transmit data to the advertisement selector 104. [0026] In the embodiment that Fig. 1 illustrates, the sponsored search module 102 may comprise a server device that is operative to receive requests for content from a plurality of users (not shown). In an alternative embodiment, sponsored search module 102 may be further operative to receive requests from a plurality of software components (not shown), which may be server-side software components. For example, the sponsored search module 102 may be operative to receive a request for advertisements from a user directly, or from a search module operative to perform additional search related tasks (e.g., retrieving search results) in addition to transmitting an advertisement request to sponsored search module 102. In both embodiments, data that the sponsored search module 102 receives may comprise a user query, which may be entered, for example, through a form field presented on a search engine web page.
[0027] The sponsored search module 102 may be operative to transmit the received user queries to query to advertisement cache 106. In one embodiment, query to advertisement cache 106 comprises an indexed cache operative to associate an incoming query (also referred to as a "web query") with one or more advertisements. For example, popular user queries such as "World Cup" or "Red Sox" may be associated with one or more advertisements indexed in the query to advertisement cache 106. If the query to advertisement cache 106 maintains a match, the query to advertisement cache 106 may return one or more advertisements to the sponsored search
module 102. Alternatively, or in conjunction with the foregoing, the query to advertisement cache 106 may transmit the received query to an inverted ad index 112 for subsequent processing, as is described in greater detail herein.
[0028] Alternatively, or in conjunction with the foregoing, one or more advertisements associated with the web query may not be located or otherwise identified within the query to advertisement cache 106. For example, more complex queries (or less popular queries) that are not associated with advertisements may be forwarded from the query to advertisement cache 106 to the query to feature cache 108. In the embodiment that Fig. 1 illustrates, the query to feature cache 108 is operative to attempt to locate a feature vector associated with the web query, a given feature vector received from the feature generator 114, as is described in greater detail herein.
[0029] The feature generator 114 is operative to examine cached queries 126 and generate one or more feature vectors for association with a given one of the cached queries. In the illustrated embodiment, rewrite module 116 may be operative to first analyze a query from the cached queries 126 and generate a feature vector based upon query rewriting. For example, rewrite module 116 may be operative to examine a cached query and generate a feature vector by rewriting terms within the cached query. For example, the rewrite module 116 may replace, append or delete terms from an original cached query to generate a more robust rewrite of the cached query for use in generating feature vector associated with the query. Additionally, rewrite module 116 may be operative to remove terms deemed unnecessary to the query (e.g., stopwords, redundant terms, etc).
[0030] The feature generator 114 also contains a search result module 118 operative to retrieve cached queries 126 and generate a feature vector based upon search results associated with the cached query. In one embodiment, the search result module 118 may be operative to determine features for a given cached query on the basis of a top N number of web search results associated with the given query. In this embodiment, the N number of results may be pre-determined by the
system. For example, for a given cached query, the content of the top 40 search results may be used to generate a feature vector for association with the given query. In one embodiment, a feature vector may comprise the top M terms occurring within the top N documents, wherein M may also pre-determined within the system.
[0031] The feature generator 114 may further comprise another feature module 120 operative to generate a feature vector for cached queries 126 on the basis of one or more ancillary features. In one embodiment, ancillary features may comprise extracting predetermined terms from cached queries 126 and generating features based on the predetermined terms. For example, the other feature module 120 may extract proper nouns such as locations or names of individuals and generate a feature vector on the basis of knowledge regarding the proper nouns. In an alternative embodiment, the other feature module 120 may utilize other databases for generating a feature vector for a given cached query 126, such as a user interaction database. [0032] The rewrite module 116, search result module 118 and other feature module 120 are operative to transmit feature vectors to a feature combination module 122. In the embodiment that Fig. 1 illustrates, three feature vectors, each vector associated with modules 116, 118 and 120 are received for a given cached query 126. The feature combination module 122 may be operative to receive the feature vectors and generate a final feature vector associated with a given cached query 126. In a first embodiment, generating a final feature vector may comprise weighting the plurality of features stored within the received feature vectors and selecting a plurality of features based on the weighting. Similarly, individual components with the rewrite module 116, search result module 118 and other feature module 120 may be assigned different weights, e.g., where the rewrite module utilizes multiple underlying query rewriting systems, the feature combination module 122 may assign a particular weight to the output of a given query rewriting system. In an alternative embodiment, manual tuning may be utilized to adjust the method of selecting output features of the feature combination module 122. In yet another embodiment, weights utilized by the system 100 may be tuned automatically.
[0033] Returning to the advertisement selector 104, the query to feature cache 108 according to one embodiment is operative to store a pair comprising one or more feature vectors in association with a query, which the query to feature cache 108 receives from the feature generator 114. In accordance with the present embodiment, the advertisement selector 104 receives the web query and examines the query to feature cache 108 to determine if a feature vector exists for the web query. If so, query to feature cache 108 transmits the feature vector to the inverted ad index 112. If not, query to feature cache forwards the query to the online query expansion module 110. In the illustrated embodiment, the online query expansion module 110 may be operative to rewrite the original query for use in generating feature vector used to access the inverted index of ads 112.
[0034] The feature generator 114 may further comprise an advertisement feature module 124 operative to analyze one or more advertisements and generate a feature vector for association with a given advertisement. In one embodiment, generating a feature vector may comprise analyzing textual data associated with an advertisement and extracting one or more terms associated with a given advertisement. The advertisement feature module 124 may be operative to transmit a plurality of feature vectors - advertisement pairs to the inverted index of ads 112. The inverted index of ads 112 may receive a feature vector from query to advertisement cache 106, query to feature cache 108 or online query expansion module 110 and may compare the received feature vector to stored feature vectors for advertisements, returning one or more advertisements matching the received feature vector.
[0035] The inverted index of ads 112 may select one or more advertisements on the basis of a pre-determined ranking scheme. For example, the inverted index 112 may select the top five advertisements associated with a received feature vector and may forward those advertisements to sponsored search module 102. In the illustrated embodiment, the sponsored search module 102 may be operative to combine incoming advertisement data within the context of a search engine results page. In one embodiment, inverted index of ads 112 may additionally be
operative to cache a plurality of ads associate with a given query for subsequent retrieval to enhance the overall all speed of the system 100.
[0036] Fig. 2 presents a flow diagram illustrating a method for expanding a query for the selection of sponsored search advertisements according to one embodiment of the present invention. As Fig. 2 illustrates, the method 200 receives a web query, step 202. In one embodiment, a web query may be received from a form element allowing a user to enter freeform text into a web page and submit the request to a search engine via an HTTP request. [0037] The method 200 receives the web query and determines a feature vector for am expanded web query to formulate an ad query, step 204. As previously described, determining a feature vector for an expanded web query may comprise generating a feature vector based on a plurality of feature vectors, as is described herein with respect to Figure 3. Briefly, the method 200 may execute a plurality of vector generation techniques, combining the results to generate a final feature vector that represents an ad query.
[0038] The method 200 may then select one or more advertisements on the basis of the ad query, step 206. In the embodiment that Fig. 2 illustrates, selecting advertisements may comprise comparing the ad query to one or more feature vectors associated with one or more advertisements. In one embodiment, the method 200 may select advertisements on the basis of a relevancy match between the ad query and the advertisement feature vectors. [0039] Fig. 3 presents a flow diagram illustrating a method for generating a feature vector for a cached query according to one embodiment of the present invention. As Fig. 3 illustrates, the method 300 receives a stored query, step 302. In one embodiment, receiving a stored query may comprise accessing a query log database containing a plurality of previously entered queries. The method 300 may then generate a rewrite for the stored query, step 304. In one embodiment, a rewrite may comprise modifying the stored query according to a set of rules. For example, rewriting a query may comprise replacing, adding or deleting terms from the original stored query.
[0040] The method 300 checks to determine if additional rewrites are available for the stored query, step 306. If additional rewrites are available, the method 300 generates the additional rewrites in step 304. If not, the method 300 generates a feature vector for the generated rewrites, step 308. In one embodiment, generating a feature vector for a plurality of rewrites may comprise extracting a plurality of terms common to the generated rewrites. In one embodiment, a feature vector may comprise a list of rewritten terms and a weight associated with a given term. Similarly, terms may be weighted in accordance with a rewrite technique utilized to obtain the rewrite. In an alternative embodiment, rewriting a cached query may be performed recursively, that is, performing additional rewrites to obtain additional material for use in query expansion. [0041] After generating a feature vector for the one or more rewrites, the method 300 may then execute a web search for the stored query, step 310. In the embodiment that Fig. 3 illustrates, executing a web search may comprise performing a web search similar to that performed by a user accessing a search engine, resulting in the retrieval of one or more relevant search results for the stored query. The method 300 may then generate a feature vector for a given result from the web search results, step 312. In one embodiment, generating a feature vector may comprise analyzing data within a search result and populating a feature vector with the most relevant terms found within the search result. The method 300 then determines if additional results remain in the result set, step 314. In one embodiment, a determination of additional results may comprise analyzing the top N returned search results from a search results set, wherein N may be determined prior to performing the method 300. If additional results remain that require analysis, the method 300 may generate feature vectors for the remaining search results, step 312. [0042] If feature vectors for a result set have been generated on the basis of external knowledge (e.g., rewrite systems), as well as a result set based on the query, the method 300 may generate feature vector expansions of the stored query, step 316. In one embodiment, other features may comprise various ancillary features enabling the generation of a feature vector. For example, the method 300 may extract proper nouns such as locations or names of individuals and generate a
feature vector based on knowledge regarding the proper nouns. In an alternative embodiment, the method 300 may utilize other databases for generating a feature vector for a given stored query, such as a user interaction database.
[0043] Finally, the method 300 combines the feature vectors to formulate a final, normalized feature vector, e.g., an ad query, for storage, step 318. Combing feature vectors may comprise calculating the most frequently occurring terms occurring within the feature vectors generated in steps 308, 312 and 316. In one embodiment, terms within specific feature vectors may be weighted according to a predetermined weighting scheme. For example, terms within a vector generated in steps 308 and 312 may be weighted higher than those generated in step 316. Additionally, the method 300 stores the final ad query for storage. In one embodiment, storing an ad query for storage may comprise storing the ad query within a database or similar persistent storage device for subsequent retrieval.
[0044] Fig. 4 presents a flow diagram illustrating a method for generating a feature vector for an advertisement according to one embodiment of the present invention. As Fig. 4 illustrates, the method 400 selects a given advertisement, step 402. In the illustrated embodiment, an advertisement may comprise textual, graphical or video elements transmitted by an advertiser to an advertisement provider.
[0045] The method 400 then generates a feature vector for the selected advertisement, step 404. Generating a feature vector for a selected advertisement may comprise analyzing textual data associated with a given advertisement and extracting a subset of the textual data for incorporation in a feature vector. In an alternative embodiment, generating a feature vector for a given advertisement may further comprise analyzing non-textual data such as graphical or video data and generating a textual feature vector associated with the non-textual data. Additionally, or in conjunction with the foregoing, the method 400 may further analyze hyperlinked resources associated with a given advertisement, as well as previously retrieved data associated with an advertisement or advertiser.
[0046] The method 400 may write the given advertisement and feature vector to a persistent storage device, step 406. If additional advertisements are available for analysis, step 408, the subroutine performed in steps 402, 404 and 406 repeats for the remaining advertisements. If no advertisements remain that require analysis, the method 400 waits until the receipt of additional advertisements, step 410, and analyzes the incoming advertisements upon receipt. [0047] Fig. 5 presents a flow diagram illustrating a method for selecting one or more advertisements in response to receipt of a query according to one embodiment of the present invention. As illustrated, the method 500 receives a web query, step 502. In one embodiment, a web query may comprise textual data entered into a search form located on a search engine web page.
[0048] The method 500 checks to determine if a <query, ad> pair is present, step 504. If the <query, ad> pair is present, the method returns one or more advertisements associated with the query, step 506. In one embodiment, a user query may match an existing <query, ad> pair and, thus, a plurality of predetermined ads may be returned in response to the user query. A <query, ad> pair may be present for popular queries so that top quality advertisements may be retrieved immediately for popular queries.
[0049] If a <query, ad> pair is not present, the method 500 determines if a <query, feature vector> pair is present, step 508. If <query, feature vector> pair is present, the method returns an ad query associated with the web query, step 510. As previously described, generating an ad query may comprise querying a feature vector store for a feature vector that corresponds to the user query. In accordance with one embodiment, a feature vector store may comprise feature vectors generated in the offline process described with respect to Figure 3. [0050] If a <query, feature vector> pair is not present, the method 500 generates rewrites for the web query, step 516, generating an ad query from the feature vector for the rewrite, step 518. In this step, the method 500 may determine that feature vectors associated with the query have not been generated during the offline process described in conjunction with in Figure 3, therefore the
method 500 generates one or more re-written queries for the web query and an associated ad query in real time for the web query.
[0051] The method 500 uses the selected ad query to query an inverted index of advertisements, step 512, returning one or more advertisements that match the ad query. In accordance with one embodiment, selecting advertisements may comprise comparing the ad query to a plurality of feature vectors associated with a plurality of advertisements. In one embodiment, the method 500 may select a top plurality of advertisements based on the relevancy match between the ad query and the advertisement feature vectors. The method 500 then returns the advertisements matching the ad query, step 514. In an alternative embodiment, the method 500 may further be operative to cache ad queries associated with a given query.
[0052] Figs. 1 through 5 are conceptual illustrations allowing for an explanation of the present invention. It should be understood that various aspects of the embodiments of the present invention could be implemented in hardware, firmware, software, or combinations thereof. In such embodiments, the various components and/or steps would be implemented in hardware, firmware, and/or software to perform the functions of the present invention. That is, the same piece of hardware, firmware, or module of software could perform one or more of the illustrated blocks (e.g., components or steps).
[0053] In software implementations, computer software (e.g., programs or other instructions) and/or data is stored on a machine readable medium as part of a computer program product, and is loaded into a computer system or other device or machine via a removable storage drive, hard drive, or communications interface. Computer programs (also called computer control logic or computer readable program code) are stored in a main and/or secondary memory, and executed by one or more processors (controllers, or the like) to cause the one or more processors to perform the functions of the invention as described herein. In this document, the terms "machine readable medium," "computer program medium" and "computer usable medium" are used to generally refer to media such as a random access memory (RAM); a read only memory (ROM);
a removable storage unit (e.g., a magnetic or optical disc, flash memory device, or the like); a hard disk; electronic, electromagnetic, optical, acoustical, or other form of propagated signals (e.g., carrier waves, infrared signals, digital signals, etc.); or the like.
[0054] Notably, the figures and examples above are not meant to limit the scope of the present invention to a single embodiment, as other embodiments are possible by way of interchange of some or all of the described or illustrated elements. Moreover, where certain elements of the present invention can be partially or fully implemented using known components, only those portions of such known components that are necessary for an understanding of the present invention are described, and detailed descriptions of other portions of such known components are omitted so as not to obscure the invention. In the present specification, an embodiment showing a singular component should not necessarily be limited to other embodiments including a plurality of the same component, and vice-versa, unless explicitly stated otherwise herein. Moreover, applicants do not intend for any term in the specification or claims to be ascribed an uncommon or special meaning unless explicitly set forth as such. Further, the present invention encompasses present and future known equivalents to the known components referred to herein by way of illustration.
[0055] The foregoing description of the specific embodiments so fully reveals the general nature of the invention that others can, by applying knowledge within the skill of the relevant art(s) (including the contents of the documents cited and incorporated by reference herein), readily modify and/or adapt for various applications such specific embodiments, without undue experimentation, without departing from the general concept of the present invention. Such adaptations and modifications are therefore intended to be within the meaning and range of equivalents of the disclosed embodiments, based on the teaching and guidance presented herein. It is to be understood that the phraseology or terminology herein is for the purpose of description and not of limitation, such that the terminology or phraseology of the present specification is to
be interpreted by the skilled artisan in light of the teachings and guidance presented herein, in combination with the knowledge of one skilled in the relevant art(s).
[0056] While various embodiments of the present invention have been described above, it should be understood that they have been presented by way of example, and not limitation. It would be apparent to one skilled in the relevant art(s) that various changes in form and detail could be made therein without departing from the spirit and scope of the invention. Thus, the present invention should not be limited by any of the above-described exemplary embodiments, but should be defined only in accordance with the following claims and their equivalents.
Claims
1. A method for providing query-based advertising content, the method comprising: receiving a web query; generating an ad query associated with the web query, wherein the ad query is generated on the basis of one of: a query to feature vector relationship, or a rewritten query vector; and selecting an advertisement based on the generated ad query.
2. The method of claim 1 comprising mapping a query to advertisement relationship that associates the web query with one or more advertisements; and selecting the one or more advertisements upon receipt of the web query.
3. The method of claim 1 wherein a query to feature vector relationship comprises querying a feature vector data store comprising one or more feature vectors.
4. The method of claim 3 wherein the feature vector data store is generated during an offline process.
5. The method of claim 3 wherein feature vector data store comprises feature vectors generated through rewriting of a plurality of cached queries.
6. The method of claim 3 wherein feature vector data store comprises feature vectors generated through analyzing one or more search results associated with one or more cached queries.
7. The method of claim 3 wherein feature vector data store comprises feature vectors generated using ancillary features associated with a cached query.
8. The method of claim 7 wherein ancillary features comprise proper noun analysis of a cached query.
9. The method of claim 1 wherein selecting an advertisement comprises selecting one or more advertisements according to a predetermined advertisement selection scheme.
10. A system for providing query-based advertising content, the system comprising: a sponsored search module operative to receive a web query; a feature generator operative to generate one or more feature vectors; a query to advertisement cache operative to maintain one or more advertisements on the basis of on one of a query to advertisement relationship; a query to feature cache operative to maintain an ad query on the basis of a query to feature vector relationship an online query expansion module operative to generate an ad query on the basis of a rewritten query vector; and an inverted ad index operative to select a plurality of advertisements based on the generated ad query.
11. The system of claim 10 wherein a query to advertisement relationship comprises associating a web query with one or more advertisements.
12. The system of claim 10 wherein the query to feature cache comprises a feature vector data store comprising one or more feature vectors.
13. The system of claim 12 wherein the one or more feature vectors that the feature vector data store maintains are generated during an offline process.
14. The system of claim 12 wherein the feature vector data store comprises one or more feature vectors generated through a rewriting of one or more cached queries.
15. The system of claim 12 wherein the feature vector data store comprises one or more feature vectors generated through an analysis of one or more search results associated with one or more cached queries.
16. The system of claim 12 wherein feature vector data store comprises one or more feature vectors generated by use of ancillary features associated with one or more cached queries.
17. The system of claim 16 wherein ancillary features comprise proper noun analysis of the one or more cached queries.
18. The system of claim 10 wherein selecting an advertisement comprises selecting one or more advertisements according to a predetermined advertisement selection scheme.
19. Computer readable media comprising program code for execution by a programmable processor that instructs the processor to perform a method for providing query- based advertising content, the computer readable media comprising: program code for receiving a web query; program code for generating an ad query associated with the web query, wherein the ad query is generated on the basis of on one of a query to advertisement relationship, a query to feature vector relationship, or a rewritten query vector; and program code for selecting an advertisement based on the generated ad query.
20. The computer readable media of claim 19 wherein a query to advertisement relationship comprises associating a web query with one or more advertisements.
21. The computer readable media of claim 19 wherein a query to feature vector relationship comprises querying a feature vector data store comprising one or more feature vectors.
22. The computer readable media of claim 21 wherein the feature vector data store is generated during an offline process.
23. The computer readable media of claim 21 wherein feature vector data store comprises feature vectors generated through rewriting of a plurality of cached queries.
24. The computer readable media of claim 21 wherein feature vector data store comprises feature vectors generated through analyzing one or more search results associated with one or more cached queries.
25. The computer readable media of claim 21 wherein feature vector data store comprises feature vectors generated using ancillary features associated with a cached query.
26. The computer readable media of claim 25 wherein ancillary features comprise a proper noun analysis of a cached query.
27. The computer readable media of claim 19 wherein selecting an advertisement comprises selecting one or more advertisements according to a predetermined advertisement selection scheme.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/169,782 | 2008-07-09 | ||
US12/169,782 US8521731B2 (en) | 2008-07-09 | 2008-07-09 | Systems and methods for query expansion in sponsored search |
Publications (2)
Publication Number | Publication Date |
---|---|
WO2010005952A2 true WO2010005952A2 (en) | 2010-01-14 |
WO2010005952A3 WO2010005952A3 (en) | 2010-04-15 |
Family
ID=41506037
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/US2009/049786 WO2010005952A2 (en) | 2008-07-09 | 2009-07-07 | Systems and methods for query expansion in sponsored search |
Country Status (2)
Country | Link |
---|---|
US (1) | US8521731B2 (en) |
WO (1) | WO2010005952A2 (en) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011003232A1 (en) * | 2009-07-07 | 2011-01-13 | Google Inc. | Query parsing for map search |
US20110238491A1 (en) * | 2010-03-26 | 2011-09-29 | Microsoft Corporation | Suggesting keyword expansions for advertisement selection |
US9152634B1 (en) * | 2010-06-23 | 2015-10-06 | Google Inc. | Balancing content blocks associated with queries |
US8983947B2 (en) | 2011-09-30 | 2015-03-17 | Jive Software, Inc. | Augmenting search with association information |
CN103294703A (en) * | 2012-02-28 | 2013-09-11 | 宇龙计算机通信科技(深圳)有限公司 | Terminal and document management method |
US9372895B1 (en) * | 2012-09-10 | 2016-06-21 | Rina Systems Llc | Keyword search method using visual keyword grouping interface |
WO2014139120A1 (en) | 2013-03-14 | 2014-09-18 | Microsoft Corporation | Search intent preview, disambiguation, and refinement |
US8965915B2 (en) | 2013-03-17 | 2015-02-24 | Alation, Inc. | Assisted query formation, validation, and result previewing in a database having a complex schema |
US9374431B2 (en) | 2013-06-20 | 2016-06-21 | Microsoft Technology Licensing, Llc | Frequent sites based on browsing patterns |
US9827714B1 (en) | 2014-05-16 | 2017-11-28 | Google Llc | Method and system for 3-D printing of 3-D object models in interactive content items |
US10055485B2 (en) | 2014-11-25 | 2018-08-21 | International Business Machines Corporation | Terms for query expansion using unstructured data |
US10311065B2 (en) | 2015-12-01 | 2019-06-04 | International Business Machines Corporation | Scoring candidate evidence passages for criteria validation using historical evidence data |
US11550751B2 (en) * | 2016-11-18 | 2023-01-10 | Microsoft Technology Licensing, Llc | Sequence expander for data entry/information retrieval |
US11698904B2 (en) * | 2019-09-05 | 2023-07-11 | Home Depot Product Authority, Llc | Query rewrite for low performing queries based on customer behavior |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050071325A1 (en) * | 2003-09-30 | 2005-03-31 | Jeremy Bem | Increasing a number of relevant advertisements using a relaxed match |
US20070143176A1 (en) * | 2005-12-15 | 2007-06-21 | Microsoft Corporation | Advertising keyword cross-selling |
US20070208724A1 (en) * | 2006-03-06 | 2007-09-06 | Anand Madhavan | Vertical search expansion, disambiguation, and optimization of search queries |
Family Cites Families (96)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4435780A (en) * | 1981-06-16 | 1984-03-06 | International Business Machines Corporation | Separate stack areas for plural processes |
US5010478A (en) * | 1986-04-11 | 1991-04-23 | Deran Roger L | Entity-attribute value database system with inverse attribute for selectively relating two different entities |
US4996666A (en) * | 1988-08-12 | 1991-02-26 | Duluk Jr Jerome F | Content-addressable memory system capable of fully parallel magnitude comparisons |
US5349675A (en) * | 1990-09-04 | 1994-09-20 | International Business Machines Corporation | System for directly displaying remote screen information and providing simulated keyboard input by exchanging high level commands |
US5596746A (en) * | 1991-10-21 | 1997-01-21 | General Electric Company | Method for transforming relational data base schemas into object models using ideal table meta models |
FR2702579B1 (en) * | 1993-03-12 | 1995-05-24 | Bull Sa | Communication device between at least one client and at least one server, method of using the device and use of the device. |
US5524240A (en) * | 1994-05-24 | 1996-06-04 | Panasonic Technologies, Inc. | Method and apparatus for storage and retrieval of handwritten information |
US5832452A (en) * | 1996-01-31 | 1998-11-03 | Electronic Data Systems Corporation | Hotel database inquiry system |
JPH09245038A (en) | 1996-03-07 | 1997-09-19 | Just Syst Corp | Sentence preparation device |
US5920859A (en) | 1997-02-05 | 1999-07-06 | Idd Enterprises, L.P. | Hypertext document retrieval system and method |
US5926535A (en) * | 1996-08-05 | 1999-07-20 | International Business Machines Corporation | Third party call control |
US6031995A (en) * | 1996-11-06 | 2000-02-29 | George; A. Chacko | Object-oriented sequencing using hierarchical configuration streams |
US5966712A (en) * | 1996-12-12 | 1999-10-12 | Incyte Pharmaceuticals, Inc. | Database and system for storing, comparing and displaying genomic information |
US6098065A (en) | 1997-02-13 | 2000-08-01 | Nortel Networks Corporation | Associative search engine |
US5933818A (en) * | 1997-06-02 | 1999-08-03 | Electronic Data Systems Corporation | Autonomous knowledge discovery system and method |
US6078916A (en) | 1997-08-01 | 2000-06-20 | Culliss; Gary | Method for organizing information |
US6009428A (en) * | 1997-09-15 | 1999-12-28 | International Business Machines Corporation | System and method for providing a single application program interface for heterogeneous databases |
US5912674A (en) * | 1997-11-03 | 1999-06-15 | Magarshak; Yuri | System and method for visual representation of large collections of data by two-dimensional maps created from planar graphs |
US6240423B1 (en) * | 1998-04-22 | 2001-05-29 | Nec Usa Inc. | Method and system for image querying using region based and boundary based image matching |
US6006225A (en) | 1998-06-15 | 1999-12-21 | Amazon.Com | Refining search queries by the suggestion of correlated terms from prior searches |
US6216123B1 (en) | 1998-06-24 | 2001-04-10 | Novell, Inc. | Method and system for rapid retrieval in a full text indexing system |
US6223171B1 (en) * | 1998-08-25 | 2001-04-24 | Microsoft Corporation | What-if index analysis utility for database systems |
US6347313B1 (en) | 1999-03-01 | 2002-02-12 | Hewlett-Packard Company | Information embedding based on user relevance feedback for object retrieval |
US7225182B2 (en) | 1999-05-28 | 2007-05-29 | Overture Services, Inc. | Recommending search terms using collaborative filtering and web spidering |
US6859802B1 (en) * | 1999-09-13 | 2005-02-22 | Microsoft Corporation | Image retrieval based on relevance feedback |
US8051104B2 (en) | 1999-09-22 | 2011-11-01 | Google Inc. | Editing a network of interconnected concepts |
US6981040B1 (en) | 1999-12-28 | 2005-12-27 | Utopy, Inc. | Automatic, personalized online information and product services |
US6615209B1 (en) * | 2000-02-22 | 2003-09-02 | Google, Inc. | Detecting query-specific duplicate documents |
US6578022B1 (en) | 2000-04-18 | 2003-06-10 | Icplanet Corporation | Interactive intelligent searching with executable suggestions |
US6564213B1 (en) | 2000-04-18 | 2003-05-13 | Amazon.Com, Inc. | Search query autocompletion |
US6876997B1 (en) | 2000-05-22 | 2005-04-05 | Overture Services, Inc. | Method and apparatus for indentifying related searches in a database search system |
US6675159B1 (en) | 2000-07-27 | 2004-01-06 | Science Applic Int Corp | Concept-based search and retrieval system |
US7890374B1 (en) * | 2000-10-24 | 2011-02-15 | Rovi Technologies Corporation | System and method for presenting music to consumers |
US7231381B2 (en) * | 2001-03-13 | 2007-06-12 | Microsoft Corporation | Media content search engine incorporating text content and user log mining |
WO2002082224A2 (en) * | 2001-04-04 | 2002-10-17 | West Publishing Company | System, method, and software for identifying historically related legal opinions |
US6778979B2 (en) | 2001-08-13 | 2004-08-17 | Xerox Corporation | System for automatically generating queries |
US7778872B2 (en) | 2001-09-06 | 2010-08-17 | Google, Inc. | Methods and apparatus for ordering advertisements based on performance information and price information |
US20030126139A1 (en) | 2001-12-28 | 2003-07-03 | Lee Timothy A. | System and method for loading commercial web sites |
US20050021397A1 (en) * | 2003-07-22 | 2005-01-27 | Cui Yingwei Claire | Content-targeted advertising using collected user behavior data |
US9946788B2 (en) * | 2002-07-23 | 2018-04-17 | Oath Inc. | System and method for automated mapping of keywords and key phrases to documents |
US7007013B2 (en) | 2002-07-26 | 2006-02-28 | International Business Machines Corporation | Fast computation of spatial queries in location-based services |
US7599911B2 (en) | 2002-08-05 | 2009-10-06 | Yahoo! Inc. | Method and apparatus for search ranking using human input and automated ranking |
US6947930B2 (en) | 2003-03-21 | 2005-09-20 | Overture Services, Inc. | Systems and methods for interactive search query refinement |
US7225184B2 (en) | 2003-07-18 | 2007-05-29 | Overture Services, Inc. | Disambiguation of search phrases using interpretation clusters |
US7379627B2 (en) * | 2003-10-20 | 2008-05-27 | Microsoft Corporation | Integrated solution to digital image similarity searching |
US7873536B2 (en) | 2003-12-11 | 2011-01-18 | Google Inc. | Systems and methods for providing advertisements in a communications network |
US20050137939A1 (en) | 2003-12-19 | 2005-06-23 | Palo Alto Research Center Incorporated | Server-based keyword advertisement management |
US20050187818A1 (en) | 2004-02-20 | 2005-08-25 | Zito David D. | Computerized advertising offer exchange |
US7260568B2 (en) | 2004-04-15 | 2007-08-21 | Microsoft Corporation | Verifying relevance between keywords and web site contents |
US20050267872A1 (en) * | 2004-06-01 | 2005-12-01 | Yaron Galai | System and method for automated mapping of items to documents |
US7716219B2 (en) | 2004-07-08 | 2010-05-11 | Yahoo ! Inc. | Database search system and method of determining a value of a keyword in a search |
EP1782291A4 (en) | 2004-08-23 | 2009-08-26 | Lexisnexis A Division Of Reed | Point of law search system and method |
US20060064411A1 (en) | 2004-09-22 | 2006-03-23 | William Gross | Search engine using user intent |
US20080077570A1 (en) | 2004-10-25 | 2008-03-27 | Infovell, Inc. | Full Text Query and Search Systems and Method of Use |
US7542969B1 (en) | 2004-11-03 | 2009-06-02 | Microsoft Corporation | Domain knowledge-assisted information processing |
US7567262B1 (en) * | 2005-02-25 | 2009-07-28 | IDV Solutions LLC | Hybrid graphics for interactive reporting |
US20060206479A1 (en) * | 2005-03-10 | 2006-09-14 | Efficient Frontier | Keyword effectiveness prediction method and apparatus |
US10515374B2 (en) | 2005-03-10 | 2019-12-24 | Adobe Inc. | Keyword generation method and apparatus |
US7599916B2 (en) * | 2005-04-20 | 2009-10-06 | Microsoft Corporation | System and method for personalized search |
US20060248035A1 (en) | 2005-04-27 | 2006-11-02 | Sam Gendler | System and method for search advertising |
US8438142B2 (en) | 2005-05-04 | 2013-05-07 | Google Inc. | Suggesting and refining user input based on original user input |
US20060287919A1 (en) | 2005-06-02 | 2006-12-21 | Blue Mustard Llc | Advertising search system and method |
US8706546B2 (en) * | 2005-07-18 | 2014-04-22 | Google Inc. | Selecting and/or scoring content-relevant advertisements |
US9558498B2 (en) | 2005-07-29 | 2017-01-31 | Excalibur Ip, Llc | System and method for advertisement management |
US7809731B2 (en) | 2005-07-29 | 2010-10-05 | Yahoo! Inc. | System and method for reordering a result set copyright notice |
US7840438B2 (en) * | 2005-07-29 | 2010-11-23 | Yahoo! Inc. | System and method for discounting of historical click through data for multiple versions of an advertisement |
US7548929B2 (en) | 2005-07-29 | 2009-06-16 | Yahoo! Inc. | System and method for determining semantically related terms |
US20070027850A1 (en) * | 2005-08-01 | 2007-02-01 | Reprise Media, Llc | Methods and systems for developing and managing a computer-based marketing campaign |
US7752220B2 (en) * | 2005-08-10 | 2010-07-06 | Yahoo! Inc. | Alternative search query processing in a term bidding system |
US8326689B2 (en) * | 2005-09-16 | 2012-12-04 | Google Inc. | Flexible advertising system which allows advertisers with different value propositions to express such value propositions to the advertising system |
US7631008B2 (en) * | 2005-11-16 | 2009-12-08 | Yahoo! Inc. | System and method for generating functions to predict the clickability of advertisements |
US7627559B2 (en) * | 2005-12-15 | 2009-12-01 | Microsoft Corporation | Context-based key phrase discovery and similarity measurement utilizing search engine query logs |
US20070156887A1 (en) | 2005-12-30 | 2007-07-05 | Daniel Wright | Predicting ad quality |
US20070174258A1 (en) | 2006-01-23 | 2007-07-26 | Jones Scott A | Targeted mobile device advertisements |
US8145656B2 (en) * | 2006-02-07 | 2012-03-27 | Mobixell Networks Ltd. | Matching of modified visual and audio media |
US8255376B2 (en) * | 2006-04-19 | 2012-08-28 | Google Inc. | Augmenting queries with synonyms from synonyms map |
US7475063B2 (en) * | 2006-04-19 | 2009-01-06 | Google Inc. | Augmenting queries with synonyms selected using language statistics |
US7835903B2 (en) * | 2006-04-19 | 2010-11-16 | Google Inc. | Simplifying query terms with transliteration |
US8762358B2 (en) * | 2006-04-19 | 2014-06-24 | Google Inc. | Query language determination using query terms and interface language |
US7907755B1 (en) * | 2006-05-10 | 2011-03-15 | Aol Inc. | Detecting facial similarity based on human perception of facial similarity |
US20070282813A1 (en) | 2006-05-11 | 2007-12-06 | Yu Cao | Searching with Consideration of User Convenience |
US7684651B2 (en) * | 2006-08-23 | 2010-03-23 | Microsoft Corporation | Image-based face search |
WO2008055120A2 (en) * | 2006-10-30 | 2008-05-08 | Seeqpod, Inc. | System and method for summarizing search results |
US7739264B2 (en) * | 2006-11-15 | 2010-06-15 | Yahoo! Inc. | System and method for generating substitutable queries on the basis of one or more features |
US20080154738A1 (en) | 2006-12-22 | 2008-06-26 | Microsoft Corporation | Interactive marketplace infrastructure |
US8108413B2 (en) * | 2007-02-15 | 2012-01-31 | International Business Machines Corporation | Method and apparatus for automatically discovering features in free form heterogeneous data |
US8321448B2 (en) | 2007-02-22 | 2012-11-27 | Microsoft Corporation | Click-through log mining |
US20080294524A1 (en) * | 2007-03-12 | 2008-11-27 | Google Inc. | Site-Targeted Advertising |
US20080256056A1 (en) * | 2007-04-10 | 2008-10-16 | Yahoo! Inc. | System for building a data structure representing a network of users and advertisers |
US8380563B2 (en) * | 2007-06-28 | 2013-02-19 | Google Inc. | Using previous user search query to target advertisements |
US20090292677A1 (en) * | 2008-02-15 | 2009-11-26 | Wordstream, Inc. | Integrated web analytics and actionable workbench tools for search engine optimization and marketing |
US7849076B2 (en) * | 2008-03-31 | 2010-12-07 | Yahoo! Inc. | Learning ranking functions incorporating isotonic regression for information retrieval and ranking |
US8051072B2 (en) * | 2008-03-31 | 2011-11-01 | Yahoo! Inc. | Learning ranking functions incorporating boosted ranking in a regression framework for information retrieval and ranking |
US20090254512A1 (en) * | 2008-04-03 | 2009-10-08 | Yahoo! Inc. | Ad matching by augmenting a search query with knowledge obtained through search engine results |
US7958130B2 (en) * | 2008-05-26 | 2011-06-07 | Microsoft Corporation | Similarity-based content sampling and relevance feedback |
US8150859B2 (en) * | 2010-02-05 | 2012-04-03 | Microsoft Corporation | Semantic table of contents for search results |
-
2008
- 2008-07-09 US US12/169,782 patent/US8521731B2/en not_active Expired - Fee Related
-
2009
- 2009-07-07 WO PCT/US2009/049786 patent/WO2010005952A2/en active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050071325A1 (en) * | 2003-09-30 | 2005-03-31 | Jeremy Bem | Increasing a number of relevant advertisements using a relaxed match |
US20070143176A1 (en) * | 2005-12-15 | 2007-06-21 | Microsoft Corporation | Advertising keyword cross-selling |
US20070208724A1 (en) * | 2006-03-06 | 2007-09-06 | Anand Madhavan | Vertical search expansion, disambiguation, and optimization of search queries |
Non-Patent Citations (2)
Title |
---|
ZHANG,W.V. ET AL.: 'Comparing Click Logs and Editorial Labels for Training Q uery Rewriting' QUERY LOG ANALYSIS: SOCIAL AND TECHNOLOGICAL CHALLENGES, A WORKSHOP AT THE 16TH INTERNATIONAL WORLD WIDE WEB CONFERENCE, 2007, * |
ZHANG,W.V. ET AL.: 'Query Rewriting using Active Learning for Sponsored Sear ch' PROCEEDINGS OF THE 30TH ANNUAL INTERNATIONAL ACM SIGIR CONFERENCE ON RESEARCH AND DEVELOPMENT IN INFORMATION RETRIEVAL 2007, pages 853 - 854 * |
Also Published As
Publication number | Publication date |
---|---|
US20100010959A1 (en) | 2010-01-14 |
WO2010005952A3 (en) | 2010-04-15 |
US8521731B2 (en) | 2013-08-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8521731B2 (en) | Systems and methods for query expansion in sponsored search | |
US10032207B2 (en) | Product placement engine and method | |
JP5255617B2 (en) | Lateral search | |
US7831474B2 (en) | System and method for associating an unvalued search term with a valued search term | |
US9916366B1 (en) | Query augmentation | |
CA2530400C (en) | Serving advertisements using a search of advertiser web information | |
US20090287676A1 (en) | Search results with word or phrase index | |
US7620572B2 (en) | Identifying items relevant to a current query based on items accessed in connection with similar queries | |
CA2833359C (en) | Analyzing content to determine context and serving relevant content based on the context | |
JP4977624B2 (en) | Matching and ranking of sponsored search listings that incorporate web search technology and web content | |
US8380563B2 (en) | Using previous user search query to target advertisements | |
KR100857049B1 (en) | Automatically targeting web-based advertisements | |
KR100812116B1 (en) | Serving advertisements based on content | |
JP5065323B2 (en) | Providing advertisements using user request information and user information | |
CN105765573B (en) | Improvements in website traffic optimization | |
US8051065B2 (en) | System and method for adding identity to web rank | |
US20150186938A1 (en) | Search service advertisement selection | |
KR20050049750A (en) | On-line advertising system and method | |
US20080256035A1 (en) | Query substitution using active learning | |
US20100010982A1 (en) | Web content characterization based on semantic folksonomies associated with user generated content | |
US8224693B2 (en) | Advertisement selection based on key words | |
US9129306B1 (en) | Tie breaking rules for content item matching | |
KR20050050016A (en) | On-line advertising system and method | |
US20110218991A1 (en) | System and method for automatic detection of needy queries | |
US7962468B2 (en) | System and method for providing image labeling game using CBIR |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 09795054 Country of ref document: EP Kind code of ref document: A2 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 09795054 Country of ref document: EP Kind code of ref document: A2 |