ConceptioArchiveGoogle Patents
Google Patentsopen access

Lean parsing: a natural language processing system and method for parsing … — Intuit Inc. (US12019978B2)

Intuit Inc. · Google Patents
Google Patents · Patents · License: Open Access
Open Source ↗
patent, google patents, intellectual property, US12019978B2, Intuit Inc., Saikat Mukherjee, en, 2024

ABSTRACT

Abstract

Systems and methods for lean parsing are disclosed. An example method is performed by one or more processors of a system and includes retrieving form data including first sentence segments and second sentence segments, determining a first predicate structure for each of the sentence segments based on a set of operators within the first set of sentence segments, identifying known tokens within the second set of sentence segments, each of the known tokens appearing on a list of predetermined tokens, identifying new tokens within the second set of sentence segments, each of the new tokens not on the list, mapping each known and new token to at least one operator, determining a second predicate structure for each sentence segment based on the mapping, and generating a predicate argument structure incorporating the first and second predicate structures, the predicate argument structure ready for mapping to at least one machine executable function.

Description

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation application and claims priority to U.S. patent application Ser. No. 16/751,199 entitled “LEAN PARSING: A NATURAL LANGUAGE PROCESSING SYSTEM AND METHOD FOR PARSING DOMAIN-SPECIFIC LANGUAGES” and filed on Jan. 23, 2020, which is a continuation of U.S. patent application Ser. No. 15/713,161 (now U.S. Pat. No. 10,579,721) entitled “LEAN PARSING: A NATURAL LANGUAGE PROCESSING SYSTEM AND METHOD FOR PARSING DOMAIN-SPECIFIC LANGUAGES” and filed on Sep. 22, 2017, which is a continuation-in-part of U.S. patent application Ser. No. 15/606,370 entitled “SYSTEM AND METHOD FOR AUTOMATICALLY UNDERSTANDING LINES OF COMPLIANCE FORMS THROUGH NATURAL LANGUAGE PATTERNS” and filed on May 26, 2017, which is a continuation-in-part of U.S. patent application Ser. No. 15/488,052 entitled “METHOD AND SYSTEM FOR AUTOMATICALLY EXTRACTING RELEVANT TAX TERMS FROM FORMS AND INSTRUCTIONS” and filed on Apr. 14, 2017, which is a continuation-in-part of U.S. patent application Ser. No. 15/293,553 (now U.S. Pat. No. 11,222,266) entitled “SYSTEM AND METHOD FOR AUTOMATIC LEARNING OF FUNCTIONS” and filed on Oct. 14, 2016, which is a continuation-in-part of U.S. patent application Ser. No. 15/292,510 (now U.S. Pat. No. 10,140,277) entitled “SYSTEM AND METHOD FOR SELECTING DATA SAMPLE GROUPS FOR MACHINE LEARNING OF CONTEXT OF DATA FIELDS FOR VARIOUS DOCUMENT TYPES AND/OR FOR TEST DATA GENERATION FOR QUALITY ASSURANCE SYSTEMS” and filed on Oct. 13, 2016, which claims priority to U.S. Provisional Patent Application No. 62/362,688 entitled “SYSTEM AND METHOD FOR MACHINE LEARNING OF CONTEXT OF LINE INSTRUCTIONS FOR VARIOUS DOCUMENT TYPES” and filed on Jul. 15, 2016, which are assigned to the assignee hereof. The disclosures of all prior applications are considered part of and are incorporated by reference in this patent application.

TECHNICAL FIELD

This disclosure relates generally to natural language processing, and more specifically to parsing domain-specific languages.

BACKGROUND

Many people use electronic document preparation systems to help prepare important documents electronically. For example, each year millions of people use electronic document preparation systems customized for various particular fields, such as for tax, i.e., electronic tax return preparation systems, to help prepare and file their tax returns. Typically, electronic document preparation systems receive user information from a user and then automatically populate the various fields in electronic versions of government tax forms. Electronic tax return preparation systems represent a potentially flexible, highly accessible, and affordable source of tax return preparation assistance for customers. However, processes that enable the electronic tax return preparation systems to determine underlying relations between the various fields and automatically determine and populate various data fields of the tax forms typically utilize large amounts of computing system resources and human resources.

For instance, using an electronic tax return preparation system as an example, due to changes in tax laws, or due to updates in government tax rules, tax forms can change from year to year, or even multiple times in a same year. If a physical or electronic tax form required by a governmental entity is updated, or a new tax form is introduced, it is typically very difficult to efficiently update electronic tax return preparation systems to correctly determine tax data appropriate for and populate the various fields of the new or changed tax forms with required values. Tax forms are written by humans for human review, interpretation and understanding. A particular line of an updated tax form may have text describing a requirement of an input according to one or more functions that use line item values from other lines of the updated tax form and/or line item values from other tax related forms or worksheets. These functions range from very simple to very complex, and are often hard enough to interpret by the humans the text of the various lines was written for, and are thus even much more burdensome when a computing system is introduced in the form of a tax preparation system that is configured to prepare and/or file electronic versions of the new or updated tax forms.

Updating an electronic document preparation system, such as an electronic tax return preparation system, often includes utilizing a combination of tax or other experts to interpret the tax forms consistent with the intent of the humans who prepared the text of the tax forms, software and system engineers who consult with the experts to understand and develop the human expert view of individual forms, and large amounts of computing resources, to develop, code, and incorporate the new functions and forms into the electronic document preparation system.

Interaction that is required between the experts, software and system engineers can lead to significant software release delays and incur great expense in releasing an updated version of the electronic document preparation system. These delays and expenses are then passed on to customers of the electronic document preparation system who have deadlines to file documents associated with the new or updated forms. Furthermore, because humans are inherently error prone, already-existing processes for updating electronic documents can introduce significant inaccuracies into the functions and processes of the electronic document preparation system.

These expenses, delays, and inaccuracies can have an adverse impact on the implementation and use of traditional electronic document preparation systems. Customers may lose confidence in the electronic document preparation systems. Furthermore, customers may simply decide to utilize less expensive options for preparing their taxes, as one example. Further, vast amounts of computing resources are consumed with determining inaccurate tax return data which is then provided to and processed by other entities, such as government entities, i.e., the Internal Revenue Service.

These issues and drawbacks are not limited to electronic tax return preparation systems. Any electronic document preparation system that assists users to electronically fill out forms or prepare documents suffers from these same inaccuracies and drawbacks when the physical forms relating to the electronic forms are created or updated. The inability for electronic systems to quickly and effectively update electronic document fields and their relationships to each other based on the text instructions associated with the new and updated forms is a longstanding technical problem.

SUMMARY

This Summary is provided to introduce in a simplified form a selection of concepts that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to limit the scope of the claimed subject matter. Moreover, the systems, methods, and devices of this disclosure each have several innovative aspects, no single one of which is solely responsible for the desirable attributes disclosed herein.

One innovative aspect of the subject matter described in this disclosure can be implemented as a method performed by one or more processors of a system and includes retrieving form data including at least a first set of sentence segments and a second set of sentence segments, determining a first predicate structure for each sentence segment of the first set of sentence segments based on a set of operators within the first set of sentence segments, identifying a set of known tokens within the second set of sentence segments, each of the known tokens appearing on a list of predetermined tokens, identifying a set of new tokens within the second set of sentence segments, each of the new tokens not appearing on the list of predetermined tokens, mapping each known token and each new token to at least one operator of the set of operators, determining a second predicate structure for each sentence segment of the second set of sentence segments based on the mapping, and generating a predicate argument structure incorporating each of the first and second predicate structures, the predicate argument structure ready for mapping to at least one machine executable function.

Another innovative aspect of the subject matter described in this disclosure can be implemented in a system including one or more processors and a memory storing instructions for execution by the one or more processors. Execution of the instructions causes the system to perform operations including retrieving form data including at least a first set of sentence segments and a second set of sentence segments, determining a first predicate structure for each sentence segment of the first set of sentence segments based on a set of operators within the first set of sentence segments, identifying a set of known tokens within the second set of sentence segments, each of the known tokens appearing on a list of predetermined tokens, identifying a set of new tokens within the second set of sentence segments, each of the new tokens not appearing on the list of predetermined tokens, mapping each known token and each new token to at least one operator of the set of operators, determining a second predicate structure for each sentence segment of the second set of sentence segments based on the mapping, and generating a predicate argument structure incorporating each of the first and second predicate structures, the predicate argument structure ready for mapping to at least one machine executable function.

