Meertalig spamfilter
Veel spamfilters zijn gebouwd voor het Engels. Spam in andere talen glipt erlangs, en gewone mail in andere talen wordt om het schrift gemarkeerd. Spam Scanner is gebouwd om allebei te voorkomen.
De woorden lezen#
Woorden worden gevonden met Intl.Segmenter, de Unicode-regels voor woordgrenzen met woordenboeken voor Chinees, Japans, Thai, Lao, Khmer en Birmaans. Een Chinese zin wordt woorden zoals 恭喜, 获得 en 大奖, niet één lange string die nooit terugkomt.
Vermommingen worden voor het tellen ongedaan gemaakt: onzichtbare tekens in woorden, Cyrillische of Griekse letters in Latijnse woorden (pаypal), cijfers in plaats van letters (v1agra), en wiskundige of omcirkelde letters (𝐅𝐑𝐄𝐄). Elke vermomming is ook een aanwijzing op zich.
Niet markeren wat het niet kent#
Openbare spamdatasets bevatten veel meer anderstalige spam dan anderstalige hamGewenste mail: het tegenovergestelde van spam., zodat een naïeve classifier leert dat Arabische of Koreaanse tekst op zich spam is. Spam Scanner gebruikt de taal nooit als aanwijzing, weegt elk woord tegen de spam- en hamaantallen van de eigen taal, en blijft „onzeker” naar verhouding van hoe weinig ham het in een taal heeft gezien.
In een test op sms-berichten in 21 talen die het meegeleverde model nooit had gezien, bracht dit de fout-positieven in het Chinees, Arabisch, Koreaans, Japans, Hindi, Bengaals, Urdu, Turks, Oekraïens en Zweeds terug naar nul.
Spam vangen in elke taal#
- Controles die geen woorden lezen: lookalike-domeinen, misleidende links, uitvoerbare bestanden, macro's, SPFSender Policy Framework: een DNS-record met de servers die mail voor een domein mogen versturen., DKIMDomainKeys Identified Mail: een handtekening over een bericht, gecontroleerd met een publieke sleutel die in de DNS van de afzender staat., DMARCEen DNS-beleid dat ontvangers vertelt wat ze moeten doen als mail die zich op een domein beroept niet slaagt voor de SPF- en DKIM-uitlijning. en blocklists.
- Een taalmodel voor onzekere berichten. Open modellen zoals Qwen 3.5 en Gemma 4 lezen 140 tot 200 talen; de end-to-endtests controleren spam en ham in het Chinees, Arabisch, Koreaans, Hindi en Thai met een echt model.
- Je eigen mail. Een paar honderd berichten van elk soort in een taal geven een model dat op je mail is getraind daar volledige zekerheid.
spamscanner scan message.eml --llm ollama --llm-model qwen3.5:4b
spamscanner train --spam ~/Maildir/.Junk --ham ~/Maildir/cur --out my-model.jsonOm alleen bepaalde talen te accepteren, voegt --allow-language en,de punten toe aan mail die met zekerheid in een andere taal is herkend.