发明名称 Solving and answering arithmetic and algebraic problems using natural language processing
摘要 A method for solving and answering an arithmetic or algebraic problem using natural language processing (NLP) is provided. The method may include receiving an input statement associated with the arithmetic or algebraic problem. The method may also include determining whether each sentence within a plurality of sentences associated with the input statement is a well-formed sentence from a mathematical perspective. The method may further include converting each statement into a well-formed sentence based on the determining whether each sentence within a plurality of sentences associated with the input statement is a well-formed sentence from a mathematical perspective. Additionally, the method may include converting each well-formed sentence into a mathematical equation to form a set of equations. Also, the method may include solving the set of equations to compute a mathematical result. The method may include narrating the mathematical result in natural language.
申请公布号 US9495355(B2) 申请公布日期 2016.11.15
申请号 US201414472554 申请日期 2014.08.29
申请人 International Business Machines Corporation 发明人 Mungi Ashish;Mustafi Joy
分类号 G06F17/27 主分类号 G06F17/27
代理机构 代理人 Feighan Patricia B.
主权项 1. A processor-implemented method for solving and answering an arithmetic or algebraic problem through a computer-based question-answer system in real-time, using natural language processing (NLP) and an online dictionary, the method comprising: creating and maintaining the online dictionary, wherein creating and maintaining the online dictionary comprises: determining a relationship between at least one verb and at least one math operator;mapping the at least one verb to at least one math operator based on the determined relationship;storing the mapped at least one verb to the at least one math operator in the online dictionary;identifying an effect of the stored at least one math operator on a plurality of subjects;identifying an effect of the stored at least one math operator on a plurality of objects;correlating the identified effect of the stored at least one math operator to the plurality of subjects;correlating the identified effect of the at least one math operator to the plurality of objects;updating the online dictionary with the correlated identified effect of the at least one math operator to the plurality of subjects; andupdating the online dictionary with the correlated identified effect of the at least one math operator to the plurality of objects; receiving, by a processor associated with a first computer, an input statement, wherein the input statement is a geometric word problem that includes a plurality of geometric figures, angles, perimeters, and areas described by a plurality of words, entered by a user in natural language without a mathematical operator symbol, via a user interface associated with a computing system; determining whether each sentence within a plurality of sentences associated with the input statement is a well-formed sentence from a mathematical perspective, wherein determining whether each sentence within the plurality of sentences associated with the input statement is a well-formed sentence from a mathematical perspective comprises: performing part-of-speech (POS) tagging and parsing or parse tree generation on each sentence within the plurality of sentences; anddetermining a typed dependency for each sentence within in the plurality of sentences and if each sentence within the plurality of sentences requires anaphora resolution; converting each statement into a well-formed sentence based on the determining whether each sentence within a plurality of sentences associated with the input statement is a well-formed sentence from a mathematical perspective, wherein converting each statement into a well-formed sentence comprises: performing part-of-speech (POS) tagging and parsing or parse tree generation on each sentence within the plurality of sentences; anddetermining if a plurality of user input is required to resolve a plurality of ambiguity associated with at least one sentence within the plurality of sentences;in response to determining the plurality of user input is required to resolve the plurality of ambiguity, prompting the user for the plurality of input to resolve the plurality of ambiguity; andin response to receiving the plurality of user input, performing structural disambiguation for each sentence within the plurality of sentences; converting each well-formed sentence into a mathematical equation to form a set of equations, wherein forming the set of equations comprises receiving the plurality of input entered by the user and storing each mathematical equation in an online repository, wherein the converting the well-formed sentence into the mathematical equation and solving the set of equations comprises communicating online with a second computer to access the online dictionary containing a mapping between a plurality of verbs, a plurality of action words, and a plurality of mathematical operators, wherein the dictionary is created, updated, and maintained separately on a server, and wherein the dictionary specifies for each verb within the plurality of verbs or each action word within the plurality of action words, the effect of the plurality of at least one mathematical operator within the plurality of mathematical operators on an operand of a sentence and wherein the converting the well-formed sentence into the mathematical equation and solving the set of equations further comprises determining the effect of the plurality of at least one mathematical operator within the plurality of mathematical operators on the operand of the sentence based on electronically reading the dictionary and determining for each verb within the plurality of verbs or each action word within the plurality of action words, the effect of the plurality of the at least one mathematical operator within the plurality of mathematical operators on the operand of the sentence and performing a plurality of online-computing techniques, wherein the plurality of online computing techniques comprises performing part-of-speech (POS) tagging, performing parsing or parse tree generation, determining a typed dependency, and determining a subject, an object, a verb, an action, and a numeral from the typed dependency; retrieving the formed set of equations from the online repository; solving the retrieved set of equations to compute a mathematical result; and narrating the mathematical result in natural language, wherein the mathematical result is narrated as an automatic interactive response or a solution from the computer system in real-time and comprises converting the mathematical result into at least one natural language sentence.
地址 Armonk NY US