Another innovative aspect of the subject matter described in this disclosure can be implemented as a non-transitory computer-readable medium storing instructions that, when executed by one or more processors of a system, cause the system to perform operations. Example operations include retrieving form data including at least a first set of sentence segments and a second set of sentence segments, determining a first predicate structure for each sentence segment of the first set of sentence segments based on a set of operators within the first set of sentence segments, identifying a set of known tokens within the second set of sentence segments, each of the known tokens appearing on a list of predetermined tokens, identifying a set of new tokens within the second set of sentence segments, each of the new tokens not appearing on the list of predetermined tokens, mapping each known token and each new token to at least one operator of the set of operators, determining a second predicate structure for each sentence segment of the second set of sentence segments based on the mapping, and generating a predicate argument structure incorporating each of the first and second predicate structures, the predicate argument structure ready for mapping to at least one machine executable function.

Embodiments of the present disclosure provide a technical solution to the longstanding problems discussed herein, and thus solve some of the shortcomings associated with traditional electronic document preparation systems by providing methods and systems for employing lean parsing algorithm based natural language processing to determine, generate and update machine-executable functions associated with a document preparation system, such as machine-executable functions associated with an electronic tax preparation system. Although an exemplary embodiment of this disclosure is an electronic tax return preparation system, techniques discussed herein may be applied to any electronic document preparation system.

In one embodiment, natural language programming is used to automatically analyze physical text that has been converted to electronic form in a unique and novel way to determine operators, operands, and dependencies associated with one or more lines of one or more tax forms, to use those operators, operands, and dependencies to generate one or more machine-executable functions within an electronic document preparation system and used by users of a tax preparation system, as one example, to prepare their taxes.

By employing the processes and systems discussed herein, accuracy and efficiency of generated functions is significantly improved over prior art processes and systems. Further, the software release delays discussed above as being associated with prior art systems are significantly reduced and sometimes eliminated entirely. Expenses associated with releasing an updated version of the electronic tax return preparation system are also greatly reduced, as compared with prior art systems and processes.

An electronic document preparation system in accordance with one or more embodiments provides efficient and reliable analysis of natural language text and develops machine-executable functions for incorporation into new and/or updated forms, and does so through the application of novel machine learning techniques discussed herein. The various embodiments of the disclosure can be implemented to improve the technical fields of data processing, resource management, data collection, and user experience. Therefore, the various described embodiments of the disclosure and their associated benefits amount to significantly more than an abstract idea. In particular, by utilizing machine learning to learn and incorporate new and/or updated forms in an electronic document preparation system, users can save money and time and can better manage their finances.

Using the disclosed embodiments of a method and system for transforming natural language text into machine-executable functions in an electronic document preparation system significantly greater accuracy is provided over traditional prior art systems. Therefore, the disclosed embodiments provide a technical solution to the long standing technical problem of how to efficiently develop accurate machine-executable functions through machine learning and incorporating those machine-executable functions into new and/or updated forms in an electronic document preparation system.

Herein, token and word may be used interchangeably as synonymous terms and the use of one may be replaced by the other. Further, a token may include multiple words.

In more particularity, embodiments include a computing system implemented method for transforming natural language text into machine-executable functions in an electronic document preparation system that receives electronic textual data including one or more form field values of one or more forms of the plurality of forms employed by an electronic document preparation system. The method includes, in one embodiment, analyzing the electronic textual data to determine sentence data representing separate sentences of the electronic textual data, and separating the electronic textual data into the determined separate sentences, for example, into a sentence data array, a linked list, or other form of memory structure.

The method proceeds with separating the electronic textual data into one or more memory structures formed of the sentence data of the determined plurality of separate sentences. Further, in one embodiment, for each given sentence of sentence data representing sentences in the memory structure segment data of one or more segments of the sentence data are isolated while optionally retaining data regarding one or more of the origination of the segment data within the sentence and the origination of the segment data within the within the electronic textual data. Thus, context of the segment position within sentences and paragraphs of the original text is retained so that semantics may be analyzed, if desired, in one embodiment.

In one embodiment, for each segment of the segment data a number of operations are performed. First, segment data of each segment is classified as being of a segment type of a plurality of possible predetermined segment types, and then discarding or otherwise ignoring segment data classified as being of one or more particular predetermined low importance segment types in future processing operations.

For each of the remaining segments, the method includes parsing the segment data according to one or more predetermined lexicons and determining whether the segment contains one or more operators or amounts, where an operator is a natural language token representing an operation and an amount is a constant or other numerical value.

In one embodiment, upon determining that segment data representing a segment contains operator data representing one or more operators or amount data representing one of more amounts, all operators in the segment data representing the segment are identified. In one embodiment, the method proceeds with ident

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation application and claims priority to U.S. patent application Ser. No. 16/751,199 entitled “LEAN PARSING: A NATURAL LANGUAGE PROCESSING SYSTEM AND METHOD FOR PARSING DOMAIN-SPECIFIC LANGUAGES” and filed on Jan. 23, 2020, which is a continuation of U.S. patent application Ser. No. 15/713,161 (now U.S. Pat. No. 10,579,721) entitled “LEAN PARSING: A NATURAL LANGUAGE PROCESSING SYSTEM AND METHOD FOR PARSING DOMAIN-SPECIFIC LANGUAGES” and filed on Sep. 22, 2017, which is a continuation-in-part of U.S. patent application Ser. No. 15/606,370 entitled “SYSTEM AND METHOD FOR AUTOMATICALLY UNDERSTANDING LINES OF COMPLIANCE FORMS THROUGH NATURAL LANGUAGE PATTERNS” and filed on May 26, 2017, which is a continuation-in-part of U.S. patent application Ser. No. 15/488,052 entitled “METHOD AND SYSTEM FOR AUTOMATICALLY EXTRACTING RELEVANT TAX TERMS FROM FORMS AND INSTRUCTIONS” and filed on Apr. 14, 2017, which is a continuation-in-part of U.S. patent application Ser. No. 15/293,553 (now U.S. Pat. No. 11,222,266) entitled “SYSTEM AND METHOD FOR AUTOMATIC LEARNING OF FUNCTIONS” and filed on Oct. 14, 2016, which is a continuation-in-part of U.S. patent application Ser. No. 15/292,510 (now U.S. Pat. No. 10,140,277) entitled “SYSTEM AND METHOD FOR SELECTING DATA SAMPLE GROUPS FOR MACHINE LEARNING OF CONTEXT OF DATA FIELDS FOR VARIOUS DOCUMENT TYPES AND/OR FOR TEST DATA GENERATION FOR QUALITY ASSURANCE SYSTEMS” and filed on Oct. 13, 2016, which claims priority to U.S. Provisional Patent Application No. 62/362,688 entitled “SYSTEM AND METHOD FOR MACHINE LEARNING OF CONTEXT OF LINE INSTRUCTIONS FOR VARIOUS DOCUMENT TYPES” and filed on Jul. 15, 2016, which are assigned to the assignee hereof. The disclosures of all prior applications are considered part of and are incorporated by reference in this patent application.

TECHNICAL FIELD

This disclosure relates generally to natural language processing, and more specifically to parsing domain-specific languages.

BACKGROUND

Many people use electronic document preparation systems to help prepare important documents electronically. For example, each year millions of people use electronic document preparation systems customized for various particular fields, such as for tax, i.e., electronic tax return preparation systems, to help prepare and file their tax returns. Typically, electronic document preparation systems receive user information from a user and then automatically populate the various fields in electronic versions of government tax forms. Electronic tax return preparation systems represent a potentially flexible, highly accessible, and affordable source of tax return preparation assistance for customers. However, processes that enable the electronic tax return preparation systems to determine underlying relations between the various fields and automatically determine and populate various data fields of the tax forms typically utilize large amounts of computing system resources and human resources.

For instance, using an electronic tax return preparation system as an example, due to changes in tax laws, or due to updates in government tax rules, tax forms can change from year to year, or even multiple times in a same year. If a physical or electronic tax form required by a governmental entity is updated, or a new tax form is introduced, it is typically very difficult to efficiently update electronic tax return preparation systems to correctly determine tax data appropriate for and populate the various fields of the new or changed tax forms with required values. Tax forms are written by humans for human review, interpretation and understanding. A particular line of an updated tax form may have text describing a requirement of an input according to one or more functions that use line item values from other lines of the updated tax form and/or line item values from other tax related forms or worksheets. These functions range from very simple to very complex, and are often hard enough to interpret by the humans the text of the various lines was written for, and are thus even much more burdensome when a computing system is introduced in the form of a tax preparation system that is configured to prepare and/or file electronic versions of the new or updated tax forms.

Updating an electronic document preparation system, such as an electronic tax return preparation system, often includes utilizing a combination of tax or other experts to interpret the tax forms consistent with the intent of the humans who prepared the text of the tax forms, software and system engineers who consult with the experts to understand and develop the human expert view of individual forms, and large amounts of computing resources, to develop, code, and incorporate the new functions and forms into the electronic document preparation system.

