Connect public, paid and private patent data with Google Patents Public Datasets

Canonicalization of terms in a keyword-based presentation system

Download PDF

Info

Publication number
US20080294609A1
US20080294609A1 US12170768 US17076808A US2008294609A1 US 20080294609 A1 US20080294609 A1 US 20080294609A1 US 12170768 US12170768 US 12170768 US 17076808 A US17076808 A US 17076808A US 2008294609 A1 US2008294609 A1 US 2008294609A1
Authority
US
Grant status
Application
Patent type
Prior art keywords
search
presentation
query
results
terms
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US12170768
Inventor
Hongche Liu
Ravi Narasimhan Raj
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yahoo Holdings Inc
Original Assignee
Hongche Liu
Ravi Narasimhan Raj
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06QDATA PROCESSING SYSTEMS OR METHODS, SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL, SUPERVISORY OR FORECASTING PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL, SUPERVISORY OR FORECASTING PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce, e.g. shopping or e-commerce
    • G06Q30/02Marketing, e.g. market research and analysis, surveying, promotions, advertising, buyer profiling, customer management or rewards; Price estimation or determination
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRICAL DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/30Information retrieval; Database structures therefor ; File system structures therefor
    • G06F17/30861Retrieval from the Internet, e.g. browsers
    • G06F17/30864Retrieval from the Internet, e.g. browsers by querying, e.g. search engines or meta-search engines, crawling techniques, push systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06QDATA PROCESSING SYSTEMS OR METHODS, SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL, SUPERVISORY OR FORECASTING PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL, SUPERVISORY OR FORECASTING PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce, e.g. shopping or e-commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping
    • G06Q30/0641Shopping interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06QDATA PROCESSING SYSTEMS OR METHODS, SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL, SUPERVISORY OR FORECASTING PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL, SUPERVISORY OR FORECASTING PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for a specific business sector, e.g. utilities or tourism
    • G06Q50/10Services
    • G06Q50/12Hotels or restaurants
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99944Object-oriented database structure
    • Y10S707/99945Object-oriented database structure processing

Abstract

A presentation system accepts presentations or references to presentations from prospective presenters. Some or all of the presentations or references are stored in a database and referenced by keywords such that presentations to be presented in response to particular searches can be identified. A presentation manager handles accepting bids and settling terms between prospective presenters. The results of such processes might be stored in a presentation details database. A presentation server handles retrieving presentations from the presentation details database for presentation to users along with requests such as search results. Both the presentation manager and the presentation server can operate on a keywords-basis, wherein presentation terms specify keywords to be associated with particular presentations and the presentation server serves particular presentations based on keywords in a search query for which the presentations are to be returned. The association of keywords can be done using canonicalization so that, under certain conditions, different keywords are treated as the same keyword. Canonicalizations might include plural/singular forms, gender forms, stem word forms, suffix forms, prefix forms, typographical error forms, word order, pattern ignoring, acronyms, stop word elimination, etc. Conditions might include aspects of the search query state, such as the user's demographics, the page from which the search query was initiated, etc.

