Text generation for patent applications using natural language modeling and programmable templating language
In some implementations, a device may identify a text from a document that includes structured information, wherein the structured information is a set of patent claims. The device may extract a first one or more parts and a second one or more parts, wherein the first one or more parts are one or more grammatical parts and the second one or more parts are one or more legal parts. The device may insert the first one or more parts and the second one or more parts into a structured model data object, wherein the structured model data object is a claim model data object. The device may generate structured output text from the structured model data object, wherein the structured output text corresponds to one or more patent document parts. The device may provide the structured output text.
1. A method, comprising:
identifying, by a device, a text from a document that includes structured information, wherein the structured information is a set of patent claims;
extracting, by the device from a structure of the structured information, a first one or more parts and a second one or more parts, wherein the first one or more parts are one or more grammatical parts and the second one or more parts are one or more legal parts;
inserting, by the device, the first one or more parts and the second one or more parts into a structured model data object, wherein the structured model data object is a claim model data object;
identifying, by the device, an output template of a plurality of output templates associated with the structured model data object, each of the plurality of output templates including respective template logic for natural language generation of one or more patent document parts of the document,
wherein template logic, included in the output template, includes one or more helper functions that extend a template parsing functionality of a base engine of the device, and
wherein each of the plurality of output templates corresponds to different template logic;
generating, by the device, structured output text from the structured model data object and the output template, wherein the structured output text corresponds to the one or more patent document parts; and
providing, by the device, the structured output text.
2. The method of claim 1 , further comprising:
querying for the output template;
determining whether the claim model data object is missing any information for the output template;
selectively requesting missing information for the output template based at least in part on a result of determining whether the claim model data object is missing any information for the output template; and
selectively including the missing information in the claim model data object based at least in part on a result of selectively requesting the missing information.
3. The method of claim 1 , further comprising:
determining, using the claim model data object and the output template, a number of new claims to create; and
generating claim language, for the number of new claims, by running the template logic included in the output template on the first one or more parts and the second one or more parts.
4. The method of claim 3 , wherein the template logic includes one or more logical operators that evaluate conditions and,
wherein generating the claim language comprises:
running the template logic based on the logical operators.
5. The method of claim 1 , wherein the template logic included in the output template includes one or more looping functions.
6. The method of claim 1 , wherein the output template includes one or more sub-templates according to one or more logic rules of the output template.
7. The method of claim 6 , wherein generating the structured output text comprises:
executing template logic included in each of the one or more sub-templates included in the output template.
8. The method of claim 1 , wherein generating the structured output text comprises:
converting the structured output text into one or more paragraphs, wherein the one or more paragraphs are insertable into a text processing application; and
wherein providing the structured output text comprises:
inserting the one or more paragraphs into the text processing application.
9. The method of claim 8 , wherein inserting the one or more paragraphs comprises:
inserting the one or more paragraphs into the document that includes the structured information.
10. The method of claim 1 , wherein generating the structured output text comprises:
dynamically generating the structured output text using the structured model data object, the output template, and the one or more helper functions,
wherein each of the one or more helper functions are configured to dynamically generate a corresponding portion of the structured output text.
11. The method of claim 1 , wherein generating the structured output text comprises:
generating the structured output text by executing the one or more helper functions.
12. A device comprising:
one or more memories; and
one or more processors, wherein the one or more processors are configured to:
identify a text from a document that matches a structure of patent claims;
extract the structure of patent claims into grammatical and legal parts;
place the grammatical and legal parts into a claim model data object;
identify an output template of a plurality of output templates associated with the claim model data object, each of the plurality of output templates including respective template logic for natural language generation of one or more patent document parts of the document,
wherein template logic, included in the output template, includes one or more helper functions that extend a template parsing functionality of a base engine of the device, and
wherein each of the plurality of output templates corresponds to different template logic;
generate output text from the claim model data object and the output template, wherein the output text corresponds to the one or more patent document parts; and
provide the output text.
13. The device of claim 12 , wherein the one or more memories and the one or more processors are further configured to:
query for the output template;
determine, using the output template, whether the claim model data object is missing any information;
selectively obtain the missing information based at least in part on a result of determining whether the claim model data object is missing any information; and
determine, using the claim model data object and the output template, a number of new claims to create,
wherein, when generating the output text, the one or more memories and the one or more processors are configured to generate the number of new claims for inclusion in the output text.
14. The device of claim 12 , wherein the one or more memories and the one or more processors are further configured to:
generate a user interface object; and
provide the claim model data object for display in the user interface object.
15. The device of claim 12 , wherein, when identifying the text, the one or more meomries and the one or more processors are configured to:
obtain the text from a user-controlled device via a secured connection; and
wherein, when extracting the structure of patent claims into grammatical and legal parts, the one or more memories and the one or more processors are further configured to:
process the text in a virtual private cloud established for a user of the user-controlled device.
16. The device of claim 15 , wherein the one or more memories and the one or more processors are further configured to:
transmit information identifying a result of generating the claim model data object to the user-controlled device via the secured connection for display.
17. A system comprising:
one or more hardware devices configured to:
identify, using a patent automation tool, a text from a document that matches a structure of patent claims;
extract, using the patent automation tool, the structure of patent claims into grammatical and legal parts;
place, using the patent automation tool, the grammatical and legal parts into a claim model data object;
identify an output template of a plurality of output templates associated with the claim model data object, each of the plurality of output templates including respective template logic for natural language generation of one or more patent document parts of the document,
wherein template logic, included in the output template, includes one or more helper functions that extend a template parsing functionality of a base engine of the device, and
wherein each of the plurality of output templates corresponds to different template logic;
generate output text from the claim model data object and the output template, wherein the output text corresponds to the one or more patent document parts; and
provide the output text.
18. The system of claim 17 , wherein the system includes a virtual private cloud established for a user and executing the patent automation tool, and
wherein the virtual private cloud is configured to establish a secure connection with a user-controlled device for back-end management of the patent automation tool and a user-controlled device for front-end usage of the patent automation tool.
19. The system of claim 17 , wherein the system is included in a user network and the user network includes a server for executing the patent automation tool, a user-controlled device for back-end management of the patent automation tool, and a user-controlled device for front-end usage of the patent automation tool.
20. The system of claim 17 , wherein the system includes a virtual private cloud established for a user and executing the patent automation tool, and
wherein the virtual private cloud is configured to establish a virtual private network connection with a user network that includes a user-controlled device for back-end management of the patent automation tool and a user-controlled device for front-end usage of the patent automation tool.