Choosing the next document

In one example, a system may suggest an order in which to read documents in a set. When a person has read a document in the set, the system may suggest the next document to read. The next document may be selected based on criteria such as the document's dissimilarity from the document(s) that have already been read. Choosing, as the next document, a document that is dissimilar from documents that have already been read exposes the reader to new information, thereby enhancing the reader's return on investment for the time spent reading the documents.

BACKGROUND

Sets of documents typically exist in an order. For example, a pre-existing collection of documents (e.g., a legal case file, a police file, etc.) is typically organized in chronological or reverse-chronological order. As another example, search results are normally presented in descending order of relevance to a query.

People typically read a set of documents in the order in which they are presented. However, it may be inefficient to read the documents in this order. Documents that appear near each other in the given order may contain redundant information, and reading several documents that have the same, or similar, information provides the reader with relatively little new information for the amount of time invested.

SUMMARY

For a given set of documents, an order may be suggested in which to read the documents. The order may be chosen to enhance the amount of information that the reader gains for his or her investment of time. For example, when a document has been read, the next document may be chosen to be one that is dissimilar to the one that has already been read. Or, if several documents have been read, a centroid may be found that represents the combined content of the various documents that have been read, and the next document to be read may be chosen to be one that is dissimilar from the centroid. By choosing, as the next document, one that is dissimilar from what has already been read, the reader is likely to be presented with new information rather than repetitive information. In this way, the reader is likely to learn a relatively large amount of information for a given amount of time invested in reading the documents.

The next document to be read may be chosen to maximize dissimilarity with what has already been read, but could be chosen based on other criteria. For example, a limit on dissimilarity may be set, so that the next document is chosen to be the one that has the greatest dissimilarity to the previously-read document(s) without exceeding the limit. When a reader is learning about a new topic, some redundancy among successive documents might be helpful to reinforce the reader's understanding, so a limit on dissimilarity could be used when the reader is reading about a topic that is new to him or her. As another example, documents in a set could be clustered based on their relative similarity to each other, and documents to read could be chosen successively from each cluster so that the reader would be exposed to a document from each cluster.

The reader could be allowed to tune the manner in which the next document is selected. For example, the reader could set minimum and/or maximum limits on the amount of dissimilarity that the next document is to have as compared with the document(s) that have been read.

DETAILED DESCRIPTION

In various contexts, a person may be presented with a set of documents to read. The set of documents could be the results of a search (or could be chosen based on filtering techniques), or a pre-existing set of documents (e.g., the documents in a legal case file). Typically, the documents are presented to the person in some order. For example, search results are normally presented in order of their relevance to the query from which they are generated. The documents in a file (whether an electronic or paper file) often exist in chronological or reverse-chronological order.

In some cases, it makes sense to read the documents in the order in which they naturally exist—e.g., the order in which they appear in search results, the chronological or reverse-chronological order of a case file, etc. But different documents that appear near each other in this order may contain redundant information, so reading the documents in order may convey information to the reader inefficiently, which provides a low information return for the reader's time investment. For example, if the documents are obtained in response to a search, and if those documents are presented in order of relevance to the search query, the first five documents may contain similar information to each other. Similarly, if documents have been chosen from a collection using filtering techniques, the documents may be presented in some order that is based on how well the documents satisfy the filter. Thus, reading the first five documents in the order of the search results may be an inefficient way for a reader to learn a topic. After a document has been read, it may make sense to read a document that is dissimilar to what has been read, rather than reading another document that contains more of the same.

The subject matter herein may be used to select the next document to read. Given one or more documents that a person has already read, systems using the subject matter herein may choose another document that is dissimilar to one or more of the documents that have been read. Such systems may suggest the dissimilar document as the next one to read.

Turning now to the drawings,FIG. 1shows an example system100in which an order of documents may be chosen. Document space102is a set of documents, such as documents104,106,108, and110(labeled “A”, “BB”, “C”, and “D”, respectively). Four documents104-110are shown, although document space102could include any number of documents. Documents104-110may take any form. For example, documents104-110could be electronic documents, paper documents, electronic images (or other representations) of paper documents, etc.