Description

    RELATED APPLICATIONS AND CLAIM OF PRIORITY
  • [0001]
    This application is a continuation application that claims priority to U.S. patent application Ser. No. 11/282,435, filed Nov. 17, 2005, entitled “CANONICALIZATION OF TERMS IN A KEYWORD-BASED PRESENTATION SYSTEM,” by Hongche Liu and Ravi Narasimhan Raj, the entire contents both of which are hereby incorporated by reference in their entirety for all purposes; which is
  • [0002]
    a continuation application that claims priority to U.S. patent application Ser. No. 10/703,688, filed Nov. 7, 2003, entitled “CANONICALIZATION OF TERMS IN A KEYWORD-BASED PRESENTATION SYSTEM,” by Hongche Liu and Ravi Narasimhan Raj, which claims priority from co-pending U.S. Provisional Patent Application Ser. No. 60/460,657, filed Apr. 4, 2003, entitled “CANONICALIZATION OF TERMS IN A KEYWORD-BASED PRESENTATION SYSTEM,” the entire contents both of which are hereby incorporated by reference in their entirety for all purposes.
  • FIELD OF THE INVENTION
  • [0003]
    The present invention relates to a presentation system wherein display objects are presented in response to actions of a user and more particularly to actions of a user in entering terms.
  • BACKGROUND OF THE INVENTION
  • [0004]
    One popular presentation system is popularly known as the “World Wide Web”, “WWW” or simply the “Web”. In a typical use, a user uses a Web client (such as a browser) to issue a request identified with a Uniform Resource Locator (“URL”) to a Web server and the Web server returns a page to the Web client. The Web client then might render the returned page and present it to the user in response to the user's request. The page might contain more than one element. Examples of elements include text, images, banner advertisements, image maps, clickable areas, JavaScript™ objects, Java™ objects, imbedded code, etc.
  • [0005]
    A presentation of a page in response to a request might be in response to more than just a URL, but might include form data, user data and history data. For example, a request from a Web client might include search terms entered by the user to which the Web server responds by determining a set of search results based on the search terms, user data and/or the page in which the user entered the search terms, etc., and returning a page containing some or all of the search results and possibly including one or more “presentations”. A presentation can be a banner advertisement, a clickable link, an area of text, an area of image or video, an area delineated by HTML code or the like, a pop-up window, a pop-under window, etc., that appears to the user with, or associated with, the search results.
  • [0006]
    Some presentations might be independent of the search terms, user data, time, date or page on which the user enters their search terms, etc. (collectively, the “state” of the search). Examples of state-independent presentations might be a “help” button, a “home” button, a search provider logo or a system-wide advertisement.
  • [0007]
    Where the Web server has, appears to have, or is linked to, a computing system that has search capabilities, the system is often referred to as a search server. Some known search servers customize presentations based on the search terms used by the user. For example, a number of advertisers might provide the operator of a search server with advertisements and pay to have those advertisements included as presentations on pages containing search results and to do so in a targeted manner, so that users see more relevant advertisements. As an example, an automobile manufacturer might provide advertisements that are to be presented along with search results when the user's search term(s) included that manufacturer's trademark. In another example, an advertiser might provide a set of links, wherein the presentation to the user includes search results and one or more “sponsored” links, wherein each sponsored link is presented at the behest of a sponsor interested in having the link presented to selected users of the search server.
  • [0008]
    The user can be a human user interacting with a user interface of a computer that processes the requests and/or forwards the requests to other computer systems. The user could also be another computer process or system that generates the request programmatically. In the latter instance, it is likely that the requesting computer user will also programmatically process the results of the request, but it might instead be the case that a computer user makes a request and a human user is the ultimate recipient of the response, or even the opposite, where a human user makes a request and a computer user is the ultimate recipient of the response.
  • [0009]
    One common system and set of protocols in use today is referred to as the Internet, a global internetwork of networks, wherein nodes of the network send requests to other nodes that might respond with content, such as search results. One protocol usable for content requesting is the HyperText Transport Protocol (HTTP), wherein an HTTP client, such as a browser) makes a request for content referenced by a Uniform Resource Locator (URL) and an HTTP server responds to the requests by sending content specified by the URL. Of course, while this is a very common example, content retrieval is not so limited.
  • [0010]
    For example, networks other than the Internet might be used, such as token ring, WAP, overlay, point-to-point, proprietary networks, etc. Protocols other than HTTP might be used to request and transport content, such as SMTP, FTP, etc. and content might be specified by other than URL's. Portions of present invention are described with reference to the Internet, a global internetwork of networks in common usage today for a variety of applications, but it should be understood that references to the Internet can be substituted with references to variations of the basic concept of the Internet (e.g., intranets, virtual private networks, enclosed TCP/IP networks, etc.) as well as other forms of networks. It should also be understood that the present invention might operate entirely within one computer or one collection of computers, thus obviating the need for a network.
  • [0011]
    The content itself could be in many forms. For example, some content might be text, images, video, audio, animation, program code, data structures, formatted text, etc. For example, a user might request content that is a page having a news story (text) and an accompanying image, with links to other content (such as by formatting the content according to the HyperText Markup Language (HTML) is use at the time). Search results are generally thought of as listings of hits generated by a search engine accompanied by targeted presentations, but other formats might occur as well.
  • [0012]
    HTML is a common format used for pages or other content that is supplied from an HTTP server. HTML-formatted content might include links to other HTML content and a collection of content that references other content might be thought of as a document web, hence the name “World Wide Web” or “WWW’ given to one example of a collection of HTML-formatted content. As that is a well-known construct, it is used in many examples herein, but it should be understood that unless otherwise specified, the concepts described by these examples are not limited to the WWW, HTML, HTTP, the Internet, etc.
  • [0013]
    In a typical search query, the user is presented with a dialog box wherein the user enters search query terms and initiates a request based on those terms. One example of a search is a Yahoo! search. One way to perform a Yahoo! search is by directing a web browser client to the page with the URL www.yahoo.com and entering a search query in the search dialog box provided on that page. In response to such a query, which the web browser client sends to a www.yahoo.com server (or other server as directed by references contained in the page's HTML or other code), the receiving server in turn performs a search or causes a search to be performed and returns search results to the web browser client, usually in the form of a page or pages with search results and possibly other presentations.
  • [0014]
    The other presentations might include keyword-based advertisements and keyword-based sponsored links. With keyword-based presentations, an entity desiring that the presentation be presented to a user or set of users agrees to terms with the operator of the search server, or its agent or provider, wherein the presentation is presented to users that use designated keywords in their search request and meet other state criteria. However, because of the large number of possible keywords that a user might use, the large number of potential advertisers, and the large number of searches performed by top search servers, there is a need for streamlining and simplifying the process of making such arrangements.
  • BRIEF SUMMARY OF THE INVENTION
  • [0015]
    A presentation system according to embodiments of the present invention accepts presentations or references to presentations from prospective presenters. Some or all of the presentations or references are stored in a database and referenced by keywords such that presentations to be presented in response to particular searches can be identified. A presentation manager handles accepting bids and settling terms between prospective presenters. The results of such processes might be stored in a presentation details database. A presentation server handles retrieving presentations from the presentation details database for presentation to users along with requests such as search results. Both the presentation manager and the presentation server can operate on a keywords-basis, wherein presentation terms specify keywords to be associated with particular presentations and the presentation server serves particular presentations based on keywords in a search query for which the presentations are to be returned. The association of keywords can be done using canonicalization so that, under certain conditions, different keywords are treated as the same keyword. Canonicalizations might include plural/singular forms, gender forms, stem word forms, suffix forms, prefix forms, typographical error forms, word order, pattern ignoring, acronyms, stop word elimination, etc. Conditions might include aspects of the search query state, such as the user's demographics, the page from which the search query was initiated, etc.
  • [0016]
    Other features and advantages of the invention will be apparent in view of the following detailed description and preferred embodiments.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • [0017]
    FIG. 1 is a block diagram of a search and presentation system according to embodiments of the present invention.
  • [0018]
    FIG. 2 is a block diagram showing elements of the search server of FIG. 1 in more detail.
  • [0019]
    FIG. 3 is an illustration of a search results page including presentations according to embodiments of the present invention.
  • [0020]
    FIG. 4 is a block diagram of one variation of a search server using a canonicalizer with plug-ins to reform search query strings prior to use by a presentation processor.
  • [0021]
    FIG. 5 is a block diagram illustrating a presentation manager.
  • [0022]
    FIG. 6 is a block diagram of a distributed search and presentation system as might be used to process queries received and results presented as described herein.
  • DETAILED DESCRIPTION OF THE INVENTION
  • [0023]
    Embodiments of the invention will now be described, by way of example, not limitation. It is to be understood that the invention is of broad utility and may be used in many different contexts.
  • [0024]
    The example of a search process as described herein below can be modelled by a searcher presenting to a search system a query and receiving a response (search results) indicating the one or more “hits” found. A query can be in the form of a search query string comprising one or more tokens delimited by delimiters or parsing rules. In addition to varying a search based on variations of the search query string, context might be also taken into account. For example, the querier might have previously set constraints on the search, such as to return only age-appropriate hits, prior searches might be taken into account, and a querier identity (such as the Yahoo! ID currently associated with the Web browser client submitting the search query string) and settings set by the user. Other contexts might be the time of day, the computer being used, the location of the computer (e.g., IP address, physical location, etc.).
  • [0025]
    The response need not be limited to search results. For example, a searcher might transmit a query and receive a web page in response that includes sponsored search results, search results independent of sponsorship, directory listings, alternative corpus search results, advertisements, links and possibly other elements. One or more of such elements might be dependent on the query and/or search results, but some elements might be independent of the query and search results. For example, a searcher might enter a query string Q and receive in response a web page containing some hits corresponding to Q from one search database, hits corresponding to Q from another search database, presentations corresponding to Q, advertising corresponding to Q, advertising that is independent of Q, page elements that are independent of Q (such as a greeting specific to the user, page elements that always appear on each results page, etc.).
  • [0026]
    When a query is received by a search system, the search system processes the search and returns one or more “hits”, where a “hit” is the atomic unit handled by the search system. Likewise, a presentation system processes the search and returns one or more hits. The search system and presentation system can be the same system, different systems, distinct instances of similar systems using different corpuses, etc. For example, a querying system might include a search system that takes in a query and returns a set of hits that correspond to elements in a search corpus deemed to satisfy the query based on content of the query and those elements, and the querying system might also include a presentation system that takes in a query and returns a set of hits that correspond to presentations selected from a set of presentations (such as a presentations database) that are selected based on some presentation criteria or rules. One example of presentation criteria would have the presentations associated with elements of the query, possibly independent of the content of the presentation, such that a presentation is likely to be returned as part of the response when the query contains a particular term.
  • [0027]
    The search system corpus can be free-form text, files, database records, web pages, data object or the like. Where the search corpus is a structured database, the hits are records from the structured database. Where the search system manages documents, such as text documents, image and text documents, image documents, HTML documents, PDF documents, or the like, the hits are documents. It should be understood that the present invention is not limited to any particular atomic unit, but by way of example, much of this disclosure describes searching using the document as the atomic unit. In general terms, a query is sent to a query system, which applies the query and/or other contexts to one or more systems and receives responses of one or more hits (or no hits, in some cases), back from those systems and supplies that collection of responses (or less than all of the responses if too many responses are provided) to the querier as a response to the query.
  • [0028]
    In some cases, the returned hits are a function of the content of those hits, but in other cases the returned hits might be independent of the content of those hits. As an example of the latter, advertisements might be returned because the system rules are that a particular advertisement is to be returned in response to particular query terms even if the advertisement does not contain the query term. Of course, with targeted advertising, an advertiser will generally want to limit the presentation of a particular advertisement to users that have an interest in what is being advertised and that is often determined from the user's intent for a search as evidenced by the query string presented.
  • [0029]
    It should be understood that the search system need not provide all hits or only hits that match the query and that a presentation system need not provide all hits that match presentation rules. For example, the search system might limit the number of hits returned to some number, might apply other limitations to the query term, such as omitting hits that match the query, ignore duplicate hits, etc. The search system might also expand the search results to include hits that almost match the query, hits that are designated to be included in searches, such as special topic hits, advertising hits, etc. Some expansion or contraction might be dependent on the size or content of the search results prior to such expansion or contraction. For example, the search engine might add hits that are close if no hits would otherwise be returned and might remove hits if too many hits would have been returned, such as by deleting common words from queries prior to completing the search results.
  • [0030]
    A searcher can be a human user, such as a person typing in search terms into a browser window to query a search engine via the Web, but can also be an automated process, such as a computer program capable of sending queries to search engines in the form expected by the search engine. For example, a computer program might generate queries and form HTTP messages directed at a Web server coupled to a search engine.
  • [0031]
    In many of the examples shown herein, the search engine searches among a set of documents (a corpus) for hits that match the criteria defined by the query. It should be understood that the term “document” is generally used to refer to units of the corpus being searched. A document can be a document, such as a contract, a file, a story, a writing, or the like, but might also be a snippet of text, data that might be considered part of a document in other contexts, program code, image data, a stored file, or the like. Therefore, the term need not be narrowly construed.
  • [0032]
    Referring now to the figures and using the above definitions, an exemplary search and presentation system will now be described.
  • [0033]
    FIG. 1 is a block diagram of a query system 100 according to embodiments of the present invention. Using query system 100, a querier issues a search request to a search server using a search client, such as a Web browser client. As shown in FIG. 1, a human user 103 or a computer process 105 issues a query using search client 110. The search query, typically in the form of a search query string, is sent to a search server 120, which returns search results responsive to the search query to search client 110 along with zero or more presentations. In other variations, the search query and/or presentation come from one system and the results are routed to another system.
  • [0034]
    Search server 120 is shown coupled to a search engine 130 and a presentation server 132, which is in turn coupled to a presentation details database (PDD) and a presentation manager 136. The interconnections between various systems need not be described in detail, as such methods of interconnections can be accomplished using well-known techniques.
  • [0035]
    Search client 110 might be a personal computer running an HTTP client, such as a Web browser client, and communicating with an HTTP server running at search server 120, interconnected over a network such as the global Internet. It should be understood that other embodiments also fall within the scope of the invention. For example, search client 110 might be implemented as a handheld device, a computer with no human user interface, a dedicated device, a kiosk, etc. Also, the clients and servers need not use HTTP, but might use a different protocol for making requests for pages and objects, for responding to those requests and for combining search results with other presentations.
  • [0036]
    In operation, and as described in further detail below, search client 110 sends a search query string to search server 120, possibly also including context data (other query state) such as a Yahoo! ID of the Yahoo! user sending the request, location of the search client, etc. Presentation server 132 might also use the context data to determine which presentations to return.
  • [0037]
    FIG. 2 illustrates elements of a search server in greater detail. As shown there, the search server includes a page constructor 200, and storage for search results 210, matching ads 212, matching inserts 214, sponsored links 216 and a query log 220. From a received query, the search server obtains search results 210, either by performing a search itself or by requesting results from another search engine. Typically, a search is performed using an index to the corpus being searched, such as a keyword index. In that case, the search results 210 are the hits that are generated based on the index. Elements 212, 214 and 216 are, in this example, presentations returned by a presentation server. Other page elements, such as globally used or static presentations might also be involved. Page constructor 200 then generates a page from elements in storage 210-216 and sends the page as a response to the search query.
  • [0038]
    A query log might be maintained of queries made and the results, as well as some indication of subsequent selections that the user makes from the results. For example, if a user issues a query Q, receives a set of results R, and selects a link S associated with one of the results in the set of results R, the association of Q with S can be stored in a query log.
  • [0039]
    An example of a page 300 constructed by page constructor 200 is shown in FIG. 3. In this example, the search string was “camera”. Page 300 includes information organized into different page layout areas 302, 304, 306, 308, 310, 312 and 314.
  • [0040]
    The top of page 300 includes an indication of the search, a dialog box in which another search can be initiated, and clickable links for help, home page, etc. Simple search results, such as search results from a Web index for “camera”, are listed in layout area 308. In this example, upon a search query using the query string “camera”, the search server populates storage 210 with Web search results, and possibly other results. The presentation server, in response to the particular terms of the query string (and possibly other state), generates advertisements, inserts and sponsored links associated with the search terms.
  • [0041]
    Layout area 308 includes links that represent hits responsive to the search term and are preferably independent of who sponsors links. Layout area 310 is provided for insertion of an advertisement determined by the presentation server. It should be understood that presentations are not limited to advertisements. In some cases, public interest announcements might be used as presentations. For example, if a user enters a search query “skiing mountaintop resort tickets” and there is currently an emergency alert for that resort, a weather advisory might be presented upon a match to those search terms. While non-advertisements such as those might be used as presentations, many of the examples herein will use advertisements as the type of presentation being selected and presented.
  • [0042]
    Layout area 312 and 214 provide additional matching inserts returned by the presentation server or are generated by the search server. In this example, layout area 312 contains links for executing alternative searches and layout area 314 contains links for other searches. While it is more typically the case that an advertiser pays for a keyword in layout area 310 (e.g., the advertiser gets its advertisement presented in layout area 314 in search results pages resulting from searches that use the keywords that the advertiser paid for), an advertiser might also or instead pay for the right to have presented their message in other layout areas. For example, an interested search service might pay to be the alternative in layout area 314 for some search terms. This might be useful where the interested search service is topic-specific and the terms used are also topic-specific. Thus, if a chemical compounds search system provides detailed searches into its chemical compounds database of interest to only a few searchers using search server 120, then searches that use terms that would likely only be used by someone in that narrow field might result in a results page wherein the narrow interest search engine is presented in layout area 314.
  • [0043]
    Layout area 302 displays matching inserts 214. In this example, those matching inserts are “Inside Yahoo!” links that relate to the search term. Layout area 304 displays directory matches, which are matches from the Yahoo! directory, a hierarchical arrangement of topics and links associated with those topics at various levels in the hierarchy. Layout area 306 displays sponsored matches, which are hits provided to the user based on sponsorship of particular keywords.
  • [0044]
    FIG. 4 illustrates aspects of the invention wherein search terms are canonicalized before being presented to a presentation processor. As shown there, a search server 400 comprises, among other elements not shown, a search processor 402 that couples to a search engine 404, a presentation processor 406 that couples to a presentation server 408, a canonicalizer 410 and rule bases 412 that are interfaced with plug-ins of canonicalizer 410. Other connections exist, but are not shown, such as connections to components that receive the presentations to be presented and the search results.
  • [0045]
    Canonicalizer 410 takes in a query string and outputs a reformed query string, wherein terms from the query string are replaced with their canonical forms. Of course, for some query strings, if none of the terms of the query string met a canonicalization criteria, the reformed query string would be identical to the input query string. With canonicalization, distinct terms that convey identical user intent, or nearly identical user intent, can be matched such that identical or nearly identical user intent results in a common reformed query string, thereby simplifying and/or improving search results. In preferred embodiments, the input to a presentation processor is the same for different search strings that canonicalize to the same base canonicalization.
  • [0046]
    Canonicalization also allows for improved keyword-based presentation selection, so that one presentation that is to be shown when a searcher indicates a particular intent can be shown over distinct searches. For example, suppose a presentation P is targeted to searchers that intend to search for telephone calling rates. Presentation P might be associated in a presentation database with the keywords “telephone call rate”. With canonicalization, “phone” is reformed to its canonical form “telephone” (one word usage to another), “calling” to its canonical form “call” (suffix removal) and “rates” to its canonical form “rate” (plurals to singular), and spelling errors can also be eliminated using canonical forms. Thus, the query string “fone calling rates” would be reformed to “telephone call rate” and would result in presentation P being presented, regardless of the fact that none of the original query terms are directly associated with presentation P.
  • [0047]
    Matching is a process of checking two or more search phrases, words or portions of search phrases to determine if they canonically represent the same input despite being different strings. Two approaches to matching might be done. In one approach, inputs are converted before any operations (storing, filtering, forwarding, etc.) into a base canonical form. In that approach, matching is done by checking for an exact match between the canonical forms. In another approach, inputs are represented in their original form, but when two or more inputs are compared, they pass through a canonicalizer and the outputs of the canonicalizer are tested to find identity.
  • [0048]
    A parallel canonicalization process might be done for search results, as well as for presentation decisions, but it might also not be done, or a different canonicalization process used. Thus, the query might be canonicalized to one reformed search query string for application to a search engine and canonicalized to another reformed search query string for application to a presentation search engine.
  • [0049]
    Examples of canonicalization are described herein, but it should be understood that the invention is not limited to using just these canonicalizations or using all of these canonicalizations. These canonicalizations can be included or excluded on the fly through the use of plug-ins to a canonicalizer. Each plug-in might have a rule base to indicate the rules for when two distinct words or strings are canonically equal. Alternatively, the plug-ins might provide the canonical form for an input string. In that case, the equivalence of two distinct words or phrases can be determined by passing both through the canonicalizer and checking whether the canonical forms for both inputs are equal. Examples of canonicalizations (the underlying rules define what is canonical) are shown in Table 1.
  • [0000]
    TABLE 1
    Canonicalization Type Original Form Canonical Form
    Capitalization “dallas cowboys” “Dallas Cowboys”
    Singular/Plural “dallas cowboy” “Dallas Cowboys”
    (possibly driven
    by a dictionary)
    Word Order “washington, george” “George Washington”
    Typographical Error “washintong” “Washington”
    Typographical Error “washintong, george” “George Washington”
    and Word Order
    Acronym “AOL” “America On Line”
    Abbreviation “cell phone” “cellular phone”
    Punctuation “Bonnie & Clyde” “Bonnie and Clyde”
    Dictionary (This might “automobile” “car” and “auto”
    be a demographic-
    specific
    canonicalization)
    Stop Words (remove “http:”, “https:”, “.html”, “”
    protocol words) “www.”, etc.
    Stop Words “the”, “an”, “a” “”
    (remove articles)
    Stop Words (remove “of”, “to”, etc. “”
    propositions)
    Stop Words (remove “and”, “or”, “nor”, etc. “”
    conjunctions)
    Punctuation Removal any character in the set: “”
    ()<>[]11\\_$%{circumflex over ( )}#!′?_*
    (unless these characters
    have meaning in and of
    themselves, such as “*”
    used to indicate
    a wildcard).
    Replace with any character in the set: (space)
    Whitespace &,.+=@/I:; or ″//,,
    Multiple adjacent (space)(space) . . . (space)
    spaces
  • [0050]
    Search history canonicalization uses a history of user search patterns (such as a log of millions of queries performed using Yahoo! search engines) to identify patterns, such as common acronyms (LOL and “laugh out loud”), common spelling mistakes, and compound words such as “online shopping” and “on line shopping”). Search results canonicalization is based on common search results being selected when shown in response to distinct queries.
  • [0051]
    A decision as to when to canonicalize might be based on query logs, possibly including at least partial clickstreams. For example, suppose one large set of users searches using search string A and receives hits H1, H2, H3 in response, while another large set of users searches using search string B and receives hits H4, H5, H6 in response and there is some overlap of the set of hits between the two results. If it turns out that many users in both sets are selecting a common hit from the search results even though they received that hit using different search strings, then those two search strings might be flagged as being of the same base canonical form. Thus, if the web page for “Northern Europe Pedalling Tour Guides” shows up in search results for the search string “Danish biking” and in search results for the search string “Scandinavian Bicycling” and searchers for both search strings frequently select the “Northern Europe Pedalling Tour Guides” web page from either search string, the phrases “Danish biking” and “Scandinavian Bicycling” might be canonicalized such that they reduce to the same base canonicalization. Of course, for this example, using just word-based or term-based canonicalization, “Danish” and “Scandinavian” might canonicalize together and “biking” and “bicycling” might canonicalize together, yielding the same results anyway.
  • [0052]
    Canonicalizations can be applied in varying order or always in the same order for possibly greater consistency. Canonicalizations might also have exceptions and customizations, which can be handled in the same way as other canonicalizations. For example, exceptions might be that “colour” can be canonical with “color” and “telephone” can be canonical with “phone”. Exceptions or custom rules can be made to be applied exclusively without any other rules. This exception handling mechanism allows, for example, a product manager or producer to create a custom canonicalization, for example, for a different language.
  • [0053]
    In addition to word-based canonicalization, term-based canonicalization can also be performed. These two can be used to gather and even recursively. For example, word-based canonicalization might canonicalize “United States of America Air Force” to “United State of America Air Force”, then term-based canonicalization might canonicalize it to “USA Air Force”, then “USA AF” and then term-based canonicalization might further canonicalize the phrase to “USAF”.
  • [0054]
    The rules and dictionaries, as needed, can be stored in an efficient data structure. A computer implementation for storing the rules and dictionaries for use by a Web server or any number of Web servers, or for use with any number of computer processes to share, can be used to achieve a highly scalable architecture, which can grow with traffic increases without requiring software and data redesign.
  • [0055]
    One process for generating a dictionary is described here. In this example, a set of nouns are collected, such as from a standard dictionary file. A standard dictionary file is likely to have considerable “noise”, so some refinement should be done. First, compound words are be removed from the dictionary. Then, an inflection process is used to convert singular nouns from the set of nouns to plural nouns. An invert mapping of the inflection process is done to convert plural nouns to singular nouns and check for cyclic mappings, wherein the output of the inverted mapping step is compared to the singular nouns input to the inflection process. Singular nouns that do not pass the cyclic mapping check can be flagged, removed or processed specially. Nouns that do not have corresponding plurals in the set of nouns are then removed (e.g. actinomeris, baccharis, qatari, etc.). Some plural forms can be mapped to multiple singular forms (e.g., bases->basis or base), so multiples are removed. Many short nouns are abbreviations and their plural forms are real words with completely different meanings (e.g., WA is an abbreviation for Washington State, and the apparent plural “was” is an unrelated word). Some singular forms are themselves plural forms, which have their singular forms (e.g., algaes->algae->alga), so the various transitive mappings should be consolidated into one (e.g., algaes->alga).
  • [0056]
    Other types of conversions might also be included, such as changing dialects (e.g., British English “colour” to American English “color”, or vice versa), popular short forms (“telephone” to “phone”) and singular nouns that have multiple plural forms (“antennae” and “antennas” are both plural forms of “antenna”).
  • [0057]
    FIG. 5 illustrates a presentation manager 500 that might be used to populate a PDD 506 and arbitrate bids from competing advertisers or other presenters for keyword allocation. In one aspect of the present invention, keyword and phrase canonicalization that occurs in canonicalizer 410 (FIG. 4) also occurs in a canonicalizer within the presentation manager.
  • [0058]
    A prospective presenter might interact with presentation manager 500 using a presenter system 502. In some implementations, the interaction is performed by a sales agent for the operator of the search and presentation system, but in other implementations, the bidding process can be “self-serve”, wherein prospective presenters interact directly with presentation manager 500 to select keywords and other criteria for a presentation campaign, identify which keywords are available and unavailable and under what conditions, pay for the presentation services, and provide the presentation or a reference to the presentation. Once a bid is finalized, a closed bid 504 is stored in PDD 506, providing the presentation server access to the particular campaign details. An example of a closed bid 510 is shown. The elements shown are a keyword, alternates, the winning bidder's ID, a campaign date range, and a pointer to a desired presentation. Of course, bids might have fewer fields or more fields than shown. It is not necessary for closed bid 504 to contain payment details, if presentation manager 500 handles those details.
  • [0059]
    In an example of usage of the system shown in FIG. 5, suppose a presenter decides to submit bids for a sponsored link to the presenter's car dealership. The presenter might decide the present each time someone searches for “car dealers”. Since the user intent is arguably the same for a search for “car dealer” and “car dealers”, the same presentation might be shown to each. Rather than require the bidder to bid on each variation, the bidder can bid on the canonical form, or any variation that maps to a canonical form. If the canonical forms are determined on the fly, then the bidder has the advantage that later developed variations (such as unexpected misspellings) would also be include in the bid.
  • [0060]
    The presenter might pick a date range for the campaign, a number of hits, number of clicks, or other limitation on the exposure. If that does not overlap with already promised and closed bids, it can be granted to the presenter. As part of the process, the presenter provides the presentation or a reference to a presentation. For example, the presenter might provide a banner advertisement image and associated click-through links, which could then be stored in PDD 506. Alternatively, the presenter might just provide a URL that points to a server managed by the presenter, thus allowing the presenter to more closely monitor the number of presentations that are occurring.
  • [0061]
    This self-service aspect of the presentation manager allows individual presenters to “browse” available campaigns and to choose among the available slots without requiring an intermediate sales step. However, in some cases, such as for complex campaigns and new users, a sales agent might intermediate to ensure that the presenter is able to get the most satisfactory campaign. Some campaigns might be quite complex, such as a campaign to have a minimum of 10,000 page views on search results where “car dealer” or any of its variations that would canonicalize to “car dealer” appears in a search query between 8 AM and 5 PM on a business day for searches within the Yahoo! Business property, nonexclusive to other presenters using that same keyword, and exclusive of other presenters using that same keyword within the Yahoo! Yellow Pages property on weekends.
  • [0062]
    Canonicalization has a number of benefits. It allows a presenter to reach an intended target audience even if members of the audience enter variations of the purchased keyword. It also allows a presenter to preclude others from bidding and winning on variations of the presenter's trademarks without the presenter having to separately bid on all the possible variations of the trademark. Another advantage is that a presenter would not have to guess ahead of time which of several valid variations might be used the most.
  • [0063]
    Canonicalization of search phrases either increases the relevant information found or reduces the complexity of finding relevant information for users. In the ever-increasing Web space, this process has become more and more critical.
  • [0064]
    Presentation manager 500 canonicalizes the bids, so that the presenter winning the bid for “car dealers” also gets to present for searches on “car dealer” (singular vs. plural), “car, dealer” (punctuation canonicalization) and “car deeler” (spelling canonicalization).
  • [0065]
    FIG. 6 shows a networked system in which a plurality of search clients can access a search system to apply queries to a corpus of documents. In this system, one or more (but possibly thousands or more) client systems 902 make requests via the Internet 904. The requests flow to servers 908 via an HTTP server 906, but it should be understood that multiple HTTP servers might be present and other protocols might be used instead of, or in addition to, HTTP. A server 908 sends the query to a query process 910, which might be an instantiation of a software object in server 908 or elsewhere, or might include hardware components. The query processes 910 then parse the search query strings and obtain documents, references to documents, links, or other indications of hits, from one or more corpuses 912. In generating results, query processes 910 might send their query terms to a presentation server that will return presentations to be included with the search results, such as advertisements, alerts, messages, notices, links and the like.
  • [0066]
    In some embodiments, corpuses 912 are complete copies of the entire corpus, but in other embodiments, the corpuses 912 are subsets of the complete corpus. In the latter case, server 908 or server process 910 can determine, from the query and possibly other information, which corpus to use. Note that in some cases, one query process 910 might access more than one corpus 912, even for a single query.
  • [0067]
    In FIG. 6, multiple instances of objects are differentiated by a parenthetical index, such as 902(1) for a specific instance of a client system 902. For various objects, the terminal index is some unspecified number, such as “602(N1)”. Where the number of objects is not required to be the same, the terminal indices are indicated with distinct variables. Thus, while exactly three servers 980 and three corpuses 912 are shown in FIG. 6, there are N2 (an indeterminate number) servers and N6 (another indeterminate number) corpuses 912 implied by FIG. 6, so a one-to-one correspondence of servers to corpuses is not required. Unless otherwise specified, different terminal indices can have the same or different values ranging from one to numbers larger than one.
  • [0068]
    The invention has now been described with reference to the preferred embodiments. Alternatives and substitutions will now be apparent to persons of skill in the art. Accordingly, it is not intended to limit the invention except as provided by the appended claims.

