Presentatie namiddagsessie "GIVE-metadata: over verrijking via artificiële intelligentie" tijdens meemoo's partnerevent op 30 november 2023.
Op 160.000 uur audio en video pasten we in het GIVE-metadataproject spraakherkenning en entiteitsherkenning toe. Op 120.000 uur video ook nog eens gezichtsherkenning. Goed voor een heleboel nieuwe metadata! In anderhalf uur ontdekte je hoe die metadataverrijking via AI juist verliep en welke resultaten dat opleverde.
2. GIVE metadata traject
Dit project kadert binnen het relanceplan Vlaamse Veerkracht en wordt
gerealiseerd met de steun van het Europees Fonds voor Regionale Ontwikkeling.
5. Waar stonden we in 2021
- Er waren al heel wat grootschalige digitaliseringsprojecten gerealiseerd
- Toename digitaal materiaal gaat vrij snel
- Realiteit: enige achterstand inzake geannoteerde content
- metadata is nodig om archieven te kunnen zoeken / vinden / hergebruiken
- Uitdaging: onmogelijk om immense hoeveelheid audiovisueel materiaal
manueel te annoteren
- Oplossing: grootschalige digitalisering en annotatie verderzetten zetten via
nieuwe technologieën
GIVE metadata - context
6. Waar wilden we naartoe
- via GIVE = Gecoördineerd Initiatief voor Vlaamse Erfgoeddigitalisering
- belangrijke stap voorwaarts in het verder digitaal beschikbaar en
toegankelijk maken van materiaal uit de Vlaamse culturele archieven
- via Artificiële Intelligentie op grotere schaal automatisch metadata
creëren
- door het inzetten van 3 AI metadata pipelines
- optimale doorzoekbaarheid, vindbaarheid, zichtbaarheid en ontsluiting
van de gecreëerde digitale culturele content
GIVE metadata - doelstellingen
7. Waar wilden we naartoe
- Maatschappelijke meerwaarde realiseren voor breder Vlaams publiek, bv:
- www.hetarchief.be
- www.nieuwsvandegrooteoorlog.be
- Kennis verwerven & verspreiden
- technologie, processen
- Verder onderzoek
- rijkere metadata leidt tot ontdekking van nieuwe bronnen en inzichten
- Lange termijn effect
- GIVE is niet het eindpunt!
- bestaande systemen:
- continue inzetbaar voor nieuw materiaal van contentpartners
- herbruikbaar voor andere archieven of doeleinden
GIVE metadata - doelstellingen
8. Spraakherkenning of STT
- Input: audio (uit audio/video)
- Output: transcripties
Entiteitsherkenning of NER
- Input: transcripties
- Output: metadata personen, locaties, organisaties
incl. links naar authentieke bronnen (ef. wikidata)
Gezichtsherkenning
- Input: video
- Output: metadata herkende personen
Daarnaast
Juridische
aspecten
Ethische
aspecten
GIVE metadata - scope
9. Welke archieven hebben we verwerkt
- Spraakherkenning:
- 125 content partners betrokken
- 174.000 audio bestanden (of video met audio)
- ⅓ audio
- ⅔ video en film
- In totaal: meer dan 168.000 uur
- Entiteitsherkenning:
- 110.000 transcripties
- Gezichtsherkenning:
- 125 content partners betrokken
- 124.600 video bestanden
- In totaal: meer dan 123.000 uur
GIVE metadata - scope
10. GIVE metadata - partnersamenwerking
● We werkten met materiaal van heel
veel partners
● Betrokkenheid via werkgroep
○ kregen meer in-depth informatie
○ Wat met nieuwe uitdagingen /
inzichten
○ bepaalden mee wat we doen en
niet doen
■ bvb. parametrisering
gezichtsherkenning
■ bvb. beheer referentieset gezichten
11. ● Auteursrecht
● Recht op afbeelding
● Algemene Verordening Gegevensbescherming (AVG of GDPR)
● Terms of Service sociale mediaplatformen
● Data Protection Impact Assessment (DPIA)
○ Omschrijven wat we wilden bereiken
○ Vooraf privacyrisico’s van gegevensverwerking in kaart brengen
○ Maatregelen nemen om risico’s te verkleinen
-> Beslissing om uit te voeren op basis van:
→ Aantal betrokkenen
→ Volume van de gegevens
→ Duur van de activiteit
GIVE metadata - juridische aspecten
14. Kenniscentrum Data & Maatschappij - GIVE-project
Overzicht contactmomenten:
- 4 oktober 2022: toelichting aanpak op werkgroep
GIVE-project
- 13 december 2022: workshop #1, toepassing
‘begeleidingsethiek’, focus op gezichtsdetectie-
en herkenning
- 17 januari 2023: workshop #2, focus op beheer
gedeelde referentieset
- 16 februari 2023: werkgroep GIVE-project
Deze aanpak wijkt af van de initieel beoogde aanpak, op
basis van noden en vragen.
16. Workshop #1: Begeleidingsethiek gezichtsdetectie
& herkenning
Aanpak:
● Toelichting technologie en interactie
gebruiker + verduidelijkende vragen
● Benoemen actoren, effecten en waarden
● Opdeling in groepen: elke groep zoekt
handelingsopties op niveau, omgeving of
technologie.
Aanwezig: 3 CP’s, meemoo, datateam
(+ moderatoren KDM)
17. Workshop #1: Begeleidingsethiek gezichtsdetectie
& herkenning
Aantal topics bij handelingsopties:
● Technologie: privacy-by-design,
explainability bij validatie, recht om te
worden vergeten, bias check, toegang …
● Omgeving: service agreement tssn
meemoo en CP’s, kwaliteitscontrole,
noden en vereisten beheer referentieset
…
● Mens/gebruiker: toegangscontrole,
authentieke bronnen, drempelwaarde
nodig voor niet-herkende gezichten …
Volledige verslag oefening beschikbaar.
18. Workshop #2: ‘Swim lanes’ aanpak voor beheer
gedeelde referentieset
Aanpak:
● Vooraf: uittekening van ‘swim lanes’ door KDM
om proces zoals beoogd te mappen op types
actoren
● Workshop
○ Gezamenlijk overlopen van het proces
zoals uitgetekend in de process flow
○ Oplijsting vragen / issues in proces
○ Stellingen & positiename, met telkens
verfijning van de stelling
19. Workshop #2: ‘Swim lanes’ aanpak voor beheer
referentieset
Resultaat:
Positiename op een reeks stelling over
webscraping, opt-out mechanismes, bewerking
van de referentieset, hergebruik FAME-
referentieset, onbekende gezichten
Volledig verslag beschikbaar
Basis voor Giovanni (Mindflux) om extra gesprekken om
use case verder uit te werken.
20. Voorbeeld stelling / resultaat: ‘Opt-out’ (1/2)
Stelling: Als iemand fout in het archief gelabeld staat, dan moet dat recht worden
gezet in de archieven.
• CP’s willen de optie opt-out hebben.
• Bij personen die niet met naam en toenaam in de metadata willen verschijnen, moet
het bronmateriaal niet vernietigd worden, maar zij mogen niet gemakkelijk worden
teruggevonden in het materiaal.
• Welke parameters zijn nodig om na te gaan of iemand fout in het archief werd
gelabeld? Hoe passen we die in de praktijk toe?
21. Voorbeeld stelling / resultaat: ‘Opt-out’ (2/2)
Stelling: We maken een comité en afsprakenkader voor het recht van vergetelheid
indien het GIVE-project groter wordt en opschaalt.
• CP’s kunnen gevoeligheden detecteren wanneer een bekend persoon in een
bepaalde context wordt herkend.
• Wat met automatische herkenning en manuele herkenning?
Stelling: Een afsprakenkader is nodig voor wanneer iemand niet meer herkend wil
worden (zowel automatische herkenning als manueel). Hoe meer van die relatief
onbekende personen erbij komen, hoe urgenter dit zal zijn.
27. Spraakherkenning - Wat willen we?
Spraak identificeren en taal
detecteren.
Transcriberen van spraak.
Tijdscodes die elk woord linken aan
de audio.
Confidences die aangeven hoe
zeker de STT is van de transcriptie.
28. Spraakherkenning - Build vs Buy
BUILD
○ Weinig getrainde open-source modellen met goede kwaliteit beschikbaar
■ State-of-the-art (destijds): Whisper
BUY
○ Veel services die spraakherkenning aanbieden
■ Speechmatics, Amberscript, Notubiz, Scriptix, Azure
Vergelijking op basis van kwaliteit, features en prijs
29. Benchmark Dataset
○ 3 uur audio, hand geselecteerd
■ Verschillende categorieën
(interview, politiek debat, …) vormen
representatieve set
○ Ground truth transcripties + entiteiten
■ Uitgevoerd door extern bureau
■ Interne validatie
Kwaliteit
○ Score obv getrouwheid aan ground truth
■ Verschillende kwaliteitsklassen
Spraakherkenning - Benchmark
30. Spraakherkenning - Aankoopdossier
Conclusie: Speechmatics heeft de beste prijs/kwaliteit
Kwaliteit
● Hoe goed presteert het model (belangrijkste criterium)
● Hoe goed zijn andere features (spreker identificatie, taal, updates)
Prijs
● Kostprijs per uur verwerkt
Amberscript Speechmatics Azure Notubiz Scriptix
Totaal 70.9 83.6 82 74 78
31. Spraakherkenning - Resultaten
● Spraakherkenning
○ Uitgevoerd op 170k uur media
■ 111k uur: transcriptie met confidence
per woord & gedetecteerde taal
■ overige deel
● niet zeker over de taal
● geen spraak aanwezig
Bestanden verwerkt 174.003 100 %
Met Transcriptie 110.864 63.7 %
Zonder Transcriptie 63.139 36.3 %
Geen/onvoldoende spraak 24.794 14.2 %
Onvoldoende taalzekerheid 37.781 21.7 %
*45 talen kunnen worden geïdentificeerd
32. Spraakherkenning - Resultaten
Goed transcriptieresultaat
Voilà , dat was Pourquoi. Dat was ik. En mezelf. Dirk Vermeylen, die zit hier al naast
me. Jullie blijven allemaal luisteren naar. Neem je tijd. Het waren Marcel Verstraeten
en Bart Tuybens die zorgde voor de plaatjes en dat ging perfect. Luisteraars, dit was
een programma in samenwerking met Correa. We zien mekaar terug na Pasen.
Frans liedje in Nederlandstalig fragment
Serie moet reizen Fetish Semois geocoin serie gewoon boerderij dan maar niet Semois
nee. Wow zuur man. WK pop Hoera, Ik doe t niet. Sasa die stijl in Ypres. Lee Chérie u
allen raak hier chérie zee toe. Leef ook een Semois zeep. Drie My love et data
pourquoi?
33. Entiteitsherkenning - Wat willen we?
Entiteiten identificeren in de tekst:
personen, locaties, organisaties
Linken van entiteiten met wikidata.
Confidences die aangeven hoe
zeker de NER is van de tags.
34. Entiteitsherkenning - Build vs Buy
BUILD
○ Open-source modellen die verschillende talen ondersteunen
■ spaCy, flair
BUY
○ SaaS-oplossing
■ TextRazor
Vergelijking op basis van kwaliteit, features en prijs
35. Entiteitsherkenning - Benchmark
Spacy Textrazor flair
Locaties 55,2% 85,8% 61,3%
Personen 78,7% 85,0% 91,2%
Organisaties 39,3% 32,8% 51,1%
(Zonder hoofdletters)
Locaties
42,7% 76,8% 12,0%
(Zonder hoofdletter)
Personen
46,9% 31,0% 24,7%
(Zonder hoofdletters)
Organisaties
24,5% 30,4% 9,5%
Benchmark
- Benchmarkset zelfde als bij
spraakherkenning
- Flair best op ‘propere’ tekst
- SpaCy en Textrazor minder
gevoelig dan flair voor hoofdletters
- Textrazor doet automatisch ook
aan entity linking met Wikidata
36. Entiteitsherkenning - Benchmark
Conclusie: TextRazor biedt beste features aan een scherpe prijs
spaCy flair TextRazor
Kwaliteit + - +
Features ● Nederlands, Frans,
Engels, Duits, … (+5)
● Entity linking kan, maar
via apart model
● Nederlands, Engels,
Duits en Spaans
● Entity linking
ondersteund, niet via
wikidata
● Nederlands, Frans,
Engels, Duits, … (+15)
● Entity linking met
wikidata out of the box
Prijs Implementatie +
compute kost
Implementatie +
compute kost
Vaste kost per maand
37. Entiteitsherkenning - Resultaten
● Entiteitsherkenning
○ uitgevoerd op alle transcriptie data
■ 4 mio personen, 2 mio organisaties en 1 mio locaties getagged, waar
mogelijk gelinkt aan wikidata
■ confidence per entiteit
"De verf van het gebouw in Mechelen bladderde af",
zegt Luk Lemmens (N-VA) van de provincie.
Entiteit Type Conf. Link
Mechelen locatie 2.4 Q162022
Luk Lemmens persoon 2.9 Q22955386
N-VA organisatie 0.5 unlinked
38. Gezichtsherkenning - Wat willen we?
Gezichten detecteren en
groeperen
Matchen met gezichten 'bekende'
personen met confidence score
Identificeren wie vaak voorkomt
maar niet gematcht kan worden
Beheer van een beperkte set
gezichten (namen, foto's) die
herkend mogen worden
39. BUILD (onderzoek naar eigen ontwikkeling):
• Voorgaand onderzoek: FAME
• Gezichtsherkenning op foto’s en beperkte set video’s
• POC gebouwd om haalbaarheid en computationele kost in te schatten
BUY (marktonderzoek naar potentiële leveranciers):
• Evaluatie: MS Azure / Limecraft / Vicarvision / AWS / Kairos / Imagga
Gezichtsherkenning - Build vs Buy
40. Gezichtsherkenning - Build vs Buy
BUILD vs BUY
Conclusie: ontwikkelkost onder BUY kosten + ruimte extra onderzoek & features
→ we bouwen onze eigen oplossing
→ oplossing is herbruikbaar voor nieuw materiaal
(enkel compute- en onderhoudskosten)
Kosten Effort Technisch Privacy
Build + Ruimte voor extra
feature ontwikkeling
– Relatief grote investering + Keuze basic + extra features
+ Inzicht in de core algoritmes
+ Volledig in eigen
handen
Buy – Hoge prijs / uur
– Post-GiVE kosten
+ SaaS oplossing klaar om
te gebruiken
– Mgmt platform dev kost
+ Continuous improvements SaaS updates
– Features liggen ~ vast
– Black box -> weinig ruimte voor tuning ?
– Niet in eigen handen
41. Gezichtsherkenning - Stappen
Video Pipeline
IN OUT
Persoon 1
Persoon 2
Video 1
Matching
IN OUT
Video 1
Persoon 1
Persoon 2
Refset
Persoon 1 (onbekend)
Kim Clijsters (Q11685)
Onbekenden
Clustering
IN OUT
Video 1 Persoon 1(onbekend)
Persoon 3 (onbekend)
Video 2
Video 3 Persoon 4 (onbekend)
unid cluster 1
Persoon 4 (onbekend)
Iteratieve
ontwikkeling met
feedback van
werkgroep
42. Gezichtsherkenning - Video Pipeline
Video Pipeline
IN OUT
Video 1
Persoon 1
Persoon 2
Detecteer gezichten in een video en groepeer de gezichten per persoon
Tracking Groepering
Detectie Fingerprint
Persoon 1
Persoon 2
43. Gezichtsherkenning - Matching
Matching
IN OUT
Video 1
Persoon 1
Persoon 2
Refset
Persoon 1 (onbekend)
Kim Clijsters (Q11685)
Match personen uit de videos met bekende personen in de refset Metadata
Referentieset
Goede fingerprint gelijkenis
Kim Clijsters
44. Gezichtsherkenning - Onbekenden Clustering
Onbekenden
Clustering
IN OUT
Video 1 Persoon 1(onbekend)
Persoon 3 (onbekend)
Video 2
Video 3 Persoon 4 (onbekend)
Cluster 1
Persoon 4 (onbekend)
Cluster onbekende personen uit verschillende videos
cluster
Voeg toe aan refset
Referentieset
Remco Evenepoel
Naam:
Fotos:
45. Output Gezichtsdetectie
Gezichten matchen met de referentieset
Gedeelde Referentie Set
Steve Stevaert
Politicus
Wikidata: Q1234
Joke Devynck
Actrice
Wikidata: Q5678
Fauyaza Talhaoui
Politica
Wikidata: Q1011
AMSAB
Archief
Archief
Vlaams
Parlement
Matching
Onbekenden
Clustering
46. Output Gezichtsdetectie
Onbekende gezichten! Bel een archivaris
Gedeelde Referentie Set
Steve Stevaert
Politicus
Wikidata: Q1234
Joke Devynck
Actrice
Wikidata: Q5678
Fauyaza Talhaoui
Politica
Wikidata: Q1011
AMSAB
Archief
Archief
Vlaams
Parlement
Mathijs Scheepers
Acteur
Wikidata: Q3389
Onbekenden
Clustering
47. Gedeeld beheer van de referentie set
Wat is dit?
○ Lijst van personen + links naar wikidata + foto's
○ Gedeeld beheer, gebruikmaken van expertise in sectoren
○ Transparantie is belangrijk (wie deed wat wanneer)
Cruciaal element in onze processen
○ Brug tussen detectie en matching
○ Ethisch aspect: iemand toevoegen aan de referentieset betekent deze op
schaal identificeren. Hierover moet een mens beslissen.
48. Opbouw initiële referentieset
FAME
- Originele foto’s: 67069 foto’s, 7051 personen
- In refset: 28273 foto’s, 3772 actieve personen, 2052 non-actief
Filtering
- QID
- meerdere personen op 1 foto
- te gelijkaardige fotos
- te slechte kwaliteit (streng)
- outliers (fouten in data)
Bron # personen # foto’s
AMSAB 37 70
KADOC 29 29
Kunstenpunt
(portretfoto’s)
2408 38887
Politici (portretfoto’s) 804 6959
Wielrenners (Koers) 2908 15808
ADVN 865 5316
✅
❌ ❌ ❌
49. Gezichtsherkenning: Resultaten
Gezichtsdetectie op schaal
- 125k uur video verwerkt in 10 weken
- rekenintensief, éénmalig
- 3,3 mio personen gedetecteerd (~27 per video)
Matching (nightly, 3-4 uur)
- 230k personen gematched met 2.545 personen van refset
- Meest herkende persoon: Herman De Croo, 1413 videos, 2 dagen schermtijd
Onbekenden Clustering (nightly, 2-3 uur)
- 127k clusters gelinkt aan 2 of meer videos
- 5.6k clusters gelinkt aan 10 of meer videos
- Sorteren van resultaten per CP
53. Herman Van Rompuy
Frank Vandenbroucke
Wilfried Martens
Leo Tindemans
Louis Tobback
Luc Van den Brande
Els de Schepper
Koen De Bouw
Willy Claes
Willy Declerck
Jean-Pierre Van Rossem
Miet Smet
56. Zouzou Ben Chikha
Johan Heldenbergh
Maaike Neuville
Manoe Frateur
Nolle Versyp
Ann Petersen
Sven De Ridder
Janine Bischops
Hilde Van Mieghem
Carl Huybrechts
Josse De Pauw
Gene Bervoets
63. Gezichtsherkenning - Bias analyse
Mogelijke bronnen van bias
● Gezichtsdetectie: lagere detectierate
● Gezichtsherkenning: lagere herkenningsrate
Onderzoek (op vraag van werkgroep)
● Moeilijk om harde cijfers te verkrijgen
○ Nood aan gelabelde dataset (hoge kost)
○ Evaluatie is complex
→ Praktische aanpak: evaluatie adhv resultaten
64. Gezichtsherkenning - Bias analyse
Praktisch onderzoek - Detectie
- test set 30-tal video’s met verschillende etniciteiten
- verificatie dat gezichten correct worden gedetecteerd
(zelfs schilderijen, poppen, stripfiguren)
- vals positieven worden later weggefilterd
65. Gezichtsherkenning - Bias analyse
Praktisch onderzoek - Matching
- 20-tal refset personen met verschillende etniciteiten
- verificatie dat personen correct worden gematched
- zelfs in uitdagende situaties geen probleem met matching
66. Claron McFadden (Q454090)
Souad Boukhatem (Q19971918)
Tan Dun (Q314176)
Conclusie
We zijn ervan overtuigd dat de gezichtsherkenning goed werkt in
uitdagende situaties voor maximale diversiteit. Het blijft echter moeilijk
om dit te bewijzen met hard cijfermateriaal.
68. Opbouw GIVE Interface
Hoe gaan we het beheer doen van een referentieset en weergave van
gegenereerde metadata?
Inputs
- 1 op 1 interviews met content partners
- Werkgroepen
- Technisch team
- meemoo
Output
- Basisopzet bepaald
- Gebruikersprocessen
- Opmaak user interface
71. Afronden project - 2023
● Project afronden
○ documentatie van de code
○ documentatie voor operatoren
○ deliverables uitschrijven
○ beta fase interface i.s.m. werkgroep
● Conclusies ethiek en privacy samenvatten
⇒ praktische gids voor archivarissen / beheerders referentie set
● Duurzame bewaring metadata in knowledge graph
72. Afronden project - begin 2024
● Publicatie deliverables
● Toegang interface voor alle content partners
● Resultaten NER + transcripties mee in de interface
● Laatste samenkomst werkgroep, maar…
○ wat kunnen we met GIVE metadata doen in ontsluiting?
○ hoe willen CP's de metadata gebruiken?
○ hoe willen jullie aan metadata kunnen?
○ …
⇒ doorstart werkgroep in 2024, open oproep
73. Levensloop gegenereerde metadata
● GIVE interface is eigenlijk een tussenstation
○ tijdelijke interface om metadata te bekijken
○ niet de finale eindbestemming
● Duurzame bewaring: in knowledge graph
○ Gelinkt aan gearchiveerde objecten zelf
○ Gemarkeerd als 'door meemoo gegenereerd'
● Worden NIET gebruikt in ontsluitingsplatformen
○ Verder overleg nodig met contentpartners
74. Toegang krijgen tot resultaten
● Verzamelde data
○ Metadata zelf (bvb. Persoon X)
○ Tijdscodes (..op tijdscode Y)
○ Confidence scores (... met zekerheid Z)
○ Provenance metadata (... op tijdstip A door systeem B, versie C)
● In 2024: via de GIVE interface
● In 2025: API op knowledge graph voor content partners
⇒ export kan ook ad hoc, contacteer ons
⇒ andere opties: bespreken (bvb. via werkgroep)
75. We bouwen verder op AI-trajecten
SHARED AI (2023-2024)
● Gezichtsherkenning, spraakherkenning en entiteiten uit tekst
● 100.000 uur te verwerken
● Voor regionale media + VRT
Visual Name Authority (2023-2026)
● Een gedeelde set van personen
● Foto's van personen en beperkte metadata
● Om bijvoorbeeld te gebruiken in gezichtsherkenning