Abstract:
A system and method and method for personalized searching of a computer network, such as a local area network or the world wide web, is disclosed. The method involves submitting a user search query, submitting the search query and a user profile to a search engine, processing the search query based on a user profile to calculate the relevancy of search results, and returning highly personalized search results to the user based upon the calculated relevancy. The user profile may include declared and observed information. Declared information includes information provided by the user, such as, for example, individual and demographic information. Observed information is gathered by the system by reviewing user word usage gathered from the user&#39;s documents, machine configuration, e-mail and instant messages, and other areas. The system may compare words to a baseline to determine the relative incidence of word usage for inclusion into the user&#39;s profile. Observed information may further or alternatively include information regarding the user&#39;s historical behavior, including the types and frequency of websites visited.

Description:
CROSS-REFERENCE TO RELATED APPLICATION  
       [0001]     This application claims the benefit of U.S. Provisional Application No. 60/571,452, filed May 14, 2004, the disclosure of which is hereby incorporated by reference. 
     
    
     FIELD OF THE INVENTION  
       [0002]     The present invention relates generally to an information retrieval application, and more specifically to a search engine for searching information on computer networks based on a combination of the user&#39;s query and information the user provides or the device discerns about the user.  
       BACKGROUND  
       [0003]     There are many search engines capable of searching computer networks for documents of interest, and generating a list of relevant documents (“search results”) based on the search engine&#39;s determination of relationships between the user&#39;s query and characteristics of the documents. Such search engines typically present the search results by sorting the results based on the search engines&#39; determination of relevance of a document to the query. As such, the results are inherently limited by the specific terms provided by the user and the user&#39;s ability to accurately construct the query such that the terms specify the user&#39;s intent. 
     
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0004]     Exemplary embodiments of the personalized search engine disclosed herein are illustrated in the accompanying drawings, which are for illustrative purposes only. The drawings comprise the following figures, in which:  
         [0005]      FIG. 1  is a flowchart illustrating the operation of an exemplary search process whereby the search engine utilizes the user&#39;s personalized profile, or digital signature, to determine relevance of documents;  
         [0006]      FIG. 2  is a flowchart illustrating the creation of the digital signature based on information declared by and observed of the user;  
         [0007]      FIG. 3  is a schematic diagram illustrating the components of the exemplary personalized search application capable of using the apparatus of  FIG. 1 ;  
         [0008]      FIG. 4  is a schematic diagram illustrating select information that would be stored in the personal signature of the user;  
         [0009]      FIG. 5  is a schematic diagram illustrating the processing of the search query and post-processing results based on the signature; and  
         [0010]      FIG. 6  is a schematic diagram illustrating the processing of the search query together with the signature to provide the user search results. 
     
    
     DETAILED DESCRIPTION OF THE INVENTION  
       [0011]     Throughout the following description, the term “computer network” is used to refer to a system of interconnected devices, including without limitation, user-accessible server sites, peer to peer networks, the Internet as well as intranets and local area networks. Further, the term “site” is used to refer to server sites that implement current or future World Wide Web standards for the coding and transmission of hypertext documents. These standards currently include HTML (the Hypertext Markup Language), HTTP (the Hypertext Transfer Protocol), and asynchronous protocols. It should be understood that the term “site” is not intended to imply a single geographic location, as a web or other network site can, for example, include multiple geographically distributed computer systems that are appropriately linked together. Furthermore, while the following description relates to an embodiment utilizing the Internet and related protocols, other networks or hypermedia databases, such as networked interactive televisions, and other present or future protocols may be used as well. For example, for use with cell phones, personal digital assistants (PDAs), and the like, HDML (Handheld Device Markup Language), WAP (Wireless Application Protocol), WML (wireless markup language), XML (Extensible Markup Language), or the like can be used.  
         [0012]     Additionally, unless otherwise indicated, the functions described herein are performed by programs including executable code or instructions running on one or more network-enabled devices, including, without limitation, general-purpose computers, cellular phones, PDAs, and other present or future devices. The devices may include one or more central processing units for executing program code, volatile memory, such as random access memory (RAM) for temporarily storing data and data structures during program execution, non-volatile memory, such as a hard disk storage or optical storage, for storing programs and data, including databases, and a network interface for accessing an intranet and/or the Internet. However, the functions described herein may also be implemented using special purpose computers, state machines, and/or hardwired electronic circuits. The exemplary processes described herein do not necessarily have to be performed in the described sequence, and not all states have to be reached or performed.  
         [0013]     As used herein, the term “search engine” is defined broadly, and includes, in addition to its ordinary meaning, a local or remote information retrieval system whereby users and/or electronic agents formulate and submit a query and the system locates documents that relate to the information contained in the query. The processing of those queries and identification of the related documents may occur in a number of ways including the use of an index, such as an inverted file structure, signature files or any other present or future manner to retrieve information. The index is typically developed through computerized agents that access the world wide web through a process known as crawling and spidering.  
         [0014]     As used herein, the term “query” is defined broadly, and includes, in addition to its ordinary meaning, a user&#39;s or agent&#39;s submission of terms to a search engine. Formation of the query may occur in a number of manners including, without limitation, exact or lexical, Boolean, natural language, or any other present or future manner.  
         [0015]     As used herein, the term “document” is defined broadly, and includes, in addition to its ordinary meaning, any files and data, including without limitation, computer files, machine configurations, executables and websites. The term “document” is not limited to computer files containing text, but also includes computer files containing graphics, audio, video, and other multimedia data.  
         [0016]     As used herein, the term “search results” is defined broadly, and includes, in addition to its ordinary meaning, search results based on an index of documents where a computerized algorithm searches through the index and compiles search results based on relevancy to the query. Search results may also include present or future types of paid listings whereby the results have a sponsor, defined broadly, who provides incentives for the search engine to present the listing to the user. Paid listings, includes, in addition to its ordinary meaning, pay for placement, pay for click, pay for action and paid inclusion listings generated by a search engine in response to a user&#39;s search query.  
         [0017]     As described in greater detail below, an exemplary personalized search apparatus provides a method for providing a search engine additional information about the user and their search query whereby the search engine tailors its processing providing the user providing more relevant search results.  
         [0018]      FIG. 1  illustrates an exemplary arrangement where a user  100 , through a user interface  110  on a computer or similar device  120 , accesses the search engine through a communications network  130  and submit an information search query to either a local intranet search engine  140  or to an Internet search engine  150 .  
         [0019]     Referring to  FIG. 2 , the user initiates a query by entry into a search engine user interface  200  for processing of the query and tailoring the search results  210 . In one embodiment, the system provides to the search engine, along with the query, a user profile or digital signature. The information in the digital signature allows the query to be contextualized by the user&#39;s profile. It also allows a means to weight, or scale, the importance of the terms based on the data contained in the user&#39;s files. In this way, the search engine is able to recalculate the relevancy of search results  220 , prior to returning the results to the user  230 . In another embodiment, the apparatus separately transmits the signature information to the search application, which stores it for future use. In this example, the user identifies himself or herself when submitting queries, either by logging in or other means such as a cookie on their computer, and the search application retrieves the signature from its storage device for processing with the query. In another embodiment, user profile information is maintained locally and filtering or resorting of search results occurs at the client side to protect against any potential unauthorized dissemination of the user&#39;s private information.  
         [0020]     Referring to  FIG. 3 , in another embodiment, the apparatus provides a technique for executing an electronic agent that forms the profile, or digital signature, of the user using both declared and observed information. In one example, the system is installed or downloaded by the user  310 . This agent may be a client on the user&#39;s computer or software from a host server that may function as a virtual client. Declared information may include, but is not limited to, personal information declared by the user, such as demographic information and interests. Observed information includes, but is not limited to, an analysis of documents on the user&#39;s computer system, previous search history, and previous URL visitation history. The agent uses this information to create all or part of the digital signature of the user. The frequency of update of the digital signature is configurable by the user, or predetermined by the system.  
         [0021]     In one embodiment, the user&#39;s declared information is provided during the process of installing and configuring the system  320 . Referring to  FIG. 4 , the declared information  410  may include various demographic information such as sex, age, location as well as interests  420  (such as history, wildlife, technology etc.) The declared information is stored for use in the digital signature.  
         [0022]     Referring once again to  FIG. 3 , to obtain observed information, the electronic agent also performs an analysis of information contained in the user&#39;s computer  330 . This is performed as part of the process of installing the apparatus and is configurable by the user with respect to what data is analyzed and upon what frequency. Examples of the data analyzed includes all system and non-system files such as, but not limited to, machine configuration, e-mail, word processing documents, electronic spreadsheets, presentation and graphic package documents, instant messenger history and stored PDF documents. The agent analyzes the user&#39;s data by scanning the words used in the documents and determining which words have a higher incidence of use versus a baseline  340 ,  350 . Referring to  FIG. 4 , those words, and their semantic meaning, are stored for inclusion in the digital signature  430 . For example, if a user has 3000 references to “intel” that would far exceed and average user and would be stored in the baseline as a high incidence word. An example of this observed information in the signature is shown in  FIG. 4 . For security, compressing and encrypting the signature may be done in several ways based on well known techniques of hashing and keys.  
         [0023]     Referring once again to  FIG. 3 , the system creates the digital signature using the declared and observed information (collectively “user&#39;s information”). This signature may be created in multiple ways. In one embodiment, the system compares words used in the user&#39;s information to a baseline of the word use in the English, or other, language to identify interests. Further, the system may record the semantic meaning of the word, or context, of the word in the creating the signature. For instance, if the word “jaguar” is often used in the users information in the context of computer operating systems, it will record the word and the context of computers rather than alternative meaning such as automobiles or wildlife. If the user then searched for “jaguar manual” the normal search results of documents for “jaguar manual” are modified such that the computer operating system documents would have a higher than normal relevance ranking and those related to automobiles would have a lower ranking than normal. In another embodiment, the system contributes the user&#39;s information to a network that continually updates the baseline word use  340 . The system then in turn provides an updated baseline for use in comparison to the user&#39;s information and for creation of the digital signature.  
         [0024]     In one embodiment, the user may review and edit any information in the user profile to highlight immediate intent. In addition, the user may create multiple profiles, subprofiles or combined profiles. These profiles may be used in conjunction with a particular search to provide context for the search. By way of example, the user may set up different profiles reflecting his or her varying interests or hobbies. By way of another example, if a user is purchasing a gift for his or her elderly aunt, the user may not want to submit his or her user profile for the search, but may instead provide no profile, a new profile or a modified profile setting forth information concerning his or her aunt.  
         [0025]     In another embodiment, the user may set the period for observed behavior to coincide with the user&#39;s current online session to create a more immediate or time restricted context for the search.  
         [0026]     In a further embodiment, the user may toggle the user profile on or off, restrict certain parameters, modify certain parameters, or specify additional parameters for one or more search sessions.  
         [0027]      FIG. 5  outlines how, in one embodiment, the search engine processes a query and reformulates the results based on the user&#39;s information. The system receives a search query and signature from a user  500 . The system then searches an index of documents  510  and returns results  520 . The digital signature is analyzed and personal interests and information is discovered  530 . The discovered information is used by the search engine to resort the results based on the signature  540 . The results are then returned to the user.  
         [0028]      FIG. 6  outlines an alternative embodiment whereby the search engine refines the query by modifying or appending information relevant to the user based on the information in the signature. In this embodiment, the search query and signature are received from the user. The query is then reformulated or refined based on the user&#39;s signature to increase the relevance of the query by incorporating information or keywords into the query relating to the user  610 . The index is then searched based on the modified or enhanced query  620  and the results are returned  630 .  
         [0029]     Referring also to  FIG. 4 , in a modified embodiment, in addition to word frequency usage, a user&#39;s prior web browser history, including searches, may be used to improve relevance  440 . The personal search apparatus may track, and store a log of, web sites visited, time spent, prior searches and use that data to increase the relevance weighting of sites that have been visited before to improve relevance. This includes recording URL&#39;s visited and the number of page views as well as other actions (download, buy etc.) at the URL&#39;s. This history is stored for inclusion in the digital signature. For example, if one of the word pairs in the user&#39;s corpus user information that has a higher frequency, than the baseline of average frequency, is “pro bikes” because you recently bought a new derailer for your mountain bike, and type in the search term “bike rack’ then the normal search results for “bike rack” would be retrieved from the web (say the top 100 or top 1000) and then the web site of the “pro bikes” company would be increased in relevance than its normal position as you have done business with them before (as indicated by its frequency on your hard disk being significantly higher than normal).  
         [0030]     In a modified embodiment, in addition to using the user&#39;s signature to influence the results, the search engine compares the signature with other user&#39;s signatures identifying others who have similar profiles. In the event that other users have utilized the search engine for the same query (or similar based on synonyms) the relevance rankings of the search results would be re-ranked based on the search history of the previous user(s). For instance, if user “A” searched for “mouse” and iterated their query to “optical mice” and user “B” had a signature that resembles “A” and searched for “mice”, then the search engine would boost the relevance ranking on documents related to optical mice over that of the other meanings of mice (sites on rodents, mice for animal testing etc.) In effect, the signatures based on the user&#39;s information forms a means for collaboration between anonymous users.  
         [0031]     Access to the search engine may be either direct, such as by a user accessing the engine through a URL on the Internet, or through a distributed fashion via a application contained on users&#39; computers or via a third party web site that provides search services on a syndicated manner for the search engine.  
         [0032]     Thus, in contrast to conventional systems, which often fail to list the items most relevant to the user first because of its inability to discern the users intentions or interests, the system disclosed herein enables the user to receive tailored results based upon information contained in the user profile, or digital signature.  
         [0033]     While the foregoing detailed description discloses several embodiments of the present invention, it should be understood that this disclosure is illustrative only and is not limiting of the present invention. It should be appreciated that the specific configurations and operations disclosed can differ from those described above, and that the methods described herein can be used in contexts other than use of a personalized search engine.