Interaction that is required between the experts, software and system engineers can lead to significant software release delays and incur great expense in releasing an updated version of the electronic document preparation system. These delays and expenses are then passed on to customers of the electronic document preparation system who have deadlines to file documents associated with the new or updated forms. Furthermore, because humans are inherently error prone, already-existing processes for updating electronic documents can introduce significant inaccuracies into the functions and processes of the electronic document preparation system.

These expenses, delays, and inaccuracies can have an adverse impact on the implementation and use of traditional electronic document preparation systems. Customers may lose confidence in the electronic document preparation systems. Furthermore, customers may simply decide to utilize less expensive options for preparing their taxes, as one example. Further, vast amounts of computing resources are consumed with determining inaccurate tax return data which is then provided to and processed by other entities, such as government entities, i.e., the Internal Revenue Service.

These issues and drawbacks are not limited to electronic tax return preparation systems. Any electronic document preparation system that assists users to electronically fill out forms or prepare documents suffers from these same inaccuracies and drawbacks when the physical forms relating to the electronic forms are created or updated. The inability for electronic systems to quickly and effectively update electronic document fields and their relationships to each other based on the text instructions associated with the new and updated forms is a longstanding technical problem.

SUMMARY

This Summary is provided to introduce in a simplified form a selection of concepts that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to limit the scope of the claimed subject matter. Moreover, the systems, methods, and devices of this disclosure each have several innovative aspects, no single one of which is solely responsible for the desirable attributes disclosed herein.

One innovative aspect of the subject matter described in this disclosure can be implemented as a method performed by one or more processors of a system and includes retrieving form data including at least a first set of sentence segments and a second set of sentence segments, determining a first predicate structure for each sentence segment of the first set of sentence segments based on a set of operators within the first set of sentence segments, identifying a set of known tokens within the second set of sentence segments, each of the known tokens appearing on a list of predetermined tokens, identifying a set of new tokens within the second set of sentence segments, each of the new tokens not appearing on the list of predetermined tokens, mapping each known token and each new token to at least one operator of the set of operators, determining a second predicate structure for each sentence segment of the second set of sentence segments based on the mapping, and generating a predicate argument structure incorporating each of the first and second predicate structures, the predicate argument structure ready for mapping to at least one machine executable function.

Another innovative aspect of the subject matter described in this disclosure can be implemented in a system including one or more processors and a memory storing instructions for execution by the one or more processors. Execution of the instructions causes the system to perform operations including retrieving form data including at least a first set of sentence segments and a second set of sentence segments, determining a first predicate structure for each sentence segment of the first set of sentence segments based on a set of operators within the first set of sentence segments, identifying a set of known tokens within the second set of sentence segments, each of the known tokens appearing on a list of predetermined tokens, identifying a set of new tokens within the second set of sentence segments, each of the new tokens not appearing on the list of predetermined tokens, mapping each known token and each new token to at least one operator of the set of operators, determining a second predicate structure for each sentence segment of the second set of sentence segments based on the mapping, and generating a predicate argument structure incorporating each of the first and second predicate structures, the predicate argument structure ready for mapping to at least one machine executable function.

Another innovative aspect of the subject matter described in this disclosure can be implemented as a non-transitory computer-readable medium storing instructions that, when executed by one or more processors of a system, cause the system to perform operations. Example operations include retrieving form data including at least a first set of sentence segments and a second set of sentence segments, determining a first predicate structure for each sentence segment of the first set of sentence segments based on a set of operators within the first set of sentence segments, identifying a set of known tokens within the second set of sentence segments, each of the known tokens appearing on a list of predetermined tokens, identifying a set of new tokens within the second set of sentence segments, each of the new tokens not appearing on the list of predetermined tokens, mapping each known token and each new token to at least one operator of the set of operators, determining a second predicate structure for each sentence segment of the second set of sentence segments based on the mapping, and generating a predicate argument structure incorporating each of the first and second predicate structures, the predicate argument structure ready for mapping to at least one machine executable function.

Embodiments of the present disclosure provide a technical solution to the longstanding problems discussed herein, and thus solve some of the shortcomings associated with traditional electronic document preparation systems by providing methods and systems for employing lean parsing algorithm based natural language processing to determine, generate and update machine-executable functions associated with a document preparation system, such as machine-executable functions associated with an electronic tax preparation system. Although an exemplary embodiment of this disclosure is an electronic tax return preparation system, techniques discussed herein may be applied to any electronic document preparation system.

In one embodiment, natural language programming is used to automatically analyze physical text that has been converted to electronic form in a unique and novel way to determine operators, operands, and dependencies associated with one or more lines of one or more tax forms, to use those operators, operands, and dependencies to generate one or more machine-executable functions within an electronic document preparation system and used by users of a tax preparation system, as one example, to prepare their taxes.

By employing the processes and systems discussed herein, accuracy and efficiency of generated functions is significantly improved over prior art processes and systems. Further, the software release delays discussed above as being associated with prior art systems are significantly reduced and sometimes eliminated entirely. Expenses associated with releasing an updated version of the electronic tax return preparation system are also greatly reduced, as compared with prior art systems and processes.

An electronic document preparation system in accordance with one or more embodiments provides efficient and reliable analysis of natural language text and develops machine-executable functions for incorporation into new and/or updated forms, and does so through the application of novel machine learning techniques discussed herein. The various embodiments of the disclosure can be implemented to improve the technical fields of data processing, resource management, data collection, and user experience. Therefore, the various described embodiments of the disclosure and their associated benefits amount to significantly more than an abstract idea. In particular, by utilizing machine learning to learn and incorporate new and/or updated forms in an electronic document preparation system, users can save money and time and can better manage their finances.

Using the disclosed embodiments of a method and system for transforming natural language text into machine-executable functions in an electronic document preparation system significantly greater accuracy is provided over traditional prior art systems. Therefore, the disclosed embodiments provide a technical solution to the long standing technical problem of how to efficiently develop accurate machine-executable functions through machine learning and incorporating those machine-executable functions into new and/or updated forms in an electronic document preparation system.

Herein, token and word may be used interchangeably as synonymous terms and the use of one may be replaced by the other. Further, a token may include multiple words.

In more particularity, embodiments include a computing system implemented method for transforming natural language text into machine-executable functions in an electronic document preparation system that receives electronic textual data including one or more form field values of one or more forms of the plurality of forms employed by an electronic document preparation system. The method includes, in one embodiment, analyzing the electronic textual data to determine sentence data representing separate sentences of the electronic textual data, and separating the electronic textual data into the determined separate sentences, for example, into a sentence data array, a linked list, or other form of memory structure.

The method proceeds with separating the electronic textual data into one or more memory structures formed of the sentence data of the determined plurality of separate sentences. Further, in one embodiment, for each given sentence of sentence data representing sentences in the memory structure segment data of one or more segments of the sentence data are isolated while optionally retaining data regarding one or more of the origination of the segment data within the sentence and the origination of the segment data within the within the electronic textual data. Thus, context of the segment position within sentences and paragraphs of the original text is retained so that semantics may be analyzed, if desired, in one embodiment.

In one embodiment, for each segment of the segment data a number of operations are performed. First, segment data of each segment is classified as being of a segment type of a plurality of possible predetermined segment types, and then discarding or otherwise ignoring segment data classified as being of one or more particular predetermined low importance segment types in future processing operations.

For each of the remaining segments, the method includes parsing the segment data according to one or more predetermined lexicons and determining whether the segment contains one or more operators or amounts, where an operator is a natural language token representing an operation and an amount is a constant or other numerical value.

In one embodiment, upon determining that segment data representing a segment contains operator data representing one or more operators or amount data representing one of more amounts, all operators in the segment data representing the segment are identified. In one embodiment, the method proceeds with identifying dependency data representing one or more dependencies of the segment data associated with each identified operator.

In one embodiment, any tokens not identified as either an operator or a dependency are discarded or otherwise ignored with respect to further processing of the segment.

In one embodiment, one or more operator-specific rules are applied to each identified operator of the segment data to determine a first predicate structure equivalent to the original natural language text of the segment.

In one embodiment, returning above to where a determination was made as to whether the segment being analyzed contained operator data, amount data or neither, upon determining that the segment data representing the segment does not contain operator data representing one or more operators or amount data representing one or more amounts, a series of one or more process operations are performed on the segment.

First, in one embodiment, a determination is made of each single or multiword token in the segment data that is a predetermined token of the domain. In one embodiment, the domain is the preparation and filing of tax returns.

Next, in one embodiment, a determination is made of any remaining tokens of the segment that are not predetermined tokens of the domain and mapping those determined tokens and the remaining tokens to one or more predetermined rules, resulting in a first predicate structure for the segment data of the segment being analyzed.

In one embodiment, following the mapping of the determined tokens and the remaining tokens to one or more predetermined rules, at least one or more of the first predicate structures are mapped to one or more predetermined machine-executable functions. In one embodiment, identifying a machine-executable function that is equivalent to the natural language text includes mapping dependencies identified above to arguments of the machine-executable function.

