Added version 4
This commit is contained in:
124
jokes_bot/v4.0/README.md
Normal file
124
jokes_bot/v4.0/README.md
Normal file
@@ -0,0 +1,124 @@
|
||||
# AI-Enhanced Joke Bot v4.0
|
||||
|
||||
Welcome to the AI-Enhanced Joke Bot! This application combines humor with artificial intelligence to deliver jokes and analyze their sentiment.
|
||||
|
||||
## 📋 Project Structure
|
||||
|
||||
```
|
||||
v4.0/
|
||||
├── database.py # Creates the SQLite database and jokes table with user sentiment tracking
|
||||
├── jokes.py # Main application with AI sentiment analysis and user rating
|
||||
├── jokes.db # SQLite database containing jokes and user sentiments
|
||||
├── sample_data.sql # Sample jokes to populate the database
|
||||
├── populate_db.py # Script to populate the database with sample data
|
||||
├── check_db.py # Utility to check database content
|
||||
├── upgrade_db.py # Utility to upgrade existing databases with new schema
|
||||
└── README.md # This file
|
||||
```
|
||||
|
||||
## 🚀 Quick Start
|
||||
|
||||
### 1. Install Dependencies
|
||||
|
||||
First, make sure you have Python installed and then install the required packages:
|
||||
|
||||
```bash
|
||||
# Create and activate virtual environment (recommended)
|
||||
python -m venv venv
|
||||
source venv/bin/activate # On Windows: venv\Scripts\activate
|
||||
|
||||
# Install required packages
|
||||
pip install textblob
|
||||
|
||||
# Download required corpora for textblob
|
||||
python -m textblob.download_corpora
|
||||
```
|
||||
|
||||
### 2. Set Up the Database
|
||||
|
||||
Run the database creation script:
|
||||
|
||||
```bash
|
||||
python database.py
|
||||
```
|
||||
|
||||
This creates the `jokes.db` file with the proper table structure, including a table for user sentiments.
|
||||
|
||||
### 3. (Optional) Upgrade Existing Database
|
||||
|
||||
If you have an existing database from a previous version, run the upgrade script:
|
||||
|
||||
```bash
|
||||
python upgrade_db.py
|
||||
```
|
||||
|
||||
This adds the `user_sentiments` table to your existing database.
|
||||
|
||||
### 4. Populate the Database with Sample Jokes
|
||||
|
||||
To add sample jokes to your database:
|
||||
|
||||
```bash
|
||||
python populate_db.py
|
||||
```
|
||||
|
||||
Alternatively, you can use the SQL file directly:
|
||||
|
||||
```bash
|
||||
sqlite3 jokes.db < sample_data.sql
|
||||
```
|
||||
|
||||
### 5. Run the Application
|
||||
|
||||
Start the Joke Bot:
|
||||
|
||||
```bash
|
||||
python jokes.py
|
||||
```
|
||||
|
||||
## 🔧 Troubleshooting
|
||||
|
||||
### No Jokes in Database
|
||||
|
||||
If you're getting "No jokes in the database" message:
|
||||
|
||||
1. Make sure you've run `python database.py` to create the database
|
||||
2. Run `python populate_db.py` to add sample jokes to the database
|
||||
3. Verify the database content with `python check_db.py`
|
||||
|
||||
### Missing Dependencies
|
||||
|
||||
If you get an ImportError for textblob:
|
||||
|
||||
```bash
|
||||
pip install textblob
|
||||
python -m textblob.download_corpora
|
||||
```
|
||||
|
||||
## ⚙️ Features
|
||||
|
||||
- **Random Joke Generator**: Get a random joke from the database
|
||||
- **AI Sentiment Analysis**: Analyzes the sentiment of jokes using TextBlob
|
||||
- **User Sentiment Rating**: After each joke, rate it with thumbs up/down/neutral
|
||||
- **Community Ratings**: See how other users rated each joke
|
||||
- **Mood-Based Joke Selection**: Filter jokes by sentiment (positive, negative, neutral)
|
||||
- **Add New Jokes**: Contribute your own jokes to the database
|
||||
- **Joke Management**: View all jokes in the database with community ratings
|
||||
|
||||
## 💡 Usage Tips
|
||||
|
||||
- Choose option 1 to get a random joke, then rate it with U(p)/D(own)/N(eutral)
|
||||
- Choose option 2 to add a new joke with automatic sentiment analysis and rating
|
||||
- Choose option 3 to analyze the sentiment of any text
|
||||
- Choose option 4 to get jokes based on mood
|
||||
- Choose option 5 to view all jokes in the database with community ratings
|
||||
- Choose option 6 to exit the application
|
||||
|
||||
## 🗂️ Database Schema
|
||||
|
||||
The application uses two tables:
|
||||
|
||||
- `jokes`: Contains the joke text, contributor, publication date, and AI-analyzed sentiment
|
||||
- `user_sentiments`: Tracks user ratings for each joke with timestamps
|
||||
|
||||
Enjoy the AI-enhanced humor experience with community feedback!
|
||||
Reference in New Issue
Block a user