Go Back   EQEmulator Home > EQEmulator Forums > Misc > Misc::Off Topic

Misc::Off Topic Want to talk about something that has nothing to do with EverQuest or the emulator? Post here.

Reply
 
Thread Tools Display Modes
  #1  
Old 01-15-2009, 02:49 PM
Kobaz
Hill Giant
 
Join Date: Nov 2008
Location: Gold Coast, Oz
Posts: 119
Default

Getting this stuff to work well is hard. The fact that the contexts should be limited by being in a game will help though.

Typically these sorts of processors are done as Markov chains. This is why they eventually start to repeat themselves. I remember hearing a conference presentation where a researcher was using genetic algorithms to produce dynamic transition matrices to get more natural responses from a bot. I can't recall the guy's name (it was 17 years ago) but he was relying on the idea that the human response should relate to what the bot said if what the bot said made sense. The correlation between responses adjusted the weights in the matrix.
Reply With Quote
  #2  
Old 01-15-2009, 09:12 PM
bristle
Sarnak
 
Join Date: Jan 2009
Location: san jose, ca
Posts: 44
Default

i have had a interest going way back to before microcomputers. but i never went anywhere with it.

i think a.l.i.c.e may be the way to go. i have seen some bots in second life and i believe that are a.l.i.c.e based. of course they cant see so they are limited. i also ran across http://http://www.personalityforge.com/. once again, it is web base.

anyway, there are already things that people can use (even MUDs).
Reply With Quote
  #3  
Old 01-16-2009, 12:29 PM
Deimos
Hill Giant
 
Join Date: Jun 2004
Posts: 135
Default

as I said, I've seen those and I think they're done wrong :p

oh well, half the fun is designing it too ^^

But, those bots have screwy short term and long term memories ><

They also repeat because they don't know that repeating isn't good in most cases.

Another thing is they can't deal with hypothetical scenarios ^^.

And finally, if you give them a word they don't know but you use it in the context of a sentence, they have no idea what the word is, even with the given context, and they'll just go off topic :\.

Example:
I have 9 yuloaifs and I use them to buy things in a market.
Ok.

Do you know what a yuloaif is?
I was hoping you could tell me.

Deduce it on your own.
I'm afraid I don't have those capabilities (or something like that).

Even I, the lowly programmer, knows how to put deduction and reasoning into a bot ><.

If these bots had deduction/reasoning along with a good short term and long term memory (which makes it so they don't repeat so often), then they'd make good bots ^_^.

Since they don't, I'd rather make my own.

And I thought it'd be fun to have a thread to discuss programming AI to see what ideas people had concerning AI :p.

Also, Alice uses pre-programmed responses. An AI should look through a variety of words to make their own response. This is yet another problem.
__________________
//The Path of Chaos Server-
//Fate Industries
//Lots of stuff O-o
Reply With Quote
  #4  
Old 01-16-2009, 03:40 PM
Kobaz
Hill Giant
 
Join Date: Nov 2008
Location: Gold Coast, Oz
Posts: 119
Default

I used to work in a related field (hence being at conferences etc). Issues I recall are:

Some (human) languages have grammars that are purely positional. In those it is much easier to deduce what is the object and what is the subject. English is not one of those languages. This is why it's so easy to make alice produce gibberish.

There are a lot of people working on "context free grammars", particularly those working on the so-called "semantic web". If you can map human language to a CFG then it's much easier to deduce appropriate responses, and to elicit definitions of new terms (like yuloaifs) in interesting ways.

There is a base vocabulary of around 200 words that should be enough to establish the grammatical basis of an expression.

Human language is inherently fractal, in that each clause and sub-clause can be expanded into a phrase that defines it. The problem is that these in turn can be expanded. For example, "water ski" -> (liquid state of H2O) (horizontal slat that is placed on sole of foot for sliding over low friction surfaces) OR (act of sliding over a low friction surface, that being) (liquid state of H2O) -> ((fluid that is not a gas) (energy dependent phase of matter) (substance: H2O) ) ((plane perpendicular to the direction of gravitational field)( thin section of solid substance in form of rectangular prism) (verb: suppositional) (base surface of) (extremity of lower limb) (preposition: purpose of) (moving tangentially with minimal friction) (qualitative comparison: low) (heat producing force opposing direction of motion)) -> etc.
Reply With Quote
  #5  
Old 01-17-2009, 01:51 PM
Deimos
Hill Giant
 
Join Date: Jun 2004
Posts: 135
Default

However, short term and long term memories of previous conversations with a given person play a factor in the context of word as well. For example, if that person talked about water skiing before and came back the next day and said water ski, the AI would analyze it and find that the highest probable meaning was the activity of water skiing that the individual did the day before.

It sounds like you know a lot more about this than I do. I just started working with it =).

