U.S. patent application number 11/537493 was filed with the patent office on 2008-04-03 for displaying search results on a one or two dimensional graph.
Invention is credited to Michael Gordon, Andrew Hogue, David Petrou, Jeff Reynar, David Vespe.
Application Number | 20080082578 11/537493 |
Document ID | / |
Family ID | 39262246 |
Filed Date | 2008-04-03 |
United States Patent
Application |
20080082578 |
Kind Code |
A1 |
Hogue; Andrew ; et
al. |
April 3, 2008 |
DISPLAYING SEARCH RESULTS ON A ONE OR TWO DIMENSIONAL GRAPH
Abstract
Embodiments retrieve a set of search results that have been
previously identified as having at least one associated date or
location. A timeline or map is displayed that visually represents
the distribution of the dates or locations within the results. The
timeline is displayed with a histogram graph corresponding to the
number of dates in the search results at points along the timeline.
The map is displayed with markers at the locations corresponding to
the locations in the search results. The user can navigate the
result set using the displayed timeline or map.
Inventors: |
Hogue; Andrew; (Ho Ho Kus,
NJ) ; Reynar; Jeff; (New York, NY) ; Gordon;
Michael; (Brooklyn, NY) ; Vespe; David; (New
York, NY) ; Petrou; David; (Brooklyn, NY) |
Correspondence
Address: |
GOOGLE / FENWICK
SILICON VALLEY CENTER, 801 CALIFORNIA ST.
MOUNTAIN VIEW
CA
94041
US
|
Family ID: |
39262246 |
Appl. No.: |
11/537493 |
Filed: |
September 29, 2006 |
Current U.S.
Class: |
1/1 ;
707/999.107 |
Current CPC
Class: |
G06F 3/04845 20130101;
G06F 16/29 20190101; G06F 16/951 20190101; G06F 3/0482 20130101;
G06F 16/444 20190101; G06F 16/2228 20190101; G06F 16/9558
20190101 |
Class at
Publication: |
707/104.1 |
International
Class: |
G06F 17/00 20060101
G06F017/00; G06F 7/00 20060101 G06F007/00 |
Claims
1. A computer-implemented method of displaying query results on a
timeline, comprising: receiving a search query; determining query
results in accordance with the received search query, each query
result mentioning an associated date; formatting a histogram graph
of the dates of the results; and displaying the histogram graph
along a timeline.
2. The method of claim 1, further comprising displaying the query
results.
3. The method of claim 2, wherein a result having the highest
frequency is displayed in a style different from other results.
4. The method of claim 2, wherein results mentioning associated
dates of particular importance are displayed in a predetermined
style different from the rest of the results.
5. The method of claim 2, wherein the query results are displayed
along with a URL of a result web site.
6. The method of claim 2, wherein time-ordered short descriptions
of the associated dates are displayed with the query results.
7. The method of claim 1, further comprising displaying a list of
dates and descriptions.
8. The method of claim 1, further comprising processing crawled web
pages to determine which crawled web pages mention an associated
date.
9. The method of claim 1, wherein the associated date of a result
is extracted from the text of the result.
10. The method of claim 1, wherein a snippet around the associated
date of a result is extracted from the result.
11. The method of claim 1, wherein the query results refer to
documents on the user's local computer.
12. The method of claim 1, wherein the query results refer to
documents within the local area network.
13. The method of claim 1, wherein the query results refer to
documents on the World Wide Web.
14. The method of claim 1, wherein at least one query result has a
plurality of associated dates and at least two of the associated
dates are represented in the histogram graph of the dates.
15. The method of claim 1, wherein formatting comprises determining
a date range and a scale of the timeline.
16. The method of claim 1, wherein formatting comprises determining
a scale of the histogram graph.
17. The method of claim 1, further comprising: receiving a
selection of a portion of the timeline; and displaying the selected
portion of the timeline in greater detail.
18. The method of claim 17, wherein displaying the selected portion
of the timeline in greater detail comprises expanding the selected
portion of the timeline.
19. The method of claim 1, further comprising: receiving a
selection of a portion of the timeline; and displaying the selected
portion of the timeline in lesser detail.
20. A computer-implemented method for displaying query results on a
map, comprising: receiving a non-geographic search query;
determining query results in accordance with the received search
query, each result having an associated location; formatting a map
of the locations of the results, each location on the map
identified by a marker; and displaying the map with the
markers.
21. The method of claim 20, further comprising displaying the query
results.
22. The method of claim 21, wherein the query results are displayed
along with a URL of a result web site.
23. The method of claim 21, wherein short descriptions of the
associated locations are displayed with the query results.
24. The method of claim 21, wherein displaying the query results
comprises displaying the query results with the associated
locations and markers.
25. The method of claim 20, further comprising processing crawled
web pages to determine which crawled web pages mention an
associated location.
26. The method of claim 20, wherein a name of the associated
location of a result is extracted from the result.
27. The method of claim 20, wherein a geopoint of the associated
location of a result is extracted from the result.
28. The method of claim 20, wherein a snippet around the associated
location of a result is extracted from the result.
29. The method of claim 20, wherein the query results refer to
documents on the user's local computer.
30. The method of claim 20, wherein the query results refer to
documents within the local area network.
31. The method of claim 20, wherein the query results refer to
documents on the World Wide Web.
32. The method of claim 20, wherein at least one query result has a
plurality of associated locations and at least two of the
associated locations identified by markers on the map.
33. The method of claim 20, wherein formatting comprises
determining a scale of the map.
34. The method of claim 20, wherein each marker is distinctive.
35. A user interface for presenting search results on a timeline,
the interface comprising: a list of search results, each result
having an associated date, the list of search results in order by
the associated date; and a histogram of the dates of the results
presented on a timeline.
36. The user interface of claim 35, further comprising a button for
generating a hyperlink, for placement on an external web page, to a
view of the list of search results and the histogram of the dates
of the results presented on a timeline.
37. The user interface of claim 35, wherein each result comprises a
URL of a web page associated with the result.
38. The user interface of claim 35, wherein each result comprises a
description of a web page associated with the result.
39. The user interface of claim 35, wherein portions of the
timeline are selectable, and wherein selecting a portion of the
timeline causes an expansion of the portion.
40. The user interface of claim 35, wherein the associated date of
each result is displayed in the list of search results.
41. The user interface of claim 35, wherein the timeline spans one
selected from a group consisting of a century, a decade, a year, a
month, a week, and a day.
42. A user interface for navigating search results on a map, the
interface comprising: a list of search results, each result having
an associated location and an associated marker; and a map of the
locations of the results, each location on the map identified by
the associated marker.
43. The user interface of claim 42, further comprising a button for
generating a hyperlink, for placement on an external web page, to a
view of the list of search results and the map of the locations of
the results.
44. The user interface of claim 42, wherein each result comprises a
URL of a web page associated with the result.
45. The user interface of claim 42, wherein each result comprises a
description of a web page associated with the result.
46. The user interface of claim 42, further comprising pan and zoom
controls.
47. The user interface of claim 42, wherein each marker is
distinctive.
48. A method of refining search results, the method comprising:
processing crawled web pages to determine which crawled web pages
have an associated location; responsive to a non-geographic search
query, displaying a map of the results from the crawled web pages
having an associated location, each result associated with a
location on the map; receiving a selection of a location on the map
corresponding to a search result; modifying the search query to
include the selected location; and displaying search results from
the modified search query.
49. The method of claim 48, wherein the search results from the
modified search query appear in a bubble connected to the selected
location on the map.
50. A computer program product for displaying query results on a
timeline, the computer program product stored on a computer
readable medium and adapted to perform the operations of: receiving
a search query; determining query results in accordance with the
received search query, each query result mentioning an associated
date; formatting a histogram graph of the dates of the results; and
displaying the histogram graph along a timeline.
51. A computer program product for displaying query results on a
map, the computer program product stored on a computer readable
medium and adapted to perform the operations of: receiving a
non-geographic search query; determining query results in
accordance with the received search query, each result having an
associated location; formatting a map of the locations of the
results, each location on the map identified by a marker; and
displaying the map with the markers.
Description
CROSS-REFERENCE TO RELATED APPLICATION(S)
[0001] This application is related to U.S. application Ser. No.
11/535,843, entitled "Displaying Facts on a Linear Graph," filed
Sep. 27, 2006, and U.S. application Ser. No. 11/342,277, entitled
"Data Object Visualization Using Graphs," filed Jan. 27, 2006,
which are hereby incorporated by reference in their entirety.
BACKGROUND OF THE INVENTION
[0002] 1. Field of the Invention
[0003] This invention pertains in general to data visualization on
a computer and, in particular, to ways of representing data
obtained from web pages and other sources.
[0004] 2. Description of the Related Art
[0005] The development of information retrieval systems has
predominantly focused on improving the overall usefulness of the
search results presented to the user. Information retrieval
systems, or `search engines` in the context of the Internet and
World Wide Web, use a wide variety of techniques to improve the
usefulness of the search results. These techniques address many
aspects of search engine design, from the basic indexing methods
and document representation, through query analysis and
modification, to relevance ranking and result presentation,
methodologies too numerous to fully catalog here.
[0006] Specifically, various methods are used to organize the
results of the search for presentation to the user. Search results
can be displayed in order, for example, according to a relevancy
determination given the initial search parameters, in chronological
order, or according to proximity to a particular geographic
location. Typically, search results are a list of links to web
pages where relevant information can be found. Each webpage with
relevant information is typically represented once in the list of
search results, regardless of the amount of information
presented.
SUMMARY
[0007] Embodiments of the invention provide a method, system, a
computer program product, and a user interface for displaying
search results to a user.
[0008] In one embodiment, a user provides a query to the system;
the query contains at least one query term. The system retrieves a
set of search results comprising documents that are relevant to the
query term(s), where the documents have been previously identified
as having at least one associated date. The system determines the
scale of a timeline to display based on the range of dates and
displays the timeline with a histogram graph corresponding to the
number of dates in the search results at points along the timeline.
The search results can be displayed with snippets surrounding the
dates, rather than on the query matches. The user can navigate the
result set using the displayed timeline. For example, the user can
select a section of the timeline via a user interface to expand to
show a finer scale version of the histogram for that section and
the results that correspond to dates in that section.
[0009] In another embodiment, the system retrieves a set of search
results comprising documents that are relevant to the query
terms(s), where the documents have been previously identified as
having at least one associated geographic location. The search
results can be displayed with snippets surrounding the geopoints,
rather than on the query matches. The system determines the scale
of map to display based on the geographic range of locations and
displays the map with symbols at the locations corresponding to the
geographic locations in the search results. The user can navigate
the map via pan and zoom controls. The user can select a document
to view by selecting the corresponding symbol on the map.
Alternatively, the user can refine the query by selecting a symbol
on the map. The system will then execute the search based on the
refined query terms.
[0010] The present invention has various embodiments, including as
a computer implemented process, as computer apparatuses, as
integrated circuits, and as computer program products that execute
on general or special purpose processors. The features and
advantages described in this summary and the following detailed
description are not all-inclusive. Many additional features and
advantages will be apparent to one of ordinary skill in the art in
view of the drawings, detailed description, and claims.
BRIEF DESCRIPTION OF THE DRAWINGS
[0011] FIG. 1 illustrates a generalized system architecture for a
search engine system in accordance with one embodiment.
[0012] FIG. 2 is a flow chart illustrating a method of displaying a
graph in accordance with one embodiment.
[0013] FIG. 3A is an illustration of an example user interface for
navigating search results represented on a timeline in accordance
with one embodiment.
[0014] FIG. 3B is an illustration of another example of a user
interface for navigating search results presented on a timeline in
accordance with one embodiment.
[0015] FIG. 4 is an illustration of a user interface for navigating
search results represented on a timeline, the timeline displaying a
decade date range, in accordance with one embodiment.
[0016] FIG. 5 is an illustration of a user interface for navigating
search results represented on a timeline, the timeline displaying a
one year date range, in accordance with one embodiment.
[0017] FIG. 6 is an illustration of a user interface for navigating
search results presented on a geographical map in accordance with
one embodiment.
[0018] FIG. 7 is an illustration of a user interface for navigating
search results presented on a geographical map with a pop up bubble
displaying search results from a refined search.
[0019] FIG. 8 is an illustration of yet another example user
interface for navigating search results presented on a timeline in
accordance with one embodiment.
[0020] FIG. 9 is a flow chart illustrating a method of displaying
refined search results in accordance with one embodiment.
[0021] The figures depict embodiments of the present invention for
purposes of illustration only. One skilled in the art will readily
recognize from the following discussion that alternative
embodiments of the structures and methods illustrated herein may be
employed without departing from the principles of the invention
described herein.
DETAILED DESCRIPTION OF THE EMBODIMENTS
[0022] FIG. 1 presents a diagram illustrating a system that
displays search results on a one or two dimensional graph such as a
timeline or a map, in accordance with an embodiment of the
invention. A user operates a browser 104 located on a client 103.
Client 103 can generally include any node on a network including
computational capability and including a mechanism for
communicating across the network. The client 103 can be any type of
client, including any type of computer (e.g., desktop computer,
workstation, notebook, mainframe, terminal, etc.), handheld device
(personal digital assistant, cellular phone, etc.), embedded
computation device, ubiquitous computation device, or the like. The
client device 103 need only have the capability to communicate over
a network (e.g. Internet, telephony, LAN, WAN, or combination
thereof) with the search engine system 100. Typically, a client
device 103 will also support appropriate networking applications
and components, all of which are known to those of skill in the
art.
[0023] Browser 104 can generally include any type of web browser
capable of viewing a web site, such as the INTERNET EXPLORER.TM.
browser distributed by the Microsoft Corporation of Redmond, Wash.
Search engine system 100 can generally include any computational
node including a mechanism for servicing queries from a client for
computational and/or data storage resources. Note that the code and
data involved in processing queries typically resides within a
memory within search engine system 100. Copies of the code and data
can also reside within non-volatile storage which is included in
the system 100. The figure does not show a number of conventional
components (e.g. network, firewalls, routers, domain name servers,
load balancers, etc.) in order to not obscure the relevant details
of the embodiment.
[0024] During operation, a user's client 103 can communicate with
search engine system 100 to search for documents relevant to a
query. The term "document" is used herein to refer to any and all
types of content that can be accessed by a client over a network.
Documents can be from any entity. An "entity" may be a specific
person, group, organization, website, business, institution,
government agency or the like. A query generally comprises one or
more query terms. Query terms are words that the user believes are
relevant to the user's information need.
[0025] Browser 104 can also access any document on the user's
computer or LAN or other network such as the Internet (not shown).
For example, browser 104 can access web pages, PDF documents,
scanned books or articles, database contents, or any other format
of documents belonging to a person, or any another type of entity
such as a company, enterprise, community group, and so forth. For
example, in FIG. 1 browser 104 accesses web site 105, which is
hosted by a third-party server, or alternatively by the server
associated with the search engine system 100. Web site 105 can
generally have any type of web content 109. For example, web site
105 can include a personal home page, a blog, on-line encyclopedia
pages, an e-commerce storefront for goods, and so forth. In
addition, site 105 can include pages containing links to other
sites (including entire sites, portions of a site, or individual
pages).
[0026] In one embodiment of the present invention, a web crawler
190 obtains dates and corresponding events and/or geographical
location information for objects or events 109 to facilitate
subsequent usage in search results and search result ranking. The
dates and geographic location information are stored in content
server/index 170.
[0027] In order to obtain search results, user's client 103 sends a
search query to the search engine system 100, which is received by
a front end server 110. The front end server 110 is adapted to
receive a query from the client 103 and pass it to the search
engine 180. The search engine 180 processes the user's query using
the content server and index 170 to obtain a set of search results
that are relevant to the query term(s). The search engine 180
receives the search results and passes them to the presentation
engine 188. The presentation engine 180 can include a user
interface generation module, a map presentation module and a linear
graph presentation module. The presentation engine formats the
search results for display on a timeline view or a map view of the
results as required and forwards the formatted results via the
front end server 110 to the client 103. The front end server 110 is
further adapted to handle the queries from multiple different
clients 103 concurrently.
[0028] FIG. 2 is a flow chart illustrating a method 200 of
displaying a graph in accordance with one embodiment of the
invention. In step 202, the crawled data is pre-processed by the
web crawler 190 or another module that can identify dates and
geographic locations or geopoints from web content. For example,
from the sentence "John F. Kennedy was born May 29, 1917 in
Brookline, Mass.," a date can be extracted (year=1917, month=5,
day=29) and a location can be extracted (latitude=42.332,
longitude=71.122). These dates or locations or geopoints are stored
in the index 170 along with the entry or entries for the document
in which they are contained. Note that in one embodiment, a
plurality of dates or locations may be included in one document.
Thus, one entry for a document in the index 170 may include a
plurality of dates and or locations. For example, an article about
the life of JFK may mention the date of his birth, the date of his
inauguration, various dates marking events during his
administration, and the date of his assassination. An entry for
this example article in the index 170 may comprise all of these
dates. In one embodiment, the character offsets in the document for
the dates and locations are stored. Then, the text around the
offsets is used to create the snippets displayed with the result.
Note that the dates or locations associated with a document can be
extracted from the content of the document, not merely from
metadata about the document. In one embodiment, dates and locations
can be extracted from the content of the document and from
metadata.
[0029] In step 204, a query is received by the search engine system
100. The query can be formatted according to any method known in
the art. For example, the query may comprise a keyword, a text
string, several terms separated by Boolean operators, or the like.
In one embodiment, the user sending a query indicates that he would
like the results formatted in a special way (for example, by dates
or geographic locations). In another embodiment, the user does not
make such an indication until after an initial query results set is
displayed.
[0030] In step 206, the query results having associated dates or
locations are determined. In processing the query, the search
engine 180 identifies relevant documents using the content server
and index 170. For each relevant document, the search engine 180
identifies which documents have associated dates or locations. For
example, the document may mention dates or locations, or for
example, dates or locations can be extracted from HTML anchors that
point to the document. In one embodiment, this was determined in
element 202. In one embodiment, only results that have associated
dates or locations will be returned. In another embodiment, all
relevant results are returned, regardless of whether the results
have associated dates or locations.
[0031] In step 208, the presentation engine 188 formats the graph
of the data. In one embodiment, the presentation engine 188
determines the scale of the graph along the time dimension. For
example, if the dates within the search results occur exclusively
within one decade or one year, the presentation engine 188 can
format the results for display on a timeline that includes just
that decade or year, respectively. In one embodiment, the time
range to display is selected to be sufficiently large to encompass
all dates within the results, and a scale is selected such that the
entire time range can be displayed in a window of the user
interface without panning or scrolling. In one implementation, the
initial time range to display is chosen with less weight given to
recent dates because they are so prevalent on the web. For example,
if there are ten dates in the 1960's and five dates in the 2000's,
the timeline may be presented as a view of just the 1960's, because
the recent dates may be less relevant. In another embodiment, a
default time frame and/or time scale is used. Similarly,
presentation engine 188 can determine the scale of the vertical
axis of the histogram of results along the timeline. In one
implementation, a maximum length of a bar in the bar chart is
selected to correspond with a certain number of results within one
time period "bin", and all other bars are normalized according to
this standard. For example, if 10 results is set to correspond to
the maximum bar length, then a "bin" with 20 results would have a
bar of the same maximum length, and a "bin" with 5 results would
have a bar that is half as long. In another implementation, the
highest number of results in a bin is used as the maximum bar
length, and all others are normalized against this standard. Many
other methods to determine a scale are also possible. In another
embodiment, the presentation engine 188 formats a map with the
locations corresponding to search results. The presentation engine
188 may be configured to select a map scale that enables all
results to be displayed on the map. Alternatively, the presentation
engine 188 may be configured to select a map scale that enables a
subset of the results, for example the first twenty ranked results,
or a majority of the first 100 ranked results to be displayed. More
details about other format options are described below with
reference to the user interface figures.
[0032] In step 210, the graph of the data is displayed. The
formatted results are sent from the search engine system 100 to the
client 103, and displayed. Examples of displayed results in
timeline format and map format are shown in the following
figures.
[0033] FIG. 3A is an illustration of an example user interface 300
for navigating search results represented on a timeline in
accordance with one embodiment. In this example, the user interface
300 includes a search interface 303, where a query "JFK" 303 has
been entered. The user has the option of viewing the web results by
selecting the "View web results" option 305, or viewing the
timeline by selecting the "View timeline" option 306. In one
embodiment, the timeline option is the default for the display of
results. Regardless of which view of the results is displayed
first, in this embodiment, the user has the option to toggle
between viewing the web results and viewing the timeline by
selecting option 305 or option 306 respectively. In one
implementation, the web results are displayed in ranked order by
relevance as it is known in the art rather than in chronological
order.
[0034] In the example of FIG. 3A, a title 307 appears above the
date range 310 and the timeline 312 itself. In one implementation,
the title 307 includes the search terms used. The date range 310
indicates the time period of the timeline 312. The timeline 312
includes a histogram of the search results that fall within the
date range 310 of the timeline 312. In the example shown in FIG.
3A, the timeline 312 provides a visualization of the distribution
of the dates represented in the results set; there is a cluster of
results having dates in the 1940's and a cluster of results have
dates in the 1960's, with a few other dates spread throughout the
century. In one embodiment, the histogram is only representative of
the dates within the highest ranking results, for example twenty or
100 highest ranking results. In another embodiment, the histogram
is representative of the distribution of dates relevant to the
search terms for the entire set of results.
[0035] In the example of FIG. 3A, the user interface 300 also
includes a list of the results 330 presented chronologically and
divided according to the unit of measure of the timeline 312. In
this example, the list of results 330 is divided by decade. For
each result in the list, the event 331 can be listed along with the
date the event occurred 332 and a link 333 to the web site or a URL
where the document with this information can be found. The user can
select the link 333 to access the document. In one embodiment, the
results list 330 can include a plurality of references to the same
web site. For example, several of the results in FIG. 3A reference
the same web site, "www.prezhist.com." Whereas conventional web
results may prevent duplicate references to a document, the
timeline web results can be designed to display the unique dates
from all web results, and may present multiple dates from one
source document. In one embodiment, all dates from all web results
are displayed, regardless if a date is duplicated. In another
embodiment, only the highest ranked result for any date is
displayed. In yet another embodiment, the number of duplicates of
dates permitted depends on the time period selected. As is
described below, the user interface 300 can provide the user the
ability to "drill down" within a particular section of the timeline
to obtain more detail on the results within that section.
Therefore, in one embodiment, no duplicates are displayed when all
dates are displayed, but as the user drills down within a narrower
and narrower time window, duplicates may be displayed.
[0036] FIG. 3B is an illustration of another example of a user
interface for navigating search results presented on a timeline in
accordance with one embodiment. In this example, options 316 for
viewing the results by week, month, year, 5 years, or max are
presented. The user can select an option for the detail with which
to view the histogram of results along the timeline 312 and the
corresponding list of results 330. In this example, the default max
time period is by decade. If the user selects to view the results
by a smaller unit, such weeks, months, hours, minutes, seconds,
etc., the user can select the "show all" option 315 to quickly
navigate back to viewing the entire timeline. The user can select a
portion of the timeline to view in more or less detail as
desired.
[0037] In the example shown in FIG. 3B, the user is preparing to
select the decade corresponding to the 1960's 340. In one
embodiment, the user can position the cursor over the time period
of interest, for example, using a mouse or other pointing device,
and click or otherwise select it. In one embodiment, the user's
selection of a time period of interest appears as a box 341 around
a portion of the timeline. In one embodiment, a single click on,
for example, the 1960's 340 will cause the results for the 1960's
to appear first in the results list below, as if the user had
scrolled down to them. In this way, the user can interact with the
timeline to navigate the list of results. In another embodiment, a
user can double click on a portion of the timeline, for example one
decade, to expand the timeline such that the timeline includes only
the selected date range and the results list 330 includes only
results within the same time frame. In another embodiment, the user
can click and drag to highlight a section of the timeline of
interest. In one implementation, the highlighted section of the
timeline is expanded and the corresponding results are listed in
the result list 330 below.
[0038] FIG. 4 is an illustration of a user interface for navigating
search results represented on a timeline 412, the timeline 412
displaying a decade date range 410, in accordance with one
embodiment. The user may see this screen after having selected the
1960's from the timeline shown in FIG. 3B. If the user wants to
return to viewing all results, such as shown in FIG. 3B, the user
can select the "All dates" option 411. The user interface also
provides the option of viewing the portion of the timeline and
associated results to the left or right of the displayed portion of
the timeline by selecting the left or right arrows 414. This causes
the timeline to scroll to the left or right respectively and the
results listed in result list 430 to correspondingly change to
those represented on the currently visible portion of the timeline.
As described above with reference to FIG. 3B, again, the user can
select a portion of the timeline to expand to view in more detail
and view results having dates corresponding to that portion of the
timeline.
[0039] FIG. 5 is a generalized illustration of a user interface for
navigating search results represented on a timeline 512, the
timeline displaying a one year date range, in accordance with one
embodiment. The user may navigate to this screen with a one year
date range by selecting, for example, the year 1963 from the
timeline 412 in FIG. 4. If the user wants to return to viewing
results from the full decade of the 1960's, the user can select
option 511. If the user wants to view results from all dates, the
user can select the "All dates" option 411. The results list 530
has been generalized to demonstrate one example format for the
display of the results. In this implementation, results are listed
chronologically, and divided by month. In one embodiment, a maximum
number of results are displayed for each time period in the results
list 530. In this example, a maximum of four results are listed for
each month. As discussed above, if more than four results are
available in any one month, a determination is made as to which
results to display. The four results with the earliest dates may be
shown, or the four highest ranked results may be shown, or four
results that are evenly spread throughout the time period might be
shown, depending on the application. In one embodiment, to obtain
more results for one month, the user can select the corresponding
month from the timeline 512 to expand the timeline to include just
dates within the month.
[0040] In the previous examples, a timeline of a century, a decade,
and a year have been shown. It is also possible that the timeline
be longer, for example several centuries or more, or shorter, for
example a week, a day, hour, minute, second, or shorter, without
departing from the principles of the invention. For example, in one
embodiment, dates falling within a month or less may be displayed
in a calendar format. The distribution of the dates within the
month can be represented by the length of a bar or the number of
symbols within each box signifying a day of the month.
Alternatively or additionally, a color scheme or color scale can be
used to represent the distribution of the dates within the month,
or within a longer timeline.
[0041] FIG. 8 is an illustration of yet another example of a user
interface for navigating search results presented on a timeline in
accordance with one embodiment. In this example, the timeline 812
with a line graph histogram appears above a distribution 818 of
block markers corresponding to search results, such as marker 881
and 882. The block markers in distribution 818 correspond to search
results presented in the list 830. In this example, each result,
such as result 831 and 832 comprises a date and a description of an
event that occurred on the date. In one embodiment, certain
important dates and events are presented in bold, or otherwise
highlighted or made distinguishable from other dates and events.
For example, dates that occur with the highest frequency in the
results can be emphasized. In this example, the birth date 831 and
death date 832 are presented in bold. Also in this example, the
markers corresponding to the birth date 881 and death date 882 in
distribution 818 are labeled. In one embodiment, the user can
select one of the search results 830, for example by clicking on
the date or the description, to access the document from which the
information was extracted.
[0042] Referring now to FIG. 6, there is shown an illustration of a
user interface 600 for navigating search results 630 presented on a
geographical map 660 in accordance with one embodiment. In this
example, the user interface 600 includes a search interface 603,
where a search for "civil war" has been entered. The user can enter
non-geographical search terms, i.e., search terms that do not
explicitly specify a unique location or place such as "civil war",
"state capitols", or "Marilyn Monroe", and view the locations
extracted from the search results on a map. The user has the option
of viewing the web results by selecting the "View web results"
option 605, or viewing a timeline by selecting the "View timeline"
option 306, or viewing a map by selecting the "View map" option
608. In one embodiment, the map option is the default for the
display of results. Regardless of which view of the results is
displayed first, the user has the option to toggle between a
viewing the web results, the timeline, and the map by selecting
option 605, 606, or 608 respectively. In one implementation, the
order of displayed results and/or the result set may be different
depending what option 605, 606, or 608 is selected. In one
embodiment, the timeline view and the map view of results is
visible to the user on the same page. For example, a user may enter
a query for "Rolling Stones Concerts" and be able to view the
locations of concerts on a map and the dates of concerts on a
timeline, and be able to link to any of the documents from which
the dates and locations were extracted, all from a single page.
[0043] In one embodiment, the user interface 600 also includes an
option 609 to "Link to this page." The user can select this option
or button to generate a hyperlink to place on an external web page
that links to the current page with the current view of the search
results and graphical presentation of them.
[0044] In the example of FIG. 6, a title 607 appears above the list
of results 630 and the map 660. In one implementation, the title
607 includes the search terms used. Below the title, a list of
results 630 are displayed in ranked order. For each result in the
list, the event or object title 631 can be listed along with the
geographic location 632 and a link 633 to the web site where the
document with this information can be found. Each result in the
result list 630 has a corresponding marker 639, which is placed at
the respective location 669 on the map 660 referenced in the
result. In one embodiment, each marker is distinctive. In this
example, the markers resemble push pins with letters on them;
alternatively, they can be any shape, symbol, and color with any
identifying feature that distinguishes them from each other. For
example, the markers can be different colors from one another, be
different shapes, have different numbers or words, or have any
other distinguishing characteristic or combination of
distinguishing characteristics. In one embodiment, certain
important locations or the markers at those locations are presented
in bold, or otherwise highlighted or made distinguishable from
other locations or markers. For example, locations that occur with
the highest frequency in the results can be emphasized.
[0045] In one embodiment, the results list 630 can include a
plurality of references to the same web site. For example, several
of the results in FIG. 6 reference the same web site,
"www.cr.nps.gov." As discussed above, whereas conventional web
results may prevent duplicate references to a document, the map 660
of results can be designed to display the unique locations from all
web results, and may present multiple locations from one source
document. In one embodiment, all locations from all results 630 are
displayed and mapped, regardless if a location is duplicated. In
other embodiments, only the highest ranked or the most frequent
result for any location is displayed. In yet another embodiment,
the amount of duplicates of locations permitted depends on the
scale of the map. As is described below, the user interface 600 can
provide the user the ability to zoom within a particular section of
the map to obtain more detail on the results within that section.
Therefore, in one embodiment, no duplicates are displayed when
large area is mapped, but as the user zooms within a narrower area,
duplicates may be displayed.
[0046] The map 660 provides a visualization of the distribution of
the geographic locations referenced in the result set. In this
example, there is a cluster of locations in New England, with a few
other locations spread to the north and south. In one embodiment,
the map is only representative of the locations within the highest
ranking results, for example twenty or 100 highest ranking results.
In another embodiment, the map is representative of the
distribution of locations relevant to the search terms for the
entire set of results. The map 660 includes a smaller inset map 661
to orient the user. The outlined area 662 within the inset map 661
is representative of the location of the area within map 660
relative to larger landmarks, such as North America. The user also
has the option of displaying the map 660 as a map as shown in FIG.
6 by selecting button 663, or displaying the map 660 using
satellite photograph data (not shown) by selecting button 664, or
displaying the map 660 using a hybrid (not shown) of traditional
map symbols and satellite photograph data by selecting button
665.
[0047] A user can navigate the map 660 using pan control 666, and
the zoom control 667. To view sections of the map to the north,
south, east, or west, the user can press the corresponding arrow of
the pan control 666. Alternatively, the user can click on the map
660 and drag the map in any direction. To zoom in on a section of
the map, the user can select the plus button of the zoom control
667 or alternatively, drag the slider 668 of the zoom control up,
or click along the line above the slider 668. In order to zoom out,
the user can select the minus button of the zoom control 667 or
alternatively, drag the slider 668 of the zoom control down, or
click along the line below the slider 668.
[0048] In one embodiment, a user can click on mapped marker, such
as marker 669, to select the corresponding document from result
list 630 to view. In one embodiment, when the user hovers a cursor
over a marker, a pop-up bubble appears that displays the
corresponding result from the list of results 630. In another
embodiment, a single click or a double click by the user causes a
popup bubble to appear.
[0049] FIG. 7 shows an example of a pop-up bubble 770 corresponding
to marker B that marks the location of the "Gettysburg Campaign"
result 737 from the results list. In this embodiment, the user can
execute a refined search by clicking on a marker on the map 660. In
this example, the user first searched for "civil war". However,
after seeing the mapped results and the results list, the user
desired more information related to one of the search results, in
this case, search result 737. Rather than entering a new search
query, the user can click or otherwise select the marker at the
location of the result of interest to add terms to the search query
and execute the refined query. In one embodiment, the terms added
are from the name of the object or location or event that occurred
at the location marked on the map (e.g., a search for [civil war
battle of Gettysburg]). In another embodiment, the location is
added as a search term (e.g., a search for [civil war Gettysburg,
Pa.]). The results 771, 772 from the refined search appear in the
bubble 770. In one embodiment, only a few of the top ranked results
appear in the bubble, however, any number of results can be
displayed. The user can select one of the search results 771, 772
to view the corresponding document or can close the bubble by
selecting button 773.
[0050] FIG. 9 is a flow chart illustrating a method 900 of
displaying refined search results in accordance with one
embodiment. In step 902, a selection of a result is received from
the user, for example by the user clicking on the result, on the
text of the result in the results list 630, or on the marker
corresponding to the result on the map 660. In step 904, the terms
to add to the query are determined. For example, the name of the
location that was extracted from the document represented by the
selected result can be added as a term in the refined query. In
step 906, the results of the refined query are determined. In one
embodiment, the refined query is sent to the search engine
asynchronously, for example using AJAX. Then, in step 908, the
results of the refined query are displayed to the user.
[0051] The above description is included to illustrate the
operation of the embodiments and is not meant to limit the scope of
the invention. From the above discussion, many variations will be
apparent to one skilled in the relevant art that would yet be
encompassed by the spirit and scope of the invention. Furthermore,
several figures are presented as screen shots depicting examples of
the user interface as it might appear on a display screen or other
output device. The particular screen layouts, appearance, and
terminology as depicted and described herein, are intended to be
illustrative and exemplary, and in no way limit the scope of the
invention as claimed.
[0052] Those of skill in the art will also appreciate that the
invention may be practiced in other embodiments. First, the
particular naming of the components, capitalization of terms, the
attributes, data structures, or any other programming or structural
aspect is not mandatory or significant, and the mechanisms that
implement the invention or its features may have different names,
formats, or protocols. Further, the system may be implemented via a
combination of hardware and software, as described, or entirely in
hardware elements. Also, the particular division of functionality
between the various system components described herein is merely
exemplary, and not mandatory; functions performed by a single
system component may instead be performed by multiple components,
and functions performed by multiple components may instead
performed by a single component.
[0053] Some portions of the above description present the features
of the present invention in terms of methods and symbolic
representations of operations on information. These descriptions
and representations are the means used by those skilled in the data
processing arts to most effectively convey the substance of their
work to others skilled in the art. These operations, while
described functionally or logically, are understood to be
implemented by computer programs. Furthermore, it has also proven
convenient at times, to refer to these arrangements of operations
as modules or by functional names, without loss of generality.
[0054] Unless specifically stated otherwise as apparent from the
above discussion, it is appreciated that throughout the
description, discussions utilizing terms such as "displaying" or
the like, refer to the action and processes of a computer system,
or similar electronic computing device, that manipulates and
transforms data represented as physical (electronic) quantities
within the computer system memories or registers or other such
information storage, transmission or display devices.
[0055] Certain aspects of the present invention include process
steps and instructions described herein in the form of a method. It
should be noted that the process steps and instructions of the
present invention could be embodied in software, firmware or
hardware, and when embodied in software, could be downloaded to
reside on and be operated from different platforms used by real
time network operating systems.
[0056] The present invention also relates to an apparatus for
performing the operations herein. This apparatus may be specially
constructed for the required purposes, or it may comprise a
general-purpose computer selectively activated or reconfigured by a
computer program stored on a computer readable medium that can be
accessed by the computer. Such a computer program may be stored in
a computer readable storage medium, such as, but is not limited to,
any type of disk including floppy disks, optical disks, CD-ROMs,
magnetic-optical disks, read-only memories (ROMs), random access
memories (RAMs), EPROMs, EEPROMs, magnetic or optical cards,
application specific integrated circuits (ASICs), or any type of
media suitable for storing electronic instructions, and each
coupled to a computer system bus. Furthermore, the computers
referred to in the specification may include a single processor or
may be architectures employing multiple processor designs for
increased computing capability.
[0057] The methods and operations presented herein are not
inherently related to any particular computer or other apparatus.
Various general-purpose systems may also be used with programs in
accordance with the teachings herein, or it may prove convenient to
construct more specialized apparatus to perform the required method
steps. The required structure for a variety of these systems will
be apparent to those of skill in the art, along with equivalent
variations. In addition, the present invention is not described
with reference to any particular programming language. It is
appreciated that a variety of programming languages may be used to
implement the teachings of the present invention as described
herein, and any references to specific languages are provided for
enablement and best mode of the present invention.
[0058] The present invention is well suited to a wide variety of
computer network systems over numerous topologies. Within this
field, the configuration and management of large networks comprise
storage devices and computers that are communicatively coupled to
dissimilar computers and storage devices over a network, such as
the Internet.
[0059] Finally, it should be noted that the language used in the
specification has been principally selected for readability and
instructional purposes, and may not have been selected to delineate
or circumscribe the inventive subject matter. Accordingly, the
disclosure of the present invention is intended to be illustrative,
but not limiting, of the scope of the invention, which is set forth
in the following claims.
* * * * *