From Wikipedia, the free encyclopedia
(Redirected from STUDENT (computer program))

STUDENT is an early artificial intelligence program that solves algebra word problems. It is written in Lisp by Daniel G. Bobrow as his PhD thesis in 1964 (Bobrow 1964). It was designed to read and solve the kind of word problems found in high school algebra books.[1] The program is often cited as an early accomplishment of AI in natural language processing.

Technical description[edit]

In the 1960s, mainframe computers were only available within a research context at the university. Within Project MAC at MIT, the STUDENT system was an early example of a question answering software, which uniquely involved natural language processing and symbolic programming.[2] Other early attempts for solving algebra story problems were realized with 1960s hardware and software as well: for example, the Philips, Baseball and Synthex systems.[3]

STUDENT accepts an algebra story written in the English language as input, and generates a number as output. This is realized with a layered pipeline that consists of heuristics for pattern transformation. At first, sentences in English are converted into kernel sentences, which each contain a single piece of information. Next, the kernel sentences are converted into mathematical expressions.[4] The knowledge base that supports the transformation contains 52 facts.[clarification needed][5]

STUDENT uses a rule-based system with logic inference.[6] The rules are pre-programmed by the software developer and are able to parse natural language.

More powerful techniques for natural language processing, such as machine learning, came into use later as hardware grew more capable, and gained popularity over simpler rule-based systems.[7]


If the number of customers Tom gets is twice the square of 20% of the number of advertisements he runs, and the number of advertisements is 45, then what is the number of customers Tom gets?

(extracted from Norvig[1])


  1. ^ a b Norvig, Peter (1992). Paradigms of artificial intelligence programming:case studies in Common Lisp. San Francisco, California: Morgan Kaufmann. pp. 109–149. ISBN 1-55860-191-0.
  2. ^ Bobrow, Daniel G (1964). Natural language input for a computer problem solving system (PhD). Massachusetts Institute of Technology.
  3. ^ Raphael, Bertram (1964). SIR: A computer program for semantic information retrieval (PhD). Massachusetts Institute of Technology.
  4. ^ Shuming Shi and Yuehui Wang and Chin-Yew Lin and Xiaojiang Liu and Yong Rui (2015). Automatically Solving Number Word Problems by Semantic Parsing and Reasoning. Proceedings of the 2015 Conference on Empirical Methods in Natural Language Processing. Association for Computational Linguistics. doi:10.18653/v1/d15-1135.
  5. ^ Kenneth D. Forbus (2010). "AI and Cognitive Science: The Past and Next 30 Years". Topics in Cognitive Science. 2 (3). Wiley: 345–356. doi:10.1111/j.1756-8765.2010.01083.x. PMID 25163864.
  6. ^ Lin, Yi-Chung and Liang, Chao-Chun and Hsu, Kuang-Yi and Huang, Chien-Tsung and Miao, Shen-Yun and Ma, Wei-Yun and Ku, Lun-Wei and Liau, Churn-Jung and Su, Keh-Yih (2015). Designing a tag-based statistical math word problem solver with reasoning and explanation. International Journal of Computational Linguistics & Chinese Language Processing, Volume 20, Number 2, December 2015-Special Issue on Selected Papers from ROCLING XXVII.{{cite conference}}: CS1 maint: multiple names: authors list (link)
  7. ^ Dongxiang Zhang and Lei Wang and Luming Zhang and Bing Tian Dai and Heng Tao Shen (2019). "The Gap of Semantic Parsing: A Survey on Automatic Math Word Problem Solvers". IEEE Transactions on Pattern Analysis and Machine Intelligence. 42 (9). Institute of Electrical and Electronics Engineers (IEEE): 2287–2305. arXiv:1808.07290. doi:10.1109/tpami.2019.2914054. PMID 31056490. S2CID 52066980.