@C R Hunt: I got the idea for a math agent from the many irc bots that have calculator functions. The difference is, my agent doesn’t require a trigger such as “.c”, so I can ask it “what is 75 F in Centigrade”, “convert 2 m/s to mph”, etc., which is more like natural language. Google Calculator makes a nice math agent that I’ve been using; now I’ll add Wolfram Alpha and see which of them I prefer. My architecture is designed so that users can customize which agents respond to which inputs. So if Google Calc proves better at some types of math while Wolfram Alpha is better at others (Google doesn’t do calculus or solve algebra equations, for example, but is probably faster for simple math expressions), I can “teach” the system through feedback to use one agent for some inputs, and another agent for other inputs.
@Merlin: The download for the UIMA framework and SDK (http://uima.apache.org/downloads.cgi) includes several annotators, which I’ve played with a bit and found not really compelling enough at this time for me to mess with Java again :)
For example they have a SimpleNameAnnotator that seems to be a regex that looks for two titlecased words in succession, so it recognized “Get Involved” as a name; also it seems to look for a capitalized word followed by another capitalized word with a period at the end followed by a third capitalized word, so it recognizes “Thomas J. Watson”, but if a name ends a sentence the first word of the next sentence will also be included in the recognized name: in other words “John saw Thomas Watson. He asked…” will give the name as “Thomas Watson. He”. Also, it doesn’t recognize single names like “John”. So I think I can do better without the overhead of their cumbersome UIMA framework :)