Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  
Pages: [1] 2

Author Topic: Amaline: A Simple Chatbot  (Read 5478 times)

kytuzian

  • Bay Watcher
    • View Profile
    • Kytuzian - Youtube
Amaline: A Simple Chatbot
« on: December 29, 2013, 11:21:27 pm »

Note:
Whenever I refer to Amaline as "she" or "her" replace that word with it. Calling it with a gender pronoun seems more natural and I do it unintentionally.

Amaline is a simple chatbot I programmed from scratch in C#. She uses an XML files to store all of her data. See 'The Basic Framework" for more

Download Link:
http://www.mediafire.com/download/rvacxfpdglyxbjo/Amaline.zip

Video Demonstration (and Tutorial):
https://www.youtube.com/watch?v=beGfWDCppu8

Internet Client (Windows Only, Sorry!):
https://drive.google.com/file/d/0BzgXJ3LjGyQzR0RRVlVXZlROTjQ/edit?usp=sharing

Source Code is Available Here:
https://drive.google.com/folderview?id=0BzgXJ3LjGyQzMlJSOGRSa3luSnc&usp=sharing

Note: You can only teach Amaline or tell her she spelled something wrong if you run the program on your computer, not online. This will probably added soon.

How to tell Amaline she spelled something wrong
Spoiler (click to show/hide)

How to teach Amaline:
Spoiler (click to show/hide)

The Basic Framework:
Spoiler (click to show/hide)

If you decide to teach her anything, I'd love to take a look at your xml file!
« Last Edit: May 13, 2014, 07:35:23 pm by kytuzian »
Logged

Lectorog

  • Bay Watcher
    • View Profile
Re: Amaline: A Simple Chatbot
« Reply #1 on: December 29, 2013, 11:56:20 pm »

I've been poking around her a bit~  :b

Are you planning to work further on this?
Logged

kytuzian

  • Bay Watcher
    • View Profile
    • Kytuzian - Youtube
Re: Amaline: A Simple Chatbot
« Reply #2 on: December 30, 2013, 12:02:53 am »

A little yes, but not that complicated. Next to do is probably have her be able to recognize spell errors and differences (like colour vs. color). She's not really going to be good at keeping up a conversation, and I was actually thinking of maybe trying to make an RPG of some sort with this sort of system.

Thanks for trying it out, what do you think?

Lectorog

  • Bay Watcher
    • View Profile
Re: Amaline: A Simple Chatbot
« Reply #3 on: December 30, 2013, 01:06:32 am »

Very simple, like you said. But it certainly works!

A thing that would be good for natural conversation is multiple responses to the same question, so it's not the same thing over and over. However, that would conflict with the typical RPG "conversation" approach.
Logged

kytuzian

  • Bay Watcher
    • View Profile
    • Kytuzian - Youtube
Re: Amaline: A Simple Chatbot
« Reply #4 on: December 30, 2013, 08:55:04 am »

Very simple, like you said. But it certainly works!

A thing that would be good for natural conversation is multiple responses to the same question, so it's not the same thing over and over. However, that would conflict with the typical RPG "conversation" approach.

I was thinking about doing and it shouldn't be much of a problem. Even in an RPG, if I don't want the person to have multiple response, I just won't give them those responses. I could also possibly give them a couple different synonyms for the same word, just to make it seem more natural. Also, if you don't mind can you tell me some of the things you said to it that had no response?

Lectorog

  • Bay Watcher
    • View Profile
Re: Amaline: A Simple Chatbot
« Reply #5 on: December 30, 2013, 12:55:33 pm »

I'm always curious about the person I'm talking to, so I tried asking things like
"What are you?" "What do you know?"
Less along the line of preferences, more factual identification.

On the track of multiple responses, one idea that is used in a lot of RPGs is giving a different response after the first.

There are also silly things like this:
Quote
I'm pleased to meet you.
Sure, I can call you whatever you like.

What's my name?
You said you were pleased to meet you.
The "Hi hungry, I'm dad" phenomenon~
Logged

Moghjubar

  • Bay Watcher
  • Science gets you to space.
    • View Profile
    • Demon Legend
Re: Amaline: A Simple Chatbot
« Reply #6 on: December 30, 2013, 05:29:51 pm »


