Hi all,
I am an enthusiast from Sweden (although living in the UK) and am new to the forum.
For me everything started when I bought a Mindstorms robot just for fun about 18 months ago. Thought I start with voice commands and began working on... well, what was supposed to be an extremely simple grammar parser. Instead I became completely sold on this subject and started developing a bot. The robot has been collecting dust ever since.
My spare time project is called 'white' and my ambitions are to base it on strong'ish A.I. In other words, I aim to make it learn and really understand the meanings of sentences given to it. No markup languages, third party vocabularies or parsers will be involved. Similar to, but yet very different from the member victorshulist's project "CLUES" on this forum. (He is ahead of me and I will follow his project with great interest).
After having a break from working on my bot, I am now back with renewed inspiration and more dedication of my spare time for this. Decided to rewrite 'white' from scratch after my code for handling adjectives and adverbs became a mess. So I went from having a simple self learning bot that could be given simple text and be questioned about the content, to something that is pretty much just able to parse pieces of grammar and dump colorful text in console window on how and what was interpreted. From here I will have patience, take very tiny steps and focus on robustness in the grammar parsing.
My earlier version of white could handle the very basic stuff like I am sure most of you can already do if you are into this.
user: the car is white
user: what is the color of the car?
bot: I don't know
user: white is a color
user: what is the color of the car?
bot: white
...but next, it should be able to function without being told that "white is a color". A simplified example:
user: The color of the car is white. {white is a potential color}
user: The owner of the car is white. {white is a potential owner}
user: The color of the car is horrible. {horrible is a potential color}
user: The dog's color is red. {red is a potential color}
user: He is the owner of the dog. {white is less likely to be an owner}
user: The baloon is white, round and big.
user: what is the color of the baloon? {white is the most likely answer}
bot: white
From what I have seen so far, my approach on storing input is a bit different from the more traditional approaches (but then again, I haven't seen _that_ much). I try to avoid tree structures when I can and merge words quite wildly into objects with lots of properties. I have even managed to turn entire (but simple) sentences into single objects. This allows the learning patterns to be converted into integers with good detail later on, which can be stored in the database to optimize storage. I am far from proving my method so we'll see if I'll be shooting myself in the foot or not at a later point.
Anyways, that was my 2 cents. For now, I will most probably keep a low profile on my own bot as I am slowly bringing my new version up to shape. Instead, I will read up on what everyone else is up to, hope to be able to exchange thoughts around problem areas but most importantly; get inspiration.