NRK-stoff, NRKTV & Utvikling

Slik skal NRK TV bruke algoritmer for å anbefale deg nytt innhold

Snart får du relevante anbefalinger til ulike programmer i NRK TV Illustrasjon: Ståle Grut / Jens Kreuter

Visste du at NRK TV inneholder over 100 000 programmer? Nå tar NRK snart i bruk automatiserte anbefalinger slik at du finner innholdet som er relevant for deg.

Katalogen på NRK TV begynner etter hvert å bli svært omfattende. Tjenesten tilgjengeliggjør over 100 000 programmer, fordelt på cirka 3000 serier og 16 000 enkeltstående programmer.

Det er kult å kunne smykke seg med Norges største innholdskatalog, men det er dessverre slik at innhold som ikke blir sett heller ikke har noen verdi for publikum.

Figuren under viser hvordan en svært liten del av programkatalogen står for nesten alle visningene på NRK TV. Den lange flate kurven er ingen tegnefeil. Under 10% av programmene står for 90% av visningene, og 80% av katalogen blir nesten ikke brukt.

visninger-for-programmer
De fleste programmene på NRK TV har veldig få visninger. Et fåtall står for nesten all trafikken.

Hva er greia med alt innholdet som ikke blir sett?

En viktig årsak er at kun små deler av innholdet blir eksponert. Ingen ser programmer de ikke vet eksisterer.

Innholdet som ikke når ut

Programmene du får anbefalt på forsiden og i kategori-listene på NRK TV er valgt ut av NRKs OnDemand-redaksjon. De jobber kontinuerlig med å presentere en god miks av innhold som gjenspeiler bredden i katalogen. Men plassen er begrenset, og brukere flest scroller ikke veldig langt før de velger et program eller forlater tjenesten.

Sendeskjemaet på de lineære tv-kanalene våre styrer i høy grad hvilket innhold som dukker opp på NRK TV, så forsiden og kategorilistene er ofte dominert av det ferskeste innholdet som går på TV denne uka.

På programsiden finner du også en liste med anbefalinger, men redaksjonen har ikke kapasitet til å finne andre program-anbefalinger for hvert program. Så i dag gjenbruker vi kategori-listene her. Under alle dokumentarer finner du lenker til de samme dokumentarene. Under alle underholdningsprogrammer finner du lenker til de samme underholdningsprogrammene.

mer-dokumentar
Programanbefalinger under et program på NRK TV er lik programmene i kategori-lista.

Gjennom temapakker har vi i høyere grad fått mulighet til å kuratere det gode innholdet over tid, og sette det i en kontekst. Temapakkene har hjulpet oss å få ut en større del av katalogen, men vi har fortsatt en lang vei å gå. Det meste av innholdet ligger fortsatt gjemt i A til Å-listen, eller kan dukke opp som et søkeresultat om man skulle være heldig.

Datadrevne anbefalinger

Det ligger åpenbart et stort uutnyttet potensial i anbefalingslistene som ligger på programsidene. Hva om vi kunne anbefalt deg programmer som er relevant i konteksten du står i?

I løpet av 2016 har vi bygget en anbefalingsmotor for NRK TV og NRK Super. Til denne kan man gi inn et program, og få ut en liste med anbefalinger relevant til programmet.

gi-meg-anbefalinger-for
Spør anbefalingsmotoren om anbefalinger for et program, få tilbake en liste med relevante treff.

For å bygge anbefalingsmotoren har vi prøvd å utnytte to egenskaper med programmene: bruksmønster og metadata.

Anbefalinger fra bruksmønster

Du har sikkert fått mange gode kjøpsforslag av typen “De som kjøpte denne tannbørsten, kjøpte også denne tannkremen”. Sammenhengen mellom de to varene er ikke manuelt definerte, men er noe som oppdages gjennom analyse av tusenvis av handlekurver.

de-som-kjopte-kjopte-ogsa
Produkter blir anbefalt basert på bruksmønsteret til andre kunder. Skjermdump fra Amazon.com.

