Hvordan detekterer man tonen i debatten?

Christinarosted
DaNLP
Published in
9 min readDec 18, 2019

Et skridt på vejen er at finde ud af hvilke følelser, der er på spil, når vi skriver på de sociale medier som Facebook og Twitter.

Emotion detection (detektion af følelser) er et NLP-værktøj, der kan klassificere følelser i tekstdata. For det danske sprog er der endnu ikke udviklet et open-source-værktøj til autodetektion af følelser. I samarbejde med DR arbejder Alexandra Instituttet på at udvikle en model til at autodetektere følelser i danske sprogdata fra Facebook og Twitter.

Som cand.mag. i sprogpsykologi må jeg indrømme at jeg var en smule skeptisk over for denne opgave. At detektere følelser i tekst er så helt grundlæggende en kompleks proces, hvor den sproglige intuition anvendes, og sproget viser sig fra sin måske allermest lunefulde side med al sin implicitet og med undtagelsestilfælde, regelbrud og karakter- og kontekstafhængighed. Kan man få computeren til at autogenkende følelser i sprogdata?

Så hvad stiller man lige op når ens gode machine-learnings-kollega spørger, om man kan analysere omkring 5000 post og kommentarer fra Facebook og Twitter for følelser?

Udrustet med psykolog Robert Plutchiks diagram (1980), der visualiserer otte grundfølelser, samt nuancer af disse, begav jeg mig forventningsfuldt på en følelsesrejse igennem alt fra begejstret optimisme, anerkendende accept, bekymret frygt, forventningsfuld interesse, fortvivlet sorg, forargelig uenighed, frustreret irritation, rasende vrede og målløs forundring.

Mere præcist foregår det på den måde, at hver post og kommentar er gennemgået enkeltvis og annoteret for en — eller flere — af de otte grundfølelser, eller som værende uden følelser. Disse annoteringer skal resultere i et datasæt som min kollega skal bruge til at ‘træne’ en model, der af sig selv skal genkende følelser i posts og kommentarer.

In 1980 Robert Plutchik constructed a wheel-like diagram of emotions visualising eight basic emotions, plus eight derivative emotions each composed of two basic ones

Stort set alle spektre af ’følelseshjulet’ er repræsenteret i posts og kommentar-er på de sociale medier, med mange forskellige grader af intensitet og nuancer naturligvis. Dog er der en vis overrepræsentation af henholdsvis accept og foragt. Måske fordi vi, når vi kommunikerer på de sociale medier, ofte har brug for at ytre os omkring vores holdning i forhold til andres holdninger — er vi enige eller uenige?

Oversat til dansk er de otte grundfølelser følgende

Glæde/sindsro Begejstret, godt tilpas, håbefuld, lykkelig, munter, opløftet, optimistisk, tilfreds, lettet
Glæde/sindsro
Begejstret, godt tilpas, håbefuld, lykkelig, munter, opløftet, optimistisk, tilfreds, lettet
Accept/tillid (enighed) Beundring, anerkendelse, pålidelighed, tiltro, respekt
Accept/tillid (enighed)
Beundring, anerkendelse, pålidelighed, tiltro, respekt
Frygt/betænkelighed
Angst, bange, bekymret, chokeret, panisk, skræmt
Forventning/interesse
Ophidselse, opgejlet, spændt, forhåbningsfuld, nysgerrighed
Sorg/skuffelse
Bedrøvet, trist, deprimeret, fortvivlet, ked af det, håbløs, knust, ærgrelse, jalousi
Foragt/modvilje (uenighed)
Afsky, antipati, frastøde, væmmelse, forargelse
Vrede/irritation
Aggressiv, had, misfornøjet, rasende, frustration, mopset
Overraskelse/forundring
Forbavset, forbløffet, målløs (kan være både positivt og negativt)

De otte følelser indeholder hver især mange forskellige nuancer, og skal, som hjulet indikerer, ses som oppositioner til hinanden. Således er glæde/sindsro i opposition til sorg/skuffelse, accept/tillid er i opposition til foragt/modvilje, frygt/betænkelighed er i opposition til vrede/irritation og forventning/interesse i opposition til overraskelse/forundring.

Hver følelseskategori indeholder mange grader af intensitet. Der er i annoteringen ikke annoteret for grader af intensitet. Der kunne argumenteres for dette, men at annotere for otte forskellige følelser er i sig selv en kompleks opgave, og en intensitetsvurdering af hver følelse ville have gjort opgaven mere kompleks, mere tidskrævende, og data i sidste ende mere komplekse at analysere — og dermed en sværere opgave for computeren at skulle løse. Så til en start er det ’kun’ de otte følelser der er annoteret for — en nuancering af disse må evt. følge i en senere version.

