Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Spam detection in Junction #273

Open
kracekumar opened this issue Jun 2, 2015 · 11 comments
Open

Spam detection in Junction #273

kracekumar opened this issue Jun 2, 2015 · 11 comments

Comments

@kracekumar
Copy link
Member

Recently @pythonhacker and @harisibrahimkv reported few comments looks like a spam. Junction right now only allows logged in users to comment.

There are two levels of deducting/marking comment as a spam. During signup check the reputation of email/ip of user, if it is potential spam email id/ip, block the user, legit user can write back to the concerned person to activate the account.

One more way is to have a spam deduction based on the content. There are two ways to implement, one user can report this as spam, once threshold is crossed, differentiate it in UI and automatic spam detector can mark this as spam.

Once user has crossed the threshold of spam posting, account should be blocked.

Reddit also does similar stuff.

@vigneshsarma thoughts ?

@pythonhacker
Copy link
Contributor

How about also,

  1. Thresholding comments from same login ? If you posted a comment on a talk at time t , you cannot post another comment within t + delta_t where delta_t could be even an hour.
  2. Not allowing postings from known spam IPs - there are well known lists we can scrub an internal SPAM IP list to.
  3. Not allowing postings with less than n characters. This prevents postings like All the best Sir!, Wonderful Sir! etc. This forces people to think and write something. Possibly keep n at something like 120 or 140 chars.

@kracekumar
Copy link
Member Author

All these three should be implemented.

@kracekumar
Copy link
Member Author

The order for implementing above should Point 3 -> Point 2 -> Point 1. We need to prevent spam account creation as well.

@theskumar
Copy link
Member

How about just use a third party to evaluate the spammy nature of a particular comment. I suggest using askimet[1] if anyone doesn't have any objection with it.

I'm personally not in favour to including the spam detection logic coded into junction itself. If not askimet, then a publish pypi library that will give spam score for a comment should do.

[1]
https://github.com/miracle2k/python-akismet
https://akismet.com/

@ChillarAnand
Copy link
Member

akismet 👍

@kracekumar
Copy link
Member Author

Reading the docs suggests wordpress api key is required. I am sure, there will be other libraries/services, if some one can do quick prototype, it will be awesome.

@pythonhacker
Copy link
Contributor

I am taking this up. Will try and get it ready for PyCon 2017.

@pythonhacker pythonhacker self-assigned this Apr 6, 2017
@pythonhacker
Copy link
Contributor

First will collect comments across last 3-4 PyCons and using one of the libraries - get its spam detection rating - on each. Idea is to find out how much true and false positives are reported. Will update here with some libraries which are pure Python as much as possible.

@pythonhacker pythonhacker changed the title Spam deduction in Junction Spam detection in Junction Apr 6, 2017
@kracekumar
Copy link
Member Author

kracekumar commented Apr 9, 2017 via email

@kracekumar
Copy link
Member Author

Here is a csv file which has spam and non-spam content from junction.

@ananyo2012
Copy link
Contributor

Unfortunately the spam data is gone from one of the recent changes. Need to dump it somewhere, maybe in a different branch

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

6 participants