WO2005050367A2 - Systems and methods for search query processing using trend analysis - Google Patents

Systems and methods for search query processing using trend analysis Download PDF

Info

Publication number
WO2005050367A2
WO2005050367A2 PCT/US2004/037571 US2004037571W WO2005050367A2 WO 2005050367 A2 WO2005050367 A2 WO 2005050367A2 US 2004037571 W US2004037571 W US 2004037571W WO 2005050367 A2 WO2005050367 A2 WO 2005050367A2
Authority
WO
WIPO (PCT)
Prior art keywords
queries
query
dimension
search
user
Prior art date
Application number
PCT/US2004/037571
Other languages
French (fr)
Other versions
WO2005050367A3 (en
Inventor
Shyam Kapur
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 JP2006539831A priority Critical patent/JP4722051B2/en
Priority to EP04819083A priority patent/EP1690169A4/en
Publication of WO2005050367A2 publication Critical patent/WO2005050367A2/en
Publication of WO2005050367A3 publication Critical patent/WO2005050367A3/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/953Querying, e.g. by the use of web search engines
    • G06F16/9536Search customisation based on social or collaborative filtering
    • 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/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • 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

Definitions

  • the "relatedness" of results to the query may be in part a function of the actual query entered as well as the robustness of the search system (underlying collection system) used. Relatedness might be subjectively determined by a user or objectively determined by what a user might have been looking for.
  • Queries that users enter are typically made up of one or more words.
  • “hawaii” is a query, so is “new york city”, and so is “new york city law enforcement”.
  • queries as a whole are not integral to the human brain.
  • human beings do not naturally think in terms of queries. They are an artificial construct imposed, in part, by the need to query search engines or look up library catalogs. Human beings do not naturally think in terms of just single words either. What human beings think in terms of are natural concepts. For example, “hawaii” and “new york city” are vastly different queries in terms of length as measured by number of words but they share one important characteristic: they are each made up of one concept.
  • Embodiments of the present invention provide systems and methods for processing search requests, including analyzing received queries in order to provide a more sophisticated understanding of the information being sought. Queries are parsed into units, which may comprise, e.g., one or more words or tokens of the query. Further analysis is performed on a unit representation of the queries to detect patterns, such as similar combinations of units being used in different queries. Units that occur in queries in conjunction with a similar set of secondary units are grouped into clusters, and a weight may be assigned to the connection between two cluster members based on the degree of similarity of the secondary units associated with each.
  • clustering is repeated for different subsets of queries, where the queries are sorted into subsets along one or more dimensions.
  • the dimensions include time, personal characteristics or demographics of the user (e.g., age, gender, known interests, or user profile), a geographic dimension (e.g., physical location or IP address), or a vertical dimension representing a user's activity or context preceding the query (e.g., where the user is on a website when the query is entered).
  • This generates subset-specific clusters (or concept networks) for each subset of the queries.
  • Trend information about a unit or a cluster is generated by comparing corresponding subset- specific concept networks from at least two of the subsets.
  • FIG. 1 is a simplified high-level block diagram of an information retrieval and communication system according to an embodiment of the present invention.
  • FIG. 2 is a simplified block diagram of an information retrieval and communication network for communicating media content according to an embodiment of the present invention.
  • FIG. 3 is a simplified block diagram of a query processing engine according to an embodiment of the present invention.
  • Fig. 4 is a flow chart of a process for performing trend analysis according to an embodiment of the invention.
  • FIG. 5 is a simplified block diagram of a system including a unit dictionary and associated processing intelligence, including a query processing engine in some aspects, according to an embodiment of the present invention.
  • Fig. 6 is a graph of trend data showing frequency of queries as a function of time of day.
  • Fig. 1 illustrates a general overview of an information retrieval and communication network 10 including a client system 20 according to an embodiment of the present invention.
  • client system 20 is coupled through the Internet 40, or other communication network, e.g., over any LAN or WAN connection, to any number of server systems 50 ⁇ to 50 N .
  • client system 20 is configured according to the present invention to communicate with any of server systems 50 1 to 5 O N , e.g., to access, receive, retrieve and display media content and other information such as web pages.
  • client system 20 could include a desktop personal computer, workstation, laptop, PDA, cell phone, or any WAP- enabled device or any other computing device capable of interfacing directly or indirectly to the Internet.
  • client system 20 typically runs a browsing program, such as Microsoft's Internet ExplorerTM browser, Netscape NavigatorTM browser, MozillaTM browser, OperaTM browser, or a WAP-enabled browser in the case of a cell phone, PDA or other wireless device, or the like, allowing a user of client system 20 to access, process and view information and pages available to it from server systems 50 ⁇ to 50 N over Internet 40.
  • a browsing program such as Microsoft's Internet ExplorerTM browser, Netscape NavigatorTM browser, MozillaTM browser, OperaTM browser, or a WAP-enabled browser in the case of a cell phone, PDA or other wireless device, or the like, allowing a user of client system 20 to access, process and view information and pages available to it from server systems 50 ⁇ to 50 N over Internet 40.
  • Client system 20 also typically includes one or more user interface devices 22, such as a keyboard, a mouse, touch screen, pen or the like, for interacting with a graphical user interface (GUI) provided by the browser on a display (e.g., monitor screen, LCD display, etc.), in conjunction with pages, forms and other information provided by server systems 50 ⁇ to 50N or other servers.
  • GUI graphical user interface
  • the present invention is suitable for use with the Internet, which refers to a specific global internetwork of networks. However, it should be understood that other networks can be used instead of or in addition to the Internet, such as an intranet, an extranet, a virtual private network (VPN), a non-TCP/IP based network, any LAN or WAN or the like.
  • VPN virtual private network
  • client system 20 and all of its components are operator configurable using an application including computer code run using a central processing unit such as an Intel Pentium processor, AMD Athlon processor, or the like or multiple processors.
  • Computer code for operating and configuring client system 20 to communicate, process and display data and media content as described herein is preferably downloaded and stored on a hard disk, but the entire program code, or portions thereof, may also be stored in any other volatile or non-volatile memory medium or device as is well known, such as a ROM or RAM, or provided on any media capable of storing program code, such as a compact disk (CD) medium, a digital versatile disk (DVD) medium, a floppy disk, and the like.
  • CD compact disk
  • DVD digital versatile disk
  • floppy disk and the like.
  • the entire program code, or portions thereof may be transmitted and downloaded from a software source, e.g., from one of server systems 50j to 50 N to client system 20 over the Internet, or transmitted over any other network connection (e.g., extranet, VPN, LAN, or other conventional networks) using any communication medium and protocols (e.g., TCP/IP, HTTP, HTTPS, Ethernet, or other conventional media and protocols).
  • a software source e.g., from one of server systems 50j to 50 N to client system 20 over the Internet
  • any other network connection e.g., extranet, VPN, LAN, or other conventional networks
  • any communication medium and protocols e.g., TCP/IP, HTTP, HTTPS, Ethernet, or other conventional media and protocols.
  • computer code for implementing aspects of the present invention can be C, C++, HTML, XML, Java, JavaScript, etc. code, or any other suitable scripting language (e.g., VBScript), or any other suitable programming language that can be executed on client system 20 or compiled to execute on client system 20.
  • no code is downloaded to client system 20, and needed code is executed by a server, or code already present at client system 20 is executed.
  • FIG. 2 illustrates another information retrieval and communication network 110 for communicating media content according to an embodiment of the invention.
  • network 110 includes client system 120, one or more content server systems 150, and a search server system 160.
  • client system 120 is communicably coupled through Internet 140 or other communication network to server systems 150 and 160.
  • client system 120 and its components are configured to communicate with server systems 150 and 160 and other server systems over the Internet 140 or other communication networks.
  • a client application (represented as module 125) executing on client system 120 includes instructions for controlling client system 120 and its components to communicate with server systems 150 and 160 and to process and display data content received therefrom.
  • Client application 125 is preferably transmitted and downloaded to client system 120 from a software source such as a remote server system (e.g., server systems 150, server system 160 or other remote server system), although client application module 125 can be provided on any software storage medium such as a floppy disk, CD, DVD, etc., as discussed above.
  • client application module 125 may be provided over the Internet 140 to client system 120 in an HTML wrapper including various controls such as, for example, embedded JavaScript or Active X controls, for manipulating data and rendering data in various objects, frames and windows.
  • client application module 125 includes various software modules for processing data and media content, such as a specialized search module 126 for processing search requests and search result data, a user interface module 127 for rendering data and media content in text and data frames and active windows, e.g., browser windows and dialog boxes, and an application interface module 128 for interfacing and communicating with various applications executing on client 120.
  • a specialized search module 126 for processing search requests and search result data
  • a user interface module 127 for rendering data and media content in text and data frames and active windows, e.g., browser windows and dialog boxes
  • an application interface module 128 for interfacing and communicating with various applications executing on client 120.
  • Examples of various applications executing on client system 120 for which application interface module 128 is preferably configured to interface with according to aspects of the present invention include various e-mail applications, instant messaging (EVI) applications, browser applications, document management applications and others.
  • interface module 127 may include a browser, such as a default browser configured on client system 120 or a * different browser.
  • search server system 160 is configured to provide search result data and media content to client system 120
  • content server system 150 is configured to provide data and media content such as web pages to client system 120, for example, in response to links selected in search result pages provided by search server system 160.
  • search server system 160 returns content as well as, or instead of, links and/or other references to content.
  • Search server system 160 in one embodiment references various collection technologies for populating one or more page indexes with, for example pages, links to pages, data representing the content of indexed pages, etc.
  • collection technologies include automatic web crawlers, spiders, etc., as well as manual or semi-automatic classification algorithms and interfaces for classifying and ranking web pages within a hierarchical structure.
  • search server system 160 is also configured with search related algorithms for processing and ranking web pages.
  • Search server system 160 is also preferably configured to record user query activity in the form of query log files.
  • Search server system 160 is configured to provide data responsive to various search requests received from a client system, in particular search module 126.
  • Server systems 150 and 160 may be part of a single organization, e.g., a distributed server system such as that provided to users by Yahoo! Inc., or they may be part of disparate organizations.
  • Content server system 150 and search server system 160 each include at least one server and an associated database system, and may include multiple servers and associated database systems, and although shown as a single block, may be geographically distributed.
  • all servers of search server system 160 may be located in close proximity to one another (e.g., in a server farm located in a single building or campus), or they may be distributed at locations remote from one another (e.g., one or more servers located in city A and one or more servers located in city B).
  • a "server system” typically includes one or more logically and/or physically connected servers distributed locally or across one or more geographic locations.
  • a “server” typically includes a computer system and an associated storage system and database application as is well known in the art.
  • search server system 160 is configured with one or more page indexes and algorithms for accessing the page index(es) and providing search results to users in response to search queries received from client systems 120.
  • search server system 160 is additionally configured to provide enhanced search query analysis and clustering functionality in response to search requests from client system 120.
  • search server system 160 includes all of the content and functionality of content server system 150.
  • processes executing on search server system 160 perform contextual analysis of search queries and/or search results and respond with search results grouped so as to reflect different contexts.
  • Many search terms may have different meanings depending on the context intended. For example, if a user performs a search using the term "Java", the intended context is not clear. The user may be interested in the Java computer language, in the Indonesian island of Java, or in coffee (which is often colloquially referred to as java).
  • the present invention advantageously analyzes search queries and/or results and groups results in contexts for display at the user's computer 120.
  • search server system 160 return search results grouped into three (or more if other contexts are identified) contexts or word senses: Java the computer language, Java the island, and coffee java.
  • the system may be configured to display the results in sets with links provided in association with each context, or the system may display just the contexts (with enough information to distinguish the contexts to the user) without any links and allow the user to select the desired context to display the associated links.
  • a set of contexts might be displayed with each context having a set of links to pages from the search index, links associated with sponsored matches, links associated with directory matches and links associated with Inside Yahoo! (IY) matches.
  • the system of the present invention is configured in one embodiment to group results into contexts for search terms that are not necessarily ambiguous.
  • results returned for the search term "Hawaii”.
  • the term "Hawaii” in and of itself might not be ambiguous; however, the character of the results returned for such a term could be very broad, related to every site that discusses or just mentions Hawaii.
  • the system of the present invention preferably organizes search results into contexts by leveraging the knowledge of what the results are actually related to. For example, for Hawaii, the system may return results in various context groupings such as "Hawaii: travel", Hawaii: climate”, “Hawaii: geography”, “Hawaii: culture”, etc.
  • context identifiers are stored in association with page links in the index, so that when a search is performed links can be grouped according to the identifiers.
  • a page link may be associated with multiple context identifiers.
  • Such identifiers are preferably automatically associated with links by the system as users perform related searches; however, the identifiers may also be modified and associated with links manually by a team of one or more index editors. In this manner, knowledge gleaned from numerous searches is fed back into the system to define and re-define contexts to make the displayed search results more valuable and useful to the requesting user.
  • algorithms on search server system 160 perform concept discovery or concept analysis of search terms to provide more meaningful results to the user. For example, for the search phrase "New York City” it is fairly clear that the user is interested in sites related to New York City (the city or region) as opposed to any other city in the state of New York. Similarly, for “New York City law enforcement” it is clear that the user is interested in sites related to law enforcement (e.g., segment of jobs) in New York City. However, most search engines would simply search using the individual terms "New",
  • search engines might try to find the longest substring in the search phrase that also appears in an index. For example, if the index contained "New York”, “New York City” and “New York City law” but not "New York City law enforcement", the search engine would search using "New York City law” and "enforcement”, which is not necessarily what the user intended.
  • Embodiments of the present invention advantageously analyze terms in the search phrase to identify one or more concepts (units) that make up the search query.
  • Fig. 3 is a block diagram of a system 300 for performing concept discovery or concept analysis, including trend analysis, according to one embodiment of the present invention.
  • One or more query log files 302 are received by a query processing engine (also referred to as a query engine) 304, which generates a unit dictionary 306 as described below.
  • a query log file (or an actual query) may be received from various sources over the Internet or through various network connections, e.g., LAN, WAN, direct links, distribution media (e.g., CD, DVD, floppy disk), etc.
  • sources include search server system 160 (Fig. 1), or multiple search servers 160 in a distributed network of search servers, and one or more of content servers 150.
  • Query log file sources are typically associated with the same organization or entity, e.g., Yahoo! servers, but need not be.
  • the query log files (also referred to as query logs) are processed by query engine 304 using statistical methods such as may be used in information theory or concepts such as mutual information. In preferred aspects, daily query logs are used, although logs for different time periods, e.g., hours, weeks, etc. may be used as desired.
  • Query logs typically include actual queries submitted by users and may also include additional information for some or all of the queries, such as geographic location of querying users, timestamps, IP addresses of client systems, cookies, type of client (e.g., browser type), etc.
  • Query processing engine 304 processes the various query logs and generates units therefrom.
  • the units and associated statistics such as frequency of occurrence are stored to a memory or database file referred to herein as a unit dictionary 306.
  • Unit dictionary 306 can be used by a search engine in responding to subsequent queries, as described below.
  • query processor 304 includes a unit analysis module 310 and a clustering module 312.
  • Unit analysis module 310 processes the query logs 302 to generate units.
  • the system uses the order that search terms are presented to identify the units making up a query.
  • a unit may be a word (e.g., "java") or a group of words that frequently appear adjacent to each other (e.g., "new york city”). Identification of units is described in detail in above-referenced Provisional Application No. 60/460,222.
  • the units generated by unit analysis module 310 are stored in unit dictionary 306; in some embodiments, statistical information (e.g., frequency of occurrence or frequency of occurrence in conjunction with one or more other units) may also be included. Information stored in unit dictionary 306 can be used by a search engine in responding to subsequent queries.
  • Clustering module 312 performs further analysis of the queries, using the units identified by unit analysis module 310, to create clusters, or concept networks, that indicate similarities among different units.
  • a concept network is a structure for representing relationships in which each concept corresponds to a node and relationships between concepts are represented by lines (or edges) connecting the nodes. The edges may be assigned different weights, so that the weight of an edge reflects the strength or closeness of the similarity between the concepts (nodes).
  • clusters are generated from units by identifying different units ("members" of the cluster) that tend to appear in queries together with one or more of the same group of "signature" units. The member units may serve as nodes in a concept network. It is to be understood that other representations of connections or relationships between different units or concepts might also be used and that "concept network" as used herein encompasses alternative representations.
  • Clustering module 312 analyzes these queries and determines that "lyrics”, “mp3”, “guitar tabs”, “discography”, and so on are “signature” units for a cluster whose members include the names of different pop-music acts. Examples of specific techniques for creation of clusters that may be implemented in clustering module 312 are described in the above- referenced Provisional Application No.
  • Clustering module 312 advantageously stores cluster information including data related to member units and signatures in unit dictionary 306.
  • the information available in unit dictionary 306 includes information about the units and their "neighborhoods" (i.e., other units that appear in queries with a given unit) as well as relationships to other units that may have similar neighborhoods.
  • clusters created by clustering module 312 tend to reflect real-world relationships of concepts (e.g., grouping units that belong to a common category), even though query processing engine 304 need not be provided with real-world knowledge or semantic information about particular units or queries.
  • one cluster might include “New York City”, “San Francisco”, and “Chicago”, and the signature for that cluster might include “hotel”, “restaurant”, and “night club”.
  • Such a cluster would reflect that New York City, San Francisco, and Chicago are all travel destinations (or cities), but query engine 304 (Fig. 3) is not required to possess any prior knowledge of the concept "destination” (or "city”).
  • This conceptual knowledge can grow automatically from analyzing patterns of queries. It is to be understood that where the present specification labels clusters with terms that carry semantic meaning to humans, this is a convenience to facilitate understanding of the present disclosure. In practice, any cluster labeling scheme used by query engine 304 or unit dictionary 306 need not have this property; for instance, a cluster label could simply be a number, a pointer to a signature for the cluster, and so on.
  • a unit might belong to multiple clusters; for example, an ambiguous unit such as "java” could end up in a “computer programming” cluster, a “food and drink” cluster, and a “travel” or “places” cluster. In some embodiments, there may be units that do not belong to any cluster.
  • query processing engine 304 also includes a trend analysis module 320 that looks for trends in the queries along various dimensions, such as time, geography, user demographics, user history or context (referred to herein as a "vertical" dimension), etc.
  • Trend analysis module 320 advantageously leverages the functionality of unit analysis module 310 and clustering module 312 to perform concept analysis and/or concept discovery on different subsets of the queries, then compiles the results. The resulting trend information is advantageously added to unit dictionary 306.
  • Unit dictionary 306 may be implemented in any format and stored on any suitable storage media, including magnetic disk or tape, optical storage media such as compact disk (CD), and so on.
  • the content of unit dictionary 306 advantageously includes the units, as well as additional information about each unit, such as statistical data generated by unit analysis module 310, cluster information as determined by clustering module 312, and trend information generated by trend analysis module 320.
  • Information related to units, clusters, and/or trends can be used by a search engine to respond to subsequent queries.
  • Fig. 4 is a flow chart of a process 400 that may be performed by an embodiment of trend analysis module 320.
  • queries contained in the query logs are sorted into subsets along a selected dimension.
  • the dimension may defined based on any information about the query that the log file provides, and queries may be divided into any number of subsets along a given dimension.
  • a "time" dimension may be used if the query log provides information related to the time of submission for various queries is known.
  • queries can be divided, e.g., by week or by month for analyzing trends in user interests over time. Queries can also be divided based on time of day (e.g., morning, afternoon, evening, late night), weekday vs. weekend or holiday days, seasons, etc. Numerous variations are possible; as just one example, queries received between 8 a.m. and 10 a.m. can be aggregated over a week, a month, or another desired period.
  • time of day is determined according to the search server's local time. In the case where a search service provides multiple servers to serve different geographical regions, the server's local time is approximately representative of the user's local time. In other embodiments, the user's local time may be used.
  • a "geography" dimension may be used if the query log provides information about the geographical origin of the query. Geography may relate to physical geography. For example, some IP addresses may be used to identify a likely country of origin of the query; a user profile for the user who submitted the query may be used to determine where the user resides; or queries may be sorted according to whether they were received at mirror sites in different locations or regional/national sites associated with different locations.
  • the geography dimension may represent a "cyber geography" where a user's IP address (or a domain determined from the JP address) is treated as the geographic origin. Physical and cyber geography dimensions may be combined.
  • a "demographic" dimension may be used if the query log provides information about demographic characteristics of the user such as age, gender, etc. Any number and combination of demographic data may be used to define a demographic dimension for trend analysis. For example, a demographic dimension may include one group of "female users who are over 25 and own their homes", another group of “male users who are over 35 and rent", a group of "users under 25 who own cars", and so on.
  • a "vertical" or “user history” dimension may be used if the query log provides information (referred to herein as "user history" or "user context") about user activity preceding entry of the query.
  • a portal site e.g., the Yahoo! site at www.yahoo.com
  • a portal site includes various areas or "properties” such as a shopping property, a general web directory, a music property, and so on, with each property including a search interface enabling the user to enter queries.
  • Information about which of these properties the user was visiting when the query was entered may be saved and used as the "vertical" dimension.
  • the vertical dimension might include one subset of queries that came from users at the "shopping" property and another subset of queries that came from users at the "general directory” property, and so on.
  • the user history information might also include a URL or other identifier of a web page that was being displayed when the user entered the query.
  • the vertical dimension might separate queries according to the URL, a portion thereof (e.g., domain name), or information about the content of the page (e.g., information that might be maintained in a page index).
  • each subset of the queries is provided to clustering module 312 to generate one or more subset-specific concept networks.
  • the existing unit dictionary 306 is used; in other embodiments, the subsets may also be provided to unit analysis module 310 to generate a subset-specific set of units.
  • Unit analysis and clustering analysis are described in detail in above-referenced Provisional Application No. 60/510,220. Clustering analysis is advantageously performed independently for each subset of queries, so that a set of concept networks is generated for each subset. The resulting subset-specific concept networks are returned to trend analysis module 320.
  • trend analysis module 320 performs a trend analysis using the subset- specific concept networks to detect similarities and differences that reflect differing patterns of user behavior along the dimension. These differing patterns are referred to herein as "trends", and trend analysis generally involves comparing clusters (e.g., concept networks) and/or signatures generated from the different subsets to discover such differences. Trends and trend analysis can take a wide variety of forms.
  • one trend analysis might compare the relative frequencies of particular search terms or units during different time periods or for different user demographics.
  • the units compared might be, e.g., different member units of a cluster or different signature units for a cluster.
  • cluster of "singers” one trend analysis for this cluster might reveal that for users under 21, "Avril Lavigne” is a more popular query term than "Celine Dion” while the reverse is true for users over 35.
  • the signature of this cluster includes units "employment” and "hotel”
  • one trend analysis for this signature might reveal that "employment” is searched more often during the week while "hotel” is searched more often on the weekend. (This could reflect, e.g., that users tend to do job searching during the week and vacation planning during the weekend).
  • trend analysis may also be used to detect more subtle trends in user interests and behavior. For example, suppose that a celebrity who is well known in one field (e.g., music) decides to enter another field (e.g., politics). The total level of interest in that celebrity might not change much, but there may be shifts in the kind of information that is sought about the celebrity. For instance, the frequency of searches for the celebrity's name plus "song” or "album” might decrease while the frequency of searches for the celebrity's name plus terms like "politics” or "taxes” increases. A comparison of the neighborhoods of the celebrity's name over different time periods would reveal such a trend.
  • trend information is stored, e.g., in unit dictionary 306, for use in responding to subsequent queries.
  • the information may be stored in conjunction with particular units and/or clusters to which the information pertains, in conjunction with signatures or suggestions associated with units or clusters, and so on.
  • Trend analysis may be limited to certain concept networks, e.g., those related to units that are used in a large enough number of queries to generate meaningful data, or units that are used as a basis for suggesting related searches. Trend analysis may be performed on units, clusters, signatures, or any combination thereof.
  • trend information is advantageously updated or regenerated from time to time to capture changes in user behavior that may reflect changing user interests (e.g., increasing or decreasing popularity of a given pop-music performer, increasing or decreasing interest in job-hunting vs. travel, etc.).
  • Fig. 5 shows a methodology that can be used by system 110 of Fig. 2 to respond to a query.
  • Client 120 transmits a query to search server system 160.
  • Search server system 160 sends the query and/or its constituent units to a concept server 180, which accesses unit dictionary 306.
  • Concept server 180 returns conceptual data related to the query, such as one or more units identified from the query along with statistics and cluster information for the various units, as well as trend information related to the units.
  • This information may be derived, e.g., by hashing the query to identify units contained therein and accessing unit dictionary 306 to retrieve entries for each identified unit.
  • the returned information includes the units, statistics, clusters, and information about trends that are associated with the query, one or more of its constituent units, or one or more clusters associated with any of the constituent units.
  • Search server system 160 advantageously uses the conceptual data received from concept server 180 in responding to the query.
  • the results returned by search server system 160 advantageously include results responsive to the user's query to the user along with other related information, such as hints and tips about what the user might want to explore next based on understanding of user needs as captured in units and their extensions and associations, including clusters and trends associated with the units and/or clusters.
  • a query includes an ambiguous term, such as "Java,” that might be used in more than one context. Such a term might belong to multiple clusters, e.g., a "food and drink” cluster, a "computer” cluster, and a "location" cluster.
  • search server system 160 may use trend data to shape the response, e.g., by selecting which cluster should be given the most prominent placement. For example, if users who search for "Java" on weekdays are most likely to be interested in the computer language while users who search for "Java" on weekends are most likely to be interested in coffee, the order in which search results are presented might depend on the day of the week; e.g., results related to the computer language could be presented most prominently if it is a weekday while results related to coffee could be presented most prominently if it is a weekend day. (Some techniques for grouping search results based on relevance to different clusters are described in the above-referenced Provisional Application No. 60/510,220.)
  • WXYZ four-letter sequence
  • WXYZ the name of a rap group and is also the stock-ticker symbol for some corporation. Comparing concept networks or clusters based on queries received when the stock market is open versus queries received when the market is closed might reveal that WXYZ the company is being searched more often in the former case while WXYZ the rap group is being searched more often in the latter case. Accordingly, search results related to the company might be placed before or after results related to the rap group depending on whether the market is open or closed when the query is received.
  • Fig. 6 is a graph of trend data showing the frequency (in arbitrary units) of queries containing the term "party” along a time-of-day dimension (in 4-hour increments). Such trend data might be obtained by analyzing some set of queries in accordance with process 400 described above.
  • Trend data set 602 (“X” symbol) corresponds to queries in which "party” appears together with another term clearly related to social events (e.g., “games”, “favors”, “supplies”).
  • Trend data set 604 (“O” symbol) corresponds to queries in which "party” appears together with another term clearly related to politics (e.g., "Republican”, “Democrat”, “candidate”).
  • Trend data set 606 (triangles) corresponds to queries containing "party” in which the ambiguity cannot be resolved by reference to other terms in the query.
  • One way to resolve the ambiguity in accordance with the present invention is by comparing the shapes of the different trends (e.g., first and/or second derivatives of the data sets shown in Fig. 6) and determining whether the trend for the ambiguous set of queries matches one of the unambiguous sets more closely than the other.
  • ambiguous trend data 606 is clearly more similar to the "social event" trend data 602 than to the "political" trend data 604. From this, it can be inferred that users who enter an ambiguous query including "party" are more likely interested in social events than in politics, and search results can be presented accordingly, e.g., by presenting results related to social events ahead of results related to politics.
  • the degree of similarity between two sets of trend data can also be considered and used to establish a confidence level for the inferred intent.
  • the ambiguous trend data 606 matches the "social event" trend data 602 quite closely, so the confidence level for the inference would be high.
  • the confidence level might be lower or higher, depending on user behavior.
  • Such a confidence level may be another factor in formulating a response to a query. For instance, given a high enough confidence level, only results related to social events might be presented initially; in such a case, an option may be provided for the user to retrieve results related to politics.
  • This example is illustrative, and variations and modifications are possible. For instance, trends along multiple dimensions (e.g., time of day and user age) might be considered together in determining similarity.
  • the trend comparison may be based on any appropriate measure of similarity of two curves, such as actual frequency values, derivatives (rates of change), higher-order derivatives, or any combination thereof.
  • This behavior can then be compared to the behavior of users who type in an ambiguous term (e.g., "poison") that might or might not refer to a performer, in order to estimate the likelihood that the ambiguous term is intended to refer to the performer.
  • an ambiguous term e.g., "poison”
  • control group Numerous comparisons between the control group and queries containing the ambiguous term are possible. For instance, the fraction of queries containing the ambiguous term "poison" that also contain a term unambiguously associated with music (e.g., "lyrics") may be computed, as well as a corresponding "control" fraction for queries containing an unambiguous name (e.g., "Britney Spears").
  • the control fraction can be considered as approximating the likelihood that users interested in music would enter a potentially ambiguous query. By comparing this to the frequency of unambiguously music-oriented queries containing "poison", it is possible to infer the likelihood that a user who enters the query "poison" is interested in the band.
  • a similar analysis can also be made using a control fraction based on a cluster that includes toxic "poison” (e.g., a medicine-related cluster), in order to estimate the likelihood that users searching for the toxic substance would fail to include an ambiguity-resolving term. If the likelihood of ambiguous queries for terms in the medicine-related cluster is small, that would suggest that the ambiguous query "poison" more likely refers to the band.
  • toxic "poison” e.g., a medicine-related cluster
  • user intent can be inferred by comparing the likelihoods of receiving a potentially ambiguous query from a user interested in medicine as opposed to a user interested in music. For example, suppose that 29% of queries from users interested in music are single-unit queries containing just the name of a performer, while only 2% of queries from users interested in medicine contain a single unit. It can be inferred that the user who enters the single-unit query "poison" is more likely interested in the band.
  • search server system 160 might suggest related searches based on trend information. For example, if a user who is known to be under 21 enters a query containing a singer's name, search server system 160 might, in addition to displaying a list of sites relevant to that singer, suggest searches related to one or more other singers identified by trend analysis as being popular among users under 21 (e.g., "Avril Lavigne"). For a 35-year-old user, different singers (e.g., "Celine Dion”) might be suggested.
  • different singers e.g., "Celine Dion
  • trend data might also be used by search server system 160 to infer information about a particular user, such as the user's likely sex, age, or geographic location. Such inferences may involve comparing a number of queries entered by the same user against the trend data to match the user's behavior against different dimensions. It should be understood that these inferences are not guaranteed to be accurate; they reflect how the user behaves and not necessarily who the user is. Any inferences made about a particular user can be used to tailor responses to further queries entered by that user, again using the trend data as one indication of likely user intent. Thus, trend data may be used to customize the response of a search server to the particular user who enters a query. [0071] Trend data may also be used by a provider of search server system 160 in conjunction with advertising decisions such as which advertisement(s) to display on a specific occasion and/or the price to be charged for a particular ad placement.
  • Clusters, signatures and trend information can be defined dynamically, and trend analysis can be performed from time to time (e.g., daily or weekly) to update trend information in response to changing user behavior.
  • queries may be processed as they are received so that cluster, signature, and trend data is updated substantially in real time.
  • the automated systems and methods described herein may be augmented or supplemented with human review of all or part of the resulting unit dictionary, including clusters, signatures, trend information related to any or all of the units, clusters, and signatures, and the like.
  • the embodiments described herein may make reference to web sites, links, and other terminology specific to instances where the World Wide Web (or a subset thereof) serves as the search corpus. It should be understood that the systems and processes described herein can be adapted for use with a different search corpus (such as an electronic database or document repository) and that results may include content as well as links or references to locations where content may be found.
  • search corpus such as an electronic database or document repository

