refactor(examples): replace sector-specific example material with generic, fictitious examples

Reference files, test fixtures, the playground demo project and one design
document now use generic, fictitious examples (buildings, energy, water,
grants, municipal services). The playground demo (17 fixtures plus the
embedded demo state) tells one consistent story: a municipal customer
chatbot that pre-screens housing-benefit applications, classified under
Annex III point 5(a). The embedded demo copies were edited in place rather
than regenerated, because they already carry newer AI Act dates than the
fixture files.

Legal text is unchanged. Test semantics are unchanged. Four dark-theme
onboarding screenshots with outdated placeholder text are removed.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Kjell Tore Guttormsen 2026-09-23 14:03:53 +02:00
commit 544934dc57
Signed by: ktg
SSH key fingerprint: SHA256:JakMjO6FTBBzN0Bhfj9saOoEjaFxlSdYuZQQpM/lF9Q
77 changed files with 363 additions and 368 deletions

View file

@ -23,7 +23,7 @@
Kvaliteten pa treningsdata er den viktigste faktoren for ytelsen til ML-modeller. Effektiv datasampling sikrer at treningsdatasettet er representativt og balansert, mens systematisk datamerking (labeling) gir modellene de korrekte signalene a laere fra. Azure Machine Learning tilbyr en komplett plattform for datamerking med stotte for bade bilde- og tekstdata, inkludert ML-assistert merking som akselererer prosessen vesentlig.
For norsk offentlig sektor, der data ofte er ubalansert (f.eks. svaert fa svindeltilfeller vs. legitime transaksjoner, eller sjaeldne hendelser i trafikkdata), er stratifisert sampling og aktiv laering spesielt viktig. Riktig sampling reduserer merkebehovet med 50-80%, noe som sparer bade tid og kostnader i prosjekter med stramme budsjetter.
For norsk offentlig sektor, der data ofte er ubalansert (f.eks. svaert fa svindeltilfeller vs. legitime transaksjoner, eller sjaeldne hendelser i driftsdata), er stratifisert sampling og aktiv laering spesielt viktig. Riktig sampling reduserer merkebehovet med 50-80%, noe som sparer bade tid og kostnader i prosjekter med stramme budsjetter.
Denne referansen dekker hele livssyklusen fra datautvalg gjennom merkeprosesser til kvalitetskontroll, med fokus pa teknikker som er relevante for Microsoft AI-stakken og Azure Machine Learning.
@ -36,7 +36,7 @@ Denne referansen dekker hele livssyklusen fra datautvalg gjennom merkeprosesser
| Scenario | Positiv klasse | Negativ klasse | Ubalanse-ratio |
|----------|---------------|----------------|----------------|
| Svindeldeteksjon | 0.1% svindel | 99.9% legitim | 1:1000 |
| Ulykkesprediksjon | 2% ulykker | 98% normal trafikk | 1:50 |
| Reinnleggelsesprediksjon | 2% reinnlagt | 98% ikke reinnlagt | 1:50 |
| Dokumentklassifisering | 5% sensitiv | 95% ikke-sensitiv | 1:19 |
| Feildeteksjon (IoT) | 0.5% feil | 99.5% normal | 1:200 |
@ -112,9 +112,9 @@ def oversample_minority_class(df, label_column, minority_class, target_ratio=0.5
# Bruk
balanced = oversample_minority_class(
df_training,
label_column="incident_type",
minority_class="accident",
target_ratio=0.3 # 30% ulykker i treningsdatasettet
label_column="readmission_status",
minority_class="readmitted",
target_ratio=0.3 # 30% reinnleggelser i treningsdatasettet
)
```
@ -286,18 +286,18 @@ ml_client = MLClient(credential, subscription_id, resource_group, workspace_name
# Definer merkeprosjekt
labeling_job = DataLabelingJob(
display_name="traffic-sign-classification",
description="Klassifiser trafikkskilt fra vegkamera",
display_name="waste-type-classification",
description="Klassifiser avfallstyper fra bilder ved gjenvinningsstasjon",
labeling_job_type="ImageClassificationMulticlass",
data={"uri": "azureml://datastores/images/paths/traffic_signs/"},
data={"uri": "azureml://datastores/images/paths/waste_images/"},
labels={
"classes": [
{"name": "speed_limit", "display_name": "Fartsgrense"},
{"name": "stop", "display_name": "Stopp"},
{"name": "yield", "display_name": "Vikeplikt"},
{"name": "no_entry", "display_name": "Innkjoring forbudt"},
{"name": "pedestrian", "display_name": "Fotgjenger"},
{"name": "construction", "display_name": "Veiarbeid"},
{"name": "paper", "display_name": "Papir"},
{"name": "plastic", "display_name": "Plast"},
{"name": "glass", "display_name": "Glass"},
{"name": "metal", "display_name": "Metall"},
{"name": "food", "display_name": "Matavfall"},
{"name": "hazardous", "display_name": "Farlig avfall"},
{"name": "other", "display_name": "Annet"}
]
},