WO1996028786A1 - Methods and apparatus for solving word problems - Google Patents

Methods and apparatus for solving word problems Download PDF

Info

Publication number
WO1996028786A1
WO1996028786A1 PCT/US1995/002986 US9502986W WO9628786A1 WO 1996028786 A1 WO1996028786 A1 WO 1996028786A1 US 9502986 W US9502986 W US 9502986W WO 9628786 A1 WO9628786 A1 WO 9628786A1
Authority
WO
WIPO (PCT)
Prior art keywords
words
word
question
text
step comprises
Prior art date
Application number
PCT/US1995/002986
Other languages
French (fr)
Inventor
Judith S. Bliss
Original Assignee
Methods & Solutions, Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Methods & Solutions, Inc. filed Critical Methods & Solutions, Inc.
Priority to AU19939/95A priority Critical patent/AU1993995A/en
Priority to PCT/US1995/002986 priority patent/WO1996028786A1/en
Publication of WO1996028786A1 publication Critical patent/WO1996028786A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • G06F40/35Discourse or dialogue representation

Definitions

  • the present invention relates, generally, to methods and apparatus for solving mathematical and logical problems expressed in prose, known as word problems, and more particularly to a technique for resolving the text of a word problem into a series of fundamental mathematical operations
  • Expert systems are particularly well suited to environments involving repetitive fact patterns, for which the predictability of issues and solutions is high
  • the ability to synthesize and adapt expert systems is compromised, however, in environments having multiple parameters which are not well ordered
  • the ability of an expert system embodied in software to consistently solve problems is a function of the predictability of the various solutions which the expert system is asked to generate
  • One of the more predictable aspects of mathematical problems surrounds the fact that even highly complex mathematical problems may be resolved into a series of discreet mathematical functions, even though the series of discreet mathematical functions may comprise a large number of relatively simple functions linked together
  • extremely complex multiplication algorithms are routinely implemented in digital computer systems in the form of "shift-and-add" algorithms capable of performing complex multiplication via a series of simple binary additions
  • word problems Mathematical problems expressed in prose are often referred to as "word problems.” While the underlying mathematical precepts set forth in the word problem are typically rather mundane, students and even everyday consumers continue to be baffled by word problems.
  • word problems One of the premises of the present invention surrounds the fact that the difficulty associated with understanding and solving word problems is more attributable to the language used to express word problems as opposed to the level of difficulty associated with the underlying mathematics of the word problems.
  • a word problem plays an important role in nurturing both a student's mathematical abilities, as well as in teaching basic analytical techniques.
  • a word problem essentially presents a short fact pattern involving numerical manipulation, and prompts the student to manipulate the relevant information to thereby solve the word problem.
  • All word problems contain one or more numbers, either literally or implicitly.
  • a word problem may recite a "starting basketball team” or a “baseball team”, which implicitly sets forth the numbers 5 and 9, respectively.
  • Many word problems also include numerical values which are not needed in solving the word problem.
  • the student must learn to analyze the word problem and discriminate between the information in the problem necessary to successfully solve the problem from extraneous information. Students who are able to quickly identify the relevant information in a word problem are typically viewed as having a relatively high mathematical aptitude; conversely, students who have difficulty discriminating between the relevant and irrelevant information in a word problem, or who otherwise have difficulty understanding the problem to be solved, are often labeled as having a relatively low mathematical aptitude.
  • word problems involving mathematical manipulation are perhaps even more compelling and pervasive outside the classroom. Everyday life presents individuals with a constant barrage of mathematical problems to be solved. Typical examples include: dispensing the correct amount of change to a consumer when consummating a sales transaction; manipulating volumetric and weight measures in chemical applications and recipes for home cooking; applying grass seed, fertilizer, and weed killer in a landscaping application; determining the amount of gas needed to reach a known destination in an automobile, determining the amount of money available to a family as disposable income once essential bills have been paid; and so on.
  • verbal fact patterns tend to be ambiguous, such that the ability to quickly solve most word problems is impeded by linguistic ambiguity.
  • a methodology is thus needed for properly selecting the relevant information from a word problem and using that information to solve the problem in an accurate, efficient, and unambiguous manner.
  • a digital computer may be conveniently configured to manipulate a word problem and resolve it into the numbers and mathematical operations necessary to solve the problem. By correctly isolating the relevant numbers and identifying the appropriate mathematical operations, if an operation is required, virtually any properly constructed word problem may be quickly and accurately solved.
  • a conventional personal computer PC
  • an apparatus may be constructed which comprises the computing components useful in implementing the methodologies described herein.
  • an exemplary system useful in implementing the subject methodologies includes a processor for executing preprogrammed instructions, a programmable ROM (e.g., EPROM) configured to store various keyword and other operational databases, a keyboard or other input/output interface for permitting the user to enter a word problem into a system, and a monitor or other output device for displaying the word problem to be solved as well as the solution to the word problem.
  • a processor for executing preprogrammed instructions
  • a programmable ROM e.g., EPROM
  • keyboard or other input/output interface for permitting the user to enter a word problem into a system
  • a monitor or other output device for displaying the word problem to be solved as well as the solution to the word problem.
  • An exemplary method useful in accordance with the present invention involves separating the word problem into an information portion and a question portion of the problem.
  • the various words comprising the information and question portions of the problem are suitably processed and categorized in accordance with a plurality of predetermined groups of words.
  • At least three such groups are particularly useful in solving word problems: unique keywords; ADDSUB groups (also referred to herein as "K words" which imply gain, loss, being, or transition); and solvewords.
  • the system applies a set of predetermined rules to the words of the problem on the basis of the assigned categories in order to determine the appropriate arithmetic operation used to solve the problem.
  • an exemplary method in accordance with the present invention involves identifying one or more solvewords used in solving a word problem.
  • potential solvewords are identified from the information portion of the word problem, and a unique solveword is identified (if one exists) if the same solveword also appears in the question portion of the same word problem.
  • the information and question portions of the word problem are also searched to determine the presence of various other keyword groups often useful in solving the word problem.
  • the relevant numbers and keywords are extracted from the word problem, they are resolved into one or more fundamental mathematical operation(s) (if an operation is required) to thereby solve the word problem, as appropriate; that is, some word problems simply are not conveniently resolvable into mathematical operations.
  • a large percentage of word problems may be broken down into one or more fundamental mathematic operations (addition, subtraction, multiplication, and division), or no operation if none is required.
  • FIGS 1-11 are flow charts setting forth the various methodologies useful in the context of the present invention.
  • Figure 12 is a block diagram of an exemplary computer system configured in accordance with the present invention
  • Figure 13 is an exemplary embodiment of an item list useful in the context of the present invention.
  • Figure 14 is a fully categorized version of the item list set forth in Figure 11.
  • an exemplary computer system 100 suitably includes a processor housing 102, a display 104, for example a CRT, LCD, or other convenient user-interface display, as well as one or more interactive user I/O devices, for example a keyboard 106 or a voice synthesis/response module 108.
  • Housing 102 suitably includes a microprocessor 112 which suitably controls operation of system 100, respective programmable ROM sections 114, 116, 118, a RAM section 120, a clock 122, and a power source 124.
  • power sources 124 suitably comprises a standard AC interface; for hand-held or portable devices, power source 124 may comprise a replaceable or rechargeable battery.
  • ROM section 114 suitably comprises an appropriate EPROM, EEPROM or the like and is configured to embody a plurality of keyword and other "word” databases, as described in greater detail in conjunction with, inter alia, Figures 1-11.
  • ROM 114 includes, among other things, respective memory sectors 1-36 corresponding to the various groups of words identified by the present inventor as being important
  • Memory sectors 1-36 represent an evolving grouping of words, it being understood that the composition of each of the various memory sectors may from time to time be enhanced, augmented, or otherwise amended as the experience base upon which the groupings are predicated continues to mature. 25
  • the various words which comprise respective memory sectors 1-36 are set forth in detail in Tables 1-36. For convenience, sectors 1-36 may be briefly characterized as follows:
  • Memory sector (or "Class) 1 is referred to as the "both or and” class, and includes the words "both,”, “or”, and "and.”
  • Memory sector 2 is referred to as the "greater than” or "GT” group, and includes
  • Memory sector 3 is referred to herein as the "less than” or “LT” word group and includes words such as “slower,” “shorter,” and the like.
  • Memory sector 4 is referred to herein as the "unit of measure” group, and includes words such as "mile,” “pint,” “hours,” and the like.
  • 35 Memory sector 5 is referred to herein as the "K1" group, one of the ADDSUB categories, and includes words that imply gain.
  • Memory sector 6 is referred to herein as the "K2" group, one of the ADDSUB categories, and includes words that imply loss.
  • Memory sector 7 is referred to herein as the "K3" group, one of the ADDSUB categories, and includes words which imply neither gain nor loss, but transition-change of state, such as "start,” “fade,” “went,” and the like
  • Memory sector 8 is referred to herein as the "K4" group, one of the ADDSUB categories, and includes words which imply loss of access, such as “commit,” “deposit,”
  • Memory sector 9 is referred to herein as the "K5" group, one of the ADDSUB categories, and includes words which imply state of being such as "is,” “were,” “am,” and
  • Memory sector 10 is referred to herein as the "K6" group, one of the ADDSUB categories, and includes words which imply transposition such as "throw,” “escape " and
  • Memory sector 11 is referred to herein as the "K7" group, one of the ADDSUB categories, and includes words which imply termination, such as "cease,” “quit,” and the
  • Memory sector 12 is referred to herein as the "K8" group, one of the ADDSUB categories, and includes words which imply gain or loss in time such as “has,” “had “ and “have “ “Had”, “been,” and perhaps “will” may be the only words in this group
  • Memory sector 13 is referred to herein as the "K2A" group, and includes words which also imply loss, including “defective,” “blemished,” and the like
  • Memory sector 14 is referred to herein as the "Division Keywords” group and includes words such as “each,” “full,” “times,” and “per "
  • Memory sector 15 is referred to herein as the "Multiplication Keywords” group and includes words which imply multiplication, including “daily,” “weekly “ “each time,” and the
  • Memory sector 16 is referred to herein as the "Sub Keywords” group and includes the words “altogether” and “but "
  • Memory sector 17 is referred to herein as the "Sums Keywords” group and includes the words “equal,” “evenly,” and “equally " Memory sector 18 is referred to herein as the “Prepositions” group and includes the various recognized prepositions, including “above,” “toward,” and the like
  • Memory sector 19 is referred to as the "Subjective Pronouns” group and includes words such as “you,” “it,” and “they "
  • Memory sector 20 is referred to as the "Objective Pronouns” group and includes words such as "me” and “you "
  • Memory sector 21 is referred to as the "Possessive Pronouns” group and includes words such as “my,” “your “ and the like
  • Memory sector 22 is alternately referred to herein as the “Miscellaneous” or “Question Keywords” group, and includes words such as “how,” “what,” “when,” and the
  • Memory sector 23 is referred to herein as the "Conjunctions” group, and includes the words “and,” “or,” and “but "
  • Memory sector 24 is referred to herein as the "Time Before” word group, and includes words such as “prior” and “yesterday "
  • Memory sector 25 is referred to as the "Time After” word group and includes words such as “tomorrow,” “later,” and the like
  • Memory sector 26 is referred to as the “Time Days” group and includes the days of the week
  • Memory sector 27 is referred to as the "Time Months" group and includes the months of the year
  • Memory sector 28 is referred to as the "Units of Measure in Between Words” group and includes words such as "each,” “per,” and the like
  • Memory sector 29 is referred to herein as the "Units of Measure in Between Words 2" group, and includes the words “a,” “each,” and “the "
  • Memory sector 30 is referred to herein as the "Time AM-PM” group and includes words such as “AM,” “PM,” “morning,” and the like
  • Memory sector 31 is referred to herein as the “Articles” class and includes the words “a,” “an,” and “the "
  • Memory sector 32 is referred to herein as the "CMeasure Data” group, and includes various units of measure for virtually every quantity, including the word “mile,” “foot,” “meter,” “dollar,” “penny,” “gallon,” “milliliter,” “century “ “milligram,” “square foot,” and the
  • Memory sector 33 is referred to herein as the "Conversions” group, and includes words such as “double,” “one-half,” “triple,” “dozen,” and the like
  • Memory sector 34 is referred to herein as the "Text Equivalents” group and includes phrases such as “basketball team,” “soccer teams,” “July,” and the like
  • Memory sector 35 is referred to herein as the "Proper Name/Female” group and includes all known female proper names, including “Brenda,” “Erin,” “Meghan “ and “Wendy "
  • Memory sector 36 is referred to herein as the "Proper Name/Male” group and includes proper male names such as “Michael,” “Charles,” and “Sherman " Programmable ROM sector 116 suitably comprises databases relating to the various rules and criteria useful in determining the appropriate mathematical functions to be applied based on inter alia, the various ADDSUB K-groups, directive keywords, comparison keywords and solvewords present in the word problem to be solved More particularly, programmable ROM section 116 suitably embodies a first pretest sector
  • Programmable ROM 118 suitably comprises the operating system and/or other operational code executed by processor 112 during the task of problem solving
  • RAM 120 suitably functions as the system's "scratch pad", and provides a memory space for manipulating the word problem, as described in greater detail below in conjunction with Figures 1-11
  • respective programmable ROM sectors 114-118 are suitably non-volatile, such that system 100 may remain functional notwithstanding voltage surges, battery replacement, power outage, as well as the regular on/off cycling of the device
  • a main loop 1000 outlines the general flow of the problem-solving process in accordance with one aspect of the present invention
  • a word problem is entered into the computer within which the software governing the subject process is embodied (step 1001), for example by keying in the problem text via the computer's keyboard (not shown), by speaking the problem into a microphone adapted to cooperate with a speech recognition circuit (not shown), or by any other convenient mechanism
  • the problem is "tested" (step 1002) to identify, among other things, those words in the problem text which are relevant to resolution of the problem, as well as those which are not Step
  • step 1002 One of the functions performed in step 1002 involves identifying numbers (e g , integers, fractions, and the like) in the problem text
  • numbers e g , integers, fractions, and the like
  • the present invention may be adapted to solve word problems having two, three, or more numbers
  • the preferred embodiment set forth herein is designed to solve a word problem having at most two or three relevant numbers therein
  • step 1004 If three or less numbers are found in the problem ("no" branch of step 1004), the system constructs a formula and calculates a mathematical answer to the word problem (step 1008). Step 1008 is described below in greater detail in conjunction with Figures 9-11.
  • step 1002 of Figure 1 is set forth in greater detail.
  • the process of testing the current problem involves, among others, the steps of preparsing the problem (step 1102) as well as parsing the problem to identify potential solvewords (step 1104).
  • preparsing step 1102 and solveword parsing step 1104 it is instructive to discuss preparsing step 1102 and solveword parsing step 1104 in greater detail.
  • auto preparse step 1102 is set forth in greater detail. More particularly, the various words (including numbers, as discussed below) comprising the problem text are converted into a list of words, punctuation marks, and numbers (step 1202), for example as illustrated in the item list 1202A shown in Figure 13. Once the item list shown in Figure 13 is constructed, the list is processed to facilitate the problem-solving analysis.
  • step 1206 various words and phrases which are known by the present inventors to be irrelevant in solving virtually any word problem are eliminated.
  • the present inventor has determined that the phrase "one that" may be a red herring, and may be discarded without affecting the analysis of the word problem.
  • step 1208 entails interrogating data base sector 33 (see Table 33) for each word in item list 1202A ( Figure 13). For each word in the item list which also appears in Table 33, that word is deleted from the item list and its numeric equivalent substituted therefor. For example, the word “dozen” may be replaced with the integer "12,” the word “decade” replaced with the number "10,” and so on.
  • the system ascertains whether the current version of the item list includes more than one number (step 1210).
  • the system also converts text equivalents (step 1212). More particularly, the conversion of text equivalents is generally analogous to the conversion of numeric equivalents discussed above in connection with step 1208. That is, the system scans the item list ( Figure 13) and interrogates memory sector 34 (see Table 34); for each text equivalent word in the item list which also appears in Table 34, the text equivalent word is deleted from the item list and an equivalent number is substituted therefor. For example, the word “basketball team” may be replaced with the number "5,” the phrase “football team” may be replaced with the number "11 ,” and so on.
  • the system categorizes the item list (step 1216)
  • step 1216 entails generating a memory map which effectively categorizes each word in the problem text as best seen in the categorized list 1216A illustrated in Figure 14
  • Generating this categorized list essentially entails interrogating memory sectors 1 -36 and for each word in the problem text, flagging the appropriate class or classes (corresponding to memory sectors 1-36) in which each particular word in the problem text appears This categorized list will be useful in subsequent processing, as discussed in greater detail below
  • auto preparse step 1102 (continued from Figure 3) further includes the task of separating the problem text into two discreet arrays including a first array corresponding to the "information" part of the problem and a second array corresponding to the "question" part of the problem
  • the system interrogates categorized list 1216A ( Figure 14) and identifies all of the question keywords, / e , each word which appears in memory sector 22 (see Table 22) If only one question keyword is found, that word is designated as the question keyword for the word problem If more than one potential question keyword is found, the system determines which question keyword is closest to the question mark in the problem text, and the question keyword appearing closest to the question mark is designated as the question keyword for the word problem Alternatively, a single question keyword may be designated from a plurality of potential question keywords by assigning relative priorities to the various words in Table 22
  • the system then begins looping through the problem text (e g , categorized list 1216A) from the beginning to thereby partition the problem text into the aforementioned information array and question array (step 1302)
  • the system determines if the current item (/ e , the problem text word currently being investigated) is a punctuation mark which typically appears at the end of the information portion of a problem (step 1306) for example the punctuation marks - period, exclamation point, and semi-colon If the then current word corresponds to an information phrase ending punctuation ("yes" branch of step 1306), all items (problem text words, numbers, and the like) appearing in the problem text prior to the information phrase ending punctuation are copied into the information array (step 1308) In the preferred embodiment discussed herein respective information and question arrays are created in software as discussed above In an alternate embodiment of the present invention it may be desirable to simply add an additional field to categorized list 1216A to thereby indicate in a single composite array where each word of the problem text appropriately corresponds either to the information portion or the question portion of the text
  • step 1308 Once all items are copied into the information array (step 1308), the software marker is updated (step 1310) and the next successive problem text word appearing in categorization array 1216A is interrogated.
  • step 1306 determines if the current item is the question keyword previously identified in step 1301 (step 1312). If the current item is not the question keyword for the problem ("no" branch of step 1312), the system moves on to step 1318, as discussed in greater detail below.
  • step 1312 If the current item in step 1312 is the question keyword for the problem ("yes" branch of step 1312), the system builds the question portion array by copying all items between the question keyword and the question mark punctuation into the question portion array, recognizing that a typical question portion of a word problem ends in a question punctuation mark (step 1314) The system then updates the software marker to recursively examine the next succeeding item in the word problem text list (step 1316). Returning to the "no" branch of step 1312, the system determines if the current item is a number (step 1318).
  • step 1304 If not, the system loops through to the next item in the text list (step 1304) If the current item is a number ("yes" branch of step 1318), all items appearing in the text list prior to the number are copied into the information array (step 1320). The system then processes cancellation routines "A" (step 1322) and "B" (step 1324). After the cancellation routines are processed, the system continues to loop through the foregoing process until all items in the problem text are interrogated ("yes" branch of step 1304).
  • step 1902 the system first checks to determine if the question portion of the problem contains a number (step 1902). If it does not, the system returns to step 1304 and continues to loop through the problem text ("no" branch of step 1902). If the question portion does contain a number, the system checks to determine if the information portion of the problem contains five or more numbers (step 1904) If not, the process loops back to step 1304 ("no" branch of step 1904) If the information portion of the problem does contain five or more numbers, the system next checks for a "greater than” or “less than” (GT/LT) keyword (step 1906).
  • GT/LT "greater than" or "less than”
  • step 1304 If no GL/LT keyword is found, the process moves on to step 1304 ("no" branch of step 1906) Otherwise, the system checks to determine if the solveword in the question portion of the problem matches the solveword in the information part (step 1908) If the two solvewords match, the system will categorize the numbers in the information part of the problem that match the solveword in terms of "A" and "B" (step 1910). otherwise, the system returns to step 1304 ("no" branch of step 1908). In categorizing the numbers (step 1910), the system checks the numbers which follow the
  • the system decides which mathematical expression to use (step 1920). If the recognized keyword is a "less than” keyword, the following relationships apply:
  • step 1324 The system then returns and processes cancellation routine part B, step 1324. Note that the system never gets to step 1324 unless it processes step 1322 completely.
  • step 1324 the system first checks the question part of the problem to determine if it contains a number (step 2002). If no number is found, the system returns to step 1304 and continues to loop through the problem text ("no" branch of 2002). If a number is found, the system determines whether the solveword in the question part of the problem matches that in the information part (step 2004). If the solvewords don't match, the system returns to step 1304, otherwise, the system processes step 2006.
  • step 2006 the system determines whether the number in the question part matches that in the information part. If it does, the system processes step 2008 ("yes" branch of step 2006); otherwise, it returns to step 1304 ("no" branch of step 2006). In step 2008, the system eliminates the number in the question part, and all numbers in the information part that match the solveword; then returns.
  • ordinals are essentially words which represent a position within a series, for example, "1st,” “2nd,” “80th.”
  • the system thus eliminates ordinals from both the information array (step 1402) and from the question array (step 1404).
  • the problem text is further refined by making explicit that which is implicit in many word problems. For example, consider the following phrase: "Bob gave two dollars to John and four to Mary.” While it is implicit that Bob gave four dollars to Mary, the literal words of the text state only "four to Mary". Thus, the system identifies each occurrence of the word "and,” and then determines for each occurrence whether the word "and” is followed by a K word any time between the word "and” and the end of the sentence. If the word "and” is followed by a K word, the system does nothing. If the word "and” is not followed by a K word, the system searches for the first occurrence of a K word preceding the word "and,” and inserts that K word immediately following the word "and” (step 1406). Thus, in the previous example, the text would be amended to state "and gave four to Mary.”
  • the information array and question array are then reconciled to include any changes affected by step 1406 (step 1408).
  • the system analyzes the problem text to parse out potential solvewords (step 1104).
  • the categorized text item list shown in Figure 14 is again reconciled to ensure that every item, and especially those items which were added, deleted or amended in the preceding steps, is fully and properly characterized (i.e., the various classes to which each of the items belong is appropriately flagged) (step 1502).
  • the system marks all potential proper names in both the information array and the question array for later use (step 1504).
  • the system may simply scroll through the various items comprising the word problem text and identify any words which belong to either memory sector 35 (female proper names) or memory sector 36 (male proper names) or, alternatively, the system may interrogate categorized list, 1216A ( Figure 14) to determine those words for which a flag exists corresponding to memory sectors 35 and/or 36.
  • the system then flags those items (words) which are pronouns in both the information and question arrays (step 1506). Thereafter, the system substitutes all occurrences of pronouns with the proper name to which the pronouns refer, where possible (step 1508).
  • the system searches for and marks all potential solvewords (step 1510).
  • many word problems contain a solveword which, if identified, can facilitate resolution of the problem. If a solveword does not exist or cannot be identified as a solveword, the problem may nonetheless be solved through the techniques described hereinbelow.
  • many potential solvewords may be identified (step 1510) through the following procedure. For each number appearing in the information text, the system examines the first, second and third words following the number. If the second word following a number is neither "of nor
  • the system determines that the first word following the number is a potential solveword (PSW) for that problem If, on the other hand, the second word following the number is the word "of,” the system determines if the first word following the number is a unit of measure (/ e does the first word following the number belong to memory sector 32, see Table 32) If the second word following the number is "of,” and the first word following the number is a unit of measure the system determines that the third word following the number is a PSW for that word problem If the second word following the number is "of but the first word following the number is not a unit of measure, the system determines that the first word following the number is the PSW
  • PSW potential solveword
  • the system will determine that the second word is "of,” and thus analyze the first word to determine if it is a unit of measure Because the word "ounces" is found in memory sector 32, the system determines that the first word is indeed a unit of measure and thus identifies the word "lime” as the PSW for this word problem
  • the system searches the text for phrases of the form # "for" #, as in the phrase "6 apples for three dollars apiece" (step 1512)
  • the system substitutes the equivalent mathematical representation "#X#" for the foregoing phrase, again making explicit what is implicit in the text of the problem, namely, that the effect of purchasing six apples at $3 apiece is multiplying six times three
  • the system then identifies all words which indicate an event prior to or subsequent to the present tense, that is, the system identifies all words in the problem text which appear in one of memory sectors 24 and 25 (see Tables 24 and 25) (step 1106)
  • the system further analyzes the text to determine if these "time” words are potentially relevant to resolution of the problem if these time words are not relevant, they are eliminated Specifically the time words are eliminated if they appear in a phrase which also contains the word "ago " if the word problem does not also contain a "greater than” or “less than” word from memory sectors 2 and 3 respectively (see Tables 2 and 3) (step 1106)
  • the system determines if the information array contains no numbers (step 1008) If so, each proper name which appears in the information array (if any) is treated as the number "1"
  • words which imply termination or cessation are included in memory sector 11 (See Table 11 ) While these words may sometimes be useful in conceptualizing a problem, they may also be distracting Thus, the present inventors have determined that such termination words may be eliminated if they appear in a phrase which contains another "K" word (step 1114) As a further step in refining the problem for evaluation, the present inventors have also determined that words belonging to memory sector 12 (Table 12) may be eliminated if two of such words appear consecutively (step 1116) For example, memory sector 12 includes the words "has", “had”, and “have” By searching for phrases such as "has had” and the like, the word problem may be simplified by eliminating one or both of these words (step 1116)
  • the system is further configured to eliminate certain words which follow immediately after the word "on” (step 1118) More particularly, words belonging to one of memory sectors 26 and 27 (See Tables 26 and 27) corresponding to the days of the week in the calendar month may be eliminated to the extent they follow the word "on” (step 1118), further simplifying the problem
  • pretests are then performed (step 1119) to streamline the upcoming process of structuring a formula and calculating the answer to the problem
  • Table 1119A includes a brief recitation of many other pretests which may be performed in the context of the present invention While the overwhelming majority of pretests will not be germane to a particular problem, a robust series of pretests is nonetheless desirable in that it increases the number of word problems which may be effectively resolved in accordance with the subject invention
  • the system then reconstructs the problem string from the items lists (step 1120) Having concluded the pretest phase of the analysis, the system then runs through a large number of analytical tests (step 1122) to determine the appropriate mathematical operation to be applied to the numbers previously isolated in the problem text
  • these analytical tests are not necessarily intuitive or subject to rigorous mathematical proof, rather, they comprise a series of tests based on the interplay between grammar, punctuation, sentence structure, and other linguistic subtleties which implicitly or otherwise suggest the appropriate mathematical operation to be performed on the numbers in order to solve the problem
  • the analytical tests by their nature are not well suited to discrete, concise formulae, rather, a large number of analytical tests have been developed to account for the various themes and idiosyncracies involved in
  • the various analytical tests developed in connection with the subject invention are suitably set forth and executed in accordance with the relative priority among the various tests comprising Table 1122A That is, tests of higher priority are executed first, so that if a word problem satisfies two or more analytical tests, the problem is appropriately solved using the analytical test having the higher priority.
  • the appropriate mathematical operation to be applied to the previously isolated numbers is ascertained and no further analytical tests need be performed.
  • the same word problem may also satisfy subsequent analytical tests of lower priority, but which may yield an incorrect result inasmuch as the order in which the analytical tests are performed deliberately takes into account the relative priority of the various analytical tests comprising Table 1122A
  • the analytical tests suitably comprise a first series of analytical tests for the question part of the problem, and are therefore applied to the items contained in the question array discussed above in conjunction with steps 1312-1315 ( Figures 4A and 4B)
  • These "question part" analytical tests are of the highest priority, hence, if a word problem may be solved by using these high priority analytical tests, no further analytical testing need be performed
  • the test number which appears as a 1- 2-, or 3-d ⁇ g ⁇ t number at the beginning of a particular test corresponds to the chronological order in which that particular analytical test was developed
  • Test #146 was discovered relatively late in development of the subject invention, it is nonetheless a very high priority test
  • it is possible that other analytical tests will subsequently be developed in the context of the present invention which will be inserted into Table 1122A in accordance with the importance of the newly developed test vis-a-vis the importance of the existing tests in terms of the problem solving capability of the tests
  • Test #146 states that if the word "fraction" is found in the question array one of three enumerated tests will govern the resolution of the word problem depending on the various criteria set forth in the subcomponents of analytical test #146 If sub-tests numbers 1 or 2 hold true, the problem may be solved by taking the difference between the smaller number and the larger number, and dividing that difference by the larger number In all other cases for which analytical test #146 applies, the problem may be solved by taking the ratio of the smaller number over the larger number Various other analytical tests are set forth in Table 1122A for use in connection with the question array Depending on which analytical test is the first to be satisfied the system will determine which appropriate mathematical operation (if any) to be performed on the numbers used to solve the problem (/ e multiplication, division, addition or subtractions)
  • Test #117 simply states that if one or more of the words “add”, “adds”, “adding”, or “added” appears anywhere in the problem, the appropriate mathematical operation to be applied to the relevant numbers is addition
  • Analytical test #116 states that multiplication is the appropriate operation if any of the following words appear in the problem weekly hourly, monthly, yearly daily times group, groups, set, sets, full, each time
  • Table 1122A further comprises a series of analytical tests for use in connection with the information array
  • analytical test #31 states that if two numbers immediately follow each other, the appropriate operation is multiplication Test #35 states that if one of the words
  • step 1124 a series of post-tests are performed (step 1124), for example to confirm or refute the premise that the analytical test satisfied in step 1 122 was indeed the appropriate test for the then current word problem
  • certain analytical tests are exempted from post-test step 1124 Specifically, if the analytical test satisfied in step 1 122 corresponds to one of analytical tests #103, 104, 113 122 or 123 then post-test step 1 124 may be skipped entirely
  • the various post-tests set forth in Table 1124A are listed in order of priority with the post-test number at the beginning of each test indicating the chronological order in which the test was developed
  • post-test #108 states that if a proper name is followed by the word "for" or the word "to" in the information part of the problem, and the same proper name is also found in the question part of the problem, then the subtraction operation previously determined in step 1122 should be inverted, such that the addition operation should actually be employed to solve the then current word problem If none of the post-tests are satisfied, then the mathematical operation identified in step 1122 is appropriately performed
  • Table 1124A also includes a phase two post-test section, which includes certain one or more post-tests which specifically target a particular one or more analytical tests
  • post-test number 150 is to be performed only if step 1122 yielded a mathematical operation as a result of the word having satisfied analytical test #55 If any analytical test other than analytical test #55 was satisfied in step 1122 then the phase two post-test analysis need not be undertaken If, on the other hand, step 1122 yielded a mathematical operation based on the word problem having satisfied analytical test #55, then phase post-test number 150 is appropriately employed Specifically, phase post-test #150 states that if two numbers are in the information portion of the problem and these two number are fractions, and further if there is no match of an ADDSUB K group (memory sectors 5-13) in the question part of the problem then the appropriate mathematical operation is subtraction, not withstanding the fact that analytical test #55 yields the addition operation in all other cases
  • the system suitably generates an error message instructing the user that the problem is ambiguous (step 1126)
  • the system may be configured to resolve the ambiguity, by prompting the user to clarify the appropriate interpretation to be ascribed to the ambiguous language in the problem text
  • step 1002 upon completion of Test step 1002, and further having determined that the word problem comprises three or less numbers ("no" branch of step 1004) the system constructs a formula and calculates the answer to the word problem (step 1008)
  • step 1602 determines whether the word problem includes two numbers (step 1606) If so, ("yes" branch from step 1606), the system continues to step 1702 ( Figure 10), discussed in detail below If the word problem does not comprise two numbers ("no" branch of step 1606), the system proceeds to step 1608 If at step 1608 the system determines that the word problem does not comprise three numbers, ("no" branch from step 1608), an error message is generated If the system determines at step 1608 that the problem comprises three numbers ("yes” branch from step 1608) the system continues to step 1802 ( Figure 11)
  • step 1802 determines that the appropriate formula for resolving the current word problem is to add the two or three numbers together (step 1804) The system then calculates the answer by determining the sum of the two or three numbers (step 1806)
  • step 1802 if addition is not the appropriate operation (as determined from steps 1122 and 1124), ("no" branch from step 1802), the system simply continues to step 1808 (if subtraction is the appropriate operation), step 1814 (if multiplication is the appropriate operation), or to step 1822 (if division is the appropriate operation to be employed) If the system determines that neither addition, subtraction, multiplication, nor division are to be employed an error message is generated (step 1830)
  • step 1814 If multiplication is the appropriate operation (“yes" branch from step 1814), the system constructs the appropriate formula by multiplying the three numbers together (step 1816) and calculating the product of the three number (step 1818) Next the system checks the units of measure (step 1820) If multiplication fails to cancel the units of measure to match the units of measure in the answer, then division is performed ("no" branch of step 1820) Otherwise the product is displayed ("yes” branch of step 1820) If division is the appropriate operation (“yes” branch from step 1822) the system determines the appropriate formula by dividing two of the numbers together if the third number is equal to one (step 1824), otherwise, an appropriate error message may be generated Upon determining that one of the three numbers corresponds to a one, the system divides the other two numbers (step 1826) Next the system checks the units of measure (step 1828) If the division fails to cancel the units of measure in the answer, then multiplication is performed ("no" branch of step 1828) Otherwise the answer is displayed ("yes" branch of step 1828)
  • step 1704 the two numbers are added together (step 1704) and the sum of the two numbers is calculated (step 1704) if the result being displayed to the user (step 1706)
  • step 1708 If subtraction is the appropriate operation ("yes" branch from step 1708), the system determines that the appropriate formula is to subtract the smaller number from the larger number (step 1710), whereupon the system calculates the difference (step 1712)
  • step 1714 determines that the two numbers should be multiplied together (step 1716), calculates the product of the two numbers (step 1718), and checks the units of measure (step 1720) If multiplication fails to cancel the units of measure to match the units of measure in the answer, then division is performed ("no" branch of step 1720)
  • step 1720 determines the formula by dividing the larger number by the smaller number unless the word "into” is found proximate a number, in which case the "into number” shall be deemed the smaller number (step 1722)
  • the answer is then calculated (step 1724) and the units of measure are checked (step 1728) If division fails to calculate units of measure to match the units of measure in the answer, then multiplication is performed ("no" branch of step 1728) Otherwise the answer will be displayed to the user ("yes" branch of step 1728)
  • the system may be configured to prompt the user to facilitate the problem solving process
  • many words and phrases may be ambiguous depending on the context in which they are used Indeed it may be possible to achieve a first answer to a problem if a first interpretation of a word or phrase is employed, whereas a second, different answer may result if an alternate interpretation of the same word or phrase is used
  • PSW after a number matches another PSW after another number, then PSW before the numbers are not valid PSW's
  • Substitute words from the TIME group with their keywords substitute “before” if it's in the TIME group meaning before, or "after” if it's in the TIME group meaning after).
  • ADDSUB K word The most significant word is not the K7 word.
  • K word 'to' K word - keep second K ( infinitive rule ) - unless K word is K6.
  • K word followed by K2A no number - keep K2A unless K word is K6.
  • KEYWORD EACH, COMPARISON GT OR LT OR PSW AND OTHER KEYWORDS
  • Keyword "each” in Information Keyword "each” in Question part, & Comparison test (GREATER THAN or LESS THAN) in Intormation part but not keyword 'each time' + Addition
  • Keyword "each” in Information part Keyword “each” in Question part, & Comparison (LESS THAN) in Information part but not the keyword “each time” - Subtraction
  • Unit of Measure "per" Unit of Measure X Multiplication If the words “ a" or “an” or “at” fol lowed by Unit of Measure X Multiplication If the Keywords “double” or “doubled” or “triple” or “tripled”, “quadruple” or “quadrupled” X Multipl ication If the word is included in AddSub group K4 and a number / unit and the word “Down"), not in same sentence + Addition If the Keywords "spend”, “spent”, “spends” in Question Part + Addition It the Keyword “sam” fol lowed by the word “at” in the same punctuation group followed by a number followed by Unit of Measure + Addition If Keyword “subtract", or” subtracts “ or “subtracted”, or “disappear”,
  • Keywords "altogether”, ot "but” - Subtraction If the Keyword “another” + Addition If Keyword “ago” and "before” - Subtraction It two numbers are separated by the word "and” within the same punctuation without any AddSub K word(s) -t- Addition If Comparison Greater Than in the Intormation Part and a proper name fol lowing the word "than” matches with PROPER NAME in the Question Part - Subtraction It Comparison Greater Than in the Intormation Part and a proper name following the word "than” does not match with PROPER NAME in the Question Part - ⁇ - Addition
  • Prep Object in Question Part matches prepositional objects in the Intormation Part with 2 prepositional objects in the Information part - - Subtraction
  • TESTS 122, 103, 104, 1 1 3, 1 23

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Machine Translation (AREA)