At annotere følelser er en kompleks affære. Ofte er det vage indikatorer, der afgør hvilken følelse der er tale om, ofte er der flere følelser på spil i samme post eller kommentar, og forskellige annotører vil, til trods for fælles guidelines, højst sandsynligt ikke altid være fuldstændig enige om følelserne i hvert enkelt tilfælde.

Eksempler på flere kategorier/følelser repræsenteret i samme post

”Ja besynderligt at man ikke vil være med til at sikre borgerne bedre. Typisk politikere!”
Her er der både forundring over for de politikere der ikke vil være med til at sikre borgerne bedre, dette er vurderet ud fra brug af adverbiet besynderligt. Der er også foragt/modvilje over fænomenet, dette er vurderet ud fra kommentaren ‘Typisk politikere!”.

”Du har helt ret. Lige nu er det jo byboerne der betaler for jeres underskudsforretning og det gider vi fandeme heller ikke.”
Her er der både accept; “Du har helt ret.” Men der er også foragt/modvilje, fordi det, der hersker enighed om, er en fælles forargelighed, nemlig at byboerne betaler for underskudsforretningen, det ses i kommentaren “og det gider vi fandeme heller ikke”.

”Sund mad og træning er tilvalg som den frie borger gør. Et aktivt liv har mange flere kvaliteter end et passivt. Forstår ikke, hvorfor XX skal blande sig i det.”
Her er der en interesse for sund mad og træning, og en forventning til at et aktivt liv “har mange flere kvaliteter end et passivt”. Der er også forundring over at XX skal blande sig i det, og ligeledes en implicit uenighed i dette.

Sprogdata fra de sociale medier er ligeledes meget varierende i kvalitet. Når vi skriver på de sociale medier, har sproget ofte karakter af at det går lidt stærkt. Der er stavefejl, manglende ord, manglende tegnsætning, ofte er reglerne for anvendelse af store bogstaver boykottet. Derudover anvendes ofte en blanding af dansk og engelsk, der bruges enkeltord i listeform med hashtags, ikoner eller smileys anvendes ofte som understøttende signaler og indikationer på ironi eller sarkasme — men kan til tider dog også virke forvirrende og i modstrid med det skrevne.

De enkelte posts og kommentarer er annoteret enkeltvis, og i fraværet af kontekst kan det somme tider være vanskeligt at afgøre hvilke følelser der ligger bag ordene og om der evt. er tale om ironi.

Ironi og sarkasme — forener og forvirrer

En joker i automatisk detektion af følelser er ironi og sarkasme. Ironi er defineret ved netop at give udtryk for præcis det modsatte af det man i virkeligheden mener, på en sådan måde at ens virkelige mening skinner igennem. Den danske ironi viser sig ofte i form af tvetydige eller selvmodsigende bemærkninger og indirekte vittigheder. Når ironien peger mod os selv, er det ofte for at signalere at vi hverken er perfekte eller tager os selv alt for højtideligt. Ironi kan på den måde afvæbne en potentiel pinlig situation. Måske janteloven stadig har et tav i os; vi vil hellere underspille end prale, og ironien kan noget med sin indirekte form.

Er ironien mere bidende, bliver den til sarkasme. Ironiske eller sarkastiske bemærkninger er meget svære at svare igen på, så hvis vi angriber nogen på den måde, er de ganske forsvarsløse. Den ironisk-satiriske tone og det satiriske bid bruges hyppigt i dansk humor, vi kan godt lide at drille, pille hinanden lidt ned og udfordre den politiske korrekthed. Det kan give anledning til misforståelser og fornærmende miner, enten hos de uindviede i vores humoristiske jargon, hos de sarte eller bare hos dem, der ikke er i humør til det.
(https://videnskab.dk/kultur-samfund/humor-paa-dansk-hvad-hvordan-og-hvorfor)

Ironi er et retorisk virkemiddel, der griber langt tilbage i tiden (Sokrates og Kierkegaard) og bruges i dag nok bredt på tværs af aldersgrupper, men man kan godt forestille sig en hyppigere brug af ironi blandt den yngre del af befolkningen. Og unges sprogbrug har nok altid søgt at forvirre en smule. Fransk verlan og argo er eksempler på at de yngre generationer får skabt sig deres egne måder at kommunikere på, der netop har til formål at forene en gruppe og forvirre de uindviede. Argo er slang. Verlan er en form for slang, hvor navnet verlan i sig selv er en metabetegnelse. Det kommer af fransk l’envers, der betyder omvendt, og det er netop det verlan gør; at bytte om på stavelserne i ordene. Og således lyder verlan, for de uindviede, forvirrende og som et helt andet sprog.

I forhold til ironi er computeren også for så vidt uindviet. For at vi kan spotte ironi kræver det enten et indgående kendskab til afsenders kommunikations-form, forståelse af den kontekst hvori ironien anvendes eller et generelt stort kendskab til omverdenen, samfundet og kulturelle forhold. Her vil en automatisk genkendelse formodentlig nemt komme til kort — i hvert fald indtil vi giver den de rette input at arbejde med.

Eksempler fra sociale medier hvor der ikke er tvivl om at der er tale om ironi/sarkasme

”ja de kloge og de stærke og de rige de mangler virkelig hjælp ellers kan de slet ikke klare sig ..stakkels dem..-;)”
Her er der uden tvivl tale om ironi, idet de kloge, stærke og rige, sjældent associeres med nogen der har brug for hjælp. Det ironiske understøttes af den blinkende smiley. Der er dermed også en implicit foragt/modvilje i kommentaren, og ikke en frygt/bekymring som man ellers ville tolke ud fra en direkte læsning.

