Methods and systems for parsing and interpretation of mathematical statements
OwnerXiaohua Yiinventor
Life of this patent
Estimating the term…
Abstract
Methods, systems, and devices are described that provide for entry of hybrid mathematical and natural language statements in a mathematical notation friendly language and system for a rigorous yet practically tractable formal grammar to distill the essence of natural math notation. Hybrid statements mixing natural language and symbolic expressions including assertions, commands, queries, and/or deductions may be entered that are processed according to natural language processing. The statements, along with the math objects are evaluated, and one or more results output. Furthermore, systems may provide automatic construction of one or more solution narratives that can be beneficial to student users pedagogically.
Claims35
A method for receiving and evaluating mathematical statements, comprising:
- receiving, at an interface module in a computer system, one or more one-dimensional mathematical statements including hybrid statements mixing mathematical expressions and natural language;
- converting, via at least one call to a grammar library stored in a memory of the computer system, portions of the one or more one-dimensional statements into a plurality of mathematical expressions and one or more abstract syntax tree (AST) connecting the expressions, wherein the grammar library includes rules enabling such converting;
- evaluating the mathematical expressions and performing operations on the expressions in accordance with the AST;
- and
- performing at least one of storing a result of the transformation in the memory or transmitting a result of the evaluation to the interface module.
A system for receiving and evaluating a mathematical statement, comprising:
- an interface module for receiving at least one one-dimensional hybrid statement mixing mathematical expressions and natural language from a user and providing one or more results of a mathematical evaluation to the user;
- a conversion module communicatively coupled to the interface module that converts at least portions of the one-dimensional hybrid statement into a plurality of mathematical expressions and one or more abstract syntax tree (AST) connecting the expressions;
- a grammar library communicatively coupled to the conversion module that comprises rules for converting one-dimensional hybrid statements into one or more mathematical expressions and one or more AST;
- and
- an evaluation module communicatively coupled to the conversion module and the interface module that evaluates some of the mathematical expressions and performs one or more operations on the mathematical expressions in accordance with the AST.
A computer program product comprising a non-transitory computer readable medium comprising:
- code for receiving one or more one-dimensional mathematical statements including hybrid statements mixing mathematical expressions and natural language;
- code for converting, via at least one call to a grammar library, portions of the one or more one-dimensional hybrid statements into a plurality of mathematical expressions and one or more abstract syntax tree (AST) connecting the expressions, wherein the grammar library includes rules enabling such converting;
- code for initially displaying a two dimensional mathematical expression representing the one or more one-dimensional mathematical expressions;
- code for evaluating the mathematical expressions and performing operations on the expressions in accordance with the AST;
- and
- code for displaying a two dimensional mathematical expression representing the results from the evaluations.
A method for providing step-by-step explanations of symbolic and/or numerical computations and narratives associated with received mathematical statements, comprising:
- receiving, via an interface module in a computer system, one or more one-dimensional mathematical statements including hybrid statements mixing mathematical expressions and natural language, the statement(s) comprising at least one operator other than an addition, subtraction, multiplication, or division operator;
- converting, via at least one call to a grammar library stored in a memory of the computer system, portions of the one or more one-dimensional statements into a plurality of mathematical expressions and one or more abstract syntax tree (AST) connecting the expressions, wherein the grammar library includes rules enabling such converting;
- displaying the mathematical expressions via the interface module;
- receiving, via the interface module, a confirmation that the displayed mathematical expressions correctly identify the desired mathematical expressions;
- evaluating the mathematical expressions and performing operations on the expressions in accordance with the AST;
- and
- displaying, via the interface module, a two dimensional mathematical expression representing the results of the evaluation and a narrative of the operational steps representing the evaluation of the mathematical expressions.
Dependencies are inferred from the claim text.