US 20070011150 A1
A computer-implemented method of processing a geotext query, said method involving: receiving a first free-text query string from a user; and decomposing the first free-text query into a non geographic query and a geographic query, wherein the non geographic query is a second free-text query string derived from the first free-text query string and the geographic query is a geographical location description.
1. A computer-implemented method of processing a geotext query, said method comprising:
receiving a first free-text query string from a user; and
decomposing the first free-text query into a non geographic query and a geographic query, wherein the nongeographic query is a second free-text query string derived from the first free-text query string and the geographic query is a geographical location description.
2. The method of
3. The method of
4. The method of
submitting the non-geographic query to a text search engine to identify documents that are responsive thereto; and
submitting the geographic query to a geographic search engine to find documents that are responsive thereto.
5. The method of
6. The method of
7. The method of
8. A computer-implemented method comprising:
receiving user input that selects a document;
requesting from another service geotags for the selected document;
displaying on a visual display device a map for the selected document; and
marking the map with the geotags obtained from the service.
9. The method of
10. The method of
11. The method of
12. The method of
submitting a query to a search engine;
receiving search results from the search engine, said search results being a list of documents that are responsive to the query, wherein the first-mentioned document is among the documents in the list of documents;
displaying the search results via a visual interface that is displayed on visual display device; and
presenting to the user a tool that is accessible through the visual interface which enables the user to select the document from among the search results.
13. The method of
14. A computer-implemented method of representing a plurality of documents on a map, wherein all of said plurality of documents refer to a particular geographical area, said method comprising:
displaying the map on a visual display;
representing the plurality of documents by a single icon located at the particular geographical area on the map;
in a region associated with the icon, displaying information about a selected one of the documents among the plurality of documents; and
providing a navigational control which enables a user to page through the plurality of documents and successively display in said region information about each of the other documents among the plurality of documents represented by that icon.
15. The method of
16. The method of
17. The method of
18. The method of
19. The method of
20. The method of
21. The method of
22. A computer-implemented method of representing a plurality of documents that are responsive to a query, said method comprising:
displaying a map on a visual display;
displaying a plurality of icons on the map, said icons having a visual characteristic, each icon representing a set of one or more documents among the plurality of documents, each icon located at a corresponding geographical location on the map to which the documents of the corresponding set of documents refer and wherein the set of documents for each icon has associated therewith a measure of its relevance to the query; and
adjusting the visual characteristic of each icon to reflect the relevance measure for the set of documents represented by that icon.
23. The method of
24. The method of
25. The method of
26. The method of
27. A computer-implemented method comprising:
receiving a query;
in a first window pane of a displayed user interface, displaying a list of documents that are responsive to the query;
in a second pane of the displayed user interface, displaying a map, said first and second panes displayed concurrently;
within the map, displaying markers identifying geographical locations associated with the documents among the list of documents; and
in response to the user selecting one of the documents identified in the displayed list of documents, highlighting a subset of the plurality of markers that correspond to that selected document.
28. The method of
29. The method of
30. A computer-implemented method comprising:
receiving a query;
in a first window pane of a displayed user interface, displaying a list of documents that are responsive to the query;
in a second pane of the displayed user interface, displaying a map, said first and second panes displayed concurrently;
within the map, displaying markers identifying geographical locations on the map that are associated with each of the documents among the list of documents; and
in response to the user selecting one of the markers displayed on the map, highlighting among the list of documents a subset of those documents that correspond to that selected marker.
31. The method of
32. The method of
33. A computer-implemented method comprising:
using a geoparser engine to tag a document with a plurality of tags;
on visual display, displaying at least portions of the document to a user with the tags associated with those portions;
providing an interface that enables the user to change any of the displayed tags among the plurality of tags; and
sending any changes made to the plurality of tags by the user back to the geoparser engine to modify the performance of the geoparser engine.
34. The method of
35. The method of
36. The method of
37. The method of
38. The method of
39. The method of
40. A computer-implemented method comprising:
submitting a geotext query to a search engine;
receiving search results from the search engine, said search results including a document that is responsive to the geotext query;
displaying a map on a visual display device;
displaying a marker on the map that corresponds to the document and is located at a geographical location on the map to which the document refers, wherein the marker presents information about the document; and
enabling a user to select at least some of said information from the marker and generate a tag that is associated with said geographical location irrespective of whether any markers shown on the displayed map.
This application claims the benefit of U.S. Provisional Application No. 60/694,614, filed Jun. 29, 2005, incorporated herein by reference.
This invention relates generally to a user interface for a geographic search engine.
There are many tools available for organizing and accessing documents through different interfaces that help users find information. Some of these tools allow users to search for documents matching specific criteria, such as containing specified keywords. Some of these tools present information about geographic regions or spatial domains, such as driving directions presented on a map.
An example of one of these tools is described in U.S. 2002/0078035 A1. That particular tool is a computer system that presents a map interface to a user and that interface enables a user, among other things, to pose a query via the map interface and to be able to inspect a representation of the query results arranged on the map as icons. The map and the icons are responsive to further user actions, including changes to the scope of the map, changes to the terms of the query, or closer examination of a subset of the results. The targets of the query are documents. Examples of documents include text-based computer files, as well as files that are partially text-based, files containing spatial information, and computer entities that can be accessed via a document-like interface. A spatial recognizer process examines documents for spatial information content. When the spatial recognizer determines that a document has spatial information content, the document is added to a spatial document collection. A document ranking process assigns a spatial relevance score to each document in the spatial document collection. The spatial relevance score is a measure of the degree to which the document relates to the spatial location mentioned in its spatial information content.
Such tools are available on private computer systems and are sometimes made available over public networks, such as the Internet. Users can use these tools to gather information.
In general, in one aspect, the invention features a computer-implemented method of processing a geotext query, the method involving: receiving a first free-text query string from a user; and decomposing the first free-text query into a nongeographic query and a geographic query, wherein the nongeographic query is a second free-text query string derived from the first free-text query string and the geographic query is a geographical location description.
Other embodiments include one or more of the following features. The method also involves using both of the non geographic query and the geographic query as a basis for conducting a search of documents that are responsive to the free-text query. It also my involve displaying the non geographic query and the geographic query to the user. Using both of the non-geographic query and the geographic query to conduct a search of documents that are responsive to the free-text query involves: submitting the non-geographic query to a text search engine to identify documents that are responsive thereto; and submitting the geographic query to a geographic search engine to find documents that are responsive thereto. Alternatively, using both of the non geographic query and the geographic query as a basis for conducting a search of documents that are responsive to the free-text query involves providing an interface that enables the user to refine the geographic query to produce a refined geographic query. The method also involves generating a confidence score for the geographic query, and wherein displaying the non-geographic query and the geographic query to the user involves displaying the confidence score for the geographic query. The method may also involve providing an interface to the user which enables the user to adjust the displayed confidence score.
In general, in another aspect, the invention features a computer-implemented method involving: receiving user input that selects a document; requesting from another service geotags for the selected document; displaying on a visual display device a map for the selected document; and marking the map with the geotags obtained from the service.
Other embodiments of that aspect include one or more of the following features. The other service is a geoparser. Requesting the geotags involves identifying the document to the geoparser, e.g. by sending the document to the geoparser. The method also involves: submitting a query to a search engine; receiving search results from the search engine, the search results being a list of documents that are responsive to the query, wherein the first-mentioned document is among the documents in the list of documents; displaying the search results via a visual interface that is displayed on visual display device; and presenting to the user a tool that is accessible through the visual interface which enables the user to select the document from among the search results. Presenting the tool that is accessible through the visual interface involves displaying a button on the visual interface which when selected by the user accesses the functionality of the tool.
In general, in still another aspect, the invention features a computer-implemented method of representing a plurality of documents on a map, wherein all of the plurality of documents refer to a particular geographical area. The method involves: displaying the map on a visual display; representing the plurality of documents by a single icon located at the particular geographical area on the map; in a region associated with the icon, displaying information about a selected one of the documents among the plurality of documents; and providing a navigational control which enables a user to page through the plurality of documents and successively display in said region information about each of the other documents among the plurality of documents represented by that icon.
Other embodiments include one or more of the following features. The region is a popup bubble. The method further involves, in response to receiving an input from the user selecting the icon, generating the popup bubble. The displayed information about each document is an extract from that document. The navigational control includes a first control for enabling the user to step forward through the plurality of documents and/or a second control for enabling the user to step backwards through the plurality of documents. The popup bubble also displays the number of documents within the plurality of documents and/or a number of the selected document.
In general, in still yet another aspect, the invention features a computer-implemented method of representing a plurality of documents that are responsive to a query, the method involving: displaying a map on a visual display; and displaying a plurality of icons on the map, said icons having a visual characteristic, each icon representing a set of one or more documents among the plurality of documents, each icon located at a corresponding geographical location on the map to which the documents of the corresponding set of documents refer and wherein the set of documents for each icon has associated therewith a measure of its relevance to the query; and adjusting the visual characteristic of each icon to reflect the relevance measure for the set of documents represented by that icon.
Other embodiments of that aspect of the invention include one or more of the following features. The visual characteristic is transparency. The icon with the highest measure of relevance is displayed with the least transparency; and the icon with the lowest measure of relevance is displayed with the highest transparency. Each document has a relevance score and the relevance measure that is used for each set of documents is the highest relevance score among the documents in that set.
In general, in another aspect, the invention features a computer-implemented method involving: receiving a query; in a first window pane of a displayed user interface, displaying a list of documents that are responsive to the query; in a second pane of the displayed user interface, displaying a map, the first and second panes displayed concurrently; within the map, displaying markers identifying geographical locations associated with the documents among the list of documents; and in response to the user selecting one of the documents identified in the displayed list of documents, highlighting a subset of the plurality of markers that correspond to that selected document.
Other embodiments include one or more of the following features. Highlighting involves changing the size of the corresponding marker. e.g. making the corresponding marker larger.
In general, in yet still another aspect, the invention features a computer-implemented method involving: receiving a query; in a first window pane of a displayed user interface, displaying a list of documents that are responsive to the query; in a second pane of the displayed user interface, displaying a map, the first and second panes displayed concurrently; within the map, displaying markers identifying geographical locations on the map that are associated with each of the documents among the list of documents; and in response to the user selecting one of the markers displayed on the map, highlighting among the list of documents a subset of those documents that correspond to that selected marker.
Other embodiments include one or more of the following features. Highlighting involves applying a shading for at least a portion of the corresponding one or more entries on the list of documents. The shading is a background color.
In general, in still yet a further aspect, the invention features a computer-implemented method involving: using a geoparser engine to tag a document with a plurality of tags; on visual display, displaying at least portions of the document to a user with the tags associated with those portions; providing an interface that enables the user to change any of the displayed tags among the plurality of tags; and sending any changes made to the plurality of tags by the user back to the geoparser engine to modify the performance of the geoparser engine.
Other embodiments include one or more of the following features. The plurality of tags includes a plurality of labels presenting relevance scores and a plurality of text markers. The enabled change includes deletion, and/or extending or reducing a range of characters; and/or changing a confidence score; and/or changing a location to which the tag refers; and/or improving precision of a location definition.
In general, in still yet a further aspect, the invention features a computer-implemented method involving: submitting a geotext query to a search engine; receiving search results from the search engine, the search results including a document that is responsive to the geotext query; displaying a map on a visual display device; displaying a marker on the map that corresponds to the document and is located at a geographical location on the map to which the document refers, wherein the marker presents information about the document; and enabling a user to select at least some of that information from the marker and generate a tag that is associated with that geographical location irrespective of whether any markers shown on the displayed map.
The details of one or more embodiments of the invention are set forth in the accompanying drawings and the description below. Other features, objects, and advantages of the invention will be apparent from the description and drawings, and from the claims.
FIGS. 4A-B show the user-selectable page fold (or waterlevel) in the results display area.
FIGS. 14A-C illustrate how the interface enables a user to generate a tag.
FIGS. 15A-B illustrate how the interface enables the user to generate an annotation on a map.
FIGS. 16A-B illustrate how the GUI enables the user to combine results from various identified documents to generate a new document.
We describe a graphical user interface (GUI) for a software system that allows users to find and visualize information about geographic locations. The GUI helps the user see large amounts of information rapidly. In particular, the GUI displays relevance ranked geographic data from a variety of sources, including Geographic Text Search (GTS) systems described in our earlier filings (e.g. see US 2002/0078035 published Jun. 20, 2002). Relevance ranked data is information that has been automatically sorted by the software system according to user input. Relevance ranking is a type of “artificial intelligence” that attempts to select information of greater interest to the user by analyzing input from the user. Typically, user input is quite small compared to the information being sorted, so we mitigate this imbalance with a variety of techniques for accepting user input and for presenting feedback to the user.
The GUI consists of three “areas” or “window panes” inside a web browser window, such as Mozilla Firefox or Microsoft Internet Explorer:
Throughout this document we refer to “relevance ranked” search results from “document” search engines. By document, we mean any digital data record containing possibly structured and unstructured data elements in any format. By relevance ranked, we mean an ordering applied to a set of document references in response to a user query for information contained in the documents. A “relevance function” is a mathematical function that computes a number indicating the degree of pertinence or strength of match between a document and user interest as expressed by a query.
Search Input Area
The GUI includes a geographic map 20 and a time range indicator 12 that allow the user to select a geographic area or areas of interest and time frame(s) of interest. These inputs can limit search results to only those documents containing references to specified time frames and map areas.
The Search Input Area allows the user to type questions into a single form field 14. The community of academic research focused on natural language “question answering” attempts to heuristically analyze and decompose such user input into structured database queries that can answer the user's question. Regardless of the quality and efficacy of such heuristic decomposition, it is useful to show the user how the system decomposed their query. If multiple decompositions are possible, it is useful to show the user multiple decompositions and allow them to choose those that best reflect their intentions.
We call this disambiguation process Query GeoParsing. The essential features of any Query GeoParsing process are the form of the input and output:
Either part of the output could be empty. For example, if the input string is simply the word letters “Baghdad” then the output would typically be an empty Part 1 and a coordinates for one of the places in the world called “Baghdad,” such as Baghdad, Iraq.
A good Query GeoParser generates confidence scores indicating the probability that the user really intended this interpreted meaning when they typed their query.
The described embodiment shows the user geographic and temporal interpretations of their query, and allows them to adjust the interpretations used by the system. This allows the user to refine their query to more accurately and precisely represent their intentions. This essentially replaces the notion of natural language question answering with interactive query refinement. Instead of only allowing the user to ask the system questions, this system also poses questions to the user.
For example, if the user enters “reports of nuclear weapons in iran during the 1990s,” the GUI immediately launches a query for all of the input words and uses the presently selected map area(s) and time range(s) as additional constraints on the query. This generates results using the possibly geographic or temporal words simply as unstructured free-text words. In parallel with presenting results to this query, the GUI also poses questions to the user. For this example, the GUI might present text saying something like any of the following:
Another novel feature of the described embodiment is that it behaves differently when there are less ambiguous interpretations of the user's geographic input. If the system recognizes part of the user's input as being very likely geographic, then it offers a link that indicates such higher certainty by presenting the fully resolved location name. Further, when the user clicks this link, it zooms the map directly to this location. A fully resolved location name includes the hierarchically enclosing political regions, e.g. “Catkoy, Yozgat, Turkey” is fully resolved and “catkoy” is not. This is possible because the system is analyzing the user's query to decide which input words are intended to be geographic and which are not. Since this analysis generates probability confidence scores, the magnitude of the confidence allows the system to behave differently when the user's query is more or less geographically ambiguous. If the user says “catkoy” and the system has a relatively low confidence, such as 0.3, then the system can present a question reflecting this uncertainty, like “Did you mean a place called Catkoy? There is such a place in Turkey.” If the user clicks this link, the system can present the user with a list of locations with that name.
On the other hand, if the user's query was the less ambiguous “tree parks in Catkoy, Turkey” the system could skip the question step altogether and immediately zoom the map to that part of Turkey and do a query for “tree parks.”
The GUI also presents statistics to the user about the number of various types of data objects available. In particular, the GUI presents:
Results List Area 16 displays a variety of lists generated from various information sources. Some of these lists are “metric sorted lists,” i.e. the items in the list are presented in increasing or decreasing order according to a property of the list elements that is comparable via one-dimensional metric comparisons, which are isomorphic to greater-than-or-equal-to comparisons of integers. A commonly used class of metrics for such comparisons is automatically computed relevance scoring metrics, which estimate the pertinence of a list item to a user's interests as expressed through the user's query.
When presenting lists of document search results, a commonly used GUI technique is to present a hyperlink to the document and to also present short strings of text extracted from the document. These strings of words are called “extract texts” and often are presented with bold font or color highlighting of query words input by the user. Additional common GUI techniques include presenting a link to a cached or backup copy of the document and presenting a link to similar documents. We call these commonly presentation techniques “basic result information.”
Other sources of information include structured databases whose data records are often not called “documents.” We call them documents here because most data records contain some fields or elements that are unstructured and require either human, heuristic, or statistical assessment to be used. Thus, all data objects of any kind are called “documents.” Regardless of the source of a document, it may contain geographic information either implicitly or explicitly. Documents with explicitly labeled latitude/longitude fields can be plotted on a map without further analysis. Documents with varchar fields, strings of text, audio recordings, video, or other arrangements of bytes may be found to contain geographic information that was previously only implicit in the bytes. For example, an audio recording of a speaker describing a famous civil war battle has several implicit geographic references. The location of the speaker might be deduced by recognizing the speech as “President Lincoln's Gettysburg Address” and using another database source to associate that title with the file and further using yet another database to associate coordinates with Gettysburg. Further, the words in the audio might mention the names of villages, and by associating coordinates with these names, a geographic analyzer can associate additional coordinates with the audio file.
From this perspective, all documents are potentially geographic. Since essentially all recordings are created at a particular moment in space and time, at the very least, that location of creation gives every document geographic meaning. Thus, everything is geographic. The described embodiment exposes the geographic meaning of documents provided from any source.
Map This Document
In the described embodiment, the GUI presents a new type of button in the document search results. Since the results may have come from a search engine that does not provide geographic information about the documents, the user typically cannot tell whether a given document will be pertinent to their geographic interests. To assess such relevance, the user would typically need to open the document and read its contents looking for geographic references within their map view. Even after the user has loaded the document for viewing, it may contain geographic references to places unfamiliar to the user. Referring to
The purpose of an ArticleMapper GUI is to show the user information about one document. In particular, the ArticleMapper GUI shows geographic information that has been automatically extracted from the document.
Various Modes of Performing “Map This Document”
As described in U.S.2002/0078035 published Jun. 20, 2002 and incorporated herein by reference, a document might refer to multiple locations and the geographic text search interface can display a plurality of markers to represent this. If a user constructs a search that retrieves only one document, for example by using the “url:” operator that limits the results to only show information from the document with that URL, then all the markers in the map will be from that one document.
We have found that several related embodiments of this original idea are also useful. These different embodiments all contain the same essential three elements and differ only in their mode of interacting with the GeoParsing engine. The essential elements are:
Referring again to
When a result set contains a single document, this obviously leads to a display where all the markers are from the same document. As is standard in the art of information retrieval, we implemented a query “operator” that allows the user to issue commands through the query box. Typical operators are “site:” and “lang:” which limit the results to a particular host site or language input after the colon symbol in the operator. We created an operator for limiting results to only one document “url:insert document's URL here”. The user could achieve this same result using any query that uniquely selected that document.
In this original embodiment, the three essential elements are implemented by aspects of the GTS system:
In this embodiment, we have included ArticleMapper software by means of which a user selects a document by viewing a document in a document viewer, like a web browser, and pushing a button in the viewer toolbar to cause steps (2) and (3) to be performed. We put the word “MapThis” (or “MapIt”) in a toolbar button 35. When the user pushes the “MapIt” button, software in the viewer opens a connection to a GeoParser server over the network and sends the text of the document over the connection. The server responds with locations that it has extracted from that document. The software in the viewer then displays a map in a popup window above the document. The map shows markers on the locations extracted from the document. The user can move the popup around and expand or close it. The map popup is superimposed on top of the document window, so that the original document display is unaltered.
Typically, the ArticleMapper software in the viewer will highlight the words in the document display that the GeoParser interpreted as being geographic locations. When the user holds the pointer over a marker, the corresponding text references change visually to indicate that they caused that marker to appear, and vice versa: holding the pointer over a text reference causes the corresponding map marker to change visually.
Adding MapIt Buttons to a List of Search Results
When a user reads through a list of search results from a regular search engine, some of the documents may be geographic. It is useful to present a separate “MapIt” button 22 next to each of these results, as shown in
Generating an Integrated Map
In this embodiment, a user selects a document simply by navigating to it using a document viewer, such as a web browser. The software that provides the document to the viewer performs steps (2) and (3) automatically without waiting for a separate request from the user. By extracting geographic locations and generating a map display before sending the document to the viewer, this embodiment has the advantage that the map can be displayed alongside the text of the document in an integrated layout. This is useful for collections of documents that frequently contain geographic references, because the map can be laid out in a standard template for presenting documents from the collection.
Dynamically Offer to MapIt if Relevant and Confident Enough
In any embodiment of “map this document,” it is useful to define confidence and relevance cutoffs. If the geographic references found in the document are either not confident enough or not relevant enough, then the third step of displaying the map can be skipped to avoid showing the user irrelevant or wrong information. Confidence is a numerical parameter that indicates the probability that the author of the text really intended this particular location. Relevance is a numerical parameter that indicates the probability that this geographic reference is important or pertinent to the primary thrust or purpose of the document (e.g. see U.S. Ser. No. 60/812,865 filed Jun. 12, 2006, incorporated herein by reference).
Typically, factory default values for the confidence and relevance cutoffs are defined. Some GUIs may allow the user to adjust these cutoffs.
The ArticleMapper toolbar button can automatically check whether a document has locations with relevance and confidence above the cutoff. If not, the software can cause the button to disappear or change to a deactivated appearance, such as greyed out. For a system generating an integrated ArticleMapper map, the process of performing step (2) provides relevance and confidence parameters. If none of the locations pass the cutoffs, then no markers are plotted in step (3). Some systems may decide not to display a map if no markers are to be plotted.
When viewing a list of search results, it is often useful to dynamically assess which documents should have a MapIt button and which should not. These buttons allow the user to see which documents are interestingly geographic even if the search engine providing the results does not provide explicit geographic information with the results. The button is “smart” in the sense that it dynamically assesses whether the documents are geographically relevant and displays the result of this assessment to the user by presenting the MapIt button or not. The user can choose to map the results by clicking any of these buttons. We describe three implementations of this concept:
Relevance Gradations in ArticleMapper Markers
When presenting map markers in an ArticleMapper GUI, it is often useful to change the markers to reflect the relevance and confidence of the location references in the text. In our original filing (see, U.S.2002/0078035 published Jun. 20, 2002), we indicated this information using numbers in the yellow markers. Another embodiment of this same idea is changing transparency of the markers. By making less relevant markers more transparent, they visually fade into the backdrop map and appropriately attract less attention from the user. (See
User-Selectable Page Fold
Due to the large volumes of information being queried, lists in the results area could be extremely long. Commonly used GUI techniques allow the user to view additional pages of results, where each page contains a pre-determined number of results, such as 10 more. This is commonly indicated by a “next results” button or link, or by a number indicating a numbering of the results page. When the user clicks on such a “advance page number” or “next” button, the GUI refreshes with a new batch of results. In this commonly used GUI technique, the batches of results are of fixed maximum batch size, which the user can adjust only by entering a batch size in a configuration menu, which is separate from the next button and also fails to let the user indicate their screen size.
The user's screen size and willingness to scroll down on the screen are crucial factors in selecting the batch size. In the described embodiment, the user is enabled to choose the batch size dynamically through the same interface element that triggers the loading of additional results. This essentially replaces the notion of a next batch of results with a dynamic list length that the user can adjust. By combining the list length selection with the request to see more items in the list, the user is able to adjust the list length to match the height of their viewing window. We call this feature “the waterline” or “user-selectable page fold,” because the bottom of the viewing window is typically called “the page fold.” Like a physical fold in a real sheet of paper, the user must take physical action to view information presented below the fold.
In the two screenshots in
In other GUIs developed to present geographic document search results, a “view next batch of results” button is often presented to the user. This allows the user to view a new map annotation layer generated from search results of lower relevance than the previous batch. The document-location tuples in the search results can be numbered relative to each other using integers. These integer rank numbers allow the interface to request “batches” of results. The interface can request the next N lower ranked results. Nothing else about the user's query would change, only the minimum and maximum rank of the documents used to generate the labels. This is a logical distortion, because it creates multiple different map layers for the same user query where the only distinction is a nongeographic distinction. The database queries differ by the change of min/max rank, however the parameters input by the user to indicate their questions and interests have not changed. Designers felt that this distortion was necessary, because if all the results were presented, a clutter of symbols would obscure the map, and the time required to download the information to the user's display could become too long to be useful. Designers conceived of separate batches to limit the number of results presented.
The described embodiment solves this problem in a new way: a control element in the GUI allows the user to expand the list of results dynamically, i.e. instead of having a new batch to replace a first batch, there is only one batch and the user is permitted to dynamically increase the length of the result set. This allows the GUI to maintain geographic invariance. By combining all the batches into one layer, the distortion is eliminated. By making the map annotation layer more sophisticated, the GUI enables the user to adjust the degree of cluttering.
As shown in
Clicking on a result below the waterline causes the waterline to move down below that result. This allows the user to lower the waterline.
Other variations on the waterlevel implementation include using a slider bar or other input mechanism to allow the user to select a number of results to allow above the waterline. Another variation allows the user to select a relevance threshold instead of an absolute number of results. Such a relevance threshold can be visualized in the map as plane of “clouds” parallel to the map at an “altitude” above the map. When a result is higher relevance, it is displayed as though it is above these clouds. And when a result is lower relevance than the threshold, it is displayed as though obscured by the clouds. This variation is related to the subsection titled “Ghosting” below.
This feature allows the GUI to initialize the initial view of the Results List Area such that it always fits above the fold, and nonetheless permits the user to adjust the interface to show as many results as they wish. This feature works with any list, whether relevance sorted, or sorted by another metric, or not sorted.
Map Display Area
The Map Display Area has many aspects in common with traditional Geographic Information System (GIS) or mapping displays. It presents geographic maps at various scales and extents, from high-scale representations of building layouts or equipment networks to low-scale representations of entire countries or continents. Common GUI tools include click-and-drag rectangle tools for selecting sub-regions of the present display, clickable scale bar which changes the map scale in response to user input, and layer selector for choosing which layers of information to present in the map.
The described embodiment includes several novel features for presenting layers of information generated from relevance-sorted lists of results, such as those generated by document search engines. The GUI presents labels on the map generated from information extracted from the document results. The labels can contain text, images, and possibly other media extracted from the documents. These labels or annotations are automatically generated from the document search results.
Useful historical context for understanding these novel features is the notion of geographic invariance, which we adapt from the art of cartography. When presenting information about our approximately spherical planet on flat visual displays, such as computer screens and pieces of paper, cartographers must choose what distortions to tolerate and what distortions to minimize. Projecting the non-Euclidean geometry of a curved object, such as the Earth, onto a Euclidean space, such as a flat piece of paper, geometric distortion will unavoidably occur.
A commonly known example of this issue is the tradeoff between equal angles and equal areas. The mathematical function used to convert from spherical latitude-longitude coordinates to Cartesian coordinates of the plane could be chosen to be conformal, i.e. preserve angles, or not. If it is conformal, then the angle between intersecting lines will be the same in both the spherical and Cartesian geometries and the area of polygons will not be equal. Alternatively, an equalarea projection will preserve areas of polygons and will cause angles to differ between the two representations.
Analogous distortion issues arise when presenting labels generated from relevance-ranked document search results. The distortions are only analogous, because instead of being defined in simple geometric terms, these distortions are logical. The following subsections describe novel methods of resolving these distortions.
An example of such logical distortion can occur when the user pans the map. If pixel-area aggregation is used to cluster document result symbols, then changing the spatial extent that constrains the query can cause different symbols to appear in the map. Consider three queries:
One source of user confusion in previous designs arises when the number of highly relevant results is larger than the first batch. In addition to the waterline, the GUI distinguishes between different levels of relevance by showing different symbols in the map. Higher relevance results are displayed in the map with a brighter or less transparent color. Less relevant results are displayed with a duller or more transparent marker that visually disappears into the map backdrop.
Result List and Map Marker Visual Highlighting
When the user hovers the pointer over a document listed in the result list, the GUI indicates which symbols in the map correspond to that document by expanding the size of the symbols. The GUI might also shake, shrink, or otherwise cause motion in the symbols corresponding to that document. Since most documents refer to multiple locations, when a user hovers the pointer over a document in the result list, the GUI highlights/moves multiple symbols in the map.
Similarly, when the user hovers the pointer over a symbol in the map, it causes the corresponding documents in the result list to highlight in yellow. Since multiple documents might refer to the same point, multiple documents might highlight in response to the same mouse action.
As the user pans the map by grabbing and sliding it with the pointer tool, the GUI can be configured to automatically update the result list and symbols in the map. As new results come into view, the waterlevel can be configured to adapt dynamically such that the best N documents are always above the waterline. This can cause results to deactivate when higher relevance results come into view. Conversely, as the user moves away from higher relevance results, previously deactivated results can become activated.
The user-selectable page fold and the map area waterlevel are intimately related. They are two representations of the same adjustable threshold allowing the user to adjust their desired level of clutter.
Blurbs Combining Multiple Extract Texts
When a user clicks on an activated result marker, a popup bubble appears containing text from documents that refer to locations underneath that result marker. Unlike previous designs, which could only present the best document about any given location, the GUI described here allows the user to click an arrow in the popup bubble to view more results about the area indicated by the marker.
As illustrated in
Since a map marker could cover pixels that represent a very large area of real physical space, the number of extract texts that might appear in a popup could be very large. Any of the locations under the marker or under the central pixels in the marker could be referenced by a document matching the user's query.
In a variation on this popup annotation, multiple extract texts from different documents are combined automatically to produce a flowing annotation with “side note” numbers. Each snippet of text from a given document ends with a number in superscript that corresponds to number listed next to the document result that contributed that snippet of text to the annotation. We call an annotation created from multiple documents a “blurb.”
The side-note numbers can be dynamically generated at the moment that the popup appears. If the results are already numbered, then those numbers can be used to identify the snippets of text in the blurb.
User Validation of Map Labels
As described in U.S. Ser. No. 60/694,614, filed Jun. 28, 2005 and U.S. Ser. No. 812,865 filed Jun. 12, 2006, the GUI allows the user to correct the geographic references and snippets of text generated by the automatic GeoParser engine.
Most of the systems described herein utilize a GeoParsing engine to automatically identify strings of characters that refer to geographic locations. When a human reads a document, they use their understanding of natural language and the subject matter of the text to recognize the meaning of words and phrases in the text. This human understanding process copes with ambiguity and makes decisions about the meaning. Typically, people can figure out the authors intended meaning with high certainty. For example, a human reader can understand the difference between these references to places called “Paris:”
When the GeoParser marks a piece of text as referring to a geographic location, the software is often not certain that the author really intended to refer to that particular location or even that the author intended to refer to a location at all. To cope with this, the GeoParser engine also provides a confidence score with each georeference that it postulates. These confidence scores are numbers that can be compared. Often, they are probabilities that can be interpreted as the likelihood that the author really did intend this. This confidence scores allow automated systems to present users with the most likely information first and less confident information second.
Typically, a GeoParsing engine performs two steps: extraction and resolution. In the extraction step, the system decides which pieces of text refer to geographic locations. In the resolution step, the system decides which location the author meant by that string. The resolution step can produce multiple candidate answers with different confidence scores. Often, the highest confidence alternative is correct, but not always.
Probabilistic confidence scores range between zero and one. Most text is ambiguous and >90% confidence georeferencing is often not possible, even for state of the art systems.
All probabilities tend to occur frequently. That is, a GeoParser will often assign probabilities of 0.1, 0.2, 0.3, . . . 0.9, and all numbers in between.
Typically, when a user encounters an automatically generated georeference, the human can reach a higher degree of confidence than the automated system did. In fact, humans can resolve many georefs with essentially perfect certainty with little or no access to additional reference material, such as a gazetteer or map. Our Tag Corrector GUI helps users feed their understanding back into the GeoParsing engine, so that it can produce better information in the future.
It is called the “tag” corrector because GeoParsers typically generate XML or other types of syntactic markings to indicate which strings are georefs and to which locations it thinks they refer. These XML marks are called “tags,” and the Tag Corrector allows the user to fix errors by adjusting the tags or other marking indicators.
There are several contexts in which a Tag Corrector GUI is useful. The basic process of these various GUIs is similar:
The GeoParser takes advantage of this humanchecked information in several ways. If another user is to be presented with the same information, e.g. because they requested the same document, the GeoParser can send the humanchecked form of the information instead of regenerating the same wrong answers. If humans disagree with results previously checked by other humans, the GeoParser can indicate how many humans agree with a particular interpretation.
The GeoParser engine can also “learn” from the human checked information in order to perform better on other documents that have not yet been manually checked. As is common in the art of machine learning, algorithms such as hidden Markov models and neural networks can utilize statistics gathered from manually checked documents to automatically analyze other documents. Such procedures are typically called “training.” By incorporating more manually tagged information into the training process, the machine learning system typically performs better.
It is possible to automatically dump manually checked documents directly into a GeoParser for automatic training without human guidance. Often, a human engineer can adjust the machine learning system to take better advantage of manually tagged documents. It is often necessary to have a second layer of human auditing, i.e. people checking the information sent back to the system through the Tag Correcting GUIs. These people help ensure the quality of the corrected tags.
Our Tag Corrector GUIs gather information that can be used in all of these processes.
The two crucial features of our various Tag Corrector GUIs are that they make it easy for the user to change some aspect of the automatic information, and they send this information back to the server. Our Tag Corrector GUIs include the following specific types:
A listing of results to a search query often contains snippets of text extracted from documents that match the query. If the snippet of text contains a string of characters entered by the user, it is common in the art to highlight these substrings with a different color text or bold face. Geographic search introduces a new facet, because the user typically specifies their geographic region of interest by selecting a map view.
While the search engine can be 100% certain that a document does or does not contain a string of characters entered by the user, the search engine must accept the less then perfect certainty of the GeoParsing when associating documents with the map. These associations only have the probabilistic confidence assigned by the GeoParser. Thus, it is useful to do more than just highlight the purportedly geographic strings in the extract text. Our Tag Corrector GUI for search results puts little thumbs-up and thumbs-down icons in the search results. For example, this extract text might appear in a list of search results for the words “travels” and “water” with a map that covered the Middle East.
These icons gather feedback with a single click from the user.
A more sophisticated Tag Correcting GUI gives the user more control over the changes. For example, this Tag Correcting GUI is useful in Article Mapper type GUIs.
By clicking on the arrows and dragging them, the user can widen or narrow the string of text that has been tagged. By grabbing an arrow and dragging it all the way to the other arrow for the same tag, the user can close a tag. Also, clicking on an arrow and hitting the delete key deletes the tag. The little boxes indicate the confidence of the tag. The user can put the cursor in a box and type a different number, such as 1.0 or any other confidence they feel is appropriate. This text might be edited to look like shown in
The two Tag Correcting GUIs discussed above focus on the text. It is also useful to let the user change the geographic meaning of the tag. Thumbnail images help with this. The GUI represents each geographical location represented in the text by a corresponding thumbnail showing a map of that location. If the user disagrees with the location shown in the thumbnail near the highlighted text, he clicks on the image to launch a tool for moving the location marker or expanding it into a polygon or line that better represents the real location.
These changes are sent back to the server, so they can be incorporated into the gazetteer information used by the GeoParser.
The system also allows the user to rapidly create new documents about particular areas by selecting a set of extracted results. One way of letting the user choose a set of results from a geographic text search output is to put checkboxes 200 next to the results and let the user choose which to combine, as illustrated in
The GUI also includes an “Add More Snippets” button 214 which enables the user to go back to the previous view and select more snippets to add to the document. Once the user is satisfied with final version, the GUI enables him to save it by clicking on a “Save” button 216.
User Creation of GeoTags:
It is also useful for the user to be able to create totally new tags on pieces of text that the GeoParser or GeoTagger either failed to find or has not yet been asked to process. When creating a new geotag, the user is able to define the range of characters in the text that they believe refers to a geographic location, and then by interacting with a map or other GUI element the user can tell the system a geographic interpretation for those characters. This input of geographic interpretation could be simply clicking on a location in the map so that the system can associate the approximate latitude-longitude coordinates of that map click on the string. More sophisticated ways of inputting a location include clicking multiple times to input a polygon or polyline, or selecting from a list of geographic feature types, e.g. “river” or “island”, or selecting from a hierarchy of regions to specify the containing parent region of the entity named by these characters, or selecting from a list of already known locations to indicate that these characters are a synonym for an already known location.
FIGS. 14A-C illustrate how the user executes this function. Initially the user selects the text for which a tag is to be generated (
Our system sends this newly created tag to the GeoParser so that it can use it in the future. The GeoParser can use the newly created tag to recognize the new location and name in other documents. It can also use the new tag when someone asks for this same document again.
The GUI allows the user to make a search result a permanent annotation in the map, so that the map can be saved as a customized report. The GUI also allows the user to edit the extract text in the “snapped in” annotation. We call this “snap-to-add” annotation because the GUI snaps the popup down onto the map to make it part of the map layer. When the user sees a piece of text extracted from the document that is very important to understanding that particular area, they can decide to incorporate that text directly into the map instead of leaving it separate in the popup.
For example, if the user is studying a map of Egypt and finds a popup in the middle of an area of the map that appears to be blank, and upon reading the text in that popup the user discovers that in fact the Sphinx is located at this spot, then the user can take text from the popup, such as “Sphinx monument” and snap that text onto the map as a piece of permanent map annotation for future map readers to see. This collaborative process requires the server to store the annotations along with the other map data.
FIGS. 15A-B illustrates how the user executes this function. Upon clicking on a marker on the map, a popup 110 for the set of documents associated with that marker appears on the map (see
The above-described methods or algorithms are typically performed on appropriately programmed computers. As is well known, such computers commonly have non volatile storage, such as disk drives or CD-ROM, in which the program code and the data (e.g. values for confidences, documents, etc.) is stored and they also include some form of RAM into which the executable program code and variable values are loaded for execution. Such computers also include output devices such as visual display monitors and printers by which the results can be immediately presented to the user. The system may be a implemented on a local computer system. It can also be implemented on a distributed or networked system in which a client computer communicates with a server over a network, e.g. the Internet, with the geoparser and geotagger functions implemented on the server and the GUI implemented via a browser that runs on the client computer. As is well known to persons of ordinary skill in the art, other configurations are also possible.
Other embodiments are within the following claims.