Abstract

A system and method for solving logical word problems in a manner which accounts for the inherent ambiguity in language. When the text of a word problem is entered into a computer configured in accordance with the present method, the text is divided into an information portion of the problem and a question portion of the problem (1102), and the various words comprising the text are characterized in accordance with predetermined groups of words (1104). Based on this characterization, the system selects the key words and/or numbers useful in solving the problem (1108-1118) and, in the context of a mathematical word problem, applies a series of predetermined tests (1119) to the characterized words to determine the appropriate mathematical operator (1122) to be applied to the previously selected numbers (1124) to thereby solve the problem (1126).

Description

METHODS AND APPARATUS FOR SOLVING WORD PROBLEMS
Technical Field The present invention relates, generally, to methods and apparatus for solving mathematical and logical problems expressed in prose, known as word problems, and more particularly to a technique for resolving the text of a word problem into a series of fundamental mathematical operations
Background of the Invention Artificial intelligence systems implemented in software are generally well known Often referred to as "expert systems," these facilities utilize extensive bases of experience and data to produce a set of rules used to control processes, acquire new data, and in many cases solve problems
Expert systems are particularly well suited to environments involving repetitive fact patterns, for which the predictability of issues and solutions is high The ability to synthesize and adapt expert systems is compromised, however, in environments having multiple parameters which are not well ordered Stated another way, the ability of an expert system embodied in software to consistently solve problems is a function of the predictability of the various solutions which the expert system is asked to generate One of the more predictable aspects of mathematical problems surrounds the fact that even highly complex mathematical problems may be resolved into a series of discreet mathematical functions, even though the series of discreet mathematical functions may comprise a large number of relatively simple functions linked together Indeed, extremely complex multiplication algorithms are routinely implemented in digital computer systems in the form of "shift-and-add" algorithms capable of performing complex multiplication via a series of simple binary additions
It is also known that virtually any mathematical problem, regardless of its complexity, may be resolved into an interrelated series of four fundamental mathematical operations, namely addition, subtraction, division, and multiplication As early students of division will recall the division operation itself may be resolved into a series of related subtraction and multiplication operations Since subtraction is merely the addition of two quantities, one of which is negative, and further since multiplication may be conveniently carried out in a digital system in the form of a series of addition functions, the theoretical basis for complex mathematical transactions is indeed quite simple The difficulty associated with articulating, learning and implementing mathematically-based problems and solutions is in large measure attributed to the limitations imposed by language Although modern languages are quite well adapted to expressing emotions, hierarchal concepts, and the like, the degree of flexibility, style, and inflection necessarily required by modern language at the same time limits the precision with which modern languages are able to consistently articulate mathematical concepts. Mathematical problems expressed in prose are often referred to as "word problems." While the underlying mathematical precepts set forth in the word problem are typically rather mundane, students and even everyday consumers continue to be baffled by word problems. One of the premises of the present invention surrounds the fact that the difficulty associated with understanding and solving word problems is more attributable to the language used to express word problems as opposed to the level of difficulty associated with the underlying mathematics of the word problems.
Furthermore the understanding of and the ability to manipulate mathematical concepts is fundamental to successful adaptation in any civilization. Western society has developed powerful and mature educational institutions for imparting an understanding of mathematics to its students and, ultimately, to its consumers.
Well-developed methodologies have evolved for teaching mathematics to children at relatively early developmental stages. In particular, the word problem plays an important role in nurturing both a student's mathematical abilities, as well as in teaching basic analytical techniques. A word problem essentially presents a short fact pattern involving numerical manipulation, and prompts the student to manipulate the relevant information to thereby solve the word problem.
All word problems contain one or more numbers, either literally or implicitly. For example, a word problem may recite a "starting basketball team" or a "baseball team", which implicitly sets forth the numbers 5 and 9, respectively. Many word problems, however, also include numerical values which are not needed in solving the word problem. Thus, the student must learn to analyze the word problem and discriminate between the information in the problem necessary to successfully solve the problem from extraneous information. Students who are able to quickly identify the relevant information in a word problem are typically viewed as having a relatively high mathematical aptitude; conversely, students who have difficulty discriminating between the relevant and irrelevant information in a word problem, or who otherwise have difficulty understanding the problem to be solved, are often labeled as having a relatively low mathematical aptitude.
Not surprisingly, word problems involving mathematical manipulation are perhaps even more compelling and pervasive outside the classroom. Everyday life presents individuals with a constant barrage of mathematical problems to be solved. Typical examples include: dispensing the correct amount of change to a consumer when consummating a sales transaction; manipulating volumetric and weight measures in chemical applications and recipes for home cooking; applying grass seed, fertilizer, and weed killer in a landscaping application; determining the amount of gas needed to reach a known destination in an automobile, determining the amount of money available to a family as disposable income once essential bills have been paid; and so on.
It is thus fundamental that a student or consumer be able to discern the relevant mathematical operations from a verbal fact pattern. However, verbal fact patterns tend to be ambiguous, such that the ability to quickly solve most word problems is impeded by linguistic ambiguity.
More particularly, many words important in understanding a word problem are often ambiguous, or otherwise have different meanings depending on, among other things, the context in which the word is used and the linguistic and cultural experience that the consumer or student brings to the table. Moreover, to the extent the fact pattern of the word problem includes information which is not essential to its solution, the difficulties associated with linguistic ambiguity are exacerbated.
A methodology is thus needed for properly selecting the relevant information from a word problem and using that information to solve the problem in an accurate, efficient, and unambiguous manner.
Summary of the Invention
The present invention provides methods and apparatus for solving word problems which overcome many shortcomings of the prior art. In accordance with one embodiment of the present invention, a digital computer may be conveniently configured to manipulate a word problem and resolve it into the numbers and mathematical operations necessary to solve the problem. By correctly isolating the relevant numbers and identifying the appropriate mathematical operations, if an operation is required, virtually any properly constructed word problem may be quickly and accurately solved. In accordance with a preferred embodiment of the present invention, a conventional personal computer (PC) may be adapted to solve word problems or, alternatively, an apparatus may be constructed which comprises the computing components useful in implementing the methodologies described herein. In particular, an exemplary system useful in implementing the subject methodologies includes a processor for executing preprogrammed instructions, a programmable ROM (e.g., EPROM) configured to store various keyword and other operational databases, a keyboard or other input/output interface for permitting the user to enter a word problem into a system, and a monitor or other output device for displaying the word problem to be solved as well as the solution to the word problem.
An exemplary method useful in accordance with the present invention involves separating the word problem into an information portion and a question portion of the problem. The various words comprising the information and question portions of the problem are suitably processed and categorized in accordance with a plurality of predetermined groups of words. In accordance with
- 3 - a preferred embodiment of the invention, at least three such groups are particularly useful in solving word problems: unique keywords; ADDSUB groups (also referred to herein as "K words" which imply gain, loss, being, or transition); and solvewords. The system applies a set of predetermined rules to the words of the problem on the basis of the assigned categories in order to determine the appropriate arithmetic operation used to solve the problem.
In addition, an exemplary method in accordance with the present invention involves identifying one or more solvewords used in solving a word problem. In accordance with a particularly preferred embodiment of the present invention, potential solvewords are identified from the information portion of the word problem, and a unique solveword is identified (if one exists) if the same solveword also appears in the question portion of the same word problem.
The information and question portions of the word problem are also searched to determine the presence of various other keyword groups often useful in solving the word problem.
Once the relevant numbers and keywords are extracted from the word problem, they are resolved into one or more fundamental mathematical operation(s) (if an operation is required) to thereby solve the word problem, as appropriate; that is, some word problems simply are not conveniently resolvable into mathematical operations.
In accordance with a further aspect of the present invention, a large percentage of word problems, regardless of their complexity, may be broken down into one or more fundamental mathematic operations (addition, subtraction, multiplication, and division), or no operation if none is required. By applying a robust set of rules determined in accordance with well accepted language rules and other nuances derived from properly constructed word problems, even highly complicated mathematical fact patterns may be efficiently broken down into fundamental mathematical operations.
While the present invention is set forth in the context of English language-based mathematical word problems, it will be appreciated that the methods and apparatus described herein are equally applicable to the solution of virtually any mathematical and logic-based word problems in any language. In this regard, the various rules applied to the text of a word problem to properly ascertain the relevant information and determine the appropriate mathematical operations will thus be adapted in accordance with the particular logical operation and language to which the algorithms discussed herein are applied.
Brief Description of the Drawing Figures The subject invention will hereinafter be described in conjunction with the appended drawing figures, wherein like numerals denote like elements, and:
Figures 1-11 are flow charts setting forth the various methodologies useful in the context of the present invention;
Figure 12 is a block diagram of an exemplary computer system configured in accordance with the present invention; Figure 13 is an exemplary embodiment of an item list useful in the context of the present invention; and
Figure 14 is a fully categorized version of the item list set forth in Figure 11.
Detailed Description of Preferred 5 Exemplary Embodiment
Referring now to Figure 12, an exemplary computer system 100 useful in the context of the present invention, suitably includes a processor housing 102, a display 104, for example a CRT, LCD, or other convenient user-interface display, as well as one or more interactive user I/O devices, for example a keyboard 106 or a voice synthesis/response module 108.
1.0 Housing 102 suitably includes a microprocessor 112 which suitably controls operation of system 100, respective programmable ROM sections 114, 116, 118, a RAM section 120, a clock 122, and a power source 124. For conventional PCs and other similarly configured devices, power sources 124 suitably comprises a standard AC interface; for hand-held or portable devices, power source 124 may comprise a replaceable or rechargeable battery.
15 ROM section 114 suitably comprises an appropriate EPROM, EEPROM or the like and is configured to embody a plurality of keyword and other "word" databases, as described in greater detail in conjunction with, inter alia, Figures 1-11.
More particularly, ROM 114 includes, among other things, respective memory sectors 1-36 corresponding to the various groups of words identified by the present inventor as being important
20 in solving word problems.
Memory sectors 1-36 represent an evolving grouping of words, it being understood that the composition of each of the various memory sectors may from time to time be enhanced, augmented, or otherwise amended as the experience base upon which the groupings are predicated continues to mature. 25 The various words which comprise respective memory sectors 1-36 are set forth in detail in Tables 1-36. For convenience, sectors 1-36 may be briefly characterized as follows:
Memory sector (or "Class") 1 , is referred to as the "both or and" class, and includes the words "both,", "or", and "and."
Memory sector 2 is referred to as the "greater than" or "GT" group, and includes
30 (as set forth in detail in Table 2) words such as "more," "faster," "higher," and the like.
Memory sector 3 is referred to herein as the "less than" or "LT" word group and includes words such as "slower," "shorter," and the like.
Memory sector 4 is referred to herein as the "unit of measure" group, and includes words such as "mile," "pint," "hours," and the like. 35 Memory sector 5 is referred to herein as the "K1" group, one of the ADDSUB categories, and includes words that imply gain.
Memory sector 6 is referred to herein as the "K2" group, one of the ADDSUB categories, and includes words that imply loss. Memory sector 7 is referred to herein as the "K3" group, one of the ADDSUB categories, and includes words which imply neither gain nor loss, but transition-change of state, such as "start," "fade," "went," and the like
Memory sector 8 is referred to herein as the "K4" group, one of the ADDSUB categories, and includes words which imply loss of access, such as "commit," "deposit,"
Memory sector 9 is referred to herein as the "K5" group, one of the ADDSUB categories, and includes words which imply state of being such as "is," "were," "am," and
Memory sector 10 is referred to herein as the "K6" group, one of the ADDSUB categories, and includes words which imply transposition such as "throw," "escape " and
Memory sector 11 is referred to herein as the "K7" group, one of the ADDSUB categories, and includes words which imply termination, such as "cease," "quit," and the
Memory sector 12 is referred to herein as the "K8" group, one of the ADDSUB categories, and includes words which imply gain or loss in time such as "has," "had " and "have " "Had", "been," and perhaps "will" may be the only words in this group
Memory sector 13 is referred to herein as the "K2A" group, and includes words which also imply loss, including "defective," "blemished," and the like
Memory sector 14 is referred to herein as the "Division Keywords" group and includes words such as "each," "full," "times," and "per "
Memory sector 15 is referred to herein as the "Multiplication Keywords" group and includes words which imply multiplication, including "daily," "weekly " "each time," and the
Memory sector 16 is referred to herein as the "Sub Keywords" group and includes the words "altogether" and "but "
Memory sector 17 is referred to herein as the "Sums Keywords" group and includes the words "equal," "evenly," and "equally " Memory sector 18 is referred to herein as the "Prepositions" group and includes the various recognized prepositions, including "above," "toward," and the like
Memory sector 19 is referred to as the "Subjective Pronouns" group and includes words such as "you," "it," and "they "
Memory sector 20 is referred to as the "Objective Pronouns" group and includes words such as "me" and "you "
Memory sector 21 is referred to as the "Possessive Pronouns" group and includes words such as "my," "your " and the like Memory sector 22 is alternately referred to herein as the "Miscellaneous" or "Question Keywords" group, and includes words such as "how," "what," "when," and the
Memory sector 23 is referred to herein as the "Conjunctions" group, and includes the words "and," "or," and "but "
Memory sector 24 is referred to herein as the "Time Before" word group, and includes words such as "prior" and "yesterday "
Memory sector 25 is referred to as the "Time After" word group and includes words such as "tomorrow," "later," and the like Memory sector 26 is referred to as the "Time Days" group and includes the days of the week
Memory sector 27 is referred to as the "Time Months" group and includes the months of the year
Memory sector 28 is referred to as the "Units of Measure in Between Words" group and includes words such as "each," "per," and the like
Memory sector 29 is referred to herein as the "Units of Measure in Between Words 2" group, and includes the words "a," "each," and "the "
Memory sector 30 is referred to herein as the "Time AM-PM" group and includes words such as "AM," "PM," "morning," and the like Memory sector 31 is referred to herein as the "Articles" class and includes the words "a," "an," and "the "
Memory sector 32 is referred to herein as the "CMeasure Data" group, and includes various units of measure for virtually every quantity, including the word "mile," "foot," "meter," "dollar," "penny," "gallon," "milliliter," "century " "milligram," "square foot," and the
Memory sector 33 is referred to herein as the "Conversions" group, and includes words such as "double," "one-half," "triple," "dozen," and the like
Memory sector 34 is referred to herein as the "Text Equivalents" group and includes phrases such as "basketball team," "soccer teams," "July," and the like Memory sector 35 is referred to herein as the "Proper Name/Female" group and includes all known female proper names, including "Brenda," "Erin," "Meghan " and "Wendy "
Memory sector 36 is referred to herein as the "Proper Name/Male" group and includes proper male names such as "Michael," "Charles," and "Sherman " Programmable ROM sector 116 suitably comprises databases relating to the various rules and criteria useful in determining the appropriate mathematical functions to be applied based on inter alia, the various ADDSUB K-groups, directive keywords, comparison keywords and solvewords present in the word problem to be solved More particularly, programmable ROM section 116 suitably embodies a first pretest sector
1119A, a second analytical test sector 1122A, and a third post-test sector 1124A Exemplary tests for these sectors are set forth in detail in respect of Tables 1119A, 1122A, and 1124A below The manner in which the pre-tests, analytical tests, and post-tests are applied in the context of the present invention is described in greater detail below in conjunction with, inter alia Figure 2
Programmable ROM 118 suitably comprises the operating system and/or other operational code executed by processor 112 during the task of problem solving
In this regard, many of the processes set forth in Figures 1-11 generally reflect this operational code RAM 120 suitably functions as the system's "scratch pad", and provides a memory space for manipulating the word problem, as described in greater detail below in conjunction with Figures 1-11
In accordance with the preferred embodiment of the present invention, respective programmable ROM sectors 114-118 are suitably non-volatile, such that system 100 may remain functional notwithstanding voltage surges, battery replacement, power outage, as well as the regular on/off cycling of the device
Referring now to Figures 1-11 , the word problem-solving process of the present invention will now be described
More particularly, a main loop 1000 outlines the general flow of the problem-solving process in accordance with one aspect of the present invention As an initial step, a word problem is entered into the computer within which the software governing the subject process is embodied (step 1001), for example by keying in the problem text via the computer's keyboard (not shown), by speaking the problem into a microphone adapted to cooperate with a speech recognition circuit (not shown), or by any other convenient mechanism Once the word problem is entered into the system, the problem is "tested" (step 1002) to identify, among other things, those words in the problem text which are relevant to resolution of the problem, as well as those which are not Step
1002 will be hereinafter described in greater detail in conjunction with Figures 2-8
One of the functions performed in step 1002 involves identifying numbers (e g , integers, fractions, and the like) in the problem text Although the present invention may be adapted to solve word problems having two, three, or more numbers, the preferred embodiment set forth herein is designed to solve a word problem having at most two or three relevant numbers therein
It will be appreciated, however, that the methods, apparatus, and techniques discussed herein may be adapted to accommodate word problems which incorporate more than three numbers and which require a large number of mathematical and logical operations for their solution The large number problems merely need to be compressed down to multiple problems consisting of two or three numbers and then passed through the current system For clarity, the invention is described herein in the context of a preferred embodiment wherein an exemplary word problem comprises two or three numbers to be manipulated
- 8 With continued reference to Figure 1 , if the word problem contains more than N numbers (in this example n = 3) (step 1004), an error message is generated (step 1006) indicating that the particular problem includes too many numbers and, hence, is not conveniently solvable.
If three or less numbers are found in the problem ("no" branch of step 1004), the system constructs a formula and calculates a mathematical answer to the word problem (step 1008). Step 1008 is described below in greater detail in conjunction with Figures 9-11.
Referring now to Figure 2, step 1002 of Figure 1 is set forth in greater detail. In particular, in accordance with a preferred embodiment of the present invention, the process of testing the current problem involves, among others, the steps of preparsing the problem (step 1102) as well as parsing the problem to identify potential solvewords (step 1104). Before continuing with the flow of Figure 2, it is instructive to discuss preparsing step 1102 and solveword parsing step 1104 in greater detail.
Referring now to Figures 3-7, auto preparse step 1102 is set forth in greater detail. More particularly, the various words (including numbers, as discussed below) comprising the problem text are converted into a list of words, punctuation marks, and numbers (step 1202), for example as illustrated in the item list 1202A shown in Figure 13. Once the item list shown in Figure 13 is constructed, the list is processed to facilitate the problem-solving analysis.
With continued reference to Figure 3, various words and phrases which are known by the present inventors to be irrelevant in solving virtually any word problem are eliminated (step 1206). For example, the present inventor has determined that the phrase "one that" may be a red herring, and may be discarded without affecting the analysis of the word problem.
The item list is then processed to determine the presence of any numeric equivalent words (step 1208) and, if any are present, these words are converted to their respective numeric equivalents. More particularly, step 1208 entails interrogating data base sector 33 (see Table 33) for each word in item list 1202A (Figure 13). For each word in the item list which also appears in Table 33, that word is deleted from the item list and its numeric equivalent substituted therefor. For example, the word "dozen" may be replaced with the integer "12," the word "decade" replaced with the number "10," and so on. Once the numeric equivalents are processed, the system ascertains whether the current version of the item list includes more than one number (step 1210). If only one number appears in the item list ("yes" branch of step 1210), the system also converts text equivalents (step 1212). More particularly, the conversion of text equivalents is generally analogous to the conversion of numeric equivalents discussed above in connection with step 1208. That is, the system scans the item list (Figure 13) and interrogates memory sector 34 (see Table 34); for each text equivalent word in the item list which also appears in Table 34, the text equivalent word is deleted from the item list and an equivalent number is substituted therefor. For example, the word "basketball team" may be replaced with the number "5," the phrase "football team" may be replaced with the number "11 ," and so on. Once the item list is finalized (including numenc and textual equivalent conversions) (step 1214), the system categorizes the item list (step 1216)
More particularly, step 1216 entails generating a memory map which effectively categorizes each word in the problem text as best seen in the categorized list 1216A illustrated in Figure 14 Generating this categorized list essentially entails interrogating memory sectors 1 -36 and for each word in the problem text, flagging the appropriate class or classes (corresponding to memory sectors 1-36) in which each particular word in the problem text appears This categorized list will be useful in subsequent processing, as discussed in greater detail below
Referring now to Figures 4A and 4B, auto preparse step 1102 (continued from Figure 3) further includes the task of separating the problem text into two discreet arrays including a first array corresponding to the "information" part of the problem and a second array corresponding to the "question" part of the problem
More particularly, the system interrogates categorized list 1216A (Figure 14) and identifies all of the question keywords, / e , each word which appears in memory sector 22 (see Table 22) If only one question keyword is found, that word is designated as the question keyword for the word problem If more than one potential question keyword is found, the system determines which question keyword is closest to the question mark in the problem text, and the question keyword appearing closest to the question mark is designated as the question keyword for the word problem Alternatively, a single question keyword may be designated from a plurality of potential question keywords by assigning relative priorities to the various words in Table 22
The system then begins looping through the problem text (e g , categorized list 1216A) from the beginning to thereby partition the problem text into the aforementioned information array and question array (step 1302)
When the system is done looping through the problem text ("yes" branch of 1304) the system "cleans up" any left over punctuation and copies it over to the information text (step 1326) then the system further refines the problem as discussed in greater detail below in conjunction with Figure 5
With continued reference to Figures 4A and 4B the system determines if the current item (/ e , the problem text word currently being investigated) is a punctuation mark which typically appears at the end of the information portion of a problem (step 1306) for example the punctuation marks - period, exclamation point, and semi-colon If the then current word corresponds to an information phrase ending punctuation ("yes" branch of step 1306), all items (problem text words, numbers, and the like) appearing in the problem text prior to the information phrase ending punctuation are copied into the information array (step 1308) In the preferred embodiment discussed herein respective information and question arrays are created in software as discussed above In an alternate embodiment of the present invention it may be desirable to simply add an additional field to categorized list 1216A to thereby indicate in a single composite array where each word of the problem text appropriately corresponds either to the information portion or the question portion of the text
- 10 - Once all items are copied into the information array (step 1308), the software marker is updated (step 1310) and the next successive problem text word appearing in categorization array 1216A is interrogated.
Returning to step 1306, if the then current word is not an information phrase ending punctuation ("no" branch of step 1306), the system determines if the current item is the question keyword previously identified in step 1301 (step 1312). If the current item is not the question keyword for the problem ("no" branch of step 1312), the system moves on to step 1318, as discussed in greater detail below.
If the current item in step 1312 is the question keyword for the problem ("yes" branch of step 1312), the system builds the question portion array by copying all items between the question keyword and the question mark punctuation into the question portion array, recognizing that a typical question portion of a word problem ends in a question punctuation mark (step 1314) The system then updates the software marker to recursively examine the next succeeding item in the word problem text list (step 1316). Returning to the "no" branch of step 1312, the system determines if the current item is a number (step 1318). If not, the system loops through to the next item in the text list (step 1304) If the current item is a number ("yes" branch of step 1318), all items appearing in the text list prior to the number are copied into the information array (step 1320). The system then processes cancellation routines "A" (step 1322) and "B" (step 1324). After the cancellation routines are processed, the system continues to loop through the foregoing process until all items in the problem text are interrogated ("yes" branch of step 1304).
Referring now to Figures 6A and 6B, in cancellation routine part "A" (step 1322), the system first checks to determine if the question portion of the problem contains a number (step 1902). If it does not, the system returns to step 1304 and continues to loop through the problem text ("no" branch of step 1902). If the question portion does contain a number, the system checks to determine if the information portion of the problem contains five or more numbers (step 1904) If not, the process loops back to step 1304 ("no" branch of step 1904) If the information portion of the problem does contain five or more numbers, the system next checks for a "greater than" or "less than" (GT/LT) keyword (step 1906). If no GL/LT keyword is found, the process moves on to step 1304 ("no" branch of step 1906) Otherwise, the system checks to determine if the solveword in the question portion of the problem matches the solveword in the information part (step 1908) If the two solvewords match, the system will categorize the numbers in the information part of the problem that match the solveword in terms of "A" and "B" (step 1910). otherwise, the system returns to step 1304 ("no" branch of step 1908). In categorizing the numbers (step 1910), the system checks the numbers which follow the
GT/LT keyword. If the first number after the GT/LT keyword is greater than the second number after the GT/LT keyword, the first number becomes "A" and the second number "B"; otherwise, the first number becomes "B" and the second number becomes "A " Consider the following example word problem:
- 11 Bill was five pounds lighter ten years ago than he was two years ago. Ten years ago he weighed 160 pounds. How much did he weigh two years ago?
Here, the numbers after the GT/LT keyword "lighter" are "ten" and "two." Because "ten" is greater than "two," "ten" is designated as "A" and "two" is designated as "B." After the numbers are categorized, the system decides which mathematical expression to use (step 1920). If the recognized keyword is a "less than" keyword, the following relationships apply:
Sequence Operation
(1) AB and AB + (2) BA and BA +
(3) BA and AB
(4) AB and BA
If the recognized keyword is a "greater than" keyword, the following relationships apply:
Sequence Operation (5) AB and AB
(6) BA and BA
(7) BA and AB +
(8) AB and BA +.
Referring again to the above example, A=10 and B=2. The problem reads "ten years ago than he was two years ago." This corresponds to an AB relationship (i.e. , the "A" number appears first, followed by the "B" number). Continuing through the problem, it reads "Ten years ago he weighed 160 pounds. How much did he weigh two years ago." In this section, "ten" again appears before "two" corresponding to another AB relationship. Therefore, we have an "AB and AB" situation. Because the keyword "lighter" is a "less than" keyword, relationship (1) is satisfied, and the "+" operator is selected.
The system then returns and processes cancellation routine part B, step 1324. Note that the system never gets to step 1324 unless it processes step 1322 completely.
In step 1324, the system first checks the question part of the problem to determine if it contains a number (step 2002). If no number is found, the system returns to step 1304 and continues to loop through the problem text ("no" branch of 2002). If a number is found, the system determines whether the solveword in the question part of the problem matches that in the information part (step 2004). If the solvewords don't match, the system returns to step 1304, otherwise, the system processes step 2006.
In step 2006, the system determines whether the number in the question part matches that in the information part. If it does, the system processes step 2008 ("yes" branch of step 2006); otherwise, it returns to step 1304 ("no" branch of step 2006). In step 2008, the system eliminates the number in the question part, and all numbers in the information part that match the solveword; then returns.
Referring now to Figure 5, the present inventor has determined that single ordinals do not typically affect the outcome of a word problem, and thus can usually be discarded. More particularly, ordinals are essentially words which represent a position within a series, for example, "1st," "2nd," "80th." The system thus eliminates ordinals from both the information array (step 1402) and from the question array (step 1404).
The problem text is further refined by making explicit that which is implicit in many word problems. For example, consider the following phrase: "Bob gave two dollars to John and four to Mary." While it is implicit that Bob gave four dollars to Mary, the literal words of the text state only "four to Mary". Thus, the system identifies each occurrence of the word "and," and then determines for each occurrence whether the word "and" is followed by a K word any time between the word "and" and the end of the sentence. If the word "and" is followed by a K word, the system does nothing. If the word "and" is not followed by a K word, the system searches for the first occurrence of a K word preceding the word "and," and inserts that K word immediately following the word "and" (step 1406). Thus, in the previous example, the text would be amended to state "and gave four to Mary."
The information array and question array are then reconciled to include any changes affected by step 1406 (step 1408). Referring again to Figure 2, upon conclusion of auto preparse step 1102, the system analyzes the problem text to parse out potential solvewords (step 1104). Referring now to Figure 8, the categorized text item list shown in Figure 14 is again reconciled to ensure that every item, and especially those items which were added, deleted or amended in the preceding steps, is fully and properly characterized (i.e., the various classes to which each of the items belong is appropriately flagged) (step 1502). The system then marks all potential proper names in both the information array and the question array for later use (step 1504). In this regard, the system may simply scroll through the various items comprising the word problem text and identify any words which belong to either memory sector 35 (female proper names) or memory sector 36 (male proper names) or, alternatively, the system may interrogate categorized list, 1216A (Figure 14) to determine those words for which a flag exists corresponding to memory sectors 35 and/or 36.
The system then flags those items (words) which are pronouns in both the information and question arrays (step 1506). Thereafter, the system substitutes all occurrences of pronouns with the proper name to which the pronouns refer, where possible (step 1508).
The system then searches for and marks all potential solvewords (step 1510). In this regard, many word problems contain a solveword which, if identified, can facilitate resolution of the problem. If a solveword does not exist or cannot be identified as a solveword, the problem may nonetheless be solved through the techniques described hereinbelow.
In accordance with one aspect of the present invention, many potential solvewords may be identified (step 1510) through the following procedure. For each number appearing in the information text, the system examines the first, second and third words following the number. If the second word following a number is neither "of nor
"with," then the system determines that the first word following the number is a potential solveword (PSW) for that problem If, on the other hand, the second word following the number is the word "of," the system determines if the first word following the number is a unit of measure (/ e does the first word following the number belong to memory sector 32, see Table 32) If the second word following the number is "of," and the first word following the number is a unit of measure the system determines that the third word following the number is a PSW for that word problem If the second word following the number is "of but the first word following the number is not a unit of measure, the system determines that the first word following the number is the PSW
As an example, consider the phrase "five ounces of lime " In accordance with the foregoing algorithm, the first word following the number five is "ounces," the second word is "of," and the third word is "lime " Thus, the system will determine that the second word is "of," and thus analyze the first word to determine if it is a unit of measure Because the word "ounces" is found in memory sector 32, the system determines that the first word is indeed a unit of measure and thus identifies the word "lime" as the PSW for this word problem
Finally, if punctuation appears after a number, the system determines that no PSW exists for that number
Having identified the PSWsfor a particular word problem, the system then performs various other refinements In the context of a preferred embodiment of the present invention the system searches the text for phrases of the form # "for" #, as in the phrase "6 apples for three dollars apiece" (step 1512) The system then substitutes the equivalent mathematical representation "#X#" for the foregoing phrase, again making explicit what is implicit in the text of the problem, namely, that the effect of purchasing six apples at $3 apiece is multiplying six times three
Referring again to Figure 2, having concluded step 1104, the system then continues its various problem test tasks
In particular, the system then identifies all words which indicate an event prior to or subsequent to the present tense, that is, the system identifies all words in the problem text which appear in one of memory sectors 24 and 25 (see Tables 24 and 25) (step 1106) The system further analyzes the text to determine if these "time" words are potentially relevant to resolution of the problem if these time words are not relevant, they are eliminated Specifically the time words are eliminated if they appear in a phrase which also contains the word "ago " if the word problem does not also contain a "greater than" or "less than" word from memory sectors 2 and 3 respectively (see Tables 2 and 3) (step 1106)
The system then determines if the information array contains no numbers (step 1008) If so, each proper name which appears in the information array (if any) is treated as the number "1"
(step 1108) Sentences and/or phrases which are bounded by punctuation (in this context, the beginning of a sentence is defined as a punctuation) but which have no numbers in them or had all the
14 numbers deleted by cancellation routine "A" or "B" are deleted (step 1110) This results from a recognition that such phrases are simply not generally necessary in order to solve a word problem The system then identifies all "before" time words (/ e corresponding to memory sector 24, Table 24) and substitutes each of them with the word "before" (step 1112) Similarly, all "after" time words (/ e corresponding to memory sector 25, Table 25) are replaced with the word "after" (step 1112)
In accordance with a further aspect of the present invention, words which imply termination or cessation are included in memory sector 11 (See Table 11 ) While these words may sometimes be useful in conceptualizing a problem, they may also be distracting Thus, the present inventors have determined that such termination words may be eliminated if they appear in a phrase which contains another "K" word (step 1114) As a further step in refining the problem for evaluation, the present inventors have also determined that words belonging to memory sector 12 (Table 12) may be eliminated if two of such words appear consecutively (step 1116) For example, memory sector 12 includes the words "has", "had", and "have" By searching for phrases such as "has had" and the like, the word problem may be simplified by eliminating one or both of these words (step 1116)
The system is further configured to eliminate certain words which follow immediately after the word "on" (step 1118) More particularly, words belonging to one of memory sectors 26 and 27 (See Tables 26 and 27) corresponding to the days of the week in the calendar month may be eliminated to the extent they follow the word "on" (step 1118), further simplifying the problem
Various other pretests are then performed (step 1119) to streamline the upcoming process of structuring a formula and calculating the answer to the problem These pretests are drawn from extensive experience with specific word problems Table 1119A includes a brief recitation of many other pretests which may be performed in the context of the present invention While the overwhelming majority of pretests will not be germane to a particular problem, a robust series of pretests is nonetheless desirable in that it increases the number of word problems which may be effectively resolved in accordance with the subject invention
The system then reconstructs the problem string from the items lists (step 1120) Having concluded the pretest phase of the analysis, the system then runs through a large number of analytical tests (step 1122) to determine the appropriate mathematical operation to be applied to the numbers previously isolated in the problem text Again, these analytical tests are not necessarily intuitive or subject to rigorous mathematical proof, rather, they comprise a series of tests based on the interplay between grammar, punctuation, sentence structure, and other linguistic subtleties which implicitly or otherwise suggest the appropriate mathematical operation to be performed on the numbers in order to solve the problem As such, the analytical tests by their nature are not well suited to discrete, concise formulae, rather, a large number of analytical tests have been developed to account for the various themes and idiosyncracies involved in
- 15 - expressing mathematical functions in ordinary, everyday language These analytical tests may be enhanced and augmented as additional problems are encountered and new rules are determined
At the root of the analytical tests is a recognition that regardless of the degree of complexity associated with a particular fact pattern, virtually any word problem can be resolved into one or more of the following discrete mathematical operations addition, subtraction, multiplication and division (however, as stated previously some word problems are not conveniently resolvable into mathematical operations) By analyzing the inherent "mathematical" meaning suggested by various words in the problem text and further by analyzing the interplay among the various words in the problem text, the discrete mathematical operatιon(s) most appropriate for a particular word problem may be ascertained
With continued reference to step 1122 and also referring now to Table 1122A, the various analytical tests developed in connection with the subject invention are suitably set forth and executed in accordance with the relative priority among the various tests comprising Table 1122A That is, tests of higher priority are executed first, so that if a word problem satisfies two or more analytical tests, the problem is appropriately solved using the analytical test having the higher priority Stated another way, once an analytical test is satisfied in the context of the preferred embodiment set forth herein, the appropriate mathematical operation to be applied to the previously isolated numbers is ascertained and no further analytical tests need be performed Indeed, it is possible the same word problem may also satisfy subsequent analytical tests of lower priority, but which may yield an incorrect result inasmuch as the order in which the analytical tests are performed deliberately takes into account the relative priority of the various analytical tests comprising Table 1122A
As best seen in Table 1122A, the analytical tests suitably comprise a first series of analytical tests for the question part of the problem, and are therefore applied to the items contained in the question array discussed above in conjunction with steps 1312-1315 (Figures 4A and 4B) These "question part" analytical tests are of the highest priority, hence, if a word problem may be solved by using these high priority analytical tests, no further analytical testing need be performed Furthermore, the test number which appears as a 1- 2-, or 3-dιgιt number at the beginning of a particular test corresponds to the chronological order in which that particular analytical test was developed Thus, although Test #146 was discovered relatively late in development of the subject invention, it is nonetheless a very high priority test In this regard, it is possible that other analytical tests will subsequently be developed in the context of the present invention which will be inserted into Table 1122A in accordance with the importance of the newly developed test vis-a-vis the importance of the existing tests in terms of the problem solving capability of the tests
16 For example, Test #146 states that if the word "fraction" is found in the question array one of three enumerated tests will govern the resolution of the word problem depending on the various criteria set forth in the subcomponents of analytical test #146 If sub-tests numbers 1 or 2 hold true, the problem may be solved by taking the difference between the smaller number and the larger number, and dividing that difference by the larger number In all other cases for which analytical test #146 applies, the problem may be solved by taking the ratio of the smaller number over the larger number Various other analytical tests are set forth in Table 1122A for use in connection with the question array Depending on which analytical test is the first to be satisfied the system will determine which appropriate mathematical operation (if any) to be performed on the numbers used to solve the problem (/ e multiplication, division, addition or subtractions)
With continued reference to Table 1122A, a number of analytical tests have also been developed which are applicable to both the information and question arrays For example Test #117 simply states that if one or more of the words "add", "adds", "adding", or "added" appears anywhere in the problem, the appropriate mathematical operation to be applied to the relevant numbers is addition Analytical test #116 states that multiplication is the appropriate operation if any of the following words appear in the problem weekly hourly, monthly, yearly daily times group, groups, set, sets, full, each time
Table 1122A further comprises a series of analytical tests for use in connection with the information array For example, analytical test #31 states that if two numbers immediately follow each other, the appropriate operation is multiplication Test #35 states that if one of the words
"equal", "evenly", or "equally" appear in the information part of the problem, then the appropriate operation is division
Finally, if the system analyzes the problem text in accordance with each of the approximately 160 enumerated analytical tests without encountering a single analytical test which is satisfied by the problem text, the system default is addition (analytical test #30) unless modified by a later post test
Returning now to Figure 2, upon completion of step 1122 a series of post-tests are performed (step 1124), for example to confirm or refute the premise that the analytical test satisfied in step 1 122 was indeed the appropriate test for the then current word problem In accordance with the further aspect of the present invention, certain analytical tests are exempted from post-test step 1124 Specifically, if the analytical test satisfied in step 1 122 corresponds to one of analytical tests #103, 104, 113 122 or 123 then post-test step 1 124 may be skipped entirely As discussed above in connection with analytical test step 1122 the various post-tests set forth in Table 1124A are listed in order of priority with the post-test number at the beginning of each test indicating the chronological order in which the test was developed
Succinctly many of the phase one post-tests set forth in Table 1124A address situations in which the mathematical operation determined in step 1122 should be inverted in appropriate
- 17 - circumstances For example, post-test #108 states that if a proper name is followed by the word "for" or the word "to" in the information part of the problem, and the same proper name is also found in the question part of the problem, then the subtraction operation previously determined in step 1122 should be inverted, such that the addition operation should actually be employed to solve the then current word problem If none of the post-tests are satisfied, then the mathematical operation identified in step 1122 is appropriately performed
Finally, Table 1124A also includes a phase two post-test section, which includes certain one or more post-tests which specifically target a particular one or more analytical tests For example, post-test number 150 is to be performed only if step 1122 yielded a mathematical operation as a result of the word having satisfied analytical test #55 If any analytical test other than analytical test #55 was satisfied in step 1122 then the phase two post-test analysis need not be undertaken If, on the other hand, step 1122 yielded a mathematical operation based on the word problem having satisfied analytical test #55, then phase post-test number 150 is appropriately employed Specifically, phase post-test #150 states that if two numbers are in the information portion of the problem and these two number are fractions, and further if there is no match of an ADDSUB K group (memory sectors 5-13) in the question part of the problem then the appropriate mathematical operation is subtraction, not withstanding the fact that analytical test #55 yields the addition operation in all other cases
In the event a word problem is determined to be ambiguous, the system suitably generates an error message instructing the user that the problem is ambiguous (step 1126) In addition, the system may be configured to resolve the ambiguity, by prompting the user to clarify the appropriate interpretation to be ascribed to the ambiguous language in the problem text
Returning now to Figure 1 , upon completion of Test step 1002, and further having determined that the word problem comprises three or less numbers ("no" branch of step 1004) the system constructs a formula and calculates the answer to the word problem (step 1008)
More particularly in referring now to Figure 9, at this point in the analysis the system has already determined that the word problem comprises either one, two, or three numbers If the word problem comprises one number ("yes" branch of step 1602), this number is increased by one (step 1604) to yield the answer to the problem If the problem comprises two or three numbers ("no" branch from step 1602), the system determines whether the problem includes two numbers (step 1606) If so, ("yes" branch from step 1606), the system continues to step 1702 (Figure 10), discussed in detail below If the word problem does not comprise two numbers ("no" branch of step 1606), the system proceeds to step 1608 If at step 1608 the system determines that the word problem does not comprise three numbers, ("no" branch from step 1608), an error message is generated If the system determines at step 1608 that the problem comprises three numbers ("yes" branch from step 1608) the system continues to step 1802 (Figure 11)
- 18 - The base system solves problems with three or fewer numbers However, problems with more than three numbers can be solved by breaking the problem down into multiple problems with three or fewer numbers The system may be configured to solve each smaller problem then combine the results to get the final answer Referring now to Figure 11 , at this point in the analysis the system has determined that the current word problem comprises three numbers, and the system has previously ascertained the appropriate mathematical operation to be performed (See steps 1122 and 1124 Figure 2)
If addition is the appropriate operation ("yes" branch from step 1802) the system determines that the appropriate formula for resolving the current word problem is to add the two or three numbers together (step 1804) The system then calculates the answer by determining the sum of the two or three numbers (step 1806)
Returning to step 1802, if addition is not the appropriate operation (as determined from steps 1122 and 1124), ("no" branch from step 1802), the system simply continues to step 1808 (if subtraction is the appropriate operation), step 1814 (if multiplication is the appropriate operation), or to step 1822 (if division is the appropriate operation to be employed) If the system determines that neither addition, subtraction, multiplication, nor division are to be employed an error message is generated (step 1830)
If subtraction is the appropriate operation to be performed on the three numbers comprising the current word problem ("yes" branch from step 1808), this operation will be deferred First the system will add two numbers that surround either the word "and" or "plus " This sum will then be subtracted from the third number Alternatively, the system will add the two numbers that are not the largest of the three The system then subtracts this sum from the other numbers (step 1810) and displays it for the user (step 1812)
If multiplication is the appropriate operation ("yes" branch from step 1814), the system constructs the appropriate formula by multiplying the three numbers together (step 1816) and calculating the product of the three number (step 1818) Next the system checks the units of measure (step 1820) If multiplication fails to cancel the units of measure to match the units of measure in the answer, then division is performed ("no" branch of step 1820) Otherwise the product is displayed ("yes" branch of step 1820) If division is the appropriate operation ("yes" branch from step 1822) the system determines the appropriate formula by dividing two of the numbers together if the third number is equal to one (step 1824), otherwise, an appropriate error message may be generated Upon determining that one of the three numbers corresponds to a one, the system divides the other two numbers (step 1826) Next the system checks the units of measure (step 1828) If the division fails to cancel the units of measure in the answer, then multiplication is performed ("no" branch of step 1828) Otherwise the answer is displayed ("yes" branch of step 1828)
- 19 - Returning now to Figure 9, if the system determines that the current word problem comprises two numbers ("yes" branch from step 1606), the system continues to step 1702
Referring now to Figure 10, if the appropriate operation is addition, the two numbers are added together (step 1704) and the sum of the two numbers is calculated (step 1704) if the result being displayed to the user (step 1706)
If subtraction is the appropriate operation ("yes" branch from step 1708), the system determines that the appropriate formula is to subtract the smaller number from the larger number (step 1710), whereupon the system calculates the difference (step 1712)
If multiplication is performed ("yes" branch from step 1714), the system determines that the two numbers should be multiplied together (step 1716), calculates the product of the two numbers (step 1718), and checks the units of measure (step 1720) If multiplication fails to cancel the units of measure to match the units of measure in the answer, then division is performed ("no" branch of step 1720)
If division is the appropriate operation ("yes" branch from step 1720), the system determines the formula by dividing the larger number by the smaller number unless the word "into" is found proximate a number, in which case the "into number" shall be deemed the smaller number (step 1722) The answer is then calculated (step 1724) and the units of measure are checked (step 1728) If division fails to calculate units of measure to match the units of measure in the answer, then multiplication is performed ("no" branch of step 1728) Otherwise the answer will be displayed to the user ("yes" branch of step 1728)
It will be understood that the foregoing description is of preferred exemplary embodiments of the invention, and that the invention is not limited to the specific forms shown For example at any convenient point during problem resolution, the system may be configured to prompt the user to facilitate the problem solving process In particular, it has been observed that many words and phrases may be ambiguous depending on the context in which they are used Indeed it may be possible to achieve a first answer to a problem if a first interpretation of a word or phrase is employed, whereas a second, different answer may result if an alternate interpretation of the same word or phrase is used
Accordingly, it may be desirable to configure the system to prompt the user to resolve ambiguity so that the answer determined by the system is consistent with the interpretation of any ambiguos words and/or phrases ascribed by the user These and other various modifications may be made in the design and arrangement of the elements set forth herein without departing from the scope of the invention as expressed in the appended claims
20 - [Question Type] 43=dime
1= Addition TABLE 2 44=quarter
2=Subtraction [Greater Than Comparison] 45=dollar
3= ultiplication 1 =more 46=hundred
4=Division 2=heavier 47=thousand
5=Formula 3=taller 48=million
4=longer 49=billion
5=faster 50=pounds
[Word Groups] 6=older 51 =miles per hour
1=Both or And 7=higher 52=pints
2=Greater Than Comparison 53=gallons
3=Less Than Comparison 54=weeks
4=Unit of Measure 55=yards
5=K1 TABLE 3 56=quarts
6=K2 [Less Than Comparison] 57=quarters
7=K3 1=slower 58=row
8=K4 2=lighter 59=rows
9=K5 3=younger 60=horse power
10=K6 4=shorter 61=h.p.
11 =K7 5=less 62=horsepower
12=K8 6=fewer 63=hours
13=K2A 64=ft
14=Division Key Words 65=in.
(Test 4) TABLE 4 66=miles
15=Mult. Key words [Unit of Measure] 67=mi
(Test 10) 1 =foot 68=feet
16=Sub. Key Words (Test 8) 2=yard 69=mph
17=Sums 3=mile 70=horsepower
18=Prepositions 4=centimeter 71=miles per hour
19=Subjective Pronouns 5=centimeters 72=inch
20=Objective Pronouns 6=decimeter 73=inches
21=Possessive Pronouns 7=decimeters 74=year
22=Miscellaneous 8=meter 75=ounce
(Q Keywords) 9=meters 76=ounces
23=Conjunction 10=kilometer 77=gallons
24=Time Before 11 =kilometers 78=gal
25=Time After 12=centiliter 79=gal.
26=Time_Days 13=centiliters 80=mi.
27=Time_Months 14=deciliter 81=ft.
28=Unit of Measure in 15=deciliters 82=pd
Between Words 16=liter 83=pd.
29=Untt of Measure in 17=liters
Between Words2 18=kiloliter
30=Time_AM_PM 19=kiloliters
31= Articles 20=ton TABLE 5
32=Unit of Measure 21 =tons [K1]
33=Conversion 22=gallon 1 =bought
34=Text Equivalent 23=quart 2=buy
35=Proper (Male) 24=pint 3=buys
36=Proper (Female) 25=cup 4=catch
37=Keywords: 26=pound 5=catches
1=who 27=team 6=caught
2=what 28=pair 7=win
3=when 29=score 8= won
4=where 30=ream 9=wins
5=why 31 =decade 10=replace
6=how 32=century 11=replaces
33=millennium 12=replaced
34=millennia 13=steal
35=month 14=steals
TABLE 1 36=week 15=stole
[Both or And] 37=day 16=fιnd
1=both 38=hour 17=fιnds
2=or 39=minute 18=found
3=and 40=deck 19=add
41=deck of cards 20=added
42=nickel 21 =adds 2=increase 31=give up 98=break 3=increases 32=give up 99=breaks 4=increased 33=given 100=broke 5=join 34=given away 101=crack 6=joins 35=given away 102=cracks 7=joined 36=given up 103=cracked 8=make 37=given up 104=rupture 9=makes 38=gives 105=ruptures 0=made 39=gives away 106=ruptured 1=acquire 40=gives away 107=fracture 2=acquires 41=gives up 108=fractures 3=acquired 42=gives up 109=fractured
34=produce 43=leak 110=reject
35=produces 44=leaked 11 1 =rejects
36=produced 45=leaks 1 12=rejected
37=get 46=lose 1 13=withdraw
38=gets 47=loses 114=withdraws
39=got 48=lost 1 15=withdrawed 0=receive 49=misplace 1 16=dissolve 1 =receives 50=misplaced 1 17=dissolves 2=received 51 =misplaces 1 18=dissolved 3=up 52=paid 119=vanish
44=take 53=pay 120=vanishes
45=takes 54=pays 121=vanished
46=took 55=sell 122=disappear
47=own 56=sells 123=disappears
48=owns 57=slip from 124=disappeared
49=owned 58=slip from 125=eat
50=write 59=slipped from 126=eats
51 =writes 60=slipped from 127=eaten
52=wrote 61=slips from 128=ate
53=read 62=slips from 129=gone
54=reads 63=sold 130=drink
64=spend 131 =drinks
65=spends 132=drank
TABLE 6 66=spent 133=drunk
[K2] 67=take away 134=break off
1=depart 68=take away 135=break off 2=departed 69=taken away 136=breaks off 3=departs 70=taken away 137=breaks off 4=cover 71=takes 138=broke off 5=covers 72=took away 139=broke off 6=covered 73=took away 140=broken off 7=go away 74=gave 141 =broken off 8=go away 75=decrease 142=subtract 9=goes away 76=decreases 143=subtracts 10=goes away 77=decreased 144=subtracted 11 =gone away 78=fall 145=loan 12=gone away 79=falls 146=loans 13=ran away 80=fell 147=lent 14=ran away 81=gave up 148=retum 15=run away 82=gave up 149=retums 16=run away 83=drop 150=retumed 17=runs away 84=dropped 151=slid 18=runs away 85=drops 152=slide 19=xxxxx 86=dump 153=slides 20=xxxxxed 87=dumped 154=cut 21=xxxxxes 88=dumps 155=cuts 22=donate 89=pause 156=cut off 23=donated 90=paused 157=cut off 24=donates 91 =pauses 158=cuts off 25=forget 92=melt 159=cuts off 26=forgets 93=melts 27=forgot 94=melted 28=give 95=refuse 29-give away 96=refuses 30=give away 97=refused
22 - TABLE 7 15=deposited 59=disappear .
[K3] 16=deposits 60=disappears
1=became 17=contribute 61 =disappeared
2=become 18=contributed
3=becomes 19=cont butes
4=start TABLE 12
5=started [KB]
6=starts TABLE 11 1=has
7=hatch [K7] 2=had
8=hatched 1 =break down 3=have
9=hatches 2=break down
10=go 3=breaks down
1 1=goes 4=breaks down TABLE 13
12=fade 5=broke down [K2A]
13=faded 6=broke down 1 =bored
14=fades 7=broken down 2=counterfeit
15=enter 8=broken down 3=counterfeits
16=enters 9=cease 4=defective
17=entered 10=ceases 5=flaw
18=went 11=ceased 6=flawed
19=pass to 12=die 7=flaws
20=pass to 13=died 8=fake
14=dies 9=fakes
15=end 10=false
TABLE 8 16=ended 11=frauds
[K4] 17=ends 12=fraud
1= place 18=expire 13=imitation
2=places 19=expired 14=worthless
3=placed 20=expires 15=away
4=put 21=fail 16=out
5=puts 22=failed 17=down
6=commit 23=fails 18=blemish
7=commits 24=fιnish 19=blemished
8=committed 25=fιnished 20=blemishes
26=fιnishes 21 =have problems
27=fιre 22=have problems
28=fιred 23=has problems
29=fιres 24=has problems
Figure imgf000025_0001
30=flunk 25=had problems
2=are 31=flunked 26=had problems
3=was 32=flunks
4=were 33=halt
5=cost 34=halted TABLE 14
[Division Key Words (Test 4)]
1=each
2=full
3=times
4=per
TABLE 15
[Mult. Key words (Test 10)]
1 =daily
2=weekly
3=monthly
Figure imgf000025_0002
4=yearly
4=throw 48=surrendered 5=times
5=thrown 49=surrenders 6=group
6=threw 50=terminate 7=groups
7=throws 51 terminated 8=set
8=escape 52=terminates 9=sets
9=escapes 53=fall 10=full
10=escaped 54=falls 11 =each time
11 =suspend 55=fell
12=suspends 56=cure
13=suspended 57=cured
14=deposit 58=cures TABLE 16 TABLE 20 5=thursday
[Sub Key Words (Test 8)] [Objective Pronouns] 6=frιday
1=altogether 1=me 7=saturday
2=but 2=you 3=hιm
4=her TABLE 27
TABLE 17 5=ιt [Tιme_Months]
[SUMS] 6=us 1=january
1 =equal 7=them 2=february
2=evenly 3=march
3=equally 4=aprιl
TABLE 21 5=may
[Possessive Pronouns] 6=june
TABLE 18 1=my 7=july
[Prepositions] 2=your 8=august
1=about 3=hιs 9=september
2=above 4=her 10=october
3=accordιng 5= it's 1 1 =november
4=across 6=our 12=december
5=after 7=theιr
6=behιnd
7=below TABLE 28
8=beneath TABLE 22 [Unit of Measure in Between
9=besιde [Miscellaneous] Words]
10=between = Q keywords 1 =each
11=ιn 1=A 2=1
12=into 2=The 3=per
13=throughout 3=How 4=on
14=to 4=What 5=for
15=toward 5=When 6=a
16=under 6=Where 7=to
17=untιl 7=Who
18=agaιnst 8=That
19=along 9=Those TABLE 29
20=among 10=TV [Unit of Measure in Between
21=around Words2]
22=at 1=a
Figure imgf000026_0001
39=wιthout TABLE 25 TABLE 31
40=ιf [Tιme_After] [Articles]
1 =tomorrow 1=The
2=next 2=a
TABLE 19 3=after 3=an
[Subjective Pronouns] 4= later
1 \ — —II
2=you TABLE 32
3=he TABLE 26 [CMeasure Data]
4=she [Tιme_Days] 0=group 0 (distance, English)
5=ιt 1=sunday 1 =1 league 1000/4828 '
6=we 2=monday
7=they 3=tuesday 4=wednesday
24 - =1 leagues 1000/4828 ! 68=4 gallons 10000/38 ! 133=3 ounce 16 =1 mile 3 69=0 gal * 134=3 ounces 16 =1 miles 3 70=1 quart 4 135=3 oz * =1 mi * 71=1 quarts 4 136=4 dram 16 =2 furlong 8 72=1 qt * 137=4 drams 16 =2 furlongs 8 73=2 pint 2 138=4 dr * =3 rod 40 74=2 pints 2 139=5 grain 875/32 =3 rods 40 75=2 pt * 140=5 grains 875/32 0=4 fathom 1 1/4 76=3 cup 2 141=group 7 (time) 1=4 fathoms 11/4 77=3 cups 2 142=-1 century 1 ! 2=5 yard 2 78=4 ounce 8 143=-1 centuries 1 ! 3=5 yards 2 79=4 ounces 8 144=1 decade 10 4=5 yd * 80=5 tablespoon 2 145=1 decades 10 5=5 yds * 81 =5 tablespoons 2 146=2 year 10 6=6 foot 3 82=6 teaspoon 3 147=2 years 10 7=6 feet 3 83=6 teaspoons 3 148=2 yr * 8=6 ft * 84=group 4 (volume, metric) 149=2 yrs * 9=7 inch 12 85=3 kiloliter 38/10000 ! 150=3 month 12 0=7 inches 12 86=3 kiloliters 38/10000 ! 151 =3 months 12 1=7 in * 87=3 kl 38/10000 ! 152=3 mo * 2=group 1 (distance, metric) 88=1 dekaliter 10 153=3 mos * 3=0 kilometer 4828/1000 ! 89=1 dekaliters 10 154=4 week 4 4=0 kilometers 4828/1000 ! 90=1 dal * 155=4 weeks 4 5=0 km * 91 =2 hectoliter 10 156=4 wk * 6=1 dekameter 10 92=2 hectoliters 10 157=4 wks * 7=1 dekameters 10 93=2 hi * 158=5 day 7 8=1 dam * 94=3 liter 10 159=5 days 7 9=2 hectometer 10 95=3 liters 10 160=6 hour 24 0=2 hectometers 10 96=3 I * 161 =6 hours 24 1=2 hm * 97=4 deciliter 10 162=6 hr * 2=3 meter 10 98=4 deciliters 10 163=6 hrs * 3=3 meters 10 99=4 dl * 164=7 minute 60 4=3 m * 100=5 centiliter 10 165=7 minutes 60 5=4 decimeter 10 101 =5 centiliters 10 166=7 min * 6=4 decimeters 10 102=5 cl * 167=8 second 60 7=4 dm * 103=6 milliliter 10 168=8 seconds 60 8=5 centimeter 10 104=6 milliliters 10 169=8 sec * 9=5 centimeters 10 105=6 ml * 170=9 microsecond 10000 0=5 cm * 106=7 microliter 10 171 =9 microseconds 10000 1 =6 millimeter 10 107=7 microliters 10 172=9 usec * 2=6 millimeters 10 108=7 ul * 173=group 8 3=6 mm * 109=group 5 (dry measure, (rotational/navigational) 4=7 micrometer 10 English) 174=-1 degree 1 ! 5=7 micrometers 10 1 10=-1 bushel 1 ! 175=-1 degrees 1 ! 6=7 urn * 1 11=-1 bushels 1 ! 176=0 deg * 7=8 nanometer 10 112=0 bu * 177=1 minute 60 8=8 nanometers 10 113=1 peck 4 178=1 minutes 60 9=8 nm * 114=1 pecks 4 179=2 second 60 0=9 picometer 10 115=1 pk * 180=2 seconds 60 1=9 picometers 10 116=2 quart 8 181=group 9 (weight, metric) 2=9 pm * 1 17=2 quarts 8 182=6 kilogram 2000000/ 3=group 2 (dollars) 1 18=2 qt * 2205 ! 4=-1 dollar 1 ! 119=3 pint 2 183=6 kilograms 5=-1 dollars 1 ! 120=3 pints 2 2000000/2205 ! 6=1 quarter 4 121=3 pt * 184=0 kg * 7=1 quarters 4 1 22=g roup 6 (weight, 185=1 dekagram 10 8=2 dime 2.5 English) 186=1 dekagrams 10 9=2 dimes 2.5 123=9 ton 2205/2000000 ! 187=2 hectogram 10 0=3 nickel 2 124=9 tons 2205/2000000 ! 188=2 hectograms 10 1 =3 nickels 2 125=0 tn * 189=3 gram 10 2=4 penny 5 126=1 hundredweight 20 190=3 grams 10 3=4 pennies 5 127=1 hundredweights 20 191=3 g * 4=4 cent 5 128=1 ctw * 192=4 decigram 10 5=4 cents 5 129=2 pound 100 193=4 decigrams 10 6=group 3 (volume, 130=2 pounds 100
English) 131=2 lb * 7=4 gallon 10000/38 ! 132=2 lbs *
- 25 194=5 centigram 10 6=million<> 1000000 14=ice hockey playerso* (6)
195=5 centigrams 10 7=nine<>9 15=soccer teamo* (11 )
196=6 milligram 10 8=one eighth<>1/8 16=soccer teams<>* (1 1 )
197=6 milligrams 10 9=one fιfth<>1/5 17=soccer playerso* (11 )
198=7 mg * 10=one forth <> 1/4 18=softball teamo* (9)
199=7 microgram 10 1 1 =one half<>1/2 19=softball teams<>* (9)
200=7 micrograms 10 12=one hundred<>100 20=softball playerso* (9)
201 =8 nanogram 10 13=one ninth<>1/9 21=tennis doubles team<>*
202=8 nanograms 10 14=one quarter<>1/4 (2)
203=9 picogram 10 15=one seventh<>1/7 22=tennis doubles teams<>*
204=9 picograms 10 16=one sixth<>1/6 (2)
205=group 10 (am/pm) 17=one third<>1/3 23=volley ball teamo* (6)
206=-1 PM 1 ! 18=one thousand<>1000 24=volley ball teams<>* (6)
207=1 AM 12 19=quadruple<>times 4 25=volley ball playerso* (6)
208=group 1 1 (energy) 20=quadrupled<>times 4 26=rugby teamo* (15)
209=-1 horsepower ! 21=quintuple<>times 5 27=rugby teams<>* (15)
210=0 hp * 22=quintupled<>times 5 28=rugby playerso* (15)
21 1=1 watt 746 23=seven<>7 29=centuries<>* (100)
212=1 watts 746 24=six<>6 30=century<>* (100)
213=2 erg 10000000 25=ten thousand<>10000 31 =decade<>* (10)
214=2 ergs 10000000 26=ten<>10 32=decades<>* (10)
215=group 12 (area) 27=thousand<>1000 33=week<>* (7)
216=-1 township ! 28=three<>3 34=weeks<>* (7)
217=1 section 36 29=triple<>times 3 35=dozen<>* (12)
218=1 sections 36 30=tripled<>times 3 36=dozens<>* (12)
219=1 section of land 36 31 =one<>1 37=januaryo31
220=1 sections_of_land 36 32=two<>2 38=february<>28
221 =2 square_mile 1 33=three<>3 39=march<>31
222=2 square miles 1 34=four<>4 40=april<>30
223=2 sq_mile 1 35=fιve<>5 41=may<>31
224=2 square mi 1 36=six<>6 42=june<>30
225=2 sq mi * 37=seven<>7 43=july<>31
226=3 acre 640 38=eight<>8 44=august<>31
227=3 acres 640 39=nine<>9 45=september<>30
228=4 squarejrod 160 40=ten<>10 46=october<>31
229=4 square rods 160 41 =eleven<>11 47=november<>30
230=4 sq rod 160 42=twelve<>12 48=december<>31
231 =4 sq rods 160 43=thirteen<>13 49=pair<>* (2)
232=5 square yard 121/4 44=fourteen<>14 50=pairs<>* (2)
233=5 square yards 121/4 45=fιfteen<>15 51 =score<>* (20)
234=5 sq yard 121/4 46=sixteen<>16
235=5 sq yards 121/4 47=seventeen<>17
236=5 square yd 121/4 48=eighteen<>18 TABLE 35
237=5 square yds 121/4 49=nineteen<>19 [Proper Names (Female)]
238=5 sq yd 121/4 50=twenty<>20 0=Adriana
239=5 sq yds 121/4 51 =dozen<>12 1 =Alexa
240=6 square foot 9 52=dozens<>12 2=Alexandra
241=6 square feet 9 3=Alexandha
242=6 sq foot 9 4=Alexis
243=6 sq feet 9 TABLE 34 5=Ali
244=6 square ft 9 [Text Equivalents] 6=Alicia
245=6 sq_ft 9 0=baseball team<>* (9) 7=Allison
246=7 square_inch 144 1=baseball teams<>* (9) 8=Alyssa
247=7 square_inches 144 2=baseball playerso* (9) 9=Amanda
248=7 square in 144 3=basketball teamo* (5) 10=Amber
249=7 sq inch 144 4=basketball teams<>* (5) 1 1 =Amy
250=7 sq_in * 5=basketball playerso* (5) 12=Ana
6=field hockey team<>* (1 1 ) 13= Andrea
7=field hockey teams<>* 14= Angel
TABLE 33 (1 1 ) 15=Angela
[Conversions] 8=field hockey playerso* 16=Angelica
0=double<>times 2 (1 1 ) 17=Anna
1 =doubled<>times 2 9=football teamo* (11 ) 18=Aphl
2=eight<>8 10=football teams<>* (1 1 ) 19=Ariel
3=fιve<>5 11 =football playerso* (11 )
4=four<>4 12=ice hockey team<>* (6)
5=hundred<>100 13=ice hockey teams<>* (6)
26 =Ashley 87=Jordan 154=Sandra =Ashton 88=Julie 155=Sara =Autumn 89=Kacie 156=Sarah =Avery 90=Kaitlin 157=Sasha =Bailey 91=Kaitlyn 158=Savannah =Bianca 92=Kara 159=Shannoπ =Blair 93=Karen 160=Shea =Breanna 94=Kasey 161=Shelby =Brenda 95=Katelyn 162=Sierra =Briana 96=Katherine 163=Sky =Brianna 97=Kathryn 164=Skye =Brittany 98=Katie 165=Stacey =Brittney 99=Kayla 166=Stacy =Brook 100=Kaylee 167=Stephanie =Brooke 101=Kellen 168=Sydney =Brynn 102=Kelley 169=Tara =Caitlin 103=Kelly 170=Taylor =Cameron 104=Kelsey 171 =Tiara =Canielle 105=Kelsie 172=Tiffany =Carey 106=Kendall 173=Tonya =Casey 107=Kiara 174=Tristan =Cassandra 108=Kimberly 175=Vanessa =Cassidy 109=Kirby 176=Veronica =Catherine 110=Kirsten 177=Victoria =Chelsea 111=Kristen 178=Whitley =Chelsey 112=Khstian 179=Whitney =Chelsie 113=Kristin 178=Ann =Christa 114=Kristina =Christian 115=Krystal =Christina 116=Laruen TABLE 36 =Christine 117=Laura [Proper Names (Male)] =Ciara 118=Lauren 0=Aaron =Codi 119=Lee I =Adam =Cody 120=Leigh 2=Adrian =Corey 121 =Leslie 3=Alejandro =Cory 122=Lindsay 4=Alex =Courtney 123=Lindsey 5=Alexander =Crystal 124=Lisa 6=Alexis =Cynthia 125=Loren 7=Ali = Dakota 126=Lyndsey 8= Andrew =Dallas 127=Machenzie 9=Anthony 1 =Dana 128=Madison 10=Antonio =Darcy 129=Maria I I =Austin 3=Daryl 130=Marissa 12=Avery =Diana 131 =Marlen 13=Benjamin 5=Eden 132=Mary 14=Blair 6=Elizabeth 133=Mayra 15=Bradley 7=Emily 134=McKenna 16=Brandon 8=Emma 135=McKenzie 17=Brett 9=Erica 136=Megan 18=Brian 0=Ehka 137=Melanie 19=Brice 1=Erin 138=Melissa 20=Bryan 2=Hailey 139=Meredith 21 =Bryce 3=Haley 140=Michelle 22=Caleb 4=Hanna 141=Miranda 23=Cameron 5=Hannah 142=Monica 24=Carey 6=Hayley 143=Monique 25=Carlos 7=Heather 144=Morgan 26=Casey 8=Hollis 145=Nancy 27=Cassidy 9=Holly 146=Natalie 28=Chad 0=Hope 147=Natasha 29=Charles 1 =Jacqueline 148=Nicole 30=Christian 2=Jamie 149=Paige 31 =Christopher 3=Jasmine 150=Patricia 32=Codi 4=Jenna 151 =Rachel 5=Jennifer 152=Rebecca 6=Jessica 153=Samantha
27 =Cody 100=Parker =Colby 101=Patrick =Collin 102=Paul =Colton 103=Peter =Connor 104=Phillip =Corey 105=Raymond =Cory 106=Ricardo =Dakota 107=Richard =Dallas 108=Riley =Dana 109=Robert =Daniel 110=Ryan =Daryl 1 1 1=Samuel =David 1 12=Scott = Derek 113=Sean =Donovan 1 14=Shane =Dustin 115=Shawn =Edgar 116=Skyler =Eduardo 117=Spencer =Edward 118=Stephen =Eric 119=Steven =Erik 120=Tanner =Ethan 121 =Taylor =Evan 122=Thomas =Francisco 123=Timothy =Gabriel 124=Travis =Garrett 125=Trent =George 126=Trenton =Gregory 127=Trevor =lan 128=Tyler =Jacob 129=Victor =James 130=Vincent =Jared 131=William =Jason 132=Zachary =Jeffrey 133=Zachery =Jeremy 134=Bob =Jesse 135=Bobby =Jesus =John =Jonathan =Jordan =Jorge =Jose =Joseph =Joshua =Juan =Justin 9=Kenneth 0=Kevin 1=Kirk 2=Kody 3=Kyle 4=Levi 5=Logan 6=Lucas 7=Luis 8=Manuel 9=Marcus 0=Mario 1=Mark 2=Martin 3=Mason 4=Matthew 5=Maxwell 6=Michael 7=Miguel 8=Nathan 9=Nicholas
28 - TABLE 119A
NOTE TEST NUMBERS HAVE NO SPECIFIC MEANING - THE ORDER THRU THE TESTS IS SEQUENTIAL
Figure imgf000031_0001
SEPARATE SENTENCES INTO INFORMATION AND QUESTION PORTIONS - Go forward and find the first Question Keyword to the Question Mark If there is a number between the Question Keyword and the Question Mark -- work backwards from the number to the preposition and copy the text to the Information Part Note If there is more than one Question Keyword the Keywords with priority is How and What
SELECTION OF POTENTIAL SOLVEWORDS AND SOLVEWORDS - Identification of Potential Solvewords in the Information portion of the problem with a corresponding match in the Question portion of the problem enable t e system to determine which numbers in the problem are significant in solving the problem There should be one PSW associated with each number in the Information portion of a problem
Identify all Potential Solveword (mark the PSW's) according to rule below
Take words before and after each number in the information portion of the problem There will generally be 2 PSW's per number If one of the following occurs, then take the word previous or next word depending on the following situations
1 If preposition precedes the number, then there will be only one PSW for that number The one following the number
2 If a number then wordl followed by the keyword "with ' word2', use word2 as PSW if it matches the solveword (*1 in the Question part of the problem)
3 AddSub K group words cannot be used as PSW's
4 Comparison words in the GREATER THAN or LESS THAN categories cannot be used as PSW's
5 PREPOSITIONS cannot be used as PSW's, they are skipped
6 SUBJECT PRONOUNS cannot be used as PSW's, they are skipped
7 OBJECT PRONOUNS cannot be used as PSW's, they are skipped
8 POSSESSIVE PRONOUNS cannot be used as PSW's, they are skipped
9 ARTICLES cannot be used as PSW's, they are skipped
10 If the PSW after a number matches another PSW after another number, then PSW before the numbers are not valid PSW's
*1 Solveword - When one or more PSW's in the information portion of the problem match a word in the Question portion of a problem, that word becomes a Solveword and all numbers associated with a solveword are significant in the problem Also numbers without any PSW's in the information portion of the word are also solvewords
SUBSTITUTION
If a sentence contains I'm change it to I ' am
If Keywords'ago 'or'before'are added to Question part from the Information part, a flag is set so that TEST 110 fails
Replace special Unit of Measure characters DOUBLE QUOTE = inches SINGLE
QUOTE = feet
Combine 2 numbers with Unit of Measure together, only if more than 2 numbers are in the Information portion of the problem ( i e 4 gallons and 3 ounces = 3 gallons
( ADD)
Combine 2 numbers together, i e = 20 5 inches = 100 inches ( MULTIPLICATION)
Eliminate these words and the number that follows it -'IN THE YEAR NUMBER from text
Eliminate each other' in Question Part and Information part of the problem
If Keyword ago' alone in Information Part (without a comparison word from the
GREATER THAN or LESS THAN groups) and no time word from the TIME group in
Question Part, omit the phrase containing the word from the TIME group
Eliminate phrases which do not contain numbers unless a keyword exists in the phrase
- 29 - TABLE 1119A (continued)
Substitute words from the TIME group with their keywords (substitute "before" if it's in the TIME group meaning before, or "after" if it's in the TIME group meaning after).
Hierarchy of ADDSUB K GROUP SELECTION
Eliminate ADDSUB K7 group words when it occurs in the same phrase after another
ADDSUB K word. The most significant word is not the K7 word.
If K5 comes before a K8 word in the same punctuation group - Eliminate K8.
If K8 and the word "been" than another K word - Eliminate K8.
If the word "will" K8 and then another K word - Eliminate K8.
If K8 and then another K word ... with another K8 and then another K word -
Eliminate K8's.
If a K8 ... then K8 followed by another K - Eliminate second K8.
Process double K words within same punctuation groups - eliminate 1 according to following rule:
1 . K6 another K? - keep K6.
2. K then K6 - keep K6.
3. K word 'to' K word - keep second K ( infinitive rule ) - unless K word is K6.
4. K word followed by 'up' and no number - keep 'up' unless K word is K6
5. K word followed by K2A no number - keep K2A unless K word is K6.
6. K word followed by K5 - keep K omit K5.
- 30 TABLE 1122A
TESTS FOR THE QUESTION PART OF A PROBLEM
FRACTIONS
146. Do fraction Rule below if KEYWORD 'fraction' found in Question part 1 . Keyword 'total' in Information part, and 'not' found in Question part and PSW matches solveword in Question part; algorithm is: - (Iarger#- ratio smaller#)/iarger#
2. No solveword match with PSW match, ratio - (Iarger#-
3. All other cases: smaller#)/larger# ratio - (smaller#/larger#)
ADDITION KEYWORDS:
1. Keyword either "BOTH" or "AND" and not 1 PROPER NAME in Question Part + Addition
COMPARISONS - GREATER THAN OR LESS THAN and KEYWORDS
144. No 'THAN ' in Question part and Comparison group (GREATER THAN or LESS THAN) in QUESTION PART and 1 of the following cases:
1 . PROPER NAME in QUESTION PART except IPERSON *2 unless DOUBLE SUBJECT * 3 in INFORMATION PART
2. Addsub group K5 or Unit of Measure follows Comparison Greater Than or Less Than (immediately) Subtraction
*2 IPERSON is a word we use to indicate the personal pronoun I or me "3 DOUBLE SUBJECT means that there is more than one person in the problem like John, Mary
2. Comparison Group (GREATER THAN or LESS THAN) with word "THAN" in Question part - Subtraction
1 19. If the keywords "product of" in Information or Question part X Multipl ication
KEYWORD: EACH, COMPARISON GT OR LT OR PSW AND OTHER KEYWORDS
52. If Keyword "each" in Information, Keyword "each" in Question part, & Comparison test (GREATER THAN or LESS THAN) in Intormation part but not keyword 'each time' + Addition
53. If Keyword "each" in Information part, Keyword "each" in Question part, & Comparison (LESS THAN) in Information part but not the keyword "each time" - Subtraction
3. If Keywords "average" or "did" and "each" or "enough" or "an UNIT(S) OF MEASURE" or "a UNIT(S) OF MEASURE" / Division
51. If Keywords "each" in Information Part, with no PSW match the solveword in the Question Part, & the PSW's are different with no Keyword "each time" or no Keyword "equal" in the Intormation part, or no "each" Unιt(s) of Measure X Multiplication
49 If Keyword "each" in Information Part and no PSW match the solveword in the Question Part, and not Keywords "each time" / Division
50 If Keyword "each" in Information Part and PSW match the solveword in the Question Part but not Keyword "each time" X Multipl ication
1 18 If any one or more of these Keywords "weekly ", "hourly", "monthly", "yearly", "daily", "times", "group(s)" , "set(s)", "full" or "each time" / Multipl ication
72. It any one or more of these Keywords 'total", "sum(s)" in Question Part + Addition
73. It any one or more of these Keywords: "difference", "differ", or "change" in Question Part - Subtraction
- 31 TABLE 1122A (Continued)
4. If any one or more of these Keywords: "each" or "times" or "full" or "per" but not in both parts of Intormation part / Division
44. If Keyword "altogether" + Addition
SPECIFIC KEYWORD TESTS TO BE REPLACED WITH BETTER ADDSUB KWORD ALLOCATION
47. If "have left" in Question Part or Keywords: "remain", 'remains",
"remaining" in (Question Part) but not in both ((Question Part) and (Information Part)) parts - Subtraction
48 If "have... "left" in Question Part + Addition
TESTS FOR THE INFORMATION & QUESTION PART OF A PROBLEM
1 1 7. If any one or more of these Keywords: "add", "adds", "adding", "added" + Addition
1 16. If any one or more of these Keywords '"weekly", "hourly", "monthly", "yearly", "daily", '"times", "'group(s)", "set(s)", "full" or "each time" X Multiplication
TIME TESTS (ONE TIME I N INFO)
77. If one 'before' time (Information Part) and (K2 or K2A) in Question Part - Subtraction
1 10. If one 'before' time (Information Part), AND single K Worddnformation Part), and no tιme(Questιon Part), AND Only if "ago" or "βe ore"not moved from Question part + Addition
158. If one 'before' time in Information part and no time in Question Part - Subtraction
TIME AND COMPARISON GT OR LT
78. If Comparison Greater than or Less than in Question Part and Comparison Greater than in (Information Part) and time (Information Part) and tιme(Questιon Part) - Subtraction
79. If time (Information Part)) and Comparison Greater than or Less than (Information Part) and time (Question Part) and no time matches + Addition
80. If timeOnformation Part) and time (Question Part) and Comparison Greater than in (Information Part) and times match (Information Part and the Question Part) and both PSw's (Information Part) match Sovleword in the Question Part - Subtraction
81 . If time (Information Part) and time (Question Part) and Comparison Greater than in (Information Part) and no time matches + Addition
82 If time (Intormation Part) and time (Question Part) and Comparison less than (Intormation Part) and times match (Information Part) with Question Part) + Addition
83 If time (Information Part) and time (Question Part) and Comparison less than (Information Part) and no time matches - Subtraction
TIME IN INFORMATION AND TIME IN QUESTION
84. If tιme(s) (Information Part) and time (Question Part) and no time matches (Intormation Part) + Addition
TIME IN INFORMATION AND NO TIME IN QUESTION
85. If no time (Question Part) and times match (Intormation Part) + Addition
100. If times (Intormation Part) and no time (Question Part) and no time matches (Intormation Part) and no 'and' and (K2 or K2A or K7) in Question Part + Addition
86. If times (Information Part) and no time (Question Part) and no time matches (Intormation Part) and no 'and' - Subtraction
87. If times Information Part) and no time (Question Part) and no time matches (Intormation Part) with 'and' in middle + Addition TABLE 1122 A (Continued)
ONE TIME IN THE INFORMATION AND TIME IN QUESTION
88. It only 1 time (Information Part) and time (Question Part) and time match
(Information Part with the Question Part) + Addition
89. If only 1 time (Information Part) and time (Question Part) and no time match (Intormation Part) with the Question Part Subtraction
90. If only 1 time (Information Part) and time (Question Part) and Comparison less than (Information Part) and no time matches (Information Part with the Question Part) Subtraction
91. If only 1 time (Information Part) and time (Question Part) and Comparison Greater than (Information Part) and time match (Information Part with the
Question Part) « + Addition
ONE TIME IN THE INFORMATION AND TIME IN QUESTION WITH PSW'S
92. If only 1 time (Information Part) and time (Question Part) and Comparison Greater than (Intormation Part) and time match (Information Part)/Q) and the potential solvewords match - + Addition
ONE TIME IN THE INFORMATION AND TIME IN QUESTION WITH PSW'S & COMPARISON GT
93. If only 1 time (Information Part) and time (Question Part) and Comparison Greater than (Information Part) and time match (Information Part with the
Question Part) and only one of the potential solvewords match solveword - + Addition
94. If only 1 time (Information Part) and time (Question Part) and Comparison Greater than (Information Part) and time match (Information Part with the Question Part and both potential solvewords match solveword + Addition
95. If only 1 time (Information Part) and time (Question Part) and Comparison Greater than (Information Part) and no times match (Information Part with the Question Part) + Addition
96. I IfT o onnly 1 time (Information Part) and time (Question Part) and Comparison less than (Information Part) and time match (Information Part with the Question Part) and the potential solvewords match + Addition
97. If only 1 time (Information Part) and time (Question Part) and Comparison less than (Information Part) and time match (Information Part with the Question Part and only one of the potential solvewords match solveword - Subtraction
ONE TIME IN INFO AND TIME IN QUESTION AND COMPARISON LT
98 If only 1 time (Information Part) and time (Question Part) and Comparison less than (Information Part) and time match (Information Part with the Question Part) and both potential solvewords match solveword + Addition
99 If only 1 time (Information Part) and time (Question Part) and Comparison less than (Information Part) and no time matches (Information Part with the Question Part) - Subtraction
1 24 If only 1 time (Information Part) and time (Question Part) and THAT TIME IS A 'BEFORE' TIME Comparison less than (Intormation Part) and no time matches (Intormation Part with the Question Part ) - Addition
COMPARISON GT OR LT WITH SPECIFIC KEYWORDS
5 Comparison Greater than (Information Part) and "NOW" in Question part + Addition
45 Comparison less than (Information Part) and ('did') in Question part - Subtraction
TESTS FOR THE INFORMATION PART OF A PROBLEM UNLESS SPECIFIED IN THE TEST
31 If two numbers immediately follow each other - X Multipl ication
35. If Keywords "equal", "evenly", or "equally" / Division
33 - TABLE 1122A (Continued) If Keywords "each time" in Question Part and "each time" is not in Intormation Part X Multiplication If Keyword "each" in Question Part and "each" is not in the information Part / Division If Unit of Measure 'in' followed by Unit of Measure / Division If keywords "increase" (increase, increases, increased) + Addition If Unit of Measure with one or more of these words "on a" or "of" or "of a" Unit of Measure) or
"rate of" followed by a number then followed by a Unit of Measure, or "of" a number followed by a Unit of Measure = X Multipl ication If any of these phrase combinations exist "of" followed by Unit ot Measure or
"to be" fol lowed by a number then a Unit of Measure or
" 'in" followed by a number then a Unit of Measure or a number followed by a Unit of Measure and the keyword "apart" / Division If the Keyword "opposite" followed by the word "at" in the same punctuation group then a number fol lowed by a Unit of Measure - Subtraction If Keyword "into" followed by a number / Division If a number followed by the word "of" or "of " a number in the Intormation
Part and the word "all" in Question Part X Multipl ication If a number followed by "of a" or "an" or "its" followed by Unit of Measure or "ot a number followed by a Unit of Measure in Information Part / Division If Keyword "each", or "per" only if not associated with a Unit of Measure
Unit of Measure "per" Unit of Measure X Multiplication If the words " a" or "an" or "at" fol lowed by Unit of Measure X Multiplication If the Keywords "double" or "doubled" or "triple" or "tripled", "quadruple" or "quadrupled" X Multipl ication If the word is included in AddSub group K4 and a number / unit and the word "Down"), not in same sentence + Addition If the Keywords "spend", "spent", "spends" in Question Part + Addition It the Keyword "sam" fol lowed by the word "at" in the same punctuation group followed by a number followed by Unit of Measure + Addition If Keyword "subtract", or" subtracts " or "subtracted", or "disappear",
"disappears", "disappeared" or "decrease", or "decreases", or" decreased" - Subtraction If one of these Keywords "altogether", ot "but" - Subtraction If the Keyword "another" + Addition If Keyword "ago" and "before" - Subtraction It two numbers are separated by the word "and" within the same punctuation without any AddSub K word(s) -t- Addition If Comparison Greater Than in the Intormation Part and a proper name fol lowing the word "than" matches with PROPER NAME in the Question Part - Subtraction It Comparison Greater Than in the Intormation Part and a proper name following the word "than" does not match with PROPER NAME in the Question Part -■- Addition
34 - TABLE 1122A (Continued)
104 If Comparison Less Than in the Information Part and the proper name following the word "than" matches with PROPER NAME in the Question Part - + Addition
1 13 If Comparison Less Than in the Information Part and the proper name following the word "than" does not match with PROPER NAME in the Question Part - + Addition
141 No Double Subject with words "had" "had" in the Information part - - Subtraction
28. If a number and the word "more" or "Unit of Measure and the word
"more" = + Addition
ADDSUB K WORD GROUPS - COMBINATION OF CERTAIN WORDS IN THE INFORMATION OR QUESTION PART OF THE PROBLEM THAT INDICATE A CERTAIN ADDITION OR SUBTRACTION OPERATION
1 1 1 If " a number followed by a Unit of Measure" followed by "of" followed by a AddSub K word in the same punctuation group and Unit of Measure Omit number "ot followed by AddSub K word in Question Part match in Question Part Unit ot Measure
120 If Keyword "degree(s)" in both Information part, and in Question part - Subtraction
121 . If AddSub K word followed by "a number followed by the word other", or "a number followed by the word others" - + Addition
122. If AddSub K word fol lowed by a number followed by the word "of them", or a number followed by the word "of these" - - Subtraction
143. An ARTICLE fol lowed by WORD' in Intormation part to match with WORD in Question part with an 's' making it plural (ι e a piece (Information Part)) match with pieces in Question Part - / Division
61 Single AddSub K2/K2A with Comparison Greater Than in the Intormation Part and AddSub K1 in the Question Part - - Subtraction
62 Single AddSub K2/K2A with Comparison Greater Than in the Intormation Part and AddSub K2 in the Question Part - + Addition
76 Two AddSub K5's with Comparison Greater Than in the Intormation Part) - - Subtraction
64 Comparison Greater Than in the Information Part - + Addition
65 Comparison Less Than in the Information Part - - Subtraction
1 52 No Prepositional Object in the Question Part and 2 ditterent prepositional objects in the Intormation Part - + Addition
154 Prepositional Object in Question matches both prep objects in the Intormation Part - + Addition
155 Prep Object in Question Part matches prepositional objects in the Intormation Part with 2 prepositional objects in the Information part - - Subtraction
69 No K groups with Comparison Less Than in the Intormation Part = -<- Addition
139 Specilic Words to test with AddSub K8-K8 specific words - Has-Has, Had- Had, Have-Have, Has-Have - + Addition
1 37 If two Addsub K8 with K8 - - Subtraction
55 If two words in the Same AddSub K groups = + Addition
147 If two words in different AddSub K groups K1 with K8 - -•- Addition
74 It two words in different AddSub K groups K2 with K6 (in that order) = + Addition
35 - TABLE 1122A (Continued)
127 If two words in different AddSub K groups K7 with K1 - Distractor
128. If two words in different AddSub K groups K7 with K4 - Distractor
129 If more than two words in different AddSub K groups K7 with K3, K5 or K6 - + Addition
130. If two words in different AddSub K groups K7 with K8 = - Subtraction
131. It two words in different AddSub K groups K2 with K1 - AMBIGUOUS
132 If two words in different AddSub K groups K6 with K8 = + Addition
133 If two words in different AddSub K groups K6 with K1 = AMBIGUOUS
134. If two words in different AddSub K groups K3 with K4 - Distractor
135 If more than two words in different AddSub K groups K2 with K7 or K7 with K2 - - Subtraction
140. It two words in different AddSub K groups K8-K4 ■= + Addition
142. It two words in different AddSub K groups K3-K3 with preposition following K3 - + Addition
56. If two words in different AddSub K groups without Comparison Greater than or Less than words - - Subtraction
148 It a Single AddSub K Group and it's K1 without Comparison Greater than or Less than words with Keyword "total" in Information part - - Subtraction
57. If a Single AddSub K Group and it's K1 without Comparison Greater than or Less than words = + Addition
58. If a Single AddSub K Group and it's K2/K2A, K3 or K6 without Comparison Greater than or Less than words - - Subtraction
75. If a Single AddSub K Group and it's K5 without Comparison Greater than or Less than words •= - Subtraction
59. If a Single AddSub K Group and it's K4 without Comparison Greater than or Less than words and prepositional phrase duplicates - + Addition
60. It a Single AddSub K Group and it's K4 without Comparison Greater than or Less than words without duplicate prepositional phrase ( > - 1 ) - - Subtraction
1 36. It a Single AddSub K Group and it's K8 without Comparison Greater than or Less than words - - Subtraction
12. If Keyword "for" followed by a number - X Multiplication
29 If Comparison Greater Than words = - Subtraction
30 It we get here - -r Addition
POST-TEST - PHASE 1 - DOUBLE SUBJECT RULES - THE FOLLOWI NG TESTS ARE EXCLUDED FROM POST
TESTS: 122, 103, 104, 1 1 3, 1 23
138. It proper name followed by Keywords "trom" or "of" in the Information Part matches with PROPER NAME in the Question Part, and AddSub K group - - invert operation
K7 with Keyword "from" or "to" in the Intormation Part for (-)
105. It proper name followed by Keywords "Trom" or "of" in the Information Part matches with PROPER NAME in the Question Part, and AddSub K group - K1 with 'with Keyword "from" or "to" in the Information Part and word invert operation "did" not in the Question Part tor (-
36
El TABLE 1122A (Continued)
106. If proper name followed by Keywords "from" or "of" in the Information Part matches with PROPER NAME in the Question Part, and no AddSub K group = invert operation -K2 in the Question Part for ( + )
107. If proper name followed by Keywords "for" or "to" in the Information Part matches with PROPER NAME in the Question Part, and word "did" in the invert operation Question Part tor ( + )
108. If proper name followed by Keywords "for" or "to" in the Information Part invert operation matches with PROPER NAME in the Question Part tor (-)
109. If proper name followed by Keywords "for" or "to" in the Information Part invert operation does not match with PROPER NAME in the Question Part for ( + )
POST-TEST PHASE 2 - PERFORMED DURING OPERATION MODE ( + , -, X, / ) 150. This test is performed only if original test past was 55 If 2 numbers are in the Information Part and they are fractions, with no match of AddSub K group words in the Question part Subtraction
- 37

