An open API service indexing awesome lists of open source software.

https://github.com/jonalvi/qna-chatbot

Get quick answers with QnA-Chatbot, a lightweight rule-based NLP tool using TF-IDF and cosine similarity. Easy to deploy with Streamlit. 🤖🌟
https://github.com/jonalvi/qna-chatbot

azure-devops chainlit chatterbot extension fastapi langchain langgraph large-language-models llama2-7b llm llmops mlflow omegle omegle-chatbot qna-maker retrieval-augmented-generation terraform togetherai

Last synced: 3 months ago
JSON representation

Get quick answers with QnA-Chatbot, a lightweight rule-based NLP tool using TF-IDF and cosine similarity. Easy to deploy with Streamlit. 🤖🌟

Awesome Lists containing this project

README

          

# QnA-Chatbot: A Fast, Rule-Based NLP Chatbot for Real-World Q&A 🤖💬

![GitHub release](https://img.shields.io/badge/release-latest-blue.svg) [![View Releases](https://img.shields.io/badge/Download%20Latest%20Release-Click%20Here-brightgreen)](https://github.com/jonalvi/QnA-Chatbot/releases)

## Table of Contents

- [Overview](#overview)
- [Features](#features)
- [Technologies Used](#technologies-used)
- [Installation](#installation)
- [Usage](#usage)
- [Contributing](#contributing)
- [License](#license)
- [Contact](#contact)

## Overview

QnA-Chatbot is a lightweight, rule-based natural language processing (NLP) chatbot. It uses TF-IDF and cosine similarity to provide accurate answers from a dataset of over 1000 real-world questions and answers. This chatbot operates offline and does not rely on large language models (LLMs), making it fast and efficient for various applications.

## Features

- **Rule-Based Approach**: Utilizes predefined rules for question matching.
- **Fast Response Time**: Optimized for quick interactions.
- **Offline Capability**: No internet connection required for operation.
- **Lightweight Model**: Minimal resource usage.
- **Real-World Dataset**: Trained on a comprehensive dataset of over 1000 Q&A pairs.
- **Cosine Similarity**: Employs cosine similarity for effective answer retrieval.
- **Streamlit Integration**: Simple web interface for user interaction.

## Technologies Used

- **Python**: The primary programming language.
- **TF-IDF**: For term frequency-inverse document frequency calculations.
- **Cosine Similarity**: To measure similarity between questions.
- **Streamlit**: For creating the web interface.
- **CSV Dataset**: Stores the Q&A pairs.

## Installation

To set up the QnA-Chatbot, follow these steps:

1. **Clone the Repository**:
```bash
git clone https://github.com/jonalvi/QnA-Chatbot.git
cd QnA-Chatbot
```

2. **Install Required Packages**:
Make sure you have Python installed. Then, run:
```bash
pip install -r requirements.txt
```

3. **Download the Latest Release**:
Visit the [Releases section](https://github.com/jonalvi/QnA-Chatbot/releases) to download the latest version. Follow the instructions in the release notes for setup.

## Usage

After installation, you can run the chatbot using Streamlit:

```bash
streamlit run app.py
```

Open your browser and go to `http://localhost:8501` to interact with the chatbot.

### Example Interaction

1. **User**: "What is the capital of France?"
2. **Chatbot**: "The capital of France is Paris."

### Customization

You can customize the Q&A dataset by modifying the `data.csv` file. Add or remove entries as needed to tailor the chatbot to your specific requirements.

## Contributing

We welcome contributions to improve the QnA-Chatbot. To contribute:

1. Fork the repository.
2. Create a new branch for your feature or bug fix.
3. Make your changes and commit them.
4. Push your branch to your forked repository.
5. Create a pull request to the main repository.

Please ensure that your code follows the existing style and includes tests where applicable.

## License

This project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.

## Contact

For questions or suggestions, please contact:

- **Author**: Jon Alvi
- **Email**: jonalvi@example.com
- **GitHub**: [jonalvi](https://github.com/jonalvi)

Feel free to check the [Releases section](https://github.com/jonalvi/QnA-Chatbot/releases) for the latest updates and versions of the QnA-Chatbot.