Hi,

I’m currently using my bot (subbot.org) for simple information retrieval. If I’m studying physics, for example, I might enter an acceleration equation:

> an equation for acceleration is v_f = v_0 + a*t

> an acceleration equation is x = v_0*t + (1/2)(a * t^2)

Then later if I’m doing a problem, I might want to retrieve that information. But before I can ask it in a natural way I have to tell the bot:

> an equation for acceleration = an acceleration equation

> the acceleration equations = an equation for acceleration

> botname: if input =~ /^list (.*)/ then response = self.send(“logicagent: what is #{$1}?”); score += 2 end

Then I can ask the bot, later when I’m doing some problem:

> list the acceleration equations

And it will tell me:

the equations for acceleration is an acceleration equation, v_f = v_0 + a*t, an equation for acceleration, x = v_0*t + (1/2)(a * t^2)

Then later I might want to use a different syntax, so I have to do:

> the acceleration equations = the equations for acceleration

> list the equations for acceleration

the acceleration equations are the equations for acceleration, an acceleration equation, v_f = v_0 + a*t, an equation for acceleration, x = v_0*t + (1/2)(a * t^2)

—-

This is very basic IR, but allows me to add synonymous lookup expressions at runtime. I hope (soon) to automate some of the “A = B” expressions I’m currently entering explicitly, and to exclude these synonyms from the response listings. What I want to head towards is a system where I could tell the bot: “Learn about the equations of motion” and it would go out on its own time and search the web, reading wikipedia articles etc., then I could quiz it like: “I know that the final velocity is 0, the initial velocity is X m/s and the acceleration due to gravity is -9.8 m/s; how do I find distance?” and it would reply “First use v_f = v_0 + a*t to find the time then substitute that for t in x = v_0*t + (1/2)(a * t^2)”. And when it can do that it is a smaller jump to simply giving it the word problem and having it figure out how to do it itself