Claims

Claims:
1 A method of solving a problem using a digital computer, wherein the problem is set forth in prose in the form of an information portion and a question portion, comprising the steps of entering the text of the problem into the computer, segregating, via said computer, the words comprising said problem into said information portion and said question portion, respectively, comparing each of said words with a plurality of predetermined groups of words stored in said computer, characterizing a plurality of said words in accordance with said comparing step, identifying at least one of said characterized words as a critical word useful in solving said logical problem, applying a predetermined set of tests stored in said computer to said characterized words to thereby select an appropriate one of a plurality of resolution algorithms stored in said computer, processing said critical word in accordance with said appropriate algorithm
2 The method of claim 1 , wherein said entering step comprises manually keying the text of said problem into said computer via a keyboard associated with said computer 3 The method of claim 1 , wherein said segregating step comprises searching said problem text for an end of said information phrase and searching said problem text for a question mark
4 The method of claim 1 , wherein said comparing step comprises storing a plurality of groups of words in said computer, with each word in a particular group being logically related to the other words in that group, scrolling through the problem text to thereby sequentially compare each word in said problem text to each word comprising said plurality of groups of words until a match is encountered 5 The method of claim 4, wherein said characterizing step comprises identifying for each of a plurality of words in said problem text, the various groups for which a match is found
6 The method of claim 1 , wherein said identifying step comprises identifying a number in said problem text useful in solving said problem
7 The method of claim 6, wherein said applying step comprises selecting an appropriate mathematical operation, and said processing step comprises applying said operation to said number
- 38 - 8. A method of automatically solving a mathematical word problem expressed as an information portion and a question portion, comprising the steps of; entering the text of said word problem into a digital computer; identifying, with said computer, at least one numerical value in said text useful in solving said word problem; comparing each of the words comprising said text with a predetermined group of words stored in a first database in said computer; characterizing in accordance with said comparing step, at least some of said words; processing said characterized words to determine a mathematical operator; applying said operator to said numerical value.
9. The method of claim 8, wherein said identifying step comprises selecting two numbers, and said applying step comprises applying said operator to said two numbers.
10. The method of claim 8, wherein said processing step comprises determining a mathematical operator which comprises one of: addition; subtraction; multiplication; and division.
11. The method of claim 8, wherein said comparing step comprises: storing a plurality of classes of words in said computer; identifying, for a plurality of words comprising said problem text, those classes in which said problem text word is found.
12. The method of claim 8, wherein said characterizing step comprises characterizing said words as at least one of a plurality of: keywords;
K-words; and solvewords.
13. The method of claim 12, wherein said processing step comprises applying a plurality of predetermined tests to said characterized words. 14. The method of claim 13, wherein said test applying step comprises searching said characterized words for predetermined configurations of said keywords, K-words, and solvewords. 15. The method of claim 14, further comprising the steps of: prompting the user to clarify an ambiguous word; and wherein said processing step comprises processing said characterized words in accordance with a user response to said prompting step.
39 - 16. The method of claim 14, wherein said processing step comprises eliminating words and numbers from said problem text which are not useful in solving said problem.
17. The method of claim 8, wherein said predetermined groups comprise groups of; keywords; K-words; solvewords; and time words.
18. The method of claim 8, further comprising the steps of: resolving said word problem into a series of cascaded, subproblems, each subproblem comprising a single mathematical operation; and sequentially solving said subproblems.
19. A digital computer configured to solve mathematical or logical problems expressed in prose in terms of an information portion and a question portion, comprising:
A first database comprising a plurality of classes of keywords, K-words, and solvewords; a second database comprising a plurality of tests calculated to identify predetermined combinations of said keywords, K-words, and solvewords; a third database configured to store a list comprising the text of said word problem; a processor configured to: scroll said list and identify two numbers useful in solving said problem, characterize the words comprising said list as keywords, K-words, and solvewords; to apply said tests to said characterized words to thereby determine an appropriate mathematical operator or logical; and to apply said operator to said two numbers.
20. The computer of claim 19, further comprising a screen display and a keyboard for user interaction.
40
PCT/US1995/002986 1995-03-10 1995-03-10 Methods and apparatus for solving word problems WO1996028786A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
AU19939/95A AU1993995A (en) 1995-03-10 1995-03-10 Methods and apparatus for solving word problems
PCT/US1995/002986 WO1996028786A1 (en) 1995-03-10 1995-03-10 Methods and apparatus for solving word problems

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US1995/002986 WO1996028786A1 (en) 1995-03-10 1995-03-10 Methods and apparatus for solving word problems

