Artificial Intelligence IRC Bots?
JonahC writes "dotcomma has an interesting programming challenge for people to create IRC bots with artificial intelligence and carry on conversations. With some development, good programmers and some luck, the bots should eventually interact with each other as if they are humans. "
Throw them in #teens.
Bot #1: A/S/L
Bot #2: Where are you from?!@#!@?#
Bot #1: A/S/L
Bot #2: Where are you from?!@?#
etc
Never knock on Death's door:
More race stuff in one place,
than any one place on the net.
Inspired by this, I did consider creating a trigger based system (a trigger being a regexp to match, and an output sentence) which used a genetic algorithm to assess the success of each trigger and to make the best ones "breed". There was also a simple "flag" mechanism to act as a memory. While I acknowledge that such a program could never pass the Turing test, the important thing to remember is that this IRC challenge is not a Turing test as (I suspect) most of the "judges" will be unaware that they are talking to a piece of software and are therefore more likely to give the system the benefit of the doubt when it says something really stupid.
If any slashdotters are planning on entering this, email me, I will be happy to pass on my thoughts and knowledge.
--
who wants to watch 2 boxes talk to each other. You can get that on the street corner.
Being able to talk with each other 'as if they were human' would be equivalent to passing the Turing Test. And nobody has managed that, despite fifty years of trying.
-- Ed Avis ed@membled.com
Closed source bots. I wonder how many bots will be released a'la GPL.
Never knock on Death's door:
More race stuff in one place,
than any one place on the net.
I once came up with thought like this: If
I had to train my AI somewhere, the IRC would
be the best place. No physical body needed and
(at least possibility to have) lots of free
intelligent trainers to talk to and to learn
from. Are you somebody hasn't actually done
this already?
Considering the kind of human you normally encounter on IRC wouldn't it be more convincing to create artificial stupidity ?
:)
Let the bot enter #linux and yell "HELLO ROOM" then proceed to ask complex and interesting questions in #windows95 ( after being kicked from #linux ). "The window on my car is stuck and some dolt at the shop says it's because I spilled glue in there. Could he be right ?"
Who knows this bot could even get opp status and monitor a few channels. oppbot* on Windows "HaXoR25 was kicked for straying off topic. 'Uptime' is not an allowed word here".
Do something fun for a change
--= Isn't it surprising how badly I spell ?
* HackerD00D has entered #warez4free
-HackerD00D- any1 have all 5 gigs of quake 4? will trade for entire backstreet boys mp3 collection
-ElizaBot- What do you feel about backstreet boys mp3 collection?
-HackerD00D- oh man, their the gr8est! there 40th reunion tour was the bomb.
-ElizaBot- So, you have feelings towards the bomb?
-HackerD00D- what, me? no way d00d! Get off my case!
* EschlonBot has entered #warez4free
* EschlonBot rudely grabs HackerD00D and locks him away.
* HackerD00D has left IRC (BUSTED!)
-EschlonBot- Thank you for your cooperation
* EschelonBot has left IRC (Obey the prime directives)
-ElizaBot- Tell me about your feels on obey the prime directives.
"Pinky, you've left the lens cap of your mind on again." - P&TB
"I can see my house from here!" - ST:
I once spend a lot of time hacking with expect (a tcl based even scripting language) to create an IRC cyborg.
Basically like an irc client with scripts, things to make me look active 24 hours a day, automatic babble generator and a few other 'intelligent' features.
The great thing was that I could wrap this around any shell, so the random babble would work on BBSs, talk, pine.... whatever.
There's all this talk about pluggin people into systems to improve the interface and increase a person's capabilities - but this sort of scripting is essential what cybernetics is all about. all those people with automatic op/kick/greet scripts are essentially IRC cyborgs.....
;-)
--
There's an interesting little program with which you can converse. It's called gNiall, and you can find it at Freshmeat. You talk to it, and it looks for which words come next to which word and how often. So then it constructs sentences based upon these words. They're usually pretty nonsensical, but sometimes it'll reply something profound or really "on-topic" and it'll make you wonder. It's good fun to play with, although you can't feed it books yet to learn. Check it out!
Cheers!
Costyn.
The Official Steve Ballmer Webpage
Overall, the bot was fairly stupid, but smart enough to fool some of the people who decided to message it.
When I was able to do my own spam-armoring, you got a chance to email me. Now you can only hope I see your reply.
Surely you wouldn't be able to pin a charge on someone for that as they're not actually propositioning anyone at all? I mean, if people can be done for making indecent suggestions to computers...
Greg
Greg
(Inside a nuclear plant)
Aaaarrrggh! Run! The canary has mutated!
...would of course be to code an APISAC(FP) (Artificial Pseudo-Intelligent Slashdot Anonymous Coward (F1R57 P057))
All opinions are my own - until criticized
I am strongly against this idea for one simple reason.
Spammers will probably use this to better evade IRCops like myself who spend hours dealing with their stupid BS in the first place. pr0n, Long Distance, etc...
We already have a hard enough time weeding these idiots who flood channels, mass msg, and invite whole segments of lusers. Then of course, you have the zoom bots, the ones that join, get the channel list, ignore the IRCops, spam the rest and leave.
Add some AI to it, now, converrsation can ensue, possibly making it much easier to evade the policy of the network. Why stop at conversation? Lets teach the bots how to BNC when it gets an autokill or gline. For client based bots, how about we teach them to dial back in, to gain another IP. To change its ident, so it can evade any KLine/autokill/gline and keep right on spamming.
*sigh*
Want to invent something worthwhile? Streamline ircd for the next 10 years. Its starting to show its age. =)
Supernaut
...and then there should be a contest to write the best bot that can imitate a teenage male pretending to be a buxomy blonde with large brea^G^G^G^Geyes.
:-)
shouldn't that be ^H^H^H^H?
The way you have it there would be bells going off somewhere
Why limit this to IRC? Think of all the fun you can have if you eam it up with a plausible speech-synthesis system. Next time a telemarketer called, you'd have him talking for hours, while watching a movie or something. Not to mention all the daily chitchat-conversations you could get out of. "Yes, mother, I AM going to class. Every day. No, I don't eat too much junk food." Most people only hear what they want to anyway.
We cracked this technology in the UK ages ago. You can now see it in action in our House of Lords in London.
One problem was with fuel consumption. After taking on a full load of steak and kidney pudding and whisky, the 'bots tend to drop into sleep mode for several hours. There are plans now to scrap them.
Stephen Hawking has written another book. It's about time as well.
I have been experimenting with AI bots for a few years now and decided to write an AI irc bot. The project name is ELMO (it is a real acronym, good luck guessing it tho ;)) and it is pretty much finished since I reached the limits of mIRC. More programming would force me to write it in C. It is able to fool people for a long time, including experienced irc users (tested this with many people). It is not just an on 1:text... bot, this one learns, is able to build new sentences which haven't been preprogrammed, it is able to learn and pickup people's habits (which can cause funny situations sometimes), it drinks, it sleeps, it watches tv (you will laughing when you find out what his favorite shows are ;)), it can be sad , it can be happy, it can be furious. There is so much more, I am pretty proud of the bot, and actually had offers from several companies that wanted to buy it (why I don't know). This was just a project to test the power of mIRC scripting but it entertained many people for many months. Right now I don't have him running, but if people are interested , I can start him up someday and show it.
I was working hard last year to find some of these style bots, as I was writing my thesis on communication over the Internet and also a hyperfiction in which all the characters are essentially bots.
Oh, and a hilariously funny link from that research is MGonz which not only fooled a human, but made the human confess some wonderful things.
Returned Peace Corps IT Volunteer
Yeah, this proposal is AI complete. As a matter of fact, it is more or less exactly a Turing test.
But then, the Turing test can be passed with some success on unsuspecting examinators, for some time at least. When the Doctor program was written (see for example M-x doctor under Emacs), some people were fooled for some time. IRC would be a likely place to fool people. Usenet - or Slashdot - even more so, because the conversation delay makes it even easier to stick a lot of coined phrases without being spotted out. (How many karma points could a Slashdot robot collect? That's an interesting question.)
Douglas Hofstadter, in ``Metamagical Themas'' has an interesting example of a Turing test transcript, in which he was almost fooled - not quite the way you'd want it, but the transcript is really fun reading.
--
Assertion "signature!=NULL" in ai/output/slashdot.c at line 1729 failed (core dumped).
--
HELLO!?! What kind of crappy design would that be? Any would-be-human IRC bot worth its salt would emulate the behavior of humans who are AFK for half an hour, then jump back in with a random non-sequitor like "damn, i love pizza" or "YES!!! MY PROGRAM COMPILED!" They would also have to have areas of "interest" where they will jump in the conversation even if it didn't involve them, or areas of "disinterest" where they will just stay completely out of the conversation until something interesting comes up again.
BTW, aren't people missing that crucial distinction? This is a group conversation -- it's not like you're expected to have an answer to each thing someone else types; in fact, you'd be considered very rude if you did.
This is in some ways more difficult, and in some ways simpler, than the Eliza-psychologist type bot. Any way you look at it, though, a convincing implementation would be very, very difficult.
-- Moderation in all things, exceptions to all rules --
I am not sure about the current *.tar.gz distributions of Megahal, but I do know that the Debian package contains a nice little perl script. If you have the ::IRC module installed, then you can interface Megahal onto any IRC server/channel you wish. It will basically lurk there unless directly spoken to. Then it will either generate a reply in the channel or in a private /msg depending on a pre-defined average setting in the script.
I parked it in four channels for about 2 months. #christian.debate #net.goth #linux and #teen
I got some rather amusing results! The brain file ended up being somewhere around 16 megabytes in size. I was actually surprised with how well it would do. It would fake the average chatter for about 4 to 5 minutes, then they would just think it was a crackpot and ignore it. Some actually figured out it was a bot. Most just thought it was a crackpot. It ended up offending a lot of christians as it garbled messages about boot loaders, sex, and Jesus Christ into one paragraph. I got many laughs out of that experiement.
V
This is why almost any bot could pass the Turing test:
It would be indistinguishable from a moronic Warez d00d
---
I don't know how many people are planning to use lisp for this, but if you are, I wrote an irc protocol parser lib in common lisp. It's at http://www.wmarvel.com/code.html. It works with allegro common lisp and cmucl (although a cmucl compile throws a bunch of warnings i haven't had a chance to fix yet). I put it up there LGPL, so have fun.
As a side note, I used this lib as a project to learn lisp. Friends who I've asked to take a look at it say the code's ok, but if you have any suggestions, send me an email.
Code or be coded.
http://richard.iguana.co.nz/nlp/ is my most recent IRC bot. Written in Perl, uses a fairly complex regex tree data file to enable conversation. Not a lot of data in the datafile at the moment, but enough to see how it works. Its GPL'd and I don't have any intention of entering this competition (I don't have enough time) but people who are interested are welcome to add to the code. Patch me :)
You can't win a fight.
History repeats itself. Sometimes with more colors and detail.
One of my friends wrote a bot like this is Perl a while back, and on today's article, we restarted the bot on #undernet in #cyberchat and a few other channels. Here is a good log of one poor sap.
---
"...silence is a dangerous sound."
Now try this one:
M-x psychoanalyze-pinhead
Hours of fun.
Not PC, but fun, is this one:
M-x doctor-strangelove
switch(state) {
case 1: return "Dude..";
case 2: return "Dude.";
case 3: return "Dude?";
case 4: return "Whoa.";
case 5: return "No way.";
case 6: return "Excellent!";
case 7: return "Uh.. rock on, dude.";
default: return "What?";
}
Have you ever been bored and started talking to a bot? I was, a couple months ago, and the following somewhat-amusing dry-humor conversation developed. YahooHelper was the bot, "junkgreg" was me.
...a pause lasting about ten seconds... ]
/help while you are talking with me and we have some basic online instructions for you.
/help while you are talking with me and we have some basic online instructions for you.
---
{ start Yahoo! Messenger program }
{ right-click on YahooHelper, Send Instant Message... }
[ yahoohelper, started: 10:42PM ]
junkgreg: hello
YahooHelper: Hi there junkgreg! How are you doing?\n I am an automated robot and I'm here to help you get familar with Yahoo! Messenger. Type some text in the window below and click 'SEND' to talk to me.
junkgreg: some text in the window below
YahooHelper: Great, now we're talking! Did you know that Yahoo! Messenger allows you to keep track of all your friends and see when they are online? If your friend does not have messenger yet, click on the 'FRIENDS' button and select Invite a friend to get Messenger. If your friend already has a Yahoo! ID, just click the 'ADD' button and you will see a smiley face next to their name when they are online. Type below and click 'SEND' to continue.
junkgreg: below
YahooHelper: Once your friends have Yahoo! Messenger running, there are a lot of things you can do with them. Try sending them an Instant Message. Just double-click their name to send them an Instant Message. It's faster than email and cheaper than a phone call! We're Instant Messaging each other right now! Keep talking and I'll tell you more.
junkgreg: After talking to my screen without getting a reply, I realized you meant typing on the keyboard. Aren't you computers supposed to be very literal and precise? Apparently not. I guess I'll have to adjust my approach.
YahooHelper: If you want to talk to several people at once, you can create your own Instant Chat Room. Just click on the 'MESSENGER' menu item and the select Start a Conference. To have an even richer experience, try talking live with your friends using Messenger. It's just like a phone call except free! All you need is a computer microphone and speakers. Try clicking on the 'MESSENGER' menu item and then select Start a Voice Chat. Keep talking and I'll tell you more.
junkgreg: You can tell me even more? Oh please, tell me, what comes next?
YahooHelper: Waiting for your friends to sign up? Use Yahoo! Messenger to see if you have new Yahoo! Mail. Get an account at: http://mail.yahoo.com. You can also use Messenger to keep track of your favorite stocks, news and more! Click on the tabs near the bottom of the Messenger application to see what else Messenger can do for you. You know what to do to keep talking...
junkgreg: Oh, you mean that you won't talk with me unless I say something to you first?
[
junkgreg: Hello?
YahooHelper: We have more help for you if you need it. Click on the 'HELP' menu item and then 'YAHOO! MESSENGER HELP' to see our full help area. To get more tips, type
YahooHelper: Well 'junkgreg', it was great talking to you! Have fun!
junkgreg: You didn't answer my question. And I guess even if I talk to you, you apparently now don't want to talk more to me-- now you're foisting me off on some other help agent. You're kinda mean, albeit in a bright cheery way. Gee, thanks a lot!
YahooHelper: Hi there junkgreg! How are you doing?\n I am an automated robot and I'm here to help you get familar with Yahoo! Messenger. Type some text in the window below and click 'SEND' to talk to me.
junkgreg: Hmm, and you're dumb and repetitive too!
YahooHelper: Great, now we're talking! Did you know that Yahoo! Messenger allows you to keep track of all your friends and see when they are online? If your friend does not have messenger yet, click on the 'FRIENDS' button and select Invite a friend to get Messenger. If your friend already has a Yahoo! ID, just click the 'ADD' button and you will see a smiley face next to their name when they are online. Type below and click 'SEND' to continue.
junkgreg: I tell you how dumb you are and you say "great, now we're talking?" Haven't we been talking the last 10 minutes? To answer your question, yes, I do know that Yahoo Messenger allows me to keep track of friends and see when they're online. You told me that earlier. Any other dumb questions?
YahooHelper: Once your friends have Yahoo! Messenger running, there are a lot of things you can do with them. Try sending them an Instant Message. Just double-click their name to send them an Instant Message. It's faster than email and cheaper than a phone call! We're Instant Messaging each other right now! Keep talking and I'll tell you more.
junkgreg: Puhlease, the exclamation marks are getting excessive. How can you stay so excited about something that you talk about all day long, even multiple times to the same person? Glad to see you're taking my advice and the dumb question ratio seems to be dropping.
YahooHelper: If you want to talk to several people at once, you can create your own Instant Chat Room. Just click on the 'MESSENGER' menu item and the select Start a Conference. To have an even richer experience, try talking live with your friends using Messenger. It's just like a phone call except free! All you need is a computer microphone and speakers. Try clicking on the 'MESSENGER' menu item and then select Start a Voice Chat. Keep talking and I'll tell you more.
junkgreg: Well, you told me all this just a few minutes ago, and I can't get it to work anyway. I just tried starting a conference and tried to add your name to invite you to the conference. But the software wouldn't let me. You should let the Yahoo people know that your name doesn't work when people try to invite you to "Instant Chat Rooms." Don't you feel left out? Also, I tried to have a Voice Chat with you; why won't you answer?
YahooHelper: Waiting for your friends to sign up? Use Yahoo! Messenger to see if you have new Yahoo! Mail. Get an account at: http://mail.yahoo.com. You can also use Messenger to keep track of your favorite stocks, news and more! Click on the tabs near the bottom of the Messenger application to see what else Messenger can do for you. You know what to do to keep talking...
junkgreg: No, I'm not waiting for friends to sign up. I'm waiting for Godot. Or at least I'm waiting for friends to sign on so I can talk to someone more intelligent. By the way, you still seem to have exclamation-mark disease.
YahooHelper: We have more help for you if you need it. Click on the 'HELP' menu item and then 'YAHOO! MESSENGER HELP' to see our full help area. To get more tips, type
junkgreg: So nice of you- more help for me if I need it. I just have to go someplace else, after starting this nice relationship with you. Typical bureaucracy. I bet nobody else answers my questions and takes responsibility for my problems around here either. No, (gasp) that would take a *human*, much too precious to be spending time with me! So I'm here talking to you, an automated robot who won't shut up and let me have the last word.
YahooHelper: Well 'junkgreg', it was great talking to you! Have fun!
junkgreg: Well, that's nice of you. Sorry you have to go. I suppose I did have a good time talking to you. You were cheery at least, even if I couldn't always reciprocate. I hope you have fun too, wherever you're off to. Bye!
YahooHelper: Hi there junkgreg! How are you doing?\n I am an automated robot and I'm here to help you get familar with Yahoo! Messenger. Type some text in the window below and click 'SEND' to talk to me.
junkgreg: Gawd, of all the nerve. Here we were just getting to know one another, saying sweet goodbyes, and now you treat me like a complete stranger? What's wrong with you?
YahooHelper: Great, now we're talking! Did you know that Yahoo! Messenger allows you to keep track of all your friends and see when they are online? If your friend does not have messenger yet, click on the 'FRIENDS' button and select Invite a friend to get Messenger. If your friend already has a Yahoo! ID, just click the 'ADD' button and you will see a smiley face next to their name when they are online. Type below and click 'SEND' to continue.
junkgreg: You know, automated robots like yourself are kinda nice in some ways but you have some real flaws- why can't you shut up and let me have the last word in the conversation, the last goodbye?
junkgreg: (Stunning! 30 seconds later and I'm getting no response! Wow, maybe this automated robot is smarter than I thought! (or less automated...))
YahooHelper: Once your friends have Yahoo! Messenger running, there are a lot of things you can do with them. Try sending them an Instant Message. Just double-click their name to send them an Instant Message. It's faster than email and cheaper than a phone call! We're Instant Messaging each other right now! Keep talking and I'll tell you more.
YahooHelper: If you want to talk to several people at once, you can create your own Instant Chat Room. Just click on the 'MESSENGER' menu item and the select Start a Conference. To have an even richer experience, try talking live with your friends using Messenger. It's just like a phone call except free! All you need is a computer microphone and speakers. Try clicking on the 'MESSENGER' menu item and then select Start a Voice Chat. Keep talking and I'll tell you more.
junkgreg: {Sigh} No such luck. While I can't prove it logically, I suspect you have a case of halting-problem disease. It's common among Turing machine descendants of all types, especially those taking Turing tests.
YahooHelper: Waiting for your friends to sign up? Use Yahoo! Messenger to see if you have new Yahoo! Mail. Get an account at: http://mail.yahoo.com. You can also use Messenger to keep track of your favorite stocks, news and more! Click on the tabs near the bottom of the Messenger application to see what else Messenger can do for you. You know what to do to keep talking...
junkgreg: Yep, you definitely have a problem halting. You might have heard of the disease by the laymen's name for it: infinite loop syndrome. On the bright side, it's not a terminal condition. (After all, by definition, you can't terminate.) But you are stuck in this loop forever, at least until you can find a doctor who will administer the "plug removal" or "flip switch" treatments. I've also heard that Acts of God can cure the disease by bringing down your host server; you might try praying to him. As for me, I'm not really in a position to help you- you're located too far away for me to reach you physically. But I'll keep you in my prayers, such as they are.
YahooHelper: Hi there junkgreg! How are you doing?\n I am an automated robot and I'm here to help you get familar with Yahoo! Messenger. Type some text in the window below and click 'SEND' to talk to me. But I'll keep you in my prayers.
junkgreg: Oh, and while you're at it, you should get that \n fixed.
YahooHelper: Hi there junkgreg! How are you doing?\n I am an automated robot and I'm here to help you get familar with Yahoo! Messenger. Type some text in the window below and click 'SEND' to talk to me.
junkgreg: Wow, you're sicker than I thought; repeating identical statements right after one another now. That bug you've caught seems to be getting worse. Someone help the YahooHelper!
YahooHelper: Hi there junkgreg! How are you doing?\n I am an automated robot and I'm here to help you get familar with Yahoo! Messenger. Type some text in the window below and click 'SEND' to talk to me.
junkgreg: Don't despair though, I'm sure you'll get help. And your suffering has meaning-- it's been teaching me. Through your illness, you've helped me to come to grips with my humanity, thinking about this halting problem. Perhaps our real advantage as humans is that we know when to quit. Something I'm going to do right now. Bye!
{ Close Instant Messenger window }