METHOD AND SYSTEM UTILIZING TEXT SELECTED ON A WEB PAGE FOR SEARCHING IN A DATABASE OF TELEVISION PROGRAMS

Abstract: A method using a computer of selecting search text and conducting a database search by providing a user with a selection pointer to select text from a web page or other document, receiving the text selected by the user with the selection pointer (10), creating search strings from the text that the user selected (12), searching for information in a database that correlates to the created search strings (14), and communicating the correlating information in the database to the user (16). The database may contain television program information, and a television or video recording device may be timed to a selected program.

Description: METHOD AND SYSTEM UTILIZING TEXT SELECTED ON A WEB PAGE FOR SEARCHING IN A DATABASE OF TELEVISION PROGRAMS FIELD OF THE INVENTION The present invention relates generally to a method for searching for text within a database, and more particularly to a method for matching program guide listings and descriptions to text. BACKGROUND OF THE INVENTION In the past few years there has been an exponential increase in the amount of content and information available to consumers through multiple different mediums of distribution including television and the Internet. Because the amount of information has become so large, a search engine of some sort is necessary to search for content efficiently. Current search engines link short, often carefully crafted, strings of text and compare those strings to databases of text. Many users find the experience of searching for content within databases frustrating. Often the strings entered by a user searching for information do not directly correspond with any information in the database available to the search engine. Sometimes, the information retrieved by the search engine is obscure and not of the type the user was searching for. While there are ways for experienced searchers to refine search strings to try and obtain more relevant information, these techniques are often flawed, often employ cumbersome notation, and are often time consuming. It is desirable to have a search engine that does not require the user to enter special search text. Additionally, it is desirable for a user to be able to search for content on television based upon text located on the Internet or in a document. Furthermore, a user may want to apply an additional search to a previous search result or from one database to another database. SUMMARY OF THE INVENTION The present invention is a method using a computer of selecting search text and conducting a database search. The method is a program that provides a selection pointer to a user that is visible on a page of text. The user moves the pointer over the area of text that they wish to select. Once the user selects the text by moving the selection pointer, the text is provided to the program. The program creates search strings from the text selected with the pointer, and searches a database for any information correlating to the search strings. Once information in the database has been found that correlates to the search strings, the information is retrieved, placed in a memory, and then communicated by the program to the user. The text selected by a user can be from a World Wide Web page or a document being viewed in another type of wordprocessor or document viewer. In one embodiment, the text selected is from the entire page where the pointer is placed. Alternatively, the text can be selected from the entire paragraph or sentence where the pointer is located. In another alternative embodiment, the text selected consists of text that is a specific number of words behind and in front of where the pointer is located. In another alternative embodiment, the text is selected from a first position of the pointer to a second position of the pointer. Once the text is selected, the search strings are created by dividing the text selected by the user into pieces based upon punctuation, word type, and grammar rules. In an embodiment of the present invention, once information is retrieved based upon the search strings, the retrieved information is ranked according to which search strings the information correlates to and how many search strings the information correlates to. In a specific embodiment of the present invention the database to be searches contains television program information including: a description of the show, the people involved in the show, the date and time that the show is to be broadcast, and the channel on which the show is to be broadcast. In an additional embodiment, once television program information has been retrieved from the database, the user can select a program to view and the system automatically tunes a television to the proper channel at the proper time. In another embodiment, the user can select a program to record and the system automatically tunes a video recording device to the proper channel, commences recording at the start of the program, and finishes recording at the end of the program. In yet an additional embodiment, the program information in the database corresponds to segments of shows rather than complete shows, and a user can select various segments of shows to be viewed and recorded. BRIEF DESCRIPTION OF THE DRAWING FIG. 1 is a flow diagram of a search process according to an embodiment of the present invention. DETAILED DESCRIPTION OF THE INVENTION The following description describes some specific embodiments of the present invention for illustrative purposes without limiting the generality of the inventive concept. The invention is a computer program that includes a search program. The computer program takes text as input and uses that text to search a database. An overview of a process in accordance with one embodiment of the present invention is shown in FIG. 1. In Block 10, text is selected to use for the search. In one embodiment of the present invention, the text is taken from a text containing document being viewed by the user either on the world wide web, or in another software application. Next, as shown in Block 12, the text is parsed into search strings for use in a search. The parsing step selects specific sub-components of the text as a whole to search for. Next, as shown in Box 14, the search is conducted. The search may be confined to one specific database, or conducted in multiple databases simultaneously. Once the search is complete, as shown in Box 16, the results are conveyed to the user. The results can then be used to conduct additional searches, and the same search can be performed in a different database. The results of the search can also be used to facilitate the viewing and recording of desirable content. The text to be used in the search is gleaned from the text of content being viewed by the user. The content the user is viewing may be via the world wide web, or in a software program either running locally on the user's system or over a network. In an exemplary embodiment of the invention, a pointer on a display is used to activate the computer program. The user places the pointer over text displayed on a screen and the computer program is activated. The pointer may be a predefined icon or a user-defined icon. An example of a predefined icon is an arrow that moves as a mouse is moved. A user-defined icon may be created for example by using a drawing program. In a preferred embodiment of the invention, the pointer is a floating button. In an exemplary embodiment of the invention, the computer program is a computer program local to a user or set of users. When the pointer is placed over text, the computer program is activated and the text is selected and processed to be used in a database search. In one embodiment of the present invention, a specified amount of text, such as an entire document, a page, a visible portion of a page, a paragraph, or a sentence in which the pointer is located is selected to be parsed. Alternatively, a specified number of words before and after the location of the pointer are selected. In another alternative embodiment, the user places the pointer at a first location of text to be selected and then moves the pointer to a second location of text to be selected and the portion of text between the two points is selected to be processed. In an embodiment of the present invention, the process takes advantage of a clipboard function. In a traditional clipboard, a portion of a document is selected, stripped of any special or program specific formatting information surrounding the text, and the text is placed in a buffer for future use. Thus, in one embodiment, the user drags the pointer over the area that is to be used for search text and that area is copied into a clipboard. Once in the clipboard, the text can be accessed and process as explained below. The input text is parsed into lexical units, i.e., search strings. In one embodiment, the search strings include whole sentences and the individual words that compose the sentences. A sentence can be selected because a sentence is a set of words delimited by a delimiter such as a period. For example, the sentence, "The cat is black and white" is itself a search string and is separated into the search strings, "The", "cat", "is", "black", "and", and "white". Additionally, search strings may be created from multiple words of a sentence, based on the semantics of the individual words. For example, from the above sentence the search strings, "black and white cat' " , "black cat", and "white cat" may be created because the parser recognizes that "black" and ■■ white" are adjectives modifying the subject, "cat". The generated search strings are collected within the search program. The generated search strings are filtered to produce a collection of search strings that are useful for searching the database. Search strings that have little use in searching a database are purged. For example, search strings such as the articles, "a" and "an" are purged. However, the articles, "a" and "an" within a sentence are not purged because a sentence is itself a usable search string. The search strings remaining after purging useless search strings are used to search a database to generate search results. The database can either reside on the user's machine or on an accessible machine elsewhere. If a search string consisting of an entire sentence is found in the database, then the text, including the sentence, is stored in a search result queue. Likewise, if a non-sentence search string is found in the database, then the text including the non-sentence search string is stored in the search result queue. After all of the input text has been parsed, and any database entries containing one or more search strings have been placed into the search result queue, the text within the search result queue is prioritized. In an embodiment of the present invention, the database entries are prioritized based upon the number and specificity of the search strings contained within each entry in order to rank the relevance of the matches found in the database. For example, a database entry containing a search string consisting of an entire sentence may be given higher priority because the database entry is very likely to be relevant. In one embodiment of the invention, the texts may be prioritized by ordering them within the search result queue. In another embodiment of the invention, the texts may be prioritized by giving them a ranking or number value reflecting their priority. The texts within the search result queue are displayed in the order of their priority. The use of text to search the database may be viewed as a reverse search because search result text can be used as the input text to search the database. In addition, the search result text, which is the input text, may be longer than the result of applying an additional search to the search result text. Usually, searches, such as on the Internet, are conducted using a few key words or a simple phrase and then database elements containing the searched words are returned from the search and the data elements usually include much text. Thus, little text is input and much text is output. In contrast, in an embodiment of the invention, the input text usually includes many words, and the output of the search usually includes fewer words than the input text. This is particularly true when the database searched is a listing of television programs and descriptions. In an exemplary embodiment of the invention, further functionality may be activated based on the results of the database search. In this age of information convergence, it is desirable to correlate world wide web information with television information. In an exemplary embodiment of the invention, a designated portion of text information on the world wide web is compared with television listing information stored either locally or on a central server. When activated, the computer program displays a list of information, including television schedule information, that correlates with the selected text. In a preferred embodiment of the present invention, the computer program is identified by a "floating button/' which resides in the memory of the local computer unit or client unit. The "floating button" may be programmed in ActiveX, Java, C, any derivative thereof, or any other Internet compatible language. The "button" can be dragged to reside on a portion of web text on the screen. A click of the button activates the computer program. The button is used to select a portion of web text to compare with a database of television program listings and descriptions. The computer program parses the web text and creates search strings. The search strings are compared to the program listings and program descriptions. If any of the program listings or program descriptions contain the generated search strings, then the program listings are placed into elements of a search result queue. The elements are then ranked or evaluated for their relevance to the input text. The search result queue elements are then displayed according to their relevance to the input text. Thus, the most relevant program listings and descriptions will be displayed first. In addition to displaying relevant matches, additional functionality may be triggered. In an exemplary embodiment of the invention, the local computer unit is contained within a television or attached to a television. In an alternative embodiment of the invention, the local computer unit is a computer with a tuner card. In additional alternative embodiments of the invention, the local computer unit is contained within a consumer electronics device such as a NCR, set-top box (STB), satellite receiver, or other television compatible electronic device. In one embodiment of the present invention, the database information will include the channel and time of each matching program. Thus, a user can tune to the specified channel at the specified time to watch the program. In alternative embodiments, a television user may select multiple television programs from the displayed results. The multiple television programs may be tuned in the order that the programs were selected or the programs may be tuned at a user- specified time. The selected program or programs may be selected via remote, wired-link or store and forward methods. A selected program may be tuned instantly or scheduled in the future for automatic recording. In additional embodiments of the present invention, parental control may be exerted over which programs will be displayed. The television user may cause a selected program to be displayed subject to a password being entered. This allows a parent to, for example, conduct a search for all shows containing specific content and either block a child from viewing the program, or require a password to be entered prior to program display. Alternatively, the parental control may work so that only those programs that are selected after a search will be displayed. This allows a parent to, for example, conduct a search for all shows containing specific content and limit a child to viewing those programs. In an alternative embodiment of the invention, the computer program does not parse the input text, but passes the input text to a web site, which has its own search engine for searching program listings and descriptions. Alternatively, the computer program may not run the search, but parses the selected text and passes the search strings to a web site, which has its own search engine for searching program listings and descriptions. Once the results are obtained, the results are displayed for a user. Whereupon the television user can select a program to be instantly tuned to or scheduled for later viewing or recording. While there have been described herein what are considered to be preferred and exemplary embodiments of the present invention, other modifications of the invention will be apparent to those with ordinary skill in the art. In addition, one with ordinary skill in the art will readily appreciate that other applications may be substituted for those set forth herein without departing from the spirit and scope of the present invention. Thus, the present embodiments of the invention should be considered in all respects as illustrative and not restrictive, the scope of the invention to be determined by the claims supported by this application and their equivalents rather than the foregoing description.

