linjeskift les europeiske jernbanenyhende kvar time og held berre på dei sakene som endrar kvar, om eller korleis du kan reisa med tog på fjern-, intercity- og regionalnettet. Ein avgjerdsmodell vurderer kvar sak, ein liten regel i koden avgjer, og ingen tekst vert skriven av ein maskin. Det som vert halde, legg roboten @linjeskift@skvip.lol ut.
8kjelder
12straumar
4spørsmål per sak
1køyring i timen
Linja
Frå straum til tut
Kvar sak køyrer same strekninga. Dei fleste går av undervegs, og det er meininga.
Stasjon 1 · kvar time
Henting
Ein systemd-timar startar ein container som hentar alle dei elleve RSS- og Atom-straumane og nyhendesitemapet til Norske tog. Snuttane vert reinska for HTML og lagra som rein tekst, saman med språket til kjelda. Ein straum som ikkje svarar seks køyringar på rad, gjev ei åtvaring.
Stasjon 2
Dublettar ut
Kvar sak får ein id som er sha256 av den kanoniske adressa, utan sporingsparametrar som utm_. Den same artikkelen i fleire straumar vert difor éi rad. Railway Gazette legg av og til same sak under to adresser, så ei overskrift som er lik ei frå dei siste 14 dagane, vert merkt som dublett og går aldri vidare.
Stasjon 3 · éin førespurnad per sak
Jev svarar på fire spørsmål
Berre saker som er heilt nye, kjem hit. Avgjerdsmodellen Jev får tittelen, snutten, adressa, kjelda og språket, og svarar på fire uavhengige spørsmål: kva slags endring, om ho er brennaktuell, kor relevant ho er, og kvar ho skjer. Sjå motoren.
Stasjon 4
Koden avgjer
Modellen dømer, men avgjer ikkje. Ein liten, testa funksjon gjer svara om til eitt av tre utfall med faste tersklar:
Dei tre fyrste spørsmåla er classify.decide_tier i linjeskift. Det siste er golvet til roboten.
Tersklane startar høgt med vilje: når ei sak er på grensa, vert ho forkasta. Alle sannsynlegheitene Jev gav, vert lagra på saka, så tersklane kan justerast seinare utan å spørja modellen på nytt.
Stasjon 5 · kvart kvarter
Roboten tutar
Ei eiga teneste les databasen berre for lesing og legg ut nye saker som anten er breaking, eller digest med relevans minst 0,30. Høgst fem tut per runde, og saker som er brennaktuelle, går fyrst. Brennaktuelle saker sender òg eit push-varsel via ntfy.
Kjeldene
Det som går inn
Sju kjelder på norsk, svensk og engelsk, frå elleve straumar. Ei kjelde vert berre slått på når ei verkeleg henting har gjeve ein gyldig straum med saker. Kjelder på andre språk enn norsk, svensk, dansk og engelsk vert ikkje tekne med, fordi roboten legg ut kvar sak på originalspråket og ikkje omset noko.
Heile Europa
Railway Gazetteen
Fagtidsskriftet for jernbane, og den breiaste kjelda. Fem kategoristraumar vert lesne kvar for seg, og dublettar mellom dei fell bort på stasjon 2. Nettstaden stengjer ute datasenter-IP-ar, så straumane vert henta gjennom ein liten Cloudflare Worker. Sjølve artiklane vert aldri henta.
alle saker
nattog
infrastruktur
passasjer
EU-politikk
railwaygazette.com
Nattog og meiningar
Back-on-Tracken
Det europeiske nettverket for nattog. Nyhende og påverknadsarbeid, nesten alt innanfor det linjeskift ser etter.
back-on-track.eu
Jon Worthen
Uavhengige kommentarar om grensekryssande tog, eitt til tre innlegg i veka. «Bullshit Meter»-innlegga vurderer tilbod som er kunngjorde.
jonworth.eu
Noreg
Tog24.nono
Norske jernbanenyhende. Straumen har berre fem saker, og nokre er annonsørinnhald, som Jev forkastar.
tog24.no
Norsk Jernbaneklubbno
Korte nyhendesnuttar som lenkjer vidare til den opphavlege saka. linjeskift lagrar og lenkjer til originalen, så ei sak frå Tog24 eller Järnvägar.nu kjem berre med éin gong. Atom-straumen er ikkje lenkja frå sida.
njk.no
Norske togno
Selskapet som eig og leiger ut persontoga til staten. Utan RSS: nyhendesitemapet viser artiklane, og kvar ny artikkel vert henta éin gong for tittel og ingress. Mest om materiell, så Jev forkastar mykje.
norsketog.no
Sverige
Järnvägar.nusv
Svenske jernbanenyhende med tyngd på infrastruktur, gods og bransje. Dei fleste sakene vert forkasta.
jarnvagar.nu
Järnvägsnyhetersv
Same slag som Järnvägar.nu. Den delen som gjeld passasjerar, er liten.
jarnvagsnyheter.se
Kjelder som ikkje er med enno
Desse er prøvde og ikkje stadfesta. Dei står i koden som kommentarar med grunnen, og vert ikkje slått på på gjetting, fordi ei feil adresse forgiftar innhentinga utan at nokon merkar det.
Operatørar: SJ, Snälltåget, Vy, European Sleeper og ÖBB Nightjet har ingen straum som svarar, eller sperrar ute henting.
Infrastrukturforvaltarar: Bane NOR, Jernbanedirektoratet, Trafikverket og Banedanmark har ingen straum.
Andre: Global Railway Review og Rail Market sperrar ute robotar, Vagabond er ei reisestraum med svært lite jernbane i, og The Man in Seat 61 har ingen straum.
Dansk er eit tillate språk, men ingen dansk kjelde er med i dag.
Avgjerdsmotoren
Fire spørsmål, éin regel
Jev er ein System One-avgjerdsmodell. Han skriv ikkje tekst. Han svarar på strukturerte spørsmål med eit val og ei sannsynlegheit for kvart alternativ. linjeskift sender éin førespurnad per sak med fire spørsmål som vert svara på kvar for seg, så kvart spørsmål må forklara seg sjølv.
Alle fire har same lesar i tankane: ein reisande som ikkje flyg, bur i Noreg og bryr seg om éin ting, nyhende som endrar kvar, om eller korleis ein kan reisa med tog i Europa på fjern-, intercity- og regionalnettet.
1. Kva slags endring?
Choice
Seks kategoriar å halda på, og éin for å forkasta. Instruksen er å vera varsam: på grensa, vel drop.
Nytt sambandnew_line. Ny eller gjenopna line eller stasjon, nytt grensekryssande eller innanlands passasjertilbod, nytt direktesamband.
Nattognight_train. Alle endringar i nattogtilbodet, både nye ruter og kutt. Vert vege tungt.
Infrastrukturinfrastructure. Elektrifisering, nye tunnelar og bruer, store oppgraderingar og ERTMS som endrar kapasitet eller kvar toga går.
Nettendringnetwork_change. Rute- eller tidstabellendringar som endrar samband eller gjennomgåande tog, og operatørskifte som endrar kvar du kan reisa.
Større avbrotmajor_disruption. Stengingar over fleire dagar eller veker, lange omkøyringar, ei line som er broten.
Nytt materiellrolling_stock. Nye, ombygde eller oppussa tog som vert sette i trafikk, med noko ein reisande merkar om bord: sovekupé, fleire eller betre sete, plass til sykkel og bagasje, trinnfri tilkomst, servering, wifi eller kortare reisetid. For tog på norske liner gjeld det alle steg: bestilling, avduking, prøvekøyring, forseinkingar og oppgraderingar.
Forkastadrop. Korte forseinkingar og enkeltinnstillingar, T-bane, trikk og lokaltog, gods, bestillingar, avdukingar og prøvekøyring av materiell utanfor Noreg, og arbeid som berre gjer toga meir pålitelege, økonomi, kontraktar, tilsetjingar, prisar, annonsørinnhald og sider som ikkje er artiklar.
Planar og utgreiingar vert haldne under den kategorien dei ville høyrt til om dei vart gjennomførte. Ei materiellbestilling vert berre halden om poenget er det nye tilbodet ho gjev. Nytt eller oppussa materiell vert halde når det kjem i trafikk og passasjerane merkar skilnaden.
2. Er ho brennaktuell?
Noul
Eit ja eller nei med ei sannsynlegheit mellom 0 og 1. Spørsmålet er om dette er ei hending som endrar jernbanekartet over Europa og er verd å vita om i dag: ei line eller ein stasjon opnar, ei viktig rute startar eller vert lagd ned, eller ei line er broten i veker. Dei fleste saker er ikkje det. Ei gjenopning etter eit avbrot er slutten på eit avbrot, ikkje ei kartendring.
3. Kor relevant?
Score
Ein plass på ein skala med fem konkrete nivå, frå lågast til høgast. Svaret vert gjort om til eit tal mellom 0 og 1, så nivå 1 er 0, nivå 3 er 0,5 og nivå 5 er 1.
Utanfor Europa, eller ikkje ei endring for passasjertog i det heile.
Ei endring i Europa som knapt har noko å seia for ein reisande i Noreg, eller berre ein plan utan vedtak.
Ei vedteken endring i fjern-, intercity- eller regiontrafikken innanfor eitt land.
Ei vedteken endring i internasjonal eller langdistanse trafikk på kontinentet: ei ny grenserute, eit nattog som startar eller vert lagt ned, ein hovudakse stengd i veker.
Eit nytt direkte grensekryssande tog som ein kan nå frå Noreg, mellom dei nordiske landa eller mellom Norden og kontinentet.
4. Kvar skjer det?
Choice
Landet der lina, tilbodet eller infrastrukturen er, ikkje der utgjevaren eller operatøren held til. Det er 32 landkodar å velja mellom, og fire regionar for endringar som spenner over fleire: EU, Nordic, International og other. Landet påverkar ikkje utfallet. Det vert til ein emneknagg på tutet.
Modellen dømer, koden avgjer. Tersklane står i koden og i konfigurasjonen, ikkje i modellen: kategorien må ha tryggleik minst 0,6, og ei sak er brennaktuell når breaking er minst 0,7 og relevansen minst 0,7. Funksjonen er rein og einingstesta, og eit fast døme frå verkelegheita ligg inne som ein test som feilar om spørsmåla, tolkinga eller regelen endrar avgjerda.
Når klassifiseraren er nede
Ein feil frå API-et er aldri ein dom over ei sak. Svarar ikkje Jev, eller seier nei (for mange førespurnader, serverfeil, nettverk), prøver linjeskift nokre gongar til, lèt resten av sakene stå som nye til neste køyring og sender eit varsel. Roboten ser berre ferdig klassifiserte saker, så eit avbrot gjer at tuta kjem seinare, men ingen sak går tapt eller vert forkasta i feil.
Jev køyrer i dag på det tenesta TypeSafe tilbyr. Ollama snakkar same protokoll, så verten kan bytast utan å endra koden.
Døme
Fem saker gjennom motoren
Det fyrste dømet er ei verkeleg sak med svara Jev gav, festa som test i koden. Dei fire andre er konstruerte for å visa kvar grein i treet. Tala deira er laga, men utfallet er det regelen faktisk gjev, og ein test køyrer kvart døme gjennom den verkelege funksjonen.
Verkelegdigest · tutaRailway Gazette · nattog · en
European Sleeper overcomes the ‘crazy challenge’ to relaunch Paris – Berlin night train
EUROPE: A Paris to Berlin night train service was launched by European Sleeper on March 26, reviving a connection that had ended in December. …
Kategori
night_train · 0,93
Brennaktuell
0,35
Relevans
nivå 4 → 0,75
Land
EU · 0,70
Kategorien er sikker nok, så saka er halden. Ho er ikkje brennaktuell (0,35 er under 0,7), for nattoget mellom Paris og Berlin hadde gått før: dette er ei gjenopning, ikkje eit nytt kart. Utfallet er digest, og med relevans 0,75 legg roboten henne ut, merkt #Nattog og #Europa.
Konstruertbreaking · tuta + varsel
Tenkt sak: eit nytt direkte dagtog mellom to nordiske hovudstader startar i dag
Kategori
new_line · 0,88
Brennaktuell
0,86
Relevans
nivå 5 → 1,0
Alle tre tersklane er nådde. Saka går fyrst i køa til roboten og sender eit push-varsel.
Konstruertdigest · ikkje tuta
Tenkt sak: ein regional operatør i Sør-Europa flyttar to avgangar i vinterruta
Kategori
network_change · 0,74
Brennaktuell
0,08
Relevans
nivå 2 → 0,25
Ei ekte nettendring, så linjeskift held på henne. Men relevansen 0,25 er under golvet til roboten på 0,30, så ho vert lagra og ikkje tuta.
Konstruertdrop · usikker
Tenkt sak: ein kommune vil greia ut om ein nedlagd stasjon kan opnast att
Kategori
new_line · 0,52 (drop 0,41)
Brennaktuell
0,20
Relevans
nivå 3 → 0,5
Jev vippar mot new_line, men berre med 0,52. Det er under 0,6, så regelen vel det varsame og forkastar saka.
Konstruertdrop
Tenkt sak: eit godsselskap tingar tjue nye lokomotiv
Kategori
drop · 0,91
Brennaktuell
0,05
Relevans
nivå 1 → 0,0
Berre gods og materiell. Jev vel drop, og då spelar dei andre svara inga rolle.
Roboten
Det som kjem ut
Eit tut frå @linjeskift@skvip.lol er overskrifta og snutten frå kjelda, slik dei står, på språket til kjelda, med lenkje og emneknaggar. Ingenting er omsett, samandrege eller skrive av ein språkmodell. Det einaste på nynorsk er emneknaggane for kategori og land.
Linjeskift 🤖@linjeskift@skvip.lol
European Sleeper overcomes the ‘crazy challenge’ to relaunch Paris – Berlin night train
EUROPE: A Paris to Berlin night train service was launched by European Sleeper on March 26, reviving a connection that had ended in December. …
linjeskift og roboten er to tenester som deler éin SQLite-database. linjeskift skriv vurderingane, roboten les dei. Det gjer det enkelt å sjå etter i ettertid kvifor ei sak kom med: kvar rad har dei rå sannsynlegheitene Jev gav.