Legal Tools
Logg inn

Teknisk Vist · Hvordan AI-en leser tid

Hvordan Tidslinje vet når ting skjedde.

En full gjennomgang av deterministiske datohint, rutet LLM-uttak, juridiske frister, live SSE-oppdateringer og eksport til DOCX/ICS.

12+ datoformater
5 hendelsestyper
3 flytsteg
3 motorruter

Arkitektur

Én uttaksflyt. Tre synlige steg.

Tidslinje finner først deterministiske datohint, sender dokumentet gjennom én rutet strukturert uttaksflyt, og lar deretter PHP filtrere, vurdere, beregne frister og klargjøre eksport.

Steg 1 · PHP / regex

Finn datohint før modellen

Før noe modellkall skanner PHP hele teksten for datoer som matcher 12+ norske formater og normaliserer dem til ISO 8601 når det er mulig:

  • dd.mm.yyyyYYYY-MM-DD
  • d. månedsnavn yyyy → løst kalenderdato
  • Dagbok-format linjer (som starter med en dato + kolon) → automatisk merket som hendelser
  • To-sifrede år → alltid tolket som 20YY

Normaliserte anker legges inn i uttaksprompten for å redusere oppdiktede eller feiltolkede datoer. De er hint, ikke et eget AI-resultat.

Steg 2 · rutet LLM-uttak

Rute, hente ut og klassifisere

Valgt rute leser dokumentet sammen med datohintene. For hver tidsreferanse returneres et strukturert JSON-hendelsesobjekt med fristfelter:

  • date — resolved ISO date, or verbatim string if unresolvable
  • date_typeabsolute | relative | recurring | conditional | period
  • confidencehigh | medium | low
  • actor — attributed entity (from source text, not inferred)
  • description — one-sentence event summary
  • source_excerpt — verbatim text fragment (max 200 chars)
  • is_deadline / deadline_kind — eksplisitte juridiske fristmarkører når de finnes

Prompten instruerer modellen tydelig om ikke å finne på datoer eller aktører som ikke finnes i kilden. Lange tekster deles server-side og settes sammen igjen i samme skjema.

Steg 3 · PHP-etterbehandling

Filtrere, beregne frister og sette sammen

PHP anvender aktive filtre og avledet fristlogikk før resultatet returneres:

  • Fokusfilter — fjerner hendelser som ikke samsvarer med den forespurte fokusmodusen (frister / høringer / CPS)
  • Konfidensfilter — fjerner hendelser med LAV konfidens hvis forespurt
  • Bakgrunnsfilter — fjerner bakgrunns/narrative hendelser hvis ikke avkrysset
  • Dato-type filter — fjerner relative/gjentakende hendelser hvis ikke avkrysset

Etterbehandlingen bygger også deadlines[], listen what_remains_uncertain og anbefalingen next_practical_step.

Dato gjenkjenning

12+ norske datoformater, alle gjenkjent.

Norske juridiske dokumenter bruker mange datonotasjoner. Tidslinje gjenkjenner disse deterministisk før modellen ser teksten, og ber deretter modellen løse de gjenværende kontekstuelle referansene.

Format Eksempel Notater
dd.mm.yyyy 30.07.2015 Standard norsk numerisk
dd.mm.yy 09.04.25 To-sifret år → alltid 20YY
d. månedsnavn yyyy 3. mars 2024 Skriftlig måned på bokmål/nynorsk
d. månedsnavn 15. januar År utledet ved nærhetsskanning
yyyy-mm-dd 2024-03-12 ISO 8601
månedsnavn yyyy mars 2024 Måned + år kun
yyyy 2024 År-referanse
Season + year høsten 2023 Sesongreferanse → Q3/Q4
Diary-format line 18.09.2025: Møte avholdt Dato + kolon → automatisk merket som hendelse
Relative reference tre uker etter vedtaket Forankret til nærmeste løste hendelse
Recurring pattern hver mandag Klassifisert som gjentakende
Period / range fra mars til juni 2024 Gir start_dato + slutt_dato

Klassifiseringsskjema

Fem hendelsestyper. Tre tillitsnivåer.

date_type verdier