In one embodiment, the method proceeds with, in one embodiment, implementing at least one of the machine-executable functions in an electronic document preparation system.

Embodiments of the present disclosure address some of the shortcomings associated with traditional electronic document preparation systems that do not adequately and efficiently automatically learn and incorporate new functions associated with new forms or with changes associated with updated forms.

An electronic document preparation system in accordance with one or more embodiments provides efficient and reliable analysis of natural language text and develops machine-executable functions for incorporation into new and/or updated forms, and does so through the application of novel machine learning techniques discussed herein. The various embodiments of the disclosure can be implemented to improve the technical fields of data processing, resource management, data collection, and user experience. Therefore, the various described embodiments of the disclosure and their associated benefits amount to significantly more than an abstract idea. In particular, by utilizing machine learning to learn and incorporate new and/or updated forms in an electronic document preparation system, users can save money and time and can better manage their finances.

Using the disclosed embodiments of a method and system for transforming natural language text into machine-executable functions in an electronic document preparation system significantly greater accuracy is provided over traditional prior art systems. Therefore, the disclosed embodiments provide a technical solution to the long standing technical problem of how to efficiently develop accurate machine-executable functions through machine learning and incorporating those machine-executable functions into new and/or updated forms in an electronic document preparation system.

In addition, the disclosed embodiments of a method and system for transforming natural language text into machine-executable functions in an electronic document preparation system are also capable of dynamically adapting to constantly changing fields such as tax return preparation and other kinds of document preparation. Consequently, the disclosed embodiments of a method and system for transforming natural language text into machine-executable functions in an electronic document preparation system also provide a technical solution to the long standing technical problem of static and inflexible electronic document preparation systems.

The result is a much more accurate, adaptable, and robust method and system for transforming natural language text into machine-executable functions in an electronic document preparation system, but thereby serves to bolster confidence in electronic document preparation systems. This, in turn, results in: less human and computing processor resources being dedicated to analyzing new and/or updated forms because more accurate and efficient analysis methods are provided herein, i.e., fewer processing and memory storage assets; less memory and storage bandwidth being dedicated to buffering and storing data; less communication bandwidth being utilized to transmit data for analysis.

The disclosed method and system for transforming natural language text into machine-executable functions in an electronic document preparation system does not encompass, embody, or preclude other forms of innovation in the area of electronic document preparation systems. In addition, the disclosed method and system for transforming natural language text into machine-executable functions in an electronic document preparation system is not related to any fundamental economic practice, fundamental data processing practice, mental steps, or pen and paper based solutions, and is, in fact, directed to providing solutions to new and existing problems associated with electronic document preparation systems. Consequently, the disclosed method and system for transforming natural language text into machine-executable functions in an electronic document preparation system, does not encompass, and is not merely, an abstract idea or concept.

Details of one or more implementations of the subject matter described in this disclosure are set forth in the accompanying drawings and the description below. Other features, aspects, and advantages will become apparent from the description, the drawings, and the claims. Note that the relative dimensions of the following figures may not be drawn to scale.

BRIEF DESCRIPTION OF THE DRAWINGS

The example implementations are illustrated by way of example and are not intended to be limited by the figures of the accompanying drawings. Like numbers reference like elements throughout the drawings and specification. Note that the relative dimensions of the following figures may not be drawn to scale.

FIG. 1 is a block diagram of software architecture for transforming natural language text into machine-executable functions in an electronic document preparation system, according to some implementations.

FIGS. 2 A and 2 B are a block diagram of a process for transforming natural language text into machine-executable functions in an electronic document preparation system, according to some implementations.

FIG. 3 is a flow diagram of a process for transforming natural language text into machine-executable functions in an electronic document preparation system, according to some implementations.

Like numbers reference like elements throughout the drawings and specification.

DETAILED DESCRIPTION

Embodiments will now be discussed with reference to the accompanying figures, which depict one or more exemplary embodiments. Embodiments may be implemented in many different forms and should not be construed as limited to the embodiments set forth herein, shown in the figures, and/or described below. Rather, these exemplary embodiments are provided to allow a complete disclosure that conveys the principles of the invention, as set forth in the claims, to those of skill in the art.

Herein, the term “production environment” includes the various components, or assets, used to deploy, implement, access, and use, a given application as that application is intended to be used. For example, a production environment is, in one embodiment, used to implement the process operations disclosed herein, whether in a stand-alone application, or alternatively as a subcomponent of a larger application or system of applications. In various embodiments, production environments include multiple assets that are combined, communicatively coupled, virtually and/or physically connected, and/or associated with one another, to provide the production environment implementing the application.

As specific illustrative examples, computing and other assets making up a given production environment can include, but are not limited to, one or more computing environments used to implement the application in the production environment such as a data center, a cloud computing environment, a dedicated hosting environment, and/or one or more other computing environments in which one or more assets used by the application in the production environment are implemented; one or more computing systems or computing entities used to implement the application in the production environment; one or more virtual assets used to implement the application in the production environment; one or more supervisory or control systems, such as hypervisors, or other monitoring and management systems, used to monitor and control assets and/or components of the production environment; one or more communications channels for sending and receiving data used to implement the application in the production environment; one or more access control systems for limiting access to various components of the production environment, such as firewalls and gateways; one or more traffic and/or routing systems used to direct, control, and/or buffer, data traffic to components of the production environment, such as routers and switches; one or more communications endpoint proxy systems used to buffer, process, and/or direct data traffic, such as load balancers or buffers; one or more secure communication protocols and/or endpoints used to encrypt/decrypt data, such as Secure Sockets Layer (SSL) protocols, used to implement the application in the production environment; one or more databases used to store data in the production environment; one or more internal or external services used to implement the application in the production environment; one or more backend systems, such as backend servers or other hardware used to process data and implement the application in the production environment; one or more software systems used to implement the application in the production environment; and/or any other assets/components making up an actual production environment in which an application is deployed, implemented, accessed, and run, e.g., operated, as discussed herein, and/or as known in the art at the time of filing, and/or as developed after the time of filing.

As used herein, the terms “computing system”, “computing device”, and “computing entity”, include, but are not limited to, a virtual asset; a server computing system; a workstation; a desktop computing system; a mobile computing system, including, but not limited to, smart phones, portable devices, and/or devices worn or carried by a user; a database system or storage cluster; a switching system; a router; any hardware system; any communications system; any form of proxy system; a gateway system; a firewall system; a load balancing system; or any device, subsystem, or mechanism that includes components that can execute all, or part, of any one of the processes and/or operations as described herein.

In addition, as used herein, the terms computing system and computing entity, can denote, but are not limited to, systems made up of multiple: virtual assets; server computing systems; workstations; desktop computing systems; mobile computing systems; database systems or storage clusters; switching systems; routers; hardware systems; communications systems; proxy systems; gateway systems; firewall systems; load balancing systems; or any devices that can be used to perform the processes and/or operations as described herein.

As used herein, the term “computing environment” includes, but is not limited to, a logical or physical grouping of connected or networked computing systems and/or virtual assets using the same infrastructure and systems such as, but not limited to, hardware systems, software systems, and networking/communications systems. Typically, computing environments are either known environments, e.g., “trusted” environments, or unknown, e.g., “untrusted” environments. Typically, trusted computing environments are those where the assets, infrastructure, communication and networking systems, and security systems associated with the computing systems and/or virtual assets making up the trusted computing environment, are either under the control of, or known to, a party.

In various embodiments, each computing environment includes allocated assets and virtual assets associated with, and controlled or used to create, and/or deploy, and/or operate an application.

In various embodiments, one or more cloud computing environments are used to create, and/or deploy, and/or operate an application that can be any form of cloud computing environment, such as, but not limited to, a public cloud; a private cloud; a virtual private network (VPN); a subnet; a Virtual Private Cloud (VPC); a sub-net or any security/communications grouping; or any other cloud-based infrastructure, sub-structure, or architecture, as discussed herein, and/or as known in the art at the time of filing, and/or as developed after the time of filing.

In many cases, a given application or service may utilize, and interface with, multiple cloud computing environments, such as multiple VPCs, in the course of being created, and/or deployed, and/or operated.

As used herein, the term “virtual asset” includes any virtualized entity or resource, and/or virtualized part of an actual, or “bare metal” entity. In various embodiments, the virtual assets can be, but are not limited to, virtual machines, virtual servers, and instances implemented in a cloud computing environment; databases associated with a cloud computing environment, and/or implemented in a cloud computing environment; services associated with, and/or delivered through, a cloud computing environment; communications systems used with, part of, or provided through, a cloud computing environment; and/or any other virtualized assets and/or sub-systems of “bare metal” physical devices such as mobile devices, remote sensors, laptops, desktops, point-of-sale devices, etc., located within a data center, within a cloud computing environment, and/or any other physical or logical location, as discussed herein, and/or as known/available in the art at the time of filing, and/or as developed/made available after the time of filing.

