Nyelvek

A spam minden nyelven érkezik, és ugyanígy a hétköznapi levelek is. A Spam Scanner mindkettőt olvassa, és körültekintően bánik azokkal a nyelvekkel, amelyekről keveset tud: az a spamszűrő, amely minden arab vagy kínai levelet megjelöl, rosszabb, mint ha nem is lenne.

Minden írásrendszer olvasása#

  • Szavak. A szöveget az Intl.Segmenter bontja fel, amely a Unicode szóhatár-szabályait követi, és szótárakat használ a kínaihoz, a japánhoz, a thaihoz, a laóhoz, a khmerhez és a burmaihoz, vagyis a szóközök nélkül írt írásrendszerekhez. A hosszú szövegeket előbb darabokra bontja, mert a Node.js 18 szegmentálója nagyon hosszú karakterláncokon lelassul.
  • Normalizálás. A Unicode NFKC a teljes szélességű betűket és a legtöbb díszített betűt (𝐅𝐑𝐄𝐄, Ⓕⓡⓔⓔ) egyszerű betűkké alakítja. A szöveg kisbetűsítése a Unicode-szabályok szerint történik.
  • Álcázások. A szavakon belüli láthatatlan karaktereket (a free két betűje közötti nulla szélességű szóközt, a feltételes elválasztójeleket) eltávolítja és megszámolja. A több ábécét keverő szavakat, például a cirill а-t tartalmazó pаypal szót, visszaalakítja egyetlen ábécére, és megszámolja. A betűként használt számjegyeket (v1agra) visszaalakítja. Minden álcázás önálló jellemző, és három vagy több láthatatlan karakter, illetve két vagy több kevert szó további pontokat is ad.

A nyelv felismerése#

Minden levél nyelvét az írásrendszeréből, a több nyelv által használt írásrendszereknél pedig a betűiből ismeri fel:

  • A hangul koreai; a hiragana és a katakana japánt jelent; a thai, a görög, a héber, az örmény, a grúz, a bengáli, a tamil és más, egyetlen nyelv által használt írásrendszerek közvetlenül megnevezik a nyelvet.
  • A csak egy nyelvben előforduló cirill betűk döntenek az ukrán (і, ї, є, ґ), a belarusz (ў), a szerb (ђ, ћ, џ), a macedón (ѓ, ќ, ѕ) és az orosz (ы, э, ё) között.
  • A több nyelv által használt írásrendszerekben (latin, cirill, arab, dévanágari és mások) írt szöveg, ha elég hosszú a megítéléshez, a franc könyvtárhoz kerül, amely az e-mailekben gyakori nyelvekre van korlátozva, hogy a rövid leveleket ne címkézze ritka nyelvekkel.

A nyelvet a result.language adja meg, az allowedLanguages: ['en', 'de'] (--allow-language en,de) pedig 3 pontot ad minden olyan levélhez, amelyet nagy biztonsággal más nyelvűnek ismer fel.

Nyelvek, amelyekről a modell keveset tud#

Az osztályozó példákból tanul. A nyilvános spam-adatkészletek sokkal több idegen nyelvű spamet tartalmaznak, mint idegen nyelvű hamet (kért levelet), így egy naiv osztályozó azt tanulja meg, hogy a kínai vagy arab szöveg már önmagában spamet jelent. A Spam Scanner ezt háromféleképpen korrigálja:

  1. A nyelv soha nem bizonyíték. A felismert nyelvet és írásrendszert nem használja jelként.
  2. A szavakat a saját nyelvükön belül súlyozza. Egy szó spamvalószínűségét azoknak a spam- és hamleveleknek a számához viszonyítja, amelyeket az osztályozó a levél nyelvén látott, nem pedig az összes nyelven. Egy hétköznapi portugál szó semleges marad egy olyan modellben, amely főleg portugál spamet látott.
  3. A magabiztosság a lefedettséget követi. Az eredményt a „bizonytalan” felé húzza aszerint, hogy az osztályozó hány levelet látott az adott nyelven mindkét fajtából: a teljes magabiztossághoz mindkettőből 1000 kell (kis személyes modelleknél a kisebbik osztály 2%-a). Az a nyelv, amelyen a tanítóadatokban nincs hamKért levél: a spam ellentéte., mindig „bizonytalan” eredményt kap.

A beépített modell soha nem látta az SMS Spam Multilingual Collection adatkészletet, amely 21 nyelvre gépi fordítással átültetett SMS-üzeneteket tartalmaz. E szabályok előtt a modell az ottani ham 5,7%-át jelölte spamnek, köztük a portugál 55%-át és a francia 41%-át. A szabályokkal 0,18%-ot: semmit kínaiul, arabul, koreaiul, japánul, hindiül, portugálul, franciául és 20 további nyelven, angolul pedig 0,27%-ot.

Spam kiszűrése ezeken a nyelveken#

A bizonytalan eredmény biztonságos, de nem szűri ki a spamet. Három dolog igen:

  • A többi ellenőrzés nem függ a nyelvtől: hasonmás domainek, megtévesztő hivatkozások, futtatható fájlok, makrók, hitelesítés, tiltólisták, szabályok.
  • Egy nyelvi modell. A modern nyílt modellek 100–200 nyelvet olvasnak, és a Spam Scanner mindig megkérdez egyet, amikor az osztályozó bizonytalan. A végpontok közötti tesztek ellenőrzik, hogy a qwen3.5:4b kiszűri a spamet és átengedi a hamet kínaiul, arabul, koreaiul, hindiül és thaiul. Nyelvi modellek
  • Tanítás a saját leveleken. A saját leveleken tanított modellben egy nyelven mindkét fajtából néhány száz levél teljes magabiztosságot ad az osztályozónak az adott nyelven. Tanítás, valamint egy opcionális adatkészlet, amely 21 nyelvet ad hozzá.

Az oldal szerkesztése a GitHubon · Markdown ·