The documents in document space102may be a dynamically identified set of documents (block112), or may be a pre-existing set of documents (block114). Search results are an example of a dynamically-identified set of documents. If a person enters a query into a search engine, the search engine identifies documents that respond to the query, even though those documents may not have previously been part of a collection. In this sense, the search results define a set of documents that have been dynamically identified. The documents identified in the search results are an example of document space102. Documents that have been obtained through filtering techniques are another example of a dynamically-identified set of documents. With filtering techniques, a model may be built as to what kind of documents a person is looking for, and the model may then be applied to a collection of documents in order to choose certain documents from the collection. One way of building this model is for a person to run an initial query with a search engine, and then have the person provide feedback on which of the results are relevant. Machine learning techniques may then be used to determine what the person is looking for and to build an appropriate model. The model can then be applied to a collection of documents, in order to filter from that collection those documents that appear to be what the person is looking for. Learning from user feedback is one technique for building a model, although other techniques could be used.

In some cases, documents have been collected or grouped together prior to any particular search for information. For example, a law office may maintain a file pertaining to each court matter the office is handling, or a police department may maintain a file pertaining to the investigation of a particular crime. In these cases, each pleading or report in the file may be one document, and the file containing a particular set of pleadings and/or reports may be a document space. Since such a file groups documents together in advance of any particular search request, such a file may be viewed as a pre-existing set of documents. The subject matter described herein applies to any document space, whether that space is composed of a dynamically-identified set of documents or a pre-existing set of documents.

Chooser116determines which document to suggest as the next one to read. Given a document space102, and some information as to which documents in the space have been read and which ones have not been read, chooser116determines which document to suggest as the next document to read. Chooser116may be implemented as software, but may also be implemented in any other manner.

Display118may be controlled by chooser116(or by a computer on which chooser116is implemented). Display118may show, in some manner, an indication of the next document to read, where that document has been identified by chooser116. Such an indication, as well as the document itself, may be viewable on display118. Thus, for example, chooser116might initially suggest document A as the first document to read. After a person reads document A, chooser116might suggest document C as the next one to read.FIG. 1shows examples of content that might be shown on display118at various points in time. Initially, display118shows a list of documents in which document A is at the top (block120). A person might choose to read document A (e.g., by clicking on the words “Document A” to follow a link), and would then be shown the content of document A (block122). After reading document A, the person could be shown a new screen (block124), in which the next document suggested for reading (document C) is at the top of the list. The person could then read the suggested document, and so on.

FIG. 1shows an example in which the document to read next is shown by presenting a list of documents in a space, where the document that is suggested as the next one to read is presented at the top of the list. However, the next document suggested for reading could be presented and/or identified in any manner. For example, the person could simply be shown documents in the order chosen. Such a system might show the first document on display118, along with a “next” button. When a person clicks the “next” button, the next document suggested for reading could be shown on display118.

The system shown inFIG. 1may be used with any criteria for selecting the next document to read.FIGS. 2-4show example ways of choosing the next document to read. In each ofFIGS. 2-4, there are six documents in a space, with the documents being labeled D1-D6, and the space being labeled as document space102. In these examples, the first document to read is D1. D1could be chosen, in any manner, as the first document to read. For example, in a pre-existing set of documents, D1could be chosen based on its appearing first (or last) in chronological order. Or, in a dynamically-selected set of documents, D1could be chosen based on its relevance score under a particular query. The foregoing are some examples, although the first document to be read could be chosen in any manner. Regardless of the manner in which the first document to read is chosen, the examples ofFIGS. 2-4presume that the first document chosen is D1. These figures then show, from that point forward, example ways of choosing the next document to read.

InFIG. 2, the document D1(block202) has been read, as indicated by diagonal-line pattern. Documents D1-D6are shown at various points in document space102to indicate their relative similarity to each other. Similarity could be determined in any manner, such as by using a cosine similarity technique.