date_type Definisjon Eksempel
absolute En spesifikk, løselig kalenderdato 30.07.2015 → 2015-07-30
relative En dato uttrykt relativt til en annen hendelse tre uker etter vedtaket
recurring Et mønster som gjentar seg etter en timeplan each Monday, every 6 months
conditional En dato avhengig av at en betingelse er oppfylt if no response within 14 days
period Et datointervall eller varighet med start og slutt fra mars til juni 2024

konfidensnivåer

konfidens Betydning Visuell i tidslinje
high Datoen er eksplisitt og entydig angitt i kildeteksten Grønn merkelapp
medium Datoen er utledet, omtrentlig, eller angitt med liten tvetydighet Amber merkelapp
low Datoen er implisert, uten dato, eller hentet fra et forringet/tvetydig avsnitt Grå merkelapp

Regler for aktørattribusjon

Regel Eksempel
Navngitt enhet i samme setning “Trude [saksbehandler] ringte 14. mars” → actor: Trude
Rollemerkelapp uten navn “Barnevernet fattet vedtak” → actor: Barnevernet
Ingen klar attribusjon i setningen actor: [unattributed]
Standard på dokumentnivå Hvis ingen aktør per hendelse, standardiseres til dokumentets avsender/utstedende organ

Motorer

Tre ruter, ett strukturert resultat.

Rask, Standard og Dyp returnerer samme JSON-skjema, slik at etterbehandlingen håndterer dem likt. Rutevalg påvirker hastighet, kvalitet, kredittkostnad og fallback-rapportering.

Motor Modell Forsinkelse Best for
Rask nova-lite (egen GPU via LiteLLM) ~10-25 s Raske utkast og kortere dokumenter der hastighet er viktigst.
Standard ★ Claude Haiku 4.5 (Amazon Bedrock EU; gpt-4o-mini bare hvis Bedrock er deaktivert) ~20-45 s Standardruten for de fleste juridiske dokumenter; balansert hastighet, kvalitet og kostnad.
Dyp Claude Sonnet 4.6 (Amazon Bedrock EU) ~45-90 s Tette eller komplekse saker med mange aktører, overlappende hendelser eller svak kildekvalitet.

Live oppdateringer og eksport

Se fremgangen mens den skjer. Eksporter til Word eller kalender.

SSE + DOCX + ICS

SSE-strømming + DOCX/ICS-eksport

Tidslinje bruker Server-Sent Events (SSE) for å strømme statusmeldinger til nettleseren mens uttaket kjører, inkludert klargjøring, uttak, parsing og sluttmontering.

Når uttaket er ferdig, kan du eksportere en formatert .docx med merkede hendelser og kildeutdrag, eller laste ned en .ics-kalenderfil for daterte hendelser og frister.

Server-Sent Events OOXML / .docx iCalendar / .ics ZipArchive live progress Save to My Docs

Personvern & sikkerhet

Dine dokumenter forlater aldri sesjonen din.

Personvern ved design

  • Alle opplastede filer blir ekstraktert til tekst i minnet ved hjelp av PHPs in-process filbehandlere. Den rå binære data skrives aldri til disk på serveren.
  • Sesjonskonteksten (innlimt tekst, opplastet innhold, ekstrakterte tidslinjehendelser) er avgrenset til din autentiserte sesjon og kastes når sesjonen avsluttes.
  • Modellruting er eksplisitt: Rask bruker egen nova-lite via LiteLLM; Standard og Dyp bruker Amazon Bedrock EU når det er aktivert, med eksisterende rutet sky-fallback hvis Bedrock er deaktivert.
  • Eksterne modellkall skjer bare for uttaksflyten. Opplastede binærfiler lagres aldri av verktøyappen, og uttrekt tekst behandles i økten.
  • Telemetri logges: verktøynavn, forespurt/effektiv motor, modell/deployment, fokusmodus, hendelsestall, fristantall, kreditter og forsinkelse. Ingen dokumenttekst, saksreferanser, aktørnavn eller ekstrakterte hendelser blir logget.

Se det fungere i din sak.

Tilgjengelig for Do Better Norge-medlemmer med synlig ruting, kredittestimat og prosess-og-glem-håndtering.

Logg inn for å bruke Tidslinje → Registrer gratis Brukerveiledning