Claims (20)

1. A method comprising:
receiving one or more search terms from a user;
canonicalizing one or more of the one or more search terms to form one or more reformed search terms;
determining, based on the one or more search terms, a set of content items that satisfy the one or more search terms, wherein the set of content items are stored in a search corpus repository;
selecting, based on the one or more reformed search terms, one or more presentations from a presentation repository that is distinct from the search corpus repository;
wherein selecting the one or more presentations includes matching terms in the one or more reformed search terms with a plurality of keywords, wherein the plurality of keywords are associated with a plurality of presentations in the presentation repository;
sending, to the user, the set of content items and the one or more presentations,
wherein the one or more presentations are either (a) one or more advertisements or (b) one or more sponsored search results.
2. The method of claim 1, wherein the one or more presentations are one or more advertisements.
3. The method of claim 1, wherein the one or more presentations are one or more sponsored search results.
4. The method of claim 1, wherein determining the set of content items is also based on the one or more reformed search terms.
5. The method of claim 1, further comprising:
canonicalizing one or more of the one or more search terms to form one or more second reformed search terms,
wherein the one or more second reformed search terms are different than the one or more reformed search terms,
wherein determining the set of content items is also based on the one or more second reformed search terms.
6. A method comprising:
receiving one or more search terms from a user;
canonicalizing one or more of the one or more search terms to form one or more reformed search terms;
determining, based on the one or more search terms, a set of content items that satisfy the one or more search terms;
selecting, based on the one or more reformed search terms, one or more presentations,
wherein the one or more reformed search terms are not used to determine the set of content items;
wherein selecting the one or more presentations includes matching terms in the one or more reformed search terms with a plurality of keywords, wherein the plurality of keywords are associated with a plurality of presentations;
sending, to the user, the set of content items and the one or more presentations,
wherein the one or more presentations are either (a) one or more advertisements or (b) one or more sponsored search results.
7. The method of claim 6, wherein the one or more presentations are one or more advertisements.
8. The method of claim 6, wherein the one or more presentations are one or more sponsored search results.
9. The method of claim 6, wherein the associations between the plurality of keywords and the plurality of advertisements are made by a plurality of advertisers that are the source of the plurality of presenations.
10. The method of claim 6, further comprising:
canonicalizing one or more of the one or more search terms to form one or more second reformed search terms,
wherein the one or more second reformed search terms are different than the one or more reformed search terms,
wherein determining the set of content items is also based on the one or more second reformed search terms.
11. A computer-readable storage medium storing instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 1.
12. A computer-readable storage medium storing instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 2.
13. A computer-readable storage medium storing instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 3.
14. A computer-readable storage medium storing instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 4.
15. A computer-readable storage medium storing instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 5.
16. A computer-readable storage medium storing instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 6.
17. A computer-readable storage medium storing instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 7.
18. A computer-readable storage medium storing instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 8.
19. A computer-readable storage medium storing instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 9.
20. A computer-readable storage medium storing instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 10.
US12170768 2003-04-04 2008-07-10 Canonicalization of terms in a keyword-based presentation system Abandoned US20080294609A1 (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
US46065703 true 2003-04-04 2003-04-04
US10703688 US7007014B2 (en) 2003-04-04 2003-11-07 Canonicalization of terms in a keyword-based presentation system
US11282435 US7401074B2 (en) 2003-04-04 2005-11-17 Canonicalization of terms in a keyword-based presentation system
US12170768 US20080294609A1 (en) 2003-04-04 2008-07-10 Canonicalization of terms in a keyword-based presentation system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US12170768 US20080294609A1 (en) 2003-04-04 2008-07-10 Canonicalization of terms in a keyword-based presentation system

Publications (1)

Publication Number Publication Date
US20080294609A1 true true US20080294609A1 (en) 2008-11-27

Family

ID=33101471

Family Applications (3)

Application Number Title Priority Date Filing Date
US10703688 Active US7007014B2 (en) 2003-04-04 2003-11-07 Canonicalization of terms in a keyword-based presentation system
US11282435 Active 2024-01-01 US7401074B2 (en) 2003-04-04 2005-11-17 Canonicalization of terms in a keyword-based presentation system
US12170768 Abandoned US20080294609A1 (en) 2003-04-04 2008-07-10 Canonicalization of terms in a keyword-based presentation system

Family Applications Before (2)

Application Number Title Priority Date Filing Date
US10703688 Active US7007014B2 (en) 2003-04-04 2003-11-07 Canonicalization of terms in a keyword-based presentation system
US11282435 Active 2024-01-01 US7401074B2 (en) 2003-04-04 2005-11-17 Canonicalization of terms in a keyword-based presentation system

Country Status (2)

Country Link
US (3) US7007014B2 (en)
WO (1) WO2004089058A8 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012154348A1 (en) * 2011-04-08 2012-11-15 Apple Inc. Generation of topic-based language models for an app search engine
US8375022B2 (en) 2010-11-02 2013-02-12 Hewlett-Packard Development Company, L.P. Keyword determination based on a weight of meaningfulness
US8548970B2 (en) * 2011-07-06 2013-10-01 Iac Search & Media, Inc. Systems, computer-readable media, and methods of operating a target computer system to answer a query
US8868591B1 (en) * 2011-06-22 2014-10-21 Google Inc. Modifying a user query to improve the results
US8918381B1 (en) 2012-11-07 2014-12-23 Google Inc. Selection criteria diversification

Families Citing this family (136)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8352400B2 (en) 1991-12-23 2013-01-08 Hoffberg Steven M Adaptive pattern recognition based controller apparatus and method and human-factored interface therefore
US7904187B2 (en) 1999-02-01 2011-03-08 Hoffberg Steven M Internet appliance system and method
US7219073B1 (en) * 1999-08-03 2007-05-15 Brandnamestores.Com Method for extracting information utilizing a user-context-based search engine
US20040100493A1 (en) * 2002-11-27 2004-05-27 Reid Gregory S. Dynamically ordering solutions
US9396473B2 (en) * 2002-11-27 2016-07-19 Accenture Global Services Limited Searching within a contact center portal
US8275811B2 (en) 2002-11-27 2012-09-25 Accenture Global Services Limited Communicating solution information in a knowledge management system
US7062505B2 (en) * 2002-11-27 2006-06-13 Accenture Global Services Gmbh Content management system for the telecommunications industry
US8572058B2 (en) 2002-11-27 2013-10-29 Accenture Global Services Limited Presenting linked information in a CRM system
US7769622B2 (en) 2002-11-27 2010-08-03 Bt Group Plc System and method for capturing and publishing insight of contact center users whose performance is above a reference key performance indicator
US7418403B2 (en) 2002-11-27 2008-08-26 Bt Group Plc Content feedback in a multiple-owner content management system
US7395499B2 (en) 2002-11-27 2008-07-01 Accenture Global Services Gmbh Enforcing template completion when publishing to a content management system
US7200614B2 (en) * 2002-11-27 2007-04-03 Accenture Global Services Gmbh Dual information system for contact center users
US7921052B2 (en) * 2002-12-31 2011-04-05 Autotrader.Com, Inc. Efficient online auction style listings that encourage out-of-channel negotiation
US20050086219A1 (en) * 2003-03-25 2005-04-21 Claria Corporation Generation of keywords for searching in a computer network
US7403939B1 (en) 2003-05-30 2008-07-22 Aol Llc Resolving queries based on automatic determination of requestor geographic location
US7831581B1 (en) * 2004-03-01 2010-11-09 Radix Holdings, Llc Enhanced search
US20050222901A1 (en) * 2004-03-31 2005-10-06 Sumit Agarwal Determining ad targeting information and/or ad creative information using past search queries
US8370269B2 (en) 2004-06-02 2013-02-05 Overstock.Com, Inc. System and methods for electronic commerce using personal and business networks
US7562069B1 (en) 2004-07-01 2009-07-14 Aol Llc Query disambiguation
US7958115B2 (en) * 2004-07-29 2011-06-07 Yahoo! Inc. Search systems and methods using in-line contextual queries
US7603349B1 (en) 2004-07-29 2009-10-13 Yahoo! Inc. User interfaces for search systems using in-line contextual queries
US9002783B2 (en) * 2004-09-17 2015-04-07 Go Daddy Operating Company, LLC Web page customization based on expertise level of a user
US9009100B2 (en) 2004-09-17 2015-04-14 Go Daddy Operating Company, LLC Web page customization based on a search term expertise level of a user
US7680901B2 (en) * 2004-09-17 2010-03-16 Go Daddy Group, Inc. Customize a user interface of a web page using an expertise level rules engine
US7571157B2 (en) * 2004-12-29 2009-08-04 Aol Llc Filtering search results
US7818314B2 (en) * 2004-12-29 2010-10-19 Aol Inc. Search fusion
US7349896B2 (en) * 2004-12-29 2008-03-25 Aol Llc Query routing
US7272597B2 (en) * 2004-12-29 2007-09-18 Aol Llc Domain expert search
US7856441B1 (en) 2005-01-10 2010-12-21 Yahoo! Inc. Search systems and methods using enhanced contextual queries
WO2006096838A1 (en) * 2005-03-09 2006-09-14 Medio Systems, Inc. Method and system for content search with mobile computing devices
US20060242017A1 (en) * 2005-03-09 2006-10-26 Medio Systems, Inc. Method and system of bidding for advertisement placement on computing devices
US7974952B1 (en) * 2005-04-18 2011-07-05 Emc Corporation Tracking file system changes for backup
CN101366024B (en) * 2005-05-16 2014-07-30 电子湾有限公司 Method and system for processing data searching request
US20060271389A1 (en) * 2005-05-31 2006-11-30 Microsoft Corporation Pay per percentage of impressions
US20060288100A1 (en) * 2005-05-31 2006-12-21 Carson Mark A System and method for managing internet based sponsored search campaigns
US20060271426A1 (en) * 2005-05-31 2006-11-30 Microsoft Corporation Posted price market for online search and content advertisements
US8260777B1 (en) * 2005-09-09 2012-09-04 A9.Com, Inc. Server system and methods for matching listings to web pages and users
US7409402B1 (en) 2005-09-20 2008-08-05 Yahoo! Inc. Systems and methods for presenting advertising content based on publisher-selected labels
US7421441B1 (en) 2005-09-20 2008-09-02 Yahoo! Inc. Systems and methods for presenting information based on publisher-selected labels
US7979340B2 (en) 2005-09-21 2011-07-12 Overstock.Com, Inc. System, program product, and methods for online image handling
GB0519256D0 (en) * 2005-09-21 2005-10-26 Ives Stephen R Systems and methods for managing the display of sponsored links together with search results in a search engine system
US7895193B2 (en) * 2005-09-30 2011-02-22 Microsoft Corporation Arbitration of specialized content using search results
US8266162B2 (en) * 2005-10-31 2012-09-11 Lycos, Inc. Automatic identification of related search keywords
US20070106657A1 (en) * 2005-11-10 2007-05-10 Brzeski Vadim V Word sense disambiguation
US7752190B2 (en) 2005-12-21 2010-07-06 Ebay Inc. Computer-implemented method and system for managing keyword bidding prices
US7792858B2 (en) 2005-12-21 2010-09-07 Ebay Inc. Computer-implemented method and system for combining keywords into logical clusters that share similar behavior with respect to a considered dimension
US8036937B2 (en) 2005-12-21 2011-10-11 Ebay Inc. Computer-implemented method and system for enabling the automated selection of keywords for rapid keyword portfolio expansion
US9600822B2 (en) 2006-02-06 2017-03-21 Autotrader.Com, Inc. Structured computer-assisted method and apparatus for filtering information presentation
US7953740B1 (en) * 2006-02-13 2011-05-31 Amazon Technologies, Inc. Detection of behavior-based associations between search strings and items
US20070214158A1 (en) * 2006-03-08 2007-09-13 Yakov Kamen Method and apparatus for conducting a robust search
KR100736799B1 (en) * 2006-03-27 2007-07-02 엔에이치엔(주) Method and system for creating advertisement-list which divides big advertiser's advertising information
KR100793377B1 (en) * 2006-03-28 2007-10-05 엔에이치엔(주) Method and system for creating advertisement-list by mark distribution
US20070256095A1 (en) * 2006-04-27 2007-11-01 Collins Robert J System and method for the normalization of advertising metrics
US9507778B2 (en) 2006-05-19 2016-11-29 Yahoo! Inc. Summarization of media object collections
US7822745B2 (en) * 2006-05-31 2010-10-26 Yahoo! Inc. Keyword set and target audience profile generalization techniques
US8568236B2 (en) * 2006-07-28 2013-10-29 Yahoo! Inc. Fantasy sports agent
US8403756B2 (en) 2006-07-28 2013-03-26 Yahoo! Inc. Fantasy sports alert generator
US20080102911A1 (en) * 2006-10-27 2008-05-01 Yahoo! Inc. Integration of personalized fantasy data with general sports content
US9519715B2 (en) * 2006-11-02 2016-12-13 Excalibur Ip, Llc Personalized search
US8594702B2 (en) 2006-11-06 2013-11-26 Yahoo! Inc. Context server for associating information based on context
US20080109438A1 (en) * 2006-11-08 2008-05-08 Ma Capital Lllp Selling keywords in radio broadcasts
US8402356B2 (en) 2006-11-22 2013-03-19 Yahoo! Inc. Methods, systems and apparatus for delivery of media
US9110903B2 (en) 2006-11-22 2015-08-18 Yahoo! Inc. Method, system and apparatus for using user profile electronic device data in media delivery
US8086600B2 (en) * 2006-12-07 2011-12-27 Google Inc. Interleaving search results
US20080153589A1 (en) * 2006-12-22 2008-06-26 Yahoo! Inc. Rotisserie fantasy league visualization tools
US8671354B2 (en) * 2006-12-22 2014-03-11 Yahoo! Inc. Player streaks and game data visualization
US8769099B2 (en) 2006-12-28 2014-07-01 Yahoo! Inc. Methods and systems for pre-caching information on a mobile computing device
US7996410B2 (en) * 2007-02-01 2011-08-09 Yahoo! Inc. Word pluralization handling in query for web search
US8321448B2 (en) * 2007-02-22 2012-11-27 Microsoft Corporation Click-through log mining
US20080208566A1 (en) * 2007-02-23 2008-08-28 Microsoft Corporation Automated word-form transformation and part of speech tag assignment
US8583419B2 (en) * 2007-04-02 2013-11-12 Syed Yasin Latent metonymical analysis and indexing (LMAI)
US20080313307A1 (en) * 2007-06-12 2008-12-18 Technorati, Inc. Url-based keyword advertising
US20090240602A1 (en) * 2007-06-30 2009-09-24 Mohr L Thomas Automated price quote engine
US20090006159A1 (en) * 2007-06-30 2009-01-01 Mohr L Thomas Systems and methods for managing communications with internet sales leads
US20100153235A1 (en) 2007-06-30 2010-06-17 Responselogix, Inc. Alternative selections for compound price quoting
US7788276B2 (en) * 2007-08-22 2010-08-31 Yahoo! Inc. Predictive stemming for web search with statistical machine translation models
US8069142B2 (en) * 2007-12-06 2011-11-29 Yahoo! Inc. System and method for synchronizing data on a network
US8671154B2 (en) 2007-12-10 2014-03-11 Yahoo! Inc. System and method for contextual addressing of communications on a network
US8307029B2 (en) 2007-12-10 2012-11-06 Yahoo! Inc. System and method for conditional delivery of messages
US8166168B2 (en) 2007-12-17 2012-04-24 Yahoo! Inc. System and method for disambiguating non-unique identifiers using information obtained from disparate communication channels
US8612409B2 (en) * 2007-12-18 2013-12-17 Yahoo! Inc. Method and apparatus for detecting and explaining bursty stream events in targeted groups
US8583480B2 (en) 2007-12-21 2013-11-12 Overstock.Com, Inc. System, program product, and methods for social network advertising and incentives for same
US9706345B2 (en) 2008-01-04 2017-07-11 Excalibur Ip, Llc Interest mapping system
US9626685B2 (en) 2008-01-04 2017-04-18 Excalibur Ip, Llc Systems and methods of mapping attention
US8762285B2 (en) 2008-01-06 2014-06-24 Yahoo! Inc. System and method for message clustering
US8560390B2 (en) 2008-03-03 2013-10-15 Yahoo! Inc. Method and apparatus for social network marketing with brand referral
US8554623B2 (en) * 2008-03-03 2013-10-08 Yahoo! Inc. Method and apparatus for social network marketing with consumer referral
US8538811B2 (en) 2008-03-03 2013-09-17 Yahoo! Inc. Method and apparatus for social network marketing with advocate referral
US8589486B2 (en) 2008-03-28 2013-11-19 Yahoo! Inc. System and method for addressing communications
US8745133B2 (en) * 2008-03-28 2014-06-03 Yahoo! Inc. System and method for optimizing the storage of data
US8271506B2 (en) * 2008-03-31 2012-09-18 Yahoo! Inc. System and method for modeling relationships between entities
US8051080B2 (en) * 2008-04-16 2011-11-01 Yahoo! Inc. Contextual ranking of keywords using click data
US8452855B2 (en) 2008-06-27 2013-05-28 Yahoo! Inc. System and method for presentation of media related to a context
US8706406B2 (en) 2008-06-27 2014-04-22 Yahoo! Inc. System and method for determination and display of personalized distance
US8813107B2 (en) 2008-06-27 2014-08-19 Yahoo! Inc. System and method for location based media delivery
US8086700B2 (en) * 2008-07-29 2011-12-27 Yahoo! Inc. Region and duration uniform resource identifiers (URI) for media objects
US8583668B2 (en) 2008-07-30 2013-11-12 Yahoo! Inc. System and method for context enhanced mapping
US8386506B2 (en) 2008-08-21 2013-02-26 Yahoo! Inc. System and method for context enhanced messaging
US8281027B2 (en) 2008-09-19 2012-10-02 Yahoo! Inc. System and method for distributing media related to a location
US9600484B2 (en) 2008-09-30 2017-03-21 Excalibur Ip, Llc System and method for reporting and analysis of media consumption data
US8108778B2 (en) 2008-09-30 2012-01-31 Yahoo! Inc. System and method for context enhanced mapping within a user interface
US20100082427A1 (en) * 2008-09-30 2010-04-01 Yahoo! Inc. System and Method for Context Enhanced Ad Creation
US8032508B2 (en) 2008-11-18 2011-10-04 Yahoo! Inc. System and method for URL based query for retrieving data related to a context
US8024317B2 (en) 2008-11-18 2011-09-20 Yahoo! Inc. System and method for deriving income from URL based context queries
US8060492B2 (en) * 2008-11-18 2011-11-15 Yahoo! Inc. System and method for generation of URL based context queries
US9805123B2 (en) 2008-11-18 2017-10-31 Excalibur Ip, Llc System and method for data privacy in URL based context queries
US9594835B2 (en) * 2008-11-25 2017-03-14 Yahoo! Inc. Lightning search aggregate
US8290944B2 (en) 2008-11-25 2012-10-16 Yahoo! Inc. Method for storing bookmarks for search results from previously submitted search queries by a user and storing links to selected documents by the user
US9224172B2 (en) 2008-12-02 2015-12-29 Yahoo! Inc. Customizable content for distribution in social networks
US8055675B2 (en) 2008-12-05 2011-11-08 Yahoo! Inc. System and method for context based query augmentation
US8166016B2 (en) 2008-12-19 2012-04-24 Yahoo! Inc. System and method for automated service recommendations
US20100185509A1 (en) * 2009-01-21 2010-07-22 Yahoo! Inc. Interest-based ranking system for targeted marketing
US9477763B2 (en) 2009-03-02 2016-10-25 Excalibur IP, LC Personalized search results utilizing previously navigated web sites
US20100241689A1 (en) * 2009-03-19 2010-09-23 Yahoo! Inc. Method and apparatus for associating advertising with computer enabled maps
US8150967B2 (en) 2009-03-24 2012-04-03 Yahoo! Inc. System and method for verified presence tracking
US9747622B1 (en) 2009-03-24 2017-08-29 Overstock.Com, Inc. Point-and-shoot product lister
US20100280913A1 (en) * 2009-05-01 2010-11-04 Yahoo! Inc. Gift credit matching engine
US20100312778A1 (en) * 2009-06-08 2010-12-09 Yumao Lu Predictive person name variants for web search
US9043409B2 (en) * 2009-06-11 2015-05-26 Qualcomm Incorporated Methods and apparatus for a plug-in model for publishing structured meta-data based discovery
US20110035265A1 (en) * 2009-08-06 2011-02-10 Yahoo! Inc. System and method for verified monetization of commercial campaigns
US8914342B2 (en) 2009-08-12 2014-12-16 Yahoo! Inc. Personal data platform
US8364611B2 (en) 2009-08-13 2013-01-29 Yahoo! Inc. System and method for precaching information on a mobile device
US8392441B1 (en) * 2009-08-15 2013-03-05 Google Inc. Synonym generation using online decompounding and transitivity
US8954404B2 (en) * 2010-02-24 2015-02-10 Demand Media, Inc. Rule-based system and method to associate attributes to text strings
US8909623B2 (en) 2010-06-29 2014-12-09 Demand Media, Inc. System and method for evaluating search queries to identify titles for content production
US20120059838A1 (en) * 2010-09-07 2012-03-08 Microsoft Corporation Providing entity-specific content in response to a search query
US9779168B2 (en) 2010-10-04 2017-10-03 Excalibur Ip, Llc Contextual quick-picks
US20120089641A1 (en) * 2010-10-08 2012-04-12 Accenture Global Services Limited Searching travel records
US20120095997A1 (en) * 2010-10-18 2012-04-19 Microsoft Corporation Providing contextual hints associated with a user session
US9047642B2 (en) 2011-03-24 2015-06-02 Overstock.Com, Inc. Social choice engine
US9275411B2 (en) * 2012-05-23 2016-03-01 Google Inc. Customized voice action system
US9424352B2 (en) * 2012-12-20 2016-08-23 Ebay Inc. View item related searches
US9218420B1 (en) 2013-02-26 2015-12-22 Google Inc. Detecting new businesses with unrecognized query terms
US9483788B2 (en) 2013-06-25 2016-11-01 Overstock.Com, Inc. System and method for graphically building weighted search queries
US9501211B2 (en) 2014-04-17 2016-11-22 GoDaddy Operating Company, LLC User input processing for allocation of hosting server resources
US9660933B2 (en) 2014-04-17 2017-05-23 Go Daddy Operating Company, LLC Allocating and accessing hosting server resources via continuous resource availability updates

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5704060A (en) * 1995-05-22 1997-12-30 Del Monte; Michael G. Text storage and retrieval system and method
US6006225A (en) * 1998-06-15 1999-12-21 Amazon.Com Refining search queries by the suggestion of correlated terms from prior searches
US20010042064A1 (en) * 1999-05-28 2001-11-15 Goto.Com. System and method for influencing a position on a search result list generated by a computer network search engine
US20020116170A1 (en) * 2000-12-15 2002-08-22 Corman Steven R. Method for mining, mapping and managing organizational knowledge from text and conversation
US20030083959A1 (en) * 2001-06-08 2003-05-01 Jinshan Song System and method for creating a customized electronic catalog
US20030101044A1 (en) * 2001-11-28 2003-05-29 Mark Krasnov Word, expression, and sentence translation management tool
US20030126136A1 (en) * 2001-06-22 2003-07-03 Nosa Omoigui System and method for knowledge retrieval, management, delivery and presentation
US20030208474A1 (en) * 1999-05-28 2003-11-06 Goto.Com, Inc. System and method for influencing a position on a search result list generated by a computer network search engine
US20040064447A1 (en) * 2002-09-27 2004-04-01 Simske Steven J. System and method for management of synonymic searching
US20040093327A1 (en) * 2002-09-24 2004-05-13 Darrell Anderson Serving advertisements based on content
US6873996B2 (en) * 2003-04-16 2005-03-29 Yahoo! Inc. Affinity analysis method and article of manufacture
US20060184504A1 (en) * 1999-03-15 2006-08-17 Yellow Pages Superhighway Method and apparatus for providing sponsorship for a directory
US20090254971A1 (en) * 1999-10-27 2009-10-08 Pinpoint, Incorporated Secure data interchange

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5740060A (en) * 1995-08-07 1998-04-14 Daifuku Co., Ltd. Storage and materials handling facility

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5704060A (en) * 1995-05-22 1997-12-30 Del Monte; Michael G. Text storage and retrieval system and method
US6006225A (en) * 1998-06-15 1999-12-21 Amazon.Com Refining search queries by the suggestion of correlated terms from prior searches
US20060184504A1 (en) * 1999-03-15 2006-08-17 Yellow Pages Superhighway Method and apparatus for providing sponsorship for a directory
US20010042064A1 (en) * 1999-05-28 2001-11-15 Goto.Com. System and method for influencing a position on a search result list generated by a computer network search engine
US20030208474A1 (en) * 1999-05-28 2003-11-06 Goto.Com, Inc. System and method for influencing a position on a search result list generated by a computer network search engine
US20090254971A1 (en) * 1999-10-27 2009-10-08 Pinpoint, Incorporated Secure data interchange
US20020116170A1 (en) * 2000-12-15 2002-08-22 Corman Steven R. Method for mining, mapping and managing organizational knowledge from text and conversation
US20030083959A1 (en) * 2001-06-08 2003-05-01 Jinshan Song System and method for creating a customized electronic catalog
US20030126136A1 (en) * 2001-06-22 2003-07-03 Nosa Omoigui System and method for knowledge retrieval, management, delivery and presentation
US20030101044A1 (en) * 2001-11-28 2003-05-29 Mark Krasnov Word, expression, and sentence translation management tool
US20040093327A1 (en) * 2002-09-24 2004-05-13 Darrell Anderson Serving advertisements based on content
US20040064447A1 (en) * 2002-09-27 2004-04-01 Simske Steven J. System and method for management of synonymic searching
US6873996B2 (en) * 2003-04-16 2005-03-29 Yahoo! Inc. Affinity analysis method and article of manufacture

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8375022B2 (en) 2010-11-02 2013-02-12 Hewlett-Packard Development Company, L.P. Keyword determination based on a weight of meaningfulness
US9805022B2 (en) 2010-12-09 2017-10-31 Apple Inc. Generation of topic-based language models for an app search engine
WO2012154348A1 (en) * 2011-04-08 2012-11-15 Apple Inc. Generation of topic-based language models for an app search engine
US8868591B1 (en) * 2011-06-22 2014-10-21 Google Inc. Modifying a user query to improve the results
US8548970B2 (en) * 2011-07-06 2013-10-01 Iac Search & Media, Inc. Systems, computer-readable media, and methods of operating a target computer system to answer a query
US9245027B2 (en) 2011-07-06 2016-01-26 Iac Search & Media, Inc. Systems, computer-readable media, and methods of operating a target computer system to answer a query
US8918381B1 (en) 2012-11-07 2014-12-23 Google Inc. Selection criteria diversification

Also Published As

Publication number Publication date Type
WO2004089058A3 (en) 2005-02-17 application
US20060074853A1 (en) 2006-04-06 application
US7007014B2 (en) 2006-02-28 grant
US20040199496A1 (en) 2004-10-07 application
WO2004089058A8 (en) 2005-04-14 application
US7401074B2 (en) 2008-07-15 grant
WO2004089058A2 (en) 2004-10-21 application

Similar Documents

Publication Publication Date Title
US7660740B2 (en) Method and system for listing items globally and regionally, and customized listing according to currency or shipping area
US7680796B2 (en) Determining and/or using location information in an ad system
US7716161B2 (en) Methods and apparatus for serving relevant advertisements
US7509313B2 (en) System and method for processing a query
US7177862B2 (en) Method and structure for federated web service discovery search over multiple registries with result aggregation
US7296015B2 (en) Apparatus and method for identifying and/or for analyzing potential patent infringement
US6978263B2 (en) System and method for influencing a position on a search result list generated by a computer network search engine
US6804659B1 (en) Content based web advertising
US7054857B2 (en) Use of extensible markup language in a system and method for influencing a position on a search result list generated by a computer network search engine
US20080103886A1 (en) Determining relevance of a term to content using a combined model
US20050071325A1 (en) Increasing a number of relevant advertisements using a relaxed match
US20050060311A1 (en) Methods and systems for improving a search ranking using related queries
US20040103075A1 (en) International information search and delivery system providing search results personalized to a particular natural language
US20080306913A1 (en) Dynamic aggregation and display of contextually relevant content
US20100169175A1 (en) Optimization of Targeted Advertisements Based on User Profile Information
US20020073165A1 (en) Real-time context-sensitive customization of user-requested content
US20060085392A1 (en) System and method for automatic generation of search results based on local intention
US20100030647A1 (en) Advertisement selection for internet search and content pages
US20070143300A1 (en) System and method for monitoring evolution over time of temporal content
US20020046203A1 (en) Method and apparatus for providing ratings of web sites over the internet
US20010044837A1 (en) Methods and systems for searching an information directory
US8321278B2 (en) Targeted advertisements based on user profiles and page profile
US20080097982A1 (en) System and method for classifying search queries
US20040078365A1 (en) Apparatus and method for identifying and/or for analyzing potential patent infringement
US20050071224A1 (en) System and method for automatically targeting web-based advertisements

Legal Events

Date Code Title Description
AS Assignment

Owner name: YAHOO HOLDINGS, INC., CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:YAHOO| INC.;REEL/FRAME:042963/0211

Effective date: 20170613