An example way to select the next document to read is to choose the document that is most dissimilar to the document that has just been read, or that is most dissimilar to a plurality of documents that have already been read. If a person is trying to obtain a large amount of information from the documents in a short time, then it makes sense to choose the next document in this way. Documents that are similar to the one(s) that have been read may tend to contain redundant information, so choosing a document that is dissimilar to the one(s) that have been read will tend to provide the reader with new information. In this sense, choosing a dissimilar document as the next one to read may maximize the information value obtained from reading the next document.

In the examples ofFIGS. 2-4, document D6is shown as being most dissimilar (i.e., least similar) to document D1. This dissimilarity is shown by the fact that document D6has the greatest distance to document D1. Thus, inFIG. 2, document when document D1is the only one that has been read, document D6(block204) is selected as the next document to read, as indicated by the vertical line pattern in the circle representing document D6.

FIG. 3shows an example in which documents D1and D6have been read, and in which the next document to read is chosen. One way to select the next document would be to look only at the most-recently-read document—which, in this case, is D6—and to select the document that is most dissimilar to that document. InFIG. 3, D2is most dissimilar to D6, so D2could be selected as the document to read next. Another way to select the next document to read would be to find a representation of all documents that have been read (or a representation of some number of recently-read documents) and to choose a document that is dissimilar to that representation. For example, centroid206represents the combined content of documents D1and D6, and the document that is most dissimilar to that centroid could be chosen as the next document to read. In the example ofFIG. 3, the document that is most dissimilar to centroid206is, again, document D2. Thus, using this technique, document D2would also be chosen as the next document to read.

The term centroid is normally used in geometry to describe the geometric center of a plane figure, or in physics to describe an object's center of mass or center of gravity. With reference to the notion of document similarity, centroid206refers to some combined representation two or more documents, so that the similarity of that combined representation may be compared with other documents. For example, if the content of a document were represented by a vector indicating the number of times that certain words appear in the document, then the centroid of two or more documents could represent some combination of the vectors representing those documents. The combination of vectors could be based on operations such as a union or sum of the vectors, an intersection, or any other technique. Thus, centroid206is a representation that may be found of the content of two or more documents, where this representation may be compared for similarity with other documents. In general, documents in a space may be compared for similarity (or dissimilarity) with some representative point in the space, where the representative point may be based solely on one document, or may be based on some combination of two or more documents (where centroid206is an example of a representative point based on such a combination).

In addition to choosing the document that is most dissimilar to the last document read (or that is most dissimilar to some point in the document space, such as a centroid), the next document could be chosen in other ways. For example, as shown inFIG. 4, the next document may be chosen to be the most dissimilar document within a defined constraint. Thus, if D1has been read, then the next document chosen may be the document that is most dissimilar from D1, without exceeding limit208. Choosing the document in this way may make sense if, for example, the reader of the documents is new to the subject and wants to obtain different information from each document read, while also having some overlap of content across documents in order to reinforce understanding of a new topic. Thus, while D6is the document that is most dissimilar to D1overall, D2is the document that is most dissimilar to D1—among those documents whose dissimilarity to D1falls within limit208. WhileFIG. 4shows an example in which limit208constrains how dissimilar the next document may be from a single document D1, such a limit could also be drawn around a centroid (or some other point that represents two or more documents), thereby limiting the dissimilarity between the next document and the centroid (or other point).

Limit208may be tuned to allow for various levels of dissimilarity. For example, the person reading the documents could set limit208to different values in order to choose how similar the next document will be to the document(s) that have already been read. WhileFIG. 4shows an example in which limit represents a maximum amount of dissimilarity that will be tolerated in the next document, limit208could also represent a minimum amount of dissimilarity. Or, in another example, two limits could be set in order to define a range of similarity in which the next document falls. (E.g., the limits could indicate that the next document is to have at least X amount of similarity to the last document(s), but no more than Y amount of similarity.) In this way, a person could tune the process of choosing the next document based on that person's level of comfort with reading widely varied material and/or that person's tolerance for reading redundant material. In general, the document that is chosen may satisfy some condition as to its dissimilarity with a set of one or more other documents in a document space, where “most dissimilar,” “most dissimilar within a limit,” “having a level of dissimilarity that falls within a range,” etc., are examples of such conditions.