På samme måte kan vi finne en sammenheng mellom to programmer som er sett av samme type brukere. Handlekurven vår er en brukers seerhistorikk. Når mange nok brukere har sett på de samme programmene, vil det oppstå mønster i bruksdataene. Dermed kan vi si at “De som ser på Live redder verden litt, ser også på Line dater Norge”.

Teknikken vi bruker for å oppdage bruksmønstrene kalles Collaborative filtering.

Etter at algoritmen har tygd gjennom over 600 millioner av visninger fra NRK TV (jobben tar ca. 1.5 time) får vi ut en liste med smaksvektorer for hvert program. Vektoren plasserer hvert program i et 20-dimensjonalt vektorrom. Programmer som har vært like i bruk ligger nært hverandre i dette smaksrommet. Når man spør anbefalingsmotoren etter anbefalinger for et program basert på bruksmønster, finner den programmet som ligger i nærheten.

smaksrommet
Det er en utfordring å illustrere det 20-dimensjonelle smaksrommet, så vi redusert det litt. Programmene som blir anbefalte er de som ligger nærmest i vektorrommet. Illustrasjon av Tony Jøsendal.

Anbefalinger fra metadata

Å analysere bruksmønster gir oss anbefalinger for programmer som ligner på hverandre i bruk, men det sier ikke noe om innholdet i programmene er likt temamessig. Derfor prøver vi også å generere anbefalinger basert på metadata. Her kan vi utnytte at programmer som ligner på hverandre i innhold også har lignende metadata.

tematisk-likhet
Eksempel på programmer på NRK TV som ligner hverandre innholdsmessig.

En typisk måte å finne likheten mellom dokumentene i en samling er å prøve å identifisere de mest unike ordene i hvert dokument og de mest unike ordene på tvers av alle dokumenter i samlingen. Ord det er få av i samlingen, men mange av i et spesifikt dokument, er altså svært representative for det dokumentet (i motsetning til ord det er mange av i dokumentet og mange av i samlingen, de er uinteressante). Andre dokumenter som også har dette ordet vil sannsynligvis omhandle et lignende tema.

For å finne likhet mellom våre metadata har vi tatt i bruk Elasticsearch, som har dokumentlikhet som kjernefunksjonalitet.

tilgjengelig-metadata
Vi har mye metadata å finne likheter med, men per nå bruker vi kun titler, beskrivelser og underteksten.

Til Elasticsearch forer vi inn tittel, beskrivelser og undertekst som ett dokument. Underteksten er avgjørende for å få gode resultater – her ligger det mange unike ord og fraser som representerer innholdet godt. Deretter kan man gjøre et oppslag på indeksen. Elasticsearch har faktisk en egen spørring for å finne lignende innhold: “More like this

“More like this” skiller seg fra vanlig søk med at vi kan gi inn en id til et dokument å søke med, og så finner Elastic de relevante søkeordene for deg, og bruker disse som søketekst. Dermed kan vi gi inn id-en til et program, og få tilbake en liste med lignende programmer. Om vi gir inn id-en til en episode av “Live redder verden litt” får vi ikke lenger tilbake “Line dater Norge”, som vi fikk når vi så på bruksmønster, men en spesifikk episode av Debatten som omhandler klima. Bingo!

Den største utfordringen for å finne lignende innhold er at vi har metadata og undertekster på to forskjellige skriftspråk: bokmål og nynorsk. For å kunne se likheten mellom “klimaforskerne” og “klimaforskarane” har vi laget en egen synonymordliste som Elastic bruker. Synonymordlista og kildekode for å generere din egen har vi gjort tilgjengelig på Github.

Når kommer det?

Første utgave av anbefalingsmotoren er ferdig. Motoren er bygd som en egen tjeneste, som NRK TV kan bruke til å spørre etter anbefalinger for en gitt program-id. Nå er planen å gradvis ta det i bruk på tvers av alle plattformer i løpet av 2017.