Abstract

Systems and methods for processing search requests include analyzing received queries in order to provide a more sophisticated understanding of the information being sought. In one embodiment, queries are parsed into units (310), which may comprise one or more words or tokens of the query, and the units are related in concept networks (312). Trend analysis is performed by sorting the queries into subsets along a dimension of interest and comparing concept networks for different subsets (320). Trend information is usable to enhance a response of an automated search agent to a subsequently received query.

Description

Attorney Docket No.: 017887-011400US
SYSTEMS AND METHODS FOR SEARCH QUERY PROCESSING USING TREND ANALYSIS
CROSS-REFERENCES TO RELATED APPLICATIONS [0001] The present disclosure is related to the following commonly-assigned co-pending U.S. Patent applications: Provisional Application No. 60/460,222, filed April 4, 2003, entitled "Universal Search Interface Systems and Methods"; and Provisional Application No. 60/510,220, filed October 9, 2003, entitled "Systems and Methods for Search Processing Using Clustering of Units." The respective disclosures of these applications are incorporated herein by reference for all purposes.
BACKGROUND OF THE INVENTION [0002] With the advent of the Internet and the multitude of web pages and media content available to a user over the World Wide Web (web), there has become a need to provide users with streamlined approaches to filter and obtain desired information from the web. Search systems and processes have been developed to meet the needs of users to obtain desired information. Examples of such technologies can be accessed through Yahoo!, Google and other sites. Typically, a user inputs a query and a search process returns one or more links (in the case of searching the web), documents and/or references (in the case of a different search corpus) related to the query. The links returned may be closely related, or they may be completely unrelated, to what the user was actually looking for. The "relatedness" of results to the query may be in part a function of the actual query entered as well as the robustness of the search system (underlying collection system) used. Relatedness might be subjectively determined by a user or objectively determined by what a user might have been looking for.
[0003] Queries that users enter are typically made up of one or more words. For example, "hawaii" is a query, so is "new york city", and so is "new york city law enforcement". As such, queries as a whole are not integral to the human brain. In other words, human beings do not naturally think in terms of queries. They are an artificial construct imposed, in part, by the need to query search engines or look up library catalogs. Human beings do not naturally think in terms of just single words either. What human beings think in terms of are natural concepts. For example, "hawaii" and "new york city" are vastly different queries in terms of length as measured by number of words but they share one important characteristic: they are each made up of one concept. The query "new york city law enforcement" is different, however, because it is made up of two distinct concepts "new york city" and "law enforcement". [0004] Human beings also think in terms of logical relationships between concepts. For example, "law enforcement" and "police" are related concepts since the police are an important agency of law enforcement; a user who types in one of these concepts may be interested in sites related to the other concept even if those sites do not contain the particular word or phrase the user happened to type. As a result of such thinking patterns, human beings by nature build queries by entering one or more natural concepts, not simply a variably long sequence of single words, and the query generally does not include all of the related concepts that the user might be aware of. Also, the user intent is not necessarily reflected in individual words of the query. For instance, "law enforcement" is one concept, while the separate words "law" and "enforcement" do not individually convey the same user intent as the words combined.
[0005] Current technologies at any of the major search providers, e.g., MSN, Google or any other major search engine site, do not understand queries the same way that human beings create them. For instance, existing search engines generally search for the exact words or phrases the user entered, not for the underlying natural concepts or related concepts the user actually had in mind. This is perhaps the most important reason that prevents search providers from identifying a user's intent and providing optimal search results and content.
[0006] As can be seen there is a need for improved search and interface technology that aids in providing results that are more in line with the actual concepts in which a user may be interested and enhances the user's experience.
BRIEF SUMMARY OF THE INVENTION [0007] Embodiments of the present invention provide systems and methods for processing search requests, including analyzing received queries in order to provide a more sophisticated understanding of the information being sought. Queries are parsed into units, which may comprise, e.g., one or more words or tokens of the query. Further analysis is performed on a unit representation of the queries to detect patterns, such as similar combinations of units being used in different queries. Units that occur in queries in conjunction with a similar set of secondary units are grouped into clusters, and a weight may be assigned to the connection between two cluster members based on the degree of similarity of the secondary units associated with each.
[0008] According to one aspect of the present invention, clustering is repeated for different subsets of queries, where the queries are sorted into subsets along one or more dimensions. In one embodiment, the dimensions include time, personal characteristics or demographics of the user (e.g., age, gender, known interests, or user profile), a geographic dimension (e.g., physical location or IP address), or a vertical dimension representing a user's activity or context preceding the query (e.g., where the user is on a website when the query is entered). This generates subset-specific clusters (or concept networks) for each subset of the queries. Trend information about a unit or a cluster is generated by comparing corresponding subset- specific concept networks from at least two of the subsets.
[0009] The following detailed description together with the accompanying drawings will provide a better understanding of the nature and advantages of the present invention.
BRIEF DESCRIPTION OF THE DRAWINGS [0010] Fig. 1 is a simplified high-level block diagram of an information retrieval and communication system according to an embodiment of the present invention.
[0011] Fig. 2 is a simplified block diagram of an information retrieval and communication network for communicating media content according to an embodiment of the present invention.
[0012] Fig. 3 is a simplified block diagram of a query processing engine according to an embodiment of the present invention.
[0013] Fig. 4 is a flow chart of a process for performing trend analysis according to an embodiment of the invention.
[0014] Fig. 5 is a simplified block diagram of a system including a unit dictionary and associated processing intelligence, including a query processing engine in some aspects, according to an embodiment of the present invention.
[0015] Fig. 6 is a graph of trend data showing frequency of queries as a function of time of day. DETAILED DESCRIPTION OF THE INVENTION [0016] Fig. 1 illustrates a general overview of an information retrieval and communication network 10 including a client system 20 according to an embodiment of the present invention. In computer network 10, client system 20 is coupled through the Internet 40, or other communication network, e.g., over any LAN or WAN connection, to any number of server systems 50ι to 50N. As will be described herein, client system 20 is configured according to the present invention to communicate with any of server systems 501 to 5 ON, e.g., to access, receive, retrieve and display media content and other information such as web pages. [0017] Several elements in the system shown in Fig. 1 include conventional, well-known elements that need not be explained in detail here. For example, client system 20 could include a desktop personal computer, workstation, laptop, PDA, cell phone, or any WAP- enabled device or any other computing device capable of interfacing directly or indirectly to the Internet. Client system 20 typically runs a browsing program, such as Microsoft's Internet Explorer™ browser, Netscape Navigator™ browser, Mozilla™ browser, Opera™ browser, or a WAP-enabled browser in the case of a cell phone, PDA or other wireless device, or the like, allowing a user of client system 20 to access, process and view information and pages available to it from server systems 50ι to 50N over Internet 40. Client system 20 also typically includes one or more user interface devices 22, such as a keyboard, a mouse, touch screen, pen or the like, for interacting with a graphical user interface (GUI) provided by the browser on a display (e.g., monitor screen, LCD display, etc.), in conjunction with pages, forms and other information provided by server systems 50} to 50N or other servers. The present invention is suitable for use with the Internet, which refers to a specific global internetwork of networks. However, it should be understood that other networks can be used instead of or in addition to the Internet, such as an intranet, an extranet, a virtual private network (VPN), a non-TCP/IP based network, any LAN or WAN or the like.
[0018] According to one embodiment, client system 20 and all of its components are operator configurable using an application including computer code run using a central processing unit such as an Intel Pentium processor, AMD Athlon processor, or the like or multiple processors. Computer code for operating and configuring client system 20 to communicate, process and display data and media content as described herein is preferably downloaded and stored on a hard disk, but the entire program code, or portions thereof, may also be stored in any other volatile or non-volatile memory medium or device as is well known, such as a ROM or RAM, or provided on any media capable of storing program code, such as a compact disk (CD) medium, a digital versatile disk (DVD) medium, a floppy disk, and the like. Additionally, the entire program code, or portions thereof, may be transmitted and downloaded from a software source, e.g., from one of server systems 50j to 50N to client system 20 over the Internet, or transmitted over any other network connection (e.g., extranet, VPN, LAN, or other conventional networks) using any communication medium and protocols (e.g., TCP/IP, HTTP, HTTPS, Ethernet, or other conventional media and protocols).
[0019] It should be appreciated that computer code for implementing aspects of the present invention can be C, C++, HTML, XML, Java, JavaScript, etc. code, or any other suitable scripting language (e.g., VBScript), or any other suitable programming language that can be executed on client system 20 or compiled to execute on client system 20. In some embodiments, no code is downloaded to client system 20, and needed code is executed by a server, or code already present at client system 20 is executed.
[0020] Fig. 2 illustrates another information retrieval and communication network 110 for communicating media content according to an embodiment of the invention. As shown, network 110 includes client system 120, one or more content server systems 150, and a search server system 160. In network 110, client system 120 is communicably coupled through Internet 140 or other communication network to server systems 150 and 160. As discussed above, client system 120 and its components are configured to communicate with server systems 150 and 160 and other server systems over the Internet 140 or other communication networks.
[0021] According to one embodiment, a client application (represented as module 125) executing on client system 120 includes instructions for controlling client system 120 and its components to communicate with server systems 150 and 160 and to process and display data content received therefrom. Client application 125 is preferably transmitted and downloaded to client system 120 from a software source such as a remote server system (e.g., server systems 150, server system 160 or other remote server system), although client application module 125 can be provided on any software storage medium such as a floppy disk, CD, DVD, etc., as discussed above. For example, in one aspect, client application module 125 may be provided over the Internet 140 to client system 120 in an HTML wrapper including various controls such as, for example, embedded JavaScript or Active X controls, for manipulating data and rendering data in various objects, frames and windows.
[0022] Additionally, client application module 125 includes various software modules for processing data and media content, such as a specialized search module 126 for processing search requests and search result data, a user interface module 127 for rendering data and media content in text and data frames and active windows, e.g., browser windows and dialog boxes, and an application interface module 128 for interfacing and communicating with various applications executing on client 120. Examples of various applications executing on client system 120 for which application interface module 128 is preferably configured to interface with according to aspects of the present invention include various e-mail applications, instant messaging (EVI) applications, browser applications, document management applications and others. Further, interface module 127 may include a browser, such as a default browser configured on client system 120 or a* different browser. In some embodiments, client application module 125 provides features of a universal search interface as described in the above-referenced Provisional Application No. 60/460,222.
[0023] According to one embodiment, search server system 160 is configured to provide search result data and media content to client system 120, and content server system 150 is configured to provide data and media content such as web pages to client system 120, for example, in response to links selected in search result pages provided by search server system 160. In some variations, search server system 160 returns content as well as, or instead of, links and/or other references to content.
[0024] Search server system 160 in one embodiment references various collection technologies for populating one or more page indexes with, for example pages, links to pages, data representing the content of indexed pages, etc. Such collection technologies include automatic web crawlers, spiders, etc., as well as manual or semi-automatic classification algorithms and interfaces for classifying and ranking web pages within a hierarchical structure. In certain aspects, search server system 160 is also configured with search related algorithms for processing and ranking web pages. Search server system 160 is also preferably configured to record user query activity in the form of query log files.
[0025] Search server system 160 is configured to provide data responsive to various search requests received from a client system, in particular search module 126. Server systems 150 and 160 may be part of a single organization, e.g., a distributed server system such as that provided to users by Yahoo! Inc., or they may be part of disparate organizations. Content server system 150 and search server system 160 each include at least one server and an associated database system, and may include multiple servers and associated database systems, and although shown as a single block, may be geographically distributed. For example, all servers of search server system 160 may be located in close proximity to one another (e.g., in a server farm located in a single building or campus), or they may be distributed at locations remote from one another (e.g., one or more servers located in city A and one or more servers located in city B).
[0026] As used herein, a "server system" typically includes one or more logically and/or physically connected servers distributed locally or across one or more geographic locations. A "server" typically includes a computer system and an associated storage system and database application as is well known in the art.
[0027] According to one embodiment, search server system 160 is configured with one or more page indexes and algorithms for accessing the page index(es) and providing search results to users in response to search queries received from client systems 120. In certain aspects, search server system 160 is additionally configured to provide enhanced search query analysis and clustering functionality in response to search requests from client system 120. In other variations, search server system 160 includes all of the content and functionality of content server system 150.
[0028] In one embodiment, processes executing on search server system 160 perform contextual analysis of search queries and/or search results and respond with search results grouped so as to reflect different contexts. Many search terms may have different meanings depending on the context intended. For example, if a user performs a search using the term "Java", the intended context is not clear. The user may be interested in the Java computer language, in the Indonesian island of Java, or in coffee (which is often colloquially referred to as java). The present invention advantageously analyzes search queries and/or results and groups results in contexts for display at the user's computer 120. For example, in response to the search term "Java", some embodiments of search server system 160 return search results grouped into three (or more if other contexts are identified) contexts or word senses: Java the computer language, Java the island, and coffee java. The system may be configured to display the results in sets with links provided in association with each context, or the system may display just the contexts (with enough information to distinguish the contexts to the user) without any links and allow the user to select the desired context to display the associated links. In the Yahoo! network system, for example, a set of contexts might be displayed with each context having a set of links to pages from the search index, links associated with sponsored matches, links associated with directory matches and links associated with Inside Yahoo! (IY) matches.
[0029] In addition to words or phrases having ambiguous meanings, such as "Java", the system of the present invention is configured in one embodiment to group results into contexts for search terms that are not necessarily ambiguous. One example is the results, returned for the search term "Hawaii". The term "Hawaii" in and of itself might not be ambiguous; however, the character of the results returned for such a term could be very broad, related to every site that discusses or just mentions Hawaii. To provide more useful results to the user, the system of the present invention preferably organizes search results into contexts by leveraging the knowledge of what the results are actually related to. For example, for Hawaii, the system may return results in various context groupings such as "Hawaii: travel", Hawaii: climate", "Hawaii: geography", "Hawaii: culture", etc.
[0030] In some embodiments, context identifiers are stored in association with page links in the index, so that when a search is performed links can be grouped according to the identifiers. A page link may be associated with multiple context identifiers. Such identifiers are preferably automatically associated with links by the system as users perform related searches; however, the identifiers may also be modified and associated with links manually by a team of one or more index editors. In this manner, knowledge gleaned from numerous searches is fed back into the system to define and re-define contexts to make the displayed search results more valuable and useful to the requesting user.
[0031] In one embodiment, algorithms on search server system 160 perform concept discovery or concept analysis of search terms to provide more meaningful results to the user. For example, for the search phrase "New York City" it is fairly clear that the user is interested in sites related to New York City (the city or region) as opposed to any other city in the state of New York. Similarly, for "New York City law enforcement" it is clear that the user is interested in sites related to law enforcement (e.g., segment of jobs) in New York City. However, most search engines would simply search using the individual terms "New",
"York", "City", "law" and "enforcement" regardless of the order in which the terms appear in the search phrase. Other search engines might try to find the longest substring in the search phrase that also appears in an index. For example, if the index contained "New York", "New York City" and "New York City law" but not "New York City law enforcement", the search engine would search using "New York City law" and "enforcement", which is not necessarily what the user intended.
[0032] Embodiments of the present invention advantageously analyze terms in the search phrase to identify one or more concepts (units) that make up the search query.
[0033] Fig. 3 is a block diagram of a system 300 for performing concept discovery or concept analysis, including trend analysis, according to one embodiment of the present invention. One or more query log files 302 (or actual queries) are received by a query processing engine (also referred to as a query engine) 304, which generates a unit dictionary 306 as described below. A query log file (or an actual query) may be received from various sources over the Internet or through various network connections, e.g., LAN, WAN, direct links, distribution media (e.g., CD, DVD, floppy disk), etc. Examples of sources include search server system 160 (Fig. 1), or multiple search servers 160 in a distributed network of search servers, and one or more of content servers 150. Query log file sources are typically associated with the same organization or entity, e.g., Yahoo! servers, but need not be. The query log files (also referred to as query logs) are processed by query engine 304 using statistical methods such as may be used in information theory or concepts such as mutual information. In preferred aspects, daily query logs are used, although logs for different time periods, e.g., hours, weeks, etc. may be used as desired. Query logs typically include actual queries submitted by users and may also include additional information for some or all of the queries, such as geographic location of querying users, timestamps, IP addresses of client systems, cookies, type of client (e.g., browser type), etc. Query processing engine 304 processes the various query logs and generates units therefrom. The units and associated statistics such as frequency of occurrence are stored to a memory or database file referred to herein as a unit dictionary 306. Unit dictionary 306 can be used by a search engine in responding to subsequent queries, as described below.
[0034] In one embodiment, query processor 304 includes a unit analysis module 310 and a clustering module 312. Unit analysis module 310 processes the query logs 302 to generate units. In preferred embodiments, the system uses the order that search terms are presented to identify the units making up a query. A unit may be a word (e.g., "java") or a group of words that frequently appear adjacent to each other (e.g., "new york city"). Identification of units is described in detail in above-referenced Provisional Application No. 60/460,222. The units generated by unit analysis module 310 are stored in unit dictionary 306; in some embodiments, statistical information (e.g., frequency of occurrence or frequency of occurrence in conjunction with one or more other units) may also be included. Information stored in unit dictionary 306 can be used by a search engine in responding to subsequent queries.
[0035] Clustering module 312 performs further analysis of the queries, using the units identified by unit analysis module 310, to create clusters, or concept networks, that indicate similarities among different units. As is generally known in the art, a concept network is a structure for representing relationships in which each concept corresponds to a node and relationships between concepts are represented by lines (or edges) connecting the nodes. The edges may be assigned different weights, so that the weight of an edge reflects the strength or closeness of the similarity between the concepts (nodes). In accordance with an embodiment of the present invention, clusters are generated from units by identifying different units ("members" of the cluster) that tend to appear in queries together with one or more of the same group of "signature" units. The member units may serve as nodes in a concept network. It is to be understood that other representations of connections or relationships between different units or concepts might also be used and that "concept network" as used herein encompasses alternative representations.
[0036] For example, suppose that a number of users search for information about their favorite pop-music acts. Typically, these users would construct a query that includes the name of the act (e.g., "Avril Lavigne" or "Celine Dion") and also some other words reflecting the type of information sought, such as "lyrics", "mp3", "guitar tabs", "discography", and so on. Clustering module 312 analyzes these queries and determines that "lyrics", "mp3", "guitar tabs", "discography", and so on are "signature" units for a cluster whose members include the names of different pop-music acts. Examples of specific techniques for creation of clusters that may be implemented in clustering module 312 are described in the above- referenced Provisional Application No. 60/510,220. Clustering module 312 advantageously stores cluster information including data related to member units and signatures in unit dictionary 306. Thus, the information available in unit dictionary 306 includes information about the units and their "neighborhoods" (i.e., other units that appear in queries with a given unit) as well as relationships to other units that may have similar neighborhoods. [0037] In preferred embodiments, clusters created by clustering module 312 tend to reflect real-world relationships of concepts (e.g., grouping units that belong to a common category), even though query processing engine 304 need not be provided with real-world knowledge or semantic information about particular units or queries. For example, one cluster might include "New York City", "San Francisco", and "Chicago", and the signature for that cluster might include "hotel", "restaurant", and "night club". Such a cluster would reflect that New York City, San Francisco, and Chicago are all travel destinations (or cities), but query engine 304 (Fig. 3) is not required to possess any prior knowledge of the concept "destination" (or "city"). This conceptual knowledge can grow automatically from analyzing patterns of queries. It is to be understood that where the present specification labels clusters with terms that carry semantic meaning to humans, this is a convenience to facilitate understanding of the present disclosure. In practice, any cluster labeling scheme used by query engine 304 or unit dictionary 306 need not have this property; for instance, a cluster label could simply be a number, a pointer to a signature for the cluster, and so on.
[0038] A unit might belong to multiple clusters; for example, an ambiguous unit such as "java" could end up in a "computer programming" cluster, a "food and drink" cluster, and a "travel" or "places" cluster. In some embodiments, there may be units that do not belong to any cluster.
[0039] In accordance with an embodiment of the present invention, query processing engine 304 also includes a trend analysis module 320 that looks for trends in the queries along various dimensions, such as time, geography, user demographics, user history or context (referred to herein as a "vertical" dimension), etc. Trend analysis module 320 advantageously leverages the functionality of unit analysis module 310 and clustering module 312 to perform concept analysis and/or concept discovery on different subsets of the queries, then compiles the results. The resulting trend information is advantageously added to unit dictionary 306.
[0040] Unit dictionary 306 may be implemented in any format and stored on any suitable storage media, including magnetic disk or tape, optical storage media such as compact disk (CD), and so on. The content of unit dictionary 306 advantageously includes the units, as well as additional information about each unit, such as statistical data generated by unit analysis module 310, cluster information as determined by clustering module 312, and trend information generated by trend analysis module 320. Information related to units, clusters, and/or trends can be used by a search engine to respond to subsequent queries.
[0041] Fig. 4 is a flow chart of a process 400 that may be performed by an embodiment of trend analysis module 320. At step 402, queries contained in the query logs are sorted into subsets along a selected dimension. The dimension may defined based on any information about the query that the log file provides, and queries may be divided into any number of subsets along a given dimension.
[0042] As one example, a "time" dimension may be used if the query log provides information related to the time of submission for various queries is known. Along the time dimension, queries can be divided, e.g., by week or by month for analyzing trends in user interests over time. Queries can also be divided based on time of day (e.g., morning, afternoon, evening, late night), weekday vs. weekend or holiday days, seasons, etc. Numerous variations are possible; as just one example, queries received between 8 a.m. and 10 a.m. can be aggregated over a week, a month, or another desired period. In some embodiments, time of day is determined according to the search server's local time. In the case where a search service provides multiple servers to serve different geographical regions, the server's local time is approximately representative of the user's local time. In other embodiments, the user's local time may be used.
[0043] As another example, a "geography" dimension may be used if the query log provides information about the geographical origin of the query. Geography may relate to physical geography. For example, some IP addresses may be used to identify a likely country of origin of the query; a user profile for the user who submitted the query may be used to determine where the user resides; or queries may be sorted according to whether they were received at mirror sites in different locations or regional/national sites associated with different locations. Alternatively, the geography dimension may represent a "cyber geography" where a user's IP address (or a domain determined from the JP address) is treated as the geographic origin. Physical and cyber geography dimensions may be combined.
[0044] As a third example, a "demographic" dimension may be used if the query log provides information about demographic characteristics of the user such as age, gender, etc. Any number and combination of demographic data may be used to define a demographic dimension for trend analysis. For example, a demographic dimension may include one group of "female users who are over 25 and own their homes", another group of "male users who are over 35 and rent", a group of "users under 25 who own cars", and so on.
[0045] As a fourth example, a "vertical" or "user history" dimension may be used if the query log provides information (referred to herein as "user history" or "user context") about user activity preceding entry of the query. For example, suppose that a portal site (e.g., the Yahoo! site at www.yahoo.com) includes various areas or "properties" such as a shopping property, a general web directory, a music property, and so on, with each property including a search interface enabling the user to enter queries. Information about which of these properties the user was visiting when the query was entered may be saved and used as the "vertical" dimension. Thus, in one embodiment, the vertical dimension might include one subset of queries that came from users at the "shopping" property and another subset of queries that came from users at the "general directory" property, and so on. In other embodiments, such as where a user has substantially continuous access to a dialog box for entering search queries at any time (one example of such a dialog box is described in above- referenced Provisional Application No. 60/460,222), the user history information might also include a URL or other identifier of a web page that was being displayed when the user entered the query. The vertical dimension might separate queries according to the URL, a portion thereof (e.g., domain name), or information about the content of the page (e.g., information that might be maintained in a page index).
[0046] Those skilled in the art will recognize that the foregoing examples of dimensions and subsets are illustrative and not limiting; any number of dimensions and subsets of queries along a given dimension may be used. The sorting of queries along a dimension may include an subset for "unknown" and/or "other" Values of the relevant dimension, and this subset may either be analyzed or not, depending on system configuration.
[0047] At step 404, each subset of the queries is provided to clustering module 312 to generate one or more subset-specific concept networks. In some embodiments, the existing unit dictionary 306 is used; in other embodiments, the subsets may also be provided to unit analysis module 310 to generate a subset-specific set of units. Unit analysis and clustering analysis are described in detail in above-referenced Provisional Application No. 60/510,220. Clustering analysis is advantageously performed independently for each subset of queries, so that a set of concept networks is generated for each subset. The resulting subset-specific concept networks are returned to trend analysis module 320. [0048] At step 408, trend analysis module 320 performs a trend analysis using the subset- specific concept networks to detect similarities and differences that reflect differing patterns of user behavior along the dimension. These differing patterns are referred to herein as "trends", and trend analysis generally involves comparing clusters (e.g., concept networks) and/or signatures generated from the different subsets to discover such differences. Trends and trend analysis can take a wide variety of forms.
[0049] As one example, one trend analysis might compare the relative frequencies of particular search terms or units during different time periods or for different user demographics. The units compared might be, e.g., different member units of a cluster or different signature units for a cluster. Suppose, for instance, that there is a cluster of "singers"; one trend analysis for this cluster might reveal that for users under 21, "Avril Lavigne" is a more popular query term than "Celine Dion" while the reverse is true for users over 35. Or suppose that there is a cluster of "cities" and that the signature of this cluster includes units "employment" and "hotel"; one trend analysis for this signature might reveal that "employment" is searched more often during the week while "hotel" is searched more often on the weekend. (This could reflect, e.g., that users tend to do job searching during the week and vacation planning during the weekend).
[0050] In some embodiments, trend analysis may also be used to detect more subtle trends in user interests and behavior. For example, suppose that a celebrity who is well known in one field (e.g., music) decides to enter another field (e.g., politics). The total level of interest in that celebrity might not change much, but there may be shifts in the kind of information that is sought about the celebrity. For instance, the frequency of searches for the celebrity's name plus "song" or "album" might decrease while the frequency of searches for the celebrity's name plus terms like "politics" or "taxes" increases. A comparison of the neighborhoods of the celebrity's name over different time periods would reveal such a trend.
[0051] At step 410, trend information is stored, e.g., in unit dictionary 306, for use in responding to subsequent queries. The information may be stored in conjunction with particular units and/or clusters to which the information pertains, in conjunction with signatures or suggestions associated with units or clusters, and so on.
[0052] It will be appreciated that the systems and processes described herein are illustrative and that variations and modifications are possible. Process steps described as sequential may be executed in parallel, order of steps may be varied, and steps maybe modified or combined. Trend analysis may take place over any number of dimensions simultaneously (e.g., users under age 21 coming from a "shopping" area), and the sorting along a dimension may be as coarse or fine as desired. One subset-specific concept network may be compared to another subset-specific concept network, or different subset-specific concept networks may each be compared to a "global" concept network generated from unsorted queries. Trend analysis may be limited to certain concept networks, e.g., those related to units that are used in a large enough number of queries to generate meaningful data, or units that are used as a basis for suggesting related searches. Trend analysis may be performed on units, clusters, signatures, or any combination thereof.
[0053] Like unit and cluster data, trend information is advantageously updated or regenerated from time to time to capture changes in user behavior that may reflect changing user interests (e.g., increasing or decreasing popularity of a given pop-music performer, increasing or decreasing interest in job-hunting vs. travel, etc.).
[0054] In another embodiment of the invention, trend information is used to help tailor a search response to a particular user's interest by taking relevant trends into account. Fig. 5 shows a methodology that can be used by system 110 of Fig. 2 to respond to a query. Client 120 transmits a query to search server system 160. Search server system 160 sends the query and/or its constituent units to a concept server 180, which accesses unit dictionary 306. Concept server 180 returns conceptual data related to the query, such as one or more units identified from the query along with statistics and cluster information for the various units, as well as trend information related to the units. This information may be derived, e.g., by hashing the query to identify units contained therein and accessing unit dictionary 306 to retrieve entries for each identified unit. In one embodiment, the returned information includes the units, statistics, clusters, and information about trends that are associated with the query, one or more of its constituent units, or one or more clusters associated with any of the constituent units.
[0055] Search server system 160 advantageously uses the conceptual data received from concept server 180 in responding to the query. The results returned by search server system 160 advantageously include results responsive to the user's query to the user along with other related information, such as hints and tips about what the user might want to explore next based on understanding of user needs as captured in units and their extensions and associations, including clusters and trends associated with the units and/or clusters. [0056] For example, suppose that a query includes an ambiguous term, such as "Java," that might be used in more than one context. Such a term might belong to multiple clusters, e.g., a "food and drink" cluster, a "computer" cluster, and a "location" cluster. In some embodiments, search server system 160 may use trend data to shape the response, e.g., by selecting which cluster should be given the most prominent placement. For example, if users who search for "Java" on weekdays are most likely to be interested in the computer language while users who search for "Java" on weekends are most likely to be interested in coffee, the order in which search results are presented might depend on the day of the week; e.g., results related to the computer language could be presented most prominently if it is a weekday while results related to coffee could be presented most prominently if it is a weekend day. (Some techniques for grouping search results based on relevance to different clusters are described in the above-referenced Provisional Application No. 60/510,220.)
[0057] As a second example, suppose there is a four-letter sequence ("WXYZ") that is the name of a rap group and is also the stock-ticker symbol for some corporation. Comparing concept networks or clusters based on queries received when the stock market is open versus queries received when the market is closed might reveal that WXYZ the company is being searched more often in the former case while WXYZ the rap group is being searched more often in the latter case. Accordingly, search results related to the company might be placed before or after results related to the rap group depending on whether the market is open or closed when the query is received.
[0058] As a third example, consider the term "party," which may refer to a social event or to politics, depending on the context. Some queries that include the term "party" may also include another term that resolves the ambiguity (e.g., "Republican party" or "party games"), but other queries may not include such terms. Trend analysis can be used in formulating a response to an ambiguous query. For example, Fig. 6 is a graph of trend data showing the frequency (in arbitrary units) of queries containing the term "party" along a time-of-day dimension (in 4-hour increments). Such trend data might be obtained by analyzing some set of queries in accordance with process 400 described above. Trend data set 602 ("X" symbol) corresponds to queries in which "party" appears together with another term clearly related to social events (e.g., "games", "favors", "supplies"). Trend data set 604 ("O" symbol) corresponds to queries in which "party" appears together with another term clearly related to politics (e.g., "Republican", "Democrat", "candidate"). Trend data set 606 (triangles) corresponds to queries containing "party" in which the ambiguity cannot be resolved by reference to other terms in the query.
[0059] One way to resolve the ambiguity in accordance with the present invention is by comparing the shapes of the different trends (e.g., first and/or second derivatives of the data sets shown in Fig. 6) and determining whether the trend for the ambiguous set of queries matches one of the unambiguous sets more closely than the other. In the example shown in Fig. 6, ambiguous trend data 606 is clearly more similar to the "social event" trend data 602 than to the "political" trend data 604. From this, it can be inferred that users who enter an ambiguous query including "party" are more likely interested in social events than in politics, and search results can be presented accordingly, e.g., by presenting results related to social events ahead of results related to politics.
[0060] It should be noted that the degree of similarity between two sets of trend data can also be considered and used to establish a confidence level for the inferred intent. In the example shown in Fig. 6, the ambiguous trend data 606 matches the "social event" trend data 602 quite closely, so the confidence level for the inference would be high. In other instances, the confidence level might be lower or higher, depending on user behavior. Such a confidence level may be another factor in formulating a response to a query. For instance, given a high enough confidence level, only results related to social events might be presented initially; in such a case, an option may be provided for the user to retrieve results related to politics.
[0061] This example is illustrative, and variations and modifications are possible. For instance, trends along multiple dimensions (e.g., time of day and user age) might be considered together in determining similarity. The trend comparison may be based on any appropriate measure of similarity of two curves, such as actual frequency values, derivatives (rates of change), higher-order derivatives, or any combination thereof.
[0062] As a fourth example, consider the term "poison", which may refer to a toxic substance or to a heavy metal band. Again, some queries will include other terms that resolve the ambiguity; for instance, queries such as "rat poison" or "poison control" would be related to toxic substances, while "poison lyrics" or "poison mp3" would be related to the band. Other queries, however, will simply be ambiguous.
[0063] An analysis such as that described in the "party" example above might be used to resolve the ambiguity. Another approach involves recognizing that "poison" the band belongs to a cluster of music performers, and that this cluster includes other performers whose names are relatively unambiguous. (E.g., virtually every user who enters "Britney Spears" as a query is interested in the famous singer.) Queries containing unambiguous names of music performers can be used as a "control" group, from which inferences about the behavior of users who are looking for information about music performers can be drawn. This behavior can then be compared to the behavior of users who type in an ambiguous term (e.g., "poison") that might or might not refer to a performer, in order to estimate the likelihood that the ambiguous term is intended to refer to the performer.
[0064] Numerous comparisons between the control group and queries containing the ambiguous term are possible. For instance, the fraction of queries containing the ambiguous term "poison" that also contain a term unambiguously associated with music (e.g., "lyrics") may be computed, as well as a corresponding "control" fraction for queries containing an unambiguous name (e.g., "Britney Spears"). The control fraction can be considered as approximating the likelihood that users interested in music would enter a potentially ambiguous query. By comparing this to the frequency of unambiguously music-oriented queries containing "poison", it is possible to infer the likelihood that a user who enters the query "poison" is interested in the band.
[0065] To make this example more concrete, suppose that the fraction of queries containing the term "poison" that also contain the term "lyrics" is 0.1, and that the fraction of queries containing the term "Britney Spears" that also contain the term "lyrics" is 0.2. From this, it can be inferred that half the users who enter the term "poison" probably do not intend to refer to the band. In this case, both band-related and toxin-related results would be prominently displayed. A similar analysis can also be made using a control fraction based on a cluster that includes toxic "poison" (e.g., a medicine-related cluster), in order to estimate the likelihood that users searching for the toxic substance would fail to include an ambiguity-resolving term. If the likelihood of ambiguous queries for terms in the medicine-related cluster is small, that would suggest that the ambiguous query "poison" more likely refers to the band.
[0066] In addition, user intent can be inferred by comparing the likelihoods of receiving a potentially ambiguous query from a user interested in medicine as opposed to a user interested in music. For example, suppose that 29% of queries from users interested in music are single-unit queries containing just the name of a performer, while only 2% of queries from users interested in medicine contain a single unit. It can be inferred that the user who enters the single-unit query "poison" is more likely interested in the band.
[0067] It will be appreciated that more sophisticated variations of this analysis may also be used. For instance, rather than using just one performer to compute the control fraction, more performers might be used (e.g., not just "Britney Spears" but also "matchbox twenty", "Johnny Cash", etc.). Similarly, rather than considering only one ambiguity-resolving term, multiple terms might be used (e.g., not just "lyrics" but also "mp3", "tour", "album", etc.). Similar analyses can also be applied to other ambiguous terms and other clusters.
[0068] As a fifth example, suppose a user enters the query "digital cameras." The user might be looking for sites that sell digital cameras or for information (such as product reviews) about digital cameras. Trend analysis of previous queries along various dimensions (including, e.g., the user profile and/or the vertical dimension) can be used to determine which is more likely so that results can be tailored accordingly.
[0069] As a sixth example, in some embodiments, search server system 160 might suggest related searches based on trend information. For example, if a user who is known to be under 21 enters a query containing a singer's name, search server system 160 might, in addition to displaying a list of sites relevant to that singer, suggest searches related to one or more other singers identified by trend analysis as being popular among users under 21 (e.g., "Avril Lavigne"). For a 35-year-old user, different singers (e.g., "Celine Dion") might be suggested. In another instance, if a query of "new york city" is entered on a weekday, the suggestion "employment" might be made more prominent than the suggestion "hotel" (if this is consistent with the trend data), while the reverse order might be used if the same query is entered on a weekend.
[0070] In some embodiments, trend data might also be used by search server system 160 to infer information about a particular user, such as the user's likely sex, age, or geographic location. Such inferences may involve comparing a number of queries entered by the same user against the trend data to match the user's behavior against different dimensions. It should be understood that these inferences are not guaranteed to be accurate; they reflect how the user behaves and not necessarily who the user is. Any inferences made about a particular user can be used to tailor responses to further queries entered by that user, again using the trend data as one indication of likely user intent. Thus, trend data may be used to customize the response of a search server to the particular user who enters a query. [0071] Trend data may also be used by a provider of search server system 160 in conjunction with advertising decisions such as which advertisement(s) to display on a specific occasion and/or the price to be charged for a particular ad placement.
[0072] While the invention has been described with respect to specific embodiments, one skilled in the art will recognize that numerous modifications are possible. For instance, the number and specificity of dimensions and subsets of queries used for trend analysis may vary, and not all queries received need be used for trend analysis. Clusters, signatures and trend information can be defined dynamically, and trend analysis can be performed from time to time (e.g., daily or weekly) to update trend information in response to changing user behavior. In still other embodiments, queries may be processed as they are received so that cluster, signature, and trend data is updated substantially in real time. The automated systems and methods described herein may be augmented or supplemented with human review of all or part of the resulting unit dictionary, including clusters, signatures, trend information related to any or all of the units, clusters, and signatures, and the like.
[0073] The embodiments described herein may make reference to web sites, links, and other terminology specific to instances where the World Wide Web (or a subset thereof) serves as the search corpus. It should be understood that the systems and processes described herein can be adapted for use with a different search corpus (such as an electronic database or document repository) and that results may include content as well as links or references to locations where content may be found.
[0074] Thus, although the invention has been described with respect to specific embodiments, it will be appreciated that the invention is intended to cover all modifications and equivalents within the scope of the following claims.

