From 717e51eb1a1bbfba57d07ef82166eb4d168391a6 Mon Sep 17 00:00:00 2001 From: Eddy de Vink Date: Sat, 12 Sep 2026 10:36:37 +0200 Subject: [PATCH] =?UTF-8?q?v1.10.1:=20spoorbrug=20medium=20i.p.v.=20sterk/?= =?UTF-8?q?whitelist=20=E2=80=94=20locatie-referentie=20is=20geen=20OV-nie?= =?UTF-8?q?uws=20(Stuifmail=202026-09-12)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- buzzrss/bot.py | 11 ++++++++--- maubot.yaml | 2 +- validate_filter.py | 10 +++++++++- 3 files changed, 18 insertions(+), 5 deletions(-) diff --git a/buzzrss/bot.py b/buzzrss/bot.py index d431a2a..3316adb 100644 --- a/buzzrss/bot.py +++ b/buzzrss/bot.py @@ -78,6 +78,10 @@ rss_change_level = EventType.find("xyz.maubot.rss", t_class=EventType.Class.STAT # is geen OV-nieuws). Zwartgelijste woorden leveren geen score op, maar # blokkeren de familie niet: een écht "station"-woord ernaast scoort gewoon. # Bewust geaccepteerde botsingen: krant "De Metro"/café "De Tram" (medium). +# 'spoorbrug' is MEDIUM (niet sterk/whitelist): een brug is vaak louter locatie +# ('bij de spoorbrug tussen Liempde en Boxtel', Stuifmail 2026-09-12) — één +# spoorbrug-hit in de samenvatting is geen OV-nieuws; écht spoorbrug-nieuws +# combineert met trein/spoor/verkeer en haalt de drempel alsnog (besluit 2026-09-12). # Losse algemene woorden zijn zwak (moeten combineren met een andere familie): # "trein", "sprinter" (atleet), "vervoerder" (logistiek), "reiziger", # "inchecken"/"uitchecken" (Schiphol/hotel), "station(s)" (omroepen), "bus", @@ -148,7 +152,7 @@ rss_change_level = EventType.find("xyz.maubot.rss", t_class=EventType.Class.STAT 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(?:spoorweg|spoorba(?:an|nen)|spoorlijn|spoorverkeer|spoorwegovergang|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. Géén 'spoorbrug': die is medium (vaak locatie-referentie, besluit 2026-09-12) (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"(? sterk/medium of whitelist ==") for w in UNAMBIGUOUS: @@ -166,6 +166,14 @@ GOLDEN = [ "De gemeente stopt vanaf januari met de gratis reizen voor 65-plussers.", True), # busstation mag niet dubbel meetellen via 'bus' én 'station' (was 2×3=6→nu 1×2) ("Metrostation Centraal tijdelijk gesloten", "De metro's rijden niet.", True), + # fix 2026-09-12: 'spoorbrug' is medium (niet meer sterk/whitelist). Echte + # case: Omroep Brabant Stuifmail (12-09-2026) — een natuurverhaal waarin iemand + # 'bij de spoorbrug' een waterschildpad zag; dat passeerde voorheen op één + # sterke spoorbrug-hit in de samenvatting. + ("Frans weet wat voor warrig beestje Mony heeft gefilmd", + "Ruud Klomp zag in de Dommel bij de spoorbrug tussen Liempde en Boxtel een waterschildpad.", False), + ("Spoorbrug in Boxtel wordt aangepakt", "De werkzaamheden duren tot het najaar.", False), # één medium-hit in de titel: 2 < 3 + ("Spoorbrug wordt verhoogd voor treinen", "De brug gaat omhoog zodat er hogere treinen onderdoor kunnen.", True), # spoorbrug(2) + trein(1) = 3 → door ("NS verlengt noodregeling op traject Zwolle", "Reizigers moeten rekening houden met minder treinen.", True), ("Spoorstoring bij Utrecht opgeheven", "ProRail heeft de wisselstoring verholpen.", True), ("Nieuwe intercity naar Berlijn", "De trein rijdt vanaf december vier keer per dag.", True),