Abstract:
A system and method for searching websites that uses category information to narrow the range of a website content search. Website content is retrieved through a network and stored. A user starts a search by selecting a category or categories in which information pertinent to the user&#39;s needs is likely to be found. The user then performs a keyword search on the content of websites that fall within the selected category or categories. The results of this category-content search are sent and displayed to the user.

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
   This application is a continuation of application Ser. No. 09/164,298 filed Oct. 1, 1998 now U.S. Pat. No. 6,567,800 and titled “System and Method for Searching Information Stored on a Network.” 

   BACKGROUND OF THE INVENTION 
   The field of the invention is searching, and in particular searching for information stored in a set of websites. 
   A website (“site”) is defined herein as a collection of files stored on a computer (e.g., a server) that is connected to a network. The World Wide Web (WWW) is a collection of websites whose servers are interconnected through the Internet. A collection of websites can also be stored on servers that are interconnected through a private network, e.g., through an intranet. 
   In many cases, at least some of the files of a website contain hyperlinks. A hyperlink is typically a text, graphic or image object in a first file that, when selected by a user, either causes a second file to be displayed to the user, causes a different part of the first file to be displayed to the user, or executes a program. In this way, a file in a website can be interrelated with another file stored at the same website, a different website, or elsewhere. The interrelated files of a single website usually reflect a common theme, such as information about a particular company, activity, or service. 
   The amount of information stored in a collection of websites can be substantial. For example, the WWW includes over 600,000 websites. Conservatively assuming an average data size of 2 Megabytes (MB) per website, the WWW includes over 1200 billion bytes of information across a wide range of topics. Finding a particular piece of information in such a large collection can be problematic. For example, simple browsing through the websites in search of a particular type of information can be impractical in a website collection of substantial size. 
   One known system addresses the problem of finding particular information stored at websites by categorizing websites according to the topic or topics to which they pertain. One such known system is the Yahoo! search engine located at &lt;http:\\www.yahoo.com&gt;. Yahoo! obtains information about the topic or theme to which a website pertains along with a brief narrative describing the contents of the website (i.e., from the administrator or owner of the website). This information (along with a website identifier) is then correlated with a category. The Yahoo! categories are organized hierarchically, so that a given category typically has one or more subcategories, and each such subcategory has further subcategories, etc. 
   An example of a Yahoo! interface is shown in FIG.  1 . An example of a category is Arts&amp;Humanities,  101 , which has subcategories Literature  102  and Photography  103 . When a user selects the Literature subcategory  102 , Yahoo! displays the page shown in  FIG. 2  to the user.  FIG. 2  shows numerous subcategories  201  of the Literature subcategory  102 . Hereinafter, the term “category” will be used interchangeably with the term “subcategory.” 
   Yahoo! also accommodates keyword searching. In  FIG. 2 , a user has entered a search for the keyword “telephone”  202  that is restricted  203  to websites in the Literature category. In this case, the user may be interested in finding literature where the telephone plays a major role. When the search button  204  is selected, only website descriptions, and not website content, that fall under the category “Literature” are searched for the term “telephone.” Website descriptions are generally terse, one line or one paragraph summaries describing the content of the website. A website description cannot fully capture all of the detail contained in the website&#39;s content. Indeed, by definition, it is a summary. Because only the descriptions are keyword searched, and not the content, a Yahoo! keyword search can disadvantageously miss relevant content even when the keyword search is limited to website descriptions in a relevant category. Websites whose descriptions contain the term “telephone” are displayed to the user, as shown in FIG.  3 . 
   As discussed above, because Yahoo! keyword searches only search the descriptions of websites and not their content, a Yahoo! keyword search can miss identifying websites that contain information relevant to the user&#39;s request. Thus, for example, many files at different websites in the Literature category may well contain the keyword “telephone.” None of these would be detected and displayed to the user by Yahoo!, even though the user is interested in finding occurrences of “telephone” in websites that fall within the Literature category. In this way, the Yahoo!-type category/descriptive information search is overly narrow, and is prone to miss detecting information that the user would be interested in seeing. 
   Another known system for searching for information at websites stores and indexes a vast amount of content from numerous websites, but does not correlate website content with categories. Such a known system is the AltaVista″, located at &lt;http://www.altavista.digital.com&gt;. In AltaVista″, a user submits a keyword search.  FIG. 4  shows the AltaVista″ interface in which a user has submitted a keyword search request for the term “AT&amp;T”  401 . In response, AltaVista″ searches its stored content for occurrences of the term “AT&amp;T”, and shows the user the websites that have content in which the term occurs ( 402 .) Some excerpted content (e.g.,  403 ) is also displayed. It is difficult for the user to efficiently and accurately identify websites that have content of interest to the user. 
   Just as the Yahoo!-type search can be too narrow, the AltaVista″-type content search can be too broad. For example, the results for the keyword search shown in  FIG. 4  include over 300,000 websites  404 . Even when the results are organized in some prioritized fashion (e.g., websites with the greatest number of occurrences of the keyword term are listed first), such a broad result is too large to be very useful to the user. 
   Searching by category and then using a keyword search to search the descriptive information about websites within a category can be too narrow, and miss detecting websites that have content that is relevant to the user&#39;s request. On the other hand, keyword searching of only the content of websites can be too broad. A way is needed to take advantage of the narrowing effect of a category search and the depth of a content search to yield a more accurate and complete search result. 
   SUMMARY OF THE INVENTION 
   In accordance with an embodiment of the present invention, websites are searched for desired information first by narrowing the scope of the search by identifying websites that correspond with a category pertinent to the desired information. Next, a keyword search is carried out on the content (not just the descriptions or summaries of content) of websites that fall within the pertinent category. This is advantageously more efficient than searching all of the content of the universe of websites initially, because such a search often disadvantageously returns too many results, many of which can be irrelevant (e.g., as in Altavista™) Likewise, it provides higher resolution than simply performing a category search, which can fail to identify websites within the category that have the most relevant information. It also provides higher resolution than narrowing the field of websites by category, and then performing a keyword search on website descriptions or content summaries, e.g., as in Yahoo!, which can miss relevant information that is included in the content itself, but not in the description or summary. The present invention advantageously combines the efficiency and accuracy of category and content searching to provide a more efficient, better way of finding the information most relevant to a user&#39;s need in a set of websites. 

   
     BRIEF DESCRIPTION OF THE DRAWINGS 
       FIG. 1  shows an interface to a prior art embodiment of a category/descriptive information search engine. 
       FIG. 2  shows a keyword search request for websites that fall within a subcategory of the prior art search engine shown in FIG.  1 . 
       FIG. 3  shows the results of the keyword search request submitted as shown in  FIG. 2  in the prior art search engine shown in FIG.  1 . 
       FIG. 4  shows an interface and a keyword search request to a prior art embodiment of a content search engine. 
       FIG. 5  shows a system in accordance with an embodiment of the present invention. 
       FIG. 6  is a flow chart illustrating an embodiment of the method in accordance with an embodiment of the present invention. 
       FIG. 7  shows an interface in accordance with an embodiment of the present invention. 
       FIG. 8  shows an interface that displays categories for user selection in accordance with an embodiment of the present invention. 
       FIG. 9  shows an interface that displays subcategories of the categories shown in the interface depicted in  FIG. 8  for user selection in accordance with an embodiment of the present invention. 
       FIG. 10  shows the results of a content search after category selection in accordance with an embodiment of the present invention. 
   

   DETAILED DESCRIPTION 
   The present invention provides a system and a method that advantageously combines the best aspects of category searching and content searching of websites in a way that enables a user to more accurately and completely identify websites with content of interest to the user, especially in a large collection of websites. 
   A system in accordance with an embodiment of the present invention is shown in  FIG. 5. A  search computer  501  is connected to a network  502  to which users  503  and sites  504  are also connected. The search computer  501  includes a processor  505 , a memory  506  and a port  507 . The memory  506  and the port  507  are coupled to the processor  505 . The memory  506  stores website content correlated with categories  508 . The memory  506  further stores category-content search instructions  509  adapted to be executed by the processor  505  to retrieve content from websites over a network and cause the retrieved content to be stored, to correlate a piece of content with a category, to receive a category selection from a user, to receive a keyword search from the user, and then to perform a content search on that stored website content which is correlated with the selected category. The term “correlated with the selected category” encompasses subcategories in embodiments having a hierarchical categorization scheme. The category-content instructions  509  are further adapted to be executed by the processor  505  to send the results of a search to the user. 
   In one embodiment of the present invention, website content is automatically gathered and stored using a software application called a spider, such as the Vspider, manufactured by Verity, Inc. of Sunnyvale, Calif. A spider is a computer program that automatically seeks out information (i.e., content) distributed on various nodes of a network (e.g., at websites on the Internet, or on an intranet) and sends it back to a predetermined location (e.g., the spider&#39;s home server) such as a search computer shown as  501  in  FIG. 5. A  spider such as Vspider can advantageously be used to collect the content to be searched in accordance with the present invention. 
   In one embodiment, the content that is retrieved by a spider is stored in a database. The database is coupled to a search computer, such as search computer  501  shown in FIG.  5 . The content is searchable in the database using a known database search language, such as SQL. 
   In one embodiment, the Vspider is given the Uniform Resource Locator (URL) of a website. Vspider then searches the file corresponding to the URL, and identifies links from that file to other pages (the terms file and page are equivalent as used herein), which it proceeds to search. Upon searching a page, Vspider returns information such as the identity of the author of the page, the date on which the page was created, its size and some analysis of its textual content, possibly including at least a part of the textual content itself. An embodiment of the present invention advantageously uses the Verity spider in this fashion to automatically and efficiently gather website content, as well as information about the website. 
   In one embodiment, the processor  505  is a microprocessor, such as the Pentium II processor manufactured by the Intel Corporation of Santa Clara, Calif. In another embodiment, the processor  505  is an Application Specific Integrated Circuit (ASIC) which at least partly embodies the category-content instructions  509 , the rest of which (if any) are stored in the memory  506 . 
   Embodiments of memory  506  include read-only memory (ROM), random access memory (RAM), a hard disk, a compact disc, a database, or any other device adapted to store information in digital form, or any combination thereof. 
   The term “adapted to be executed by the processor” is meant to encompass instructions that are compressed, encrypted, uncompiled, or must otherwise be processed in order to be executed by the processor  505 . Machine language or any other format of instruction that can be executed by the processor  505  without further manipulation are also meant to be encompassed by this term. 
   A method in accordance with an embodiment of the present invention is now described with reference to the flow chart shown in FIG.  6 . Website content is retrieved through a network (step  301 ), and is stored (step  302 .) A piece of stored website content is correlated with a category (step  303 .) A category selection is received from a user (step  304 .) A content search request (e.g., a keyword search request) for websites in the selected category is received from the user (step  305 .) A content search on the stored website content that is correlated with the selected category is then performed (step  306 .) The results of this category-content search are sent to the user (step  307 .) 
     FIG. 7  shows an interface for an embodiment of the present invention through which a user selects a category. Categories  701  are listed under the heading “Search by Subject.” For example, a user selects the “Products and Services” category  702 , which causes the interface shown in  FIG. 8  to be displayed. The user then selects the subcategory “AT&amp;T WorldNet” Services”  801  (shown in FIG.  8 ), which causes the interface shown in  FIG. 9  to be displayed. As shown in  FIG. 9 , the user then submits a search for the keyword “telephone”  901 . A content search for files in which the term “telephone” occurs is performed on content (e.g., files) stored from websites that fall into the category “AT&amp;T WorldNet” Services. The results of the search are displayed to the user in one embodiment as a dynamically generated web page, such as the one shown in FIG.  10 . The term “dynamically generated web page” means a web page that includes content specifically tailored to respond to the user query. 
   In one embodiment of the present invention, a dynamic index is stored that includes a list of identifiers (e.g., URLs) for websites that are associated with a selected category. The dynamic index is used to track the identities of all websites that correspond to a selected category or categories. For example, in a hierarchical category system wherein a category includes certain other categories (e.g., the literature category includes the classics and modern romance categories), a dynamic index includes identifiers for all websites in the selected category and its subcategories. When a user further narrows a category selection, the identifiers of newly excluded websites are dropped from the dynamic index. Likewise, when a user broadens a category selection, the identifiers of newly included websites are added to the dynamic index. 
   A content search in one embodiment searches all of the content of all of the pages that comprise a website that falls within the selected category or categories. In another embodiment, the content search is performed by searching a subset of the content stored at the website in the selected category. For example, the content search can be restricted to the contents of metatags in the pages of the website. A metatag is defined herein as a subset of content marked-off from other content in a page. For example, the following line of text is embedded in a page at a website: 
   This is the content that will not be searched &lt;METATAG&gt; and this is the content that will be searched.&lt;/METATAG&gt; That is, the content between &lt;METATAG&gt; and &lt;/METATAG&gt; will be searched, while the rest will not be searched. 
   Files that contains the term “telephone” are shown ( 1001 ) ranked in order where a file with more occurrences of the keyword is shown before a file with fewer occurrences. The name of the file (or site)  1002  is displayed, along with an excerpt of content ( 1003 ) from the file or site. A hyperlink ( 1004 ) to the site or file is also provided, as well as an indication of the file&#39;s size ( 1005 .) The number of the results ( 1006 ) returned for a search in accordance with the present invention is typically substantially smaller (and therefore more manageable) than the number of results returned for an identical search request submitted to AltaVista″. Also, the present invention advantageously provides more comprehensive and accurate results than a comparable Yahoo! search in many cases. The advantageous combination of category and content searching provided in accordance with the present invention produces website search results that are more accurate and comprehensive than the results provided by known systems. 
   Although several embodiments are specifically illustrated and described herein, it will be appreciated that modifications and variations of the present invention are covered by the above teachings and within the purview of the appended claims without departing from the spirit and intended scope of the invention.