A further way to choose the next document to read would be to detect clusters of documents, and to choose successive documents so as to cycle through the various clusters. Data mining techniques, or other techniques, could be used to identify groups of documents in a space that cluster around some substantive content. For example in the space shown inFIGS. 4-6, documents D1-D3might be part of one cluster and documents D4-D6might be part of another cluster. The clusters might be chosen based on substantive analysis of content in the documents, so that each cluster would contain a set of documents that are substantively similar to each other (but less substantively similar to documents in other clusters). Thus, chooser116(shown inFIG. 1) might start by choosing a document from the D1-D3cluster, and then choose a document from the D4-D6cluster as the next document. If there are more than two clusters, then one way to choose the next cluster would be to choose a document from the furthest (e.g., most dissimilar) cluster from the one that has already been read (or, if plural documents have already been read, the further cluster that does not contain a document that has already been read). In this example, dissimilarity between the current document and the next one is determined based on the documents being in different clusters, and thus documents' being members of different clusters is a further example of the “condition” on dissimilarity described above.

FIG. 5shows, in the form of a flow chart, an example process500in which a set of documents may be read. Before turning to a description ofFIG. 5, it is noted that each of the flow diagrams herein shows an example in which stages of a process are carried out in a particular order, as indicated by the lines connecting the blocks, but the various stages shown in these diagrams may be performed in any order, or in any combination or sub-combination.

At502, a tuning may be received that determines the criteria for selecting the next document. For example, as described above in connection withFIG. 4, a person may provide a selection of a minimum and/or maximum amount of similarity (or dissimilarity) that the next document is to have relative to the document(s) that have been read. This tuning of the selection criteria may be received at502.

At504, the space of documents to be read may be defined. For example, as described above, the space of documents may be a pre-existing set of documents, or a set of documents identified dynamically through a search or through filtering techniques. Thus, at504a search may be performed or a particular pre-existing set of documents may be chosen.

At506, the first document in the space is chosen. For example, in a search the documents are chosen based on their relevance to a query, so the document that has the highest relevance score against the query may be chosen for reading first. Similarly, in the case of documents that have been chosen using filtering techniques, a document that is determined by the filter to be particularly relevant may be chosen as the first document to read. In the case of a pre-existing collection of documents, the first document to read could be chosen based on chronological order within the collection, by selecting documents based on some substantive criteria (e.g., documents with words like “summary” or “synopsis” in their title or document type could be chosen for reading first, based on an assumption that such documents would be likely to give an overview of the contents of the collection), or randomly.

Regardless of which document is chosen, an indication may be displayed showing that the chosen document has been selected to be read first (at508). The indication may take any form. For example, if a search result contains the Uniform Resource Locators (URLs) of documents in order of relevance to a query, then the indication that a particular document has been selected for first reading is that the document appears first on the list. In such an example, the system may then receive (at510) a person's selection of the document to be viewed (e.g., by receiving an indication that the user has clicked a link to the document). The system may then display the chosen document (at512). Another example way to indicate the first document chosen is simply to display the document itself. For example, if a person is reading collection of documents, the reading software could simply select a document to be read and then could display that document. In that case, showing the document on a screen would constitute both the display of a chosen document (at512) as well as an indication of which document had been chosen for reading first (at510). Alternatively, the user may explicitly indicate that he or she has read the paper.

At514, it is determine which document is to be read next. The determination may be made based on one or more criteria, such as the next document's dissimilarity with a set of one or more document(s) that have already been viewed. As described above, cosine similarity (block516) is one example technique that may be used to determine the level of similarity between documents, although similarity could be determined in any manner. Additionally, as noted above, there may be some constraint on how dissimilar the next document is from the last (block518)—e.g., the next document selected because its similarity to document(s) that have previously been read falls within some minimum and/or maximum limit(s). The limits may be been defined as part of the tuning received at502.

After the next document to be read has been chosen, an indication of that document is displayed (at520). Various ways of indicating the first document to be read (at508) are described above, and the next document to be read could be indicated in a similar way.

