it-bransjen
Bruker stemme- og ansiktsgjenkjenning for å gjøre det enklere å finne skjulte skatter i NRK-arkivet
Semantisk teknologi og maskinlæring står sentralt i stort NRK-prosjekt som har møtt interesse langt utenfor Norges grenser.
MARIENLYST (digi.no): 950 000 lydfiler og 155 000 timer med video ligger lagret i NRKs enorme arkiv med materiale helt fra 30-tallet og frem til i dag. Det å katalogisere alt dette materialet og gjøre det søkbart er en enorm jobb, og egentlig helt urealistisk å skulle gjøre manuelt.Derfor har NRK nå tatt i bruk avansert maskinlæring, stemmegjenkjenning og ansiktsgjenkjenning for å automatisk tagge alt materialet.
Totalt har NRK satt av 4 år og tilsammen 165 millioner kroner til å overhale en del av infrastrukturen som brukes til produksjon og publisering av innhold til TV og radio.
Målet med det såkalte Origo-prosjektet er at publikum selv skal kunne søke opp klipp fra NRK-arkivet og få enda mer relevante treff – samtidig som prosjektet også skal forenkle arbeidshverdagen for de mange som jobber i NRK.
Blant Norges fremste eksperter på maskinlæring
Robert Engels i Acando er leder for prosjektet, og blant Norges fremste eksperter på maskinlæring og semantisk teknologi. De siste årene har Engels hatt sin faste arbeidsplass hos NRK på Marienlyst, der han har jobbet med Origo-prosjektet.
Rundt 20 utviklere og to prosjektledere jobber fast på prosjektet, og opptil 50-60 mennesker i organisasjonen kan være involvert i perioder.
Det er et enormt arkiv som nå skal bli bedre søkbart. Totalt har NRK 10 petabyte med lagringsplass til disposisjon på sine servere til lagring av arkivmateriale. Men arkivet vokser raskt – så raskt at NRK nettopp har bestilt ytterligere 17 petabyte med lagringsplass.
Det å ha alt liggende i en skyløsning fungerer ikke så godt med de enorme datamengdene NRK har behov for å lagre og ha rask tilgang til hver dag – derfor vil de ha alt lagret på servere i egne lokaler.
En del av materialet har imidlertid vært lagret hos Nasjonalbiblioteket i Mo i Rana, i fjellhallene der. Engels forteller at de undersøkte hva som var den beste måten for å få overført alt som ligger lagret hos Nasjonalbiblioteket over til NRKs digitale arkiv på Marienlyst. De fant ut at om de skulle overført alt over internett så ville det tatt 64 dager hvis man ikke skulle bruke så mye båndbredde at det ikke var skadelig for andre prosesser.
– Hvis vi koblet av hele Nord-Norge og andre prosesser, da tok det tre dager. Så det raskeste etter hvert var E6. Den hadde den beste båndbredden for dette.
Kombinerer maskinlæring med semantisk teknologi
NRK-arkivet vokser med rundt 1000 nye radio- og TV-programmer hver uke, og Engels og hans team har laget en infrastruktur som automatisk sørger for å merke alle nye programmer med tema i tillegg til hvem du hører eller ser i programmet. Denne teknologien har man nå begynt å gradvis ta i bruk på eldre opptak. I første omgang har det blitt gjennomført et prosjekt med debattprogrammet Dagsnytt 18, hvor maskinen har lest både ansikt, tekst på skjermer, logoer og stemmer før den automatisk har gjenkjent og merket innslagene.
Sentralt i det hele står det som kalles semantisk teknologi, altså teknologi som kan forstå betydningen av ord og setninger. Dette brukes i en kombinasjon med maskinlæring. Mens maskinlæringen brukes til å digitalisere «skjult kunnskap» i et radio- eller TV-program, så brukes den semantiske teknologien til å tolke kunnskapen inn i en større sammenheng. Ifølge Engels finnes det mye informasjon om situasjoner, personer eller steder som kan gjøre maskinlæringen enda mer effektiv.
– En robot som «forstår» omgivelsen sin kan i større grad reagere «riktig» i skiftende omgivelser. Resultatet er at NRK får mer korrekte og presise metadata og du raskere får ut det du ønsker av søket i dette enorme materialet, sier Engels.
Dagsnytt 18-prosjektet var et miniprosjekt, hvor teknologien og resultatene enkelt skal kunne brukes på andre programmer.
Utviklere ser ikke alltid poenget med semantisk teknologi
Engels har jobbet med semantisk teknologi og maskinlæring lenge før Origo-programmet i NRK ble påbegynt.
I 2007 skrev han en rapport for NRK om bruk av semantisk teknologi i NRK, men den forsvant ifølge Engels ned i en skuff – han var rett og slett forut for sin tid. Men rapporten ble hentet frem igjen rundt seks år senere, og det var da Engels fikk en telefon fra NRK med spørsmål om hvorvidt han ville bli med på Origo-prosjektet.
– Semantisk teknologi er et grunnlag og en «enabler» for strukturerte data. Men det er komplisert, og en vanlig utvikler ser ikke alltid vitsen med det. For den oppgaven de skal løse der og da kan også løses på andre måter. Men ser du ting i større sammenheng er dette veldig viktig – altså med struktur for å kunne dele metadata på tvers av systemer og applikasjoner.
Ser du ting i større sammenheng er dette veldig viktig – altså med struktur for å kunne dele metadata på tvers av systemer og applikasjoner
NRK hadde en rekke ulike systemer som ikke snakket sammen. Etter hvert kom man til et punkt hvor flere av systemene måtte byttes ut, og da fant man ut at det var på tide å tenke helt nytt. Nå bygger man i stedet et fundament i bunnen, hvor applikasjonene på toppen kan byttes ut senere – helt uavhengig. Alle dataene ligger lagret i et såkalt grafdatabase, som i motsetning til en relasjonsdatabase lagrer data i grafer i stedet for tabeller.
– Dermed kan du «snurre» på hele modellen om noen år hvis du trenger det, til en annen type app eller systemer. Så vi håper vi er relativt uavhengig av fremtidige behov.
Kombinerer stemmegjenkjenning og ansiktsgjenkjenning fra Google og Microsoft
Det er tre typer metadata som står sentralt i løsningen som nå er bygget: de tekniske metadataene som kommer fra for eksempel kameraenes EXIF-informasjon, administrative data – for eksempel om bruksrettigheter, samt sosiale data. Sistnevnte er det viktigste redaksjonelt sett, og handler om blant annet hvem som er med i programmet, i hvilken sammenheng, og så videre.
Ved å kombinere alle de ulike typene metadata med semantikk blir det mulig å gjøre mye mer intelligente søk enn om man bare har metadata i stikkordsform. Men det betyr i praksis at man er nødt til å transkribere alt som blir sagt – altså bruke talegjenkjenning til å gjøre tale om til skrevet tekst.
For å løse dette har NRK og Acando tatt i bruk talegjenkjenningsmotorene til både Google (Google Speech API) og Microsoft (Bing Speech API). Ingen av disse er spesielt gode på norsk, forteller Engels – så det de gjør er at de får transkribert tekst fra både Google og Microsoft, og så sjekkes de to tekstene mot hverandre. Alt som er likt beholdes, og blir lagret. Det blir foreløpig ikke bra nok til at man viser den transkriberte teksten for publikum, men det er godt nok til bruk som underlag for å gjøre søkene bedre.
– Det beste vi kunne gjøre, er å gjøre det latent tilgjengelig. Vi gjør det ikke tilgjengelig som eksplisitt skrevet tekst ennå, for det er ikke godt nok.
Engels sier at han gjerne skulle sett at Google eller Microsoft hadde klart å transkribere bedre, men løsningen er ikke bedre enn de er – og norsk er ikke et prioritert språk for disse selskapene, sier han. NRK og Acando ser derfor på muligheten for å bygge egne løsninger som de kan trene opp selv. Da må de ha nøyaktige transkriberinger av tale, slik at de kan koble tale mot tekst og lære opp systemet til å gjenkjenne dette. Dette er et prosjekt som både Google og Microsoft har vist stor interesse for, ifølge Engels – men han er klar på at alt NRK gjør vil være gratis tilgjengelig for alle.
Mulig å søke etter følelser
En av grunnene til at det er vanskelig å lære opp en datamaskin til å gjenkjenne språk, er at folk har ulike stemmer og ulike dialekter. Engels og hans team har imidlertid funnet en løsning på dette, som også gjør det mulig å finne ut hvem som snakker. Veldig ofte – selv ved radioinnslag – finnes det videomateriale i tillegg til talen. Dermed kan man få algoritmene til å gjenkjenne ansikter slik at man kan koble ansikt med stemme.
Dermed kan man få algoritmene til å gjenkjenne ansikter slik at man kan koble ansikt med stemme
Ansiktsgjenkjenning foregår ved at man tar alt videomaterialet og plukker ut ett bilde i sekundet – altså rundt 3000-3500 bilder på en times sending. Oppløsningen på disse blir skalert ned, siden man ikke trenger full oppløsning for ansiktsgjenkjenning. Selve ansiktsgjenkjenningsteknologien er levert av Google Cloud Platform.
– Det som er morsomt er at vi på sikt ser at vi får emotion detection. Dermed kan vi vite for eksempel at «dette er en gråtende Therese Johaug med Adidas på genseren». Det fungerer ikke så bra ennå, men vi ser at det kommer.
Når NRK etter hvert ved hjelp av Googles ansiktsgjenkjenning har bygget opp en database med ansikter de vet er samme person, trener de opp løsningen gjennom Microsoft Face API. Ettersom man har mange bilder av samme ansikt i en videosekvens, blir nøyaktigheten ganske god.
I tillegg henter man informasjon fra logoer, fra tekst i bildet som beskriver hvem som snakker og tittel, og så videre. Det kan være nyttig for eksempel om en person som er kjent fra før uttaler seg, og kanskje har fått en ny tittel eller ny funksjon – da kan disse metadataene også lagres i systemet til senere. Systemet lærer seg altså nye ting om de som snakker basert på hva som vises på bildet.
– Vi har trent et såkalt convolutional network, som er gode på å sette sammen litt komplekse regler. Vi tok rundt 6000 bilder og fikk en nesten perfekt klassifisering på dem.
Forvirrende grensesnitt og vanskelig å utveksle data
De gamle systemene kunne ifølge Engels ha veldig forvirrende grensesnitt, og utveksling av data mellom dem var vanskelig.
– Leverandørene har ikke noen interesse av at systemene skal snakke sammen, så det er ingen overføring av metadata. Ting gjøres manuelt gjennom grensesnitt. Det er helt hårreisende.
– Nå får vi lov til å drepe dem og lage plattformer i stedet. Vi har ingen interesse av å lage produksjonssystemene selv – de kjøper vi inn. Men andre ord blir det mer og mer komponentbasert med API-er, slik at vi kan styre dem via et workflowsystem som vi selv lager.
Dermed kan en journalist publisere på nett i løpet av få minutter i stedet for flere timer, som det ville tatt om man skulle brukt de gamle systemene. Vi fikk demonstrert hvordan man med radioarkivets nye søk raskt kan søke, og automatisk sende relevante klipp direkte til de ulike produksjonssystemene hos NRK.
Engels sier det har vært viktig for NRK at det skal være NRK selv som eier filene på disken og de tilhørende metadataene.
– En leverandør skal ikke kunne låse deg inne i sine løsninger. De kan få en kopi, men vi skal sitte på masteren.
Med nye produksjoner blir innholdet nå automatisk tagget med metadata, mens det tradisjonelt ikke ble lagt inn metadata før 2-3 uker etter at innspillingen ble gjort. Det er gjerne arkivarer som legger inn informasjon om hva innspillingene inneholder, og de har ikke tilgang til all informasjon om produksjonen. I tillegg er det få arkivarer i forhold til produksjonsvolumet, slik at all informasjon om produksjonen ikke alltid kommer med. Det blir også enklere og raskere å rette feil om flere kan delta.
Takket være automatikken klarer man seg nå med halvparten så mange arkivarer som tidligere
NRK har vært opptatt av at mest mulig skal være åpent tilgjengelig for alle, via API-er – og også programkode blir lagt tilgjengelig som åpen kildekode. Det benyttes komponenter som kan gjenbrukes.
For øyeblikket ligger en del på Github, men ting som ikke ligger der vil kunne bli lagt ut senere hvis noen har ønske om det. Siden NRK er lisensfinansiert har det vært viktig at alt de lager skal være tilgjengelig for alle kostnadsfritt. Dermed vil de som vil kunne bygge egne tjenester på toppen.
– Vi har dialog med kringkastere, og sier at hvis dere har lyst til å bruke denne softwaren, så er det helt greit. Vi kan legge den ut som open source.
Stor interesse fra utlandet
Mange utenlandske mediehus og andre institusjoner har vist interesse for Origo-prosjektet, og Engels har brukt mye tid på å presentere prosjektet blant annet i Tyskland. De også jobber tett sammen med den europeiske kringkastingsorganisasjonen EBU.
– Det som vi gjør her er foreløpig unikt. Flere tenker de samme tankene, men det å faktisk gjennomføre det. Vi er de eneste som har denne typen infrastruktur i produksjon.