Publications (1)

Publication Number Publication Date
WO1996028786A1 true WO1996028786A1 (en) 1996-09-19

Family

ID=22248783

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US1995/002986 WO1996028786A1 (en) 1995-03-10 1995-03-10 Methods and apparatus for solving word problems

Country Status (2)

Country Link
AU (1) AU1993995A (en)
WO (1) WO1996028786A1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5135398A (en) * 1990-07-31 1992-08-04 Texas Instruments Incorporated Electronic teaching device
US5137457A (en) * 1990-07-31 1992-08-11 Texas Instruments Incorporated Electronic teaching device
US5139423A (en) * 1990-07-31 1992-08-18 Texas Instruments Incorporated Electronic teaching device

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5135398A (en) * 1990-07-31 1992-08-04 Texas Instruments Incorporated Electronic teaching device
US5137457A (en) * 1990-07-31 1992-08-11 Texas Instruments Incorporated Electronic teaching device
US5139423A (en) * 1990-07-31 1992-08-18 Texas Instruments Incorporated Electronic teaching device

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
COMPUTATIONAL INTELLIGENCE, N. DARCEL; M. ESCARABAJAL; May 1988, Vol. 4, No. 2, "OBADE: Cognitive Modeling with Objects", pp. 146-157. *
DISSERTATION ABSTRACTS INTERNATIONAL, THEDA R. W. ZAWAIZA; MICHAEL M. GERBER; 1990, Vol. 51, No. 9A, "Effects of Explicit Instructions on Math Word Problem-Solving", p. 3043, Order No: AAR9104541. *
DISSERTATION ABSTRACTS INTERNATIONAL, WILLIAM C. BULKO, PhD.; GORDON S. NOVAK, Jr.; 1989, Vol. 50, No. 6B, "Understanding Coreference in a System for Solving Physics Word Problems", p. 2493, Order No: AAR8920668. *

