Abstract:
A method and a system for searching for information using an electronic device, such as a consumer electronic device, that can be connected to a network. Such searching for information involves determining a context for a search for information, forming a search query based on the context of search for information, and performing a contextual search based on the search query. Performing the contextual search further includes performing a query refinement.

Description:
FIELD OF THE INVENTION 
       [0001]    The present invention relates to contextual searches, and in particular, to search and query refinement on consumer electronic (CE) devices. 
       BACKGROUND OF THE INVENTION 
       [0002]    The Internet (Web) has become a major source of information on virtually every conceivable topic. The easy accessibility of such vast amounts of information is unprecedented. In the past, someone seeking even the most basic information related to a topic was required to refer to a book or visit a library, spending many hours without a guarantee of success. However, with the advent of computers and the Internet, an individual can obtain virtually any information within a few clicks of a keyboard. 
         [0003]    A consumer electronic (CE) device can be enriched by enabling the device to seamlessly obtain related information from the Internet, while the user enjoys the content available at home. However, at times, finding the right piece of information from the Internet can be difficult. The complexity of natural language, with characteristics such as polysemy, makes retrieving the proper information a non-trivial task. The same word, when used in different contexts can imply completely different meanings. For example, the word “sting” may mean bee sting when used in entomology, an undercover operation in a spy novel or the name of an artist when used in musical context. In the absence of any information about the context, it is difficult to obtain the proper results. 
         [0004]    The traditional searching approach on a personal computer (PC) has been for a user to form an initial query and then iteratively refine the query depending upon the kind of results obtained based on the initial query. There are several problems with applying the PC approach to a CE device. First, a CE device would require a keyboard for a user to repeatedly enter queries/refinements to find the proper results. Further, searching is an involving process requiring some amount of cognitive load. A consumer using a CE device to listen to her favorite music may not be inclined to find relevant information from the Internet if it requires more effort than pushing a few buttons. 
         [0005]    Further, querying a search engine not only requires entering keywords using a keyboard, but as noted, typically several iterations of refinement are required before the desired results are obtained. On a typical CE device without a keyboard, this is difficult to achieve. Forming a good query requires the user to have at least some knowledge about the context of the information desired, as well as the ability to translate that knowledge into appropriate search words. Even if the user has the skills required to form a good query and the means to enter the query, she may not be inclined to do so while using a CE device for entertainment. There is, therefore, a need for a method and system that provides contextual search and query refinement for CE devices. 
       BRIEF SUMMARY OF THE INVENTION 
       [0006]    The present invention provides a method and a system for searching for information using an electronic device, such as a CE device, that can be connected to a network. Such searching for information involves determining a context for a search for information, forming a search query based on the context of search for information, and performing a contextual search based on the search query. Performing the contextual search further includes performing a query refinement. 
         [0007]    The network includes a local network including CE devices, and an external network such as the Internet, wherein the search is directed to information in the external network. Determining the context further includes determining the context based on the content in the network, wherein searching further includes filtering the search results based on said context. 
         [0008]    Determining the context further includes using metadata related to the content in the local network to determine the context for search query formation. Determining said context can further include using metadata related to the content in the network and current application states in the local network, to determine the context for query formation and result filtering. 
         [0009]    Determining said context can further include gathering metadata about available content in the network. When the network includes a local network and an external network, the step of gathering metadata further includes gathering metadata about available content in the local network. 
         [0010]    In addition, the step of determining said context can further include determining the context using metadata related to: available content in the local network, current application states in the local network and additional contextual terms derived from the external network. 
         [0011]    As such, the present invention provides contextual search and query refinement for CE devices. The cognitive load of query formation is relegated to the device itself, freeing the user to simply enjoy the content. Knowing the context of the search query, the device then uses that context for query formation, as well as result filtering on behalf of the user. 
         [0012]    These and other features, aspects and advantages of the present invention will become understood with reference to the following description, appended claims and accompanying figures. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0013]      FIG. 1  shows an example of a network implementing an embodiment of the present invention. 
           [0014]      FIG. 2  shows an example contextual search and query refinement method for CE devices, according to an embodiment of the present invention. 
           [0015]      FIG. 3  shows an example functional block diagram of a system implementing a contextual search and query refinement method, according to an embodiment of the present invention. 
           [0016]      FIG. 4  shows a local taxonomy of metadata, according to an embodiment of the present invention. 
       
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
       [0017]    The present invention provides contextual search and query refinement for CE devices, wherein a cognitive load of query formation is relegated to the device itself, freeing the user to simply enjoy the content. The device then uses that context for query formation, as well as result filtering on behalf of the user. 
         [0018]    In one example implementation involving a local area network, metadata related to local content and current application states are gathered. The application states include user application states such as the current device(s) activity, for example, playing a music CD, playing a DVD, etc. The gathered data is then used to obtain the context for query formation and result filtering, essentially without user intervention. In this example, the user application states, the local context, and optionally, additional contextual terms derived from external sources (e.g., the external network), are utilized to form an appropriate query. The query is submitted to a search engine and the results are presented to a user. Preferably, contextual information is used to refine the search results returned by the search engine so that the search results are more likely to satisfy the user request. 
         [0019]      FIG. 1  shows a functional architecture of an example network  10 , such as a local network (e.g., a home network) embodying aspects of the present invention. The network  10  comprises devices  20  which may include content, CE devices  30  (e.g., a cell phone, PDA, MP3 player, TV, VCR, STB, etc.) which may include content, and an interface device  40  that connects the network  10  to an external network  50  (e.g., another local network, the Internet, etc.). Though the devices  20  and  30  are shown separately, a single physical device can include one or more logical devices. 
         [0020]    The devices  20  and  30 , respectively, can implement the UPnP protocol for communication therebetween. Those skilled in the art will recognize that the present invention is useful with other network communication protocols such as JINI, HAVi, 1394, etc. The network  10  can comprise a wireless network, a wired network, or a combination thereof. 
         [0021]    Referring to the flowchart in  FIG. 2 , each of the devices  20  and  30  can implement an example contextual search and query refinement process  200  according to the present invention, which includes the steps of:
       Step  202 : Extracting contextual information indicating current user activity from application states in the local network.   Step  204 : Extracting contextual information about the content in the local network, from metadata sources in the local network.   Step  206 : Extracting contextual information about the content in the local network, from metadata sources in an external network.   Step  208 : Deriving additional contextual information from the extracted contextual information.   Step  210 : Extracting additional contextual information about the content in the local network from results obtained from the external network.   Step  212 : Forming an appropriate query based on the obtained contextual information, and performing a search based on the query.   Step  214 : Using the contextual information to guide the selection of desired content from the search results.       
 
         [0029]    In one example, step  204  described above for extracting contextual information, includes the further steps of:
       (a) Extracting contextual information from one or more of the following sources:
           (i) The user&#39;s current activity indicated by the states of applications running on devices in the local network (e.g., the user is playing media in a CD player, wherein the type of content being played is “music”); and   (ii) Metadata about the content available in the local network, from one of the following sources:
               (1) The metadata sources in the local network (e.g., ID3 tags from a local MP3 player);   (2) The metadata sources over the external network (e.g., the album, the artist etc., information from a Compact Disc Database (CDDB));   (3) The metadata embedded in available content (e.g., closed captions), etc.; and   
               
           (b) Deriving additional contextual information from the obtained contextual information. In one example, given a current activity that is “playing music title: Brand New Day by artist: Sting,” it is deduced that Sting may have a “biography” and “Brand New Day” may have “lyrics.”       
 
         [0037]    In addition, in step  214  using the obtained contextual information to guide the selection of the most relevant content from the search results can further include forming an appropriate query from the obtained (extracted) contextual information, by:
       (a) Using a subset of terms from the obtained contextual information to form a query. For example, “music artist Sting biography age debut.”   (b) Using the obtained contextual information to guide the selection of the most relevant content from the search results. For example, while searching for “Sting discography,” search results that do not contain the album “Brand New Day” are ignored because from the local content, it is known that one of the albums by Sting is called “Brand New Day.”       
 
         [0040]      FIG. 3  shows a functional block diagram of an example system  300  implementing such a contextual search and query refinement process, according to an embodiment of the present invention. The system  300  shows specific components that derive and use contextual information to form a query and to filter the search results for presentation to a user, as described. 
         [0041]    The system  300  utilizes the following components: Broadcast Unstructured Data Sources  301 , a Local Contextual Information Gatherer  302 , a Local Metadata Cache  303 , a Contextual Information Deriver  304 , a Correlation Framework  305 , a Broadcast Data Extractor and Analyzer  306 , Local Content Sources  307 , Document Theme Extractor  308 , Application States  309 , a client User Interface (UI)  310 , a Query Execution Planner  312 , a Correlation Plan Executor  314 , a Correlation Constructor  316 , an Internet Metadata Gatherer from Structured Sources  318 , Internet Structured Data Sources  320 , a query  322 , a Search Engine Interface  324 , Web Pages  326 , a Snippet Analyzer  328 , and Internet Unstructured Data Sources  330 . The function of each component is further described below. 
         [0042]    The Broadcast Unstructured Data Sources  301  comprises unstructured data embedded in media streams. Examples of such data sources include cable receivers, satellite receivers, TV antennas, radio antennas, etc. 
         [0043]    The Local Contextual Information Gatherer (LCIG)  302  collects metadata and other contextual information about the contents in the local network. The LCIG  302  also derives additional contextual information from existing contextual information. The LCIG  302  further performs one or more of the following functions: (1) gathering metadata from local sources whenever new content is added to the local content/collection, (2) gathering information about a user&#39;s current activity from the states of applications running on the local network devices (e.g., devices  20 ,  30  in  FIG. 1 ), and (3) accepting metadata and/or contextual information extracted from Internet sources and other external sources that describe the local content. 
         [0044]    The LCIG  302  includes a Contextual Information Deriver (CID)  304  which derives new contextual information from existing information. For this purpose, the CID  304  uses a local taxonomy of metadata related concepts. An example partial taxonomy  400  is shown in  FIG. 4 . Each edge  402  (solid connector line) connects a pair of concepts  404  (solid ellipses). An edge  408  between a pair of concepts  404  represents a HAS-A relationship between that pair of concepts  404 . Each edge  408  (dotted connector line) connects a concept  404  and a synonym  406  (dotted ellipse), and represents a IS-A relationship therebetween. As such, each edge  408  connects a concept  404  with its synonym  406 . 
         [0045]    In one example where the current information need is about a music artist, the CID  304  uses the taxonomy  400  to determine “biography” and “discography” as derived contextual terms. The CID  304  also knows that “age” and “debut” are relevant concepts in an artist&#39;s biography. 
         [0046]    Referring back to  FIG. 3 , the LCIG  302  further maintains a local metadata cache  303 , and stores the collected metadata in the cache  303 . The cache  303  provides an interface for other system components to add, delete, access, and modify the metadata in the cache  303 . For example, the cache  303  provides an interface for the CID  304 , Local Content Sources  307 , Internet Metadata Gatherer from Structured Sources  318 , Broadcast Data Extractor and Analyzer  306 , Document Theme Extractor  308  and Snippet Analyzer  328 , etc., for extracting metadata from local or external sources. 
         [0047]    The Broadcast Data Extractor and Analyzer (BDEA)  306  receives contextual information from the Correlation Framework (CF)  305  described further below, and uses that information to guide the extraction of a list of terms from data embedded in the broadcast content. The BDEA  306  then returns the list of terms back to the CF  305 . 
         [0048]    The Local Content Sources  307  includes information about the digital content stored in the local network (e.g., on CD&#39;s, DVD&#39;s, tapes, internal hard disks, removable storage devices, etc.). 
         [0049]    The Document Theme Extractor (DTE)  308  receives contextual information from the CF  305  as input and performs one or more of the following operations guided by the contextual information: (1) extracting and selecting a list of terms that best summarize the themes of documents returned as search results by the Search Engine Interface  324 , and returning the list to the CF  305 , and (2) clustering the documents returned as search results, extracting and selecting therefrom a list of terms that best summarize the themes of each cluster, and returning the list to the CF  305 . The DTE  308  decides among one or more of these operations based on current user requirements. For example, if only the top (most important) keywords from a set of documents are needed, then operation  1  above is utilized. If there is a need to cluster the documents returned and then find the most important (representative) keywords from each cluster, then operation  2  above is utilized. 
         [0050]    The Local Application States  309  includes information about the current user activity using one or more devices  20  or  30  (e.g., the user is listening to music using a DTV). 
         [0051]    The client UI  310  provides an interface for user interaction with the system  300 . The UI  310  maps user interface functions to a small number of keys, receives user input from the selected keys and passes the input to the CF  305  in a pre-defined form. Further, the UI  310  displays the results from the CF  305  when instructed by the CF  305 . An implementation of the UI  310  includes a module that receives signals from a remote control, and a web browser that overlays on a TV screen. 
         [0052]    The Query Execution Planner (QEP)  312  provides a plan that carries out a user request to perform a task such as a search. The Correlation Plan Executor (CPE)  314  executes the plan by orchestrating components in the system  300  and correlating the results from the components to deliver better results to the user. For example, the CPE  314  performs a “task” by orchestrating all the components and devices required for performing the task. 
         [0053]    The Correlation Constructor  316  cooperates with the QEP  312  to form a plan by correlating data gathered from external sources with the data gathered from the local network. The Correlation Constructor  316  can also form the plan automatically using the correlation. 
         [0054]    The Metadata Gatherer from Structured Sources  318  gathers metadata about local content from the Internet Structured Data Sources  320 . The Internet Structured Data Sources  320  includes data with semantics that are closely defined. Examples of such sources include Internet servers that host XML data enclosed by semantic-defining tags, Internet database servers such as CDDB, etc. 
         [0055]    The query  322  is a type of encapsulation of the information desired, and is searched for, such as on the Internet. The query  322  is formed by the CF  305  from the information and metadata gathered from the local and/or external network. 
         [0056]    The Search Engine Interface (SEI)  324  inputs a query  322  and transmits it to one or more search engines over the Internet, using a pre-defined Internet communication protocol such as HTTP. The SEI  324  also receives the response to the query from said search engines, and passes the response (i.e., search results) to a component or device that issued the query. 
         [0057]    The Internet Unstructured Data Sources  330  includes data or data segments with semantics that cannot be analyzed (e.g., free text). Internet servers that host web pages typically contain this type of data. 
         [0058]    The web pages  326  include web pages on the Internet that are returned in the search results. In one example, when a query is sent to a search engine, the search engine returns a list of URLs that are relevant to that query. For each relevant URL, most search engines also return a small piece of text such as a snippet, from a corresponding web page. The main purpose of the snippets is to provide the user a brief overview of what the web page is about. The snippet is either from the web page itself, or taken from the meta tags of the web page. Different search engines have different techniques for generating these snippets. 
         [0059]    The Snippet Analyzer  328  inputs the search results and a query from the CF  305 . The Snippet Analyzer  328  then analyzes snippets from the search results and extracts from the snippets terms that are relevant to the query. The extracted terms are provided to the CF  305 . 
         [0060]    The CF  305  orchestrates contextual query formation, contextual search and refinement by:
       (a) Providing contextual information to appropriate components in the system  300  (i.e., one or more of the components  302 ,  306 ,  310 ,  324 ,  328 ,  308 ,  318 ) for query formation, query plan formation, plan execution or examining search results.   (b) Receiving a list of terms from components that retrieve related information from the Internet (i.e., one or more of components  308 ,  328 ,  324 ). Then, making the following decisions:
           (i) Whether the terms in the list should be further refined;   (ii) Whether any of the terms in the list carry contextual information;   (iii) Whether and how a new query should be formed using the contextual information and the existing query; and   (iv) Whether any of the contextual information should be used as context for a query.   
           (c) If new contextual terms are found from a list of terms, then using all or some of the terms in task formation, and optionally providing the terms to the LCIG  302  to store for later use.   (d) If a new query should be formed, then constructing the query according to the decision made and executing the new query.   (e) If some of the contextual information should be used as context for a query, then using such information according to a pre-determined format, and executing the query.   (f) If a list of terms returned by a component needs to be further refined, then further refining the list of terms using the contextual information.       
 
         [0071]    As such, a CE device  20  or  30  ( FIG. 1 ) configured based on the process  200  and the system  300  can form a query and perform a search using contextual information about a user&#39;s activity, local network content, and the metadata about such content. The user is not required to be involved in this process. Further, users need not be skilled in query formation to obtain relevant results such as from the Internet. Such a configured CE device uses contextual information to select among the relevant results returned in response to the query. 
         [0072]    As is known to those skilled in the art, the aforementioned example architectures described above, according to the present invention, can be implemented in many ways, such as program instructions for execution by a processor, as logic circuits, as an application specific integrated circuit, as firmware, etc. 
         [0073]    The present invention has been described in considerable detail with reference to certain preferred versions thereof; however, other versions are possible. Therefore, the spirit and scope of the appended claims should not be limited to the description of the preferred versions contained herein.