CodeGuru Home VC++ / MFC / C++ .NET / C# Visual Basic VB Forums Developer.com
Results 1 to 7 of 7
  1. #1
    Join Date
    Dec 2011
    Posts
    1

    Smile [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.

  2. #2
    Join Date
    Dec 2011
    Posts
    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.

  3. #3
    Join Date
    Jan 2006
    Location
    Fox Lake, IL
    Posts
    15,007

    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
    David

    CodeGuru Article: Bound Controls are Evil-VB6
    2013 Samples: MS CODE Samples

    CodeGuru Reviewer
    2006 Dell CSP
    2006, 2007 & 2008 MVP Visual Basic
    If your question has been answered satisfactorily, and it has been helpful, then, please, Rate this Post!

  4. #4
    Join Date
    Jan 2006
    Location
    Fox Lake, IL
    Posts
    15,007

    Re: [VBEE2008] Complete beginner looking for guidance on chatbot program

    Answered in your OTHER IDENTICAL thread.
    David

    CodeGuru Article: Bound Controls are Evil-VB6
    2013 Samples: MS CODE Samples

    CodeGuru Reviewer
    2006 Dell CSP
    2006, 2007 & 2008 MVP Visual Basic
    If your question has been answered satisfactorily, and it has been helpful, then, please, Rate this Post!

  5. #5
    Join Date
    Jul 2001
    Location
    Sunny South Africa
    Posts
    11,283

    Re: [VBEE2008] Complete beginner looking for guidance on chatbot program

    [ Merged ]

  6. #6
    Join Date
    Jan 2006
    Location
    Fox Lake, IL
    Posts
    15,007

    Re: [VBEE2008] Complete beginner looking for guidance on chatbot program

    [ +1 ] ::belated::
    David

    CodeGuru Article: Bound Controls are Evil-VB6
    2013 Samples: MS CODE Samples

    CodeGuru Reviewer
    2006 Dell CSP
    2006, 2007 & 2008 MVP Visual Basic
    If your question has been answered satisfactorily, and it has been helpful, then, please, Rate this Post!

  7. #7
    Join Date
    Aug 2022
    Posts
    1

    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
  •  





Click Here to Expand Forum to Full Width

Featured