Releases: Aurora0001/LearnProgrammingBot
LearnProgrammingBot v0.2.0 Release Candidate 1
LearnProgrammingBot v0.1.1
This is a patch release to enhance the training database and improve the bot's features slightly. This will be the last release to use the old 'bad'/'faq'/'good' classifications.
LearnProgrammingBot v0.1.0
LearnProgrammingBot
Documentation | Download
LearnProgrammingBot is a bot for reddit that uses
scikit-learn and supervised learning techniques to categorise submissions and
reply with useful and appropriate links.
It is intended to answer common questions on /r/learnprogramming that can
be found on the wiki, but in theory it should be suitable for any subreddit
provided that it is trained properly. The default training set should be fine
for most programming subreddits, but it can be extended at any time.
Changelog
- Added classifications for 'good', 'bad' and 'faq'.
- Trained classifier using ~350 posts
- Added basic console interface and test framework
Installation
LearnProgrammingBot requires scikit-learn, praw and sqlalchemy. Due to this, the
installation instructions are slightly different depending on which platform you
are using. It should work with both Python 2 and Python 3 (unit tests are
coming soon)
Before continuing, download the code (either through the source zip or releases
tab) and extract it if necessary, or clone using git. Then, open a command
prompt or terminal and cd
to the directory where you have extracted the code.
Windows
As an administrator, in the command prompt, run:
pip install -r requirements.txt
Mac
sudo pip install -r requirements.txt
Debian/Ubuntu/Mint
sudo apt-get install python-scipy
sudo pip install sqlalchemy scikit-learn praw
Setup and Running
You'll need to enter a few variables into settings.py
. Just follow the
instructions on lines preceded by # (comments) and fill in the correct data.
To run, use ./main.py run
in the terminal. This will run continuously until
killed using Ctrl+C or an exception. You might find useful logging information
in bot.log if the bot does crash. Feel free to report an issue if you do find a
bug!
Classifications
Currently, the classifier only recognises 3 types of post classes:
- 'good' - the post is a good question for /r/learnprogramming
- 'faq' - the post contains a common question that is probably on the FAQ
- 'bad' - the post is formatted badly, off topic or does not contain enough
detail.
License
MIT License. Please see the LICENSE file!