WO2004013726A2 - Method and apparatus for search ranking using human input and automated ranking - Google Patents

Method and apparatus for search ranking using human input and automated ranking Download PDF

Info

Publication number
WO2004013726A2
WO2004013726A2 PCT/US2003/023767 US0323767W WO2004013726A2 WO 2004013726 A2 WO2004013726 A2 WO 2004013726A2 US 0323767 W US0323767 W US 0323767W WO 2004013726 A2 WO2004013726 A2 WO 2004013726A2
Authority
WO
WIPO (PCT)
Prior art keywords
query
ranking
documents
search
corpus
Prior art date
Application number
PCT/US2003/023767
Other languages
French (fr)
Other versions
WO2004013726A3 (en
Inventor
Udi Manber
Chi-Chao Chang
Original Assignee
Yahoo! Inc.
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
Application filed by Yahoo! Inc. filed Critical Yahoo! Inc.
Priority to AU2003254264A priority Critical patent/AU2003254264A1/en
Publication of WO2004013726A2 publication Critical patent/WO2004013726A2/en
Publication of WO2004013726A3 publication Critical patent/WO2004013726A3/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • 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/99942Manipulating data structure, e.g. compression, compaction, compilation
    • 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/99943Generating database or data structure, e.g. via user interface

Definitions

  • the present invention relates to searching document sets in general and more particularly to presenting search results with rankings to further inform the searcher of the search results.
  • Ranking is difficult to handle for large numbers of queries and/or large numbers of documents. For systems with only a few queries, preset results can be generated and for systems with only a few documents, the documents can often be ranked in a query- independent ranking, such as by date. However, for most practical systems with open-ended queries and large document sets, ranking must often be done at least in part on the fly, i.e., the ranking of a list of elements is determined and finalized only after the query that would return that list is received.
  • HTTP HyperText Transport Protocol
  • HTTP is a client-server protocol, in that a node that acts as an HTTP client makes requests of a node that acts as an HTTP server.
  • the request includes a Universal Resource Locator (URL) that refers to the page or data requested.
  • the URL comprises a globally unique domain name and possibly other fields that are specific to that domain name.
  • the network will resolve the domain name and route the request to an HTTP server at the specified domain and that HTTP server will resolve the remaining fields of the URL to determine what was requested.
  • This approach works well when the HTTP client has a URL for the desired data.
  • searching is usually done to find the resource or resources of interest.
  • One approach is the directory approach, where large numbers of URLs and references to pages are stored in a hierarchical structure and are searchable or navigable via the structure.
  • An example of this approach is the Yahoo! directory. With the Yahoo! directory, a Yahoo! user directs a browser to a search page and submits a search from that page. The search is applied to the Yahoo!
  • Hierarchical (taxonomical) structure and results are presented to the user.
  • the results can also include hits from a search engine searching on the terms of the search.
  • Such approaches work well to find well-categorized information and information that is not voluminous, but problems occur when the search results can fall into many different topics and/or there are a large number of documents that match the search.
  • a typical search might yield far more hits than can be processed by the searcher. As a result, the hits in those cases need to be ranked.
  • Ranking allows for the more relevant pages to be presented higher in the ranking than other pages.
  • Search ranking systems using input from users of the system are l ⁇ iown.
  • U.S. Patent No. 6,078,916 shows a search system wherein the search activity of users is monitored and that activity is used in ranking results of later searches.
  • the more often users click on one of the hits the higher that hit is ranked in subsequent search results.
  • U.S. Patent No. 6,240,408 shows another approach to search results ranking.
  • a query is applied to a controlled database containing selected data and an uncontrolled database containing possibly unselected and uncontrolled data.
  • the ranking of results in the controlled database is used to inform the ranking process of ranking results of the query of the uncontrolled database.
  • Ranking by human editors reviewing search results provides more relevant ranking than automated processes and even search users, because human editors possess better intelligence than the best software and more clearly understand distinctions in pages, and human editors focus on areas of their expertise. For example, a human editor would more easily spot a page that is irrelevant but contains terms designed to get a high ranking from an automated process.
  • human editors cannot process the volume of searches typically received by a search system and cannot keep up to date the queries they do process in view of the relevant pages that are added for consideration, modified or removed.
  • the number of possible queries can easily be in the millions.
  • a search system returns search results ranked based on human editor input and automated results.
  • the search system provides search results to searchers in response to search queries and the search results are ranked.
  • the ranking is determined by an automated ranking process in combination with human editorial input.
  • a search system might comprise a query server for receiving a current query, a corpus of documents to which the current query is applied, ranking data storage for storing information from an editorial session involving a human editor and a reviewed query at least related to the current query, and a rank adjuster for generating a ranking of documents returned from the corpus responsive to the current query taking into account at least the information from the editorial session.
  • Fig. 1 is a block diagram of a querying system according to embodiments of the present invention.
  • FIG. 2 is a block diagram of an alternative configuration of components of the querying system shown in Fig. 1.
  • FIG. 3 illustrates possible inputs to a corpus searched in the querying system shown in Fig. 1.
  • FIG. 4 is a more detailed block diagram showing interactions between a database having search results and rankings, a real-time ranking adjuster and a query server.
  • Fig. 5 is a block diagram of a review scheduler and its interaction with some of the elements shown in Fig. 1.
  • FIG. 6 is a block diagram of a networked system wherein a plurality of search clients can access a search system to apply queries to a corpus of documents.
  • a searcher can be 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 key words (e.g., searching for the latest football scores with a query "football games scores recent"), structured query statements (SQL, Boolean expressions, regular expressions, etc.), by selecting terms from choice lists, following links or a number of other methods currently in use or obvious to one of skill in the art upon review of current literature and/or the present disclosure.
  • a query When a query is received by a search system, it processes the search and returns one or more "hits", where a "hit" is the atomic unit handled by the search system.
  • a "hit” is the atomic unit handled by the search system.
  • the search system manages a structured database
  • the hits are records from the structured database.
  • the search system manages documents, such as text documents, image and text documents, image documents, HTML documents, PDF documents, or the like
  • the atomic unit is the document. 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.
  • a structured database is not required.
  • a hit is an atomic unit that the search system identifies as matching criteria defined by the query. It should be understood that the search system need not provide all hits or only hits that match the query. 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 but are not cleared to be provided to the particular searcher, 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.
  • 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.
  • Search results are one or more hits, where each hit might be returned as an entire document, as a reference to the document, as a summary of the document' s contents, some combination thereof, or the like.
  • the search results are ranked in a manner apparent to the searcher. Ranking might be by order of appearance on a search results page, by numbering or lettering, by distinctive icons, or the like. If the search results include text, the ranking might be shown by differences in coloration, font, shading, formatting or the like. For automated processes, the rankings might be supplied in machine readable form not normally displayed to a human searcher, such as by XML metadata.
  • the search engine searches among a set of documents for documents (hits) that match the criteria defined by the query.
  • 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 nareowly construed.
  • a querying system accepts queries and returns ranked results, typically in real-time or near real-time.
  • the querying system obtains automated real-time search results that have a ranking, or at least a default order. Such automated results might be results from a Web search engine, database query, or the like.
  • the querying system also obtains editor inputs for the query (or a query that is judged similar enough to the posed query) that might include 1) a list of the results that the editor viewed at the time of evaluation of the query results, 2) the changes in the ranking (promotions, demotions, deletions, insertions), 3) suggestion lists presented to the editor for use as insertions and/or other relevant or possibly relevant editor state and/or conditions.
  • Editor state and/or conditions might include the background of the editor.
  • Suggestion lists might include results from other search engines, important press releases or other operator key items. Thus, with suggestion lists, an editor can "merge” results from more than one search engine in a human-reviewed manner.
  • Promotions and demotions might be absolute ("Rank this document first highest:”), relative to itself ("Rank this document four positions higher than it would otherwise be.”), or relative to another document ("Rank this document higher than this other document.”).
  • Other types of promotion/demotion might include “remove this document from consideration no matter what the automatic system suggests", “this set of documents are to be given equal ('tied") rankings", "do not rank this document higher than position P" for some integer P, or the like.
  • a "blender" blends the automated search results with the editor inputs for one or more editors, such as by combining the ranked list saved by the editor at the time of evaluation of the query results and the ranked automated search results, to form a final ranked list of results.
  • the blender provides an up-to-date ranked list of hits, but preserves the judgments made by the editors.
  • a querier can ensure that the results are always fresh based on automated access to the entire corpus, while at the same time taking into account the intelligent decisions made by the editors and the context in which they were made.
  • the blending process allows for useful merging of automated search results and human editor input given the context of the hits.
  • the response to the query at a later time might show Al or El as the highest ranked document, depending on the context in which the editor made the decision, such as what documents were available to the editor when the decision was made. For example, if Al was not available to the editor at the time of the editorial ranking, Al is a new document, so it is the highest ranked document as it is more up-to-date, but if the editor had already seen Al and decided that El was more relevant, then that decision overrides. [30] "Relevance" can depend on context.
  • more relevant documents are documents more likely to be of interest to a person searching the document corpus.
  • relevance might be weighted by directions from the operator of the query server, corpus or other component, such as having relevance weighted by consideration from the author of the document or by external factors such as the source of the document. For example, if a searcher presents the query "car purchasing online” the ranking might rank higher the pages from a more highly regarded merchant than from an unreliable merchant. As another example, if the presented query is "political events 'New York City' recent", articles known to be published by the New York Times might be given greater relevance even than documents with nearly identical content. [31] Referring now to the figures, an exemplary querying system will now be described. [32] Fig.
  • a querier such as a human querier 103 or a computer process querier 105
  • a search client 110 applies a query to a search client 110, which in turn provides the query to a query server 120 and receives back a result set comprising "hits" ranked by a relevance.
  • query server 120 accesses a corpus 130 and a ranking database 140 and then provides the query, and possibly all or part of the results, to a query log 170.
  • Corpus 130 might be a database, but might also be a non-database structure.
  • corpus 130 might be a large XML document.
  • Corpus 130 might include the documents themselves, or just references thereto.
  • "document” is used generally herein to refer to data that is treated as a unit for querying purposes.
  • the corpus might be all of the articles written for a collection of publications and in that example a query might be "all of the articles including the words 'fashion design' in their titles" and the results are a listing of matching articles from the corpus.
  • corpus 130 could be populated from document generators, such as an intranet document generator, another type of document generator, a document set crawler that crawls through a network space to generate a document set or a mapping to documents in the network space, an Internet crawler that crawls the Internet following hyperlinks to identify documents to be part of the corpus, a hierarchical document structure such as cornpendiums of XML structured documents, or other sources of documents or document references.
  • document generators such as an intranet document generator, another type of document generator, a document set crawler that crawls through a network space to generate a document set or a mapping to documents in the network space, an Internet crawler that crawls the Internet following hyperlinks to identify documents to be part of the corpus, a hierarchical document structure such as cornpendiums of XML structured documents, or other sources of documents or document references.
  • An automated ranker 150 generates ranking information for documents in corpus 130 or for queries from query server 120, without requiring human user intervention. In some embodiments, automated ranker 150 takes no action until a query is received and then ranks for that query, but in other embodiments, automated ranker 150 can at least preprocess documents in corpus 130 to come up with some useful ranking data that is independent of the queries received after any preprocessing steps. Ranking data is stored in ranking data storage 140, but in some embodiments, the ranking data generated by automated ranker 150 is provided to query server 120 as the ranking data is generated, which in turn might or might not be stored in storage 140 for subsequent queries.
  • a human editor ranking system 160 reads from corpus 130 and provides ranking data to be stored in ranking storage 140.
  • human editor ranking system 140 might include some automated processing steps interposed between decisions of the editors and the generation of ranking data, but essentially, there is a human component to the decisions. For example, the editor might consistently rank documents containing "tennis elbow” higher than documents containing "tennis racket” in relation to queries for "medical conditions related to sports" and the editor system might automatically lower the ranking of the "tennis racket” documents relative to the "tennis elbow” documents in relation to a query about "injuries", since the latter might be inferred as being more relevant to the query, based on the rankings provided by the human editor. In any case, the ultimate results are based on the editor's ranking.
  • a human user enters a query for "medical conditions related to sports" into search client 110. While this example is a natural language query, the system is not so limited.
  • the query is then presented to the query server, which uses it to retrieve results from corpus 130.
  • the query as entered by the user is passed to query server 120 unchanged and query server passes it to corpus 130 unchanged.
  • corpus 130 is a document database with an SQL interface and queries are written by users using SQL
  • the query can be passed directly to corpus 130.
  • search client 110 might modify the query, such as by reformatting it or enveloping it
  • query server 120 might then modify it again to reformat it for a native processing instruction set usable with corpus 130 or to optimize the query or to evaluate the query such that query server 120 need only make requests for documents from corpus 130.
  • corpus 130 can provide results to query server 120, namely the documents ("hits") responsive to the request.
  • documents beyond a limited number or below a threshold are not provided, so that query server 120, query client 110 and other components are not unduly burdened with documents of lesser interest to the user.
  • Query server 120 also obtains ranking data for the documents retrieved.
  • the ranking data can either be query specific ("For query Q, document A is more relevant than document B.") or query independent ("Document A is more relevant than document B.”). This ranking data can then either be provided to search client 110 or can be used to order the hits on a results list provided to search client 110.
  • the ranking data in storage 140 that is provided to query server 120 is typically a combination of automated ranking data and human editorial input, with the human editor input being provided prior to the receipt of a particular query and the automated ranking data being provided in real time.
  • the corpus 130 does not exist ahead of time per se, but logically represents documents elsewhere and gathers its response in real time.
  • corpus 130 might represent all documents l ⁇ iown to be present in the World Wide Web, but such documents, or lists of such documents are collected only after the query is received. It should be understood that the ranking of documents can be done in a similar fashion for different corpus embodiments.
  • the embodiment in Fig. 1 depicts the corpus and ranking data as separate components, they might be integrated into a database 200 as illustrated in Fig. 2.
  • the query server 120 presents queries to database 200 and receives responses therefrom, where the responses include the hits and ranking of the hits.
  • Automated ranker 150 and human editor ranking system 160 interact with database 200 to provide ranking data.
  • the corpus to which the queries are applied can be documents, links to documents (such as URLs), document summaries, or the like.
  • the Yahoo! directory which contains links to documents (such as home pages or other web pages) in the form of URLs and document summaries (such as short descriptions of the contents of documents or the relevance of the URLs).
  • search results of an internet search can be provided by any automated crawler, searcher or indexer, or the like, such as the search results provided by AltaVista, AOL Search, Direct Hit, Excite, Google, HotBot, Inktomi, Lycos, MSN Internet Search, Netscape Search or Web Crawler.
  • AltaVista AOL Search
  • Direct Hit Excite
  • Google HotBot
  • Inktomi Lycos
  • MSN Internet Search
  • Netscape Search Netscape Search or Web Crawler.
  • the ranking data is provided to a real-time ranking adjuster 400, along with the results that are also provided to query server 200 in response to the query.
  • the ranking data provided to adjuster 400 might, for example, be ranking determined by a search engine or other automated process either within the database or obtained from elsewhere and stored in the database.
  • Adjuster 400 operates on the data provided by the database, as well as other inputs, to produce an adjusted ranking that takes into account editor inputs. That adjusted ranking is provided to query server 120. Adjuster 400 can perform a number of analyses to adjust a ranking, such as the blending processes described below. Other inputs include an editor's results page, an editor's actions list, an editor's suggestion list, time of day, user context, ad context and the like.
  • An editor's results page might comprise a listing of search results presented to an editor at the time of an editor evaluation. This allows adjuster 400 to adjust the rankings based on what the editor saw at the time of an evaluation. For example, if an editor saw a document and did not adjust its ranking, adjuster 400 might try to have that document be in relatively the same ranking as it was in the editor's results page. However, if an editor saw the document and demoted it (reduced it in the rankings), adjuster 400 might also demote the document. Adjuster 400 has enough information to do this, because adjuster 400 is provided with the editor's action list, which might include actions on the editor's results page such as promoting a document, demoting a document, removing a document, adding a document, etc.
  • Adjuster 400 can also take into account what documents the editor considered for possible addition at the time of evaluation, since it is provided with the editor's suggestion list. For example, where a document appears on the editor's suggestion list and an editor's action indicates that a given document was added from the suggestion list into the results page with the second highest ranking and the adjuster notes that the document appears somewhere in the results provided by the database, the adjuster can promote that given page as needed so that it ranks second highest.
  • the adjuster can demote the document accordingly, including removing it from the results or demoting it sufficiently so that it is not presented to the user.
  • adjuster 400 is provided with the query that initiated the results being ranked, but adjuster 400 might instead perform ranking by analyzing the results, in effect infening the query from the results. If adjuster 400 is provided with time of day inputs, it might change the rankings accordingly. For example, in a search for documents relating to restaurants, such as restaurant home pages, documents for restaurants that do not serve breakfast might be demoted if the search is performed early in the day.
  • Adjuster 400 can also take into account user context, such as the user's specified geographic location, such as by reordering a ranking to promote documents associated with geographic locations nearest the user's specified geographic location or reordering a ranking based on the particular user's previous activities, user preferences or profile.
  • user context such as the user's specified geographic location
  • reordering a ranking to promote documents associated with geographic locations nearest the user's specified geographic location or reordering a ranking based on the particular user's previous activities, user preferences or profile.
  • Yet other contexts that might be used are previous query words issued by that user or other users, click streams on search results by that user or other users, personalized/customized search settings or the user for other purposes or for this purpose.
  • the user is informed of the inputs to the adjuster, such as an indication that the rankings were modified according to user context.
  • the user might be provided with an interface to adjust, add, modify or delete user context to provide a more relevant ranking. For example, where the user is identified as being from Sunnyvale, CA but is searching for clubs in Manhattan for a trip, the user might change his or her geographical user context so that adjuster 400 ranks clubs in New York more highly than clubs in California.
  • adjuster 400 might rank pages based on a relevance measure of the resulting hits. Thus, pages that are deemed poorly written, or contain malicious or undesired code or content, could be demoted, while pages that other pages frequently link to might be promoted.
  • adjuster 400 provides rankings to query server 120.
  • the rankings can be provided as a value associated with each of the hits on the results list, or merely an indication of how the lists should be ordered on presentation to the user. If there is a threshold, such as a limit on the number of hits or the minimum allowed ranking value, adjuster 400 could so indicate so that query server 120 can limit its response, or query server 120 could provide this step internally.
  • Fig. 5 is a block diagram of a review scheduler 500 and its interaction with some of the elements shown in system 100 shown in Fig. 1. As illustrated in Fig. 5, review scheduler 500 receives data (or otherwise obtains data, such as by a stream, polling, request/response, or the like) from query logs 170, corpus 130, ranking data storage 140 and issues new review assignments to human editor ranking system 160.
  • data or otherwise obtains data, such as by a stream, polling, request/response, or the like
  • review scheduler 500 might periodically scan query logs 170 and pick up on frequent queries, then review corpus 130 and ranking data for relevant documents to determine whether new editorial input is needed. For example, if the query logs are showing increasing activity relating to topics (such as current events) that were not previously ranked by an editor or not recently ranked by an editor, that query might be scheduled for editorial input. Where a query was previously ranked by an editor, review scheduler 500 might consider the differences between the current results of a search of corpus 130 for the query and the corresponding editor's results page (from storage 140) that was presented to the editor at the time of the last editorial review (or the last several editorial reviews).
  • topics such as current events
  • review scheduler 500 would not schedule a review. However, if there a query for which there is little match between a current results list and the most recent editor's results page and the query is frequently showing up in the query logs, review scheduler 500 would schedule that query for review.
  • nonidentical queries can be grouped. For example, a query for "fast racing cars” and “racing cars” might be considered the same query for ranking purposes. The results might or might not be the same, depending on what is returned from the corpus, but in each case the human input is the same. In other words, where an editor has reviewed search results for the query "racing cars” and provided editorial input (such as in the form of editor actions in view of an editor's results page and an editor's suggestions page), that input could be used in a nonidentical search.
  • editorial input such as in the form of editor actions in view of an editor's results page and an editor's suggestions page
  • review scheduler 500 is described as scheduling based on selected inputs, other inputs might be provided and review scheduler 500 might schedule review assignments without any inputs, such as scheduling a review for a particular set of queries on a regular periodic basis.
  • Human editor ranking system 160 can use those review assignments as the basis for what is shown to an editor and/or use other rules and methods for determining what gets reviewed and when. For example, editors themselves might decide which queries to review.
  • a set of "important q ⁇ eries" is maintained and that is the set of queries that are scheduled for editorial review.
  • human editor ranking system 160 uses specialist editors wherein particular review assignments are routed to editors based on content, which can be the content of the query, results, prior ranking data, or some - combination thereof.
  • 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.
  • client systems 602 make requests via the Internet 604.
  • the requests flow to servers 608 via an HTTP server 606, 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 608 sends the query to a query process 610, which might be an instantiation of a software object in server 608 or elsewhere, or might include hardware components.
  • the query processes 610 then obtain documents, references to documents, links, or other indications of hits, from one or more corpuses 612.
  • corpuses 612 are complete copies of the entire corpus, but in other embodiments, the corpuses 612 are subsets of the complete corpus.
  • server 608 or server process 610 can determine, from the query and possibly other information, which corpus to use. Note that in some cases, one query process 610 might access more than one corpus 612, even for a single query.
  • a parenthetical index such as 602(1) for a specific instance of a client system 602.
  • the terminal index is some unspecified number, such as "602(N1)".
  • the terminal indices are indicated with distinct variables.
  • N2 (an indeterminate number) servers and N6 (another indeterminate number) corpuses 612 implied by Fig. 6, so a one-to-one coreespondence of servers to corpuses is not required.
  • different terminal indices can have the same or different values ranging from one to numbers larger than one.
  • Real-Time Ranking Example [63] The following example illustrates a process for adjusting a ranking in real-time, as might be done by real-time ranking adjuster 400 shown in Fig. 4. While one of the inputs to the adjuster is a default ranking provided by the database, such default ranking is not required, or might be replaced with an arbitrary ordering of elements. In this example, however, an existing ranking is assumed and the function used to adjust the ranking is referred to as "blend" representing that it "blends" the results from an editor's review and from an automated system response.
  • “provider” refers to a database, search engine, etc., that returns a list of elements in response to a query.
  • the inputs to the adjuster are as shown in the command line: blend.pl -pO (1,2,3,%) -r (1,2,3,%) -pi (1,2,3,7) wherein pO is the provider's list last seen by editors, r is editor's recommendation, after seeing pO (the "viewed set") and pi is current provider's list.
  • the adjuster's output is a list of elements, in ranked order.
  • the adjuster is implemented as a PERL function "blend.pl".
  • lists can be ordered sequences of "sites” separated by commas, with each site represented by any symbol (digits, characters, strings, etc., for convenience purposes).
  • the order defines the ranking, not the symbol. For example, (5,4,3,2,1) is a list of sites where site "5" is ranked highest (#1), "4" is ranked second highest (#2), etc. [65]
  • the adjuster maintains the order of r in the output and inserts "new" entries of pi into the output; otherwise, it blends r with pi to obtain the output, taking into account pO and other history.
  • N is inserted into r in both cases. N is ranked #1 in the final list because it beat most ofthe editors' recommendations.
  • d is normalized by its maximum value, (1/2)
  • d is normalized by (1/2)
  • the core blending process blends N lists into one list, where N is two or more.
  • the ranking of each element in the final list is a function ofthe ranking of that element in the input lists.
  • the lists to be blended are: (5,4,3,2,1) and (5,4,N.3,2).
  • each node is a element in either list and there is an edge between nodes A and B if B is ranked higher or equal to A in any list.
  • the nodes are 1,2,3,4,5,N and the edges are: 4->5, 3->4, 3->5, 2->3, 2->4, 2->5, l->2, l->3, l->4, l->5, N->5, N->4, 3->N, 2->N, 5->5, 4->4, 3->3, 2->2, 1->1, N->N.
  • the graph is represented as a transition matrix:

Abstract

A search system provides search results to searchers in response to search queries and the search results are ranked. The ranking is determined by an automated ranking process in combination with human editorial input. A search system might comprise a query server for receiving a current query, a corpus of documents to which the current query is applied, ranking data storage for storing information from an editorial session involving a human editor and a reviewed query at least similar to the current query, and a rank adjuster for generating a ranking of documents returned from the corpus responsive to the current query taking into account at least the information from the editorial session.

Description

METHOD AND APPARATUS FOR SEARCH RANKING USING HUMAN INPUT AND AUTOMATED RANKING
FIELD OF THE INVENTION [01] The present invention relates to searching document sets in general and more particularly to presenting search results with rankings to further inform the searcher of the search results.
BACKGROUND OF THE INVENTION [02] Ranking is difficult to handle for large numbers of queries and/or large numbers of documents. For systems with only a few queries, preset results can be generated and for systems with only a few documents, the documents can often be ranked in a query- independent ranking, such as by date. However, for most practical systems with open-ended queries and large document sets, ranking must often be done at least in part on the fly, i.e., the ranking of a list of elements is determined and finalized only after the query that would return that list is received. This problem is particularly difficult where the document set searched is documents on the Web (i.e., the collection of documents stored on servers interconnected via the internet and referred to as the "World Wide Web"), because by some estimates, there are several billion searchable documents on the Web and a typical search might yield thousands or hundreds of thousands of documents and a typical searcher can only deal with at most a few dozen relevant references. [03] If a specific Web address for a document is lαiown, a user can supply the address (typically a URL, or Uniform Resource Locator) to a browser, which would then use its underlying protocols to quickly obtain that specific document. However, more and more typically, a user does not know exactly where the desired information is, and that is one task that ranking systems can help with. It should be understood that ranking systems do not require a network, but might be used on a single computer or computer system to rank information stored there.
[04] Generally, network nodes on the Internet that connect to other network nodes support a variety of protocols as various network levels. At the application level, many Internet nodes support HyperText Transport Protocol (HTTP) for sending and receiving hypertext pages, which might include HyperText Markup Language (HTML) pages and other data supported by devices and software that handle HTTP messages. HTTP is a client-server protocol, in that a node that acts as an HTTP client makes requests of a node that acts as an HTTP server. When an HTTP client makes a request, the request includes a Universal Resource Locator (URL) that refers to the page or data requested. The URL comprises a globally unique domain name and possibly other fields that are specific to that domain name. Thus, any HTTP client can make a request by sending the request into the network. The network will resolve the domain name and route the request to an HTTP server at the specified domain and that HTTP server will resolve the remaining fields of the URL to determine what was requested. [05] This approach works well when the HTTP client has a URL for the desired data. However, where the client or the user operating the client does not have a specific URL in mind, searching is usually done to find the resource or resources of interest. Several approaches to searching have been tried and are currently in use. One approach is the directory approach, where large numbers of URLs and references to pages are stored in a hierarchical structure and are searchable or navigable via the structure. An example of this approach is the Yahoo! directory. With the Yahoo! directory, a Yahoo! user directs a browser to a search page and submits a search from that page. The search is applied to the Yahoo! hierarchical (taxonomical) structure and results are presented to the user. The results can also include hits from a search engine searching on the terms of the search. [06] Such approaches work well to find well-categorized information and information that is not voluminous, but problems occur when the search results can fall into many different topics and/or there are a large number of documents that match the search. With the growth in content volume available over the World Wide Web (the collection of documents accessible over the Internet or similar network using HTTP or the like often including hyperlinks from document to document, thus creating a "web" structure, referred to as "the Web" for brevity), a typical search might yield far more hits than can be processed by the searcher. As a result, the hits in those cases need to be ranked. Ranking allows for the more relevant pages to be presented higher in the ranking than other pages. [07] Search ranking systems using input from users of the system are lαiown. For example, U.S. Patent No. 6,078,916 shows a search system wherein the search activity of users is monitored and that activity is used in ranking results of later searches. Thus, the more often users click on one of the hits, the higher that hit is ranked in subsequent search results.
[08] U.S. Patent No. 6,240,408 shows another approach to search results ranking. In the system shown there, a query is applied to a controlled database containing selected data and an uncontrolled database containing possibly unselected and uncontrolled data. The ranking of results in the controlled database is used to inform the ranking process of ranking results of the query of the uncontrolled database.
[09] Ranking by human editors reviewing search results provides more relevant ranking than automated processes and even search users, because human editors possess better intelligence than the best software and more clearly understand distinctions in pages, and human editors focus on areas of their expertise. For example, a human editor would more easily spot a page that is irrelevant but contains terms designed to get a high ranking from an automated process. However, human editors cannot process the volume of searches typically received by a search system and cannot keep up to date the queries they do process in view of the relevant pages that are added for consideration, modified or removed. In addition, in an open-ended query system, the number of possible queries can easily be in the millions. Even if editors concentrate only on the most common queries, the results change all the time as new data becomes available, old data becomes irrelevant, new meanings are created for old terms, or new events occur. If the results are based solely on what the human editors decided on one day, they might be stale and out of date the next day.
BRIEF SUMMARY OF THE INVENTION [10] In one embodiment, a search system returns search results ranked based on human editor input and automated results. The search system provides search results to searchers in response to search queries and the search results are ranked. The ranking is determined by an automated ranking process in combination with human editorial input. A search system might comprise a query server for receiving a current query, a corpus of documents to which the current query is applied, ranking data storage for storing information from an editorial session involving a human editor and a reviewed query at least related to the current query, and a rank adjuster for generating a ranking of documents returned from the corpus responsive to the current query taking into account at least the information from the editorial session.
[11] The search system allows search results to be informative and up-to-date, even if a human editor does not revise the editorial results as new information becomes available. 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 [12] Fig. 1 is a block diagram of a querying system according to embodiments of the present invention.
[13] Fig. 2 is a block diagram of an alternative configuration of components of the querying system shown in Fig. 1.
[14] Fig. 3 illustrates possible inputs to a corpus searched in the querying system shown in Fig. 1.
[15] Fig. 4 is a more detailed block diagram showing interactions between a database having search results and rankings, a real-time ranking adjuster and a query server. [16] Fig. 5 is a block diagram of a review scheduler and its interaction with some of the elements shown in Fig. 1.
[17] Fig. 6 is a block diagram of a networked system wherein a plurality of search clients can access a search system to apply queries to a corpus of documents.
DETAILED DESCRIPTION OF THE INVENTION [18] 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.
[19] 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 key words (e.g., searching for the latest football scores with a query "football games scores recent"), structured query statements (SQL, Boolean expressions, regular expressions, etc.), by selecting terms from choice lists, following links or a number of other methods currently in use or obvious to one of skill in the art upon review of current literature and/or the present disclosure.
[20] When a query is received by a search system, it processes the search and returns one or more "hits", where a "hit" is the atomic unit handled by the search system. For example, where the search system manages 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 atomic unit is the document. 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. Furthermore, a structured database is not required.
[21] A hit is an atomic unit that the search system identifies as matching criteria defined by the query. It should be understood that the search system need not provide all hits or only hits that match the query. 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 but are not cleared to be provided to the particular searcher, 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. [22] 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. [23] Search results are one or more hits, where each hit might be returned as an entire document, as a reference to the document, as a summary of the document' s contents, some combination thereof, or the like. Preferably, the search results are ranked in a manner apparent to the searcher. Ranking might be by order of appearance on a search results page, by numbering or lettering, by distinctive icons, or the like. If the search results include text, the ranking might be shown by differences in coloration, font, shading, formatting or the like. For automated processes, the rankings might be supplied in machine readable form not normally displayed to a human searcher, such as by XML metadata. [24] In many of the examples shown herein, the search engine searches among a set of documents for documents (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 nareowly construed. [25] As described herein, a querying system accepts queries and returns ranked results, typically in real-time or near real-time. In ranking the results, the querying system obtains automated real-time search results that have a ranking, or at least a default order. Such automated results might be results from a Web search engine, database query, or the like. [26] The querying system also obtains editor inputs for the query (or a query that is judged similar enough to the posed query) that might include 1) a list of the results that the editor viewed at the time of evaluation of the query results, 2) the changes in the ranking (promotions, demotions, deletions, insertions), 3) suggestion lists presented to the editor for use as insertions and/or other relevant or possibly relevant editor state and/or conditions. Editor state and/or conditions might include the background of the editor. Suggestion lists might include results from other search engines, important press releases or other operator key items. Thus, with suggestion lists, an editor can "merge" results from more than one search engine in a human-reviewed manner. [27] Promotions and demotions might be absolute ("Rank this document first highest:"), relative to itself ("Rank this document four positions higher than it would otherwise be."), or relative to another document ("Rank this document higher than this other document."). Other types of promotion/demotion might include "remove this document from consideration no matter what the automatic system suggests", "this set of documents are to be given equal ('tied") rankings", "do not rank this document higher than position P" for some integer P, or the like.
[28] A "blender" blends the automated search results with the editor inputs for one or more editors, such as by combining the ranked list saved by the editor at the time of evaluation of the query results and the ranked automated search results, to form a final ranked list of results. In this manner, the blender provides an up-to-date ranked list of hits, but preserves the judgments made by the editors. Using this system, a querier can ensure that the results are always fresh based on automated access to the entire corpus, while at the same time taking into account the intelligent decisions made by the editors and the context in which they were made. [29] The blending process allows for useful merging of automated search results and human editor input given the context of the hits. For example, if automated ranking software a certain document, Al, as the highest ranked document for a certain query, Q, but a human editor selects a different document, El, then the response to the query at a later time might show Al or El as the highest ranked document, depending on the context in which the editor made the decision, such as what documents were available to the editor when the decision was made. For example, if Al was not available to the editor at the time of the editorial ranking, Al is a new document, so it is the highest ranked document as it is more up-to-date, but if the editor had already seen Al and decided that El was more relevant, then that decision overrides. [30] "Relevance" can depend on context. Typically, more relevant documents are documents more likely to be of interest to a person searching the document corpus. Under some constraints, relevance might be weighted by directions from the operator of the query server, corpus or other component, such as having relevance weighted by consideration from the author of the document or by external factors such as the source of the document. For example, if a searcher presents the query "car purchasing online" the ranking might rank higher the pages from a more highly regarded merchant than from an unreliable merchant. As another example, if the presented query is "political events 'New York City' recent", articles known to be published by the New York Times might be given greater relevance even than documents with nearly identical content. [31] Referring now to the figures, an exemplary querying system will now be described. [32] Fig. 1 is a block diagram of a querying system 100 according to embodiments of the present invention. Using system 100, a querier, such as a human querier 103 or a computer process querier 105, applies a query to a search client 110, which in turn provides the query to a query server 120 and receives back a result set comprising "hits" ranked by a relevance. To generate the results of the query, query server 120 accesses a corpus 130 and a ranking database 140 and then provides the query, and possibly all or part of the results, to a query log 170.
[33] Corpus 130 might be a database, but might also be a non-database structure. For example, corpus 130 might be a large XML document. Corpus 130 might include the documents themselves, or just references thereto. As explained herein, "document" is used generally herein to refer to data that is treated as a unit for querying purposes. For example, the corpus might be all of the articles written for a collection of publications and in that example a query might be "all of the articles including the words 'fashion design' in their titles" and the results are a listing of matching articles from the corpus. As shown, corpus 130 could be populated from document generators, such as an intranet document generator, another type of document generator, a document set crawler that crawls through a network space to generate a document set or a mapping to documents in the network space, an Internet crawler that crawls the Internet following hyperlinks to identify documents to be part of the corpus, a hierarchical document structure such as cornpendiums of XML structured documents, or other sources of documents or document references.
[34] An automated ranker 150 generates ranking information for documents in corpus 130 or for queries from query server 120, without requiring human user intervention. In some embodiments, automated ranker 150 takes no action until a query is received and then ranks for that query, but in other embodiments, automated ranker 150 can at least preprocess documents in corpus 130 to come up with some useful ranking data that is independent of the queries received after any preprocessing steps. Ranking data is stored in ranking data storage 140, but in some embodiments, the ranking data generated by automated ranker 150 is provided to query server 120 as the ranking data is generated, which in turn might or might not be stored in storage 140 for subsequent queries.
[35] As shown, a human editor ranking system 160 reads from corpus 130 and provides ranking data to be stored in ranking storage 140. As explained in more detail below, human editor ranking system 140 might include some automated processing steps interposed between decisions of the editors and the generation of ranking data, but essentially, there is a human component to the decisions. For example, the editor might consistently rank documents containing "tennis elbow" higher than documents containing "tennis racket" in relation to queries for "medical conditions related to sports" and the editor system might automatically lower the ranking of the "tennis racket" documents relative to the "tennis elbow" documents in relation to a query about "injuries", since the latter might be inferred as being more relevant to the query, based on the rankings provided by the human editor. In any case, the ultimate results are based on the editor's ranking.
[36] An example of a flow through query system 100 will now be described. As an example, a human user enters a query for "medical conditions related to sports" into search client 110. While this example is a natural language query, the system is not so limited. Other types of searches might be keyword searches ("medical conditions injury sports"), proximity searches ("medical condition" within/5 sports within/5 injury"), Boolean searches ('"medical condition' AND sports AND NOT(infant OR genetic)"), segment searches ("title=' sports' AND body='medical condition'"), SQL statements, multiple-choice selections, or the like.
[37] The query is then presented to the query server, which uses it to retrieve results from corpus 130. In some embodiments, the query as entered by the user is passed to query server 120 unchanged and query server passes it to corpus 130 unchanged. For example, where corpus 130 is a document database with an SQL interface and queries are written by users using SQL, the query can be passed directly to corpus 130. In other embodiments, however, search client 110 might modify the query, such as by reformatting it or enveloping it, query server 120 might then modify it again to reformat it for a native processing instruction set usable with corpus 130 or to optimize the query or to evaluate the query such that query server 120 need only make requests for documents from corpus 130.
[38] In any case, when query server 120 presents corpus 130 with a query or a request for documents, or the like, corpus 130 can provide results to query server 120, namely the documents ("hits") responsive to the request. In some embodiments, documents beyond a limited number or below a threshold are not provided, so that query server 120, query client 110 and other components are not unduly burdened with documents of lesser interest to the user.
[39] Query server 120 also obtains ranking data for the documents retrieved. The ranking data can either be query specific ("For query Q, document A is more relevant than document B.") or query independent ("Document A is more relevant than document B."). This ranking data can then either be provided to search client 110 or can be used to order the hits on a results list provided to search client 110.
[40] The ranking data in storage 140 that is provided to query server 120, as is explained below in more detail, is typically a combination of automated ranking data and human editorial input, with the human editor input being provided prior to the receipt of a particular query and the automated ranking data being provided in real time. In some cases, the corpus 130 does not exist ahead of time per se, but logically represents documents elsewhere and gathers its response in real time. For example, corpus 130 might represent all documents lαiown to be present in the World Wide Web, but such documents, or lists of such documents are collected only after the query is received. It should be understood that the ranking of documents can be done in a similar fashion for different corpus embodiments.
[4.1] 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.
[42] While the embodiment in Fig. 1 depicts the corpus and ranking data as separate components, they might be integrated into a database 200 as illustrated in Fig. 2. In such an embodiment, the query server 120 presents queries to database 200 and receives responses therefrom, where the responses include the hits and ranking of the hits. Automated ranker 150 and human editor ranking system 160 interact with database 200 to provide ranking data. [43] As explained above and illustrated in Fig. 3, the corpus to which the queries are applied can be documents, links to documents (such as URLs), document summaries, or the like. But one example is the Yahoo! directory, which contains links to documents (such as home pages or other web pages) in the form of URLs and document summaries (such as short descriptions of the contents of documents or the relevance of the URLs). Another example is an Internet crawler, where the corpus is typically represented as an index of searched URLs. Of course, the search results of an internet search can be provided by any automated crawler, searcher or indexer, or the like, such as the search results provided by AltaVista, AOL Search, Direct Hit, Excite, Google, HotBot, Inktomi, Lycos, MSN Internet Search, Netscape Search or Web Crawler. [44] Referring now to Fig. 4, there is shown a variation of the system shown in part in Fig. 2 (and usable with components of system 100 shown in Fig. 1). In this variation, query server 200 presents a query to a database, which returns results (a list of hits), with ranking data stored in the database. The ranking data is provided to a real-time ranking adjuster 400, along with the results that are also provided to query server 200 in response to the query. The ranking data provided to adjuster 400 might, for example, be ranking determined by a search engine or other automated process either within the database or obtained from elsewhere and stored in the database.
[45] Adjuster 400 operates on the data provided by the database, as well as other inputs, to produce an adjusted ranking that takes into account editor inputs. That adjusted ranking is provided to query server 120. Adjuster 400 can perform a number of analyses to adjust a ranking, such as the blending processes described below. Other inputs include an editor's results page, an editor's actions list, an editor's suggestion list, time of day, user context, ad context and the like.
[46] An editor's results page might comprise a listing of search results presented to an editor at the time of an editor evaluation. This allows adjuster 400 to adjust the rankings based on what the editor saw at the time of an evaluation. For example, if an editor saw a document and did not adjust its ranking, adjuster 400 might try to have that document be in relatively the same ranking as it was in the editor's results page. However, if an editor saw the document and demoted it (reduced it in the rankings), adjuster 400 might also demote the document. Adjuster 400 has enough information to do this, because adjuster 400 is provided with the editor's action list, which might include actions on the editor's results page such as promoting a document, demoting a document, removing a document, adding a document, etc. [47] Adding a document might have been done by the editor selecting a document from a suggested document list and "adding" it to the editor's results page with some relative ranking. Adjuster 400 can also take into account what documents the editor considered for possible addition at the time of evaluation, since it is provided with the editor's suggestion list. For example, where a document appears on the editor's suggestion list and an editor's action indicates that a given document was added from the suggestion list into the results page with the second highest ranking and the adjuster notes that the document appears somewhere in the results provided by the database, the adjuster can promote that given page as needed so that it ranks second highest. On the other hand, if the adjuster notes that the editor's results page does not include a document and that document was on the editor's suggestion page, but the document then shows up in the results provided by the database, the adjuster can demote the document accordingly, including removing it from the results or demoting it sufficiently so that it is not presented to the user.
[48] As explained above, ranking might be tuned with a threshold, so that documents ranked below the threshold are dropped from the results somewhere along the way to the user or moved to a page that is not presented to the user unless the user requests lower ranked documents. [49] Preferably, adjuster 400 is provided with the query that initiated the results being ranked, but adjuster 400 might instead perform ranking by analyzing the results, in effect infening the query from the results. If adjuster 400 is provided with time of day inputs, it might change the rankings accordingly. For example, in a search for documents relating to restaurants, such as restaurant home pages, documents for restaurants that do not serve breakfast might be demoted if the search is performed early in the day.
[50] Adjuster 400 can also take into account user context, such as the user's specified geographic location, such as by reordering a ranking to promote documents associated with geographic locations nearest the user's specified geographic location or reordering a ranking based on the particular user's previous activities, user preferences or profile. Yet other contexts that might be used are previous query words issued by that user or other users, click streams on search results by that user or other users, personalized/customized search settings or the user for other purposes or for this purpose.
[51] Preferably, the user is informed of the inputs to the adjuster, such as an indication that the rankings were modified according to user context. In some embodiments, the user might be provided with an interface to adjust, add, modify or delete user context to provide a more relevant ranking. For example, where the user is identified as being from Sunnyvale, CA but is searching for clubs in Manhattan for a trip, the user might change his or her geographical user context so that adjuster 400 ranks clubs in New York more highly than clubs in California.
[52] Other considerations taken into account by adjuster 400 might be internal considerations that do not require inputs other than what is already supplied. For example, adjuster 400 might rank pages based on a relevance measure of the resulting hits. Thus, pages that are deemed poorly written, or contain malicious or undesired code or content, could be demoted, while pages that other pages frequently link to might be promoted.
[53] Once all the various inputs are taken into account, adjuster 400 provides rankings to query server 120. The rankings can be provided as a value associated with each of the hits on the results list, or merely an indication of how the lists should be ordered on presentation to the user. If there is a threshold, such as a limit on the number of hits or the minimum allowed ranking value, adjuster 400 could so indicate so that query server 120 can limit its response, or query server 120 could provide this step internally.
[54] Fig. 5 is a block diagram of a review scheduler 500 and its interaction with some of the elements shown in system 100 shown in Fig. 1. As illustrated in Fig. 5, review scheduler 500 receives data (or otherwise obtains data, such as by a stream, polling, request/response, or the like) from query logs 170, corpus 130, ranking data storage 140 and issues new review assignments to human editor ranking system 160.
[55] In an example of an operation, review scheduler 500 might periodically scan query logs 170 and pick up on frequent queries, then review corpus 130 and ranking data for relevant documents to determine whether new editorial input is needed. For example, if the query logs are showing increasing activity relating to topics (such as current events) that were not previously ranked by an editor or not recently ranked by an editor, that query might be scheduled for editorial input. Where a query was previously ranked by an editor, review scheduler 500 might consider the differences between the current results of a search of corpus 130 for the query and the corresponding editor's results page (from storage 140) that was presented to the editor at the time of the last editorial review (or the last several editorial reviews). If they are substantially the same, indicating that no significant changes occurred in the corpus relating to that query between the time of the editorial review and the present inquiry, review scheduler 500 would not schedule a review. However, if there a query for which there is little match between a current results list and the most recent editor's results page and the query is frequently showing up in the query logs, review scheduler 500 would schedule that query for review.
[56] In assessing queries, nonidentical queries can be grouped. For example, a query for "fast racing cars" and "racing cars" might be considered the same query for ranking purposes. The results might or might not be the same, depending on what is returned from the corpus, but in each case the human input is the same. In other words, where an editor has reviewed search results for the query "racing cars" and provided editorial input (such as in the form of editor actions in view of an editor's results page and an editor's suggestions page), that input could be used in a nonidentical search. [57] Thus, when a user searches for "fast racing cars", assuming that there is editorial input for a "racing cars" query, but not for a "fast racing cars" query, the approximate equivalence of the queries is noted and an adjuster uses an automated ranker's results for the "fast racing cars" query and adjusts the rankings using the human editor's inputs for the "racing cars" query. Alternatively, once the approximate equivalence of the queries is noted, the automated ranker might use the "racing cars" query instead and the adjustment would occur with those two inputs. Other, well-known automatic approaches to generating equivalence classes for queries might be used, such as by textual relation, by semantic relation, by user context relation (i.e., knowledge that when any user searches for "A" often also searches for "B", and/or by results relation (intersection of results), hi addition to automatically grouping different queries together for "equivalence", manual methods of specifying when queries are to be grouped might also be used.
[58] While review scheduler 500 is described as scheduling based on selected inputs, other inputs might be provided and review scheduler 500 might schedule review assignments without any inputs, such as scheduling a review for a particular set of queries on a regular periodic basis. Human editor ranking system 160 can use those review assignments as the basis for what is shown to an editor and/or use other rules and methods for determining what gets reviewed and when. For example, editors themselves might decide which queries to review. [59] In some embodiments, a set of "important qμeries" is maintained and that is the set of queries that are scheduled for editorial review. In some embodiments, human editor ranking system 160 uses specialist editors wherein particular review assignments are routed to editors based on content, which can be the content of the query, results, prior ranking data, or some - combination thereof. [60] 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 602 make requests via the Internet 604. The requests flow to servers 608 via an HTTP server 606, 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 608 sends the query to a query process 610, which might be an instantiation of a software object in server 608 or elsewhere, or might include hardware components. The query processes 610 then obtain documents, references to documents, links, or other indications of hits, from one or more corpuses 612. [61] In some embodiments, corpuses 612 are complete copies of the entire corpus, but in other embodiments, the corpuses 612 are subsets of the complete corpus. In the latter case, server 608 or server process 610 can determine, from the query and possibly other information, which corpus to use. Note that in some cases, one query process 610 might access more than one corpus 612, even for a single query. [62] In Fig. 6, multiple instances of objects are differentiated by a parenthetical index, such as 602(1) for a specific instance of a client system 602. 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 680 and three corpuses 612 are shown in Fig. 6, there are N2 (an indeterminate number) servers and N6 (another indeterminate number) corpuses 612 implied by Fig. 6, so a one-to-one coreespondence 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. Real-Time Ranking Example [63] The following example illustrates a process for adjusting a ranking in real-time, as might be done by real-time ranking adjuster 400 shown in Fig. 4. While one of the inputs to the adjuster is a default ranking provided by the database, such default ranking is not required, or might be replaced with an arbitrary ordering of elements. In this example, however, an existing ranking is assumed and the function used to adjust the ranking is referred to as "blend" representing that it "blends" the results from an editor's review and from an automated system response.
[64] As used below, "provider" refers to a database, search engine, etc., that returns a list of elements in response to a query. The inputs to the adjuster are as shown in the command line: blend.pl -pO (1,2,3,...) -r (1,2,3,...) -pi (1,2,3,...) wherein pO is the provider's list last seen by editors, r is editor's recommendation, after seeing pO (the "viewed set") and pi is current provider's list. The adjuster's output is a list of elements, in ranked order. In this example, the adjuster is implemented as a PERL function "blend.pl". In these examples, lists can be ordered sequences of "sites" separated by commas, with each site represented by any symbol (digits, characters, strings, etc., for convenience purposes). The order defines the ranking, not the symbol. For example, (5,4,3,2,1) is a list of sites where site "5" is ranked highest (#1), "4" is ranked second highest (#2), etc. [65] The overview ofthe process performed by the adjuster will now be described. If there is a substantial difference between pi and pO, the adjuster maintains the order of r in the output and inserts "new" entries of pi into the output; otherwise, it blends r with pi to obtain the output, taking into account pO and other history. [66] Determining a "new" entry in pi is not necessarily straightforward. Roughly speaking, it is a site in the latest provider's list that the editor was unaware of. Thus, it is important to consider what the editors have seen and for editors to denote what they have seen and/or considered in the editor's tool. The process might be performed differently depending on the case, as the examples below show. Case 1 : New kids in the block [67] First consider a pO that is close to pi, who has a new site N: blend.pl -pO "(1,2,3,4,5)" -r "(2,3,5,4,1)" -pi "(1,2,N,3,4)" 2 3 5 N 4 1 blend.pl -pO "(1,2,3,4,5)" -r "(2,3,5,4,1)" -pi "(N,2,5,3,4)" N 2 3 5 4 1
[68] Note that N is inserted into r in both cases. N is ranked #1 in the final list because it beat most ofthe editors' recommendations.
[69] Now, consider pO distant from pi : blend.pl -pO "(1,2,3,4,5)" -r "(5,4,3,2,1)" -pi "(5,4,N,3,2)"
5 4 N 3 2 1 blend.pl -pO "(1,2,3,4,5)" -r "(3,1,5,4,2)" -pi "(N,5,4,3,l)"
N 3 5 1 4 2
[70] Notice that both r and pi are blended to form the two outputs. Now, adding a new kid A into editor's recommendation: blend.pl -pO "(1,2,3,4,5)" -r "(A,l,5,4,2)" -pi "(N,5,4,3,2)" ANI 542
[71] Element "3" is left out ofthe final blend because it was deliberately removed by the editors. Case 2: Lots of new kids in the block
[72] The next two cases have several new sites in r and pi, who are naturally very distant from each other: blend.pl -pO "(1,2,3,4,5)" -r "(3,1,5,A,B)" -pi "(N,M,3,0,P,1,2,4,5)" NM30P15AB blend.pl -pO "(1,2,3,4,5)" -r "(3,5,A,B,C,D)" -pi "(5,X,4,Y,1,Z,2)" 35XAYBCZD
[73] Note the blending and that the unrecommended sites seen by the editors are left out (2 and 4 in the first, and 1, 2 and 4 in the second). What follows is a case where pO and pi are not so distant: blend.pl -pO "(1,2,3,4,5)" -r "(3,5,A,B,C,D)" -pi "(1,2,3,4,5,X,Y)" 35ABCXDY [74] Here, X and Y are simply inserted into the editors' recommended list. Now, consider demotions. Assume that editors decided to demote N and O: blend.pl -pO "(1,2,3,4,5)" -r "(3,5,A,1,B)" -pi "(1,N,2,M,0)" -x "(N,0)" 35 IAMB [75] We blend r with pl but leave out N, 0, and 2. This could also apply to suggestions that have been seen by editors but deliberately not added to the recommended list.
Case 3: Extremes
[76] Consider the extremes: blend.pl -pO "(1,2,3,4,5)" -r "(1,2,3,4,5)" -pl "(A,B,C,D,E)" 1AB2C3D4E5- blend.pl -pO "(1,2,3,4,5)" -r "(1,2,3,4,5)" -pl "(A,B,C,D,E)" -x "(A,B,C,D,E)"
12345 blend.pl -pO "(1,2,3,4,5)" -r "(A,B,C,D,E)" -pl "(1,2,3,4,5)"
ABCDE
Case 4: Old kids in the block
[77] Where pl is a permutation of r, the output is the editors' list itself: blend.pl -pO "(1,2,3,4,5)" -r "(2,3,5,4,1)" -pl "(1,5,3,2,4)"
23541 blend.pl -pO "(1,2,3,4,5)" -r "(2,3,5,4,1)" -pl "(1,3,5,2,4)" 2 3 5 4 1
Distance Functions [78] The distance function used in examples above can be a sum over all elements ofthe absolute difference between the rank of an element according to the two lists: d(p0, pl) = sum of abs( pθ(i) - pl(i) ) over all elements i in S, where S = elements of pO = elements of pl
In that expression, the term d is normalized by its maximum value, (1/2) |S|Λ2. Some adaptation might be required for the case where sizeof(p0) != sizeof(pl) and S = pO U pl .
[79] Another function could be used that counts the number of pairwise disagreements between two lists: d(p0, pl) = I {(i ,j) in S: i!=j, pθ(i) < pO(j) but pl(i) > pl(j)} |
In that expression, d is normalized by (1/2) |S|*(|S|-1). [80] No fixed threshold is needed to determine whether two lists are too far apart. Instead, the threshold can be a function ofthe size of S.
Core Blending Process
[81] The core blending process blends N lists into one list, where N is two or more. The ranking of each element in the final list is a function ofthe ranking of that element in the input lists. In the above example, N=2 and the pair of lists being blended are r and pl. By way of example to explain a core blending process, assume the lists to be blended are: (5,4,3,2,1) and (5,4,N.3,2).
[82] We construct a directed graph (not acyclic) where each node is a element in either list and there is an edge between nodes A and B if B is ranked higher or equal to A in any list. For example, the nodes are 1,2,3,4,5,N and the edges are: 4->5, 3->4, 3->5, 2->3, 2->4, 2->5, l->2, l->3, l->4, l->5, N->5, N->4, 3->N, 2->N, 5->5, 4->4, 3->3, 2->2, 1->1, N->N.
Notice that there is an edge from any node to itself.
[83] Note that higher ranked elements in the final list have nodes with more incoming edges and fewer outgoing edges than those of lower ranked elements. To obtain this ordering, we can use Markov Chains (MC), a well-known technique in mathematics. An MC process is based on the following question (in the context of our graph): What is the probability of going from node A to B given an edge A->B? Given an initial probability distribution over the nodes (i.e., of being equally likely to start on any node), an MC method will give the final probability distribution after taking a random walk in the graph. In other words, assume as one starts on one node and flips a coin to decide which node to go next.
After doing this many times, determine the probability of ending up in a given node.
[84] The graph is represented as a transition matrix:
M = 0.200 0.200 0.200 0.200 0.200 0.000
0.000 0.200 0.200 0.200 0.200 0.200 0.000 0.000 0.250 0.250 0.250 0.250 0.000 0.000 0.000 0.500 0.500 0.000 0.000 0.000 0.000 0.000 1.000 0.000 0.000 0.000 0.000 0.333 0.333 0.333 keys = 1 2 3 4 5 N
[85] By multiplying an initial state vector with the matrix M "enough" times (which simulates a random walk), the final state vector is: x = 0.001 0.005 0.017 0.152 0.780 0.044
[86] The ordering of this vector is precisely the ordering ofthe blended list: 5 4 N 3 2 1. [87] This process is not only useful for blending two lists, but also for inserting certain elements of one list into another. The relative ranking of these elements in the blended list is used to determine where they should be inserted, as illustrated by the following example: blend.pl -pO "(1,2,3,4,5)" -r "(3,5,A,B,C)" -pl "(1,2,X,4,T)" -g
0RDER= 3 1 2 5 X A 4 B T C STRENGTH = 0.405 0.405 0.071 0.071 0.018 0.018 0.005 0.005 0.001 0.001
[88] The blended order suggests a position for the new elements X and T relative to their corresponding nearest neighbors: X should be between 5 and A, and T should be between B and C. To break ties, the process considers the difference between the values: it is clear that X should follow 5 rather than precede A, since the difference between 5 and X is 0.053 whereas the difference between X and A is less than 0.001. As such, the process returns spits out rules are used as guidelines for inserting X and T into the editor's recommendation list, as follows:
RULES:
X FOLLOWS 5 T FOLLOWS B
SUGG ORDER = 3 5 X A B T C [89] [90] 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

WHAT IS CLAIMED IS:
1. A search system, wherein search results are provided to searchers in response to search queries, comprising: a query server for receiving a current query; a corpus of documents to which the current query is applied; ranking data storage for storing information from an editorial session involving a human editor and a reviewed query at least similar to the current query; and a rank adjuster for generating a ranking of documents returned from the corpus responsive to the current query taking into account at least the information from the editorial session.
2. The search system of claim 1, wherein the corpus of documents are documents available on the World Wide Web.
3. The search system of claim 1, wherein the corpus of documents are Web pages.
4. The search system of claim 1, wherein the information from an editorial session comprises one or more of indications of documents presented to the human editor, indications of ranking changes applied by the human editor during the editorial session and indications of documents from a suggestion list presented to the human editor.
5. The search system of claim 4, wherein the indications of ranking changes applied by the human editor during the editorial session include one or more of promotions, relative promotions, demotions, relative demotions, insertions and deletions.
6. The search system of claim 1, wherein the rank adjuster also takes into account one or more of user context, advertising context and time of day.
7. The search system of claim 1, wherein ranking ofthe search results is perceptible by an ordering ofthe documents, or representations of documents, returned from the corpus.
8. A method of generating search results in response to a search query, wherein search results comprise at least a listing of items from a corpus that are responsive to the search query and an indication, for at least some ofthe items, a ranking among the items, the method comprising: receiving a current query; applying the current query to the corpus upon receiving the current query; obtaining search results responsive to the current query; obtaining an automated ranking of items in the search results; obtaining human editorial ranking of items from stored editorial data for an editor context related to a reviewed query, the reviewed query being at least related to the current query, wherein the stored editorial data represents ranking decisions made by a human editor in one or more editorial sessions in the editor context; adjusting the automated ranking of items in the search results based on the human editorial ranking to form an adjusted ranking of items in the search results; and providing the adjusted ranking of items in response to the crarent query.
9. The method of claim 8, wherein the step of responding occurs soon enough after the receiving step to be perceived as happening in substantially real-time.
10. The method of claim 8, wherein the reviewed query and current query are identical.
11. The method of claim 8, wherein the reviewed query and current query are similar.
12. The method of claim 8, wherein the corpus comprises Web pages.
13. The method of claim 8, wherein the step of adjusting comprises inserting items in the search results other than those returned in response to querying the corpus.
14. The method of claim 8, wherein the step of adjusting comprises deleting items from the search results returned in response to querying the corpus.
15. The method of claim 8, wherein the step of adjusting comprises reordering items in the search results returned in response to querying the corpus.
16. The method of claim 8, wherein the editorial data comprises one or more of indications of documents presented to the human editor, indications of ranldng changes applied by the human editor during the editorial session and indications of documents from a suggestion list presented to the human editor.
17. The method of claim 16, wherein the indications of ranking changes applied by the human editor during the editorial session include one or more of promotions, relative promotions, demotions, relative demotions, insertions and deletions.
18. The method of claim 8, wherein the step of adjusting takes into account one or more of user context, advertising context and time of day.
PCT/US2003/023767 2002-08-05 2003-07-30 Method and apparatus for search ranking using human input and automated ranking WO2004013726A2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU2003254264A AU2003254264A1 (en) 2002-08-05 2003-07-30 Method and apparatus for search ranking using human input and automated ranking

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/213,353 2002-08-05
US10/213,353 US7599911B2 (en) 2002-08-05 2002-08-05 Method and apparatus for search ranking using human input and automated ranking

Publications (2)

Publication Number Publication Date
WO2004013726A2 true WO2004013726A2 (en) 2004-02-12
WO2004013726A3 WO2004013726A3 (en) 2004-04-15

Family

ID=31187870

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2003/023767 WO2004013726A2 (en) 2002-08-05 2003-07-30 Method and apparatus for search ranking using human input and automated ranking

Country Status (4)

Country Link
US (1) US7599911B2 (en)
AU (1) AU2003254264A1 (en)
TW (1) TWI331719B (en)
WO (1) WO2004013726A2 (en)

Families Citing this family (206)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8271316B2 (en) * 1999-12-17 2012-09-18 Buzzmetrics Ltd Consumer to business data capturing system
US7197470B1 (en) 2000-10-11 2007-03-27 Buzzmetrics, Ltd. System and method for collection analysis of electronic discussion methods
US8590013B2 (en) 2002-02-25 2013-11-19 C. S. Lee Crawford Method of managing and communicating data pertaining to software applications for processor-based devices comprising wireless communication circuitry
US7949648B2 (en) * 2002-02-26 2011-05-24 Soren Alain Mortensen Compiling and accessing subject-specific information from a computer network
US7716207B2 (en) * 2002-02-26 2010-05-11 Odom Paul S Search engine methods and systems for displaying relevant topics
US20060004732A1 (en) * 2002-02-26 2006-01-05 Odom Paul S Search engine methods and systems for generating relevant search results and advertisements
JP2003330948A (en) * 2002-03-06 2003-11-21 Fujitsu Ltd Device and method for evaluating web page
US7743045B2 (en) * 2005-08-10 2010-06-22 Google Inc. Detecting spam related and biased contexts for programmable search engines
US7716199B2 (en) 2005-08-10 2010-05-11 Google Inc. Aggregating context data for programmable search engines
US7693830B2 (en) 2005-08-10 2010-04-06 Google Inc. Programmable search engine
WO2004099900A2 (en) * 2002-12-20 2004-11-18 Banker Shailen V Linked information system
AU2004220880B2 (en) * 2003-03-18 2010-09-23 Nokia Corporation Corpus clustering, confidence refinement, and ranking for geographic text search and information retrieval
US7216123B2 (en) * 2003-03-28 2007-05-08 Board Of Trustees Of The Leland Stanford Junior University Methods for ranking nodes in large directed graphs
US7028029B2 (en) * 2003-03-28 2006-04-11 Google Inc. Adaptive computation of ranking
US7403939B1 (en) 2003-05-30 2008-07-22 Aol Llc Resolving queries based on automatic determination of requestor geographic location
US7836391B2 (en) * 2003-06-10 2010-11-16 Google Inc. Document search engine including highlighting of confident results
US7401072B2 (en) * 2003-06-10 2008-07-15 Google Inc. Named URL entry
US8321278B2 (en) * 2003-09-30 2012-11-27 Google Inc. Targeted advertisements based on user profiles and page profile
US7346839B2 (en) * 2003-09-30 2008-03-18 Google Inc. Information retrieval based on historical data
US20050222989A1 (en) * 2003-09-30 2005-10-06 Taher Haveliwala Results based personalization of advertisements in a search engine
US8676790B1 (en) * 2003-12-05 2014-03-18 Google Inc. Methods and systems for improving search rankings using advertising data
US7302645B1 (en) 2003-12-10 2007-11-27 Google Inc. Methods and systems for identifying manipulated articles
US7725414B2 (en) 2004-03-16 2010-05-25 Buzzmetrics, Ltd An Israel Corporation Method for developing a classifier for classifying communications
US7716223B2 (en) 2004-03-29 2010-05-11 Google Inc. Variable personalization of search results in a search engine
US20050256848A1 (en) * 2004-05-13 2005-11-17 International Business Machines Corporation System and method for user rank search
US7565630B1 (en) 2004-06-15 2009-07-21 Google Inc. Customization of search results for search queries received from third party sites
US7725463B2 (en) * 2004-06-30 2010-05-25 Microsoft Corporation System and method for generating normalized relevance measure for analysis of search results
US7562069B1 (en) 2004-07-01 2009-07-14 Aol Llc Query disambiguation
EP1810222A4 (en) * 2004-08-18 2009-05-06 Exbiblio Bv Methods, systems and computer program products for data gathering in a digital and hard copy document environment
US7340672B2 (en) * 2004-09-20 2008-03-04 Intel Corporation Providing data integrity for data streams
US7606793B2 (en) * 2004-09-27 2009-10-20 Microsoft Corporation System and method for scoping searches using index keys
US7523085B2 (en) 2004-09-30 2009-04-21 Buzzmetrics, Ltd An Israel Corporation Topical sentiments in electronically stored communications
US8799107B1 (en) 2004-09-30 2014-08-05 Google Inc. Systems and methods for scoring documents
US8051096B1 (en) 2004-09-30 2011-11-01 Google Inc. Methods and systems for augmenting a token lexicon
US20060123478A1 (en) * 2004-12-02 2006-06-08 Microsoft Corporation Phishing detection, prevention, and notification
US7634810B2 (en) * 2004-12-02 2009-12-15 Microsoft Corporation Phishing detection, prevention, and notification
US7818314B2 (en) 2004-12-29 2010-10-19 Aol Inc. Search fusion
US7272597B2 (en) 2004-12-29 2007-09-18 Aol Llc Domain expert search
US7349896B2 (en) 2004-12-29 2008-03-25 Aol Llc Query routing
US7571157B2 (en) 2004-12-29 2009-08-04 Aol Llc Filtering search results
US9092523B2 (en) 2005-02-28 2015-07-28 Search Engine Technologies, Llc Methods of and systems for searching by incorporating user-entered information
US20060200461A1 (en) * 2005-03-01 2006-09-07 Lucas Marshall D Process for identifying weighted contextural relationships between unrelated documents
US8768766B2 (en) * 2005-03-07 2014-07-01 Turn Inc. Enhanced online advertising system
JP5632124B2 (en) 2005-03-18 2014-11-26 サーチ エンジン テクノロジーズ リミテッド ライアビリティ カンパニー Rating method, search result sorting method, rating system, and search result sorting system
US20060241911A1 (en) * 2005-04-20 2006-10-26 Leong Kian F Systems and methods for aggregating telephony and internet data
EP1732013A1 (en) * 2005-06-06 2006-12-13 Deutsche Thomson-Brandt Gmbh Method and device for searching a data unit in a database
US9158855B2 (en) 2005-06-16 2015-10-13 Buzzmetrics, Ltd Extracting structured data from weblogs
US9715542B2 (en) 2005-08-03 2017-07-25 Search Engine Technologies, Llc Systems for and methods of finding relevant documents by analyzing tags
US20070100779A1 (en) * 2005-08-05 2007-05-03 Ori Levy Method and system for extracting web data
US7599917B2 (en) * 2005-08-15 2009-10-06 Microsoft Corporation Ranking search results using biased click distance
WO2007029144A1 (en) 2005-09-05 2007-03-15 Koninklijke Philips Electronics N.V. Physically locating content in a network
US9058406B2 (en) 2005-09-14 2015-06-16 Millennial Media, Inc. Management of multiple advertising inventories using a monetization platform
US7548915B2 (en) * 2005-09-14 2009-06-16 Jorey Ramer Contextual mobile content placement on a mobile communication facility
US20070288427A1 (en) * 2005-09-14 2007-12-13 Jorey Ramer Mobile pay-per-call campaign creation
US20070118533A1 (en) * 2005-09-14 2007-05-24 Jorey Ramer On-off handset search box
US8156128B2 (en) * 2005-09-14 2012-04-10 Jumptap, Inc. Contextual mobile content placement on a mobile communication facility
US20080242279A1 (en) * 2005-09-14 2008-10-02 Jorey Ramer Behavior-based mobile content placement on a mobile communication facility
US8302030B2 (en) 2005-09-14 2012-10-30 Jumptap, Inc. Management of multiple advertising inventories using a monetization platform
US7769764B2 (en) 2005-09-14 2010-08-03 Jumptap, Inc. Mobile advertisement syndication
US8819659B2 (en) 2005-09-14 2014-08-26 Millennial Media, Inc. Mobile search service instant activation
US20070168354A1 (en) * 2005-11-01 2007-07-19 Jorey Ramer Combined algorithmic and editorial-reviewed mobile content search results
US20070073718A1 (en) * 2005-09-14 2007-03-29 Jorey Ramer Mobile search service instant activation
US7860871B2 (en) 2005-09-14 2010-12-28 Jumptap, Inc. User history influenced search results
US20070192318A1 (en) * 2005-09-14 2007-08-16 Jorey Ramer Creation of a mobile search suggestion dictionary
US7676394B2 (en) 2005-09-14 2010-03-09 Jumptap, Inc. Dynamic bidding and expected value
US8660891B2 (en) 2005-11-01 2014-02-25 Millennial Media Interactive mobile advertisement banners
US7660581B2 (en) * 2005-09-14 2010-02-09 Jumptap, Inc. Managing sponsored content based on usage history
US8532633B2 (en) 2005-09-14 2013-09-10 Jumptap, Inc. System for targeting advertising content to a plurality of mobile communication facilities
US8989718B2 (en) * 2005-09-14 2015-03-24 Millennial Media, Inc. Idle screen advertising
US20070061211A1 (en) * 2005-09-14 2007-03-15 Jorey Ramer Preventing mobile communication facility click fraud
US9201979B2 (en) 2005-09-14 2015-12-01 Millennial Media, Inc. Syndication of a behavioral profile associated with an availability condition using a monetization platform
US9703892B2 (en) 2005-09-14 2017-07-11 Millennial Media Llc Predictive text completion for a mobile communication facility
US8364540B2 (en) 2005-09-14 2013-01-29 Jumptap, Inc. Contextual targeting of content using a monetization platform
US8238888B2 (en) 2006-09-13 2012-08-07 Jumptap, Inc. Methods and systems for mobile coupon placement
US20070073722A1 (en) * 2005-09-14 2007-03-29 Jorey Ramer Calculation and presentation of mobile content expected value
US20080214154A1 (en) * 2005-11-01 2008-09-04 Jorey Ramer Associating mobile and non mobile web content
US8229914B2 (en) 2005-09-14 2012-07-24 Jumptap, Inc. Mobile content spidering and compatibility determination
US20070060109A1 (en) * 2005-09-14 2007-03-15 Jorey Ramer Managing sponsored content based on user characteristics
US8290810B2 (en) * 2005-09-14 2012-10-16 Jumptap, Inc. Realtime surveying within mobile sponsored content
US20070073719A1 (en) * 2005-09-14 2007-03-29 Jorey Ramer Physical navigation of a mobile search application
US8209344B2 (en) 2005-09-14 2012-06-26 Jumptap, Inc. Embedding sponsored content in mobile applications
US20080214151A1 (en) * 2005-09-14 2008-09-04 Jorey Ramer Methods and systems for mobile coupon placement
US20070239724A1 (en) * 2005-09-14 2007-10-11 Jorey Ramer Mobile search services related to direct identifiers
US8311888B2 (en) 2005-09-14 2012-11-13 Jumptap, Inc. Revenue models associated with syndication of a behavioral profile using a monetization platform
US20070060114A1 (en) * 2005-09-14 2007-03-15 Jorey Ramer Predictive text completion for a mobile communication facility
US20070073717A1 (en) * 2005-09-14 2007-03-29 Jorey Ramer Mobile comparison shopping
US7702318B2 (en) 2005-09-14 2010-04-20 Jumptap, Inc. Presentation of sponsored content based on mobile transaction event
US10911894B2 (en) 2005-09-14 2021-02-02 Verizon Media Inc. Use of dynamic content generation parameters based on previous performance of those parameters
US8832100B2 (en) 2005-09-14 2014-09-09 Millennial Media, Inc. User transaction history influenced search results
US7752209B2 (en) 2005-09-14 2010-07-06 Jumptap, Inc. Presenting sponsored content on a mobile communication facility
US20070100652A1 (en) * 2005-11-01 2007-05-03 Jorey Ramer Mobile pay per call
US20070100805A1 (en) * 2005-09-14 2007-05-03 Jorey Ramer Mobile content cross-inventory yield optimization
US9471925B2 (en) 2005-09-14 2016-10-18 Millennial Media Llc Increasing mobile interactivity
US8195133B2 (en) 2005-09-14 2012-06-05 Jumptap, Inc. Mobile dynamic advertisement creation and placement
US9076175B2 (en) * 2005-09-14 2015-07-07 Millennial Media, Inc. Mobile comparison shopping
US7577665B2 (en) 2005-09-14 2009-08-18 Jumptap, Inc. User characteristic influenced search results
US8666376B2 (en) * 2005-09-14 2014-03-04 Millennial Media Location based mobile shopping affinity program
US20070100653A1 (en) * 2005-11-01 2007-05-03 Jorey Ramer Mobile website analyzer
US8805339B2 (en) 2005-09-14 2014-08-12 Millennial Media, Inc. Categorization of a mobile user profile based on browse and viewing behavior
US20110143731A1 (en) * 2005-09-14 2011-06-16 Jorey Ramer Mobile Communication Facility Usage Pattern Geographic Based Advertising
US8812526B2 (en) 2005-09-14 2014-08-19 Millennial Media, Inc. Mobile content cross-inventory yield optimization
US8027879B2 (en) 2005-11-05 2011-09-27 Jumptap, Inc. Exclusivity bidding for mobile sponsored content
US8688671B2 (en) * 2005-09-14 2014-04-01 Millennial Media Managing sponsored content based on geographic region
US20080215557A1 (en) * 2005-11-05 2008-09-04 Jorey Ramer Methods and systems of mobile query classification
US8131271B2 (en) * 2005-11-05 2012-03-06 Jumptap, Inc. Categorization of a mobile user profile based on browse behavior
US7912458B2 (en) 2005-09-14 2011-03-22 Jumptap, Inc. Interaction analysis and prioritization of mobile content
US20070061245A1 (en) * 2005-09-14 2007-03-15 Jorey Ramer Location based presentation of mobile content
US10038756B2 (en) 2005-09-14 2018-07-31 Millenial Media LLC Managing sponsored content based on device characteristics
US20080215429A1 (en) * 2005-11-01 2008-09-04 Jorey Ramer Using a mobile communication facility for offline ad searching
US8503995B2 (en) 2005-09-14 2013-08-06 Jumptap, Inc. Mobile dynamic advertisement creation and placement
US20110313853A1 (en) 2005-09-14 2011-12-22 Jorey Ramer System for targeting advertising content to a plurality of mobile communication facilities
US20090234711A1 (en) * 2005-09-14 2009-09-17 Jorey Ramer Aggregation of behavioral profile data using a monetization platform
US20090234745A1 (en) * 2005-11-05 2009-09-17 Jorey Ramer Methods and systems for mobile coupon tracking
US8364521B2 (en) 2005-09-14 2013-01-29 Jumptap, Inc. Rendering targeted advertisement on mobile communication facilities
US20080214204A1 (en) * 2005-11-01 2008-09-04 Jorey Ramer Similarity based location mapping of mobile comm facility users
US20070061247A1 (en) * 2005-09-14 2007-03-15 Jorey Ramer Expected value and prioritization of mobile content
US20080270220A1 (en) * 2005-11-05 2008-10-30 Jorey Ramer Embedding a nonsponsored mobile content within a sponsored mobile content
US10592930B2 (en) * 2005-09-14 2020-03-17 Millenial Media, LLC Syndication of a behavioral profile using a monetization platform
US8615719B2 (en) 2005-09-14 2013-12-24 Jumptap, Inc. Managing sponsored content for delivery to mobile communication facilities
US20080214148A1 (en) * 2005-11-05 2008-09-04 Jorey Ramer Targeting mobile sponsored content within a social network
US8103545B2 (en) * 2005-09-14 2012-01-24 Jumptap, Inc. Managing payment for sponsored content presented to mobile communication facilities
US20070100806A1 (en) * 2005-11-01 2007-05-03 Jorey Ramer Client libraries for mobile content
US8402002B2 (en) * 2005-09-23 2013-03-19 Barclays Capital Inc. System and method for event log review
US8175585B2 (en) 2005-11-05 2012-05-08 Jumptap, Inc. System for targeting advertising content to a plurality of mobile communication facilities
US20100285818A1 (en) * 2009-05-08 2010-11-11 Crawford C S Lee Location based service for directing ads to subscribers
US8571999B2 (en) 2005-11-14 2013-10-29 C. S. Lee Crawford Method of conducting operations for a social network application including activity list generation
US20100121705A1 (en) * 2005-11-14 2010-05-13 Jumptap, Inc. Presentation of Sponsored Content Based on Device Characteristics
US9165039B2 (en) * 2005-11-29 2015-10-20 Kang Jo Mgmt, Limited Liability Company Methods and systems for providing personalized contextual search results
US7627559B2 (en) * 2005-12-15 2009-12-01 Microsoft Corporation Context-based key phrase discovery and similarity measurement utilizing search engine query logs
US7769751B1 (en) * 2006-01-17 2010-08-03 Google Inc. Method and apparatus for classifying documents based on user inputs
US20070174258A1 (en) * 2006-01-23 2007-07-26 Jones Scott A Targeted mobile device advertisements
US8065286B2 (en) 2006-01-23 2011-11-22 Chacha Search, Inc. Scalable search system using human searchers
US7962466B2 (en) * 2006-01-23 2011-06-14 Chacha Search, Inc Automated tool for human assisted mining and capturing of precise results
US8117196B2 (en) * 2006-01-23 2012-02-14 Chacha Search, Inc. Search tool providing optional use of human search guides
US8266130B2 (en) * 2006-01-23 2012-09-11 Chacha Search, Inc. Search tool providing optional use of human search guides
US20070203888A1 (en) * 2006-02-24 2007-08-30 Cun Wang Simple hierarchical Web search engine
US7716229B1 (en) * 2006-03-31 2010-05-11 Microsoft Corporation Generating misspells from query log context usage
US20070260601A1 (en) * 2006-05-08 2007-11-08 Thompson Henry S Distributed human improvement of search engine results
US7792967B2 (en) * 2006-07-14 2010-09-07 Chacha Search, Inc. Method and system for sharing and accessing resources
WO2008011454A2 (en) * 2006-07-18 2008-01-24 Chacha Search, Inc. Anonymous search system using human searchers
WO2008011526A2 (en) * 2006-07-19 2008-01-24 Chacha Search, Inc. Method, apparatus, and computer readable storage for training human searchers
US7873532B2 (en) * 2006-07-19 2011-01-18 Chacha Search, Inc. Method, system, and computer readable medium useful in managing a computer-based system for servicing user initiated tasks
US7624103B2 (en) 2006-07-21 2009-11-24 Aol Llc Culturally relevant search results
EP2049970A4 (en) 2006-07-24 2014-12-31 Chacha Search Inc Method, system, and computer readable storage for podcasting and video training in an information search system
US20080021885A1 (en) * 2006-07-24 2008-01-24 Chacha Search, Inc. System for substantially immediate payment for search related tasks
US20080027913A1 (en) * 2006-07-25 2008-01-31 Yahoo! Inc. System and method of information retrieval engine evaluation using human judgment input
US7801879B2 (en) 2006-08-07 2010-09-21 Chacha Search, Inc. Method, system, and computer readable storage for affiliate group searching
WO2008019369A2 (en) * 2006-08-07 2008-02-14 Chacha Search, Inc. Method, system, and computer program product for multi-level marketing
US8024308B2 (en) * 2006-08-07 2011-09-20 Chacha Search, Inc Electronic previous search results log
US7660783B2 (en) 2006-09-27 2010-02-09 Buzzmetrics, Inc. System and method of ad-hoc analysis of data
CA2702450C (en) * 2006-12-20 2017-01-31 Victor David Uy Method of displaying a subjective score with search engine results
US7617194B2 (en) * 2006-12-29 2009-11-10 Microsoft Corporation Supervised ranking of vertices of a directed graph
US8078608B2 (en) * 2007-01-08 2011-12-13 Chacha Search, Inc. Method and system for promotion of a search service
US20080183691A1 (en) * 2007-01-30 2008-07-31 International Business Machines Corporation Method for a networked knowledge based document retrieval and ranking utilizing extracted document metadata and content
US8346763B2 (en) * 2007-03-30 2013-01-01 Microsoft Corporation Ranking method using hyperlinks in blogs
US20080256056A1 (en) * 2007-04-10 2008-10-16 Yahoo! Inc. System for building a data structure representing a network of users and advertisers
US8200663B2 (en) 2007-04-25 2012-06-12 Chacha Search, Inc. Method and system for improvement of relevance of search results
US9053195B2 (en) * 2007-07-19 2015-06-09 Grant Chieh-Hsiang Yang Method and system for user and reference ranking in a database
US8352511B2 (en) * 2007-08-29 2013-01-08 Partnet, Inc. Systems and methods for providing a confidence-based ranking algorithm
US20090063464A1 (en) * 2007-08-29 2009-03-05 Chi-Chao Chang System and method for visualizing and relevance tuning search engine ranking functions
WO2009049293A1 (en) * 2007-10-12 2009-04-16 Chacha Search, Inc. Method and system for creation of user/guide profile in a human-aided search system
US9348912B2 (en) * 2007-10-18 2016-05-24 Microsoft Technology Licensing, Llc Document length as a static relevance feature for ranking search results
US20090106221A1 (en) * 2007-10-18 2009-04-23 Microsoft Corporation Ranking and Providing Search Results Based In Part On A Number Of Click-Through Features
US8347326B2 (en) 2007-12-18 2013-01-01 The Nielsen Company (US) Identifying key media events and modeling causal relationships between key events and reported feelings
US7769740B2 (en) * 2007-12-21 2010-08-03 Yahoo! Inc. Systems and methods of ranking attention
US20090177690A1 (en) * 2008-01-03 2009-07-09 Sinem Guven Determining an Optimal Solution Set Based on Human Selection
WO2009094633A1 (en) 2008-01-25 2009-07-30 Chacha Search, Inc. Method and system for access to restricted resource(s)
US8812493B2 (en) * 2008-04-11 2014-08-19 Microsoft Corporation Search results ranking using editing distance and document information
US20090299853A1 (en) * 2008-05-27 2009-12-03 Chacha Search, Inc. Method and system of improving selection of search results
US8521731B2 (en) 2008-07-09 2013-08-27 Yahoo! Inc. Systems and methods for query expansion in sponsored search
US8538943B1 (en) 2008-07-24 2013-09-17 Google Inc. Providing images of named resources in response to a search query
WO2010060117A1 (en) * 2008-11-21 2010-05-27 Chacha Search, Inc. Method and system for improving utilization of human searchers
US20100138402A1 (en) * 2008-12-02 2010-06-03 Chacha Search, Inc. Method and system for improving utilization of human searchers
WO2011019444A1 (en) * 2009-06-11 2011-02-17 Chacha Search, Inc. Method and system of providing a search tool
US9727842B2 (en) * 2009-08-21 2017-08-08 International Business Machines Corporation Determining entity relevance by relationships to other relevant entities
US20110191327A1 (en) * 2010-01-31 2011-08-04 Advanced Research Llc Method for Human Ranking of Search Results
US8924376B1 (en) * 2010-01-31 2014-12-30 Bryant Christopher Lee Method for human ranking of search results
US8874727B2 (en) 2010-05-31 2014-10-28 The Nielsen Company (Us), Llc Methods, apparatus, and articles of manufacture to rank users in an online social network
US8738635B2 (en) 2010-06-01 2014-05-27 Microsoft Corporation Detection of junk in search result ranking
CN102419755B (en) * 2010-09-28 2013-04-24 阿里巴巴集团控股有限公司 Method and device for sorting search results
US20120131037A1 (en) * 2010-11-18 2012-05-24 Microsoft Corporation Asynchronous online searches
US9152726B2 (en) 2010-12-01 2015-10-06 Microsoft Technology Licensing, Llc Real-time personalized recommendation of location-related entities
US9436726B2 (en) 2011-06-23 2016-09-06 BCM International Regulatory Analytics LLC System, method and computer program product for a behavioral database providing quantitative analysis of cross border policy process and related search capabilities
US9116996B1 (en) * 2011-07-25 2015-08-25 Google Inc. Reverse question answering
US9495462B2 (en) 2012-01-27 2016-11-15 Microsoft Technology Licensing, Llc Re-ranking search results
US9977829B2 (en) * 2012-10-12 2018-05-22 Hewlett-Packard Development Company, L.P. Combinatorial summarizer
WO2014172304A1 (en) * 2013-04-15 2014-10-23 Chacha Search, Inc. Method and system for allocation of resources
US9262541B2 (en) * 2013-10-18 2016-02-16 Google Inc. Distance based search ranking demotion
WO2015160575A1 (en) * 2014-04-13 2015-10-22 Anjum Zafir Method and system for human enhanced search results
US20160041982A1 (en) * 2014-08-05 2016-02-11 Facebook, Inc. Conditioned Search Ranking Models on Online Social Networks
US11651242B2 (en) 2014-08-27 2023-05-16 International Business Machines Corporation Generating answers to text input in an electronic communication tool with a question answering system
US10019672B2 (en) * 2014-08-27 2018-07-10 International Business Machines Corporation Generating responses to electronic communications with a question answering system
US9292482B1 (en) * 2015-04-30 2016-03-22 Workiva Inc. System and method for convergent document collaboration
US10325014B2 (en) 2015-04-30 2019-06-18 Workiva Inc. System and method for convergent document collaboration
US10013654B1 (en) 2017-11-29 2018-07-03 OJO Labs, Inc. Cooperatively operating a network of supervised learning processors to concurrently distribute supervised learning processor training and provide predictive responses to input data
US10019491B1 (en) * 2017-11-29 2018-07-10 OJO Labs, Inc. Machine learning of response selection to structured data input
US10756977B2 (en) * 2018-05-23 2020-08-25 International Business Machines Corporation Node relevance determination in an evolving network
US10956530B2 (en) 2018-11-02 2021-03-23 Walmart Apollo, Llc Systems and methods for search modification
US11755825B2 (en) 2019-09-12 2023-09-12 Workiva Inc. Method, system, and computing device for facilitating private drafting
US11443108B2 (en) 2020-08-17 2022-09-13 Workiva Inc. System and method for document management using branching
US11100281B1 (en) 2020-08-17 2021-08-24 Workiva Inc. System and method for maintaining links and revisions
CN112131455B (en) * 2020-09-28 2021-09-17 贝壳找房(北京)科技有限公司 List page retrieval degradation method and device, electronic equipment and storage medium
AU2021411330A1 (en) * 2021-01-04 2022-09-01 OJO Labs, Inc. Dynamic subsystem operational sequencing to concurrently control and distribute supervised learning processor training and provide predictive responses to input data
US11100277B1 (en) 2021-02-15 2021-08-24 Workiva Inc. Systems, methods, and computer-readable media for flow-through formatting for links
US11354362B1 (en) 2021-05-06 2022-06-07 Workiva Inc. System and method for copying linked documents
US11640495B1 (en) 2021-10-15 2023-05-02 Workiva Inc. Systems and methods for translation comments flowback

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020024532A1 (en) * 2000-08-25 2002-02-28 Wylci Fables Dynamic personalization method of creating personalized user profiles for searching a database of information
US20020143759A1 (en) * 2001-03-27 2002-10-03 Yu Allen Kai-Lang Computer searches with results prioritized using histories restricted by query context and user community

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6078916A (en) 1997-08-01 2000-06-20 Culliss; Gary Method for organizing information
EP1062602B8 (en) * 1998-02-13 2018-06-13 Oath Inc. Search engine using sales and revenue to weight search results
WO1999064964A1 (en) 1998-06-08 1999-12-16 Kaufman Consulting Services Ltd. Method and system for retrieving relevant documents from a database
US7835943B2 (en) * 1999-05-28 2010-11-16 Yahoo! Inc. System and method for providing place and price protection in a search result list generated by a computer network search engine
US6546388B1 (en) * 2000-01-14 2003-04-08 International Business Machines Corporation Metadata search results ranking system
US6311194B1 (en) 2000-03-15 2001-10-30 Taalee, Inc. System and method for creating a semantic web and its applications in browsing, searching, profiling, personalization and advertising

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020024532A1 (en) * 2000-08-25 2002-02-28 Wylci Fables Dynamic personalization method of creating personalized user profiles for searching a database of information
US20020143759A1 (en) * 2001-03-27 2002-10-03 Yu Allen Kai-Lang Computer searches with results prioritized using histories restricted by query context and user community

Also Published As

Publication number Publication date
AU2003254264A1 (en) 2004-02-23
US7599911B2 (en) 2009-10-06
AU2003254264A8 (en) 2004-02-23
WO2004013726A3 (en) 2004-04-15
US20040024752A1 (en) 2004-02-05
TW200422878A (en) 2004-11-01
TWI331719B (en) 2010-10-11

Similar Documents

Publication Publication Date Title
US7599911B2 (en) Method and apparatus for search ranking using human input and automated ranking
US5920859A (en) Hypertext document retrieval system and method
RU2335013C2 (en) Methods and systems for improving search ranging with application of information about article
US9192684B1 (en) Customization of search results for search queries received from third party sites
US6944609B2 (en) Search results using editor feedback
US6718324B2 (en) Metadata search results ranking system
CN103500198B (en) Methods of and systems for searching by incorporating user-entered information
KR101303488B1 (en) Search systems and methods using in-line contextual queries
EP1673703B1 (en) Personalization of web search
US6377983B1 (en) Method and system for converting expertise based on document usage
US20030014501A1 (en) Predicting the popularity of a text-based object
US20110289074A1 (en) System, method, and user interface for organization and searching information
US20040249800A1 (en) Content bridge for associating host content and guest content wherein guest content is determined by search
KR20070038146A (en) Personalization of placed content ordering in search results
KR20080031928A (en) Systems for and methods of finding relevant documents by analyzing tags
EP2174246A1 (en) Ranking documents based on a series of document graphs
US9275145B2 (en) Electronic document retrieval system with links to external documents
JP2002215659A (en) Information retrieval support method and information retrieval support system
JP4428850B2 (en) Information search apparatus and information search method
Lavania et al. Google: a case study (web searching and crawling)
WO1997049048A1 (en) Hypertext document retrieval system and method
US7490082B2 (en) System and method for searching internet domains
WO2000007133A1 (en) Method and system for applying user specified hyperlinks
Liu et al. Discovering business intelligence information by comparing company Web sites
Hoe‐Lian Goh et al. Collaborative querying using the query graph visualizer

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase

Ref country code: JP

WWW Wipo information: withdrawn in national office

Country of ref document: JP