-
December 30th, 2011, 03:48 AM
#1
[VBEE2008] Complete beginner looking for guidance on chatbot program
I'm a complete beginner to Visual Basic 2008, but I'm aiming to build a chatbot using it.
The (obvious) problem is, I don't have a clear idea on how to go about building one.
Here is what I have so far:
What I want the program to look like (my apologies, didn't know how to show the image here)
For the benefit of those that can't view the picture for whatever reason, it's a rather simple program.
1 image window shows the chatbot's picture/avatar. Titled: Avatar
1 textbox shows the chat log between the chatbot and the user. Titled: Response Win
1 textbox allows the user to type in his input. Titled: Input Win
1 buttom that the user can press to submit his input to the chatbot. Titled: SubBut
1 button to save the whole chatlog to a specified file. Titled: SaveLog
1 dropdown box to change the bot that the user is talking to. Titled: ChangeCharacter
1 button to show the credits, and finally, 1 button to exit the program. Titled: Credits and Exit respectively
My aims for the program
Version 0.1
1. Show a static image where the chatbot's avatar should be.
2. Have what the user types be shown within the Response Win window.
Version 0.2
1. Have the bot be able to respond to basic statements, such as greetings and questions about the bot.
2. The user is able to enter his input simply by pressing Enter instead of having to click on Submit.
Version 0.3
1. The bot is able to have conversations up to three sentences long.
2. The user is able to save the chat logs by clicing the SaveLog button.
Version 0.4
1. The bot is able to have conversations up to seven sentences long.
2. Exit button is able to work.
Version 0.5
1. The bot is able to change it's responses based on it's "emotions". For example, if the bot is happy but the user says something which causes the bot to become angry or sad, reponses will be taken from a different database in order to reflect the bot's change of feelings.
2. The user is able to select different bots from the dropdown menu.
Version 0.6
1. The bot is able to understand sentences which are designed to confuse it, such as words taken out of context or logic errors.
2. Other bots are taken to the level of Version 0.4 of AI, based on their personalities.
Version 0.7
1. The bot is able to carry out elementary functions that the user asks it to do, such as opening an application or saving data within it's memory.
2. The data saved by the bot will not be gone if the user turns off the computer.
3. The bot is able to change it's picture based on its "emotions".
Version 0.8
1. Other bots are taken to the level of Version 0.6 of AI, based on their personalities.
2. The bot is able to recognize changes in the context of the conversation by the user, and it's responses will be tailored accordingly.
3. One can make an account with the bot. Also, the bot is able to ask for authentication via a username and password.
Version 0.9 (Doubt I would get this far, but what the heck)
1. Bot is able to have crude voice recognition, i.e. bot can record the user's voice, and run a command if the user says something which is close to what the bot has recorded as a command.
For Version 1.0, a smartphone application would be the next goal, but I think I'm being too ambitious >.<
What I can currently do
I have been working with VerBot, which is a pretty simple interface to use. Just by typing in the input and expected output(s), as well as linking which command will lead to which command, I could create a relatively simple bot that was capable of having a conversation with the responses I entered. When I entered something that the bot didn't recognize, it would randomly take from a few answers that it uses to handle such exceptions.
Also, I have several links that could help me out if I am able to understand them. They are
http://ai-programming.com/vb_bot_tutorial.htm (which I can sparingly understand)
http://www.informit.com/library/cont...ours&seqNum=13 (A e-book that aims to teach you Visual Basic 2008 in 24 hours...)
And of course, the links that Visual Basic has on how to learn Visual Basic 2008.
Finally, I am pretty sure what I want each bot's personality to be like, and I'm pretty happy to spend hours slowly editing the database (or arrays) to make the responses suit each bot's character type.
What I cannot do
I have no idea on how to get started on programming Version 0.1 of the chatbot. I thought that a good User Interface is necessary in order to increase the functionality of the program, but I downloaded the code that they offered here (http://ai-programming.com/vb_bot_tutorial.htm) and I saw that although there was no GUI that I could find, running it still presented me with a basic interface.
Also, after a lot of reading, I know that I'll be using arrays to be the database that the bot gets its responses from, but I'm sure that I don't need all that the "How to learn Visual Basic 2008" provides. I won't be designing something that allows the user to browse the web, or draw with it.
Finally, some examination of the code shows that is has timers, but I am not exactly sure why a chatbot would need timers.
Private Sub PrintLine(str As String)
Text2.Text = Text2.Text & str & vbNewLine
nNumOfLines = nNumOfLines + 1
If nNumOfLines > 10 Then
Call SendMessage(Text2.hwnd, EM_LINESCROLL, 0, (nNumOfLines - 10) * 4)
End If
End Sub
Private Sub Timer1_Timer()
Respond (Text1.Text)
Text1.Text = ""
Timer1.Enabled = False
If bEndSession = True Then
Timer2.Enabled = True
End If
End Sub
Private Sub Timer2_Timer()
Unload Chatterbot1
End Sub
So yes, I hope I've provided whoever's reading this thread with an idea of how limited my capabilties are, and I what I'm aiming to do. I decided to make this thread after several hours of trying to work with Visual Basic and the UI that was designed, but the code entered didn't work as I didn't have sufficient experience of how to accomplish the tasks I wanted for Version 0.1.
If anyone has any idea on how I should begin, or just wants me to tell me to go back to learning the basics of Visual Basic, feel free to do so =)
I'm not looking for someone to code this for me, since I'd like to be able to customize the bot according to how I imagine it to be, but when I'm stuck, I seek help, so I guess this is my thread asking for help.
-
December 30th, 2011, 03:58 AM
#2
[VBEE2008] Complete beginner looking for guidance on chatbot program
I'm a complete beginner to Visual Basic 2008, but I'm aiming to build a chatbot using it.
The (obvious) problem is, I don't have a clear idea on how to go about building one.
Here is what I have so far:
What I want the program to look like (my apologies, didn't know how to show the image here)
For the benefit of those that can't view the picture for whatever reason, it's a rather simple program.
1 image window shows the chatbot's picture/avatar. Titled: Avatar
1 textbox shows the chat log between the chatbot and the user. Titled: Response Win
1 textbox allows the user to type in his input. Titled: Input Win
1 buttom that the user can press to submit his input to the chatbot. Titled: SubBut
1 button to save the whole chatlog to a specified file. Titled: SaveLog
1 dropdown box to change the bot that the user is talking to. Titled: ChangeCharacter
1 button to show the credits, and finally, 1 button to exit the program. Titled: Credits and Exit respectively
My aims for the program
Version 0.1
1. Show a static image where the chatbot's avatar should be.
2. Have what the user types be shown within the Response Win window.
Version 0.2
1. Have the bot be able to respond to basic statements, such as greetings and questions about the bot.
2. The user is able to enter his input simply by pressing Enter instead of having to click on Submit.
Version 0.3
1. The bot is able to have conversations up to three sentences long.
2. The user is able to save the chat logs by clicing the SaveLog button.
Version 0.4
1. The bot is able to have conversations up to seven sentences long.
2. Exit button is able to work.
Version 0.5
1. The bot is able to change it's responses based on it's "emotions". For example, if the bot is happy but the user says something which causes the bot to become angry or sad, reponses will be taken from a different database in order to reflect the bot's change of feelings.
2. The user is able to select different bots from the dropdown menu.
Version 0.6
1. The bot is able to understand sentences which are designed to confuse it, such as words taken out of context or logic errors.
2. Other bots are taken to the level of Version 0.4 of AI, based on their personalities.
Version 0.7
1. The bot is able to carry out elementary functions that the user asks it to do, such as opening an application or saving data within it's memory.
2. The data saved by the bot will not be gone if the user turns off the computer.
3. The bot is able to change it's picture based on its "emotions".
Version 0.8
1. Other bots are taken to the level of Version 0.6 of AI, based on their personalities.
2. The bot is able to recognize changes in the context of the conversation by the user, and it's responses will be tailored accordingly.
3. One can make an account with the bot. Also, the bot is able to ask for authentication via a username and password.
Version 0.9 (Doubt I would get this far, but what the heck)
1. Bot is able to have crude voice recognition, i.e. bot can record the user's voice, and run a command if the user says something which is close to what the bot has recorded as a command.
For Version 1.0, a smartphone application would be the next goal, but I think I'm being too ambitious >.<
What I can currently do
I have been working with VerBot, which is a pretty simple interface to use. Just by typing in the input and expected output(s), as well as linking which command will lead to which command, I could create a relatively simple bot that was capable of having a conversation with the responses I entered. When I entered something that the bot didn't recognize, it would randomly take from a few answers that it uses to handle such exceptions.
Also, I have several links that could help me out if I am able to understand them. They are
http://ai-programming.com/vb_bot_tutorial.htm (which I can sparingly understand)
http://www.informit.com/library/cont...ours&seqNum=13 (A e-book that aims to teach you Visual Basic 2008 in 24 hours...)
And of course, the links that Visual Basic has on how to learn Visual Basic 2008.
Finally, I am pretty sure what I want each bot's personality to be like, and I'm pretty happy to spend hours slowly editing the database (or arrays) to make the responses suit each bot's character type.
What I cannot do
I have no idea on how to get started on programming Version 0.1 of the chatbot. I thought that a good User Interface is necessary in order to increase the functionality of the program, but I downloaded the code that they offered here (http://ai-programming.com/vb_bot_tutorial.htm) and I saw that although there was no GUI that I could find, running it still presented me with a basic interface.
Also, after a lot of reading, I know that I'll be using arrays to be the database that the bot gets its responses from, but I'm sure that I don't need all that the "How to learn Visual Basic 2008" provides. I won't be designing something that allows the user to browse the web, or draw with it.
Finally, some examination of the code shows that is has timers, but I am not exactly sure why a chatbot would need timers.
#
Private Sub PrintLine(str As String)
Text2.Text = Text2.Text & str & vbNewLine
nNumOfLines = nNumOfLines + 1
If nNumOfLines > 10 Then
Call SendMessage(Text2.hwnd, EM_LINESCROLL, 0, (nNumOfLines - 10) * 4)
End If
End Sub
Private Sub Timer1_Timer()
Respond (Text1.Text)
Text1.Text = ""
Timer1.Enabled = False
If bEndSession = True Then
Timer2.Enabled = True
End If
End Sub
Private Sub Timer2_Timer()
Unload Chatterbot1
End Sub
#
So yes, I hope I've provided whoever's reading this thread with an idea of how limited my capabilties are, and I what I'm aiming to do. I decided to make this thread after several hours of trying to work with Visual Basic and the UI that was designed, but the code entered didn't work as I didn't have sufficient experience of how to accomplish the tasks I wanted for Version 0.1.
If anyone has any idea on how I should begin, or just wants me to tell me to go back to learning the basics of Visual Basic, feel free to do so =)
I'm not looking for someone to code this for me, since I'd like to be able to customize the bot according to how I imagine it to be, but when I'm stuck, I seek help, so I guess this is my thread asking for help.
-
December 31st, 2011, 02:12 PM
#3
Re: [VBEE2008] Complete beginner looking for guidance on chatbot program
Start by reading other threads. Other people have questions, that get answered. You get the benefit of learning BOTH. After a while, you can type in your own code (based on samples). If it doesn't work, guess what?
Post it here, and we'll help. We do NOT write code, even ver 1.0. You can download SAMPLES from Microsoft. Here's a link. to VS2008
Why not use VS2010, though? Express version is free. With Windows 8, you even get VS2011 BETA
-
December 31st, 2011, 02:13 PM
#4
Re: [VBEE2008] Complete beginner looking for guidance on chatbot program
Answered in your OTHER IDENTICAL thread.
-
January 1st, 2012, 03:36 PM
#5
Re: [VBEE2008] Complete beginner looking for guidance on chatbot program
-
January 1st, 2012, 06:31 PM
#6
Re: [VBEE2008] Complete beginner looking for guidance on chatbot program
-
August 10th, 2022, 01:01 AM
#7
Re: [VBEE2008] Complete beginner looking for guidance on chatbot program
Hello! You have a good idea for a chatbot. In general, the process of how to build a chatbot is not easy and has several stages. There are many frameworks that can be integrated when developing a chatbot to answer how to build an AI chatbot.
Facebook Wit.AI
IBM Watson
Microsoft Bot Framework
BotKit
Pandorabots
Last edited by VictorN; August 10th, 2022 at 01:35 AM.
Reason: Web link was removed.
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
|
Click Here to Expand Forum to Full Width
|