I have always been interested in machine learning, and being able to teach a bot information, but I have never applied it to any projects. I felt as if this hackathon was a good opportunity to pursue the interest.
What it does
On the surface, it is simple. The bot will initiate a conversation with some fixed statements, and will respond to your statements. After its response, you give feedback to the bot on whether or not it was correct or incorrect. It uses that information to retain whether or not its response was correct based on numerical values assigned to each response that only apply when the statement given by the user is given to the bot. It uses this information to respond, and over time it will get more and more accurate. It also initiates conversations with the user, and takes in the user's response to use for future conversations.
How we built it
The bot was programmed with Java using the Eclipse IDE. The data stored with the bot is spread over multiple classes.
Challenges we ran into
A challenge was finding how to handle the data received from the user. Each response from the user was stored in a list of responses that the bot can select from when responding to a statement, and the conversation initiators were stored in a similar fashion. However it was difficult brainstorming a way to hold the numerical values for each response and conversation initiators.
Accomplishments that we're proud of
I am proud of the bot being able to take user input and use it. While I was previously familiar with taking input and using it as variables, I have never made a project where the user input has such a crucial and central role. During testing, being able to see the bot use my input and learn from its mistakes was certainly quite a positive moment.
What we learned
My main takeaways from making this were overall strengthening my skills in Java, but also starting to dive into AI. The system I used of numerical values was drawn from research I have done in machine learning, and I feel I got a more clear understanding of how it all works out through firsthand experience. I hope to use this information in my further experimentation and project creation with AI and machine learning.
What's next for Chibot- Learnable Conversation Bot
I want to expand the capabilities of the bot and bring it on a more larger scale. I want it to be able to make sentences and learn different types of information, then bring those pieces together into sentences. I also want to expand the amount of user input data it can hold. As of now, it can only hold 14 responses and 10 conversation initiators, but I wish to expand this to around 30 or 40 responses and initiators in the future.