SpamNeoBayes

Chat & Communication Login to Add Favorites
  • 0 Likes
  • World of Warcraft
  • 19 Monthly Downloads
  • Supports: 4.2
  • 453 Total Downloads
  • Updated 9/25/2011 6:28:03 AM
  • Created 9/19/2011 3:34:13 AM
  • 3 Favorites
  • Project Site
  • Comments
  • Release Type: Release
  • License: GNU General Public License version 3 (GPLv3)
  • Newest File: v1.1
or
Support development! **
Donate

About SpamNeoBayes

If you liked SpamBayes, you'll love SpamNeoBayes -- a fork of the project that uses a more accurate classifier and adds several important features.

The classifier

The classifier is DMNBtext from Weka. Invented in 2008 by Dr. Jiang Su and his colleagues at the University of Ottawa, it's designed to be less likely to become biased if the same message is trained twice, or when two very similar messages are trained. To learn more about it, see "Discriminative Parameter Learning for Bayesian Networks". In testing, I found this classifier was almost as accurate as the Support Vector Machine (which is too slow for a real-time application like this). I converted Su's implementation, which was in Java, into Lua and made minor refinements.

Features

Extra features include:

  • Separate categories for reportable and non-reportable spam. This is useful when you want to auto-report gold spam, but also filter out guild-recruitment spam without reporting it.
  • Doesn't auto-report innocent players if you use TradeForwarder or LFGForwarder.
  • Training reportable spam automatically reports it when possible.

Planned future features include:

  • Approximate word matching for unknown words that may have been accidentally or maliciously misspelled. Nice try, mister "WTS WOW DOLD"!
  • Full integration with TradeForwarder and LFGForwarder.

Note that with discriminative learning, it is impossible to support unlearning individual messages.

How to use

Using SpamNeoBayes is similar to using SpamBayes; the following are the differences:

  • Type /snb or /spamneobayes to open the window, then right-click a message or its author's name to train it. You can also train messages that haven't been filtered by right-clicking them in a chat frame.
  • When training a message, you can choose one of three categories:
    1. Ham: This message is an example of what you want to see.
    2. Spam: You never want to see messages like this one, but you never want to report them to the GMs as spam either. This is a good idea for things like guild recruitment messages, and conversations about music genres you don't like. I also use it for anal/murloc/Thunderfury spam, since I feel GMs' time is better spent shutting down gold sellers.
    3. Reportable: You never want to see messages like this one, and when automatic reporting is enabled, you want to report them to the GMs. Training a message as Reportable reports it to the GMs to save you some clicks, even if automatic reporting isn't enabled.
  • In the window, 2 percentages will appear next to a message, separated by a slash. The first is the chance that the message is any kind of spam; the second is the chance that it's reportable spam.
  • The more wrong SpamNeoBayes is about a message, the greater its "weight", and the more difference it will make to train it. Accidentally training the same message twice won't introduce as much bias as it would in the original SpamBayes.

------------------------------------------------------------------------
r12 | seahen | 2011-09-25 11:28:01 +0000 (Sun, 25 Sep 2011) | 1 line
Changed paths:
   A /tags/v1.1 (from /trunk:11)

Tagging for release.
------------------------------------------------------------------------
r11 | seahen | 2011-09-25 11:27:23 +0000 (Sun, 25 Sep 2011) | 1 line
Changed paths:
   M /trunk/SpamNeoBayes.lua
   M /trunk/chi2.lua
   M /trunk/xml.lua

version number increase, since this is going live
------------------------------------------------------------------------
r10 | seahen | 2011-09-25 11:25:21 +0000 (Sun, 25 Sep 2011) | 1 line
Changed paths:
   M /trunk/SpamNeoBayes.lua

Bugfixes. Ready for release.
------------------------------------------------------------------------
r9 | seahen | 2011-09-25 10:54:31 +0000 (Sun, 25 Sep 2011) | 2 lines
Changed paths:
   M /trunk/SpamNeoBayes.lua
   M /trunk/chi2.lua

Will now start auto-reporting sooner.
Will no longer auto-report innocent players if you're using TradeForwarder/LFGForwarder.
------------------------------------------------------------------------
r8 | seahen | 2011-09-25 09:52:41 +0000 (Sun, 25 Sep 2011) | 1 line
Changed paths:
   M /trunk/SpamNeoBayes.lua
   M /trunk/chi2.lua
   M /trunk/xml.lua

Bugfixes.
------------------------------------------------------------------------
r7 | seahen | 2011-09-25 09:30:51 +0000 (Sun, 25 Sep 2011) | 1 line
Changed paths:
   M /trunk/SpamNeoBayes.lua
   M /trunk/SpamNeoBayes.toc
   M /trunk/chi2.lua

Alpha bugfix.
------------------------------------------------------------------------
r6 | seahen | 2011-09-25 09:25:31 +0000 (Sun, 25 Sep 2011) | 1 line
Changed paths:
   M /trunk/SpamNeoBayes.lua
   M /trunk/SpamNeoBayes.toc
   M /trunk/chi2.lua

Tickets 1 and 2.
------------------------------------------------------------------------
r5 | seahen | 2011-09-25 03:41:02 +0000 (Sun, 25 Sep 2011) | 1 line
Changed paths:
   M /trunk/chi2.lua

Doubles weight of all training examples, so that responsiveness to training will better approximate the original SpamBayes.
------------------------------------------------------------------------
r4 | seahen | 2011-09-21 15:00:41 +0000 (Wed, 21 Sep 2011) | 1 line
Changed paths:
   M /trunk/chi2test.lua

Documentation for the test script.
------------------------------------------------------------------------
r3 | seahen | 2011-09-21 09:25:00 +0000 (Wed, 21 Sep 2011) | 3 lines
Changed paths:
   M /trunk/chi2.lua
   A /trunk/chi2test.lua

Minor algorithm tweak.
Added: Test script.

------------------------------------------------------------------------
r2 | seahen | 2011-09-20 22:32:26 +0000 (Tue, 20 Sep 2011) | 1 line
Changed paths:
   A /trunk/License.txt
   A /trunk/SpamNeoBayes.lua
   A /trunk/SpamNeoBayes.toc
   A /trunk/chi2.lua
   A /trunk/lib
   A /trunk/lib/CallbackHandler-1.0.lua
   A /trunk/lib/LibDataBroker-1.1.lua
   A /trunk/lib/LibStub.lua
   A /trunk/textures
   A /trunk/textures/grip.tga
   A /trunk/textures/grip2.tga
   A /trunk/textures/spamneobayes_logo.tga
   A /trunk/textures/spamneobayes_tint_close.tga
   A /trunk/xml.lua

Initial commit.
------------------------------------------------------------------------
r1 | root | 2011-09-20 22:28:35 +0000 (Tue, 20 Sep 2011) | 1 line
Changed paths:
   A /branches
   A /tags
   A /trunk

spamneobayes/mainline: Initial Import
------------------------------------------------------------------------

Comments

Learn how to disable ads
Learn how to disable ads
Login to Curse

Don't have an account? Create One.

Get an epic experience with Curse Premium
  • Faster addon downloads
  • Premium-Only Beta Giveaways
  • Ad-Free Curse experience
  • Premium Curse Client
  • and many More Features
  • Learn More »

Diablo III Giveaway

Enter Now!