In various embodiments, any, or all, of the assets making up a given production environment discussed herein, and/or as known in the art at the time of filing, and/or as developed after the time of filing, are implemented as one or more virtual assets.

In one embodiment, two or more assets, such as computing systems and/or virtual assets, and/or two or more computing environments, are coupled to or otherwise connected by one or more communications channels including but not limited to, Secure Sockets Layer communications channels and various other secure communications channels, and/or distributed computing system networks, such as, but not limited to: a public cloud; a private cloud; a virtual private network (VPN); a subnet; any general network, communications network, or general network/communications network system; a combination of different network types; a public network; a private network; a satellite network; a cable network; or any other network capable of allowing communication between two or more assets, computing systems, and/or virtual assets, as discussed herein, and/or available or known at the time of filing, and/or as developed after the time of filing.

As used herein, the term “network” includes, but is not limited to, any network or network system such as, but not limited to, a peer-to-peer network, a hybrid peer-to-peer network, a Local Area Network (LAN), a Wide Area Network (WAN), a public network, such as the Internet, a private network, a cellular network, any general network, communications network, or general network/communications network system; a wireless network; a wired network; a wireless and wired combination network; a satellite network; a cable network; any combination of different network types; or any other system capable of allowing communication between two or more assets, virtual assets, and/or computing systems, whether available or known at the time of filing or as later developed.

As used herein, the term “user” includes, but is not limited to, any party, parties, entity, and/or entities using, or otherwise interacting with any of the methods or systems discussed herein. For instance, in various embodiments, a user can be, but is not limited to, a person, a commercial entity, an application, a service, and/or a computing system. In one or more embodiments, there may be different parties noted that perform different levels of tasks, such as a user filling in a form supplied through an electronic document system managed, operated or otherwise controlled by a third party, such as a business entity.

As used herein, the term “relationship(s)” includes, but is not limited to, a logical, mathematical, statistical, or other association between one set or group of information, data, and/or users and another set or group of information, data, and/or users, according to one embodiment. The logical, mathematical, statistical, or other association (i.e., relationship) between the sets or groups can have various ratios or correlation, such as, but not limited to, one-to-one, multiple-to-one, one-to-multiple, multiple-to-multiple, and the like, according to one embodiment. As a non-limiting example, if the disclosed electronic document preparation system determines a relationship between a first group of data and a second group of data, then a characteristic or subset of a first group of data can be related to, associated with, and/or correspond to one or more characteristics or subsets of the second group of data, or vice-versa, according to one embodiment. Therefore, relationships may represent one or more subsets of the second group of data that are associated with one or more subsets of the first group of data, according to one embodiment. In one embodiment, the relationship between two sets or groups of data includes, but is not limited to similarities, differences, and correlations between the sets or groups of data.

Hardware Architecture

FIG. 1 illustrates a block diagram of a production environment 100 for transforming natural language text into machine-executable functions in an electronic document preparation system, according to one embodiment.

In particular, embodiments of the present disclosure receive natural language textual form data related to a new and/or updated form having data fields which generally are to be completed by a user according to natural language textual instructions set forth in the new and/or updated form. These embodiments utilize machine learning to parse and otherwise analyze natural language in a unique way and thereby correctly determine and learn one or more machine-executable functions equivalent to or otherwise represented by the instructions for each data field. One or more of those learned machine-executable functions are then incorporated into the electronic document preparation system.

In one embodiment, training set data is used to test determined functions prior to incorporating a given function into the electronic document preparation system.

Embodiments discussed herein gather training set data including previously filled forms related to the new and/or updated form, and/or including fabricated data as discussed herein. One or more embodiments of the present disclosure determine or otherwise generate, for one or more data fields needing a new learned function, dependency data that indicates one or more dependencies likely to be included in an acceptable machine-executable function for the data field.

Embodiments of the present disclosure utilize machine learning systems and processes use different techniques to generate candidate machine-executable functions for data fields to be learned. Candidate machine-executable functions are machine-executable functions which are believed to be correct, and which can either be incorporated into an electronic document management directly after the machine-executable function is determined, or alternatively, in various embodiments, after testing the candidate machine-executable functions using training set data, as discussed herein.

The candidate machine-executable functions are based, in one embodiment, on the one or more dependencies and can include one or more operators selected from a set of operators. In one embodiment, the set of operators may be developed through natural language process operations discussed herein. The operators can operate on one or more of the possible dependencies and training set data. Embodiments of the present disclosure generate test data, i.e., output data, for each candidate machine-executable function by applying the candidate machine-executable function to one or more dependencies, for example, of the training set data.

Embodiments of the present disclosure compare the test set data resulting from performing a machine-executable functions using a portion of the training set data, for example, dependencies associated with the machine-executable functions to the data values in the corresponding fields of the previously filled forms of the training set data or of the fabricated data.

In one embodiment, machine-executable functions determined to produce output corresponding with the training set data are incorporated into the electronic document preparation system.

Additionally, or alternatively, embodiments of the present disclosure can determine when one or more acceptable candidate machine-executable functions have been found and/or when the new and/or updated form has been entirely learned and can incorporate the new and/or updated form into a user document preparation engine so that users or customers of the electronic document preparation system can utilize the electronic document preparation system to electronically prepare documents involving the learned functions. By utilizing machine learning to learn and incorporate new and/or updated forms, efficiency of the electronic document preparation system is increased.

In addition, the disclosed method and system for transforming natural language text into machine-executable functions in an electronic document preparation system provides for significant improvements to the technical fields of electronic financial document preparation, data processing, data management, and user experience.

In addition, as discussed above, the disclosed method and system for transforming natural language text into machine-executable functions in an electronic document preparation system provide for the processing and storing of smaller amounts of data, i.e., more efficiently acquire and analyze forms and data, thereby eliminating unnecessary data analysis and storage. Consequently, using the disclosed method and system for transforming natural language text into machine-executable functions in an electronic document preparation system results in more efficient use of human and non-human resources, fewer processor cycles being utilized, reduced memory utilization, and less communications bandwidth being utilized to relay data to, and from, backend systems and client systems, and various investigative systems and parties. As a result, computing systems are transformed into faster, more efficient, and more effective computing systems by implementing the method and system for transforming natural language text into machine-executable functions in an electronic document preparation system.

In one embodiment, production environment 100 includes service provider computing environment 110 , user computing environment 140 , third party computing environment 150 , and public information computing environments 160 , for transforming natural language text into machine-executable functions in an electronic document preparation system, according to one embodiment. Computing environments

110 , 140 , 150 , and 160 are communicatively coupled to each other with one or more communication channels 101 , according to one embodiment.

Service provider computing environment 110 represents one or more computing systems such as a server or distribution center that is configured to receive, execute, and host one or more electronic document preparation systems (e.g., applications) for access by one or more users, for transforming natural language text into machine-executable functions in an electronic document preparation system, according to one embodiment. Service provider computing environment 110 represents a traditional data center computing environment, a virtual asset computing environment (e.g., a cloud computing environment), or a hybrid between a traditional data center computing environment and a virtual asset computing environment, according to one embodiment.

Service provider computing environment 110 includes electronic document preparation system 111 configured to provide electronic document preparation services to a user.

According to various embodiments, electronic document preparation system 111 is a system that assists in preparing financial documents related to one or more of tax return preparation, invoicing, payroll management, billing, banking, investments, loans, credit cards, real estate investments, retirement planning, bill pay, and budgeting. Electronic document preparation system 111 can be a tax return preparation system or other type of electronic document preparation system. Electronic document preparation system 111 can be a stand-alone system that provides financial document preparation services to users. Alternatively, electronic document preparation system 111 can be integrated into other software or service products provided by a service provider.

In one embodiment, electronic document preparation system 111 assists users in preparing documents related to one or more forms that include data fields which are intended to be completed by a user. The data fields may require data entries in accordance with specified instructions, and those data fields, which typically appear first as physical sheets of paper with natural language instructions, can be represented by machine-executable functions to be executed by a computing processor in the context of an electronic document preparation system. Once the electronic document preparation system has learned machine-executable functions that produce the required data entries for the data fields, the electronic document preparation system can assist individual users in electronically completing the form.

In many situations, such as in tax return preparation situations, state and federal governments or other financial institutions issue new or updated versions of standardized forms each year or even several times within a single year. Each time a new and/or updated form is released, electronic document preparation system 111 needs to learn specific machine-executable functions that provide the required data entries for one or more data fields in the new and/or updated form, such as a data field of a new or updated line associated with an updated form such as a new or updated tax form.

