The present disclosure relates generally to systems and methods for analyzing documents, and more particularly, to systems and methods for analyzing documents based on an initial document set analysis and reinforcement learning based on additional document analysis.
A number of different situations commonly arise that require an analysis and identification of certain relevant documents from a relatively large pool of available documents. For example, in litigation, a company's documents may need to be reviewed in order to identify documents that may be relevant to one or more issues in the litigation. In other examples, certain regulatory filings may require review of a number of documents to identify documents that may be relevant to one or more issues in the regulatory filing.
In many instances, the number of documents that require review may be quite large, requiring a significant amount of time and resources in order to complete such a review. While technology improvements and industry competition have helped to improve efficiency, such enhanced efficiency often does not offset increases in the cost of such reviews due to the sheer volume of documents present. In many cases, users are looking to technology to aid in their review. Technology Assisted Review (TAR) can take many forms. Many current systems designed for TAR are based on supervised machine learning. At the core of this process is a belief in inductive reasoning and statistical inference. Inductive systems begin with supervised analysis of a set of finite training documents taken from a larger set of documents. The goal is to create a generalized function induced from the training set that can then be applied to the unseen documents from the same distribution as those selected training. As part of the conceptual framework of inductive learning, the larger population is assumed to be infinite. Once the training set of documents are reviewed, the generalized function induced from the training set may be applied to the remaining documents to identify additional documents that may be relevant to the particular issue of interest.
While TAR may increase efficiency of such document reviews, in some cases it may provide incomplete or inaccurate results. For example, if the training set did not include certain topical subsets of documents having a different format or terminology, documents in the larger set having such formats or terminology may not be identified as being responsive to an identified issue. Thus, in many cases, in order to have confidence in the results from such systems, significant amounts of verification and quality control may be required. Accordingly, more efficient techniques for document analysis and identification are desirable.
Various methods, systems, devices, and apparatuses are described for enhanced document analysis and identification through a reinforcement learning framework. Various examples provide a system that employs computer based reinforcement learning to interact with large populations of documents to help users achieve a goal. To accomplish this goal, rewards, states, policies, and actions are modeled and various tools within the system can be used to achieve the user's goal. As actions are performed, the results of these actions may be used to update state, assess rewards, and update value functions and policy functions. If the goal is not achieved, the system may make adjustments by adjusting policies, pushing the user closer to their goal by methods of reinforcement learning.
According to aspects of the disclosure, systems and methods for document analysis and identification are provided. Document analysis and identification may be conducted by accessing a plurality of documents, identifying a subset of the plurality of documents for initial review, and providing documents of the subset to a user for review. User input may be received that includes identification of one or more characteristics of one or more of the subset of documents. The user input for the subset of documents may be analyzed to determine a set of queries associated with the one or more characteristics. For example, the user may identify documents that are subject to attorney-client privilege, and the documents may be analyzed to determine a set of queries to identify similar documents (e.g., documents addressed to particular individuals, documents containing certain language, etc.). The set of queries may then be used to query at least a portion of the plurality of documents and identify a second subset of the plurality of documents that satisfy the set of queries. Reinforcement may be achieved by providing at least one other document of the plurality of documents to the user for review, the at least one other document being outside of the first and second subsets. User review of the other document(s) may be used to update state, assess rewards, and update value functions and policy functions associated with the set of queries. Such a process may be repeated until a predetermined confidence is achieved that relevant documents have been identified.
The foregoing has outlined rather broadly the features and technical advantages of examples according to the disclosure in order that the detailed description that follows may be better understood. Additional features and advantages will be described hereinafter. The conception and specific examples disclosed may be readily utilized as a basis for modifying or designing other structures for carrying out the same purposes of the present disclosure. Such equivalent constructions do not depart from the spirit and scope of the appended claims. Features which are believed to be characteristic of the concepts disclosed herein, both as to their organization and method of operation, together with associated advantages will be better understood from the following description when considered in connection with the accompanying figures. Each of the figures is provided for the purpose of illustration and description only, and not as a definition of the limits of the claims.
A further understanding of the nature and advantages of the present invention may be realized by reference to the following drawings.
Described embodiments are directed to systems and methods for enhanced document analysis and identification through a reinforcement learning framework. Various examples provide a system that employs computer based reinforcement learning to interact with large populations of documents to help users achieve a goal. To accomplish this goal, rewards, states, policies, and actions may be modeled and various tools within the system can be used to achieve the user's goal. As actions are performed, the results of these actions may be used to update state, assess rewards, and update value functions and policy functions. If the goal is not achieved, the system may make adjustments by adjusting policies, pushing the user closer to their goal through reinforcement learning. Once the goal is achieved, such as a confidence that at least a certain percentage of relevant documents have been identified, relevant documents may be provided to a party that may have requested the documents.
In real-world document reviews, there are typically only a finite number of documents collected. Even if collection is rolling, a case itself has a limited time frame and a limited scope. Thus, the eDiscovery domain is finite, not infinite as is often assumed in inductive systems. Accordingly, there is a mismatch between the assumptions and the common current choices made in TAR. Inductive systems can work for many use cases, but provided herein are improved techniques that behave transductively-applying a working answer more directly to the existing unseen documents. The present disclosure recognizes that eDiscovery users are often more interested in finding relevant documents than they are in finding non-relevant documents. Relevancy may be defined by the user according to a particular criteria, such as responsive, probative, privileged, or other goals. Furthermore, every relevant document that is identified means one fewer relevant document that needs to be found in the remaining documents of the finite number of the plurality of documents.
According to various examples, using technology, other similar relevant documents can be found, freeing up the user to explore uncharted areas of the finite collection of the plurality of documents. According to various aspects of the present disclosure, techniques to reduce the document count, answer many questions, and explore diverse populations is not performed through inductive methods like supervised learning or active learning, but rather through the use of reinforcement learning that allows the user to pursue all of these goals.
Supervised learning is training (inducing a function) with labeled examples, and active learning is a way of picking which examples are to be provided in supervised learning. Reinforcement learning, as provided in various aspects herein, provides a goal that is to select an action so as to maximize a cumulative reward. Rewards, and the state of the system and environment that lead to that reward, are dynamically recalculated, which is necessary in a finite, transductive environment. Unlike supervised learning in which a finite training (learning) phase is followed by an infinite labeling phase, in reinforcement learning every action offers the chance for learning, every reward a chance for reevaluation in a depleting-relevance environment of the best possible path from the current point forward. Induction based systems also commonly make use of sample documents to represent the population. Examples of the present disclosure do not require that step, but can adopt it based on a selection by a user.
According to examples, a number of tools exist that may be applied in different combinations to achieve many goals. Tools may be provided to work with sample populations, judgmental samples, experts, non-experts, linear review, prioritized review, automated review, and to make tradeoffs in exploration versus exploitation. A user may define a goal and the system can compose a set of tools to achieve that goal (additional details of various tools are discussed with reference to
Thus, the following description provides examples, and is not limiting of the scope, applicability, or configuration set forth in the claims. Changes may be made in the function and arrangement of elements discussed without departing from the spirit and scope of the disclosure. Various embodiments may omit, substitute, or add various procedures or components as appropriate. For instance, the methods described may be performed in an order different from that described, and various steps may be added, omitted, or combined. Also, features described with respect to certain embodiments may be combined in other embodiments.
Referring first to
The user system(s) 105, in the embodiment of
In various embodiments, the data store computer system 110 receives a plurality of documents to be analyzed and coded. For example, a large number of documents related to a litigation matter may be provided and need to be coded according to one or more issues associated with the litigation. The data store computer system 110 may provide a limited initial set of documents to user system 105 for initial review and coding according to one or more issues related to the documents. For example, in a litigation context it may be desired to identify documents that are protected under the attorney-client privilege. The limited initial set of documents may be selected according to any of a number of techniques. For example, the data store computer system 110 may select randomly from the document set an initial set of documents for review, documents may be selected by a user (e.g., known privileged documents), or a user may perform a keyword search to identify the limited initial set of documents, to name but a few examples. Based on user input related to the limited initial set of documents, the data store computer system may analyze remaining documents of the plurality of documents to identify similar documents that are likely to be coded in the same manner as documents in the limited initial set. According to various examples, the data store computer system 110 may update the state of the system based on the action of analyzing the documents. Based on the updated state of the system, another action might be selected to be executed to find additional documents. For example, if the first action was based on an initial document selected by the user, the next action may be to perform a keyword search. Based on the keyword search, in this example, the data store computer system 110 may provide additional documents to the user system 105 for further review to verify that documents are coded correctly. In some examples, the data store computer system 110 provides additional documents that are both likely to be coded in the same manner as the initial set and likely to not be coded in the same manner at the initial set. By having a user confirm that a document is not to be coded in a particular manner, confidence may be increased that the other documents in the plurality of documents are likely to be coded correctly. Once a confidence level is achieved that the documents of the plurality of documents are likely to be coded correctly, the data store computer system 110 may discontinue providing documents to the user system 105 for review. In some examples, another action may be selected (e.g., random document selection) and documents may be analyzed and coded in a similar manner, until a desired goal is achieved.
In the example of
With reference now to
With continued reference to
Computer system 205 in this example includes system memory 215 and application memory 220, a processing core including one or more processors 225, access to mass storage 230, peripherals 235, interfaces 240 and commonly a network access device 245. Each item of the computer system 205 is coupled to a system bus 250 for allowing coordinated communication between all of the components. This first computer system 205, in this example, may house data store software and program files 255. Although this is an exemplary setup, those skilled in the art will readily recognize that there are many permutations of this simplified setup including, but not limited to, wireless network, removable storage devices, solid state media devices, processing farms, multiprocessing cores, tablets, phones, various memory enhancements, and improvements on the basic interfaces like USB, Firewire, SATA, SCSI to name a few. A number of programs may be stored on the main storage hard disk 230 and then loaded into memory 215 for execution. One or more components of computer system 105 may implement routines, sub-routines, objects, programs, procedures, components, data structures and other necessary aspects that comprise the data store software and program files 255. The data store program 255 may interact with a data source file 260 and data file 265 to create, delete or manipulate data.
Through the network fabric 270, computer systems 205, 210 may exchange communications using protocols such as TCP/IP via any of a number of media choices, such as Ethernet. Those skilled in the art will understand that there are many permutations of this network fabric and the chosen network fabric is not intended to be limiting in any way. Accordingly aspects of the disclosure are capable of running on any of those permutations. A user or another software program may input queries through the remote computer system 210 using various input devices connected to user interfaces such as, for example, a mouse, keyboard, keypad, microphone or touch screen. A display device is often connected to the system 275 to handle visual interaction with the user, but various examples are capable of running without a visual interface by use of a program or module or subroutine, or an audio interface to handle the input. The remote computer system 210 may be connected to the network 270 through network interface or adapter 280, but could be connected wirelessly, through a modem or directly coupled to the computer running the data store. The remote computer system 210 may run some portion of the program module loaded from hard disk 285 into application memory 290. Various examples may be implemented in any division of client and server workload and this illustration serves only to be an example. Additionally, those skilled in the art will appreciate that the present invention is capable of being implemented in many other configurations including, but not limited to, terminals connected to host servers, handheld devices, mobile devices, consumer consoles, special purpose machines to name a few.
With reference now to
Continuing with reference to
At block 350, it is determined if the goal is achieved. If the goal is achieved, the process stops according to block 355. If the goal is not achieved, the method goes on to update the state of the system/environment based on the action, as indicated at block 360. At block 365, the reward baseline (value function) is updated based on the state. At block 370, the policy function is updated, and at block 375 the method updates the probabilities of action selection based on policy. Following the updates of blocks 360 through 375, the operations of blocks 340 through 350 are repeated, and the method may continue until the goal is achieved.
With reference now to
In the example of
Block 420 of
The content of the documents judged at block 425 may be transformed into positive or negative signals via a query mechanism that is run against the datastore, as indicated at block 430. This can be accomplished in a number of ways depending on the choice of data store, network configuration, efficiency, optimizations, or constraints of the total system. During the query phase, positive and negative signals can be used in tandem to understand the population. Ultimately, the system, according to certain examples, determines a ranking of different kinds of possible actions, at block 435. This list is fed back for further judgments by machines or further assessment by other tools. In various embodiments, the system may determine a ranking of a next set of documents, relevance feedback for documents, contextual diversity, and/or a systematic sample of the relevance feedback list (i.e. it is a transformation of the relevance feedback ranking into a subset thereof, which technically is another kind of ranking). Furthermore, in some examples, the system may do relevance feedback (and contextual diversity) on any number of dimensions/modalities.
Software or people can make choices of various tools for use in assisting with defining actions for updating environment or reward functions. In
Contextual diversity in block 445 may aid the user in exploring the population. This tool may, for example, manipulate positive and negative signals to uncover documents not likely to be uncovered by the current path of exploration. A measurement of flux in block 450 may allow the user to understand if the current exploration path contains outliers or seems to be converging on a bounded set of documents. Sampling tools of blocks 455, 460, and 465 may be used to build sets of documents, provide confidence in the representativeness of the current exploration, and/or be combined with other queries and feedback tools to aid in exploration or confidence to the user. As noted above, tools of blocks 440 through 465 are exemplary, and one or more other or alternative tools 470 may be used alone or in conjunction with the previously described tools.
With reference now to
With reference now to
Thus, various aspects provide reinforcement learning that may allow an agent, interacting with an environment, and learning from that environment to accomplish a goal. The agent interacts with the environment by selecting a number of possible actions that can be performed. The environment responds to the agent by giving a reward (e.g., updated confidence of identification of relevant documents), and the state of the entire system is updated. As discussed, the goal in reinforcement learning is for the agent to maximize its cumulative reward. The reward functions and value function may be defined in different ways for particular reviews such that different policies are created, different actions are selected, and the documents are reviewed in different ways. According to various embodiments, actions include but are not limited to different ways of choosing a document for labeling, for example via relevance feedback on all dimensions (including but not limited to text, date, document owner, file type), via relevance feedback on a single dimension, via contextual diversity or related uncertainty sample, via simple, stratified, systematic, or other random sample, and so on. Actions may also include to whom that document which has been selected for labeling should be routed (including but not limited to a subject matter expert, senior attorney, review manager, contract reviewer, or even opposing counsel for certain trusted subsets of documents).
In some examples, an action may be created which routes document(s) to an automatic (i.e. machine) labeler in addition to or instead of a human labeler. Routing a document to a machine labeler is reminiscent of supervised learning approaches, however, according to various examples, documents may be identified in a dynamic, ongoing, cumulative reward-based decision, rather than an inferred function used to label an infinite number of future exemplars. In such examples, such actions may provide the ability of the system to make these decisions based on a reviewer of a document or based on the document. Thus, some documents may be routed to senior reviewers, some to contract attorneys, and some to machines. Furthermore, based on the rewards observed thereby, preferences for whom to route future documents may be dynamically and iteratively altered. Finally, in some examples, reinforcement learning may provide a document selection mechanism that is redundant (e.g., a document already selected and labeled can be selected and labeled again), for example for quality control or other label uncertainty purposes.
According to some examples, reward functions may include, but are not limited to, the relevance of a document, a monetary cost of labeling a document, an elapsed time spent in labeling a document, a reduced risk of sanctions for not labeling a responsive document, a risk of producing non-relevant but potentially damaging documents, an increased probability of successful case outcome, and even arbitrary, user preference-driven combinations of these and other eDiscovery-appropriate factors. Such rewards may be combined into a single “total reward” function. In certain examples, states of the system may include, but are not limited to, the order in which documents are ranked by an algorithm, the relative change over time of these orderings (i.e., flux), and the (sometimes estimated) number of remaining relevant documents.
While described with reference to identification of documents, such as in an eDiscovery context, aspects of the disclosure system could be used for any large, finite population of objects that can undergo some form of component analysis. For example, a user could provide a body of collected music about jazz and, if components of the songs could be teased out into a data store, collecting judgments about the music may be a way to explore the population. Additionally or alternatively, a user could provide a body of pharmacological research and, if various chemicals and their interactions could be teased out into a data store, collecting judgments about the usefulness of a particular piece of research would also be a way to explore the population.
The detailed description set forth above in connection with the appended drawings describes exemplary embodiments and does not represent the only embodiments that may be implemented or that are within the scope of the claims. The term “exemplary” when used in this description means “serving as an example, instance, or illustration,” and not “preferred” or “advantageous over other embodiments.” The detailed description includes specific details for the purpose of providing an understanding of the described techniques. These techniques, however, may be practiced without these specific details. In some instances, well-known structures and devices are shown in block diagram form in order to avoid obscuring the concepts of the described embodiments.
The various illustrative blocks and modules described in connection with the disclosure herein may be implemented or performed with a general-purpose processor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. A general-purpose processor may be a microprocessor, but in the alternative, the processor may be any conventional processor, controller, microcontroller, or state machine. A processor may also be implemented as a combination of computing devices, e.g., a combination of a DSP and a microprocessor, multiple microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration.
The functions described herein may be implemented in hardware, software executed by a processor, firmware, or any combination thereof. If implemented in software executed by a processor, the functions may be stored on or transmitted over as one or more instructions or code on a computer-readable medium. Other examples and implementations are within the scope and spirit of the disclosure and appended claims. For example, due to the nature of software, functions described above can be implemented using software executed by a processor, hardware, firmware, hardwiring, or combinations of any of these. Features implementing functions may also be physically located at various positions, including being distributed such that portions of functions are implemented at different physical locations. Also, as used herein, including in the claims, “or” as used in a list of items prefaced by “at least one of” indicates a disjunctive list such that, for example, a list of “at least one of A, B, or C” means A or B or C or AB or AC or BC or ABC (i.e., A and B and C).
Computer-readable media includes both computer storage media and communication media including any medium that facilitates transfer of a computer program from one place to another. A storage medium may be any available medium that can be accessed by a general purpose or special purpose computer. By way of example, and not limitation, computer-readable media can comprise RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium that can be used to carry or store desired program code means in the form of instructions or data structures and that can be accessed by a general-purpose or special-purpose computer, or a general-purpose or special-purpose processor. Also, any connection is properly termed a computer-readable medium. For example, if the software is transmitted from a website, server, or other remote source using a coaxial cable, fiber optic cable, twisted pair, digital subscriber line (DSL), or wireless technologies such as infrared, radio, and microwave, then the coaxial cable, fiber optic cable, twisted pair, DSL, or wireless technologies such as infrared, radio, and microwave are included in the definition of medium. Disk and disc, as used herein, include compact disc (CD), laser disc, optical disc, digital versatile disc (DVD), floppy disk and blu-ray disc where disks usually reproduce data magnetically, while discs reproduce data optically with lasers. Combinations of the above are also included within the scope of computer-readable media.
The previous description of the disclosure is provided to enable a person skilled in the art to make or use the disclosure. Various modifications to the disclosure will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other variations without departing from the spirit or scope of the disclosure. Throughout this disclosure the term “example” or “exemplary” indicates an example or instance and does not imply or require any preference for the noted example. Thus, the disclosure is not to be limited to the examples and designs described herein but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.