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..

Extracting ’meaning’ from words?
 
 

Hi,

Given a ‘glass’, ‘bowl’, and a ‘bucket’ I can think of a dozen ways to classify them so a chat program could be prepared to discuss them or to disseminate details when prompted.  A “20 questions” approach could even be used to train the program.

Given a scenario of a ‘roof leak’ on a rainy night, if a bucket is not available, how would the program determine that a bowl or a glass might work instead?  From an abstract perspective they have the same basic function regardless of the description.

I’ve got some ideas and am curious how others might have solved or have approached this problem before.


Regards,
Chuck

 

 
  [ # 1 ]

In my chatbot, I think I’m going to try to classify things in the manner described by Steven Pinker in his book “The Stuff of thought,” which not only proposes some things which might behave similarly, but also what ways they can both be used similarly in language.  I highly recommend you check out that book.

-Rob

 

 
  [ # 2 ]

Thanks Rob for this suggestion. We’re actually setting up a librrary and we’ll take your suggestion into account!

 

 
  [ # 3 ]

Chuck,

May I respond with some casual conversation?  If it is not
fully correct, please fine tune its simplicity ...

Perhaps they can all be derived from a container base class.
But how about the ‘roof leak’?  Is that the opposite, perhaps
we need an uncontainer base class ?  Then perhaps each
class is instantiated on a separate thread to form a simulation
that is accurate.

We could then move the Y axis of the container to equal the
the ‘roof leak’ Y axis dripping down in the same direction.
And we make a discovery!  The floor or house is also a container!

 

 
  [ # 4 ]

@Rob,
Thanks for the suggestion. I’ll take a look and read some reviews.  I’m curious, would you classify the book as being more theoretical…more practical…or both?

@8PLA,
It seems you’re describing a means for ‘training’ a chatbot by using discovery.  That’s interesting about contrasting container/uncontainer classes.  I’m curious where it begins…abstract meanings….before you get to the container concept?

I’m walking at lunch and spent time thinking this through…probably familiar to most of you.  A newborn baby (ignoring pre-birth learning) seems to be driven by just a few things:
* Stomach pain from hunger/gas -> range of reaction to fidgeting to screaming.
* Wired to put things in his mouth…and suckle.
* Detects taste/smell

Some basic considerations are:
* Stomach pain sensor…ranging from no pain to total discomfort.
* Something in the mouth (variable sensations…pleasant to unpleasant).
* Taste (variable)
* Smell (variable)
* Vocal utterance…cooing to screaming.

You can imagine the loop:
* Baby that is hungry has pain in stomach.
* Baby puts bottle nipple in mouth..begins sucking (automatic…learned in womb)
* Milk has particular taste and is comfortable to pallet (warm, sweet)
* Pain decreases.

I’m guessing this is one cause and effect relationship learned early on.  Pain and taste of the milk is the feedback.  The associate with good taste and decreased pain is the nipple in the mouth. Of course, anything is a nipple to a newborn. So when hungry a baby will gnaw (without teeth) on its hand…but gets frustrated because there is no taste or decrease in pain.  Now it learns, statistically, that sometimes the nipple works and sometimes (when it’s not a nipple) it leave him hungry.

That’s about all I considered today.  Anyhow, my rambling has a point…I think. =)  The objects and associations begin at this level…and then begin to increase as the baby crawls and shoves more things in his mouth.  It’s like a spiral (from the inside out).

Now, I’m not suggesting a training solution. However, a nipple, milk, objects have conceptual relationships to pain and pleasure…and everything else builds from there. 

So, perhaps when programming a chat bot and we introduce the concept of food…it is related to that basic abstract association of “Object A reduces pain”...or something like that.

I’m curious if anyone else has been down this path with any real results…besides waxing eloquent. =)

Regards,
Chuck

 

 
  [ # 5 ]

Chuck,

Here’s another resource that expands on your line of thinking. Its a book called “The Emotion Machine” by Marvin Minski.  He takes you through that first layer of association as represented by your mind experiment and up through six levels of goals until you reach the top level of Maslow’s heirarchy being a self-actualize person.  It is all framed in terms where a computer system could be spec’d out of it.

Another direction is the Frame system developed at Berkley (or was it Standford?)  It seeks to go beyond the basic sense of words into the word’s uses.

Lately I’ve been exploring a site http://www.opencalais.com which will take an input of text and return all the triples in RDF format that represent the meaning of the text.  This is part of the semantic net (Web 3.0) stuff.  Its designed for further processing in applications like chat bots.

 

 
  [ # 6 ]

Chuck said, “So, perhaps when programming a chat bot and we introduce the concept of food…it is related to that basic abstract association of “Object A reduces pain”...or something like that.”

Your concept is similar to the special purpose A.I. used by elevators controllers in buildings.  It is called Reinforced Learning, where each elevator bank is like a child, who chases a virtual reward, for figuring out the best way to serve the people and save wear and tear on the equipment—which improves reliability and saves expensive maintenance costs.

 

 
  [ # 7 ]

Gary,
You make some interesting proposals
Yes. Those directions do imply possibilities.
I’ll be exploring the site http://www.opencalais.com too!
Thank you.

 

 
  [ # 8 ]
Gary Dubuque 92 - Jan 9, 2010:

Lately I’ve been exploring a site http://www.opencalais.com which will take an input of text and return all the triples in RDF format that represent the meaning of the text.  This is part of the semantic net (Web 3.0) stuff.  Its designed for further processing in applications like chat bots.

It may be worth noting that the Loebner Prize Contest disallows communications of any sort, so an entry that makes use of a web service like this (or a search engine such as Google) would be in breach of the rules.

Reason: a bot with an internet connection could simply be a front that connects to a remote human.

Hugh seems adamant against allowing communication and, as a previous organiser of the LPC (2003), I fully support this position.

David

 

 
  [ # 9 ]

@Gary,
Thanks for the book suggestion. I read the reviews yesterday at Amazon. Overall the book reviews were positive.

RDF was new to me. It seems like another way of classifying objects and possible relationships. Thanks for pointing that out.

@8PLA,
Reinforced Learning with elevators is new to me.  I know that many programs are designed and the must ‘learn’ or be ‘trained’.  I’m interested in creating this framework…and then artificially implanting the ‘learning’ wholesale. Sort of like cloning a 20 year-old and then giving it 20 years of memories to operate from.  Thanks!

@David,
Agreed!  Although connecting to the internet to support training would still be appropriate.  Since the chatbot needs all of its data stored locally on a machine, what’s the largest program that you’ve seen to date? Including .exe, data files, etc.?  50 MB? 100 MB?

Thanks,
Chuck

 

 
  [ # 10 ]

I implemented OpenCalais at News A.I. ( newsAI.com ) after reading Gary’s excellent contribution to this thread.  I modded a custom format called “Easy”, because I was getting an “Unsupported Document” error (which is a known issue ** on the web) with the built-in document viewer format. However, I left support in for its other built-in format.

It works… Here is your opportunity to check it out.  Advice:  It seems
to prefer a fair amount of text.  I use the comments section which is based on an RSS current news feed on newsAI.com with A.L.I.C.E as editor.  Feel free to copy and paste from there, to OpenCalais, if you need some current text. 

I confirmed that A.L.I.C.E. is doing an great job of promoting News A.I. ( newsAI.com ) to page one of Google for search term: “News A.I.”.  During the expertiment,  I removed A.L.I.C.E. for a code patch, and the site fell off the Google radar like a rock.  When I brought A.L.I.C.E. back online, the site quantum leaped back to page one on Google.

Lastly, please know that this information is subject to change.  If you encounter any
errors, that lilkely means it is being coded.  In that case you can try back again
later, and maybe it will be back online. 

Eventually, ( maybe soon) I plan to break this link and take this OpenCalais page down:

Temporary link ⇒  http://we8.us/k 
( we8.us is my own link shrinker like bit.ly on twitter. )

Administrators: 

If you don’t mind, I am planning on removing or heavily editing this post shortly.
That’s why I put the link in my link shrinker, so the search engines won’t pick it up.


___________________________________________________
** known issue for which some developer already posted a diff, which means it is already in the early stages of being fixed.  OpenCalais is neatly coded.

 

 
  [ # 11 ]

Since the chatbot needs all of its data stored locally on a machine, what’s the largest program that you’ve seen to date? Including .exe, data files, etc.?  50 MB? 100 MB?

I understand Rollo Carpenter’s 2009 LPC entry used a large database, running on his own hardware. I’ve forgotten the exact figure but I think it was in the multi-gigabyte range.

David

 

 
  [ # 12 ]

@David,
Many gigabytes of data represents a lot of data entry time or importing of information. Does Rollo discuss his design and process of creating so much data to support his entry? 

@All,
Any ideas of the smallest chat bot package to score high among other entries?  I wonder if there is any particular methodology or technique that seems to outperform others.

Regards,
Chuck

 

 
  [ # 13 ]
Chuck Bolin 40 - Jan 13, 2010:

@David,
Many gigabytes of data represents a lot of data entry time or importing of information. Does Rollo discuss his design and process of creating so much data to support his entry?

You’d better ask Rollo. As I understand it, the Jabberwacky database mostly contains records of past conversations. In other words, the online users do the data entry. I don’t know how close the Loebner entry is to Jabberwacky, George, Joan, Cleverbot etc, or if it’s something completely different.

David

 

 
  [ # 14 ]
Chuck Bolin - Jan 10, 2010:

@David,
Agreed!  Although connecting to the internet to support training would still be appropriate.  Since the chatbot needs all of its data stored locally on a machine, what’s the largest program that you’ve seen to date? Including .exe, data files, etc.?  50 MB? 100 MB?

2.8GB on a production 32bit machine. I have to mention the 32bit architecture explicitely, because on the 64bit development machines it took more than 5.5GB.

Oh yes and then there are those nifty statistical NLP and IE algorithms that required 11GB when doing a simple wordcount on a huge Japanese corpus. But this is of course an activity that has to happen before ANY contest.

Richard

OTOH: If one is perverted enough (and I might be wink ) to take a notebook with 16GB RAM to the next contest: https://www.lapstars.de/product_info.php?cPath=669&products_id=5657

 

 
  login or register to react