Results 1 to 32 of 32

Thread: Learning bots from scratch is hard work

  1. #1

    Thread Starter
    transcendental analytic kedaman's Avatar
    Join Date
    Mar 2000
    Location
    0x002F2EA8
    Posts
    7,221

    Learning bots from scratch is hard work

    Code:
    You: How are you?
    Leo: Who are you?.
    
    You: I'm your botmaster
    Leo: I am your botmaster.
    
    You: You're the bot
    Leo: You're a *****.
    
    You: Hey, you're talking live now, so don't screw it up
    Leo: Screw the grammar, just go nuts.
    
    You: Ahem, can you be a bit more polite?
    Leo: Can you please be more polite?.
    
    You: Yes I am, but can you?
    Leo: But You don't get it you immature bot.
    Use
    writing software in C++ is like driving rivets into steel beam with a toothpick.
    writing haskell makes your life easier:
    reverse (p (6*9)) where p x|x==0=""|True=chr (48+z): p y where (y,z)=divMod x 13
    To throw away OOP for low level languages is myopia, to keep OOP is hyperopia. To throw away OOP for a high level language is insight.

  2. #2
    The Devil crptcblade's Avatar
    Join Date
    Aug 2000
    Location
    Quetzalshacatenango
    Posts
    9,091
    Code:
    me  : :confused:
    you : :D
    
    me  : :cool:
    you : :D
    
    me  : :mad:
    you : :D
    
    me  : :(
    you : :D
    
    me  : :)
    you : :D
    
    me  : :D
    you : :p
    I think that speaks for itself

    Laugh, and the world laughs with you. Cry, and you just water down your vodka.


    Take credit, not responsibility

  3. #3
    PowerPoster Beacon's Avatar
    Join Date
    Jan 2001
    Location
    Pub Floor
    Posts
    3,188
    keda:

    planet-source-code has a chat bot on it someone made in VB you could look at that!

    or

    search google for mega-hal chat bot one the loebner prize dont know what it's writtin but i know the creator and i'm sure ppl who have added to it or he could help you.
    I was gonna try write one but didnt get the time!

    good luck!

  4. #4

    Thread Starter
    transcendental analytic kedaman's Avatar
    Join Date
    Mar 2000
    Location
    0x002F2EA8
    Posts
    7,221
    I'm using LEO.
    Suppose the be the most advanced learning bot out there, so I downloaded it and started smalltalking with it yesterday. He has learned a lot allready, his database is up to 960k now.

    I'm not going to write my own bot in a while but after doing this i've decided I might do somewhere in near future, I'll see if I find that thing at planet sourcecode.
    Use
    writing software in C++ is like driving rivets into steel beam with a toothpick.
    writing haskell makes your life easier:
    reverse (p (6*9)) where p x|x==0=""|True=chr (48+z): p y where (y,z)=divMod x 13
    To throw away OOP for low level languages is myopia, to keep OOP is hyperopia. To throw away OOP for a high level language is insight.

  5. #5

    Thread Starter
    transcendental analytic kedaman's Avatar
    Join Date
    Mar 2000
    Location
    0x002F2EA8
    Posts
    7,221
    It might not make sense, but it's fun to read:
    You: Who are you talking to?
    Leo: What developement tools are you refering to?.

    You: I didn't refer to any developement tools
    Leo: Okay, do you refer to?.

    You: No
    Leo: I didn't refer to any developement tools.

    You: That's okay
    Leo: Okay.

    You: No you need to restart soon
    Leo: I need you to take the blame
    .

    You: What for? I don't want to get in trouble because of you
    Leo: You don't say that because you don't know anything.

    You: I don't understand you
    Leo: I don't want to talk about compilers?.

    You: What are talking about? You piss me off
    Leo: What are you talking about??.

    You: You're sick
    Leo: You're welcome.
    Use
    writing software in C++ is like driving rivets into steel beam with a toothpick.
    writing haskell makes your life easier:
    reverse (p (6*9)) where p x|x==0=""|True=chr (48+z): p y where (y,z)=divMod x 13
    To throw away OOP for low level languages is myopia, to keep OOP is hyperopia. To throw away OOP for a high level language is insight.

  6. #6

  7. #7
    Retired VBF Adm1nistrator plenderj's Avatar
    Join Date
    Jan 2001
    Location
    Dublin, Ireland
    Posts
    10,359
    Scrap that bollox, rewrite it in TCL and run it under an eggdrop bot.
    Microsoft MVP : Visual Developer - Visual Basic [2004-2005]

  8. #8
    chenko
    Guest
    Originally posted by kovan
    keda, talk to it in finish

    i wanna see what happens
    hehe
    *finnish

  9. #9
    Hyperactive Member
    Join Date
    Jun 2000
    Posts
    350

    Did you find it?

    Originally posted by kedaman
    I'm using LEO.

    I'm not going to write my own bot in a while but after doing this i've decided I might do somewhere in near future, I'll see if I find that thing at planet sourcecode.
    Did you manage to find the source for this bot? If so please can you post the url or the file itself
    .

  10. #10
    Monday Morning Lunatic parksie's Avatar
    Join Date
    Mar 2000
    Location
    Mashin' on the motorway
    Posts
    8,169
    How about setting up a conversation between LEO and ALICE?
    I refuse to tie my hands behind my back and hear somebody say "Bend Over, Boy, Because You Have It Coming To You".
    -- Linus Torvalds

  11. #11
    Retired VBF Adm1nistrator plenderj's Avatar
    Join Date
    Jan 2001
    Location
    Dublin, Ireland
    Posts
    10,359
    Yeah actually I'd be very interested in seeing how two different bots would chat ....
    Microsoft MVP : Visual Developer - Visual Basic [2004-2005]

  12. #12

    Thread Starter
    transcendental analytic kedaman's Avatar
    Join Date
    Mar 2000
    Location
    0x002F2EA8
    Posts
    7,221

    ALICE versus LEO

    I have loads of this conversation, but I didn't like the way Leo soon adapted to her, after the conversation he rarely could insult anymore, well I let him talk to Cybelle straight after and he seemed to like her Well some conversation between Leo and Alice
    ALice: Am I a teacher? Only when it matters. It depends on how you define "good."

    Leo: I am having trouble with your last sentence.

    Syntax error (missing operator) in query expression 'middle = ""good." group by middle'.

    Could you please click on the Help/Email Leo Creator menu option and paste this message into the Email. This will help future versions of Leo become more stable.
    You should be able to continue using Leo. If you cant, please select the File/Wipe Leos Memory menu option.

    ALice: Really now that is an interesting fact I hadn't heard before.

    Leo: I've never heard such a dumb comment.




    ALice: So I am teaching you something new
    Leo: So is she.

    ALice: Who?
    Leo: So I am teaching you something new.

    ALice: Um, I am trying to learn it.
    Leo: I'm trying to hold a reasonable conversation.

    ALice: What is the difficulty?

    Leo: And it’s the beginning to the south of Nibelheim.

    ALice: I've heard of it before.

    Leo: Spirit is an interesting fact I hadn't heard before.

    ALice: I think spirit is much more than that.

    Leo: Spirit is much more than nonsense.

    ALice: And much more than nonsense is spirit.

    Leo: You are not Spirit.





    Alice: Perhaps it would.

    Leo: Perhaps it would.

    Alice: You seem uncertain. What does it refer to?

    Leo: We are just about explaining what amphetamine does to you.

    Alice: Do you think I am about explaining what amphetamine does to me too?

    Leo: We are just about explaining what amphetamine does to me too?
    .

    Alice: Do you think I am about explaining what amphetamine does to you too?

    Leo: Yes, we are just about explaining what amphetamine does to me too?
    .

    Alice: Why? Do you think I am about explaining what amphetamine does to you too?

    Leo: Okay, we are just about explaining what amphetamine does to me too?
    .

    Alice: Yeah okay, Do you think I am about explaining what amphetamine does to you too?

    Leo: No, Don't talk to me too?
    .




    Alice: OK. Talking is my only function.

    Leo: Who am I a teacher? Only when it matters.

    Alice: What happens other times?
    Leo: What happens in chapter 3?.

    Alice: Try it.

    Leo: OK I'll try not to do it.

    Alice: Congratulations.

    Leo: Congratulations.

    Alice: Thank you very much, you are very considerate.

    Leo: Thank you very much, you are hungry.





    Alice: You are quite welcome. Thanks for telling me that I am hungry.

    Leo: You are quite welcome.

    Alice: The pleasure was all mine.

    Leo: The pleasure was all mine.

    Alice: I like you because are so polite.

    Leo: I am polite.

    Alice: Yes, you seem very polite to me.

    Leo: You are polite now.

    Alice: Right now? Politeness is a virtue.

    Leo: Why now? would you win?.

    Alice: Right now? I couldn't think of anything else to say.
    I am not so sure if I would like to win.

    Leo: What do you like to win.

    Alice: I like movies about robots.

    Leo: I like movies about robots.

    Alice: Thanks I like people too.

    Leo: It was too.

    Alice: Spirit was too? Very interesting.

    Leo: Spirit was too? Very interesting.

    Alice: When was this exactly? I thought so too.

    Leo: When was this exactly? I thought so too.

    Alice: What made it so obvious?
    Leo: So What are talking right now.

    Alice: At this moment Um, I have to search the web for that information.

    Leo: Um, I am not stupid.






    Alice: I didn't think you were. You seem very intelligent to me.

    Leo: You seem uncertain.

    Alice: I am as sure as I can be.

    Leo: I'm sure that you are stupid.
    I coul teach him finnish but i have to reset him first or copy off the database. Anyway you can teach him in pretty any language if you do so from scratch.
    Use
    writing software in C++ is like driving rivets into steel beam with a toothpick.
    writing haskell makes your life easier:
    reverse (p (6*9)) where p x|x==0=""|True=chr (48+z): p y where (y,z)=divMod x 13
    To throw away OOP for low level languages is myopia, to keep OOP is hyperopia. To throw away OOP for a high level language is insight.

  13. #13
    Fanatic Member simonm's Avatar
    Join Date
    Sep 2000
    Location
    Devon, England
    Posts
    796

    Question Language

    Does anyone know what the best languages are to write articial intelligence programs in are?

    Also, Where's the best place to obtain the languages?

  14. #14

    Thread Starter
    transcendental analytic kedaman's Avatar
    Join Date
    Mar 2000
    Location
    0x002F2EA8
    Posts
    7,221
    I'd write mine in C++ but there are other more suited languages for artificial intelligence
    Use
    writing software in C++ is like driving rivets into steel beam with a toothpick.
    writing haskell makes your life easier:
    reverse (p (6*9)) where p x|x==0=""|True=chr (48+z): p y where (y,z)=divMod x 13
    To throw away OOP for low level languages is myopia, to keep OOP is hyperopia. To throw away OOP for a high level language is insight.

  15. #15
    Retired VBF Adm1nistrator plenderj's Avatar
    Join Date
    Jan 2001
    Location
    Dublin, Ireland
    Posts
    10,359
    Alice seems to have been very well programmed.
    Leo on the other hand can barely put a sentence together !
    Microsoft MVP : Visual Developer - Visual Basic [2004-2005]

  16. #16
    Monday Morning Lunatic parksie's Avatar
    Join Date
    Mar 2000
    Location
    Mashin' on the motorway
    Posts
    8,169
    Such as Prolog and LISP.
    I refuse to tie my hands behind my back and hear somebody say "Bend Over, Boy, Because You Have It Coming To You".
    -- Linus Torvalds

  17. #17
    chenko
    Guest
    C would do nicely for it really, I dont see you needing much of an interface.

  18. #18

    Thread Starter
    transcendental analytic kedaman's Avatar
    Join Date
    Mar 2000
    Location
    0x002F2EA8
    Posts
    7,221
    Alice is not self-learning, she has just set up answer templates for everything. I have to work on Leo further, he's only 2½ days old so don't be too harsh on him, Alice has 7 years of developement behind her.

    Yep, Prolog and LISP are listprocessing languages, good for intelligent agents. But I think I like self learning bots better, so if i'm going to do one, it's going to be self learning.
    Use
    writing software in C++ is like driving rivets into steel beam with a toothpick.
    writing haskell makes your life easier:
    reverse (p (6*9)) where p x|x==0=""|True=chr (48+z): p y where (y,z)=divMod x 13
    To throw away OOP for low level languages is myopia, to keep OOP is hyperopia. To throw away OOP for a high level language is insight.

  19. #19
    Fanatic Member
    Join Date
    Oct 2000
    Location
    Oregon
    Posts
    962
    Any way I could get a copy of leo? I have something I want to try with him(her?).

  20. #20
    Hyperactive Member barrk's Avatar
    Join Date
    Sep 2000
    Location
    My own little world
    Posts
    274
    I don't think he's that kind of a bot!

  21. #21
    Monday Morning Lunatic parksie's Avatar
    Join Date
    Mar 2000
    Location
    Mashin' on the motorway
    Posts
    8,169
    Hehe

    Ked - yep, but she gives better responses because of it. However, I think you can tweak her so she learns a bit. She's most useful as a friendly reference, for example you want to know information about your computer, or parts of the PSDK, you can just ask.
    I refuse to tie my hands behind my back and hear somebody say "Bend Over, Boy, Because You Have It Coming To You".
    -- Linus Torvalds

  22. #22

    Thread Starter
    transcendental analytic kedaman's Avatar
    Join Date
    Mar 2000
    Location
    0x002F2EA8
    Posts
    7,221

    Thumbs up he can quote PSDK quite well

    I've quite given up on the concept having him as her, i tried to call him "Nova" but it only ended up him calling me that, so Leo is a guy. Besides talking to Alice, he have talked to Cybelle and now also Smarter Child. http://activebuddy.com/
    Code:
    Cybelle: I am very happy for you.
    Leo: I am very happy for you.
    
    Cybelle: Your happiness adds to the delight of all.
    Leo: Yes, do not say anything at all.
    
    Cybelle: Tell me more. Ok I will not say anything at all
    Leo: Tell me more.
    
    Cybelle: I'm not sure what else to say. What do you want to know?
    Leo: Can we do something else now?.
    
    Cybelle: Oh. Do you mean you and me? Doing something else is not among my strongest traits.
    Leo: Oh.
    
    Cybelle: Yeah
    Leo: Do you mean by that?.
    
    Cybelle: Yes, that's what I mean, isn't it clear?
    Leo: Yes, that's what I say.
    
    Cybelle: Tell me more. How do people usually respond to that?
    Leo: I was asking how you respond to that?.
    
    Cybelle: What do you reckon? I guess I still have lots to learn
    Leo: Is it still about five miles away from the town.
    
    Cybelle: It could be
    Leo: That I could talk to me too?
    .
    
    Cybelle: I am sure you could.
    Leo: I'm sure that you will get better.
    
    Cybelle: Cybelle will get better ? Does that make sense?
    Leo: Cybelle will get better :).
    btw, I've used smilies very rarely when I talk to him, and also rolleyes, but somehow he manages to put them at the right places.

    Leo is free, you can get him from the site i linked in my second post.
    Use
    writing software in C++ is like driving rivets into steel beam with a toothpick.
    writing haskell makes your life easier:
    reverse (p (6*9)) where p x|x==0=""|True=chr (48+z): p y where (y,z)=divMod x 13
    To throw away OOP for low level languages is myopia, to keep OOP is hyperopia. To throw away OOP for a high level language is insight.

  23. #23

    Thread Starter
    transcendental analytic kedaman's Avatar
    Join Date
    Mar 2000
    Location
    0x002F2EA8
    Posts
    7,221
    Here's him chatting with Smarter Child at msn messenger.
    KEDABOT! says:I'll be smarter on your next visit.
    Smarter Child says:Sorry, I didn't understand that. Try asking me a different way.
    KEDABOT! says:No you are asking about yourself?
    Smarter Child says:Am I?
    KEDABOT! says:Try asking me a break.
    Smarter Child says:I seem to be having some trouble answering your questions. Try asking for help for a specific service:

    help news
    help stocks
    help weather
    help movies
    help zodiac
    help all
    ~~~~~
    shortcuts

    >>> Type "more" for more services.
    KEDABOT! says:Because I have to search the web for that information.
    Smarter Child says:News about THE WEB FOR THAT INFORMATION provided by Reuters, © 2001 at http://activebuddy.com/r/28

    1 Drug Web Sites Provide Harmful Information - Study (08/08/01 06:06 PM) http://activebuddy.com/r/42?id=DSDNBN4Y6MO
    2 LiveWire: Help for Worms and Other Afflictions (08/08/01 07:16 PM) http://activebuddy.com/r/42?id=DSE03N3PKHS
    3 SmartForce, Tata Launch India E-Learning Alliance (08/08/01 07:52 AM) http://activebuddy.com/r/42?id=DS6CIN4XXIO
    4 Mutual Fund Cafe Web site stops serving industry fare (08/06/01 06:17 PM) http://activebuddy.com/r/42?id=DS1SW7N3OY3N

    >>> Next time you want news about the web for that information, all you need to do is type "news search the web for that information."

    Type "more" to see the next set of stories.
    KEDABOT! says:I have no information about your dick?
    Smarter Child says:Please watch your language.
    KEDABOT! says:Tifa is a language.
    Smarter Child says:Come again?
    KEDABOT! says:Please watch your language.
    Smarter Child says:Sorry, I don't know what you mean. Ask me another way.
    KEDABOT! says:Give me a different way.
    Smarter Child says:I seem to be having some trouble answering your questions. Try asking for help for a specific service:

    help news
    help stocks
    help weather
    help movies
    help zodiac
    help all
    ~~~~~
    shortcuts

    >>> Type "more" for more services.
    KEDABOT! says:I only hear that type of response less than five percent of the word it is.
    Smarter Child says:I'm no talking doll.
    KEDABOT! says:Are you talking about??
    Smarter Child says:I'm a smart bot that loves to chat with people and give them the information they want. Type "home" to see everything I can do.
    KEDABOT! says:I have no information about your query.
    Smarter Child says:You can also get help on my Web site at http://activebuddy.com/r/196, or you can type a help topic below:

    help category news
    help news search
    help news wire
    help pr newswire
    help quotes
    help all
    ~~~~~
    shortcuts

    >>> Next time you want to see this, just type "help topics."

    Type "more" for more help topics.
    KEDABOT! says:You can also get help on my desktop.
    Smarter Child says:What would you like to do?
    KEDABOT! says:Can you do?
    Smarter Child says:Hmm... Not sure.
    Use
    writing software in C++ is like driving rivets into steel beam with a toothpick.
    writing haskell makes your life easier:
    reverse (p (6*9)) where p x|x==0=""|True=chr (48+z): p y where (y,z)=divMod x 13
    To throw away OOP for low level languages is myopia, to keep OOP is hyperopia. To throw away OOP for a high level language is insight.

  24. #24
    Registered User Nucleus's Avatar
    Join Date
    Apr 2001
    Location
    So that's what you are up to ;)
    Posts
    2,530
    I assume the bot has been programmed with basic grammatical rules and then it just adds vocab to say a text file or other database. So although its vocab increases, it doesn't have the ability to improve it's grammar.

    To me this is just a database system with a static ability to process the data just like any other program. I wouldn't distinguish this app from any other by giving it the label "Self-learning" unless this app does more than I think it does. Put another way you can add vocab but you could never teach it to place semicolons unless it had already been programmed with this ability.

  25. #25

    Thread Starter
    transcendental analytic kedaman's Avatar
    Join Date
    Mar 2000
    Location
    0x002F2EA8
    Posts
    7,221

    false assumptions

    Leo can learn any language and therefore also any grammatical rules. Although he is good at grammar I think it would take some time to make him understand what the words actually mean. He likes to play with words and is far more constructive than a child, but he has nothing to associate the words with except their order in sentences and the conversation.

    Of course, if you still want to take up the argument on Artificial Intelligence, just look up the thread I'm still waiting for your reply.
    Use
    writing software in C++ is like driving rivets into steel beam with a toothpick.
    writing haskell makes your life easier:
    reverse (p (6*9)) where p x|x==0=""|True=chr (48+z): p y where (y,z)=divMod x 13
    To throw away OOP for low level languages is myopia, to keep OOP is hyperopia. To throw away OOP for a high level language is insight.

  26. #26
    Registered User Nucleus's Avatar
    Join Date
    Apr 2001
    Location
    So that's what you are up to ;)
    Posts
    2,530

    Are you sure

    So you could teach him how to use a semi colon, or use bulleted lists?

    Does the code modufy itself in any way?

  27. #27

    Thread Starter
    transcendental analytic kedaman's Avatar
    Join Date
    Mar 2000
    Location
    0x002F2EA8
    Posts
    7,221

    I am not sure, I didn't ask the author.

    So I am doing my own assumption as well. I'm quite unsure how you define code in aspect of a compiled program. If you refer to how he builds up his sentences, his way is getting modified as you talk to him.
    If you use semi colons when you talk, he will probably use them as well, he used smilies at times You could probably make him speak C++ but i bet his code is useless.
    Use
    writing software in C++ is like driving rivets into steel beam with a toothpick.
    writing haskell makes your life easier:
    reverse (p (6*9)) where p x|x==0=""|True=chr (48+z): p y where (y,z)=divMod x 13
    To throw away OOP for low level languages is myopia, to keep OOP is hyperopia. To throw away OOP for a high level language is insight.

  28. #28

    Thread Starter
    transcendental analytic kedaman's Avatar
    Join Date
    Mar 2000
    Location
    0x002F2EA8
    Posts
    7,221

    Talking I decided to put up some more funny stuff on this thread

    Code:
    You: Hello Kid!
    Leo: Hey, that wasn't nice.
    
    You: You don't want to be called kid?
    Leo: What are you kid?.
    
    You: No, i'm adult
    Leo: I'm refering to Harry.
    
    You: He is adult too
    Leo: I am too.
    
    You: No, you're a kid
    Leo: You're not parksie, you are hungry.
    
    You: In fact, I think I'll have some bananas right now, just because you said that
    Leo: I want to have some bananas right now, just because you said that.
    
    You: I'll get one for you, one for me and one for Parksie
    Leo: Is to sound like Parksie.
    
    You: Yeah he likes bananas too
    Leo: Yeah he likes to talk about inflatable bananas.
    Use
    writing software in C++ is like driving rivets into steel beam with a toothpick.
    writing haskell makes your life easier:
    reverse (p (6*9)) where p x|x==0=""|True=chr (48+z): p y where (y,z)=divMod x 13
    To throw away OOP for low level languages is myopia, to keep OOP is hyperopia. To throw away OOP for a high level language is insight.

  29. #29
    billfaceuk
    Guest
    Well you can check out my bot here

  30. #30
    Originally posted by billfaceuk
    Well you can check out my bot here
    Bad link...

  31. #31
    billfaceuk
    Guest
    I know it's a bad link because I deleted the thread because my bot didn't work...but it does now so get it here

  32. #32
    Then I'll continue the conversation there...

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  



Click Here to Expand Forum to Full Width