AI Zone Admin Forum Add your forum

NEWS: Chatbots.org survey on 3000 US and UK consumers shows it is time for chatbot integration in customer service!read more..

New arrival
 
 

Hi all,

Following Dave Morton’s advice from aidreams and registering myself here too. Not new to the forum, just not registered earlier.

An introduction to me and my project can be found here.

In short, I am working on a bot / NL parser with the ambitions to base it on strong’ish A.I. Since the post above was written, I have moved on from solely focusing on the grammar parser to building relations between sentences and “objects”. Should hopefully be able to introduce my project a bit more in the coming couple of weeks.

 

 
  [ # 1 ]
Robert G - Aug 25, 2011:

[...]In short, I am working on a bot / NL parser with the ambitions to base it on strong’ish A.I. [...]

“Strong-ish A.I.” is a tall order.

http://www.scn.org/~mentifex/AiMind.html is my “independent scholar” attempt at Strong AI.

Right now in recent days of August 2011 I have been working on getting the AI to understand the use of English “not” in negational sentences. You can run the AI by clicking the link and tell it something like “you are not king” or “you are not god” and it remembers the idea, but it also gets confused.

Anyway, welcome and godspeed. -Arthur

 

 
  [ # 2 ]

Hi Robert, welcome to the forum!

I too am interested in parsing techniques and elucidating object relationships from text. My project involves building a knowledge base of interlinked parse trees, with each “node” as an object (noun phrase) with conditions (verbs/prepositions/conjunctions/etc) linking the nodes together.

Right now the focus is squarely on parsing and determining what additional information can be gleaned from sentences. Which is why I was interested in your 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

I completely agree with the concept of what you’re trying to do, and I’m trying to implement similar fuzzy “data extraction” mechanisms myself. I have a few problems with this particular example though. Why would the sentence “He is the owner of the dog” make the program less likely to think white is a [type of] owner? In fact, “white” is as valid a type of owner as it is a type of color. (In this case, it’s important that “he” is a noun, whereas “white” is an adjective. There’s no reason a “he” can’t be white.) If you were to ask “Who is the owner of the car?” (analogous to “What is the color of the balloon?”), it would be valid to answer “white” as a distinguishing characteristic.

Of course, one would not answer white on its own because “who” requires a noun response whereas “what” can be answered by a variety of pos. But the principle is the same.

I’ve been giving a lot of thought lately to subtleties like the one above because of a particular module I’ve been building for my bot. Basically it’s designed to find patterns/perform actions on a sentence to convert it to a set of simple sentences that convey the same meanings. It then writes a general rule based on the input and actions it performed. But language is a subtle thing and it’s tricky deciding what examples make good rules and determining how robust those rules should be, or how picky the bot should be in applying them.

There’s some interesting research out there about how people alter their speech after encountering new grammar—how robustly they apply the new rules and how many counter-examples it takes to change the way they employ it. Then there’s the whole other ballgame of teasing out what part of their behavior can be codified in terms of other grammar rules and what part is mostly dependent on the context of what’s being said.

 

 
  [ # 3 ]

Hi C R,

Yes, that is a good point and my example by it self may not actually be enough to determine that white is probably a color. My reasoning behind the example was that since the pronoun “he” is {owner of: dog} and the noun “dog” has a property of color, it would make owner less likely to also be a color.

It will be very difficult to get this type of reasoning right. Even when ignoring all the edge cases, the next issue will be that the database or session memory will end up being enormous very quickly. A bot could conclude a lot from very simple sentences if enough data is translated into learning patterns and stored in the long term memory. Just a simple sentence like “The dog looked at me” associating the verb “look” with the noun “dog”, can group “dog” with other nouns with the same ability. With enough prior data, the bot can assume that a dog is a living thing and has eyes.

But then comes the issue of loads of exceptions. What if the source is “Thomas the tank engine” where trains have human abilities? What if it was a sci-fi text about a robot? Well, to handle this, the bot needs to keep track of what the source of the information is.  Even more data to be stored in the database. At some point, forget algorithms will be needed which in turn needs an ability to determine what information is important and what isn’t. For now, I intend to allow the memory to get flooded by data.

One of the most difficult aspects in my project has otherwise been dealing with edge cases. Developing a bot to me, is very much like being on a roller coaster with it’s up’s and down’s. In my previous version, I often got very excited about an idea / theory, only to later hammer it down with all the edge case and eventually stamp it with “impossible”. It really is a chicken and egg situation and it’s very hard to get started in new areas.

Since the rewrite began, my new motto motto is:
- I will not get it right from the beginning
- It’s far better to start running in a direction than to stand still
...and so far it is working and I am making better progress than before.

So yes, Arthur is absolutely right. Basing a bot on any form of strong A.I is a tall order. But hey, where would the fun be without it? wink

 

 
  login or register to react