Prinsipper, metoder og verktøy for å generere tekster: Del 2
28. november 2024Automatisk generering av brev
Dette er del 2 av 2 om å generere tekster. Dette bygger videre på del 1, så for å få helheten anbefaler jeg at du leser det innlegget først.
Helt grunnleggende skal vi generere brev på denne måten: Systemet velger riktig brevmal for situasjonen, bruker informasjon fra saksbehandlingen til å vurdere om enkelte fraser skal inkluderes i eller eksluderes fra brevet i denne saken, og fyller inn flettefelter for å tilpasse frasene til den konkrete saken. Til slutt kan brevet sendes ut til mottaker, enten gjennom Altinn eller via print til papir og sendes i posten.
For å generere brev automatisk vil jeg bruke en brevmal og en dokumentmal. Brevmalen inneholder faste fraser og regler som styrer hvilke fraser som skal være med i ulike tilfeller. Dokumentmalen definerer fonter, skriftstørrelser, linjeavstand, marger, hvordan vi skriver sidetall osv. Fordelen med å ha begge er at du kan definere en dokumentmal én gang, og så kan alle som vil følge samme dokumentmal bare si at deres brevmal skal bruke en viss dokumentmal. Det går raskere å lage nye brev når du slipper å måtte finne ut av alle sånne detaljer, og brevene blir like uten at alle må anstrenge seg for å gjøre det rett. Du bare sier «denne brevmalen skal bruke standard dokumentmal», så får du organisasjonens foretrukne skriftstørrelser, fonter, osv.
Brevmalene definerer innholdet i et brev. Du kan ha en brevmal for flere situasjoner, og styre innholdet med diverse regler. Da kan én brevmal ha tekster for å både innvilge og avslå en søknad. Men hvis det meste av innholdet for de to situasjonene er forskjellig kan det være lurt å ha to brevmaler, en for innvilgelsesbrev og en for avslagsbrev.
En brevmal kan lages ved å ha noen faste fraser og noen fraser som bare blir med i visse tilfeller, avhengig av saksegenskaper. En brevmal kan f.eks. se slik ut:
Dokumentmal = Standardbrev
Søknadsbehandling/Innvilgelsesbrev/Overskrift
Søknadsbehandling/Innvilgelsesbrev/Introduksjon
Søknadsbehandling/Innvilgelsesbrev/Begrunnelse
<SpesiellSak == true> Søknadsbehandling/Innvilgelsesbrev/EkstraInformasjon
Felles/Innsynsrett
Felles/RelevanteReglerForDetteBrevet
Felles/KontaktOss
Felles/Signatur
Her har vi mange faste fraser, og en frase som er avhengig av at feltet «SpesiellSak» er «true». Altså en frase som bare blir med i noen innvilgelsesbrev. Mer om dette feltet og tilsvarende i neste kapittel. Vi har noen fraser som er spesifikke for dette innvilgelsesbrevet, og noen fraser som er felles med andre brev. Frasen Felles/RelevanteReglerForDetteBrevet vil ha ulikt innhold fra brev til brev, siden det som faktisk står i den er de lovhenvisningene som brevets fraser er knyttet til. Det er likevel en felles frase som inneholder logikken for å samle det enkelte brevs lovhenvisninger.
Bruk av brevmalen
Når du jobber med saksbehandling gjør du noen valg. Noen av disse valgene skal vi informere om i et brev. Noen saker er spesielle i seg selv, f.eks. på grunn av egenskaper ved søker. Hvordan skal systemet vite hvilke fraser som skal være med i et brev? Vi må definere noen regler for å velge hvilke fraser som skal være med i brevet. F.eks. kan vi ha en regel som sier «Gitt at søker er under 18 år skal tekst om mindreårige søkere inkluderes i brevet», eller «Gitt at saksbehandler valgte å krysse av for Ja i skjermbilde 4 («Er dette en spesiell sak?») så skal tekst om spesielle saker inkluderes i brevet» eller «Gitt at det er forsinkelsesrenter i saken så skal tekst om forsinkelsesrenter inkluderes i brevet». I tillegg er det forskjellige tall, navn og annet som skal inn i brevet. F.eks. søkers navn, søkers adresse, dagens forsinkelsesrentesats, dagens dato eller beløp til utbetaling.
Jeg beskriver en måte å strukturere dette her. Jeg forutsetter at man har flere tekniske komponenter i systemet, og at brevkomponenten er en felles komponent som flere saksbehandlingskomponenter bruker. Jeg forutsetter at de generelle brevreglene ligger i brevkomponenten, mens reglene for å plukke ut de opplysningene vi ønsker å legge inn i brevet ligger i den saksbehandlingskomponenten som er nærmest på de opplysningene, og der ekspertisen på den saksbehandlingen sitter. Da må vi samle sammen informasjon om saken i saksbehandlingskomponenten og sende det til brevkomponenten.
Vi må spesifisere regler for å plukke ut ønskede opplysninger og strukturere opplysningene på en måte som vi er enige med brevmodulen om. En måte å gjøre det på er i JSON-format, omtrent som vist her:
{
«navn»: «Per Persen»,
«adresse»: «Gateveien 1»,
«forsinkelsesrentesats»: 12.5,
«spesiellSak»: false,
«mindreårigSøker»: false,
«vedtaksdato»: «2024-10-25»
}
Brevmodulen bruke dette til å velge om frasene Søknadsbehandling/Innvilgelsesbrev/Introduksjon og Søknadsbehandling/Innvilgelsesbrev/SpesiellSak skal være med i brevet, og til å fylle ut flettefelter i fraser.
Vi må også velge språkform. Vi har alle fraser på bokmål, nynorsk og engelsk. Hvilke skal brukes til en gitt mottaker? Kanskje vi har et kunderegister eller en annen form for register der vi har ulike aktørers ønskede språkform. Da kan brevkomponenten slå opp ønsket språkform og velge riktig variant av alle fraser. Vi bør definere en regel for hva vi gjør hvis vi ikke har fraser på ønsket språkform. F.eks. om vi ønsker en feilmelding, eller å bruke den språkformen som finnes, eller å sende saken til menneskelig saksbehandler for å skrive brev manuelt.
Avslutning
Det er mange fordeler ved å håndtere brev og fraser som beskrevet her, men det er naturligvis noen ulemper også. Det er mye jobb for å få alt dette på plass. Det kan være en stor endring fra hvordan du skriver brev i dag, spesielt hvis det er noe saksbehandlere gjør manuelt. En slik endring krever ikke bare IT-utvikling, men også endringsledelse. Saksbehandlere kan føle at de mister kontrollen over brevene, og du må sikre at de får tillit til automatisk genererte brev. Organisasjoner av ulik størrelse og med ulike mål og rammer kan ha nytte av ulike deler av dette. En fordel er at du kan ta i bruk fraselager-tabellen for å få likere struktur og tekst i brevene selv om du ikke har noen av de tekniske komponentene for å automatisk generere brev. Jeg vil også minne om at det er mulig å bruke dette generelt til å generere tekst, ikke bare til typiske «brev».
Det viktigste er å vurdere om du er fornøyd med måten dere kommuniserer skriftlig i din organisasjon. Hvis du ikke er fornøyd kan du begynne med å vurdere hva du ønsker å oppnå, og deretter finne egnede tiltak. Det kan være noe eller alt som er beskrevet her, eller det kan være andre tiltak og løsninger.