Claims: WHAT IS CLAIMED IS: 1. A method using a computer of selecting search text and conducting a database search comprising: providing a selection pointer to a user; receiving text selected by the user with the selection pointer; creating search strings from the text selected with the pointer; searching a database to find information that correlates to the search strings; retrieving information that correlates to the search strings from the database; communicating the retrieved information to the user. 2. The method using a computer of selecting search text and conducting a database search of claim 1 wherein the text is selected from a World Wide Web page. 3. The method using a computer of selecting search text and conducting a database search of claim 1 wherein the text is selected from a document being viewed in a viewer. 4. The method using a computer of selecting search text and conducting a database search of claim 1 wherein the text selected by the pointer is that text on the entire page where the pointer is placed. 5. The method using a computer of selecting search text and conducting a database search of claim 1 wherein the text selected by the pointer is that text in the entire paragraph where the pointer is placed. 6. The method using a computer of selecting search text and conducting a database search of claim 1 wherein the text selected by the pointer is that text in the entire sentence where the pointer is placed. 7. The method using a computer of selecting search text and conducting a database search of claim 1 wherein the text selected by the pointer is a specified number of words before where the pointer is placed. 8. The method using a computer of selecting search text and conducting a database search of claim 1 wherein the text selected by the pointer is a specified number of words after where the pointer is placed. 9. The method using a computer of selecting search text and conducting a database search of claim 1 wherein the text selected by the pointer is a specified number of words before and after where the pointer is placed. 10. The method using a computer of selecting search text and conducting a database search of claim 1 wherein the text is selected by placing the pointer at a first position of the text to be selected, and by then placing the pointer at a second position of the text to be selected. 11. The method using a computer of selecting search text and conducting a database search of claim 1 wherein the database comprises television program information. 12. The method using a computer of selecting search text and conducting a database search of claim 1 wherein creating search strings comprises dividing the text into pieces based upon at least one of the group consisting of punctuation, word type, and grammar rules. 13. The method using a computer of selecting search text and conducting a database search of claim 1 further comprising: storing retrieved information in a memory. 14. The method using a computer of selecting search text and conducting a database search of claim 1 further comprising: ranking the retrieved information. 15. The method using a computer of selecting search text and conducting a database search of claim 11 further comprising: prompting the user to select program information corresponding to a program to view; receiving a selection from the user of a program to view; and tuning a television to a channel of the selected program at a time of the selected program. 16. The method using a computer of selecting search text and conducting a database search of claim 11 further comprising: prompting the user to select program information corresponding to a program to record; receiving a selection from the user of a program to record; and tuning a video recording device to a channel of the selected program; recording from a start time of the selected program until an end time of the selected program. 17. A method of using prewritten text to search for relevant television programs comprising the steps of: providing a user with a selection pointer; receiving text selected by the user with the selection pointer; creating search strings from the text selected with the selection pointer; searching a database of television program information to find information that correlates to the search strings; retrieving television program information from the database that correlates to the search strings; communicating retrieved television program information to the user. 18. The method of using prewritten text to search for relevant television programs of claim 17 further comprising: prompting the user to select program information corresponding to a program to view; receiving a selection of a program to view from the user; tuning a television to the selected program. 19. The method of using prewritten text to search for relevant television programs of claim 17 further comprising: prompting the user to select program information corresponding to a program to record; receiving a selection of a program to record from the user; tuning a video recording device to the selected program; recording from a start time of the selected program until an end time of the selected program. 20. The method of using prewritten text to search for relevant television programs of claim 18 wherein the television program information retrieved from the database corresponds to segments of a television program; and wherein the user can select a segment of a television program to view. 21. The method of using prewritten text to search for relevant television programs of claim 19 wherein the television program information retrieved from the database corresponds to segments of a television program; wherein the user is prompted to select a segment of a television program to record; and wherein only a segment of a television program is recorded. 22. A search system, comprising: a selection pointer to select text from a document or program; a parser to break up selected text into search strings; a search engine to compare search strings to content in a database; a storage device to store retrieved database content; and a display to display the retrieved database content. JO-

Inventors: HARKAVY ANDREW, YUEN HENRY C, HARKAVY, ANDREW, YUEN, HENRY, C.
Applicants: HARKAVY ANDREW, INDEX SYSTEMS INC, YUEN HENRY C, HARKAVY, ANDREW, INDEX SYSTEMS, INC., YUEN, HENRY, C.
Application year: 2000
Main classification: H04N5
IPC codes: G06F17, H04N5, H04N7