Claims

WHAT IS CLAIMED IS: 1. A method for processing queries, the method comprising: receiving a set of previous queries, wherein each of the previous queries includes one or more units; sorting the queries into subsets along a dimension; generating one or more subset-specific concept networks for each subset of the queries; and comparing corresponding subset-specific concept networks from at least two of the subsets, thereby generating trend information for a unit.
2. The method of claim 1, wherein the dimension is a time dimension.
3. The method of claim 1 , wherein the dimension is defined by reference to one or more demographic characteristics of users.
4. The method of claim 1, wherein the dimension is a geographic dimension.
5. The method of claim 1 , wherein the dimension is a vertical dimension representing a user context of the query.
6. The method of claim 1, further comprising: receiving a subsequent query; parsing the subsequent query into one or more constituent units; and using the trend information in formulating a response to the subsequent query.
7. The method of claim 6, wherein the trend information is used to resolve an ambiguous term of the query.
8. The method of claim 6, wherein the trend information is used to suggest a related search.
9. The method of claim 6, wherein the trend information is used to group response data.
10. The method of claim 6, wherein the trend information is used to select an advertisement for display.
11. A system for processing queries, comprising: a trend analysis module configured to sort a set of queries into a plurality of subsets along a dimension; and a clustering module configured to generate respective concept networks for each of the plurality of subsets, wherein the trend analysis module is further configured to compare the respective concept networks for at least two of the subsets, thereby generating trend information.
12. The system of claim 11, wherein the dimension is a time dimension.
13. The system of claim 11 , wherein the dimension is defined by reference to one or more demographic characteristics of users.
14. The system of claim 11, wherein the dimension is a geographic dimension.
15. The system of claim 11, wherein the dimension is a vertical dimension representing a user context of the query.
16. The system of claim 11 , further comprising a response module configured to receive a subsequent query, to parse the subsequent query into one or more constituent units, and to formulate a response to the query based at least in part on the trend information.
17. The system of claim 16, wherein the response module is further configured to use the trend information to resolve an ambiguous term of the query.
18. The system of claim 16, wherein the response module is further configured to use the trend information to suggest a related search.
19. The system of claim 16, wherein the response module is further configured to use the trend information to group response data.
20. The method of claim 16, wherein the response module is further configured to use the trend information to select an advertisement for display.
PCT/US2004/037571 2003-11-12 2004-11-12 Systems and methods for search query processing using trend analysis WO2005050367A2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2006539831A JP4722051B2 (en) 2003-11-12 2004-11-12 System and method for search query processing using trend analysis
EP04819083A EP1690169A4 (en) 2003-11-12 2004-11-12 Systems and methods for search query processing using trend analysis

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/712,307 US7240049B2 (en) 2003-11-12 2003-11-12 Systems and methods for search query processing using trend analysis
US10/712,307 2003-11-12

