Code Monkey home page Code Monkey logo

c-console-chatbot's Introduction

Hi there ๐Ÿ‘‹, I am Yeo Wen Qin, nice to meet you.

I'm a university student studying for a Degree in Software Engineering at Singapore Institude of Technology.
I did a lot of Game Programming for my Diploma, and done various hobbist project in my free time.

Interests

Technologies

  • ๐Ÿ›  I'm passionate about development in relation to Games.
  • ๐Ÿ”ญ Currently working on Web Application projects.
  • ๐Ÿง Average Linux Enjoyer, preferring Debian and Arch systems.

Environment

  • ๐Ÿง I am currently using Arch based systems.
  • ๐Ÿ–‹๏ธ Nvim is my editor of choice.

Personal

  • ๐ŸŽฎ I like video games.
  • ๐Ÿ’ป I do programming projects I am interested in.
  • ๐Ÿค” I occassionally do programming challenges
  • ๐Ÿ€ Memes.

profile for WQYeo on Stack Exchange, a network of free, community-driven Q&A sites
profile for WQYeo on Codewars, CodeWars is an online platform that offers coding challenges known as 'kata' to help programmers improve their skills.

c-console-chatbot's People

Contributors

czf224 avatar hexluna avatar wqyeo avatar

Watchers

 avatar

c-console-chatbot's Issues

knowledge_read

/*
 * Read a knowledge base from a file.
 *
 * Input:
 *   f - the file
 *
 * Returns: the number of entity/response pairs successful read from the file
 */
int knowledge_read(FILE *f) {

	/* to be implemented */

	return 0;
}

Suggestions on wrong command

When the user type an invalid command, let the bot give suggestion.

Example:

User: thomson
Bot: I don't know what you are trying to do. But I do know who is 'thomson'!

User: who is thoma
Bot: I do not know who is 'thoma', let me know what it is:
User:
Bot: oof. But I do know who is 'thomas'.

chatbot_do_save

/*
 * Save the chatbot's knowledge to a file.
 *
 * See the comment at the top of the file for a description of how this
 * function is used.
 *
 * Returns:
 *   0 (the chatbot always continues chatting after saving knowledge)
 */
int chatbot_do_save(int inc, char *inv[], char *response, int n) {

	/* to be implemented */

	return 0;

}

chatbot_do_reset

/*
 * Reset the chatbot.
 *
 * See the comment at the top of the file for a description of how this
 * function is used.
 *
 * Returns:
 *   0 (the chatbot always continues chatting after beign reset)
 */
int chatbot_do_reset(int inc, char *inv[], char *response, int n) {

	/* to be implemented */

	return 0;

}

Reset certain intents

Allow the user to reset certain intents by specifying params like so:

User: Reset who

In the above case, all who intent in the cache will be wiped.

chatbot_do_load

/*
 * Load a chatbot's knowledge base from a file.
 *
 * See the comment at the top of the file for a description of how this
 * function is used.
 *
 * Returns:
 *   0 (the chatbot always continues chatting after loading knowledge)
 */
int chatbot_do_load(int inc, char *inv[], char *response, int n) {

	/* to be implemented */

	return 0;

}

knowledge_get


/*
 * Get the response to a question.
 *
 * Input:
 *   intent   - the question word
 *   entity   - the entity
 *   response - a buffer to receive the response
 *   n        - the maximum number of characters to write to the response buffer
 *
 * Returns:
 *   KB_OK, if a response was found for the intent and entity (the response is copied to the response buffer)
 *   KB_NOTFOUND, if no response could be found
 *   KB_INVALID, if 'intent' is not a recognised question word
 */
int knowledge_get(const char *intent, const char *entity, char *response, int n) {

	/* to be implemented */

	return KB_NOTFOUND;
}

knowledge_reset

/*
 * Reset the knowledge base, removing all know entitities from all intents.
 */
void knowledge_reset() {

	/* to be implemented */

}

knowledge_put

/*
 * Insert a new response to a question. If a response already exists for the
 * given intent and entity, it will be overwritten. Otherwise, it will be added
 * to the knowledge base.
 *
 * Input:
 *   intent    - the question word
 *   entity    - the entity
 *   response  - the response for this question and entity
 *
 * Returns:
 *   KB_FOUND, if successful
 *   KB_NOMEM, if there was a memory allocation failure
 *   KB_INVALID, if the intent is not a valid question word
 */
int knowledge_put(const char *intent, const char *entity, const char *response) {

	/* to be implemented */

	return KB_INVALID;

}

knowledge_write

/*
 * Write the knowledge base to a file.
 *
 * Input:
 *   f - the file
 */
void knowledge_write(FILE *f) {

	/* to be implemented */

}

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.