
Foto: Steen Brogaard
Jeg bruger det her som en øvelse i statstik-programmeringssproget R, som jeg er ved at lære. Journalister mangler generelt forståelse for data og tal. Det mener jeg, og så må jeg jo selv gå foran og lære lidt om den slags.
Først skal jeg bruge nogle pakker. Jeg har allerede installeret dem, så jeg kan nøjes med at “loade” dem.
Aktiver nødvendige pakker og sæt encoding utf-8:
library(tidyverse)
library(tidytext)
library(rvest)
library(Sentida)
Sys.setlocale(category = "LC_ALL", locale = "UTF-8")
[1] "da_DK.UTF-8/UTF-8/da_DK.UTF-8/C/da_DK.UTF-8/da_DK.UTF-8"
Med disse pakker kan jeg hente og analysere tekster for stemning.
Sentida er lavet af Lars Kjartan Bacher Svendsen, Jacob Aarup Dalsgaard, Gustav Aarup Lauridsen. Så tak for det.
Hent statsministerens åbningstale som tekstafsnit og gem den som en “data frame”.
<- read_html("https://www.stm.dk/statsministeren/taler/statsminister-mette-frederiksens-tale-ved-folketingets-aabning-4-oktober-2022/") %>%
tekstafsnit html_nodes("article>p") %>%
html_text() %>%
as_data_frame()
Analyser sentiment i afsnit og beregn gennemsnit og andre nøgletal
# sentiment
<- tekstafsnit
afsnitsentiment $ssc <- apply(afsnitsentiment, 1, sentida)
afsnitsentimentsummary(afsnitsentiment$ssc)
Min. 1st Qu. Median Mean 3rd Qu. Max.
-12.0000 -0.6667 0.6667 0.8645 2.6667 19.3500
Så nogle ret kraftige udsving, men i gennemsnit positiv.
Se på talens sentimentforløb som graf, med en ret tendenslinje.
plot(seq(nrow(afsnitsentiment)), afsnitsentiment$ssc)
abline(lm(afsnitsentiment$ssc ~ seq(nrow(afsnitsentiment))))
Man fornemmer at talen sluttet positivt, og der er en svag udvikling i positiv retning hen over talen, men der skal nok glattes lidt ud på data punkter for at se flere mønstre i det.
Så lad os prøve det:
qplot(seq(nrow(afsnitsentiment)),afsnitsentiment$ssc,
geom='smooth', span =0.5,
main = "Sentiment i statsministerens åbningstale",
xlab = "Afsnit",
ylab = "Stemning",
)
Ja, det ligner en klassisk pædagogsandwich.