Commit Graph

17 Commits

Author SHA1 Message Date
c66ac2fc13
refactor: update for api level 3 2021-04-05 14:45:04 -04:00
cec8adf393
feat: begin removing support for defs
Remove the global section, which filtered Free Company ads and RP
ads. Prevent reporting of messages that were filtered by
definitions. Make the ML mode default and mark definitions mode as
obsolete.
2021-02-24 20:23:28 -05:00
c65fb94ad6
feat: better handle puncutation
Certain symbols are turned into one space so the model sees multiple
words instead of one. Previously "[RP]Hi" would turn into "RPHi" and
be its own token. Now it turns into "RP" and "Hi", counting as two
tokens. This change increased the model's accuracy.

Also make "18", "http", "https", and LGBT-related words into stop
words (meaning they're ignored). Each of these stop words made the
model more accurate and reduced unwanted bias.

Messages destined for ML are now normalised by the plugin in the same
way the model's input is for training. This should make the results
come closer to expected.
2021-02-17 20:01:34 -05:00
fd9e9330fc
refactor: use new new syntax 2021-02-16 12:15:00 -05:00
6b937bc937
feat: add machine learning mode 2020-12-22 20:23:54 -05:00
7593b42e00
refactor: fix up some code and prepare for sdk 2020-12-19 20:19:03 -05:00
52ec386801
refactor: use some better syntax 2020-09-07 00:08:16 -04:00
0f42603796
chore: remove useless import 2020-09-05 14:31:16 -04:00
052f35597b
refactor: embed default defs in assembly
Also load the defaults directly when in debug mode.
2020-09-04 15:22:00 -04:00
983b96af5f
feat: add tests for definitions 2020-09-04 14:00:46 -04:00
6ba791f1ee
fix: handle failed parse and failed download 2020-08-31 15:22:27 -04:00
035be709a4
fix: ignore unmatched properties in definitions 2020-08-31 13:49:04 -04:00
89c1bcfee6
feat: add reporting
Add a new window that can be opened from the config that allows
reporting messages and listings that NoSoliciting either didn't filter
but should have or did filter but shouldn't have.

This comes with the added benefit of showing why (both in the
reporting window and the log) a message was filtered for easier
debugging.
2020-08-31 13:47:51 -04:00
7b8d2fa4bc
feat: add option to filter unjoinable ilvl PFs 2020-08-23 10:59:48 -04:00
208aafeb4e
feat: allow specifying main filters dynamically
Main filters (e.g. RMT, RP, FC) can now be fully specified by the
definitions file, allowing entire new classes of filters to be added
without a plugin update.
2020-08-21 13:46:42 -04:00
c7b45c7635
fix: add option for normalisation 2020-08-21 08:26:45 -04:00
122c78e279
feat: add online definitions and FC/RP filters
Definitions for the built-in filters (RMT, FC, and RP) are now
downloaded from the git repo on plugin start and whenever the update
button is pressed. This will allow faster response to messages that
slip through, as updates can be pushed right away without needing to
release a new version.

After a successful download, the plugin writes the result to a cache
file in its config directory. In the event a download fails, the
plugin will fall back to that cached file. If that cached file does
not exist or fails to deserialise, the plugin will fall back to a file
included with each release after this commit called
default_definitions.yaml. If that file is missing (really only
possible because the user deleted it), an exception will be thrown.

Free Company recruitment messages and roleplaying advertisements are
now able to be filtered using built-in filters, hopefully making shout
chat and the Party Finder more bearable. As always, these are optional
filters (both default to disabled).
2020-08-21 05:00:04 -04:00