There are also silly things like this:
Quote
I'm pleased to meet you.
Sure, I can call you whatever you like.

What's my name?
You said you were pleased to meet you.
The "Hi hungry, I'm dad" phenomenon~

So obviously... we need Dad-bot.
Logged
Steam ID
Making things in Unity
Current Project: Demon Legend
Also working on THIS! Farworld Pioneers
Mastodon

kytuzian

  • Bay Watcher
    • View Profile
    • Kytuzian - Youtube
Re: Amaline: A Simple Chatbot
« Reply #7 on: December 31, 2013, 07:21:18 am »

I'm always curious about the person I'm talking to, so I tried asking things like
"What are you?" "What do you know?"
Less along the line of preferences, more factual identification.

On the track of multiple responses, one idea that is used in a lot of RPGs is giving a different response after the first.

There are also silly things like this:
Quote
I'm pleased to meet you.
Sure, I can call you whatever you like.

What's my name?
You said you were pleased to meet you.
The "Hi hungry, I'm dad" phenomenon~

New Version: Amaline can now correct simple spelling errors like "teh" and "you", and she also recognizes spellings of words such as "colour" and "favourite". Added a new XML file for her to store some other data in. She can also handle multiple responses and two more reserved variable names were added.

Thanks for doing this. About the name thing, I don't really have any good way to check if a name is valid, and making a long list of names won't work even if I wanted to put it that kind of effort because anything could be someone's name.

EDIT: Added video demonstration/tutorial link.
« Last Edit: December 31, 2013, 01:03:03 pm by kytuzian »
Logged

Nienhaus

  • Bay Watcher
    • View Profile
Re: Amaline: A Simple Chatbot
« Reply #8 on: December 31, 2013, 08:39:35 pm »

I was bored so I made it so you can rename her. Her new name for me is now Jeff atm.
Logged

kytuzian

  • Bay Watcher
    • View Profile
    • Kytuzian - Youtube
Re: Amaline: A Simple Chatbot
« Reply #9 on: January 01, 2014, 10:00:37 am »

I was bored so I made it so you can rename her. Her new name for me is now Jeff atm.

Okay, whatever floats your goat. How was your conversation with her(him)?

Also. New version with slight change:
You can now used the program from the command line. Just type "Chat.exe Your message here" and she will respond just as if you typed it to her normally. I'm not quite sure why you would want this but now you can.
Also added a couple new options and responses, and created a word category for "Thanking" words such as thanks and thank you, and she will now interchange the two randomly.

Lectorog

  • Bay Watcher
    • View Profile
Re: Amaline: A Simple Chatbot
« Reply #10 on: January 01, 2014, 03:17:58 pm »

If the multiple response choice is random, can you put the same response into the pool multiple times to make it more likely to be said?
Logged

Araph

  • Bay Watcher
    • View Profile
Re: Amaline: A Simple Chatbot
« Reply #11 on: January 01, 2014, 05:56:21 pm »

This... is actually really cool. PTW, and keep up the good work! I'll be interested to see where this goes.
Logged

kytuzian

  • Bay Watcher
    • View Profile
    • Kytuzian - Youtube
Re: Amaline: A Simple Chatbot
« Reply #12 on: January 02, 2014, 02:29:35 pm »

If the multiple response choice is random, can you put the same response into the pool multiple times to make it more likely to be said?

Yes you can.

This... is actually really cool. PTW, and keep up the good work! I'll be interested to see where this goes.

Thanks! Its still very simple though, and I'm not quite sure what my next step should be.

Additionally, I'd be happy to give the source code if anyone is interested.

Araph

  • Bay Watcher
    • View Profile
Re: Amaline: A Simple Chatbot
« Reply #13 on: January 04, 2014, 12:07:01 am »

Have you considered making your next goal be enabling Amaline to remember previous interactions?
Logged

kytuzian

  • Bay Watcher
    • View Profile
    • Kytuzian - Youtube
Re: Amaline: A Simple Chatbot
« Reply #14 on: January 05, 2014, 10:50:19 am »

Have you considered making your next goal be enabling Amaline to remember previous interactions?

I have considered it yes, but I think that it might be a little too much for right now. My next goal will probably be enabling her to ask and understand responses to questions.
Pages: [1] 2