As described above, the next document to be read may be determined based on the similarity (or lack thereof) between that document and documents that have already been read.FIG. 6shows an example process600of determining the next document to be read based on considerations of similarity (or lack thereof).

At602, the dissimilarity between a set of one or more document(s) that have been read, and other documents in the space, is calculated. If only one document has been read at the time the calculation is made, then the dissimilarity may be calculated based on the differences between that document and documents in the space that have not been read. Or, if more than one document has been read, then some combined representation (e.g., a centroid) of the documents that have been read could be used as a comparison point, and that point could be compared to other documents in the space that have not been read. As previously described, documents in a space could be clustered so that the choice of documents moves through the various clusters to give a reader exposure to each cluster. Also, as previously described, similarity could be calculated using a cosine similarity technique, but could also be calculated in any other way.

Based on the above-described calculation(s), a document is chosen that is sufficiently dissimilar to the document(s) that have been read (block604). This choice may be made using one or more optional similarity constraints. The similarity constraint could be a limit on the maximum amount of dissimilarity that the chosen document may have relative to the previously-read document(s) (block606). An example of this type of constraint is shown inFIG. 4, as described above. As another example, the similarity constraint could be a limit on the minimum amount of dissimilarity that the chosen document may have relative to the previously-read document(s) (block608). As a further example, the similarity constraint could define a range of similarity, relative to the previously-read documents, into which the chosen document will fall (block610). E.g., the chosen document may be chosen to be a document that is at least X amount, but no more than Y amount, dissimilar from previously-read documents.

FIG. 7shows an example environment in which aspects of the subject matter described herein may be deployed.

Computer700includes one or more processors702and one or more data remembrance components704. Processor(s)702are typically microprocessors, such as those found in a personal desktop or laptop computer, a server, a handheld computer, or another kind of computing device. Data remembrance component(s)704are components that are capable of storing data for either the short or long term. Examples of data remembrance component(s)704include hard disks, removable disks (including optical and magnetic disks), volatile and non-volatile random-access memory (RAM), read-only memory (ROM), flash memory, magnetic tape, etc. Data remembrance component(s) are examples of computer-readable storage media. Computer700may comprise, or be associated with, display712, which may be a cathode ray tube (CRT) monitor, a liquid crystal display (LCD) monitor, or any other type of monitor.

Software may be stored in the data remembrance component(s)704, and may execute on the one or more processor(s)702. An example of such software is document choosing software706, which may implement some or all of the functionality described above in connection withFIGS. 1-6, although any type of software could be used. As one example, document choosing software706could implement chooser116(shown inFIG. 1), although document choosing software706is not limited to this example. Software706may be implemented, for example, through one or more components, which may be components in a distributed system, separate files, separate functions, separate objects, separate lines of code, etc. A personal computer in which a program is stored on hard disk, loaded into RAM, and executed on the computer's processor(s) typifies the scenario depicted inFIG. 7, although the subject matter described herein is not limited to this example.

The subject matter described herein can be implemented as software that is stored in one or more of the data remembrance component(s)704and that executes on one or more of the processor(s)702. As another example, the subject matter can be implemented as instructions that are stored on one or more computer-readable storage media. Such instructions, when executed by a computer or other machine, may cause the computer or other machine to perform one or more acts of a method. The instructions to perform the acts could be stored on one medium, or could be spread out across plural media, so that the instructions might appear collectively on the one or more computer-readable storage media, regardless of whether all of the instructions happen to be on the same medium.

Additionally, any acts described herein (whether or not shown in a diagram) may be performed by a processor (e.g., one or more of processors702) as part of a method. Thus, if the acts A, B, and C are described herein, then a method may be performed that comprises the acts of A, B, and C. Moreover, if the acts of A, B, and C are described herein, then a method may be performed that comprises using a processor to perform the acts of A, B, and C.

In one example environment, computer700may be communicatively connected to one or more other devices through network708. Computer710, which may be similar in structure to computer700, is an example of a device that can be connected to computer700, although other types of devices may also be so connected.