This project creates a chatbot for Discord with multiple advanced features, integrating real-time cryptocurrency data and various Natural Language Processing (NLP) capabilities.
-
Crypto Information Retrieval:
!run
command to provide users with real-time and historical cryptocurrency data.
-
Web Crawling and Search:
- Implementation of web crawling capabilities to build a comprehensive database for information retrieval.
-
Content Filtering:
- Development of a filtering mechanism to exclude negative content from the downloaded web pages using a trained Neural Network negativity classifier.
-
Content Generation:
- Implementation of a neural network trained on the crawled data to generate content (GenAI).
-
Advanced Content Generation:
- Enhanced content generation utilizing GPT-2 via HuggingFace transformers.
DevLogs - Short texts explaining the development process for each of the feature iterations of the chatbot.
- DevLog 0 - Starting the bot structure!
- DevLog 1 - Adding the
!run
command to send crypto information to the user. - DevLog 2 - Adding web crawling and search functions to the formed database.
- DevLog 3 - Filter by negativity on the content of downloaded pages.
- DevLog 4 - Content generation from the crawled database.
- DevLog 5 - Content generation with GPT (Gpt-2 using HuggingFace transformers)
-
Clone the repository:
git clone https://github.com/RicardoRibeiroRodrigues/NLP-DiscordBot
-
Install the dependencies:
pip install -r requirements.txt
-
Add the bot's token and the CoinCap API token to a
.env
file in the following format:export TOKEN=bot_token_here export API_KEY=api_key_here
-
Run the setup script (this script will download WordNet):
python3 manager_script.py setup
-
Run the bot:
python3 main.py
PS: The file `manager_script.py` has a cleanup function to clean all generated data in `data/` and `models/`.