Publications (2)

Publication Number Publication Date
WO2005050367A2 true WO2005050367A2 (en) 2005-06-02
WO2005050367A3 WO2005050367A3 (en) 2006-08-24

Family

ID=34552670

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2004/037571 WO2005050367A2 (en) 2003-11-12 2004-11-12 Systems and methods for search query processing using trend analysis

Country Status (6)

Country Link
US (2) US7240049B2 (en)
EP (1) EP1690169A4 (en)
JP (1) JP4722051B2 (en)
KR (1) KR101031449B1 (en)
CN (1) CN100401292C (en)
WO (1) WO2005050367A2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008276769A (en) * 2007-04-26 2008-11-13 Nhn Corp Method for providing keyword on the basis of keyword providing range and system thereof
US20130046532A1 (en) * 2003-05-20 2013-02-21 Google Inc. System and method for providing definitions

Families Citing this family (296)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8706747B2 (en) * 2000-07-06 2014-04-22 Google Inc. Systems and methods for searching using queries written in a different character-set and/or language from the target pages
US6832220B1 (en) * 2000-08-03 2004-12-14 Microsoft Corporation Method and apparatus for file searching, accessing file identifiers from reference page
US7693830B2 (en) 2005-08-10 2010-04-06 Google Inc. Programmable search engine
US7716199B2 (en) 2005-08-10 2010-05-11 Google Inc. Aggregating context data for programmable search engines
US7743045B2 (en) 2005-08-10 2010-06-22 Google Inc. Detecting spam related and biased contexts for programmable search engines
US7831476B2 (en) * 2002-10-21 2010-11-09 Ebay Inc. Listing recommendation in a network-based commerce system
US7693827B2 (en) * 2003-09-30 2010-04-06 Google Inc. Personalization of placed content ordering in search results
US7660400B2 (en) * 2003-12-19 2010-02-09 At&T Intellectual Property Ii, L.P. Method and apparatus for automatically building conversational systems
US8954420B1 (en) 2003-12-31 2015-02-10 Google Inc. Methods and systems for improving a search ranking using article information
US7158966B2 (en) * 2004-03-09 2007-01-02 Microsoft Corporation User intent discovery
US8386728B1 (en) 2004-03-31 2013-02-26 Google Inc. Methods and systems for prioritizing a crawl
US8275839B2 (en) 2004-03-31 2012-09-25 Google Inc. Methods and systems for processing email messages
US7941439B1 (en) 2004-03-31 2011-05-10 Google Inc. Methods and systems for information capture
US8161053B1 (en) 2004-03-31 2012-04-17 Google Inc. Methods and systems for eliminating duplicate events
US7409383B1 (en) 2004-03-31 2008-08-05 Google Inc. Locating meaningful stopwords or stop-phrases in keyword-based retrieval systems
US8346777B1 (en) 2004-03-31 2013-01-01 Google Inc. Systems and methods for selectively storing event data
US7333976B1 (en) 2004-03-31 2008-02-19 Google Inc. Methods and systems for processing contact information
US8631076B1 (en) 2004-03-31 2014-01-14 Google Inc. Methods and systems for associating instant messenger events
US8099407B2 (en) 2004-03-31 2012-01-17 Google Inc. Methods and systems for processing media files
US20050246358A1 (en) * 2004-04-29 2005-11-03 Gross John N System & method of identifying and predicting innovation dissemination
US20060010029A1 (en) * 2004-04-29 2006-01-12 Gross John N System & method for online advertising
US20050246391A1 (en) * 2004-04-29 2005-11-03 Gross John N System & method for monitoring web pages
US8250065B1 (en) * 2004-05-28 2012-08-21 Adobe Systems Incorporated System and method for ranking information based on clickthroughs
US9626437B2 (en) * 2004-06-10 2017-04-18 International Business Machines Corporation Search scheduling and delivery tool for scheduling a search using a search framework profile
US7565630B1 (en) 2004-06-15 2009-07-21 Google Inc. Customization of search results for search queries received from third party sites
US8972444B2 (en) 2004-06-25 2015-03-03 Google Inc. Nonstandard locality-based text entry
US8392453B2 (en) * 2004-06-25 2013-03-05 Google Inc. Nonstandard text entry
US9223868B2 (en) * 2004-06-28 2015-12-29 Google Inc. Deriving and using interaction profiles
US7562069B1 (en) 2004-07-01 2009-07-14 Aol Llc Query disambiguation
US8078607B2 (en) * 2006-03-30 2011-12-13 Google Inc. Generating website profiles based on queries from webistes and user activities on the search results
US7555524B1 (en) * 2004-09-16 2009-06-30 Symantec Corporation Bulk electronic message detection by header similarity analysis
US8874570B1 (en) 2004-11-30 2014-10-28 Google Inc. Search boost vector based on co-visitation information
US7962461B2 (en) * 2004-12-14 2011-06-14 Google Inc. Method and system for finding and aggregating reviews for a product
US9092523B2 (en) 2005-02-28 2015-07-28 Search Engine Technologies, Llc Methods of and systems for searching by incorporating user-entered information
US9378203B2 (en) 2008-05-01 2016-06-28 Primal Fusion Inc. Methods and apparatus for providing information of interest to one or more users
US20060224583A1 (en) * 2005-03-31 2006-10-05 Google, Inc. Systems and methods for analyzing a user's web history
US20060224579A1 (en) * 2005-03-31 2006-10-05 Microsoft Corporation Data mining techniques for improving search engine relevance
US20060224608A1 (en) * 2005-03-31 2006-10-05 Google, Inc. Systems and methods for combining sets of favorites
US9256685B2 (en) * 2005-03-31 2016-02-09 Google Inc. Systems and methods for modifying search results based on a user's history
US7403767B2 (en) * 2005-04-29 2008-07-22 Siemens Aktiengesellschaft Cellular telephone network with record keeping for missed calls
US20060253423A1 (en) * 2005-05-07 2006-11-09 Mclane Mark Information retrieval system and method
US7647312B2 (en) * 2005-05-12 2010-01-12 Microsoft Corporation System and method for automatic generation of suggested inline search terms
US8103659B1 (en) * 2005-06-06 2012-01-24 A9.Com, Inc. Perspective-based item navigation
US8200687B2 (en) 2005-06-20 2012-06-12 Ebay Inc. System to generate related search queries
US10769215B2 (en) * 2005-07-14 2020-09-08 Conversant Wireless Licensing S.A R.L. Method, apparatus and computer program product providing an application integrated mobile device search solution using context information
US7844599B2 (en) * 2005-08-24 2010-11-30 Yahoo! Inc. Biasing queries to determine suggested queries
US7672932B2 (en) * 2005-08-24 2010-03-02 Yahoo! Inc. Speculative search result based on a not-yet-submitted search query
US7747639B2 (en) * 2005-08-24 2010-06-29 Yahoo! Inc. Alternative search query prediction
US8229914B2 (en) 2005-09-14 2012-07-24 Jumptap, Inc. Mobile content spidering and compatibility determination
US7752209B2 (en) 2005-09-14 2010-07-06 Jumptap, Inc. Presenting sponsored content on a mobile communication facility
US9471925B2 (en) 2005-09-14 2016-10-18 Millennial Media Llc Increasing mobile interactivity
US8819659B2 (en) 2005-09-14 2014-08-26 Millennial Media, Inc. Mobile search service instant activation
US8615719B2 (en) 2005-09-14 2013-12-24 Jumptap, Inc. Managing sponsored content for delivery to mobile communication facilities
US8503995B2 (en) 2005-09-14 2013-08-06 Jumptap, Inc. Mobile dynamic advertisement creation and placement
US8103545B2 (en) 2005-09-14 2012-01-24 Jumptap, Inc. Managing payment for sponsored content presented to mobile communication facilities
US8688671B2 (en) 2005-09-14 2014-04-01 Millennial Media Managing sponsored content based on geographic region
US7912458B2 (en) 2005-09-14 2011-03-22 Jumptap, Inc. Interaction analysis and prioritization of mobile content
US8027879B2 (en) 2005-11-05 2011-09-27 Jumptap, Inc. Exclusivity bidding for mobile sponsored content
US7860871B2 (en) 2005-09-14 2010-12-28 Jumptap, Inc. User history influenced search results
US9703892B2 (en) 2005-09-14 2017-07-11 Millennial Media Llc Predictive text completion for a mobile communication facility
US20110313853A1 (en) 2005-09-14 2011-12-22 Jorey Ramer 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
US10592930B2 (en) 2005-09-14 2020-03-17 Millenial Media, LLC Syndication of a behavioral profile using a monetization platform
US8666376B2 (en) 2005-09-14 2014-03-04 Millennial Media Location based mobile shopping affinity program
US7660581B2 (en) 2005-09-14 2010-02-09 Jumptap, Inc. Managing sponsored content based on usage history
US8195133B2 (en) 2005-09-14 2012-06-05 Jumptap, Inc. Mobile dynamic advertisement creation and placement
US8302030B2 (en) 2005-09-14 2012-10-30 Jumptap, Inc. Management of multiple advertising inventories using a monetization platform
US8364521B2 (en) 2005-09-14 2013-01-29 Jumptap, Inc. Rendering targeted advertisement on mobile communication facilities
US10038756B2 (en) 2005-09-14 2018-07-31 Millenial Media LLC Managing sponsored content based on device characteristics
US8364540B2 (en) 2005-09-14 2013-01-29 Jumptap, Inc. Contextual targeting of content using a monetization platform
US8832100B2 (en) 2005-09-14 2014-09-09 Millennial Media, Inc. User transaction history influenced search results
US8131271B2 (en) 2005-11-05 2012-03-06 Jumptap, Inc. Categorization of a mobile user profile based on browse behavior
US8290810B2 (en) 2005-09-14 2012-10-16 Jumptap, Inc. Realtime surveying within mobile sponsored content
US7702318B2 (en) 2005-09-14 2010-04-20 Jumptap, Inc. Presentation of sponsored content based on mobile transaction event
US8812526B2 (en) 2005-09-14 2014-08-19 Millennial Media, Inc. Mobile content cross-inventory yield optimization
US8805339B2 (en) 2005-09-14 2014-08-12 Millennial Media, Inc. Categorization of a mobile user profile based on browse and viewing behavior
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
US8311888B2 (en) 2005-09-14 2012-11-13 Jumptap, Inc. Revenue models associated with syndication of a behavioral profile using a monetization platform
US8209344B2 (en) 2005-09-14 2012-06-26 Jumptap, Inc. Embedding sponsored content in mobile applications
US9058406B2 (en) 2005-09-14 2015-06-16 Millennial Media, Inc. Management of multiple advertising inventories using a monetization platform
US8238888B2 (en) 2006-09-13 2012-08-07 Jumptap, Inc. Methods and systems for mobile coupon placement
US8532633B2 (en) 2005-09-14 2013-09-10 Jumptap, Inc. System for targeting advertising content to a plurality of mobile communication facilities
US8156128B2 (en) 2005-09-14 2012-04-10 Jumptap, Inc. Contextual mobile content placement on a mobile communication facility
US7676394B2 (en) 2005-09-14 2010-03-09 Jumptap, Inc. Dynamic bidding and expected value
US7577665B2 (en) 2005-09-14 2009-08-18 Jumptap, Inc. User characteristic influenced search results
US7769764B2 (en) 2005-09-14 2010-08-03 Jumptap, Inc. Mobile advertisement syndication
US8660891B2 (en) 2005-11-01 2014-02-25 Millennial Media Interactive mobile advertisement banners
US9076175B2 (en) 2005-09-14 2015-07-07 Millennial Media, Inc. Mobile comparison shopping
US10911894B2 (en) 2005-09-14 2021-02-02 Verizon Media Inc. Use of dynamic content generation parameters based on previous performance of those parameters
EP1934843A2 (en) * 2005-10-04 2008-06-25 Thomson Global Resources Systems, methods, and software for assessing ambiguity of medical terms
US9466068B2 (en) 2005-10-26 2016-10-11 Cortica, Ltd. System and method for determining a pupillary response to a multimedia data element
US11620327B2 (en) 2005-10-26 2023-04-04 Cortica Ltd System and method for determining a contextual insight and generating an interface with recommendations based thereon
US8266185B2 (en) * 2005-10-26 2012-09-11 Cortica Ltd. System and methods thereof for generation of searchable structures respective of multimedia data content
US9372940B2 (en) 2005-10-26 2016-06-21 Cortica, Ltd. Apparatus and method for determining user attention using a deep-content-classification (DCC) system
US9031999B2 (en) 2005-10-26 2015-05-12 Cortica, Ltd. System and methods for generation of a concept based database
US11361014B2 (en) 2005-10-26 2022-06-14 Cortica Ltd. System and method for completing a user profile
US10691642B2 (en) 2005-10-26 2020-06-23 Cortica Ltd System and method for enriching a concept database with homogenous concepts
US10191976B2 (en) 2005-10-26 2019-01-29 Cortica, Ltd. System and method of detecting common patterns within unstructured data elements retrieved from big data sources
US10698939B2 (en) 2005-10-26 2020-06-30 Cortica Ltd System and method for customizing images
US10635640B2 (en) 2005-10-26 2020-04-28 Cortica, Ltd. System and method for enriching a concept database
US10535192B2 (en) 2005-10-26 2020-01-14 Cortica Ltd. System and method for generating a customized augmented reality environment to a user
US10848590B2 (en) 2005-10-26 2020-11-24 Cortica Ltd System and method for determining a contextual insight and providing recommendations based thereon
US8818916B2 (en) 2005-10-26 2014-08-26 Cortica, Ltd. System and method for linking multimedia data elements to web pages
US10380623B2 (en) 2005-10-26 2019-08-13 Cortica, Ltd. System and method for generating an advertisement effectiveness performance score
US9747420B2 (en) 2005-10-26 2017-08-29 Cortica, Ltd. System and method for diagnosing a patient based on an analysis of multimedia content
US8312031B2 (en) 2005-10-26 2012-11-13 Cortica Ltd. System and method for generation of complex signatures for multimedia data content
US10360253B2 (en) 2005-10-26 2019-07-23 Cortica, Ltd. Systems and methods for generation of searchable structures respective of multimedia data content
US9256668B2 (en) 2005-10-26 2016-02-09 Cortica, Ltd. System and method of detecting common patterns within unstructured data elements retrieved from big data sources
US9767143B2 (en) 2005-10-26 2017-09-19 Cortica, Ltd. System and method for caching of concept structures
US10380267B2 (en) 2005-10-26 2019-08-13 Cortica, Ltd. System and method for tagging multimedia content elements
US11032017B2 (en) 2005-10-26 2021-06-08 Cortica, Ltd. System and method for identifying the context of multimedia content elements
US10193990B2 (en) 2005-10-26 2019-01-29 Cortica Ltd. System and method for creating user profiles based on multimedia content
US9396435B2 (en) 2005-10-26 2016-07-19 Cortica, Ltd. System and method for identification of deviations from periodic behavior patterns in multimedia content
US11216498B2 (en) 2005-10-26 2022-01-04 Cortica, Ltd. System and method for generating signatures to three-dimensional multimedia data elements
US9558449B2 (en) 2005-10-26 2017-01-31 Cortica, Ltd. System and method for identifying a target area in a multimedia content element
US9477658B2 (en) 2005-10-26 2016-10-25 Cortica, Ltd. Systems and method for speech to speech translation using cores of a natural liquid architecture system
US11604847B2 (en) 2005-10-26 2023-03-14 Cortica Ltd. System and method for overlaying content on a multimedia content element based on user interest
US9953032B2 (en) 2005-10-26 2018-04-24 Cortica, Ltd. System and method for characterization of multimedia content signals using cores of a natural liquid architecture system
US11403336B2 (en) 2005-10-26 2022-08-02 Cortica Ltd. System and method for removing contextually identical multimedia content elements
US10180942B2 (en) 2005-10-26 2019-01-15 Cortica Ltd. System and method for generation of concept structures based on sub-concepts
US10621988B2 (en) 2005-10-26 2020-04-14 Cortica Ltd System and method for speech to text translation using cores of a natural liquid architecture system
US11003706B2 (en) 2005-10-26 2021-05-11 Cortica Ltd System and methods for determining access permissions on personalized clusters of multimedia content elements
US10585934B2 (en) 2005-10-26 2020-03-10 Cortica Ltd. Method and system for populating a concept database with respect to user identifiers
US10614626B2 (en) 2005-10-26 2020-04-07 Cortica Ltd. System and method for providing augmented reality challenges
US8326775B2 (en) 2005-10-26 2012-12-04 Cortica Ltd. Signature generation for multimedia deep-content-classification by a large-scale matching system and method thereof
US9529984B2 (en) 2005-10-26 2016-12-27 Cortica, Ltd. System and method for verification of user identification based on multimedia content elements
US8175585B2 (en) 2005-11-05 2012-05-08 Jumptap, Inc. System for targeting advertising content to a plurality of mobile communication facilities
KR100809415B1 (en) * 2005-12-08 2008-03-05 한국전자통신연구원 system for extending a data query using an ontology and method threrfor
US7680775B2 (en) * 2005-12-13 2010-03-16 Iac Search & Media, Inc. Methods and systems for generating query and result-based relevance indexes
US7627559B2 (en) * 2005-12-15 2009-12-01 Microsoft Corporation Context-based key phrase discovery and similarity measurement utilizing search engine query logs
US7634463B1 (en) 2005-12-29 2009-12-15 Google Inc. Automatically generating and maintaining an address book
US9262446B1 (en) 2005-12-29 2016-02-16 Google Inc. Dynamically ranking entries in a personal data book
US7685144B1 (en) 2005-12-29 2010-03-23 Google Inc. Dynamically autocompleting a data entry
US7739225B2 (en) 2006-02-09 2010-06-15 Ebay Inc. Method and system to analyze aspect rules based on domain coverage of an aspect-value pair
US7725417B2 (en) * 2006-02-09 2010-05-25 Ebay Inc. Method and system to analyze rules based on popular query coverage
US9443333B2 (en) 2006-02-09 2016-09-13 Ebay Inc. Methods and systems to communicate information
US7640234B2 (en) * 2006-02-09 2009-12-29 Ebay Inc. Methods and systems to communicate information
US7849047B2 (en) * 2006-02-09 2010-12-07 Ebay Inc. Method and system to analyze domain rules based on domain coverage of the domain rules
US7739226B2 (en) * 2006-02-09 2010-06-15 Ebay Inc. Method and system to analyze aspect rules based on domain coverage of the aspect rules
US8380698B2 (en) * 2006-02-09 2013-02-19 Ebay Inc. Methods and systems to generate rules to identify data items
US7689554B2 (en) * 2006-02-28 2010-03-30 Yahoo! Inc. System and method for identifying related queries for languages with multiple writing systems
US7571162B2 (en) * 2006-03-01 2009-08-04 Microsoft Corporation Comparative web search
US9953097B2 (en) * 2006-03-16 2018-04-24 Ebay Inc. System and method for managing network traffic routing
US7716229B1 (en) * 2006-03-31 2010-05-11 Microsoft Corporation Generating misspells from query log context usage
KR100754768B1 (en) * 2006-04-06 2007-09-03 엔에이치엔(주) System and method for providing recommended word of adjustment each user and computer readable recording medium recording program for implementing the method
US8126874B2 (en) * 2006-05-09 2012-02-28 Google Inc. Systems and methods for generating statistics from search engine query logs
US7523108B2 (en) * 2006-06-07 2009-04-21 Platformation, Inc. Methods and apparatus for searching with awareness of geography and languages
US7814112B2 (en) * 2006-06-09 2010-10-12 Ebay Inc. Determining relevancy and desirability of terms
US20080016157A1 (en) * 2006-06-29 2008-01-17 Centraltouch Technology Inc. Method and system for controlling and monitoring an apparatus from a remote computer using session initiation protocol (sip)
US20080041945A1 (en) * 2006-07-06 2008-02-21 Todd Williamson Ticket reconstruction
US8688485B2 (en) * 2006-07-06 2014-04-01 Google Inc. Low fare search for ticket changes using married segment indicators
US20080010102A1 (en) * 2006-07-06 2008-01-10 Todd Williamson Database for storing historical travel information
US8731980B2 (en) * 2006-07-06 2014-05-20 Google Inc. Low fare search for ticket changes
US20080010101A1 (en) * 2006-07-06 2008-01-10 Todd Williamson Determining reissue methods for ticket changes
US7664744B2 (en) * 2006-07-14 2010-02-16 Yahoo! Inc. Query categorizer
WO2008030568A2 (en) * 2006-09-07 2008-03-13 Feedster, Inc. Feed crawling system and method and spam feed filter
US7979425B2 (en) * 2006-10-25 2011-07-12 Google Inc. Server-side match
US10733326B2 (en) 2006-10-26 2020-08-04 Cortica Ltd. System and method for identification of inappropriate multimedia content
US7937403B2 (en) * 2006-10-30 2011-05-03 Yahoo! Inc. Time-based analysis of related keyword searching
US9110975B1 (en) * 2006-11-02 2015-08-18 Google Inc. Search result inputs using variant generalized queries
US20080109752A1 (en) * 2006-11-07 2008-05-08 Yahoo! Inc. Expanding search query input box to support livesearch interaction
US8635203B2 (en) * 2006-11-16 2014-01-21 Yahoo! Inc. Systems and methods using query patterns to disambiguate query intent
US7630970B2 (en) * 2006-11-28 2009-12-08 Yahoo! Inc. Wait timer for partially formed query
US7941436B2 (en) * 2006-11-30 2011-05-10 Yahoo, Inc. Keyword bidding strategy for novel concepts
US7630972B2 (en) * 2007-01-05 2009-12-08 Yahoo! Inc. Clustered search processing
US7822734B2 (en) * 2006-12-12 2010-10-26 Yahoo! Inc. Selecting and presenting user search results based on an environment taxonomy
US20090012841A1 (en) * 2007-01-05 2009-01-08 Yahoo! Inc. Event communication platform for mobile device users
US7912847B2 (en) * 2007-02-20 2011-03-22 Wright State University Comparative web search system and method
US7827170B1 (en) 2007-03-13 2010-11-02 Google Inc. Systems and methods for demoting personalized search results based on personal information
US8738606B2 (en) * 2007-03-30 2014-05-27 Microsoft Corporation Query generation using environment configuration
CN101286150B (en) * 2007-04-10 2010-09-15 阿里巴巴集团控股有限公司 Method and device for creating updated parameter, method and device for displaying relevant key words
US7672937B2 (en) * 2007-04-11 2010-03-02 Yahoo, Inc. Temporal targeting of advertisements
US7895227B1 (en) * 2007-04-27 2011-02-22 Intuit Inc. System and method for detecting trends in network-based content
US8019742B1 (en) 2007-05-31 2011-09-13 Google Inc. Identifying related queries
CN101179472B (en) * 2007-05-31 2011-05-11 腾讯科技(深圳)有限公司 Network resource searching method and searching system
US7644075B2 (en) * 2007-06-01 2010-01-05 Microsoft Corporation Keyword usage score based on frequency impulse and frequency weight
US8051040B2 (en) 2007-06-08 2011-11-01 Ebay Inc. Electronic publication system
US7693823B2 (en) * 2007-06-28 2010-04-06 Microsoft Corporation Forecasting time-dependent search queries
US8290921B2 (en) * 2007-06-28 2012-10-16 Microsoft Corporation Identification of similar queries based on overall and partial similarity of time series
US8090709B2 (en) 2007-06-28 2012-01-03 Microsoft Corporation Representing queries and determining similarity based on an ARIMA model
US7685099B2 (en) * 2007-06-28 2010-03-23 Microsoft Corporation Forecasting time-independent search queries
US7685100B2 (en) 2007-06-28 2010-03-23 Microsoft Corporation Forecasting search queries based on time dependencies
US7693908B2 (en) * 2007-06-28 2010-04-06 Microsoft Corporation Determination of time dependency of search queries
US7689622B2 (en) * 2007-06-28 2010-03-30 Microsoft Corporation Identification of events of search queries
US20090006311A1 (en) * 2007-06-28 2009-01-01 Yahoo! Inc. Automated system to improve search engine optimization on web pages
US7966341B2 (en) * 2007-08-06 2011-06-21 Yahoo! Inc. Estimating the date relevance of a query from query logs
US20090043749A1 (en) * 2007-08-06 2009-02-12 Garg Priyank S Extracting query intent from query logs
US7428522B1 (en) * 2007-09-27 2008-09-23 Yahoo! Inc. Real-time search term popularity determination, by search origin geographic location
US20090089169A1 (en) * 2007-09-28 2009-04-02 Google Inc. Event Based Serving
US8903756B2 (en) * 2007-10-19 2014-12-02 Ying Zhao System and method for knowledge pattern search from networked agents
KR100893129B1 (en) * 2007-10-24 2009-04-15 엔에이치엔(주) System for extracting recommended keyword of multimedia contents and method thereof
US7853475B2 (en) * 2007-11-09 2010-12-14 Motorola Mobility, Inc. Intelligent advertising based on mobile content
US7415460B1 (en) * 2007-12-10 2008-08-19 International Business Machines Corporation System and method to customize search engine results by picking documents
US8612409B2 (en) * 2007-12-18 2013-12-17 Yahoo! Inc. Method and apparatus for detecting and explaining bursty stream events in targeted groups
US20090222395A1 (en) * 2007-12-21 2009-09-03 Marc Light Systems, methods, and software for entity extraction and resolution coupled with event and relationship extraction
US20090164266A1 (en) * 2007-12-21 2009-06-25 Microsoft Corporation Category aggregated opinion data
US9501467B2 (en) 2007-12-21 2016-11-22 Thomson Reuters Global Resources Systems, methods, software and interfaces for entity extraction and resolution and tagging
WO2009088478A1 (en) * 2007-12-31 2009-07-16 Thomson Reuters Global Resources Systems, methods and sofstware for evaluating user queries
US8402031B2 (en) * 2008-01-11 2013-03-19 Microsoft Corporation Determining entity popularity using search queries
WO2009097558A2 (en) * 2008-01-30 2009-08-06 Thomson Reuters Global Resources Financial event and relationship extraction
US9489495B2 (en) 2008-02-25 2016-11-08 Georgetown University System and method for detecting, collecting, analyzing, and communicating event-related information
US9746985B1 (en) 2008-02-25 2017-08-29 Georgetown University System and method for detecting, collecting, analyzing, and communicating event-related information
US9529974B2 (en) 2008-02-25 2016-12-27 Georgetown University System and method for detecting, collecting, analyzing, and communicating event-related information
US8881040B2 (en) 2008-08-28 2014-11-04 Georgetown University System and method for detecting, collecting, analyzing, and communicating event-related information
US20090222321A1 (en) * 2008-02-28 2009-09-03 Microsoft Corporation Prediction of future popularity of query terms
US20090276414A1 (en) * 2008-04-30 2009-11-05 Microsoft Corporation Ranking model adaptation for searching
US10198503B2 (en) 2008-05-01 2019-02-05 Primal Fusion Inc. System and method for performing a semantic operation on a digital social network
US9361365B2 (en) * 2008-05-01 2016-06-07 Primal Fusion Inc. Methods and apparatus for searching of content using semantic synthesis
US8126930B2 (en) * 2008-05-06 2012-02-28 Yahoo! Inc. Micro-bucket testing for page optimization
US9798807B2 (en) * 2008-05-06 2017-10-24 Excalibur Ip, Llc Algorithmically generated topic pages
WO2009151640A1 (en) * 2008-06-13 2009-12-17 Ebay Inc. Method and system for clustering
US10922363B1 (en) * 2010-04-21 2021-02-16 Richard Paiz Codex search patterns
US11048765B1 (en) 2008-06-25 2021-06-29 Richard Paiz Search engine optimizer
US9183323B1 (en) 2008-06-27 2015-11-10 Google Inc. Suggesting alternative query phrases in query results
US9740986B2 (en) * 2008-09-30 2017-08-22 Excalibur Ip, Llc System and method for deducing user interaction patterns based on limited activities
US20100114887A1 (en) * 2008-10-17 2010-05-06 Google Inc. Textual Disambiguation Using Social Connections
US7949647B2 (en) 2008-11-26 2011-05-24 Yahoo! Inc. Navigation assistance for search engines
US8631007B1 (en) * 2008-12-09 2014-01-14 Google Inc. Disambiguating keywords and other query terms used to select sponsored content
US8452791B2 (en) 2009-01-16 2013-05-28 Google Inc. Adding new instances to a structured presentation
US20100185651A1 (en) * 2009-01-16 2010-07-22 Google Inc. Retrieving and displaying information from an unstructured electronic document collection
US8977645B2 (en) * 2009-01-16 2015-03-10 Google Inc. Accessing a search interface in a structured presentation
US8412749B2 (en) 2009-01-16 2013-04-02 Google Inc. Populating a structured presentation with new values
US8615707B2 (en) * 2009-01-16 2013-12-24 Google Inc. Adding new attributes to a structured presentation
US20100191758A1 (en) * 2009-01-26 2010-07-29 Yahoo! Inc. System and method for improved search relevance using proximity boosting
US8700630B2 (en) * 2009-02-24 2014-04-15 Yahoo! Inc. Algorithmically generated topic pages with interactive advertisements
US8190601B2 (en) 2009-05-22 2012-05-29 Microsoft Corporation Identifying task groups for organizing search results
US20100306235A1 (en) * 2009-05-28 2010-12-02 Yahoo! Inc. Real-Time Detection of Emerging Web Search Queries
US20110106819A1 (en) * 2009-10-29 2011-05-05 Google Inc. Identifying a group of related instances
US8768938B2 (en) * 2009-06-25 2014-07-01 Hewlett-Packard Development Company, L.P. Histogram processing by trend and pattern removal
US20110010378A1 (en) * 2009-07-07 2011-01-13 John Dukes Trend charting system and method
US11113299B2 (en) 2009-12-01 2021-09-07 Apple Inc. System and method for metadata transfer among search entities
US20130304818A1 (en) * 2009-12-01 2013-11-14 Topsy Labs, Inc. Systems and methods for discovery of related terms for social media content collection over social networks
US8515975B1 (en) 2009-12-07 2013-08-20 Google Inc. Search entity transition matrix and applications of the transition matrix
US8849785B1 (en) 2010-01-15 2014-09-30 Google Inc. Search query reformulation using result term occurrence count
WO2011090036A1 (en) * 2010-01-19 2011-07-28 日本電気株式会社 Trend information retrieval device, trend information retrieval method and recording medium
US8150859B2 (en) * 2010-02-05 2012-04-03 Microsoft Corporation Semantic table of contents for search results
US8903794B2 (en) * 2010-02-05 2014-12-02 Microsoft Corporation Generating and presenting lateral concepts
US8260664B2 (en) * 2010-02-05 2012-09-04 Microsoft Corporation Semantic advertising selection from lateral concepts and topics
US8983989B2 (en) * 2010-02-05 2015-03-17 Microsoft Technology Licensing, Llc Contextual queries
US20110231395A1 (en) * 2010-03-19 2011-09-22 Microsoft Corporation Presenting answers
US20110258017A1 (en) * 2010-04-15 2011-10-20 Ffwd Corporation Interpretation of a trending term to develop a media content channel
US8380723B2 (en) * 2010-05-21 2013-02-19 Microsoft Corporation Query intent in information retrieval
US8560562B2 (en) 2010-07-22 2013-10-15 Google Inc. Predictive query suggestion caching
US11386510B2 (en) 2010-08-05 2022-07-12 Thomson Reuters Enterprise Centre Gmbh Method and system for integrating web-based systems with local document processing applications
US8731939B1 (en) 2010-08-06 2014-05-20 Google Inc. Routing queries based on carrier phrase registration
JP5542017B2 (en) * 2010-09-15 2014-07-09 アルパイン株式会社 Name search device
US20120095997A1 (en) * 2010-10-18 2012-04-19 Microsoft Corporation Providing contextual hints associated with a user session
US20120265784A1 (en) 2011-04-15 2012-10-18 Microsoft Corporation Ordering semantic query formulation suggestions
US20120271844A1 (en) * 2011-04-20 2012-10-25 Microsoft Corporation Providng relevant information for a term in a user message
US20120290612A1 (en) * 2011-05-10 2012-11-15 Ritoe Rajan V N-dimensional data searching and display
US10776431B2 (en) * 2011-10-26 2020-09-15 Oath Inc. System and method for recommending content based on search history and trending topics
US9069880B2 (en) * 2012-03-16 2015-06-30 Microsoft Technology Licensing, Llc Prediction and isolation of patterns across datasets
US9916396B2 (en) 2012-05-11 2018-03-13 Google Llc Methods and systems for content-based search
US8620925B1 (en) 2012-05-17 2013-12-31 Google Inc. System and method for identifying advertising opportunities
US8954438B1 (en) 2012-05-31 2015-02-10 Google Inc. Structured metadata extraction
US10275525B2 (en) * 2012-06-14 2019-04-30 Excalibur Ip, Llc Method and system for mining trends around trending terms
US20130339136A1 (en) * 2012-06-18 2013-12-19 Ebay Inc. Detection of events from bursts of activity indicators
US9471606B1 (en) 2012-06-25 2016-10-18 Google Inc. Obtaining information to provide to users
CN103516583B (en) * 2012-06-28 2017-09-29 北京奇虎科技有限公司 A kind of method and device for being used in instant messaging carry out interacting message
US9536528B2 (en) 2012-07-03 2017-01-03 Google Inc. Determining hotword suitability
US8577671B1 (en) 2012-07-20 2013-11-05 Veveo, Inc. Method of and system for using conversation state information in a conversational interaction system
US9110852B1 (en) 2012-07-20 2015-08-18 Google Inc. Methods and systems for extracting information from text
US9465833B2 (en) * 2012-07-31 2016-10-11 Veveo, Inc. Disambiguating user intent in conversational interaction system for large corpus information retrieval
US9390174B2 (en) 2012-08-08 2016-07-12 Google Inc. Search result ranking and presentation
US9529867B1 (en) * 2012-10-11 2016-12-27 Google Inc. System and method for providing a dynamic dashboard
US9256682B1 (en) 2012-12-05 2016-02-09 Google Inc. Providing search results based on sorted properties
US11741090B1 (en) 2013-02-26 2023-08-29 Richard Paiz Site rank codex search patterns
US11809506B1 (en) 2013-02-26 2023-11-07 Richard Paiz Multivariant analyzing replicating intelligent ambience evolving system
US20140250116A1 (en) * 2013-03-01 2014-09-04 Yahoo! Inc. Identifying time sensitive ambiguous queries
US9218819B1 (en) 2013-03-01 2015-12-22 Google Inc. Customizing actions based on contextual data and voice-based inputs
US9342503B1 (en) * 2013-03-12 2016-05-17 Amazon Technologies, Inc. Correlation across languages
US10055462B2 (en) 2013-03-15 2018-08-21 Google Llc Providing search results using augmented search queries
US9477759B2 (en) 2013-03-15 2016-10-25 Google Inc. Question answering using entity references in unstructured data
US10108700B2 (en) 2013-03-15 2018-10-23 Google Llc Question answering to populate knowledge base
US8996559B2 (en) 2013-03-17 2015-03-31 Alation, Inc. Assisted query formation, validation, and result previewing in a database having a complex schema
EP2994908B1 (en) 2013-05-07 2019-08-28 Veveo, Inc. Incremental speech input interface with real time feedback
US9946757B2 (en) 2013-05-10 2018-04-17 Veveo, Inc. Method and system for capturing and exploiting user intent in a conversational interaction based information retrieval system
US9311406B2 (en) 2013-06-05 2016-04-12 Microsoft Technology Licensing, Llc Discovering trending content of a domain
KR102016545B1 (en) 2013-10-25 2019-10-21 한화테크윈 주식회사 System for search and method for operating thereof
US9336300B2 (en) * 2014-01-17 2016-05-10 Facebook, Inc. Client-side search templates for online social networks
US9785661B2 (en) 2014-02-07 2017-10-10 Microsoft Technology Licensing, Llc Trend response management
MY184201A (en) 2014-05-19 2021-03-25 Mimos Berhad A system and method for analyzing concept evolution using network analysis
US9465831B2 (en) * 2014-07-18 2016-10-11 Wipro Limited System and method for optimizing storage of multi-dimensional data in data storage
JP6162664B2 (en) * 2014-08-13 2017-07-12 ヤフー株式会社 Extraction apparatus, search server, information processing apparatus, extraction system, extraction method, and extraction program
US10210214B2 (en) 2014-08-27 2019-02-19 International Business Machines Corporation Scalable trend detection in a personalized search context
US20160103861A1 (en) * 2014-10-10 2016-04-14 OnPage.org GmbH Method and system for establishing a performance index of websites
US9852136B2 (en) 2014-12-23 2017-12-26 Rovi Guides, Inc. Systems and methods for determining whether a negation statement applies to a current or past query
US9854049B2 (en) 2015-01-30 2017-12-26 Rovi Guides, Inc. Systems and methods for resolving ambiguous terms in social chatter based on a user profile
US9629033B2 (en) * 2015-06-16 2017-04-18 Cisco Technology, Inc. System and method to facilitate service hand-outs using user equipment groups in a network environment
US10528632B2 (en) 2016-07-19 2020-01-07 Microsoft Technology Licensing, Llc Systems and methods for responding to an online user query
US11416535B2 (en) 2018-04-20 2022-08-16 Microsoft Technology Licensing, Llc User interface for visualizing search data
CN110033156B (en) * 2018-12-14 2023-05-09 创新先进技术有限公司 Method and device for determining business activity effect
US11366812B2 (en) 2019-06-25 2022-06-21 Google Llc Using live data streams and/or search queries to determine information about developing events
US11256992B2 (en) 2019-06-25 2022-02-22 Google Llc Developing event-specific provisional knowledge graphs
CN111159248B (en) * 2019-12-12 2023-04-28 北京字节跳动网络技术有限公司 Information retrieval method and device and electronic equipment
US20230230109A1 (en) * 2022-01-19 2023-07-20 Martin A. Alpert Trend prediction

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5619709A (en) * 1993-09-20 1997-04-08 Hnc, Inc. System and method of context vector generation and retrieval
US6006221A (en) * 1995-08-16 1999-12-21 Syracuse University Multilingual document retrieval system and method using semantic vector matching
US6076088A (en) 1996-02-09 2000-06-13 Paik; Woojin Information extraction system and method using concept relation concept (CRC) triples
US6460034B1 (en) 1997-05-21 2002-10-01 Oracle Corporation Document knowledge base research and retrieval system
US6006321A (en) 1997-06-13 1999-12-21 Malleable Technologies, Inc. Programmable logic datapath that may be used in a field programmable device
EP1062602B8 (en) * 1998-02-13 2018-06-13 Oath Inc. Search engine using sales and revenue to weight search results
US6424973B1 (en) * 1998-07-24 2002-07-23 Jarg Corporation Search system and method based on multiple ontologies
AU5581599A (en) 1998-08-24 2000-03-14 Virtual Research Associates, Inc. Natural language sentence parser
US6317722B1 (en) * 1998-09-18 2001-11-13 Amazon.Com, Inc. Use of electronic shopping carts to generate personal recommendations
US6363373B1 (en) 1998-10-01 2002-03-26 Microsoft Corporation Method and apparatus for concept searching using a Boolean or keyword search engine
US6189002B1 (en) * 1998-12-14 2001-02-13 Dolphin Search Process and system for retrieval of documents using context-relevant semantic profiles
US6327590B1 (en) * 1999-05-05 2001-12-04 Xerox Corporation System and method for collaborative ranking of search results employing user and group profiles derived from document collection content analysis
US6772150B1 (en) 1999-12-10 2004-08-03 Amazon.Com, Inc. Search query refinement using related search phrases
US6675159B1 (en) 2000-07-27 2004-01-06 Science Applic Int Corp Concept-based search and retrieval system
WO2002019147A1 (en) * 2000-08-28 2002-03-07 Emotion, Inc. Method and apparatus for digital media management, retrieval, and collaboration
US20020087346A1 (en) * 2000-11-28 2002-07-04 Harkey Scott T. Utilization of competencies as drivers in a learning network
US6766316B2 (en) * 2001-01-18 2004-07-20 Science Applications International Corporation Method and system of ranking and clustering for document indexing and retrieval
US6584470B2 (en) * 2001-03-01 2003-06-24 Intelliseek, Inc. Multi-layered semiotic mechanism for answering natural language questions using document retrieval combined with information extraction
US7194454B2 (en) * 2001-03-12 2007-03-20 Lucent Technologies Method for organizing records of database search activity by topical relevance
US7403938B2 (en) 2001-09-24 2008-07-22 Iac Search & Media, Inc. Natural language query processing
US7406459B2 (en) * 2003-05-01 2008-07-29 Microsoft Corporation Concept network
US20040260677A1 (en) 2003-06-17 2004-12-23 Radhika Malpani Search query categorization for business listings search

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See references of EP1690169A4 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130046532A1 (en) * 2003-05-20 2013-02-21 Google Inc. System and method for providing definitions
US8713047B2 (en) * 2003-05-20 2014-04-29 Google Inc. System and method for providing definitions
JP2008276769A (en) * 2007-04-26 2008-11-13 Nhn Corp Method for providing keyword on the basis of keyword providing range and system thereof