If these data fields are not correctly completed, there can be serious financial consequences for users. Furthermore, if electronic document preparation system 111 does not quickly learn and incorporate new and/or updated forms into electronic document preparation system 111 , users of the electronic document preparation system 111 may turn to other forms of financial document preparation services. In traditional electronic document preparation systems, new and/or updated forms are learned and incorporated by financial professionals and/or experts manually reviewing the new and/or updated forms and manually revising software instructions to incorporate the new and/or updated forms. This can be a slow, expensive, and unreliable process, and often results in the electronic document preparation being very upsetting for users. Further, manually revising software instructions typically takes many man hours over many days or weeks, depending on the extent of the changes. Electronic document preparation system 111 of the present disclosure advantageously utilizes machine learning in addition to training set data in order to quickly and efficiently learn machine-executable functions related to data fields of a form and incorporate those machine-executable functions into electronic document preparation system 111 .

According to one embodiment, electronic document preparation system 111 receives form data related to a new form or related to an updated version of a previously known form. Electronic document preparation system 111 analyzes the form data and identifies data fields of the form. Electronic document preparation system 111 acquires training set data that is related to an older or previously known version of the new or updated version of the form. The training set data can include historical data of or related to previously prepared documents including copies of the form, or a related form, with one or more completed data fields. The previously prepared documents can include previously prepared documents that have already been filed with and approved by government or other institutions, or that were otherwise validated or approved.

Additionally, or alternatively, the training set data can include fabricated data that includes previously prepared documents using fictitious data or real data that has been scrubbed of personal identifiers or otherwise altered. Electronic document preparation system 111 utilizes machine learning in combination with the training set data to learn machine-executable functions that determine data entries for the data fields of the new and/or updated form.

In one embodiment, electronic document preparation system 111 identifies one or more dependencies for each data field to be learned. These dependencies can include one or more data values from other data fields of the new and/or updated form, one or more data values from another related form or worksheet, one or more constants, or many other kinds of dependencies that can be included in an acceptable machine-executable function for a particular data field.

Electronic document preparation system 111 can identify the one or more possible dependencies based on natural language parsing of descriptive text included in the new and/or updated form and/or additional instructions and associated descriptive text provided with the new or updated form. Electronic document preparation system 111 can identify one or more possible dependencies by analyzing software from previous electronic document preparation systems that processed forms related to the new and/or updated form. Electronic document preparation system 111 can identify possible dependencies by receiving data from an expert, from a third party, or from another source.

In one embodiment, electronic document preparation system 111 generates, for each data field to be learned, one or more candidate machine-executable functions based on the one or more dependencies and including one or more operators from a set of operators. Operators may be any Boolean, logical and/or mathematical operation, or any combination thereof. In various embodiments, operators include one or more of arithmetic operators such as addition, subtraction, multiplication, or division

CLAIMS

Claims ( 18 )

What is claimed is:

1. A method performed by one or more processors of a system, the method comprising:

retrieving form data including at least a first set of sentence segments and a second set of sentence segments;

determining a first predicate structure for each sentence segment of the first set of sentence segments based on a set of operators within the first set of sentence segments;

identifying a set of known tokens within the second set of sentence segments, each of the known tokens appearing on a list of predetermined tokens;

identifying a set of new tokens within the second set of sentence segments, each of the new tokens not appearing on the list of predetermined tokens;

mapping each known token and each new token to at least one operator of the set of operators;

determining a second predicate structure for each sentence segment of the second set of sentence segments based on the mapping;

generating a predicate argument structure incorporating each of the first and second predicate structures;

determining, using a lean parsing algorithm in conjunction with thousands of candidate machine-executable functions in rapid successive iteration, an acceptable machine executable function ready for mapping to the predicate argument structure; and

executing, by the one or more processors, the acceptable machine executable function in accordance with the form data and the predicate argument structure.

2. The method of claim 1 , further comprising:

identifying ones of the known and new tokens that at least one of are a part of a different token, are of a predetermined type, are included on an exclusion list, failed a token test, does not have a particular speech characteristic, is a noun, or is a verb; and

removing the identified ones of the known and new tokens from their corresponding sets.

3. The method of claim 1 , wherein the predetermined type includes at least one of a description type, an amount type, an instruction type, a condition type, a date type, or a person status type.

4. The method of claim 1 , wherein the set of operators includes at least one of add, subtract, multiply, divide, less than, greater than, and, or, equal to, or not equal to.

5. The method of claim 1 , further comprising:

determining, for each of the known and new tokens, a frequency at which they appear in a text corpus;

identifying ones of the known and new tokens associated with a frequency greater than a threshold frequency; and

associating a particular speech characteristic with the identified ones of the known and new tokens.

6. The method of claim 1 , further comprising:

identifying a set of similar tokens among the known and new tokens, each token in the set of similar tokens having a similar meaning; and

replacing each token in the set of similar tokens with a same synonym having the similar meaning.

7. The method of claim 1 , further comprising:

identifying a plurality of sentences in the form data; and

isolating the first and second sets of sentence segments from the form data.

8. The method of claim 1 , wherein each sentence segment of the first set of sentence segments is associated with a natural language token and each sentence segment of the second set of sentence segments is not associated with a natural language token.

9. The method of claim 1 , further comprising:

generating dependency data associated with the set of operators, wherein determining the first predicate structure is based at least in part on the dependency data, and wherein the mapping is based at least in part on the dependency data.

10. A system, comprising:

one or more processors; and

at least one memory coupled to the one or more processors and storing instructions that, when executed by the one or more processors, cause the system to perform operations including:

retrieving form data including at least a first set of sentence segments and a second set of sentence segments;

determining a first predicate structure for each sentence segment of the first set of sentence segments based on a set of operators within the first set of sentence segments;

identifying a set of known tokens within the second set of sentence segments, each of the known tokens appearing on a list of predetermined tokens;

identifying a set of new tokens within the second set of sentence segments, each of the new tokens not appearing on the list of predetermined tokens;

mapping each known token and each new token to at least one operator of the set of operators;

determining a second predicate structure for each sentence segment of the second set of sentence segments based on the mapping;

generating a predicate argument structure incorporating each of the first and second predicate structures;

determining, using a lean parsing algorithm in conjunction with thousands of candidate machine-executable functions in rapid successive iteration, an acceptable machine executable function ready for mapping to the predicate argument structure; and

executing, by the one or more processors, the acceptable machine executable function in accordance with the form data and the predicate argument structure.

11. The system of claim 10 , further comprising:

identifying ones of the known and new tokens that at least one of are a part of a different token, are of a predetermined type, are included on an exclusion list, failed a token test, does not have a particular speech characteristic, is a noun, or is a verb; and

removing the identified ones of the known and new tokens from their corresponding sets.

12. The system of claim 10 , wherein the predetermined type includes at least one of a description type, an amount type, an instruction type, a condition type, a date type, or a person status type.

13. The system of claim 10 , wherein the set of operators includes at least one of add, subtract, multiply, divide, less than, greater than, and, or, equal to, or not equal to.

14. The system of claim 10 , further comprising:

determining, for each of the known and new tokens, a frequency at which they appear in a text corpus;

identifying ones of the known and new tokens associated with a frequency greater than a threshold frequency; and

associating a particular speech characteristic with the identified ones of the known and new tokens.

15. The system of claim 10 , further comprising:

identifying a set of similar tokens among the known and new tokens, each token in the set of similar tokens having a similar meaning; and

replacing each token in the set of similar tokens with a same synonym having the similar meaning.

16. The system of claim 10 , further comprising:

identifying a plurality of sentences in the form data; and

isolating the first and second sets of sentence segments from the form data.

17. The system of claim 10 , wherein each sentence segment of the first set of sentence segments is associated with a natural language token and each sentence segment of the second set of sentence segments is not associated with a natural language token.

18. The system of claim 10 , further comprising:

generating dependency data associated with the set of operators, wherein determining the first predicate structure is based at least in part on the dependency data, and wherein the mapping is based at least in part on the dependency data.

US17/976,679

2016-07-15

2022-10-28

Lean parsing: a natural language processing system and method for parsing domain-specific languages

Active

US12019978B2

( en )

Priority Applications (1)

Application Number

Priority Date

Filing Date

Title

US17/976,679

US12019978B2

( en )

2016-07-15

2022-10-28

Lean parsing: a natural language processing system and method for parsing domain-specific languages

Applications Claiming Priority (8)

Application Number

Priority Date

Filing Date

Title

US201662362688P

2016-07-15

2016-07-15

US15/292,510

US10140277B2

( en )

2016-07-15

2016-10-13

System and method for selecting data sample groups for machine learning of context of data fields for various document types and/or for test data generation for quality assurance systems

US15/293,553

US11222266B2

( en )

2016-07-15

2016-10-14

System and method for automatic learning of functions

US15/488,052

US20180018311A1

( en )

2016-07-15

2017-04-14

Method and system for automatically extracting relevant tax terms from forms and instructions

US15/606,370

US20180018322A1

( en )

2016-07-15

2017-05-26

