Interactive faq system

From Sugar Labs
Jump to navigation Jump to search

Project Idea

With more and more services becoming interactive, one could wonder why not have an interactive FAQ system.
The interactive FAQ system for sugar visions to be a very simplistic Q-A system framework with more and more concepts/features added with time. This system will have a basic bearing to understand variations in the user's questions, and respond with the most fitting answer(s) in the FAQ Database.

How the Framework works

The framework for the time being will contain a simple NLP library to do tagging of words in the user's queries and match them with the natural language FAQ database, with Questions and Answers. After getting the best matches, it will output the best results to the user.

Working

My idea to utilize this framework is in two ways: A simple faq-ircbot, and as an activity within Sugar.
AS AN ACTIVITY:
As an activity, it would be a simple IM like interface (though squeak looks nice) which responds to user's queries. And it would have an interface for user's to input their own faqs, and community members for community driven faqs (which get higher priority) through the internet.
AS AN IRC-BOT:
As an irc-bot, it would live on a server, and would get only community driven updates. The bot would respond to any question it thinks is a nice match, and would respond with an answer.
ADDING NEW CONTENT: Adding new faq content is done by having the bot remember certain nicks of #sugar users, and have them update the FAQ with a command. The same community driven FAQ is used by the Activity.

Use Cases

IRC BOT
Step 1: The user starts the irc activity and logs into #sugar
Step 2: The user asks a question, and the bot responds with an answer.
Step 3: The user is not cleared up, he asks the question again. Then the bot responds with a new answer.
Step 4: The user is still not cleared up. The bot repeats step 3.
Step 5: The user is still at bay, then the bot replies "please, ask community members"
ACTIVITY
Step 1: The user starts the FAQ System.
Step 2: The user queries for something not clear.
Step 3: The system responds with an answer.
Step 4: The user is still not clear, The system responds with all probable answers.
Step 5: The user is still not clear, The system directs ways to achieve support.

Inconsistencies

While for a smaller set of faq, the initial system maybe viable but for a larger set, it won't be. We will need a definitive classification system. Here steps in the multinomial Naive-Bayes classification, with supervised-learning [1]. I am working on a basic classification system which I will later on expand with this.

Tools Used

I will be using the NLTK libraries [2] for research and proof, and a custom constructed Python library for the actual NLP processing.