diff --git a/buzzrss/bot.py b/buzzrss/bot.py index 051630e..2247971 100644 --- a/buzzrss/bot.py +++ b/buzzrss/bot.py @@ -89,14 +89,21 @@ rss_change_level = EventType.find("xyz.maubot.rss", t_class=EventType.Class.STAT # Drie lagen, elk met een eigen regel: # 1. WHITELIST -> ALTIJD door. Alleen termen die in élke context OV # betekenen (merken: NS/ProRail/Arriva; onmiskenbaar jargon: spoorstoring, -# perron, bushalte, metrostation, conducteur, ovpay; multi-woord termen). +# perron, bushalte, conducteur, ovpay; multi-woord termen). # REGEL: twijfel je of de term ook buiten het OV kan voorkomen -> NIET hier. +# NIET: station-samenstellingen (busstation/metrostation) — een bericht over +# een pand 'naast het busstation' is geen OV-nieuws (besluit 2026-09-11); +# die wegen mee via de gewogen families (medium). # 2. GEWOGEN FAMILIES -> score = 2x titel + 1x samenvatting >= drempel (3). # - sterk (3): onmiskenbaar OV-jargon/merken/samenvoegingen (spoorlijn, -# treinstation, busverkeer, intercity, lijn 12, ...). +# bushalte, busverkeer, intercity, lijn 12, ...). # - medium (2): onmiskenbaar OV maar iets algemener (tram, metro, halte, -# pont, ovpay, openbaar vervoer, ...); mag niet volledig -# ontbreken, maar telt alleen mee ter ondersteuning. +# pont, ovpay, openbaar vervoer, trein-/bus-/metrostation); +# mag niet volledig ontbreken, maar telt alleen mee ter +# ondersteuning. Station-samenstellingen zijn medium: één +# station-woord náást een ander onderwerp ('pand naast +# busstation') maakt een bericht nog geen OV-bericht +# (besluit 2026-09-11). # - zwak (1): DUBBELZINNIGHEID. Woorden die (ook) buiten het OV # voorkomen. REGEL: elk dubbelzinnig woord krijgt een EIGEN # familie (niet samengevoegd), zodat twee verschillende @@ -129,9 +136,9 @@ MATCH_FILTER_FAMILIES: list[tuple[str, int]] = [ # sterk (3) (r"\b(?:ns|arriva|qbuzz|connexxion|cxx|transdev|keolis|ret|gvb|ebs|htm|syntus|u-ov|allgo|flixbus|blauwnet|r-net|valleilijn|waterbus|eurostar|thalys|randstadrail|gvu|prorail|hermes|rrreis|qliner|ov)\b", 3), # vervoerders ('Breng' staat in de zwakke groep: botst met het werkwoord "brengen") (r"\b(?:spoorweg|spoorba(?:an|nen)|spoorlijn|spoorverkeer|spoorwegovergang|spoorbrug|spoorstoring|perron|seinstoring|wisselstoring|spoorstaking)\w*\b", 3), # spoorinfra; let op de klinkerwisseling: 'ontsporing' (open lettergreep, één o) vs 'ontspoord'/'ontspoorde' (dicht, dubbel o) — vandaar beide stammen - (r"\b(?:treinstation|treinstations|metrostation|metrostations|busstation|busstations)\b", 3), # station-samenstellingen: onmiskenbaar OV-jargon + (r"\b(?:treinstation|treinstations|metrostation|metrostations|busstation|busstations)\b", 2), # station-samenstellingen: onmiskenbaar OV, maar MEDIUM — één station-woord náást een ander onderwerp ('pand naast busstation', besluit 2026-09-11) is geen OV-bericht; in de samenvatting moet een tweede OV-woord bijkomen (r"(?