System and method for automatically understanding lines of compliance forms through natural language patterns

US15/713,161

US10579721B2

( en )

2016-07-15

2017-09-22

Lean parsing: a natural language processing system and method for parsing domain-specific languages

US16/751,199

US11520975B2

( en )

2016-07-15

2020-01-23

Lean parsing: a natural language processing system and method for parsing domain-specific languages

US17/976,679

US12019978B2

( en )

2016-07-15

2022-10-28

Lean parsing: a natural language processing system and method for parsing domain-specific languages

Related Parent Applications (1)

Application Number

Title

Priority Date

Filing Date

US16/751,199

Continuation

US11520975B2

( en )

2016-07-15

2020-01-23

Lean parsing: a natural language processing system and method for parsing domain-specific languages

Publications (2)

Publication Number

Publication Date

US20230065070A1

US20230065070A1 ( en )

2023-03-02

US12019978B2

true

US12019978B2 ( en )

2024-06-25

Family

ID=61010123

Family Applications (3)

Application Number

Title

Priority Date

Filing Date

US15/713,161

Active

2037-06-09

US10579721B2

( en )

2016-07-15

2017-09-22

Lean parsing: a natural language processing system and method for parsing domain-specific languages

US16/751,199

Active

2037-11-29

US11520975B2

( en )

2016-07-15

2020-01-23

Lean parsing: a natural language processing system and method for parsing domain-specific languages

US17/976,679

Active

US12019978B2

( en )

2016-07-15

2022-10-28

Lean parsing: a natural language processing system and method for parsing domain-specific languages

Family Applications Before (2)

Application Number

Title

Priority Date

Filing Date

US15/713,161

Active

2037-06-09

US10579721B2

( en )

2016-07-15

2017-09-22

Lean parsing: a natural language processing system and method for parsing domain-specific languages

US16/751,199

Active

2037-11-29

US11520975B2

( en )

2016-07-15

2020-01-23

Lean parsing: a natural language processing system and method for parsing domain-specific languages

Country Status (1)

Country

Link

US

( 3 )

US10579721B2

( en )

Families Citing this family (28)

* Cited by examiner, † Cited by third party

Publication number

Priority date

Publication date

Assignee

Title

US11222266B2

( en )

2016-07-15

2022-01-11

Intuit Inc.

System and method for automatic learning of functions

US10140277B2

( en )

2016-07-15

2018-11-27

Intuit Inc.

System and method for selecting data sample groups for machine learning of context of data fields for various document types and/or for test data generation for quality assurance systems

US11049190B2

( en )

2016-07-15

2021-06-29

Intuit Inc.

System and method for automatically generating calculations for fields in compliance forms

US10579721B2

( en )

2016-07-15

2020-03-03

Intuit Inc.

Lean parsing: a natural language processing system and method for parsing domain-specific languages

US10725896B2

( en )

2016-07-15

2020-07-28

Intuit Inc.

System and method for identifying a subset of total historical users of a document preparation system to represent a full set of test scenarios based on code coverage

US20180285982A1

( en )

*

2017-03-28

2018-10-04

Intuit Inc.

Automated field-mapping of account names for form population

US20190102675A1

( en )

*

2017-09-29

2019-04-04

Coupa Software Incorporated

Generating and training machine learning systems using stored training datasets

AU2018202420A1

( en )

*

2018-04-05

2019-10-24

NodApp Pty Ltd

A System and Method for Generating Documents

EP3608866A1

( en )

*

2018-08-06

2020-02-12

Ernst & Young GmbH Wirtschaftsprüfungsgesellschaft

System and method of determining tax liability of entity

US11636473B2

( en )

*

2018-11-08

2023-04-25

International Business Machines Corporation

Altering account numbers into invalid account numbers for secure transmission and storage

US11049204B1

( en )

*

2018-12-07

2021-06-29

Bottomline Technologies, Inc.

Visual and text pattern matching

US10732789B1

( en )

2019-03-12

2020-08-04

Bottomline Technologies, Inc.

Machine learning visualization

US11163956B1

( en )

2019-05-23

2021-11-02

Intuit Inc.

System and method for recognizing domain specific named entities using domain specific word embeddings

US11532387B2

( en )

*

2019-08-22

2022-12-20

International Business Machines Corporation

Identifying information in plain text narratives EMRs

CN110837735B

( en )

*

2019-11-17

2023-11-03

内蒙古中媒互动科技有限公司

Intelligent data analysis and identification method and system

US11783128B2

( en )

2020-02-19

2023-10-10

Intuit Inc.

Financial document text conversion to computer readable operations

US11544468B2

( en )

*

2020-07-24

2023-01-03

Intuit Inc.

Document text extraction to field-specific computer executable operations

US11645464B2

( en )

*

2021-03-18

2023-05-09

International Business Machines Corporation

Transforming a lexicon that describes an information asset

US20220351089A1

( en )

*

2021-05-03

2022-11-03

International Business Machines Corporation

Segmenting unstructured text

US12524629B2

( en )

*

2021-06-30

2026-01-13

Collibra Belgium Bv

Universal data language translator

US12056448B2

( en )

*

2021-07-27

2024-08-06

Capital One Services, Llc

Systems and methods for proactively extracting data from complex documents

US20230102198A1

( en )

*

2021-09-30

2023-03-30

Intuit Inc.

Artificial intelligence based compliance document processing

US12106045B2

( en )

2021-10-13

2024-10-01

International Business Machines Corporation

Self-learning annotations to generate rules to be utilized by rule-based system

US20240095986A1

( en )

*

2022-05-19

2024-03-21

Nvidia Corporation

Object animation using neural networks

US11797760B1

( en )

*

2022-09-29

2023-10-24

Docusign, Inc.

Machine learning based instantiation of documents based on templates in a document management system

US20250193246A1

( en )

*

2023-12-08

2025-06-12

Palo Alto Networks, Inc.

Security rule conversion and performance evaluation

US12572516B2

( en )

*

2024-04-30

2026-03-10

Intuit Inc.

Data model generator leveraging a language model

US20260087563A1

( en )

*

2024-09-25

2026-03-26

Intuit Inc.

System and method to auto detect tax situation and potential deductions using genai

Citations (121)

* Cited by examiner, † Cited by third party

Publication number

Priority date

Publication date

Assignee

Title

US5555169A

( en )

1992-05-20

1996-09-10

Hitachi, Ltd.

Computer system and method for converting a conversational statement to computer command language

US6246977B1

( en )

1997-03-07

2001-06-12

Microsoft Corporation

Information retrieval utilizing semantic representation of text and based on constrained expansion of query words

US20020083068A1

( en )

2000-10-30

2002-06-27

Quass Dallan W.

Method and apparatus for filling out electronic forms

WO2002103555A2

( en )

2001-06-18

2002-12-27

Pipedream Metasystems, Inc.

Computer system with natural language to machine language translator

US20030026459A1

( en )

2001-07-23

2003-02-06

Won Jeong Wook

System for drawing patent map using technical field word and method therefor

US20030036912A1

( en )

2001-08-15

2003-02-20

Sobotta Thu Dang

Computerized tax transaction system

US20030233296A1

( en )

2000-12-01

2003-12-18

Wagner Brad H.

System and method for automated form generation and comparison

US20040030540A1

( en )

2002-08-07

2004-02-12

Joel Ovil

Method and apparatus for language processing

US20040039988A1

( en )

2002-08-20

2004-02-26

Kyu-Woong Lee

Methods and systems for implementing auto-complete in a web page

US20050108630A1

( en )

2003-11-19

2005-05-19

Wasson Mark D.

Extraction of facts from text

US20050108406A1

( en )

2003-11-07

2005-05-19

Dynalab Inc.

System and method for dynamically generating a customized menu page

US20050125746A1

( en )

2003-12-04

2005-06-09

Microsoft Corporation

Processing an electronic document for information extraction

US6912536B1

( en )

1998-12-04

2005-06-28

Fujitsu Limited

Apparatus and method for presenting document data

US20050235811A1

( en )

2004-04-20

2005-10-27

Dukane Michael K

Systems for and methods of selection, characterization and automated sequencing of media content

US20050257148A1

( en )

2004-05-12

2005-11-17

Microsoft Corporation

Intelligent autofill

US20050267869A1

( en )

2002-04-04

2005-12-01

Microsoft Corporation

System and methods for constructing personalized context-sensitive portal pages or views by analyzing patterns of users' information access activities

US20060062451A1

( en )

2001-12-08

2006-03-23

Microsoft Corporation

Method for boosting the performance of machine-learning classifiers

US20060111990A1

( en )

2004-11-05

2006-05-25

Automatic Data Processing, Inc., A Delaware Corporation

Payroll processor system and method

US20060155539A1

( en )

2005-01-13

2006-07-13

Yen-Fu Chen

System for compiling word usage frequencies

US20060178961A1

