US 20080091656 A1
A method of organizing information is disclosed. The method comprises providing a visualization of actor communications in the context of one or more discussion, a discussion including at least one actor and at least one documented communication.
1. A method of visualizing information comprising:
providing a visualization of actor communications in the context of one or more discussions, a discussion including at least one actor and at least two causally related documented communications.
2. The method of
3. The method of
receiving a query; and
generating the visualization in response to the query.
4. The method of
5. The method of
6. The method of
7. The method of
8. The method of
9. The method of
10. The method of
11. The method of
12. The method of
13. The method of
14. The method of
15. The method of
16. The method of
18. The method of
displaying a time-based participant graph showing communications between various actors over time.
19. The method of
20. The method of
21. The method of
22. The method of
23. The method of
24. The method of
displaying actor information, in response to a user selecting the unique icon.
25. The method of
27. The method of
28. The method of
displaying tags indicating events of interest, to show communications in relationship to such events.
29. The method of
enabling a user to add additional communications to the visualization.
30. The method of
31. The method of
32. The method of
33. The method of
35. The method of
displaying two actor icons, representing actors that communicated with each other, and a communication line between the two actor icons showing a communication depth.
40. The method of
41. The method of
42. The method of
43. The method of
47. The method of
48. The method of
49. The method of
displaying actor icons for selection with the query tool, to enable a user to identify an actor.
50. The method of
permitting specification of actor involvement for each selected actor, the actor involvement being one of the following: created, changed, received, read, or saw a document.
51. The method of
52. The method of
53. The method of
providing a query tool to construct queries for related documents.
55. The method of
saving queries and query results; and
making the saved queries and the saved query results available to the user.
56. An apparatus to present data comprising:
a query tool to receive a request; and
a display tool to present a visualization of actor communications in the context of one or more discussions, a discussion including at least one actor and at least two causally related documented communications.
57. The apparatus of
58. The apparatus of
a query by example tool including multiple pull-down menus to select various parameters of a query.
59. The apparatus of
a parameter weighting tool to assign priority to related parameters.
60. The apparatus of
a memory to save queries and query results, the saved queries and the saved query results available to the user.
61. The apparatus of
a plurality of actor icons for selection with the query tool, to enable a user to identify an actor.
62. The apparatus of
a selector to specify actor involvement for each selected actor, the actor involvement being one of the following: created, changed, received, read, or saw a document.
63. The apparatus of
64. The apparatus of
65. The apparatus of
66. The apparatus of
icons attached to each connector, the icons designed to provide additional information about the communication represented by the connector.
The present invention relates to electronic documents, and more particularly to a method for visualizing the relationships among, and retrieving one more groups of documents satisfying a user-defined criterion or set of criteria.
The volume of electronic information in both personal and corporate data stores is increasing rapidly. Examples of such stores include e-mail messages, word-processed and text documents, contact management tools, and calendars. But the precision and usability of knowledge management and search technology has not kept pace. The vast majority of searches performed today are still keyword searches or fielded searches. A keyword search involves entering a list of words, which are likely to be contained within the body of the document for which the user is searching. A fielded search involves locating documents using lexical strings that have been deliberately placed within the document (usually at the top) with the purpose of facilitating document retrieval.
These data retrieval techniques suffer from two fundamental flaws. Firstly, they often result in either vast numbers of documents being returned, or, if too many keywords or attribute-value pairs are specified and the user specifies that they must all appear in the document, no documents being returned. Secondly, these techniques are able only to retrieve documents that individually meet the search criteria. If two or more related (but distinct) documents meet the search criteria only when considered as a combined unit, these documents will not be retrieved. Examples of this would include the case where the earlier draft of a document contains a keyword, but where this keyword is absent from the later document; or an e-mail message and an entry in an electronic calendar, where the calendar entry might clarify the context of a reference in the e-mail message. There is a clear need for a search technique that returns sets of related documents that are not merely grouped by textual similarity, but also grouped and sequenced according to the social context in which they were created, modified, or quoted.
This would make it possible to retrieve a very precise set of documents from a large corpus of data. Hitherto, with conventional search tools, this has only been possible by the use of complex search queries, and the results have been restricted to documents that individually meet the search criteria. It is desirable to be able to retrieve a precise set of documents from a large corpus of texts using relatively simple search queries. It would be of further benefit to present said documents in the context of causally related links (for example, a document containing the minutes of a board meeting has a causal link to an email announcing that meeting), even when those other documents do not, individually, satisfy the search criteria. This would relieve the user of the need for prior knowledge (before running the search) of such details as the exact date on which a message was sent, and who sent it. Existing search tools require such prior knowledge, because they do not establish causal links between documents.
A method of organizing information is disclosed. The method comprises providing a visualization of actor communications in the context of one or more discussion, a discussion including at least one actor and at least one documented communication.
The present invention is illustrated by way of example, and not by way of limitation, in the figures of the accompanying drawings and in which like reference numerals refer to similar elements and in which:
A method and apparatus for visualizing both the electronic paper trails referred to as “discussions” and the statistical anomalies and patterns that are directly computable from these discussions is disclosed. A discussion in this context is a heterogeneous set of causally related communications and events for which either electronic evidence exists, or can be created to reflect. Thus, a discussion provides a means of reviewing a series of related events that occurred over time. One example of generating such discussions from raw communications data is discussed in more detail in copending application Ser. No. ______, entitled “A Method and Apparatus for Retrieving Interrelated Sets of Documents”, filed concurrently herewith (hereinafter referred to as ‘An Apparatus for Sociological Data Mining’). The visualizations and user interface tools described in this application greatly facilitate the efficient and effective review and understanding of such chains of events.
The views described in the following sections provide both graphic visualizations, as well as a means of navigating through the complex chains of communications and events that comprise the data being visualized. These views may be offered to the user in a Model View Controller (MVC) graphical user interface, or via a web-based application.
The present invention will typically be used in conjunction with a computer network.
The present invention is for use with digital computers.
It will be appreciated by those of ordinary skill in the art that any configuration of the system may be used for various purposes according to the particular implementation. The control logic or software implementing the present invention can be stored in main memory 250, mass storage device 225, or other storage medium locally or remotely accessible to processor 210.
It will be apparent to those of ordinary skill in the art that the system, method, and process described herein can be implemented as software stored in main memory 250 or read only memory 220 and executed by processor 210. This control logic or software may also be resident on an article of manufacture comprising a computer readable medium having computer readable program code embodied therein and being readable by the mass storage device 225 and for causing the processor 210 to operate in accordance with the methods and teachings herein.
The present invention may also be embodied in a handheld or portable device containing a subset of the computer hardware components described above. For example, the handheld device may be configured to contain only the bus 215, the processor 210, and memory 250 and/or 225. The present invention may also be embodied in a special purpose appliance including a subset of the computer hardware components described above. For example, the appliance may include a processor 210, a data storage device 225, a bus 215, and memory 250, and only rudimentary communications mechanisms, such as a small touch-screen that permits the user to communicate in a basic manner with the device. In general, the more special-purpose the device is, the fewer of the elements need be present for the device to function. In some devices, communications with the user may be through a touch-based screen, or similar mechanism.
It will be appreciated by those of ordinary skill in the art that any configuration of the system may be used for various purposes according to the particular implementation. The control logic or software implementing the present invention can be stored on any machine-readable medium locally or remotely accessible to processor 210. A machine-readable medium includes any mechanism for storing or transmitting information in a form readable by a machine (e.g. a computer). For example, a machine readable medium includes read-only memory (ROM), random access memory (RAM), magnetic disk storage media, optical storage media, flash memory devices, electrical, optical, acoustical or other forms of propagated signals (e.g. carrier waves, infrared signals, digital signals, etc.).
Navigation among views is facilitated by the fact that all of the viewable entities have very close relationships to one another, as depicted in
Hence, for example, in a view depicting discussions, the user can generally click on an image representing an actor to see additional information about this actor, and vice versa.
More generally the usage of the user interface flows as shown in
The results may comprise singleton documents 425, discussions 305, actors 310, statistics 440 and topics 315. Results are displayed in one or more of the formats appropriate to the results content and shown in
Related Materials include:
Participant graphs shown in
Participant graphs show the images 545 of the actors participating in a discussion, and the links 540 between the transactions in which they participated. Participant graphs may display a timeline 505 to show when user activity occurred, and may also display a background 610 in varying shades in order to represent daytime and nighttime activity. Participant graphs can optionally be limited to a partition of a discussion, or to only include certain specific actors of interest, either individually or by some property such as organization. It may also be limited to displaying only those actors who played an active rather than passive role in the items in question, where “active” is defined as initiating one or more of the items. In one embodiment of the invention, the user may set a threshold value for how active the actor had to have been in the discussion in order to be displayed, based on measures including, but not limited to, the number of items in the discussion initiated by that actor, the importance of these items; whether any were “pivotal” as described in ‘An Apparatus for Sociological Data Mining’. For one embodiment, if an actor has been filtered out, but was responsible for initiating a transaction, a small icon containing “ . . . ” is displayed in lieu of the regular actor icon. Clicking on this icon expands that instance to the form of the regular icon for that actor. Alternatively, the actor may be identified in other ways including, but not limited to, a smaller icon, or a browned out icon.
In this view, each items is depicted as a line connecting two or more actors. The color of the line indicates the type of item. Choices include, but are not limited to:
Actors 545 may be individuals, or they may be aggregate actors. Examples include an organization, the executive team, or de facto actor group such as a “circle of trust” as defined in ‘An Apparatus for Sociological Data Mining’. A group mail alias would also be considered an aggregate actor. In some cases, an actor might be a system or automated process, for example, a daemon that sends out a particular status message. Actors may be represented by actual photographs 3810 of themselves when available. Alternately, the user may choose a graphic representation for each actor by choosing from a canned library of images, or adding any electronic image that they wish. Once selected, the same image is used to represent this actor visually throughout the entire system.
If an actor has more than one distinct personality (as defined in ‘An Apparatus for Sociological Data Mining’ patent), in some embodiments of the invention, the user has the option to use a different image or graphic for each such personality. If the user opts not to do this, where multiple personalities exist the system will use the one graphic provided to represent all personalities, but will tint the image with different colors in order to allow the various distinct personalities to be readily identified. The user may globally specify the color scheme to be used in such cases; for example, the primary personality will always be tinted blue.
The graph is represented as a timeline of events; the resolution can be increased or decreased using zoom in and out controls. In one embodiment, daytime and nighttime hours are indicated by a change in background color; as shown in
Alternately, the user may click on the small icon to get only the timestamp details. In one embodiment, right-clicking on this icon provides an immediate chronology of events just before and after the item in question with timestamp information. This is to help clarify which event preceded which, in those cases where the events were almost contemporaneous. The “content” icon can be used to pull up the content of the document involved in the transaction. In one embodiment, there is also optionally a “More info” icon that can be configured to display other types of data that are appropriate. Examples of such data include, but are not limited to: prior user annotations about the transaction, its retrieval history, or the relation of that transaction to a known workflow pattern.
In one embodiment, actors are shown partially grayed out if their presence in the transaction was likely, but could not be verified solely on the basis of the electronic evidence. One example of this is the case of a meeting entry pulled from an online group calendar which asserts that Joe, Jack, and John will be present at the meeting. Without other supporting evidence, such as meeting minutes indicating that all parties were present, it cannot be definitively asserted that all three men attended the meeting.
Mousing over an actor icon will bring up a pop-up with the basic information available on that actor. This includes, but is not limited to, the following:
Clicking on an actor icon brings up a panel with a chronological list 530 (shown in
In one embodiment, the user interface allows the user to add items that were not originally part of the discussion being visualized. This is done through filling out a form panel, shown in
In one embodiment, the view is implemented as a canvas, so the user may drag and drop shapes, lines, and text on it as they please. In one embodiment, such additions are checked for semantic correctness. For one embodiment, added events are indicated by color, patterns, icon, or some other indicator.
Events of interest are depicted as icons above or below the canvas from which vertical lines extend, cutting across the canvas at the appropriate point in the X axis. These events fall into one or more of the following categories:
A canned library of icons to represent common concepts like “meeting” may be provided in the UI; the user may elect to add and use their own images as well. The user may also add descriptive text about the event. This text would appear when the user clicks on the icon representing that event.
In one embodiment of the invention, numerous animation utilities are provided in order to make the visualizations more vivid. Animation can help accentuate the involvement of certain actors of special interest; it can also highlight the accelerating or decelerating pace of the transactions. Types of animation provided in one embodiment of the invention are as follows:
The layout algorithm for the view can be implemented with a number of commonly available graphing libraries. In one embodiment of the invention, a limit of 8 line connections per actor icon is imposed for readability purposes. For one embodiment, should additional connections be necessary in order to represent the underlying data, a second actor icon will be drawn to accommodate the additional lines. Note that while the graph generally follows a left to right timeline, a reply to an email message or IM will show a line going backwards to indicate that the transaction is a reply to a previous transaction, and that these two transactions should be considered part of a single nested transaction.
However, from an adherence to the timeline perspective, the placement of the two (or more) actor icons involved will be approximately at the start and end time of the nested transaction. If needed, additional actor icons will be rendered to ensure it. Since the purpose of the visualization is to provide an overview of the related transactions in a discussion, exact centering of the actor icons around the relevant line in the X axis is not considered essential. Exact event chronology information can be had from the ancillary panels that are only a single click away. In one embodiment of the invention, transaction lines are represented with directional arrows. In one of these embodiments, a “reply to” can be indicated with a line that has arrows on both ends; if there were N replies, the number N would be rendered near the appropriate arrow.
Finally, in one embodiment of the invention, the participant graph view can be used modally as a visual querying interface. The user may select a transaction by selecting its objects with a marquis tool, and generate a Query by Example (QBE) query. One example of QBE queries that may be used with this system is defined in ‘An Apparatus for Sociological Data Mining’. The user may also select individual actor icons in order to see all transactions involving all of these actors.
Other accompanying UI widgets and tools include, but are not limited to, the following. A panning widget 620, shown in
To visualize really large volumes of discussions, or individual messages, a different approach to the visualization is necessary.
The rainbow view uses a color, pattern, or similar distinguishing mechanism which uses the color spectrum to help users to discern small shifts in the communication activity of a very large population of actors. Specifically, this view is used to pinpoint the amount of communication on specific topics. It is accompanied by a graph below which allows the assignation of numerical values to the colors used in the spectrum view. Maximum density is determined by historical values over the same time span and same or comparable population.
Activity graphs are used to illustrate the amount of communication among a small set of actors over a user-specified period of time. They may optionally be additionally constricted by topic. Actor sets may be specified in any of the following ways:
The coloring of the lines is used to indicate one of the following, depending on how the user has configured the user interface:
In one embodiment, the color or pattern of the line indicates the frequency of communication, while the thickness of the line indicates the volume of communication. In another embodiment, the thickness of the line indicates the frequency of communication, while the color or pattern of the line indicates the volume of communication.
The number of communications can be based on any or all of the following, depending on how the user has configured the user interface:
If for some reason, the user has specified an actor who is totally unconnected to the other actors in the display, the icon for that actor will have no lines attached to it.
The activity graph can be superimposed on an org chart in order to highlight communication flows that appear to differ from the org chart. In this event, actor titles are listed, and additional lines to indicate reporting relationships may be rendered. It can also be used as a visual querying tool; the user may select two or more actors in order to see all of the discussions, or individual communications between them. The user may also click on the line connecting any 2 actors in order to bring up a panel 1210, shown in
The purpose of the overview graph, shown in
The graphic resulting from this is then scaled to the appropriate dimensions and then placed on the chart. Note that an arbitrary number of discussions may be so rendered on this graph; the view simply becomes longer along the Y axis.
In addition, the user may configure the user interface to color code all communications originated or received by a particular actor of interest. In one embodiment, numerous parallel thumbnails may be created in a dedicated view in order to help the user observe the overlap between different actors of interest.
As there may be significant time lags between events in some discussions, in some embodiments, a bounding box is used to help indicate that all of the items in question are members of the same discussion. Connecting lines between discussions are used to depict forks in discussions. Similarly to the participant graph, events and other objects may be added to the graph. Zoom controls allow the resolution to be changed; the different visual representations of days, nights, and weekends/holidays may also be used here.
In another embodiment, the discussion names appear to the left of the view, and one discussion occupies all of the real estate in that range of the Y axis.
For viewing smaller numbers of discussions,
Another variation of this view uses clustering to group whole discussions together, connecting different clusters by the appropriately colored lines, as shown in
In this view, shapes 1610 are used to represent groups of discussions. The shapes 1610 are labeled with the number of discussions contained in that group, and a description of the group. In one embodiment, a smaller window 1630 shows a map of the entire discussion space, or a relatively large part thereof, and contains a smaller frame 1620 to represent the area of discussion space under analysis. Since this view is independent of the information content, it is suitable for use even when the information has been strongly encrypted, and thus is not accessible for analysis.
Document Trail Graphs
Document trail graphs depict the life cycle of one particular document.
A timeline 505 allows the user to see the date and time at which a particular event 935 in the document's life occurred. An actor icon 905 denotes the actor responsible for said event 935. Events 935 are depicted as clusters of activity comprising document icons 925 and an actor icon 905. Links 915 between the various versions of the document that comprise a single event are color-coded according to function. Document revision numbers 910 (for example, but not limited to, source control system revision numbers, or revision numbers assigned by the present invention) are displayed along the x-axis of the graph. Document icons 925 are color-coded according to the type of user activity that triggered the event. Examples of said user activity include, but are not limited to, document creation, modification, revision, deletion, check-in, check-out, distribution, viewing, third-party transfer and content transfer. In one embodiment, a legend 930 explaining the color-coding is superimposed on the graph.
Document trail graphs further show icons allow the user to see more information 515, the date and time 520 of the communication, and to view 525 the underlying document. Hovering the mouse over (in one embodiment, clicking) the ‘more info’ button 515 displays a popup 920 containing a summary of information related to the event in question. In one embodiment, document icons 925 contain a count of the number of pages (or other size metric) contained within the document at the time of the event 935 in question.
Money Trail Graphs
The purpose of the money trail graph, shown in
Any transactions within a discussion that relate to money transfers, whether they are merely documents discussing the transfer, or documents that in themselves constitute the instruments of transfer, are used to build a money trail graph. The graph displays actors 545 (whether individuals, groups, or organizations) and the financial institutions 1010 who are involved with the transfer. Color-coded links 540 between actors denote the type of transaction, and are explained in one embodiment in a legend 1025.
Transcript View Variations
The basic transcript view, shown in FIGS. 18 to 25, is a linear presentation of the causally related communication events that make up a discussion. Communications 1830 are displayed in chronological order, and relevant metadata is displayed at the top of each communication. The metadata includes, but is not limited to: date and time created, saved or sent; subject; recipient list; and time (in one embodiment, time is denoted by a clock icon 1815.) Actor names 1820 are color-coded. A header area 1805 provides information related to the discussion, including (but not limited to) discussion title, message count, list of participants, date range and total number of attached documents (in one embodiment, the total number including duplicates; in another embodiment, the total number of distinct attached documents). In one embodiment, an actor image 545 is associated with each communication, to denote the actor who created or changed the document. Clickable links 1810 contain the names of any attachments, and open the corresponding attachment when clicked. A display tool 1825 at the top-right of the screen allows the user to show or hide message headers, quoted text within each message, or message content. Communications may further provide document-type coding: for example, by pattern or color coding.
A sequence of documents 1830 (or other communication events, such as instant messages 2525) is displayed beneath a discussion header 1805. In one embodiment of the invention, the discussion might be augmented by external events, either manually by the user through the user interface, or via an automated process defined for a specific case. In one embodiment of the invention, this view consists of a user-configurable summary portion at the top, followed by a list of the various items in the discussion. Each item has an author or creator, and optionally a set of other participants, such as those actors appearing in the cc: line of an email. As shown in
In one embodiment of the invention, shown in
In one embodiment of the invention, shown in
In one embodiment of the invention, items of different types are displayed with different background colors or patterns 2110, as shown in
In one embodiment of the invention, as shown in
In one embodiment, shown in
To make it easier for the user to immediately discern the time of day that an event occurred, in one embodiment, a clock icon 1815 as shown in
The summary portion 1805 contains the discussion timeline, participating actors, number of items, and controls which allow certain information to be viewed or hidden. In one embodiment of the invention, the discussion timeline is represented graphically (
Optional UI tools include controls to “fast forward” to the next item created or otherwise involving particular actors. This, like the panning widget, which is also used with this view, is especially useful for long discussions which have many participants associated with them.
In one embodiment, shown in
An item may have been deleted, yet leave traces behind of its prior existence. A simple example of this is the case in which message B was a reply to message A, but message A itself no longer exists other than what is to be found in the header and content information of message B. There are two subcases of interest related to this:
These two cases differ considerably in their treatment in the user interface, since in the former case, the main consideration of interest is to inform the user that he is seeing reconstructed and/or partial information. For example, in the above example of message A and message B, the header of information of A would be lost, so there would be no way of knowing who had been cc'ed on A. Thus, in a reconstructed version of A in a transcript view, the “cc:” line content would contain a colored block containing question marks, or another representation of the user's choosing. For one embodiment, the item itself has a grayed out background color, and in one embodiment, a broken zig-zag line across it.
The latter case by definition presumes that there is no content available to display. An example of this would be references in other documents to a document that there is no independent evidence of; for example, a link that no longer resolves. In that instance, the available information is displayed in the appropriate location in the template. In one embodiment, a certainty factor, as shown in box 2405, of the system's belief that the document ever actually existed may also appear.
In some situations, the question of whether the deletion (or suspected deletion) of the data was either legal in the context of a given matter, or was in compliance with some defined standard of behavior is of interest. One embodiment of a system for making this determination is described in copending application Ser. No. ______, filed concurrently herewith, and entitled “A METHOD AND APPARATUS TO PROCESS DATA FOR DATA MINING PURPOSES.” Once the determination has been made that the deletion of an item is possibly suspect in a given instance, the system will flag the item. For one embodiment, a red flag icon 2425 is used. Missing information is noted in bold red text. The background color of the item will be set to whatever the user's preference is for displaying this kind of item, for example a background containing a tiling of question marks 2420, as shown in
In the case of the various graph views, suspected deletions are handled similarly:
In order to help facilitate the iterative querying that is so essential when the user is confronted with an arbitrarily large and unfamiliar corpus of documents, an extensive querying language is provided. For one embodiment, this language reflects the actor orientation of the document analysis engine that is described in ‘An Apparatus for Sociological Data Mining’ patent. Since it is well known that the vast majority of searches contain one or two keywords, and no operators, it is important for the query language for “discussions” to break away from this standard, but ineffective paradigm. This is accomplished by using a sequential structuring of the query information. It is assumed that the majority, but not all, of queries performed with the query language will be one of the following forms, or subsets of the forms described below.
For one embodiment, the language generally requires that an actor be specified prior to any other terms. In the event that the actor is immaterial to the query, an actor of “anyone” may be specified, or may be automatically inserted by the system. Individual actors can be specified by first name and last name; if only one or the other is provided, the system will look in the recent command history for that user in an attempt to disambiguate it. If nothing suitable is found, the system will try to match the string to both actor first and last names present in the corpus. It will then present a list of appropriate choices, or if there is only choice echo it back to the user for confirmation. An actor's circle of trust can be specified by adding a plus sign “+” after the actor's name. In the case of an aggregate actor, the union of the actors in the different circles of trust is taken. Similarly, an actor group, such as the set of all employees of ACME Corp. could be specified. Similarly, in one embodiment, certain personalities of a given actor (or actors) can be specified.
Next, the language uses an operator. For one embodiment, if the operator is omitted, it will be interpreted to mean “knew” or “asserted”. There are two main classes of operators, those involving content creation or observation, and those that do not. Operators may be active or passive in nature relative to the actor. For example, modifying a document is active, while getting promoted to a higher position is passive. Content modification operators include, but are not limited to, the following:
All of the above also have negations, which may be specified by the use of either “not” or a minus sign. Non-content operators include employee lifecycle events such as Hire, Departure, Transfer, Promotion, and Role Change. Other non-content events include, but are not limited to: Vacation or leave of absence or sick day, Travel event, Wire transfer send or receive, or Phone call, presuming no transcript of the phone call exists.
“When” may be specified as any of the following:
Note that all time information is implicitly actor-relative. Differences in time zones, national holidays, and even what is considered “after hours” are addressed. Therefore a “when” phrase is interpreted according to what is true for the greatest number of actors specified in the query. If a different behavior than this is desired by the user, she may explicitly bind the “when” term to either an actor or a specific location. For example:
If “when” is not specified, it is presumed to mean:
The “how” may optionally be specified as either a specific device type, such as a Blackberry, or as a category of device, for example a mobile device. The “how” could also be a fax or a voicemail, or a paper letter. In one embodiment, the “how” is identified by its immediately following an unquoted “by” or “via.”
The “where” may be optionally specified by entering the geographic location of the actor at the time of their participation in the particular transaction. This can be done hierarchically, if a tree of locations is provided. If there is more than one actor specified in the query, the where is modified by actor. In one embodiment, this is specified as <actor name> in <location> or <actor name> at <location>.
Because of the highly iterative nature of large corpus querying, any of these operators can be iterated on by either reducing or expanding their scope. As described in ‘An Apparatus for Sociological Data Mining’, for one embodiment, the core engine calculates the primary limiting factors in a query. The information is used to indicate to the user which terms are responsible for very substantially reducing or expanding the result set. To facilitate the appropriate use of such iteration, the system can optionally inform the user on which terms could be generalized or specialized one level further for best effect on the results set. In one embodiment, these alternate queries are run automatically on separate threads at the same time as the base query, in order to facilitate an immediate response to a user question, such as a request for “more” or “less.”
Content or “What” Operators
Each of the operators below can be used in the context of retrieving discussions or individual communications, or both. These may be used to override the system defaults described previously. For one embodiment, the actual retrieval behavior of these operators is determined by the current relevance scoring mechanism in place. One example of such relevance scoring is described in ‘An Apparatus for Sociological Data Mining’.
Keyword (an operator 3510): Result set contains all discussions or communications with at least one occurrence of a specified term, depending on the context in which it is used. This operator can specify sets of terms through techniques including but not limited to use of wildcard characters and matching using the Levenshtein edit distance.
Phrase (an operator 3510): Result set contains all discussions or communications with at least one occurrence of the sequence of terms. This operator can specify sets of related phrases using techniques including but not limited to the use of wildcard characters in individual terms, matching by Levenshtein edit distance between terms and matching by Levenshtein edit distance between sequences of terms.
Classifier (an operator 3510): Result set specified by the set of sub-queries obtained from expanding a given class from an ontology loaded into the document analysis engine.
NamedEntity (an operator 3510): Result set specified by the query obtained from expanding a given named entity from all ontologies loaded into the document analysis engine.
InDiscussionOnly (a document type 3505): Return only results from discussions
InSingleDocOnly (a document type 3505): Return only singleton documents that are not members of any discussion.
The second group of operators search over metadata collected from each individual communication as well as relationships between documents created during the evidence accrual process while building discussions. These operators return discussions when applied.
CommunicationType: Returns all discussions containing certain types of communication items, for example email.
EventType: Returns all discussions that contain an event of a particular kind, such as a board meeting.
Event: Returns all discussions that contain a particular instance of an event, for example, the board meeting that occurred on Mar. 15, 2001.
The third group of operators search over metadata collected from each discussion as well as relationships between discussions. These operators return discussions when applied.
The fourth group of operators search over inferred sociological relationships between communications in a discussion. In general the discussions which contain communications with the indicated relationship are returned.
The fifth group of operators are combinatorial operators used to combine result sets of subqueries. The conventional logical operators have a different effect when applied over discussions.
A specific graphical querying tool is also provided, in addition to the views that serve double-duty as visual query builders. As depicted in
This view is also used in thumbnail form in order to show how the topic relative proportions changed due to the addition of new documents to the corpus. This is done both by showing “before” and “after” thumbnails, as well as displaying thumbnails side by side of each segment of the data set (however the segments are determined by the user) so that their topic content may be easily compared. A similar representation can be constructed on the basis of actors rather than ontologies; further both actor and ontology information could be combined in one Venn diagram view.
For one embodiment, events of global interest 2915 are added to a catalog so that they are displayed in the query tool for easy access. Additionally, a date range may be specified using standard calendar selection controls 2920. For one embodiment, events of interest will also appear in the calendar 2925 by coloring the square for the particular date(s) in question. Double-clicking on a colored square will bring up a pop-up with a description of the event. If an event is selected, the user will be asked whether they want the query to be:
If the calendar controls have been used and one or more events have been selected, the system will treat this as a request to include the union of these times. However, in this case, those discussions corresponding to the time specified by events will be given a higher relevancy ranking on the dimension of time.
In one embodiment, shown in
After the user hits the “go” button, the query will be echoed back to the user. In some embodiments of the invention all queries, however specified, are echoed back to the user in front of the result set. This is done using query templates, such as those specified in
“Query on:” <actors><actions performed><content descriptors><time>
“Query on Joe Smith or Bob Jones modifying spreadsheets last quarter”
In some embodiments, each query template has a corresponding natural language phrase that is used to generate the echo. In such embodiments, the above would be expressed as:
“Did Joe Smith or Bob Jones modify any spreadsheets last quarter?”
Since numerous query options may be specified, use of an echo helps compactly confirm what the user has asked for. This may help users to understand the result set returned, especially if the user erred in some way. Further, the text of the echo may optionally be saved with the results sets, making it easy for other users to immediately interpret the results set.
The converse also holds true; in some embodiments of the invention, the user may enter natural language queries, and the system will interpret these queries by matching them to the appropriate query template and then performing any necessary word mapping via the use of ontologies.
Additional query options include, but are not limited to, the following:
The above-mentioned discussion length query options include (but are not limited to) the longest or shortest discussions (both by number of items and calendar duration) among a given set of actors, or on a given topic. The ability to target the longest or shortest discussions by actor provides a targeted tool for probing the activities of specific actors of interest, without being restricted to particular topics or content. This is important because such restrictions limit the user to finding only what he already thinks may be there, leaving potentially important or interesting information unrevealed.
As is the case with the query language, the GUI tool will provide the user feedback on which terms caused the query (on a relative basis) to over-generate or under-generate.
The user may also avail herself of a number of canned query templates. These include, but are not limited to, the following:
All such questions are accompanied by a Ul template which allows the user to select the instances of actor, document, topic (ontology) or time interval as appropriate to fill in or extend the template.
The user may configure the interface to display one or more of a number of different kinds of views in response to a query. In one embodiment, the default view is a tabular listing of the discussions that are responsive to the query, relevance ranked accordingly. This table may include all of the following information, plus any additional information that has been programmatically added:
As elsewhere in the system, by default the images used to represent the actors are used in order to facilitate rapid visual scanning of the results, as shown in
The user may also opt to have the discussions returned from a query visualized in a matrix view, shown in
In addition the user may choose to save a number of queries and their results in a particular location, so that this data may be displayed together, as pictured in
A folder icon 2850 is used to represent each query, and the textual content 2855 of the query is displayed to the right of the folder icon. The first query is shown expanded, revealing the results list 2835. Descriptive icons 2815, 2820, 2825 and 2830 appear to the left of each saved query. Clicking on the icon representing a pencil 2820 allows the user to annotate the query; a green rectangle next to the pencil icon indicates that the query has already been annotated. Clicking on the icon representing a hard drive 2830 saves the query to the local machine. The document icon 2815 at the left becomes replaced with the initials of the last user to modify the data (shown as ‘TU’ in this figure). The folder icon 2825 is used to add a discussion to a bin or folder of the user's choosing. For each saved query, a list of any relevant discussions 2805 and communications 2810 is shown. In one embodiment, such items show the list of actors 2840 involved, and the date range 2845 of the relevant discussion.
For one embodiment, individual or “singleton” documents are displayed separately from discussions. Furthermore, for one embodiment, saved data may be annotated (by clicking on the pencil icon) saved to a local hard drive (by clicking on the hard drive icon) or placed in one or more particular bins (by clicking on the folder icon to see a list of options that may be selected) and that the initials of the user who last manipulated the document are included.
Finally, for users for whom even this simplified process might seem onerous, in one embodiment, a discussion finding “wizard” is provided. This wizard follows the sequence of operators indicated in the section on the querying language. Effectively it decomposes the controls in the illustration above into several individual, simpler panels while providing the user inline help information. The first panel asks about actors; the second asks about events of interest, the third about important words or phrases, and so on.
QBE (Query by Example)
QBE refers to a set of techniques whereby a user provides an exemplar of what she is looking for in lieu of constructing an explicit query.
The second window, shown in
Discussions have large numbers of properties including, but not limited to, the following:
As a result, there is potentially considerable ambiguity as to what exactly it means to say that one discussion is “similar” to another, and therefore should be returned in a QBE query. Further, the desired behavior of the QBE mechanism may vary by application. However, in one embodiment, the default behavior is to consider that actor and content are the two key items in the weighting; all other properties merely impact the ranking of the discussion in the result set. Specifically, actor is expanded first to any actor with the same role or title in the same organization as the actor(s) provided in the exemplar, and then to any actor in the same organization. Content may be determined by ontology or pragmatic tag, with the former being given more weight. Discussions that contain the desired actors or content under this definition are returned. For one embodiment, results are relevance-ranked according to the scheme laid out in ‘An Apparatus for Sociological Data Mining’.
If the user wishes a different behavior, he may pull up the Advanced Options panel as shown in
With this information, the system performs the query. In order to help the user make sense of the ranking of results in
The user may configure the view to show any of the available discussion properties. Similarly, in one embodiment, he may resize and reorder the various columns via direct manipulation.
Filtered Viewing of Discussions
Using standard information retrieval techniques, those items within the discussion that are relevant to the user's query may be identified and visually highlighted. The user may opt to have all portions of a discussion that are not responsive to their query be minimized. In the case of a transcript view, non-responsive items would be condensed to a single header line, with a button that can be clicked on in order to expand the entry in order to make its contents visible.
Certain actors who may generate a considerable volume of data may nevertheless generate very little content of interest. If desired, the user may specify that all communications originating from such actors are by default minimized in any views of the discussion.
Object Lifecycle Views
These views differ from the previously described ones in that they are less actor-focused and more object-focused. These views are intended to depict the history of a particular document (or other electronic data object) as it moves from creation, to distribution, various modifications, changes in form, extractions or copy/pastes to other documents, and possibly deletion. Such views can be extremely important in investigative contexts, when a particular document becomes the focus of attention.
In order to “drill down” for further information, the user may click on an actor icon in order to view a detailed log of events represented by that instance of the actor icon. Clicking on any part of the frame will bring up a pop-up with a detailed description of that action. For example, in the case of a check-in, the detailed description would include all of the following information (if available)
In addition, the user may click on the clock icon above the actor icon in order to see a simple chronological list with exact timestamps of the events represented by that actor icon instance. As in other views, the “?” icon may be used to access other kinds of information as specified in user preferences.
As depicted in
Mobile, Voice & Related Applications
As usage of new types of user interfaces becomes more widespread, the system will need to not only absorb data that is captured through such interfaces, but also provide its output to users who rely on these modalities. Examples of the types of interfaces to be considered in this regard are: speech recognition and text-to-speech (either as stand-alone applications or in conjunction with telephony technologies), handheld devices such as those using the PalmOS (
Speech recognition is already widely used by the legal and medical profession for recording of briefs, reports, and the like. The system includes a means of extracting data that is input by speech recognition, and making such data searchable and retrievable like any other artifact. Input to speech recognition can take the form either of speaker-dependent recognition (the type employed by dictation software) or speaker-independent recognition (the type employed by telephony applications); the system includes adapters to incorporate data from both types of systems.
Furthermore, the system may utilize speech recognition as an interface allowing users to query data already in the system. To this end, an interactive voice interface to the system could display discussions and other data to the user, either on a device or through an audio-only interface. For applications using speech recognition as input mechanism, an auditory interface is commonly used to play back data to the user, be it for playback over a telephone or through speakers attached to another device such as a desktop computer. To this end, in one embodiment, the system includes auditory interfaces, including but not limited to: playback of indexed documents by text-to-speech, or spoken synthesis that accompanies or parallels any of the visual diagrams generated by the system.
Further remote interfaces for the system may include wireless and handheld display and input to the system, for example through WAP or similar protocols that transmit data over wireless networks (including telephony networks), input of data via Short Messaging System (SMS) or similar protocols, the use of downloadable/syncable views and data input for handheld/palmtop/tablet PCs, and interfaces for wearable computing devices. The system allows both input and retrieval of data into the system through any combination of devices; for example, a user's spoken query will be displayable on the screen of a handheld device.
Mobile and voice applications are most useful as query interfaces to the system for users who find themselves away from office systems but nonetheless require system access. However, the provision for data input by mobile or voice interfaces also means that “live” updates to a system can be made remotely, and that secondary sources of information (on-the-spot interviews, court proceedings, live news feeds) can be incorporated into the system in the absence of other indexing and content extraction processes. This topic is dealt with in further depth in ‘An Apparatus for Sociological Data Mining’.
For voice applications in particular, a natural language interface is a highly desirable mode of interaction with the system. Users who are limited to an auditory interface (where the input to the system is spoken rather than textual) can respond better to systems that are designed around the vagaries of human speech (which include disfluencies, variable noise conditions, and the strictly linear exchange of information). The nature of auditory interfaces is such that spontaneity and a tolerance for garbled input is incorporated into the interface; rather than scripted, fixed input that can be manipulated visually, the voice interface must attempt to parse ambiguous user input and return a “system appropriate” result.
Typically, speech recognition interfaces rely on a grammar that restricts potential user utterances in order to provide accurate recognition. In a spoken query interface to the system described in this patent, highly accurate utterance recognition is unlikely, but need not be a hindrance to proper function. By allowing the system to accept unstructured utterances and subsequently to construct a range of hypotheses about their content, a much more usable type of interface results. With an unstructured grammar, any possible user utterance can generate a fixed-length set of possible parses. From this set of potential parses, an algorithm is applied to account for phonetic similarities in homophones, to remove content that occurs in only a few parses, and so forth, leaving a “core” hypothesis that can be used as the basis for a search.
As an example, the user utterance, “Find me anything about fraud” might generate the following hypothesis set from a speech recognition engine:
While none of the generated parses is entirely correct, the phonetic similarity of many items in the resulting set can be used to generate a normalized “core” hypothesis that finds the commonly occurring substrings such as “find/fine” “me/my”, “anything/a thing/knee thing”, “abouttup out”, and “fraud/frog”. Normalization of this set of results can proceed according to relatively simple natural language heuristics: those words that are essentially contentless, such as “find me anything”, can be omitted, leaving the core terms “about fraud”, which can be encoded, for example, as a set of Boolean search queries like “contents: fraud OR contents: “about fraud”. Once the queries are generated, a preliminary result set can be relayed to the speaker by voice interface, allowing of course for additional refinement or correction of the query, as well as for more detailed display/playback of user-selected elements of the result set. For one embodiment, the system may repeat the query as understood to the user, permitting the user to either confirm the query or to repeat the query to modify it.
Case Management Application
One of the applications of the system is case management in a litigation context. The functionality previously described can be delivered inside a case management application. As pictured in
In the foregoing specification, the invention has been described with reference to specific exemplary embodiments thereof. It will, however, be evident that various modifications and changes may be made thereto without departing from the broader spirit and scope of the invention as set forth in the appended claims. The specification and drawings are, accordingly, to be regarded in an illustrative rather than a restrictive sense.