Any pointers you have? And any ideas for playing the various factors into the meanings of various phrases and words, and from there using the probability of the greatest meaning to reply?
__________________
//The Path of Chaos Server-
//Fate Industries
//Lots of stuff O-o
Reply With Quote
  #6  
Old 01-17-2009, 04:25 PM
Kobaz
Hill Giant
 
Join Date: Nov 2008
Location: Gold Coast, Oz
Posts: 119
Default

I worked in a faculty where there was a lot of AI research. My area of expertise is using GACA (genetic algorithm cellular automata) for modelling spatially heterogeneous dynamic systems. My colleagues worked on other problems, including chat-bot interfaces to expert systems. There were often complicated conversations over coffee while things compiled or ran where we would bounce our show-stoppers off each other. So take what I say with a large amount of salt, as I'm recalling things that were discussed in brain-storms.

The short-term/long-term memory issue can be handled by using techniques similar to those used in ARIMA time series analysis to monitor serial correlation. The maths is a lot like that used to try to predict what the stock market is doing. The idea is that all concepts have a weight factor, and that the more recent concepts have higher weight than less recent. If a concept is raised that is highly correlated to an older one then the older facts have their weights boosted by a small amount. Over the course of a conversation the topic being discussed tends to have a sufficient weight to stay at the head of a queue of topics. As in all evolutionary computing (ANN, GA, GACA, GP) getting the rate of change of the weights right is damn hard.

I know one fellow was constructing ontologies of the conversations, and was using that to maintain context. He was using multiply threaded trees, and was maintaining the trees in a DB using memory-only tables (for speed), periodically flushing to disk. He was using a B-Tree based DB as I recall.
Reply With Quote
  #7  
Old 01-17-2009, 10:16 PM
Deimos
Hill Giant
 
Join Date: Jun 2004
Posts: 135
Default

Uh... wow o-o.

And for the conversation, did it take these memories into account for understanding the meaning of everything?

I mean, really, the hard part I am having right now (I'm probably going to be doing something like you said, but much less complex and more basic, just to give the appearance of something that looks complex and superior ;p) is getting the thing to understand the concept of itself and of things that are not itself without defining anything : ). Also, teaching it the very fundamentals of the human language based on those 2 concepts and a third (what is me, what isn't me, and what I need), which I believe are the basic concepts every human is born with.

The AI doesn't have to understand the concepts, it just has to know them and have the capability of later coming to understand them.

I believe that's how any living creature fundamentally grows and comes to understand what's around them.

You can correct me if I'm wrong (I haven't read up on it or anything, it's just my own theory that was brought up with my own thinking on the topic).
__________________
//The Path of Chaos Server-
//Fate Industries
//Lots of stuff O-o
Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

   

All times are GMT -4. The time now is 03:46 AM.


 

Everquest is a registered trademark of Daybreak Game Company LLC.
EQEmulator is not associated or affiliated in any way with Daybreak Game Company LLC.
Except where otherwise noted, this site is licensed under a Creative Commons License.
       
Powered by vBulletin®, Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Template by Bluepearl Design and vBulletin Templates - Ver3.3