( en )

2000-09-01

2006-08-10

Intuit Inc.

Automated Tax Return With Universal Data Import

US7092922B2

( en )

2003-05-23

2006-08-15

Computer Associates Think, Inc.

Adaptive learning enhancement to automated model maintenance

US20060184870A1

( en )

2005-01-20

2006-08-17

Christen James D

Form generation and modification system

US20060182554A1

( en )

2005-01-13

2006-08-17

Keuro Besitz Gmbh & Co. Edv-Dienstleistungs Kg

Mechanized support for boats

US20060235811A1

( en )

2002-02-01

2006-10-19

John Fairweather

System and method for mining data

US20060242180A1

( en )

2003-07-23

2006-10-26

Graf James A

Extracting data from semi-structured text documents

US20070112553A1

( en )

2003-12-15

2007-05-17

Laboratory For Language Technology Incorporated

System, method, and program for identifying the corresponding translation

US20070129935A1

( en )

2004-01-30

2007-06-07

National Institute Of Information And Communicatio

Method for generating a text sentence in a target language and text sentence generating apparatus

US20070130134A1

( en )

2005-12-05

2007-06-07

Microsoft Corporation

Natural-language enabling arbitrary web forms

US7234103B1

( en )

2000-04-26

2007-06-19

Accenture Llp

Network-based tax framework database

US7251781B2

( en )

2001-07-31

2007-07-31

Invention Machine Corporation

Computer based summarization of natural language documents

US20070299949A1

( en )

2006-06-27

2007-12-27

Microsoft Corporation

Activity-centric domain scoping

US7343551B1

( en )

2002-11-27

2008-03-11

Adobe Systems Incorporated

Autocompleting form fields based on previously entered values

US20080065634A1

( en )

2007-02-08

2008-03-13

Interactive Documents, Llc

Method and system for replacing data in a structured design template

US20080104506A1

( en )

2006-10-30

2008-05-01

Atefeh Farzindar

Method for producing a document summary

US20080147528A1

( en )

2006-12-19

2008-06-19

Talan Jonathan M

Method and apparatus for automatically mapping account-data to tax-forms

US20080154824A1

( en )

2006-10-20

2008-06-26

Weir Robert C

Method and system for autocompletion of multiple fields in electronic forms

US20080227075A1

( en )

2007-03-15

2008-09-18

Ctb/Mcgraw-Hill, Llc

Method and system for redundant data capture from scanned documents

US20080270110A1

( en )

2007-04-30

2008-10-30

Yurick Steven J

Automatic speech recognition with textual content input

US20080313174A1

( en )

2007-05-25

2008-12-18

Veveo, Inc.

Method and system for unified searching across and within multiple documents

US20090024382A1

( en )

2005-03-03

2009-01-22

Wolvaardt Barend P

Language information system

US7500178B1

( en )

2003-09-11

2009-03-03

Agis Network, Inc.

Techniques for processing electronic forms

US20090089046A1

( en )

2005-07-12

2009-04-02

National Institute Of Information And Communications Technology

Word Use Difference Information Acquisition Program and Device

US20090119107A1

( en )

2007-11-01

2009-05-07

Microsoft Corporation

Speech recognition based on symbolic representation of a target sentence

US20090119234A1

( en )

2007-11-02

2009-05-07

Hunch Inc.

Interactive machine learning advice facility

WO2009061917A1

( en )

2007-11-06

2009-05-14

Copanion, Inc.

Systems and methods to automatically organize electronic jobs by automatically classifying electronic documents using extracted image and text features and using a machine-learning recognition subsystem

US7561734B1

( en )

2002-03-02

2009-07-14

Science Applications International Corporation

Machine learning of document templates for data extraction

US20090182554A1

( en )

2008-01-15

2009-07-16

International Business Machines Corporation

Text analysis method

US20090204881A1

( en )

2008-02-08

2009-08-13

M/S. Scmooth (India) Private Limited

Method and system for knowledge-based filling and verification of complex forms

US20090276729A1

( en )

2008-04-30

2009-11-05

Yahoo! Inc.

Adaptive user feedback window

US20090327513A1

( en )

2008-06-30

2009-12-31

International Business Machines Corporation

Parsing contents of an e-form

US20100005096A1

( en )

2007-03-08

2010-01-07

Fujitsu Limited

Document type identifying method and document type identifying apparatus

US7765097B1

( en )

2006-03-20

2010-07-27

Intuit Inc.

Automatic code generation via natural language processing

US7788262B1

( en )

2006-08-04

2010-08-31

Sanika Shirwadkar

Method and system for creating context based summary

US7853494B2

( en )

2005-01-07

2010-12-14

Sureprep, Llc

Efficient work flow system and method for preparing tax returns

US20110087671A1

( en )

2009-10-14

2011-04-14

National Chiao Tung University

Document Processing System and Method Thereof

US8032822B1

( en )

2006-07-28

2011-10-04

Intuit Inc.

Method and system for explaining dependencies on a document

US20110258182A1

( en )

2010-01-15

2011-10-20

Singh Vartika

Systems and methods for automatically extracting data from electronic document page including multiple copies of a form

US20110271173A1

( en )

2010-05-03

2011-11-03

Xerox Corporation

Method and apparatus for automatic filling of forms with data

US8082144B1

( en )

2006-05-22

2011-12-20

Intuit Inc.

Tax calculation explanation generator

US20120089659A1

( en )

2010-10-06

2012-04-12

Hbr Labs Inc.

System and method for synchronizing collaborative form filling

US8214362B1

( en )

2007-09-07

2012-07-03

Google Inc.

Intelligent identification of form field elements

US20120272160A1

( en )

2011-02-23

2012-10-25

Nova Spivack

System and method for analyzing messages in a network or across networks

US20130013612A1

( en )

2011-07-07

2013-01-10

Software Ag

Techniques for comparing and clustering documents

US8370143B1

( en )

2011-08-23

2013-02-05

Google Inc.

Selectively processing user input

US8515972B1

( en )

2010-02-10

2013-08-20

Python 4 Fun, Inc.

Finding relevant documents

JP2013164740A

( en )

2012-02-10

2013-08-22

Hiroaki Ono

Accounting information reading system, accounting information reading method, and program

US8606665B1

( en )

2004-12-30

2013-12-10

Hrb Tax Group, Inc.

System and method for acquiring tax data for use in tax preparation software

US20140019433A1

( en )

2009-08-31

2014-01-16

Google Inc.

Framework for selecting and presenting answer boxes relevant to user input as query suggestions

US8655695B1

( en )

2010-05-07

2014-02-18

Aol Advertising Inc.

Systems and methods for generating expanded user segments

US20140122988A1

( en )

2012-10-30

2014-05-01

FHOOSH, Inc.

Systems and methods for populating user information on electronic forms

US20140164352A1

( en )

*

2012-11-20

2014-06-12

Karl L. Denninghoff

Search and navigation to specific document content

US8756489B2

( en )

2009-09-17

2014-06-17

Adobe Systems Incorporated

Method and system for dynamic assembly of form fragments

US20140173406A1

( en )

2012-12-17

2014-06-19

Amadeus S.A.S.

Recommendation engine for interactive search forms

US20140201126A1

( en )

2012-09-15

2014-07-17

Lotfi A. Zadeh

Methods and Systems for Applications for Z-numbers

US20140207782A1

( en )

2013-01-22

2014-07-24

Equivio Ltd.

System and method for computerized semantic processing of electronic documents including themes

US20140223277A1

( en )

2013-02-06

2014-08-07

Patientordersets.Com Ltd.

Automated generation of structured electronic representations of user-fillable forms

US20140236579A1

( en )

*

2013-02-18

2014-08-21

Nadine Sina Kurz

Method and Device for Performing Natural Language Searches

US20140258825A1

( en )

2013-03-08

2014-09-11

Tuhin Ghosh

Systems and methods for automated form generation

US20140280166A1

( en )

2013-03-15

2014-09-18

Maritz Holdings Inc.

Systems and methods for classifying electronic documents

US20140282586A1

( en )

2013-03-15

2014-09-18

Advanced Elemental Technologies

Purposeful computing

US20150007007A1

( en )

2013-07-01

2015-01-01

International Business Machines Corporation

Discovering relationships in tabular data

US20150046785A1

( en )

2013-06-24

2015-02-12

International Business Machines Corporation

Error Correction in Tables Using Discovered Functional Dependencies

US20150058188A1

( en )

2013-08-26

2015-02-26

Thomson Reuters (Tax & Accounting) Services Inc.

Calculating Estimated Tax Payments

US20150095753A1

( en )

2013-10-01

2015-04-02

Xerox Corporation

Methods and systems for filling forms

US20150127567A1</

Related documents

Record · ID 607292
Conceptio Open Knowledge Archive — every document is proof-bundled with source, license, and retrieval metadata.