We are going to be starting some work on this soon so we should be able to help provide data too.
#[10]
We are going to be starting some work on this soon so we should be able to help provide data too.
#[10]
Here for it.
Nice.
Spam definitely is tough to define. When I made the dataset I mostly used the definitions of “is this content intended to deceive” (is there a victim?) or “is this promotional in an excessive way” (basically like Adblock). This means that explicit content or strong opinions and other content wasn’t labelled as spam.
One example I saw a lot of with kind=1984 was “marked as spam because foreign language”. I translated a lot of content that certainly wouldn’t fall under those above definitions - it was more a form of censorship.
There will never be a common standard or definition for Nostr spam that suits everyone - however something closer to Adblock and your spam email inbox is where I see this being most useful. Occasional false positive, however it’s not a big deal - especially when you can whitelist people as contacts.
Generally below is what I used as definitions.
The issue with nsfw is it’s more of a broader label, than “spam or not spam”. Certainly you could build a model with more categories or even multi-category.
The secondary issue is nsfw is mostly visual (you can just have a client app setting to mask swear/adult words) - and using event content that is minimal text and url/s, would train really poorly, without some image/media classifier too. Certainly a service that could exist too (hotdog or not hotdog).
Impersonation often has overlap with spam, due to the dodgy call to action - however I haven’t targeted it directly. An example where impersonation could be ok is parity accounts or satire. I think it’s more a verification problem and less suited for text labelling.
#[10]
Worth also adding, this isn’t great for event flood attacks (like the hello in every language flood we saw), explicit media attacks (dick pic floods), or spam messages without a call to action - like perhaps you feel “GM” is spam - but who is the victim? Should be blocked more easily in client apps instead.
We will need a lot of smaller focused mechanisms to help limit bad actors and their content - however it will all work together and should create some solid results.