”jeg har altid drømt om at blive ludoman på mine gamle dage.”
Her er der også ret sikkert tale om ironi, idet ludomani ikke normalt er noget man ønsker hverken for sig selv eller andre.

Eksempler fra sociale medier på formodet ironi/sarkasme

”XX vil du have en krammer? det skal du have”
Her er formodentligt tale om ironi, det kunne lyde lidt som en trussel med det kram, og i øvrigt er det svært at give et kram over Facebook. Men det er ikke helt til at sige uden mere kontekst.

”jeg samler tit op ved indgangen efter mine søde rygende naboer, for det er bedre end at gå over og være irriteret, de gør det nemlig ikke selv.”
Her er også formodentligt tale om ironi, sjældent ser man en sådan tolerance over for rygere, med mindre der er tale om en meget forstående og rummende person, og det kan selvfølgelig også være tilfældet. Igen er det svært at vurdere uden mere kontekst.

Sprogpsykologi vs. sprogteknologi

Med en baggrund i sprogpsykologien, tilgår jeg sprogteknolgien med forbehold. Dog hersker der i sprogpsykologien ingen garantier for akkurate fortolkninger af sproglige udsagn. Og så længe dette tænkes ind i sprogteknologien, tror jeg vi er godt på vej til at udvikle gode sprogteknologiske værktøjer.

Sprogpsykologien pointerer nemlig at sproget er i mennesket, og ikke omvendt — dvs. at sproget er til i kraft af os og vores brug af det. Sproget formes og ændres over tid af os. Sprogpsykologien pointerer ligeledes at der ligger så meget mere end selve sproget til grund for vores forståelser, når vi kommunikerer med hinanden. Forståelse er kernebegrebet i sprogpsykologien, og vores bevidsthed om vores egne individuelle forståelser, hinandens fælles forståelser, og potentielle misforståelser eller ikke-forståelser. Kontekst er også et vigtigt element, når vi taler om forståelser; ud fra hvilket aspekt opfattes et udsagn? Der er næsten altid en vinkel på et sprogligt udsagn, og der er potentielt flere tænkelige forståelser eller analyser af et givet udsagn.

”Forståelser er altid forbundet med en kontekst, en person der forstår, og en kommunikationssituation hvori forståelsen finder sted.” (Rathje & Svenstrup, 2004, side 96)

Kan vi således overhovedet lære computeren at forstå sproget, når vi selv har potentielt så svært ved det? Med al sprogets implicitet og med fraværet af den store kontekst? Måske ikke til punkt og prikke, og lige så nuancefuldt som mennesker forstår, nej. Ikke inden for nær fremtid i hvert fald. Men omvendt kan man sige, at når kommunikation også kan misforstås blandt mennesker, kan vi måske godt acceptere en vis fejlmargin. Så er jeg overbevist om, at vi med godt udviklede sprogteknologiske værktøjer, kan forvente at se mod en fremtid med langt dybere teknologiske sprogforståelser.

Og nu er bolden, i dette tilfælde 5000 følelseskategoriserede posts og kommentarer, kastet tilbage til min gode kollega, der vil træne en model, som kan genkende de otte følelser, som jeg har annoteret. Følg med på bloggen primo februar, hvor hun vil beskrive det tekniske bag emotion detection fra en machine-learning-specialists side.

Tak fordi du læste med !

--

--