Also Published As

Publication number Publication date
AU1993995A (en) 1996-10-02

Similar Documents

Publication Publication Date Title
Priest Selective characteristics of litigation
US7555425B2 (en) System and method of improved recording of medical transactions
Krabuanrat et al. Heuristics and rationality in strategic decision making: An exploratory study
Holmes et al. Judges' ethnicity and minority sentencing: Evidence concerning Hispanics.
TW308659B (en)
US20030004936A1 (en) Simultaneous intellectual property search and valuation system and methodology (SIPS-VSM)
AU2002332971A1 (en) System and method of improved recording of medical transactions
Bruce Introductory statistics and analytics: a resampling perspective
Malhotra Design criteria for a knowledge-based English language system for management: an experimental analysis
Moldovan et al. An interactive tool for the rapid development of knowledge bases
Carstairs-McCarthy Inflection classes: Two questions with one answer
Sessarego Interfaces and Domains of Contact-Driven Restructuring: Volume 168: Aspects of Afro-Hispanic Linguistics
Fitzgerald Decision making
WO1996028786A1 (en) Methods and apparatus for solving word problems
Lehmann et al. A large-scale investigation of verb-attached prepositional phrases
Deevy The comprehension of English subject-verb agreement
Bologna Pavlik et al. Reaffirming the Wheat Boom: New Evidence for Structural Breaks in Canadian Economic Growth
Simmonds Fourth Lome Convention, The
Yang et al. Combining lexical and syntactic features for detecting content-dense texts in news
Zock et al. Use Your Mind and Learn to Write: The Problem of Producing Coherent Text
Weinhandl et al. Low Quality of International Classification of Diseases, 10th Revision, Procedural Coding System Data Undermines the Validity of the Standardized Transfusion Ratio: Time to Chart a New Course?
Andrews There and gone again: Syntactic structure in memory
Haider et al. Measuring Quality Change in the Market for Anti-Ulcer Drugs
US20230267275A1 (en) Relativistic field effect methods to optimize creative awareness
Kirby et al. The PEN&PAD data entry system

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AM AT AU BB BG BR BY CA CH CN CZ DE DK EE ES FI GB GE HU JP KE KG KP KR KZ LK LR LT LU LV MD MG MN MW MX NL NO NZ PL PT RO RU SD SE SI SK TJ TT UA US UZ VN

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): KE MW SD SZ UG AT BE CH DE DK ES FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase

Ref country code: CA