This document describes some AI-related work I once did on a program for processing natural language called the Editor's Assistant. I've put it up on the Web so that readers who haven't had much experience with AI programming can get some idea of what this involves.
The Assistant was a prototype ``intelligent'' assistant to a word-processor. The idea was that the Assistant would search through the text being processed for wrongly-formed words, such as (*) mouses, and replace them with the correct form, in this case, mice. Similarly, (*) digged would be replaced by dug. These replacements were programmable, so you could construct rules which told the Assistant to search for particular kinds of malformation, and how to correct them.
The complete Assistant was also intended to handle phrases as well as single words. And again, these would be programmable by user-defined rules. A nice feature was that these rules would be able to handle other kinds of transformation as well as grammar correction. So one might program the Assistant, for example, to replace all phrases of the form M miles by K kilometers, where was .
The Assistant was implemented using a big natural-language processing tool-kit called the Alvey Natural Language Tools. This was written in Lisp, and contained software for grammatical analysis of sentences and phrases, and morphological analysis of words.
The latter is a kind of grammatical analysis of a single word into its constituents. For example, analysing mice would give us the result that it's the plural of mouse. The results of this anslysis can be described symbolically as a set of features:
Root: MOUSE PartOfSpeech:Noun Number:PluralSimilarly, a morphological anslysis of the verb moved could be expressed as
Root: MOVE PartOfSpeech:Verb Tense:Past
In English, morphological analysis is simpler than in other Indo-European languages. However, there are still complications, for example because of irregular past-tenses, irregular plurals, and spelling changes such as boxes instead of (*) boxs. Hence, the Alvey Natural Language Tools morphological analyser was not a simple program.