BACKGROUND
Search engines allow a user to search for the documents in a corpus of documents that are relevant to their needs for or interests in particular kinds of information. In order to perform a search, a user submits to a search engine a query, such as a query made up of one or more words. In response to the query, the search engine identifies documents that appear to be relevant to the query, and returns a list of links to these documents called a query result. The user can follow the links in the query result to display or otherwise interact with the documents identified in the query result.
SUMMARY
This summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This summary is not intended to identify key factors or essential features of the claimed subject matter, nor is it intended to be used to limit the scope of the claimed subject matter.
A facility for annotating a visual representation of a document is described. The facility presents on a display device visual representations of two or more portions of a document. The facility further present on the display, in connection with each of one or more of the presented document portion visual representations, an annotation conveying a result of aggregating information describing two or more search transactions in whose results the represented document portion is included.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a block diagram showing some of the components typically incorporated in at least some of the computer systems and other devices on which the facility operates.
FIG. 2 is a flow diagram showing a process performed by the facility in some embodiments to compile search history information.
FIG. 3 is a data diagram showing data stored and/or access by the facility in some embodiments.
FIG. 4 is a flow diagram showing a process performed by the facility in some embodiments to display a visual representation of a document that reflects the result of aggregating across document search transactions whose queries match portions of the doc
FIGS. 5-8 are display diagrams each showing an example of the facility augmenting a visual representation of a document with information aggregated from search transactions matching portions of the document.
DETAILED DESCRIPTION
The inventors have recognized that information about document searching constitutes valuable feedback on documents and the ways in which they are useful. In particular, they have determined that it would be useful to document authors and others to be able to display, in connection with a particular document, information about search queries that have been or would be matched by different portions of the document, such as sections, pages, paragraphs, sentences, document storage units, etc.
Accordingly, the inventors have conceived and reduced to practice a software and/or hardware facility for visualizing, within a document, the results of document searching conducted within a corpus containing the document (“the facility”). In some embodiments, for each portion of a document, the facility (1) performs one or more aggregations across the document search transactions whose queries match the portion, then (2) displays a visual representation of the portion that reflects the result of this aggregation. For example, in some embodiments, the facility (1) counts the number of document search transactions whose queries match each paragraph of a document, then (2) displays a visual representation of the document in which, in the margin beside each paragraph, a colored rectangle indicates via its color the total number of document search transactions whose queries match it, relative to the other paragraphs.
In various embodiments, the facility operates with respect to document portions of a variety of kinds, including such nonexclusive examples as sections, pages, columns, paragraphs, lines, sentences, nodes of a graph making up a document, outline elements, spreadsheet cells, spreadsheet tabs, graphs, etc. These can occur in documents of a wide variety of types, including textual word processing documents; spreadsheets; slideshow documents; outline documents; lay, technical or architectural drawings documents; artistic documents; timeline documents; database records; webpage documents; emails and other types of messaging documents; etc.
In some embodiments, the facility performs various kinds of aggregations on information in the document search transactions for each document portion, using aggregations such as count, minimum, maximum, mean, median, etc. In some embodiments, the facility filters the matching document search transactions before aggregating them, such as by filtering them to include only transactions performed by users in a particular group, defined in various ways; transactions performed from a particular geographic location or region; transactions performed during a particular time period of any scale; transactions whose query results list the document portion in the 5, 20, or 100 most-relevant documents or document portions; transactions from whose query results the searching user accessed or otherwise interacted with the document or document portion; etc. In some embodiments, the facility similarly groups search transactions for aggregation on one or more factors, such as any of those identified above.
In some embodiments, the facility includes among the aggregated search transactions search transactions that, though they did not actually match portions of the document, would have matched under different conditions, such as current or future conditions that are different from the conditions under which the search transaction was performed. For example, documents that were not created at the time the search transaction occurred, documents that the searching user had inadequate permissions to access by searching, documents that had not yet been translated to the language in which the search transaction's query was expressed, etc. In some embodiments, the facility supports using similar functionality to determine how popular a particular document or document portion would be if made available to a population of searching users.
In various embodiments, the facility uses a variety of kinds of visual attributes to reflect the result of the aggregation; these can include various aspects of colors, including hue, saturation level, and/or brightness; patterns; shape sizes; shape types; shape border thicknesses, etc. In some embodiments, the facility also or instead annotates the document with text describing aggregation results, including copies of some or all of the matching queries; a numerical count of the number of matching queries; a textual indication of where in the search result the query most frequently occurred; the name of a user or group of users whose queries most frequently matched; the time period during which queries most frequently matched; etc.
In various embodiments, the facility visually augments the document representation with a variety of charts and graphs, such as a chart or graph displayed beside each document portion, a chart or graph that the facility displays for a document portion if the user hovers over or touches a document portion or a different kind of search information annotation applied to it, etc. In various embodiments, such charts and graphs are of a variety of types, including graphs and charts that show trends in aggregated transactions over time; charts and graphs that show aggregated transactions per user or per user group, such as the top searching users or user groups; maps that show the geographic location or region of the searching users behind the transactions, etc. In some embodiments, the facility uses an alternate display scheme in which, rather including document searching information in the context of a representation of the document, the facility displays a chart or graph in which portions of the document identified; for example, in some embodiments, the facility does so by displaying a stack chart in which each stack identifies a different portion of the document to which it corresponds, and whose height indicates the aggregation result for that document portion.
In some embodiments, the facility provides a mechanism to navigate directly to other documents and document portions that appear frequently and/or near the top in the same query results as a particular portion of the present document.
By performing in some or all of the ways described above, the facility provides a wealth of information on the significance and usefulness of documents and their individual portions.
FIG. 1 is a block diagram showing some of the components typically incorporated in at least some of the computer systems and other devices on which the facility operates. In various embodiments, these computer systems and other devices 100 can include server computer systems, desktop computer systems, laptop computer systems, netbooks, mobile phones, personal digital assistants, televisions, cameras, automobile computers, electronic media players, etc. In various embodiments, the computer systems and devices include zero or more of each of the following: a central processing unit (“CPU”) 101 for executing computer programs; a computer memory 102 for storing programs and data while they are being used, including the facility and associated data, an operating system including a kernel, and device drivers; a persistent storage device 103, such as a hard drive or flash drive for persistently storing programs and data; a computer-readable media drive 104, such as a floppy, CD-ROM, or DVD drive, for reading programs and data stored on a computer-readable medium; and a network connection 105 for connecting the computer system to other computer systems to send and/or receive data, such as via the Internet or another network and its networking hardware, such as switches, routers, repeaters, electrical cables and optical fibers, light emitters and receivers, radio transmitters and receivers, and the like. While computer systems configured as described above are typically used to support the operation of the facility, those skilled in the art will appreciate that the facility may be implemented using devices of various types and configurations, and having various components.
FIG. 2 is a flow diagram showing a process performed by the facility in some embodiments to compile search history information. In act 201, the facility receives a document search request from an identified user for a particular corpus of documents, sometimes called a “search domain,” such as all of the documents stored in a company's document management system, all of the documents in a set of standards promulgated by a technical standards-setting organization, all of the documents accessible via the world wide web, etc. The document search request specifies a query, such as a query made up of one or more words. In act 202, the facility performs searching to identify document nodes or document portions of other types that match the query specified by the document search request received in act 201. In act 203, the facility presents to the requesting user a query result containing information about the matching document nodes identified in act 202. In act 204, the facility stores search history information that, in some embodiments, includes such information as user identity, search query, date/time, matching document nodes identified in act 202, and any interactions subsequently performed by the user with respect to the document nodes identified in the query result, such as viewing them, editing them, commenting on them, incorporating them in other documents, etc. After act 204, the facility continues in act 201 to receive the next document search request.
Those skilled in the art will appreciate that the acts shown in FIG. 2 and in each of the flow diagrams discussed below may be altered in a variety of ways. For example, the order of the acts may be rearranged; some acts may be performed in parallel; shown acts may be omitted, or other acts may be included; a shown act may be divided into subacts, or multiple shown acts may be combined into a single act, etc.
FIG. 3 is a data diagram showing data stored and/or access by the facility in some embodiments. One or more storage devices 300 contain the contents of document portions, such as the contents of document nodes. Storage devices further contain search history information, such as the search history information stored in act 204 shown in FIG. 2.
FIG. 4 is a flow diagram showing a process performed by the facility in some embodiments to display a visual representation of a document that reflects the result of aggregating across document search transactions whose queries match portions of the document. In act 401, the facility receives a request to display a document identified by the request. In act 402, the facility causes a visual representation of the document to be displayed in which document nodes or other document portions can be visually discerned. In act 403, for at least some of the document's portions, the facility causes to be displayed proximate to the portion an indication of the result of aggregating issued search queries that match the portion. In some embodiments, the facility performs this aggregation itself, while in others, the facility retrieves or receives aggregation results generated externally to the facility. As noted above, in some embodiments, the search transactions matching each node are filtered in various ways before aggregation occurs. Examples showing the facility's performance of act 402 and 403 are shown in FIGS. 5-8 and discussed below. After act 403, this process concludes.
FIGS. 5-8 are display diagrams each showing an example of the facility augmenting a visual representation of a document with information aggregated from search transactions matching portions of the document. FIG. 5 shows a first augmented visual representation of a sample document. This document representation 500 includes at least the paragraphs 510, 520, 530, and 540. Here, the facility treats each of these four paragraphs as document portions for which visual indications of aggregated searching information are individually displayed. In various embodiments, each of these paragraphs corresponds to a different, e.g., document node, document section, outline element, etc. It can be seen that, to the left of paragraph 530, the facility has caused to be displayed a visual indication 531 of aggregated searching information that is filled with pattern 551. By reference to pattern key 550, it can be seen that this visual indication 531 indicates that paragraph 530 occurs in search results at a relatively low frequency. Similarly, indication 511 indicates that paragraph 510 occurs at a higher intermediate frequency; indication 541 indicates that paragraph 540 occurs at a still higher intermediate frequency; and indication 521 indicates that paragraph 520 occurs at a high frequency. As noted above, in various embodiments, the facility uses a variety of other visual attributes to convey similar information-such as hue, saturation, brightness, etc.-with or without an explicit key. As also noted above, in some embodiments, the user can interact with this display, such as by touching or hovering over a document portion or associated indication to display a variety of kinds of additional search information for the portion.
FIG. 6 shows a second augmented visual representation of the sample document. In display 600, the facility displays textual indications of search information, here the document portion's highest position in a search result. For example, indication 611 shows that, among the search results in which paragraph 610 was present, its highest position was number 3; indication 621 shows that, among the larger set of search results in which paragraph 620 was present, its highest position was among the top 10 results; and indication 631 shows that, among the search results in which paragraph 630 was present, its highest position was among the bottom 10 results.
FIG. 7 shows a third augmented visual representation of the sample document. In display 700, the facility displays textual indications of search information, here one or more queries that were matched by each document portion. For example, indication 711 indicates that paragraph 710 matches a query containing the words “modern” and “enterprise”; indication 721 indicates that paragraph 720 matches a first query containing the words “pay”, “as”, “you”, and “go”, matches a second query containing the word “cloud”, and matches a third query containing the word “scalable”; etc.
FIG. 8 shows a fourth augmented visual representation of the sample document. In this display, the document representation is a graph 800 of document nodes. In particular, the document representation shows that the document root node 811 representing the entire document is connected by “contains” edges to document content nodes 821 and 822. Document content note 821 represents an “Abstract” section of the document, and is connected by “contains” edges to document content nodes 831-833. Each of document content nodes 831-833 represents a different sentence in the “Abstract” section of the document represented by content node 821. It can be seen that the facility has filled each of content nodes 831-836 with a pattern indicating the frequency with which the node occurred in a search result. In some embodiments (not shown), search transactions that match a particular content node are also or instead attributed to one or more notes of the document graph that have containing relationship with the node most directly representing the matching content.
In some embodiments (not shown), the search history information 320 shown in FIG. 3 is stored in a document graph like the one depicted by the document representation shown in FIG. 8. For example, in a first approach used by the facility in some embodiments, content nodes such as content node 831-836 each directly contain either aggregation results for the node, or some or all of the information in individual transactions matching the node. In a second approach used by the facility in some embodiments, for each of content nodes 831-836, the content node is connected by a “query” edge to a single query node, which directly contains either aggregation results for the connected content node, or some or all of the information in individual transactions matching the connected content node. In a third approach used by the facility in some embodiments, for each of content nodes 831-836, the content node is connected by “query” edges to one or more query nodes each representing a single search transaction matching the connected content node; each of these query nodes contains information about the search transaction it represents. In some embodiments, in the third approach, each query node is connected by an “issued” edge to a user node representing the user who issued the request for the search transaction. These user notes containing information about the user including, in some embodiments, a user identifier that can be used to retrieve information such as the user's name and title, the identities of groups the user is in, other activities performed by the user, etc. in embodiments such as those described above, the facility accesses search information in the document graph in order to display indications reflecting aggregated search information for the document's portions.
In some embodiments, the facility provides a computer-readable medium having contents configured to cause a computing system to: for a document comprised of document portions: generate a visual representation of at least part of the document containing visual representations of two or more document portions; for each of at least one of the document portions whose visual representations are contained by the document's visual representation: perform an aggregation operation on information describing two or more search transactions in whose results the document portion is included to obtain an aggregation result; annotate the document portion's visual representation in the document's visual representation in accordance with the obtained aggregation result; and cause the annotated visual representation of the document to be displayed.
In some embodiments, the facility provides a processor-based device, comprising: a display; a processor; and a memory having contents that cause the processor to: present on the display visual representations of two or more portions of a document; and present on the display, in connection with each of one or more of the presented document portion visual representations, an annotation conveying a result of aggregating information describing two or more search transactions in whose results the represented document portion is included.
In some embodiments, the facility provides a computer-readable medium storing data representing a document, comprising: a document root node for the document; contains edges each connecting a document content node to the document root node to indicate that content of the document content node is contained by the document root node; the connected document content nodes; and associated with each of a selected plurality of connected document content nodes, information regarding earlier-issued search queries that match content of the document content node.
It will be appreciated by those skilled in the art that the above-described facility may be straightforwardly adapted or extended in various ways. While the foregoing description makes reference to particular embodiments, the scope of the invention is defined solely by the claims that follow and the elements recited therein.