Also Published As

Publication number Publication date
CN1930566A (en) 2007-03-14
JP2007511016A (en) 2007-04-26
US20050102259A1 (en) 2005-05-12
WO2005050367A3 (en) 2006-08-24
US7562076B2 (en) 2009-07-14
EP1690169A4 (en) 2008-12-17
CN100401292C (en) 2008-07-09
EP1690169A2 (en) 2006-08-16
KR101031449B1 (en) 2011-04-26
US20070226198A1 (en) 2007-09-27
JP4722051B2 (en) 2011-07-13
US7240049B2 (en) 2007-07-03
KR20070007031A (en) 2007-01-12

Similar Documents

Publication Publication Date Title
US7240049B2 (en) Systems and methods for search query processing using trend analysis
JP4994243B2 (en) Search processing by automatic categorization of queries
US7340460B1 (en) Vector analysis of histograms for units of a concept network in search query processing
US7707201B2 (en) Systems and methods for managing and using multiple concept networks for assisted search processing
EP1678639B1 (en) Systems and methods for search processing using superunits
US6311194B1 (en) System and method for creating a semantic web and its applications in browsing, searching, profiling, personalization and advertising
US20100125604A1 (en) System and method for url based query for retrieving data related to a context
US20050065774A1 (en) Method of self enhancement of search results through analysis of system logs
JPH10513587A (en) Methods and systems for accessing information
KR20120065423A (en) Reranking and increasing the relevance of the results of searches
WO2001055909A1 (en) System and method for bookmark management and analysis
CN114417179A (en) Meta-search engine processing method and device for large-scale knowledge base group
KR20240015280A (en) Systems and methods for search query processing using trend analysis
EP1208470A1 (en) Method and system for creating a topical data structure
de Sousa Maria Theme-BASED Retrieval OF Web News

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 200480036754.7

Country of ref document: CN

AK Designated states

Kind code of ref document: A2

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG 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 NA 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): GM KE LS MW MZ NA 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 IS IT LU MC NL PL 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
WWE Wipo information: entry into national phase

Ref document number: 2006539831

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 2004819083

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 1020067011525

Country of ref document: KR

WWP Wipo information: published in national office

Ref document number: 2004819083

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 1020067011525

Country of ref document: KR