Skip to content

Releases: Aurora0001/LearnProgrammingBot

LearnProgrammingBot v0.2.0 Release Candidate 1

07 May 18:04
Compare
Choose a tag to compare

Changelog

  • Resolve #2 and #8 for more specific classification to provide more helpful responses
  • New training database to accommodate new classifications
  • New responses to provide more detail.

LearnProgrammingBot v0.1.1

04 May 17:25
Compare
Choose a tag to compare

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

24 Apr 12:35
Compare
Choose a tag to compare

LearnProgrammingBot

Documentation | Download

Join the chat at https://gitter.im/Aurora0001/LearnProgrammingBot

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!