The project utilizes machine learning techniques and the Reddit API to predict post title success and suggest improvements through Reddit Title Wizard and Title Genius.
The project consists of two main components: Reddit Title Wizard and Title Genius, which use machine learning techniques to predict post title success and suggest improvements, integrating with the Reddit API.
- Reddit Title Wizard: A GUI-based application that allows users to input Reddit post titles, predict their potential performance, and receive suggestions for improvement.
- Title Genius: A command-line tool that collects Reddit post data, predicts the success of titles, and suggests improved titles based on similarity and other factors.
Prerequisites
- Python 3.x
- Required Python libraries:
- openpyxl
- pandas
- praw
- scikit-learn
- nltk
- tkinter
- threading
Clone the repository:
- git clone <repository_url>
Install dependencies:
- pip install openpyxl pandas praw scikit-learn nltk tkinter
Set up NLTK:
- python -m nltk.downloader stopwords punkt
Set up Reddit API credentials:
- Create a Reddit app to get client_id, client_secret, and user_agent.
- Replace the placeholders in the code with your credentials.
- Run the application:
- python RedditTitleWizard.py
- Using the application:
- Enter a post title in the "Enter post title" field.
- Click the "Submit" button to get predictions for points, comments, and awards.
- View the suggested title in the "would you like to try:" field.
- Optionally, upload a photo using the "Upload Photo" button.
- Run the script:
- python TitleGenius.py
- Follow the prompts:
- The script will prompt you to enter a title for prediction.
- It will fetch the latest data from the specified subreddit and update the Excel file.
- The script will then predict and display the potential success of the input title and suggest an improved title.
Contributions are welcome! To contribute to Monster Maze, follow these steps:
- Fork the repository.
- Create a new branch:
git checkout -b feature/YourFeature
- Make your changes and commit them:
git commit -m "Add new feature"
- Push to the branch:
git push origin feature/YourFeature
- Create a new Pull Request.
This project is licensed under the MIT License. See the LICENSE file for details.