Vi tjuvstartet i høst, og tok da i bruk anbefalingsmotoren i mobilappene for NRK Super. Om du scroller helt til slutten av episodelisten på en serieside vil du finne anbefalinger til fire andre serier. Denne listen var tidligere sammensatt av tilfeldig innhold plukket fra forsiden. Nå er anbefalingene funnet gjennom collaborative filtering. Resultatet er oppløftende.

anbefalinger-nrk-super
Anbefalinger basert på bruksmønster er lansert på NRK Super-appene for IOS og Android.

Bruken har økt, bredden i innholdet som blir klikket på har økt, og vi har fått en automagisk alders-segmentering vi ikke hadde tidligere. Innhold for de aller minste peker nå på annet innhold til de aller minste, og de største barna får ikke lenger forslag om å se Lille Jack etter å ha sett M.I. High. Anbefalingene har rett og slett blitt mer relevante.

Det samme håper vi de blir når vi etter hvert kommer ut på NRK TV.

Når vi treffer med en anbefaling øker vi utnyttelsen av alt NRK-innhold, og gir både brukerne og innholdet langvarig verdi.

38 kommentarer

  1. Øystein Nordvik

    Har registrert bedre anbefalinger på NRKSuper, det er kjempebra, og vil nok ha en god effekt på resten av NRK også.

    Som lærer bruker man ofte tvinnslag for å innlede eller avslutte temaøkter, og det er ofte frustrerende dårlig søkeresultat på NRK sin søkemotor
    ( https://tv.nrk.no/sok?q=kvantefysikk )
    versus hva jeg vet ligger der inne
    ( https://tv.nrk.no/program/koid28000612/den-forunderlege-kvantefysikken ) og et tilsvarende program fra Schrødingers katt
    – som jeg finner fordi Google har indeksert på en annen måte enn dere
    ( https://www.google.no/search?q=kvantefysikk+site%3Atv.nrk.no )

    Hva skyldes dette?

    Svar på denne kommentaren

    • Hei Øystein.

      Kjempekult at du har lagt merke til bedre anbefalinger på NRK Super. Det liker vi å høre.

      Vi er dessverre klar over begrensningene i søket vårt, og ønsker å se mer på det i løpet av 2017.

      Jeg tror at en av årsakene til at Google gir bedre treff på kvantefysikk enn oss, er at Google har indeksert underteksten til programmet. Det har vi ikke gjort.

      Derfor tror jeg vi kan utnytte noe av arbeidet vi har gjort med anbefalingsmotoren (der vi faktisk indekserer underteksten, og har løst nynorsk/bokmål-problematikken) for å også forbedre søket vårt.

      Svar på denne kommentaren

    • Søkeeksempelet ditt var interessant Øystein, så jeg måtte se litt nærmere på det og la merke til at dette er en slags bug i søket vårt som gjør at delvise treff blir skjult hvis det finnes andre mer komplette treff.

      Når du søker «kvantefysikk» på tv.nrk.no så får du opp tre treff med programmer som inneholder det nøyaktige ordet «kvantefysikk» i tags (en form for metadata), men du får ikke opp «Den forunderlege kvantefysikken» fordi dette er kun et delvis treff fra tittelen. Og eventuelle delvise treff fra titler blir faktisk aktiv skjult (!) av tjenesten vår hvis finnes andre mer komplette treff i tags. Dette er selvfølgelig veldig dumt, og det skal vi rette opp i.

      Hadde du søk «Kvantefysi» ville du fått opp «Den forunderlege kvantefysikken», fordi ingen har tagget programmene sine med taggen «Kvantefysi», og søket vårt viser ikke delvise treff i tags.

      Enda snodigere er det at i hurtigresultatene som dukker opp under søkeboksen (før du trykker enter) ville du fått opp «Den forunderlege kvantefysikken» umiddlbart, fordi hurtigresultatene ikke leter etter treff i tags i det hele tatt…

      Vi har en jobb å gjøre her, vi er klar over det. Men det er ikke alltid manglene er fullt så tydelige som i ditt eksempel. Så det er bra at du sier fra.

      Dette står på listen over ting som skal ordnes!

      Svar på denne kommentaren

  2. Francesco Nardone

    Anbefalinger er flott men jeg håper at dere vill utvide søk og sortering funksjonalitet. Så at det skal være mulig å søke f.eks. «Norsk komedier lagt i arkiv etter oktober 2016».

    Svar på denne kommentaren

  3. Dette må jeg si var imponerende lesning! Jeg må si at jeg har satt stor pris på den personaliserte løsningen til NRK TV og gleder meg til å se anbefalingsmotoren implementert. All honnør til teamet som jobber med dette!

    Svar på denne kommentaren

  4. Fint at dere gjør noe med dette, blir det bedre søkefunskjon også? Jeg opplever at det er vanskelig å finne et program dersom man ikke husker nøyaktig tittel. For eksempel programmet om oppfinneren, hvis jeg bare taster inn «opp» kommer det opp alt mulig annet, først når man legger til «f» får man fram ønsket program. Kommer ikke på flere eksempler nå men har inntrykk av at nrk tv sin søkefunskjon er generelt dårligere enn for eksempel svt eller drtv. Drtv har også veldig bra forside, som viser et bredere utvalg av programmer, og de oppdaterer oftere.

    Svar på denne kommentaren

  5. Hei!

    Jeg ønsker meg et slags filter for å få se tv-programmer NRK har tillatelse til å sende i utlandet. Nå er systemet for det ganske dårlig. Skjønner godt at det ikke er alt det er mulig å se fra utlandet, men det er såvidt jeg har forstått ikke noe filter eller noen advarsel for dette før man faktisk klikker start for å se et program… Blir ofte skuffa!
    Hilsen en av mange nordmenn i utlandet.

    Svar på denne kommentaren

  6. Kan dere legge til et alternativ for undertekster som tilsvarer tekstingen som vises på TV? I serier med ulike språk vil jeg ikke har tekst på norsk tale, men gjerne når det snakkes spansk. Nå virker det som en bare kan velge mellom ingen tekst eller tekst på alt.

    Svar på denne kommentaren

    • Arild (svar til I)

      Enig i den kommentaren. Jeg ønsker å velge vekk norsk teksting av norsk språk uten å miste teksting av andre språk. Er frustrerende å måtte ha på teksting når jeg ser på nobel når mesteparten er på norsk. Tar meg i å gløtte ned på teksten av gammel vane.

      Søkefunksjonen bruker jeg bare til nøds da jeg opplever den som for pirkete. Men veldig fint at den lagrer tidligere søk på eppleboksen. Der tar det så lang tid å skrive.

      Flott artikkel (som vanlig). Nett-TV tilbudet blir bedre og bedre!

      Svar på denne kommentaren

  7. Hei

    Meget bra dere satser på å bli enda bedre 🙂

    Savner derimot en god spole funksjon i appen Android TV (bruker selv nVidia Shield TV)

    Også en god mulighet for og åpne appen fra Kodi/SPMC

    Svar på denne kommentaren

  8. Geir Børdalen

    Flott info, Øyvind.

    Dypere inne i NRK jobbes det med enda mer struktur for metadata slik at dette kan bli en enda større suksess. Origo-prosjektet leverer metadata som blir enklere å søke i, bedre strukturerte metadata, og lenker metadata mot data utenfor NRK (semantisk web). Det gjør at programmer/klipp som publikum aldri før har funnet – nå blir mulige å finne igjen.

    Svar på denne kommentaren

  9. Veldig fornøyd med løsningen dere har levert, men har dere noen planer om å pushe disse forbedringene til Apple TV-appen og? (Og er det evnt. langt fem i tid?)

    Savner funksjonen for innlogging og stjerning av programmer der!

    Svar på denne kommentaren

  10. Hei! Jeg liker veldig godt NRK og ser mest via Apple TV -appen.

    Jeg har alltid satt pris på at NRK ikke har fulgt med på meg, og samlet data. (i alle fall har jeg aldri hatt den følelsen). Når jeg er på f. eks youtube eller netflix opplever jeg at alt jeg ser på blir lagret og at anbefalingene baserer seg på dette.

    Jeg kan ikke understreke hvor mye jeg hater dette.

    Jeg misliker ikke bare sporingen og lagringen av data, men jeg misliker anbefalingene i seg selv.

    Jeg skjønner at det er mange som ønsker å bli sporet for å kunne få anbefalinger, men jeg vet også at det er mange som ikke ønsker det.

    Hvis dere lanserer en ny versjon med disse implementasjonene ber jeg om at dere tar hensyn til de som ikke ønsker å bli anbefalt noe. La brukerne velge om du vil bruke anbefalinger eller ikke! Dette er lett å implementere, og jeg blir overrasket dersom dere ikke gjør det.

    Svar på denne kommentaren

    • Hei Johannes,

      Takk for innspill om et viktig tema. Det er viktig for oss å være åpen om hvordan vi bygger tjenestene våre slik at brukerne skal kunne føle seg trygge. Det du snakker om fortjener egentlig en egen artikkel, så jeg skal forsøke å fatte meg i korthet.

      Det siste vi vil er at NRK TV skal oppleves som creepy. Derfor er det frivillig å registrere en konto hos NRK.

      Alle som har registrert en bruker hos oss vil se at det eneste vi ber om er fornavn og e-post-adresse. Alt annet er frivillig. Vi spør ikke om data vi ikke trenger.

      Anbefalingene vi skisserer i denne artikkelen er ikke direkte personlige. Alle som er på seriesiden til «Live redder verden litt» vil få de samme anbefalingene. Vi tror at disse vil være relevante for DEG nettopp fordi DU for øyeblikket står på «Live redder verden litt» og anbefalingene vi finner frem er til lignende programmer og innhold til dette programmet (som du implisitt viser interesse for).

      Vi har også planer om å komme med personaliserte anbefalinger i fremtiden, men dette avhenger av at brukerene er logget inn.

      Med det sagt, dine bruksdata er med å påvirke bruksmønstrene uavhengig om du er logget inn eller ikke. Trackingen er gjort anonymt over tid ved hjelp av cookies, som rapporterer inn til Google Analytics.

      Noen punkter om GA:

      * Vi har alltid benyttet GA for statistikkformål, nå har vi begynt å dra nytte av disse datene også i anbefalings-øyemed.
      * GA anonymiserer IP-adresser.
      * Med GA kan vi ikke følge deg på tvers av devicer (som vi kan med innloggede brukere).
      * Med GA kan cookien alltid slettes.

      Det ble ikke så kort alikevel ser jeg… Svarer gjerne på ytterligere spørsmål 🙂

      Svar på denne kommentaren

  11. Tenkte jeg ville komme med en slags mening:

    Det som er dumt av NRK er at det fokuseres på egne lukkede løsninger heller enn å legge vekt på allmenne og åpne og frie teknologier samt globalt orienterte løsninger.

    NRK kunne være en driver av åpen fildelingsteknologi for eksempel, som med litt dytt kunne etablere grensesnitt og funksjonalitet og en katalog, som overgår hva Youtube eller Netflix kan levere, ganger tusen både i kvalitet og omfang.

    Tenk katalogen til NRK, katalogen til alle andre nasjonale allmenkringkastere, katalogen til thepiratebay og lignende, amatørfilmer av bestemor på surfebrett eller hvordan spikke en dugelig bue, osv.

    Da begynner det å bli virkelig interessant om en legger til slik relasjons-teknologi, eller kombinerer med chat eller forum, eller muligheter til å etablere egne kanaler.

    Det ville være et allment globalt prosjekt, der gode norske allmennfinansierte produksjoner kunne få internasjonal anerkjennelse og innflytelse.

    Svar på denne kommentaren

  12. Harald Korneliussen

    Dette er jo artig.

    En svakhet med modellen slik dere har beskrevet den, er at «att og fram er like langt»: Om modellen sier at folk som liker A sannsynligvis liker B, klarer den ikke helt å akseptere at det folk som liker B ikke nødvendigvis liker A.

    Men det finnes mange gode anbefalingsmodeller som har denne svakheten. Spotify, for eksempel, serverer deg gjerne K-pop dersom du er uvanlig glad i ikke-K-pop som er populært i Korea. Anbefalingene er gode likevel.

    Misunner dere datasettene deres i NRK.

    Svar på denne kommentaren

    • Godt innspill.

      Enig i at dette er en svakhet med modellen som den er i dag. Men også slike ting kan vi gjøre noe med, enten med eksplisitte eller implisitte signaler. Spesielt for innloggede brukere.

      En mulig løsning kan være å telle hvor mange ganger jeg har vist deg en anbefaling. Om vi har anbefalt deg en K-pop-dokumentar hver dag i 2 uker, og du aldri viser interesse for den, kan vi tolke det som et negativt signal. Da kan vi fjerne den fra anbefalingslisten.

      Men vi kan også ta det et skritt lenger, og feede den inn som et negativt signal i collaborative filtering-modellen. Usikker på hvordan det hadde slått ut, men det hadde vært interessant å prøve.

      Har du noen tanker om hvordan vi kan løse dette problemet?

      Svar på denne kommentaren

  13. En litt halvrelatert ting: Hvem / hva bestemmer hva som er tilgjengelig gamle sendinger på nett-tv? Helt spesifikt: Jeg jobber ved Statens strålevern, vi var for en tid siden interessert i å kikke tilbake på hva vi gjorde i media de første dagene etter Fukushimaulykken. Takket være det som står over her, forstår jeg nå hvorfor jeg får helt forskjellige resultater om jeg søker på Fukushim eller Fukushima, men dette hjelper jo ikke noe når programmene tilsynelatende ikke er tilgjengelige. På nett-tvsiden til dagsnytt, ligger det sendinger tilbake til 1989, men på et eller annet tidspunkt er det ikke lenger komplett, så sendingen fra 11. og 12 mars 2011 finnes ikke der… Jeg har sendt mail til nettredaktøren uten å få noe svar, så da spør jeg her også: Er det noen mulighet til å bestille at spesifikke «episoder» av dagsnytt eller andre programmer legges ut på nett-tv, eventuelt, en litt mer nerdete tilnærming, finnes det noen måte å trikse til en url så jeg får en dagsnyttsending fra en spesifikk dato?

    Svar på denne kommentaren

    • Nina B. Fleischer, Arkivpublisering (svar til Morten)

      Hei Morten. Takk for interessen.

      Dagsnytt startet å publisere sine sendinger i NRK Radio (på nett) i november 2011, og det er derfor dette er de tidligste episodene vi har tilgjengelig.

      Det er On demand-redaksjonen i samarbeid med Arkivpublisering som publiserer eldre materiale til nett-TV. Så snart teknisk løype er på plass vil gjøre dette også for radiomateriale.

      Vi er åpne for konkrete ønsker og forespørsler, så ditt ønske er herved notert.

      Svar på denne kommentaren

  14. Håper dere også vil fokusere på å gjøre Android TV-appen mer stabil.

    Jeg bruker denne nesten daglig og om du ser på direkte TV, går tilbake til menyen også til direkte TV igjen, så får man bare svart skjerm. Ingenting hjelper for å få direkte TV til å virke igjen.

    Det er heller ingen måte å stoppe appen på, så eneste som fungerer er å restarte Android TV helt, eller starte masse andre apper så Android selv dreper NRK TV på ett eller annet tidspunkt.

    Søk gir også litt varierende resultater, samt at det er vanskelig å finne barneprogrammene med Android TV, ender som regel opp med å bruke appen på mobilen og Chromecast istedet.

    Svar på denne kommentaren

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *