Note: Descriptions are shown in the official language in which they were submitted.
CA 02375833 2001-11-28
WO 00/74377 PCT/US00/14952
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 benerally 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 lint:
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.
I 5 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
conductin~~ 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
-1-
CA 02375833 2001-11-28
WO 00/74377 PCT/US00/14952
1 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
-2-
CA 02375833 2001-11-28
WO 00/74377 PCT/US00/14952
1 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
1 S 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"
-3-
CA 02375833 2001-11-28
WO 00/74377 PCT/US00/14952
1 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
-4-
CA 02375833 2001-11-28
WO 00/74377 PCT/US00/14952
1 "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
VCR, 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
3 S 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
-5-
CA 02375833 2001-11-28
WO 00/74377 PCT/US00/14952
1 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.
15
25
3O
-6-