Home
Methods and apparatus related to document processing based on a
Contents
1. tract template a user can be notified and or a change to the portion of the contract can be suggested In some embodi ments if the meaning of the portion of the contract is sub stantially different than the section of the contract template a user can be prevented from viewing content associated with the portion of the contract Although FIG 5 is a flowchart related to analysis of a portion ofa contract in some embodiments the flowchart can be used to analyze text and or media that can be associated with different types of documents such as a book or a journal article In some embodiments one or more portions of the method can be performed in a different order and or can require human interaction in order to proceed For example US 8 126 837 B2 13 in some embodiments the contract parsing function can be selected based on the contract type shown at 530 before the contract template is selected based on the contract type shown at 520 In such instances the contract template can be selected based on the contract parsing function that is selected In some embodiments the contract template must be approved by a user before the contract template is used to analyze one or more portions of the contract FIG 6 is a schematic block diagram that illustrates a docu ment analysis engine 610 configured to analyze portions of a contract 620 according to an embodiment Specifically por tion 624 and portion 622 of the contract 620 are a
2. FIG 4 U S Patent Feb 28 2012 Sheet 3 of 6 US 8 126 837 B2 Receive a portion of a contract 500 Determine a contract type 510 Select a contract template based on the contract type 520 Select a contract parsing function based on the contract type 530 Determine a meaning of the portion of the contract based on a contract parsing function 540 Associate and compare the meaning of the portion of the contract with a section of contract template 550 Perform an action based on the comparison of the meaning of the portion of the contract with the section of the contract template when a condition is satisfied 560 FIG 5 U S Patent Feb 28 2012 Sheet 4 of 6 US 8 126 837 B2 Parsing Function Database 650 Parsing Function 952 Contract 620 Contract Template Database 660 Document Analysis Engine 610 Parsing Module 612 pe Master Contract Template 600 Condition Contract Action A1 Section Condition 602 Action A2 Iw Condition Action B1 Contra Condition A Action B2 SCC Condition EFS Action B3 Condition Action C1 Preference Contract NI Module 616 Section 606 Default Condition Action User Preferences 618 FIG 6 U S Patent Feb 28 2012 Sheet 5 of 6 US 8 126 837 B2 m e ma Entity X Document Provider 780 Document Analysis Engine 710 770 FIG 7 Receive at a document
3. and associating the meaning with a section from the plurality of sections and with a policy preference included in the section 7 The method of claim 1 wherein a policy preference included in a section from the plurality of sections is selected by a user from a set of policy preferences associated with the section from the plurality of sections 8 The method of claim 1 wherein the receiving includes receiving in response to a request to access content associated with the document 9 The method of claim 1 wherein the document template is defined at least in part based on a global template selected by an entity 10 The method of claim 1 wherein the document template is at least one of a privacy related contract template an end user license agreement template a terms and conditions con tract template a lease contract template or a real property contract template US 8 126 837 B2 17 11 The method of claim 1 wherein the receiving includes receiving in response to a request to access content associated with the document the method further comprising analyzing the portion of text from the document based on the document template and blocking transmission of at least a portion of the content based on the analyzing 12 The method of claim 1 wherein the receiving includes receiving in response to a request to access content associated with the document the selecting includes selecting based on a transactional val
4. on a particular event related to a document such as document 782 In some embodiments the document analysis engine 710 can be configured to perform and or trigger an action 20 25 30 35 40 45 50 55 60 65 14 e g ignore accept with respect to for example document 782 as instructed in a subscription In some embodiments the action can be performed and or triggered in lieu of or in addition to the signal 766 For example in some embodiments entity Y can register in a subscription with the document analysis engine 710 to be notified if a change in document 782 is detected Signal 766 can be sent to entity Y in response to the document analysis engine 710 detecting a change in document 782 after being prompted by entity X to analyze the document 782 The change can be detected based on a stored copy e g a cached copy of the document 782 The signal 766 can include information related to the change e g types of change s assessment of the change more restrictive lan guage less restrictive language etc In some embodiments the document analysis engine 710 can send a notification to entity Y based on a subscription to receive notifications when changes to any document or portions of any document of a certain class are detected In some embodiments document analysis engine 710 can be configured to automatically send a signal 766 e g a notification signal to entity Y when a document
5. be referred to as a document Any of the actions and or options which can be actions performed and or triggered by the document analysis engine 110 with respect to the document 164 can be applied to the target content as well For example the document analysis 20 25 40 45 50 55 60 65 8 engine 110 e g the template module 160 of the document analysis engine 110 can for example block and or allow access by the reguesting entity 140 or a different entity to one or more portions of the target content based on processing of the document 164 In some embodiments if the document 164 is a contract the document analysis engine 110 can be configured to identify one or more terms or sections associ ated with the contract that could should be accepted or rejected before the target content is accessed In some embodiments the document analysis engine 110 can be con figured to send a notification to for example the requesting entity 140 about the target content based on the content of the document 164 associated with the target content In some embodiments an identifier and or term that can be used to select the document parsing function 152 e g select from a library of document parsing functions and or the template 162 e g select from a library of templates can be associated with the target content For example the identifier and or term can be associated with a link e g a hyperlink a universal resou
6. determined and or the portion of the contract can be automatically handled for example by a document analysis engine For example a document analy sis engine can be configured to automatically ignore portions of the portion of the contract that cannot be analyzed Acontract template is selected based on the contract type at 520 In some embodiments the contract template can be a contract template defined based on a master contract tem plate The contract template can include one or more sections that can be associated with conditions and or actions A contract parsing function is selected based on the con tract type at 530 In some embodiments the contract parsing function can be selected based on the contract template that is selected at 520 In other words a contract parsing function corresponding with the contract template can be automati cally selected when the contract template is selected In some embodiments a user can be notified if a contract template and or a contract parsing function cannot be associ ated with the portion of the contract For example ifa contract 20 25 30 35 40 45 50 55 60 65 12 template for the particular contract type has not been created by the user the user can be notified that a contract template could not be identified In such instances a document analy sis engine for example can be configured to automatically ignore the portion of the contract analyze the porti
7. whether or not a specified portion of the document would be acceptable to the user In some embodi ments the document analysis engine can be configured to identify portions of the document that should be reviewed by the user In some embodiments the document analysis engine can be configured to restrict or allow access to the target content based on the analysis of the document It is noted that as used in this written description and the appended claims the singular forms a an and the include plural referents unless the context clearly dictates otherwise Thus for example the term a template is intended to mean a single template or a combination collec tion of templates Also many of the embodiments are described in connection with processing of contracts by way of example only Any of the embodiments described herein can be generally applied to the processing e g analysis of any type of document FIG 1 is a schematic block diagram that illustrates a docu ment analysis engine 110 configured to process e g ana lyze a document 164 according to an embodiment The document 164 or portion of a document can be delivered to the document analysis engine 110 from a document provider 180 over a network 170 in response to a request from a requesting entity 140 e g a computing entity such as a mobile device personal computer or a server that can be US 8 126 837 B2 3 controlled a human user Speci
8. 274 are included in a template database 270 that can be accessed by a template module 260 In some embodiments the template database 270 can be stored in a memory such as a local memory e g a hard drive a random access memory RAM and or a distributed database that can be accessed for example via a network Each of the templates 274 can include conditions and or actions e g a policy preference that can be used by the template module 260 when processing one or more portions of a document such as document 164 shown in FIG 1 In some embodiments the templates 274 can include references 20 25 30 35 40 45 50 55 60 65 10 e g pointers back to the master templates 210 and or con ditions and or actions included within the master templates 210 In such embodiments the master templates 210 and or associated conditions actions can be stored in a location s e g at the document analysis engine 110 where they can be accessed by the template module 260 when processing a document Although not shown in some embodiments the template definition module 220 can be included within a document analysis engine such as the document analysis engine 110 shown in FIG 1 Accordingly the document analysis engine can be used to not only define a template and associated actions conditions but also can be used to process e g analyze a document based on the template FIG 3 is a schematic block diagram
9. 62 In some embodiments any portion of the document analy sis engine 110 can be configured to allow for prompt and or require human interaction e g intervention For example the document analysis engine 110 can be configured to prompt a user for approval by the user or manual intervention e g editing selection by the user for any action taken by the document analysis engine 110 FIG 2 is a schematic block diagram that illustrates tem plates 274 defined by a user 240 using a template definition module 220 according to an embodiment The templates 274 can be referred to as a set of templates 274 or as a library of templates 274 The templates 274 are defined based on master templates 210 and in some embodiments each of the tem plates 274 can be referred to as a child template or a custom ized template The templates 274 include template A tem plate B and template C and the master templates 210 include master template D master template E and master template F For example in this embodiment template A is defined by the user 240 via a template definition module 220 based on mas ter template D Also in this embodiment template C and template G are defined by the user 240 via a template defini tion module 220 based on master template F In some embodi ments the user 240 can be a requesting entity In some embodiments the templates 210 can be referred to as user specific templates 210 In this embodiment the templates
10. achine instructions such as produced by a compiler code used to produce a web service and files containing higher level instructions that are executed by a computer using an interpreter For example embodiments may be implemented using Java C or other programming languages e g object oriented programming languages and development tools Additional examples of computer code include but are not limited to control signals encrypted code and compressed code While various embodiments have been described above it should be understood that they have been presented by way of 0 20 25 40 45 65 16 example only not limitation and various changes in form and details may be made Any portion of the apparatus and or methods described herein may be combined in any combina tion except mutually exclusive combinations The embodi ments described herein can include various combinations and or sub combinations of the functions components and or features of the different embodiments described For example any of the embodiments which were described in the context of contract analysis can be generally applied to the analysis of any type of document What is claimed is 1 A method comprising receiving a portion of text from a document associating a document type with the document based on at least one of the portion of text or an identifier associated with the document and selecting based on the document ty
11. action E and con tract section 2B which is associated with condition I and action K In this embodiment contract section 2B is a modi fied version of contract section 2 Contract section 3 from the master contract template 300 is not included in the user specific contract policy 310 As indicated in FIG 3 the user specific contract template 310 is defined based on selections by a user from the master contract template 300 In some embodiments the selections by the user can be performed via a template definition module such as template definition module 220 shown in FIG 2 In some embodiments modifying one or more of the contract sections 345 such as the modification of contract section 2 into contract section 2B when defining a user specific con tract policy may not be allowed In some embodiments a set of policy preferences condi tion action pairs can be defined based on a global selection by a user For example condition action E condition J action K and condition L action M can be selected and used to define a user specific contract not shown based on a single selectable link to this set of policy preferences FIG 4 is a schematic block diagram that illustrates a set of document parsing functions 450 associated with a set of mas ter templates 445 and associated with a set of customized templates 447 according to an embodiment Each template from the set of customized templates 447 is defined based on at least one templ
12. analysis engine at least a portion of a contract in response to an update request Determine that the portion of the contract has changed Analyze the portion of the contract based on a contract template and based on a parsing function Perform an action in response to the analysis FIG 8 800 810 820 830 U S Patent Feb 28 2012 Sheet 6 of 6 US 8 126 837 B2 j 930 we Policy Metric sa d Time w FIG 9 US 8 126 837 B2 1 METHODS AND APPARATUS RELATED TO DOCUMENT PROCESSING BASED ON A DOCUMENT TYPE BACKGROUND Embodiments relate generally to document processing and in particular to methods and apparatus related to pro cessing of at least a portion of a document based on a docu ment template As society becomes more impersonal through such wide area media as the world wide web it has become desirable to formally document rules of engagement between parties pro viding using services of one another This has led to an explo sion of contractual documentation often crafted by the ser vice provider to which parties must formally or impliedly agree in order to avail themselves of the products and or services covered by such contracts The need to approve and reconfirm lengthy and frequently changing documents including End User License Agreements EULAs Terms and Conditions and Privacy Policies often poses such an imposition on productivity that many users agree to the terms of such contracts wit
13. ate from the set of master templates 445 Document parsing function Q is associated with master tem US 8 126 837 B2 11 plate S and customized templates defined based on master template S and master template T and customized templates defined based on master template T and document parsing function R is associated with master template U and custom ized templates defined based on master template U In some embodiments each of the master templates 445 can be defined based on a document type In some embodi ments the master templates 445 can be defined based on ontologies and or semantic rules used to define the parsing functions 450 For example parsing function R and master template U e g sections within the master template U and T which is associated with parsing function R can be defined based on ontologies and or semantic rules defined for processing a EULA In other words the document templates e g the master templates 445 and customized templates 447 can be defined so that they are compatible with e g consistent with the analytical processes encoded within the parsing functions 450 Accordingly if a document selected for analysis is a EULA parsing function R and master tem plate U can be used to analyze the EULA FIG 5 is a flowchart that illustrates a method for analyzing a portion of a contract based on a contract template according to an embodiment In some embodiments the method can be implemented usi
14. az United States Patent Stollman US008126837B2 US 8 126 837 B2 Feb 28 2012 10 Patent No 45 Date of Patent 54 METHODS AND APPARATUS RELATED TO DOCUMENT PROCESSING BASED ON A DOCUMENT TYPE 76 Inventor Jeff Stollman Chesterbrook PA US Notice Subject to any disclaimer the term of this patent is extended or adjusted under 35 U S C 154 b by 733 days 21 Appl No 12 236 257 22 Filed Sep 23 2008 65 Prior Publication Data US 2010 0074524 Al Mar 25 2010 S1 Int Cl GOGF 17 00 GOGN 7 00 2006 01 GOGN 7 08 2006 01 SDS Elve 706 55 58 Field of Classification Search 00000000 706 55 See application file for complete search history 2006 01 56 References Cited U S PATENT DOCUMENTS 6 816 965 Bl 11 2004 Moore et al 7 249 374 Bl 7 2007 Learet al 7 299 504 B1 11 2007 Tiller et al 7 308 706 B2 12 2007 Markham et al 7 350 226 B2 3 2008 Moriconi et al 2004 0205342 Al 2005 0288939 Al 2007 0143855 Al 2007 0268922 Al 2008 0080372 Al 2008 0109871 Al 10 2004 Roegner 12 2005 Peledet al 6 2007 Gilchrist et al 11 2007 Dougan et al 4 2008 Cai et al 5 2008 Jacobs Master Template S Master Template T e Master Template U TEEN D t D D D D D oer e FOREIGN PATENT DOCUMENTS EP 1026867 A2 8 2000 OTHER PUBLICATIONS Javacool Software EULAlyzer M 1 2 Analyze license agreements for interesting words and phra
15. document analysis engine 110 More details related to con ditions and or actions as related to templates are discussed in connection with FIGS 3 and 5 In some embodiments the template 162 e g sections of the template 162 with associated conditions and or actions sections of the template 162 associated with a policy prefer ence can be defined based on one or more master templates also can be referred to as master document templates In some embodiments the template 162 can be stored in a tem plate database not shown where the template 162 can be accessed by the template module 160 In some embodiments the template 162 can be defined at least in part based on one or more preferences of the requesting entity 140 and or a different entity not shown than the requesting entity 140 In some embodiments the template 162 or a portion of the template 162 can be applied to only a portion of the docu ment 164 by the template module 160 based a user preference e g a policy a condition More details related to templates are discussed in connection with FIGS 2 through 9 In some embodiments the document parsing function 152 or a portion thereof and or the template 162 e g a section with associated conditions and or actions can be selected 20 25 30 35 40 45 50 55 60 65 6 for use in processing the document 164 based on one or more identifiers and or one or more terms associated with the docume
16. e associated with rear ranged portions of the document 164 e g new portions of the document that are defined based on original portions of the document 164 that have been parsed and combined into the new portions Moreover the template 162 and the document parsing function 152 can be defined so that they are compat ible with e g consistent with customized for one another More details related to parsing functions are discussed in connection with FIG 4 One or more sections within the template 162 can be asso ciated with one or more conditions and or actions that can be performed triggered based on whether or not the conditions are satisfied For example template 162 can include one or more template sections that can be associated with one or more conditions and or one or more actions In some embodi ments the sections of the template 162 and associated con ditions actions can collectively be referred to as a template policy In some embodiments multiple conditions can correspond with an action and or multiple actions can corre spond with a condition In some embodiments a condition action combination can be referred to as a policy preference Specifically one or more actions can be performed and or triggered by the template module 160 based on a comparison of a section of template 162 with the interpretation of a portion of the document 164 by the parsing module 150 For example the template module 160 can be configured
17. e defined based on a master contract template according to an embodiment FIG 4 is a schematic block diagram that illustrates a set of document parsing functions associated with a set of master templates and associated with a set of customized templates according to an embodiment FIG 5 is a flowchart that illustrates a method for analyzing a portion of a contract based on a contract template according to an embodiment FIG 6 is a schematic block diagram that illustrates a docu ment analysis engine configured to analyze portions of a contract according to an embodiment 20 25 30 35 40 45 50 55 60 65 2 FIG 7 is a schematic block diagram that illustrates a docu ment analysis engine configured to communicate with a first entity in response to an analysis of a document requested by a second entity according to an embodiment FIG 8 is a flowchart that illustrates a method for analyzing a portion of a contract in response to an update request according to an embodiment FIG 9 is a schematic graph that illustrates a trend of two policy metrics versus time according to an embodiment DETAILED DESCRIPTION A document analysis engine can be configured to process in response to a request from a user a portion of a document based on a document template Specifically the document analysis engine can be configured to compare a section of the document template to the portion of the document based on an i
18. e or more document parsing func tions such as document parsing function 152 shown in FIG 1 Specifically the document parsing function 152 can be con figured to parse at least a portion of text and or a portion of a media object e g an image a video an audio snippet from the document 164 The document parsing function 152 can be configured to interpret one or more portions or groups of one or more portions parsed from the document 164 In some embodiments the document parsing function 152 can include for example language processing portions e g language processing functional portions that are defined based on one or more ontological structures and or one or more semantic rules The ontological structure s and or the semantic rule s included within the language processing por tion s of the document parsing function 152 can be used by 20 25 30 35 40 45 50 55 60 65 4 the parsing function to interpret a portion of a document 164 In some embodiments the interpretation can be based on probabilistic rules e g probabilistic matching with an inter pretation encoded within the document parsing function 152 In some embodiments the document parsing function 152 can be configured to interpret the document 164 based on natural language processing techniques In some embodiments the document parsing function 152 can include for example various tools that can be used by the parsing module 150 to p
19. ed template not shown After the document pars ing function 162 and the template 152 have been selected the document parsing function 162 can be used by the parsing module 150 and or the template 152 can be used by the template module 160 to process the portion s of the docu ment 164 during a secondary processing time period In some embodiments processing of the document 164 can be performed in an iterative fashion by the document analysis engine For example in some embodiments analysis of the document 164 by the template module 160 and or the parsing module 150 can be performed iteratively to refine an analysis of the document 164 In some embodiments the iterative processing by the template module 160 can be performed based on different templates not shown during different US 8 126 837 B2 7 iterations In some embodiments the iterative processing by the document parsing function 152 can be performed based on different document parsing functions not shown during different iterations In some embodiments the document parsing functions and or the templates can be selected based on threshold conditions defined by for example the reguest ing entity 140 In some embodiments a first analysis of a document 164 may produce a first level of results e g a hierarchical cat egorization A second analysis of the document 164 may produce a second level of results based on or unrelated to the first level of results The first a
20. edium of claim 15 wherein the term is a first term the code further comprising code to send an indicator to a user that a second term from the document satisfies a manual review condition 20 A method comprising receiving at least a portion of text from a document in response to a policy update request 20 25 30 35 40 45 18 determining that the document has a changed portion based on a version of the document stored in a database and based on the portion of text from the document and analyzing the changed portion of the document based on a document template the document template being selected from a plurality of document templates based on a document type associated with the document 21 The method of claim 20 wherein the version of the document is stored in the database prior to the receiving 22 The method of claim 20 wherein the analyzing includes analyzing based on a policy preference 23 The method of claim 20 wherein the policy update request is triggered by a first entity the policy preference has a portion defined by the first entity the method further comprising sending to a second entity a notification of the changed portion in response to the determining 24 The method of claim 20 the policy update request is triggered by a first entity the policy preference has a portion defined by the first entity the method further comprising analyzing in response to the determining the cha
21. fically the document analy sis engine 110 can be configured to interpret and associate an interpretation with at least a portion of the document 164 using a parsing module 150 The document analysis engine 110 can also be configured to perform and or trigger an action associated with the document 164 based on a compari son of the interpretation e g the meaning of the portion of the document 164 with one or more sections included in a template 162 using a template module 160 In some embodi ments the interpretation can also be referred to as a meaning In some embodiments the document 164 can be defined based on one or more types of documents such as for example a contract e g a lease contract a EULA a terms and conditions contract a real property contract etc a book e g a compilation an article e g a publication a journal article a newspaper article a user manual a technical refer ence document a compliance report and so forth In some embodiments the document 164 can include text e g digi tized text digitized text acquired from a web page and or media e g images maps photos technical drawings flow charts etc video audio In some embodiments the docu ment 164 can be processed for example by the document analysis engine 110 so that the document 164 can be elec tronically processed by the document analysis engine 110 In some embodiments the document 164 can be an entire docu ment o
22. functionality associated with the document analysis engine 110 can be made available and invoked via an application programming interface API In some embodiments any of the operations performed by the document analysis engine 110 can be manually triggered by for example the requesting entity 140 or a different entity In some embodiments any of the operations per formed by the document analysis engine 110 can be triggered by an entity not shown other than the requesting entity 140 For example the actions and or options can be presented to an entity different than the requesting entity 140 In some embodiments one or more portions of templates such as template 162 and or document parsing functions such as document parsing function 152 can be defined by an entity different than the requesting entity 140 In some embodiments the document provider 180 can be any entity that can send e g transmit provide the document 164 to the document analysis engine 110 for processing In some embodiments the document provider 180 can be con figured to send the document 164 to the document analysis engine 110 in a format and or based on a protocol that can be compatibly processed by the document analysis engine 110 US 8 126 837 B2 9 In some embodiments the document analysis engine 110 can have one or more modules configured to convert e g trans late the document 164 into a format e g aprotocol that can be compatibly proces
23. he portion s of the document 164 being defined based on a EULA document type In some embodiments the document analysis engine 110 can be configured to present an option e g an option in a prompt to the requesting entity 140 or a different entity to accept e g confirm or reject the selection or portions of the selection of the template s and or document parsing function s In some embodiments the document analysis engine 110 can be configured so that the requesting entity 140 or a different entity can manually make a selec tion or override an automatic selection by the document analysis engine 110 of a document parsing function s and or a template s In some embodiments the identifier s and or the term s associated with one or more portions of the document 164 can be received interpreted and used during a preliminary pro cessing time period so that the document parsing function 152 and or a template 162 or template policy can be selected In other words the document parsing function 152 and or the template 162 can be selected from a library of document parsing functions not shown in FIG 1 and or a library of templates not shown in FIG 1 respectively based on analy sis of an identifier s and or a term s associated with the document 164 In some embodiments the preliminary pro cessing can be performed based on a default or generalized document parsing function not shown and or a default or generaliz
24. hout taking the time to read them and understand the obligations and restrictions imposed by them Often users are uncomfortable with this exposure but take such risks because of the burden of having to read and under stand these contracts which can be lengthy and filled with legalese that a typical user may not understand even if they take the time to read the document in its entirety Thus a need exists for methods and apparatus for process ing at least a portion of a document based on a document template SUMMARY In one embodiment a method includes receiving a portion of text from a document A document type is associated with the document based on at least one of the portion of text or an identifier associated with the document The method also includes selecting based on the document type a document template having a plurality of sections Each section from the plurality of sections being associated with a document cat egory At least one section from the plurality of sections including at least one policy preference BRIEF DESCRIPTION OF THE DRAWINGS FIG 1 is a schematic block diagram that illustrates a docu ment analysis engine configured to process a document according to an embodiment FIG 2 is a schematic block diagram that illustrates tem plates defined by a user using a template definition module according to an embodiment FIG 3 is a schematic block diagram that illustrates a user specific contract templat
25. ithin a document e g nature of terms within a EULA over time and policy metric 930 can be related to a percentage of change on a word by word basis to a docu ment over time A document analysis engine can be config ured to use historical data related to analysis of one or more documents e g interpretations of the documents to produce the graph Some embodiments described herein relate to a computer storage product with a computer readable medium also can be referred to as a processor readable medium having instructions or computer code thereon for performing various computer implemented operations The media and computer code also can be referred to as code may be those designed and constructed for the specific purpose or purposes Examples of computer readable media include but are not limited to magnetic storage media such as hard disks floppy disks and magnetic tape optical storage media such as Com pact Disc Digital Video Discs CD DVDs Compact Disc Read Only Memories CD ROMs and holographic devices magneto optical storage media such as optical disks carrier wave processing systems and hardware devices that are spe cially configured to store and execute program code such as Application Specific Integrated Circuits ASICs Program mable Logic Devices PLDs and Read Only Memory ROM and Random Access Memory devices Examples of computer code include but are not limited to micro code or micro instructions m
26. me embodiments the document analysis engine 110 can be configured to send a notification to for example the request ing entity 140 based on the content of the document 164 In some embodiments the document analysis engine 110 can be configured to provide an assessment of the document 164 to the requesting entity 140 For example ifthe document is a contract the document analysis engine 110 can identify portions of the document 164 as more restrictive or less restrictive than specified sections of the template 162 In some embodiments the document analysis engine 110 e g the template module 160 of the document analysis engine 110 can provide options with respect to any of the actions for example to the requesting entity 140 In some embodiments providing an option can be considered or encoded as an action For example the document analysis engine 110 can be configured to provide options with respect whether or not to block allow access to a specified portion s of the document 164 and or options with respect to accepting denying a specified portion s of the document 164 In some embodiments the options and or actions can be accompa nied by information defined based on the processing of the document 164 by the document analysis engine 110 For example one or more options can be accompanied by a high lighted portion and or an interpretation e g a meaning of a specified portion s of the document 164 as determined by the
27. nalysis and the second analysis can be performed by the document analysis engine 110 using different or same templates and or different or same docu ment parsing functions In some embodiments the document analysis engine 110 can be configured to analyze the docu ment 164 multiple times and prompt a user e g the reguest entity 140 to select one or more of the results of the analysis Although not shown in FIG 1 in some embodiments the parsing module 150 and or the template module 160 can apply different document parsing functions or portions thereof and different templates or portions thereof to dif ferent portions of the document 164 For example if the document analysis engine 110 determines that a first portion of the document 164 corresponds with a EULA e g is a EULA document type and that a second portion of the docu ment 164 corresponds with a real estate contract e g is a real estate contract document type the first portion of the docu ment 164 can be processed based on a document parsing function associated with the EULA and the second portion of the document 164 can be processed based on a document parsing function associated with the real estate contract In some embodiments one or more document parsing functions and or one or more templates can be selected based ona preference ofa user such as the requesting entity 140 For example the user can define a priority preference that can be used by the document anal
28. nalyzed based on a parsing function 652 received from a parsing function database 650 and based on a master contract tem plate 600 from a contract template database 660 The docu ment analysis engine include a parsing module 612 a tem plate module 614 and a preference module 616 Portion 624 of the contract 620 is interpreted at the parsing module 612 based on parsing function 652 A meaning asso ciated with the portion 624 is compared with contract section 602 of the master contract template 600 using template mod ule 614 As shown in FIG 6 contract section 602 is associated with two different condition action combinations condi tion action A1 and condition action A2 Condition action A1 is selected from the master contract template 600 based on user preferences 618 applied by the preference module 616 Rather than analyzing the contract 620 based on a customized contract template defined based on a master contract template 600 the contract 620 is dynamically analyzed based on a combination of a master contract template 600 and user pref erences 618 In some embodiments the user preference 618 can be a global preference used to define a set of policy preferences Portion 622 of the contract 620 is interpreted at the parsing module 612 based on parsing function 652 In this embodi ment the portion 622 of the contract 620 is not associated with a specific contract section from the master contract tem plate 600 Because a meaning a
29. ng for example a document analysis engine As shown in FIG 5 a portion of a contract is received at 500 The portion of the contract associated with the contract can be received in response to a request from a user e g a request ing entity and can include text and or media The portion of the contract can be associated with for example web content served from a web server In some embodiments the portion of the contract can be a term within the contract can be a provision of the contract can be the entire contract can be associated with multiple contracts and so forth As shown in FIG 5 a contract type is determined at 510 In some embodiments the contract type can be determined based a term e g a single word a collection of words and or based on an identifier associated with the portion of the con tract If a contract type cannot be determined at 510 an action can be performed and or triggered For example in some embodiments a user can be notified that the portion of the contract cannot be analyzed In some embodiments one or more portions of the portion of the contract can be provided to the user and or the user can be prompted to make a manual decision with respect to the portion of the contract In some embodiments the user can trigger for example a document analysis engine to ignore the portion of the contract cannot be analyzed In some embodiments the user may not be notified that a contract type could not be
30. nged portion of the document based on a policy preference having a portion defined by a second entity and sending an acceptance indicator in response to the analyz ing based on the policy preference associated with the second entity 25 The method of claim 20 wherein the document policy includes a set of sections the analyzing includes associating the changed portion of the document with a section from the set of sections 26 The method of claim 20 wherein the analyzing includes analyzing based on a set of semantic rules selected based on the document type and an ontology having at least a portion associated with the document type 27 The method of claim 20 wherein the policy update request is defined in response to a request to access content associated with the document 28 The method of claim 20 further comprising updating the version of the document stored in the database in response to the determining 29 The method of claim 20 further comprising defining a policy metric trend based on the analyzing 30 A method comprising selecting based on a document type a document template having a plurality of sections each section from the plurality of sections being associated with a document category and including at least one policy preference and defining a text of a document based on the document tem plate
31. nt 164 For example an identifier such as an elec tronic tag e g metadata a link and or one or more terms e g a title heading a paragraph associated with one or more portions of the document 164 e g the entire document 164 can be received interpreted and used by the document analysis engine 110 to select the document parsing function 152 and or the template 162 or template policy The iden tifier s and or term s can be received by the document analysis engine 110 in response to a request from the docu ment analysis engine 110 and or extracted from one or more portions of the document 164 and or data associated with the document 164 For example the document parsing functions 152 or a portion thereof used by the parsing module 150 and or the template 162 or a portion thereof used by the template module 160 to process the document 164 can be selected based on a document type associated with the document 164 based on analysis of an identifier and or a term from the document 164 For example if one or more portions of the document 164 is identified as being defined based on a EULA document type the parsing module 150 can be configured to determine a meaning of the portion s of the document 164 based on a parsing function such as document parsing func tion 152 corresponding with a EULA document type Like wise the template module 160 can be configured to apply one or more templates such as template 162 based on t
32. nterpretation of the portion of the document using a parsing function The parsing function can be configured to interpret the portion of the document based on an ontology and or a semantic rule In some embodiments an action can be per formed and or triggered based on whether the comparison satisfies a threshold condition Moreover the document analysis engine can function as a policy filter on behalf of the user by applying policies defined within the document tem plate In some embodiments a condition action combination can be referred to as a policy preference In some embodiments the document template can be cus tomized by a user and or can be defined based on a master template In some embodiments the document template and or the parsing function can be selected based on an identifier and or aterm associated with the document template In some embodiments the document can be associated with target content requested for for example viewing by the user In some embodiments the actions performed and or trig gered can be based on a comparison of a document template with a document that is associated with target content For example if the document is a contractual document associ ated with target content requested by the user e g an End User License Agreement EULA or a privacy policy associ ated with a web page the document analysis engine can be configured to determine based on a parsing module and a user defined template
33. ntract In some embodiments if a change in the portion of the document is not detected the document may not be analyzed based on the contract template and or based on the parsing function In other words no action may be taken if a change in the portion of the document is not detected In some embodiments for example the document analysis engine can be configured to log e g record store a date time stamp the processing of the portion of the document and or cache a copy of the document to build a history for future analysis related to changes to the portion of the document Anaction is performed in response to the analysis at 830 In some embodiments for example a user can be notified of details of the differences between the updated portion of the document and the previous image of the portion of the docu ment or one or more historical copies of the portion of the document In some embodiments a user can be prevented from later accessing target content associated with the docu ment based on the analysis In other words the analysis can be stored in a memory and used to block access when the target content is later requested FIG 9 is a schematic graph that illustrates a trend of two policy metrics metric 920 and metric 930 versus time according to an embodiment The policy metrics can be met rics used to illustrate changes made to a documents over time For example policy metric 920 can be related a level of restrictions w
34. on of the contract based on a different contract template e g a default contract template and or different contract parsing function e g a default contract parsing function provide the user with options e g manually triggered options for handling the scenario e g options for ignoring the portion of the contract etc and so forth A meaning for the portion of the contract is determined based on the contract parsing function at 540 In other words the portion of the contract can be interpreted based on the contract parsing function If the portion of the contract includes text the meaning can be determined based on one or more ontologies associated with the contract parsing function and or one or more semantic rules associated with the con tract parsing function In some embodiments the one or more ontologies can be defined specifically for the contract type The meaning of the portion of the contract is associated and compared with a section of the contract template at 550 The section can be associated with a contractual provision or a contractual term e g a single word that defines a term a collection of words that define a term In some embodiments ifa meaning for at least a portion of the portion of the contract cannot be desirably determined e g determined within a specified threshold accuracy based on the contract parsing function at 540 and or the meaning cannot be associated with a section of the contract tem
35. otifications only when more than a specified percentage of document 782 has changed or only when a specified portion e g set of sections of the docu ment 782 has changed FIG 8 is a flowchart that illustrates a method for analyzing a portion of a contract in response to an update request according to an embodiment As shown in FIG 8 at least a portion ofa contract is received at a document analysis engine in response to an update request The update request can be a request to determine if a particular document such as a EULA associated with a particular website has changed since last analyzed as indicated in historical data tracked by for example a document analysis engine At 810 the document analysis engine is configured to determine that the portion of the contract has changed The change in the document can be determined based on historical data stored at the document analysis engine For example in some embodiments the portion of the contract can be com pared with an image e g a copy of the portion of the contract stored at the document analysis engine or at a dif ferent location by the document analysis engine US 8 126 837 B2 15 The portion of the contract is analyzed based on a contract template and based on a parsing function at 820 The contract template and or the parsing function can be retrieved by for example the document analysis engine based on a contract type associated with the portion of the co
36. pe a document tem plate having a plurality of sections each section from the plurality of sections being associated with a document category at least one section from the plurality of sec tions being associated with at least one policy prefer ence 2 The method of claim 1 further comprising determining a meaning for the portion of text based on an ontology having at least a portion associated with the document type 3 The method of claim 1 further comprising determining a meaning for the portion of text based on a set of semantic rules associated with the document type and associating the portion of text with at least one section from the plurality of sections based on the meaning 4 The method of claim 1 further comprising determining a meaning for the portion of text associating the portion of text with a section from the plurality of sections based on the meaning and sending an indicator when the meaning satisfies a condi tion associated with a policy preference of the section from the plurality of sections 5 The method of claim 1 further comprising determining a meaning for the portion of text and sending an indicator to an entity when the portion of text is not associated with at least one section from the plurality of sections 6 The method of claim 1 further comprising determining a meaning for the portion of text based on an ontology having at least a portion associated with the document type
37. plate at 550 one or more actions can be performed and or triggered For example in some embodiments a user can be notified of the issue via for example a user interface prompt In some embodiments the portion of the contract or a portion of the portion of the contract that could not be interpreted can be automatically ignored In some embodiments a user can be presented with one or more portions of the portion of the contract that could not be analyzed e g interpreted and or can be presented with options e g manually triggered options for handling the portion of the contract e g options for ignoring the portion of text etc In some embodiments the portion of the contract can be analyzed based on one or more different contract parsing functions until for example a meaning for the portion of the contract can be determined An action is performed based on the comparison of the meaning of the portion of the contract with the section of the contract template when at least one condition is satisfied at 560 For example access to e g viewing privileges to edit ing privileges to one or more portions of content associated with the portion of the contract can be automatically blocked and or allowed if the comparison of the section of the contract template with the portion of the contract satisfies the condi tion s For example if the meaning of the portion of the contract is substantially different than the section of the con
38. r multiple documents or a portion of a document or a portion of multiple documents One or more sections within the template 162 used during analysis of the document 164 can include text e g digitized text and or media e g images video audio In some embodiments the sections within a template can be defined so that they correspond with one or more sections associated with the document 164 In some embodiments the template 162 can include sections that typically appear in a particular type of document identified for analysis using the document analysis engine 110 In some embodiments a section within the template 162 can include key words that can be used by the template module 160 during comparison of the section of the template 162 with the document 164 In some embodiments the key words can be in a particular order and or can be related according to specified semantic rules In some embodiments the template 162 can included stan dardized sections and or customized sections defined by for example a user e g the requesting entity 140 In other words one or more sections of the template 162 can include standardized language adopted by for example a governing body or organization Accordingly the document 164 can be compared with standardized language included in the tem plate 162 The parsing module 150 can be configured to interpret e g determine a meaning for extract a meaning from the document 164 based on on
39. rawing Sheets Parsing Functions 450 Document Parsing Function Q Document Parsing Function R U S Patent Feb 28 2012 Sheet 1 of 6 US 8 126 837 B2 Document Analysis Engine 110 Template Module 160 Template 162 Parsing Module 150 164 Document Parsing Function 152 Reguesting Document Entity 140 rovider 180 170 FIG 1 Template Module 260 User 240 Master Template D Template Database 270 PE Template B Template G Vane een nw new ene eng eee ere ween e ere p Template Definition Module 220 Master SS Template E teen Iemplate C Master Template F Template A eem E EE Ee ee e Wi 274 FIG 2 U S Patent Feb 28 2012 Sheet 2 of 6 US 8 126 837 B2 Master Contract Template 300 Condition Action E Contract H Section1 L Condition Action F ection Condition Action G Contract Condition Action E Contract Condition I User Selection Section 1 4 Action K Section 2 Condition J gt User Specific Contract 310 peo M Contract Condition LI Action N Section 3 Action K Contract i Condition I Action K K Section 2B 345 FIG 3 Master Template S Parsing Functions 450 Document Parsing Master Function Q Template T Document Parsing Function R Die 7 Po Master Template U PED Aan EE EE EE EE EES EE Ee oe Tt et rr TE
40. rce locator URL if the target content is a webpage used to access the target content or included within the target content In some embodiments one or more portions of the docu ment analysis engine 110 can be a hardware based module e g a digital signal processor DSP a field programmable gate array FPGA and or a software based module e g a module of computer code a set of processor readable instruc tions that can be executed at a processor which could be associated with a memory In some embodiments for example the document analysis engine 110 can be encoded within an application e g a java based application a web based application that can be installed on and or served to for example a personal computer Any of the operations e g functions performed by the document analysis engine 110 can be included within one or more modules For example one or more operations performed by the parsing module 150 and or the template module 160 can be combined into a single module or divided in multiple modules including modules that are not shown Although not shown in some embodiments the document analysis engine 110 can be made available as a web service For example the document analysis engine 110 can be invoked via a web browser In some embodiments the docu ment analysis engine 110 can be accessed via an account e g a user account associated with for example a request ing entity In some embodiments the
41. rocess e g physically process the document 164 For example the document parsing function 152 can include an optical character reader OCR function that can be used to convert text and or media included in a paper document into an electronic format that can be pro cessed by the document analysis engine 110 In some embodiments for example the document parsing function 152 can include a speech detection recognition system that can translate propagating sound waves and or digitized rep resentations of sound waves e g speech music to text that can then be processed by the document analysis engine 110 In some embodiments the document parsing function 152 of the parsing module 150 can be configured to parse the document 164 e g parse text and or media included in the document into sections that correspond with sections included within a template 162 In some embodiments the document parsing function 152 can be configured to rear range e g move combine portions of the document 164 so that they correspond with sections included within a template 162 In other words the document parsing function 152 can be configured to prepare the document for comparison with the template 162 In some embodiments for example por tions of the document 164 can be rearranged by the parsing module 150 based on semantic relationships between words and or the relationships between sections within the template 162 Accordingly interpretations can b
42. sed by the document analysis engine 110 In some embodiments the document provider 180 can be for example a wired device and or a wireless device such as for example a computing entity e g a personal comput ing device a mobile phone a personal digital assistant PDA and or a server e g a web server host The network 170 can be for example a local area network LAN and or a wide area network WAN In some embodi ments the network 170 can include one or more wired and or wireless segments Although not shown the document analy sis engine 110 the document provider 180 and or the request ing entity 140 can be included within a single computing environment e g a personal computer Although not shown in some embodiments a document can be received at acomputer via for example a universal serial bus USB port or a different port e g firewire port The document can be scanned via a scanner and transmitted to the computer via the USB port The document can be analyzed by a document analysis engine installed at or accessed from e g via a network the computer In some embodiments the document analysis engine 110 can be configured to analyze documents that include text and or images related to various languages and or cultures In some embodiments for example the document parsing func tion 152 can be configured to translate one or more portions of the document 164 for comparison with a section of the tem plate 1
43. ses online retrieved on Jul 11 2008 Retrieved from the lt URL http ww wjavacoolsoftware com eulalyzer html gt 2 pgs Krishna P Radha et al An ER EC Framework for e Contract Modeling Enactment and Monitoring Data amp Knowledge Engineer ing vol 51 Oct 2004 pp 31 58 Schoop Mareike A Language Action Approach to Electronic Nego tiations Systems Signs amp Actions An International Journal on Communication Information Technology and Work vol 1 No 1 2005 pp 62 79 Narendra Nanjangud C Generating Correct Protocols from Con tracts A Commitment Based Approach 2008 IEEE Congress on Services 2008 Part I pp 407 414 International Search Report and Written Opinion of the International Searching Authority for PCT US2009 057975 dated May 10 2010 18 pages Internet Primary Examiner Michael B Holmes 74 Attorney Agent or Firm Cooley LLP 57 ABSTRACT In one embodiment a method includes receiving a portion of text from a document A document type is associated with the document based on at least one of the portion of text or an identifier associated with the document The method also includes selecting based on the document type a document template having a plurality of sections Each section from the plurality of sections being associated with a document cat egory At least one section from the plurality of sections including at least one policy preference 30 Claims 6 D
44. ssociated with the portion 622 cannot be compared with any of the contract sections included in the master contract template 600 a default con dition action is executed FIG 7 is a schematic block diagram that illustrates a docu ment analysis engine 710 configured to communicate with a first entity entity Y in response to an analysis of a document 782 requested by a second entity entity X according to an embodiment In some embodiments the document 782 can be a portion of a document In this embodiment the analysis of the document 782 at the document analysis engine 710 is triggered in response to a request 762 from entity X The document 782 is provided to document analysis engine 710 over a network 770 by the document provider 780 In some embodiments the document analysis engine 710 can be con figured to perform trigger an action based on the analysis of the document 782 As shown in FIG 7 the document analysis engine 710 is configured to send a signal 766 to entity Y in response to the analysis of the document 782 prompted by entity X In other words the document analysis engine 710 can be configured to send the signal 766 to entity Y even though the analysis of document 782 was triggered by a entity X which is a different and or independent entity In some embodiments the signal 766 can be related to a notification sent to entity Y based on subscription In other words entity Y can subscribe to receive a notification based
45. such as document 782 that has previously been requested for analy sis by entity Y is later analyzed in response to a request from a different entity such as entity X Specifically the document analysis engine 710 can be configured to track e g collect store information related to document analysis requests by entity Y and can use that tracked data also can be referred to as historical data to later notify entity Y of changes to docu ments previously requested for analysis Accordingly signal 766 can be a signal generated based on historical data related to documents requested for analysis by entity Y In some embodiments the document analysis engine 710 can be con figured to notify entity Y when a change has been made to a document previously requested for analysis by entity Y In some embodiments the document analysis engine 710 can provide an assessment of the change based on a cached copy of the document The document analysis engine 710 can be configured to store the tracked data in for example a local memory not shown and or a remote database not shown In some embodiments threshold conditions related to noti fications can be defined by entity Y For example entity Y can subscribe to receive notifications only when more than a specified percentage of document 782 has changed or only when a specified portion e g set of sections of the docu ment have change 782 In some embodiments entity Y can subscribe to receive n
46. that illustrates a user specific contract template 310 defined based on a master contract template 300 according to an embodiment The master contract template includes three contract sections 345 contract section 1 contract section 2 and contract section 3 that are each associated with various combinations of condi tions and actions policy preferences Contract section 1 in the master contract template 300 is associated with three different condition action combinations E F and G Contract section 2 has two conditions condition I and condition J associated with a single action K Contract section 3 has a single condition L associated with three different actions M N and K The contract sections 345 can include text e g digitized text and or media e g images video audio associated with different provisions and or clauses of a contract For example the provisions which can also be referred to as categories can include for example a severability provision or clause a choice of law provision or clause a warranty provision or clause an indemnification provision or clause a confidentiality provision or clause and so forth As shown in FIG 3 the user specific contract template 310 includes a subset of the contract sections 345 and conditions actions from the master contract template 300 Specifically the user specific contract template 310 includes contract sec tion 1 which is associated with condition
47. to per form and or trigger an action based on whether or not a comparison of an interpretation associated with a portion s of the document with a section within the template 162 sat isfies one or more criteria Although not shown in some embodiments the actions performed and or triggered by the US 8 126 837 B2 5 document analysis engine 110 can be defined in a database e g a template database that can be accessed by the tem plate module 160 In some embodiments the actions that can be performed and or triggered by the template module 160 in response to a comparison of a portion of the template 162 e g a section with the interpretation of the document 164 by the parsing module 150 can be for example blocking and or allowing access to e g viewing privileges to editing privileges to one or more portions of the document 164 by the requesting entity 140 In some embodiments the document analysis engine 110 can be configured to identify certain portions of the document 164 that may require further review for example by the requesting entity 140 In some embodiments if the document 164 is a contract the document analysis engine 110 can be configured to identify one or more terms or sections associated with the contract that should be accepted or rejected In some embodiments the document analysis engine 110 can be configured to suggest changes to the docu ment 164 based on the processing of the document 164 In so
48. uation associated with the content 13 The method of claim 1 wherein the at least one policy preference is a default policy preference 14 The method of claim 1 wherein the document is a contract 15 A processor readable medium storing code represent ing instructions to cause a processor to perform a process the code comprising code to receive a term from a document determine a document type based on at least one of the term or an identifier associated with the document analyze the term based on a set of semantic rules associated with the document type and based on a document tem plate associated with the document type and determine whether the term is an acceptable term based on the analyzing 16 The processor readable medium of claim 15 wherein at least one of the set of semantic rules or the document policy is selected based on the document type 17 The processor readable medium of claim 15 further comprising code to providea set of policy preferences associated with a master document template to a user at least a portion of the document template is defined based on a policy prefer ence selected from the set of policy preferences 18 The processor readable medium of claim 15 wherein the term is a first term the code further comprising code to send an indicator to a user that a second term from the document is not associated with a document category from the document template 19 The processor readable m
49. ysis engine 110 to select one or more templates over another template or to select one or more document parsing functions over another document parsing function In some embodiments one or more docu ment parsing functions and or templates can be customized and associated with an identifier associated with the request ing entity 140 In other words the customized document parsing functions and or templates can be associated with the requesting entity 140 using the identifier In response to a request from the requesting entity 140 to process the docu ment 164 the document analysis engine 110 can use the identifier to fetch the customized document parsing functions and or templates so that the document 164 can be processed based on the customized document parsing functions and or templates In some embodiments the document 164 can be associated with target content not shown and processing of the docu ment 164 can be triggered in response to a request by the requesting entity 140 to access the target content For example the target content can be an application that can be downloaded or associated with a webpage e g content included within a webpage and the document 164 can be a terms and condition contract and or EULA associated with e g referenced in linked to the target content In some embodiments one or more portions of the target content can be analyzed in addition to the document 164 in which case the target content can
Download Pdf Manuals
Related Search
Related Contents
User`s Guide English AUX NEW SOUND by Finisar FTXD02SL1T network transceiver module Model 3563 Integrating Nephelometer Operation and Service Manual Samsung 920XT Korisničko uputstvo Sea Gull Lighting 31625-782 Installation Guide mode d`emploi Zebex Z-6070 (U) (B) Color Inkjet cp1700, cp1700p, cp1700ps Hardware Guide.fm Copyright © All rights reserved.
Failed to retrieve file