library(quanteda)
library(quanteda.textmodels)
library(quanteda.textplots)
library(quanteda.textstats)
library(tidyverse)
library(ggplot2)
# Load pre-processed DFM from Module 1
load("data/investitutre_speeches_16_19.RData")
# let's replace all apostrophes with a space, to avoid issues with tokenization
investitutre_speeches_16_19$speech_text <- gsub("'", ' ', investitutre_speeches_16_19$speech_text)
investitutre_speeches_16_19$speech_text <- gsub("/’", " ", investitutre_speeches_16_19$speech_text, ignore.case = TRUE)
investitutre_speeches_16_19$speech_text <- gsub("[\u2018\u2019\u201A\u201B\u2032\u2035]", " ", investitutre_speeches_16_19$speech_text, ignore.case = TRUE)
# We keep only speeches that have more than 20 words, to avoid very short texts that can cause issues with the models
investitutre_speeches_16_19 <- investitutre_speeches_16_19 %>%
filter(str_count(speech_text, "\\w+") > 20)
library(dplyr)
investitutre_speeches_16_19 <- investitutre_speeches_16_19 %>%
mutate(sigla2 = case_when(
investituture == "BERLUSCONI IV" & speaker_name_cognome == "BERLUSCONI Silvio" ~ "BERLUSCONI (PM)",
investituture == "MONTI" & speaker_name_cognome == "MONTI Mario" ~ "MONTI (PM)",
investituture == "LETTA" & speaker_name_cognome == "LETTA Enrico" ~ "LETTA (PM)",
investituture == "RENZI" & speaker_name_cognome == "RENZI Matteo" ~ "RENZI (PM)",
investituture == "GENTILONI" & speaker_name_cognome == "GENTILONI SILVERI Paolo" ~ "GENTILONI (PM)",
investituture == "CONTE I" & speaker_name_cognome == "CONTE Giuseppe" ~ "CONTE I (PM)",
investituture == "CONTE II" & speaker_name_cognome == "CONTE Giuseppe" ~ "CONTE II (PM)",
investituture == "DRAGHI" & speaker_name_cognome == "DRAGHI Mario" ~ "DRAGHI (PM)",
investituture == "MELONI" & speaker_name_cognome == "MELONI Giorgia" ~ "MELONI (PM)",
TRUE ~ sigla # everyone else keeps their party sigla
))4 Wordscores & Wordfish
Supervised and Unsupervised Text Scaling
4.1 Setup
Load the packages and the pre-processed data from Module 1. The DFM was already trimmed, weighted, and saved at the end of the previous notebook.
From the dataset we create the corpus
corp <- corpus(investitutre_speeches_16_19, text_field = "speech_text", docid_field = "doc_id2")We tokeize and apply some standard pre-processing
toks <- tokens(corp,
remove_punct = TRUE, # drop . , ; : ! ? etc.
remove_numbers = TRUE, # drop 1, 2, 42 etc.
remove_symbols = TRUE) |>
tokens_tolower() |> # "Governo" -> "governo"
tokens_remove(stopwords("it")) Finally, we convert the token object into the DFM
# Create a DFM from the tokens
dfm_speeches <- dfm(toks)
# Print a summary of the DFM
dfm_speechesDocument-feature matrix of: 553 documents, 24,490 features (98.66% sparse) and 12 docvars.
features
docs signor presidente onorevoli colleghi lavoro aspetta ridare fiducia
16_text2 4 4 3 6 9 1 1 6
16_text3 1 3 0 0 2 0 0 0
16_text4 3 5 0 1 0 2 0 5
16_text5 3 3 1 1 2 0 0 1
16_text6 3 4 1 1 1 0 1 1
16_text7 2 3 0 1 0 0 0 3
features
docs slancio italia
16_text2 2 7
16_text3 0 2
16_text4 0 10
16_text5 0 4
16_text6 0 3
16_text7 0 4
[ reached max_ndoc ... 547 more documents, reached max_nfeat ... 24,480 more features ]
We trim the DFM to remove very rare words (min_termfreq = 15) and very common words (max_docfreq = 0.85). This reduces noise and computational burden, but be careful not to trim too aggressively.
# In order to reduce the sparsity of the DFM, we trim it by removing very rare and very common words. This is a common pre-processing step for Text Anlaysis based on BoW approaches.
dfm_speeches_trimmd <- dfm_trim(dfm_speeches, min_termfreq = 15, max_docfreq = 0.85, termfreq_type = "count", docfreq_type = "prop")
dfm_speeches_trimmdDocument-feature matrix of: 553 documents, 2,771 features (91.74% sparse) and 12 docvars.
features
docs signor onorevoli colleghi lavoro aspetta ridare fiducia italia
16_text2 4 3 6 9 1 1 6 7
16_text3 1 0 0 2 0 0 0 2
16_text4 3 0 1 0 2 0 5 10
16_text5 3 1 1 2 0 0 1 4
16_text6 3 1 1 1 0 1 1 3
16_text7 2 0 1 0 0 0 3 4
features
docs richiede ottimismo
16_text2 1 2
16_text3 0 0
16_text4 0 0
16_text5 2 0
16_text6 0 0
16_text7 0 0
[ reached max_ndoc ... 547 more documents, reached max_nfeat ... 2,761 more features ]
4.2 Wordscores
4.2.1 Define reference scores
Wordscores (Laver, Benoit, and Garry 2003) is a supervised scaling method. We need to assign known positions to a subset of documents called reference texts. The model will learn which words are associated with which positions, then use those word scores to estimate positions for the remaining documents (virgin texts).
As reference texts, we are going to use Italian electoral manifestos from 2008 to 2022, and expert surveys of Italian political experts.
# These manifestos have already been cleaned by replacing apostrophes with spaces, to avoid tokenization issues.
manifestos <- read.csv("data/italian_electoral_manifestos.csv", header = TRUE, sep = ",")Create a corpus from the manifestos, using the text column as the text field. The corpus() function from quanteda creates a corpus object that can be used for further processing.
manifesti_corp <- corpus(manifestos, text_field = "text")
print(manifesti_corp)Corpus consisting of 24 documents and 4 docvars.
32031_2018 :
"PROGRAMMA LIBERI E UGUALI Il progetto di Liberi e Uguali nas..."
32061_2008 :
"2008: il programma del Popolo della libertà Questo programma..."
32061_2013 :
"A PROMUOVERE E REALIZZARE ENTRO LA XVII LEGISLATURA I SEGUEN..."
32230_2013 :
"Cominciamo dalla buona politica Proponiamo che i rimborsi e..."
32440_2008 :
"Adesso una Italia nuova. Partito Democratico. L ITALIA NEL M..."
32440_2013 :
"Noi, cittadine e cittadini democratici e progressisti, ci ri..."
[ reached max_ndoc ... 18 more documents ]
Tokenize and preprocess the manifestos in the same way as the speeches, to ensure that the word scores are comparable.
# Tokenize and preprocess the manifestos in the same way as the speeches.
toks_manif <- manifesti_corp %>%
tokens(remove_punct = TRUE, remove_numbers = TRUE, remove_symbols = T , remove_separators = T) %>%
tokens_tolower() %>%
tokens_remove(stopwords("it"))
# Create a DFM from the tokenized manifestos
dfm_manif <- dfm(toks_manif)
# Trim the DFM
dfm_manif <- dfm_trim(dfm_manif, min_termfreq = 5, termfreq_type = "count")
head(dfm_manif)Document-feature matrix of: 6 documents, 8,038 features (82.40% sparse) and 4 docvars.
features
docs programma liberi uguali progetto nasce restituire speranza
32031_2018 2 4 4 6 3 1 1
32061_2008 7 0 0 2 0 0 0
32061_2013 2 0 0 3 0 0 0
32230_2013 9 1 0 8 0 0 0
32440_2008 0 2 0 2 0 0 0
32440_2013 2 0 0 10 0 0 1
features
docs democrazia milioni cittadine
32031_2018 2 3 3
32061_2008 0 0 0
32061_2013 1 0 0
32230_2013 7 6 0
32440_2008 4 1 0
32440_2013 15 0 1
[ reached max_nfeat ... 8,028 more features ]
Now calculate the scores for the words in the manifestos. Socres of each word will be calculated based on the the position on the general left-right dimension according to Italian Expert Surveys.
4.2.2 Fit Wordscores
tmod_ws <- textmodel_wordscores(dfm_manif, y = dfm_manif$mean_lr , scale = c("linear" ), smooth = 1)
summary(tmod_ws)
Call:
textmodel_wordscores.dfm(x = dfm_manif, y = dfm_manif$mean_lr,
scale = c("linear"), smooth = 1)
Reference Document Statistics:
score total min max mean median
32031_2018 4.314 3123 0 31 0.38853 0
32061_2008 15.283 1899 0 16 0.23625 0
32061_2013 15.383 1753 0 20 0.21809 0
32230_2013 2.968 8791 0 52 1.09368 0
32440_2008 7.277 1134 0 11 0.14108 0
32440_2013 6.170 2255 0 23 0.28054 0
32440_2018 7.986 13247 0 94 1.64805 0
32451_2018 9.662 5490 0 40 0.68301 0
32610_2018 15.268 658 0 11 0.08186 0
32630_2013 17.033 5876 0 45 0.73103 0
32630_2018 18.380 1232 0 16 0.15327 0
32720_2008 16.137 1897 0 16 0.23600 0
32720_2013 16.978 1753 0 20 0.21809 0
32720_2018 18.324 18689 0 134 2.32508 1
32956_2013 8.577 1400 0 16 0.17417 0
32956_2018 11.516 92622 0 447 11.52302 4
fdi_2022.txt 17.891 5540 0 59 0.68923 0
fi_2022.txt 14.236 2896 0 42 0.36029 0
lega_2022.txt 17.564 41023 0 207 5.10363 2
pd_2022.txt 7.400 9333 0 94 1.16111 0
piueuropa_2022.txt 9.273 7407 0 42 0.92150 0
verdisin_2022.txt 2.855 12398 0 75 1.54242 0
azioneiv_2022.pdf 11.400 13034 0 84 1.62155 0
m5s_2022.pdf 6.519 38851 0 248 4.83342 2
Wordscores:
(showing first 30 elements)
programma liberi uguali progetto nasce
11.261 10.141 11.045 10.295 11.370
restituire speranza democrazia milioni cittadine
11.961 11.910 9.254 10.724 9.617
cittadini oggi rappresentati nessuno vogliamo
11.448 10.531 11.719 10.936 8.137
società italiana riaprire prospettiva governo
10.545 11.933 11.089 9.922 11.315
segno autenticamente progressista crescita diseguaglianze
10.848 11.344 10.638 10.650 9.590
principale fattore crisi sistemi democratici
11.259 11.393 10.659 10.276 9.949
We can also inspect the scores assigned to each word by the model. Words with high positive scores are associated with right-wing manifestos; words with high negative scores with left-wing manifestos.
wordscores <- as.data.frame(tmod_ws$wordscores)
# in wordscores put rownames as a new column
wordscores$word <- rownames(wordscores)
rownames(wordscores) <- NULL
#rename tmod_ws$wordscores to score
colnames(wordscores)[1] <- "wordscores"Let’s look at the top 20 most right-wing according the WordScores model.
# Most right-wing words
wordscores %>%
arrange(desc(wordscores)) %>%
head(20) %>%
ggplot(aes(x = reorder(word, wordscores), y = wordscores)) +
geom_point(fill = "steelblue") +
coord_flip() +
labs(
title = "Top 20 most right-wing words by Wordscore",
x = NULL,
y = "Wordscore"
) +
theme_minimal()
Let’s look at the top 20 most left-wing according the WordScores model.
# most left-wing words
wordscores %>%
arrange((wordscores)) %>%
head(20) %>%
ggplot(aes(x = reorder(word, wordscores), y = wordscores)) +
geom_point(fill = "steelblue") +
coord_flip() +
labs(
title = "Top 20 most left-wing words by Wordscore",
x = NULL,
y = "Wordscore"
) +
theme_minimal()
Hopefully we should see that words like “precarietà”, “clima” lean left, while words like “clandestini”, “detassazione”, “immigrazione” lean right. There are also some words that are not connected with ideology but are more common on one side of the spectrum, for example “va”, “debba”. This is a common issue with Wordscores: it captures all systematic differences in word usage between the reference texts, not just ideological ones. This is why careful selection of reference texts and data cleaning of word scores is crucial. In this case we might want to remove additional stopwords.
Anchor choice matters enormously.
The scores you assign to reference texts define the substantive meaning of the resulting scale.
Two rules of thumb:
- Anchor positions should come from an independent source (expert surveys, manifesto scores).
- If a score is not available you can assign it yourself, but make sure to justify your choice and test the sensitivity of results to different plausible anchors.
- Anchors should represent the endpoints of the dimension clearly and without ambiguity.
4.2.3 Predict positions for all parties
We use the LBG (Laver–Benoit–Garry) rescaling, which stretches the raw scores to match the standard deviation of the reference positions. This makes the results more directly interpretable on the original scale.
ws_pred <- predict(tmod_ws,
newdata = dfm_speeches_trimmd,
rescaling = "lbg",
se.fit = FALSE)
head(ws_pred) 16_text2 16_text3 16_text4 16_text5 16_text6 16_text7
12.139055 16.698358 14.976891 8.717842 5.719823 14.586625
Features present in the reference texts but absent in the virgin texts The model can only estimate positions for virgin texts based on the words it has learned from the reference texts. If a virgin text contains many words that were not present in the reference texts, its position will be estimated with high uncertainty (wide confidence intervals) and may be less reliable. This is a common issue when applying Wordscores to new corpora that differ substantially from the reference set.
We now extract the WordScores estimates and merge them with the original dataset with speeches as unit of analysis.
ws_pred2 <- as.data.frame(ws_pred)
ws_pred2$doc_id2 <- rownames(ws_pred2)
#clean the rownames
rownames(ws_pred2) <- NULL
ws_results <- tibble(
doc_id2 = rownames(dfm_speeches_trimmd),
theta_ws = ws_pred2$ws_pred)
ws_results <-as.data.frame(ws_results)
investitutre_speeches_16_19 <- left_join(investitutre_speeches_16_19, ws_results, by = c("doc_id2" = "doc_id2"))#create a new variable that combine the number of the legislature and the initials of th eparty group
investitutre_speeches_16_19$session_sigla <- paste(investitutre_speeches_16_19$session_legislature, investitutre_speeches_16_19$sigla2, sep = "_")
# Plot
ggplot(investitutre_speeches_16_19, aes(x = theta_ws, y = reorder(session_sigla, theta_ws))) +
geom_point(size = 2) +
labs(
x = "Wordscores position (LBG rescaled)",
y = NULL,
colour = NULL,
title = "Party positions estimated via Wordscores"
) +
theme_minimal(base_size = 13)
Plot the average position by party by each legislature.
ggplot(investitutre_speeches_16_19, aes(x = theta_ws, y = reorder(session_sigla, theta_ws))) +
geom_point(size = 2) +
labs(
x = "Wordscores position (LBG rescaled)",
y = NULL,
colour = NULL,
title = "Party positions estimated via Wordscores"
) +
theme_minimal(base_size = 13) +
facet_wrap(~ session_legislature, ncol = 1, scales = "free_y")
4.3 Wordfish
Wordfish (Slapin and Proksch 2008) is unsupervised: it does not require reference positions. Instead, it estimates a latent position \(\theta_i\) for each document by fitting a Poisson regression model to the word-frequency matrix.
The only input we need is the direction: which document should end up on the left, and which on the right. This is set via the dir argument, which takes a vector of two row indices. It constrains the first index to have a lower \(\theta\) than the second — it does not fix the scale.
4.3.1 Fit Wordfish
We use the same DFM we employed for the estimations of Wordscores dfm_speeches_trimmd.
wf_model <- textmodel_wordfish(dfm_speeches_trimmd,
dir = c(2, 1))
head(wf_model)$x
Document-feature matrix of: 553 documents, 2,771 features (91.74% sparse) and 12 docvars.
features
docs signor onorevoli colleghi lavoro aspetta ridare fiducia italia
16_text2 4 3 6 9 1 1 6 7
16_text3 1 0 0 2 0 0 0 2
16_text4 3 0 1 0 2 0 5 10
16_text5 3 1 1 2 0 0 1 4
16_text6 3 1 1 1 0 1 1 3
16_text7 2 0 1 0 0 0 3 4
features
docs richiede ottimismo
16_text2 1 2
16_text3 0 0
16_text4 0 0
16_text5 2 0
16_text6 0 0
16_text7 0 0
[ reached max_ndoc ... 547 more documents, reached max_nfeat ... 2,761 more features ]
$docs
[1] "16_text2" "16_text3" "16_text4" "16_text5" "16_text6"
[6] "16_text7" "16_text8" "16_text9" "16_text10" "16_text11"
[11] "16_text12" "16_text13" "16_text14" "16_text15" "16_text16"
[16] "16_text17" "16_text18" "16_text19" "16_text20" "16_text21"
[21] "16_text22" "16_text23" "16_text24" "16_text25" "16_text26"
[26] "16_text27" "16_text28" "16_text29" "16_text30" "16_text31"
[31] "16_text32" "16_text33" "16_text35" "16_text36" "16_text37"
[36] "16_text38" "16_text39" "16_text40" "16_text41" "16_text42"
[41] "16_text43" "16_text44" "16_text45" "16_text46" "16_text47"
[46] "16_text48" "16_text49" "16_text50" "16_text51" "16_text52"
[51] "16_text53" "16_text54" "16_text55" "16_text56" "16_text57"
[56] "16_text58" "16_text59" "16_text60" "16_text61" "16_text62"
[61] "16_text63" "16_text64" "16_text65" "16_text66" "16_text67"
[66] "16_text68" "16_text69" "16_text70" "16_text71" "16_text39476"
[71] "16_text39477" "16_text39478" "16_text39479" "16_text39480" "16_text39481"
[76] "16_text39482" "16_text39483" "16_text39484" "16_text39485" "16_text39486"
[81] "16_text39487" "16_text39488" "16_text39489" "16_text39490" "16_text39491"
[86] "16_text39492" "16_text39493" "16_text39494" "16_text39495" "16_text39496"
[91] "16_text39497" "16_text39498" "16_text39499" "16_text39500" "16_text39501"
[96] "16_text39502" "16_text39503" "16_text39504" "16_text39505" "16_text39506"
[101] "16_text39507" "16_text39508" "16_text39509" "16_text39510" "16_text39511"
[106] "16_text39512" "16_text39513" "16_text39514" "16_text39515" "16_text39516"
[111] "16_text39517" "16_text39518" "16_text39519" "16_text39520" "16_text39521"
[116] "17_text162" "17_text164" "17_text165" "17_text167" "17_text169"
[121] "17_text170" "17_text171" "17_text172" "17_text173" "17_text174"
[126] "17_text175" "17_text176" "17_text177" "17_text178" "17_text179"
[131] "17_text180" "17_text181" "17_text182" "17_text183" "17_text184"
[136] "17_text185" "17_text186" "17_text187" "17_text188" "17_text189"
[141] "17_text190" "17_text191" "17_text192" "17_text193" "17_text194"
[146] "17_text195" "17_text196" "17_text197" "17_text198" "17_text199"
[151] "17_text200" "17_text201" "17_text202" "17_text203" "17_text204"
[156] "17_text205" "17_text206" "17_text207" "17_text208" "17_text13463"
[161] "17_text13464" "17_text13465" "17_text13466" "17_text13467" "17_text13468"
[166] "17_text13469" "17_text13470" "17_text13471" "17_text13472" "17_text13473"
[171] "17_text13474" "17_text13475" "17_text13476" "17_text13477" "17_text13478"
[176] "17_text13479" "17_text13480" "17_text13481" "17_text13482" "17_text13483"
[181] "17_text13484" "17_text13485" "17_text13486" "17_text13487" "17_text13488"
[186] "17_text13489" "17_text13490" "17_text13491" "17_text13492" "17_text13493"
[191] "17_text13494" "17_text13495" "17_text13496" "17_text13497" "17_text13498"
[196] "17_text13499" "17_text13500" "17_text13501" "17_text13502" "17_text13503"
[201] "17_text13504" "17_text13505" "17_text13506" "17_text13507" "17_text13508"
[206] "17_text13509" "17_text13511" "17_text13512" "17_text13513" "17_text13514"
[211] "17_text13515" "17_text13516" "17_text13517" "17_text13518" "17_text13519"
[216] "17_text13520" "17_text13521" "17_text13522" "17_text13523" "17_text13524"
[221] "17_text13525" "17_text13526" "17_text13527" "17_text13528" "17_text13529"
[226] "17_text13530" "17_text13531" "17_text13532" "17_text13533" "17_text13534"
[231] "17_text13535" "17_text13536" "17_text13537" "17_text53603" "17_text53604"
[236] "17_text53605" "17_text53606" "17_text53607" "17_text53608" "17_text53609"
[241] "17_text53610" "17_text53611" "17_text53612" "17_text53613" "17_text53614"
[246] "17_text53615" "17_text53616" "17_text53617" "17_text53618" "17_text53619"
[251] "17_text53620" "17_text53621" "17_text53622" "17_text53623" "17_text53624"
[256] "17_text53625" "17_text53626" "17_text53627" "17_text53628" "17_text53629"
[261] "17_text53630" "17_text53631" "17_text53632" "17_text53633" "17_text53634"
[266] "17_text53635" "17_text53636" "17_text53637" "17_text53638" "17_text53639"
[271] "17_text53640" "17_text53641" "17_text53642" "17_text53643" "17_text53644"
[276] "18_text70" "18_text71" "18_text72" "18_text73" "18_text74"
[281] "18_text75" "18_text76" "18_text77" "18_text78" "18_text79"
[286] "18_text80" "18_text81" "18_text82" "18_text83" "18_text84"
[291] "18_text85" "18_text86" "18_text87" "18_text88" "18_text89"
[296] "18_text90" "18_text91" "18_text92" "18_text93" "18_text94"
[301] "18_text95" "18_text96" "18_text97" "18_text98" "18_text99"
[306] "18_text100" "18_text101" "18_text102" "18_text103" "18_text104"
[311] "18_text105" "18_text106" "18_text107" "18_text108" "18_text109"
[316] "18_text110" "18_text111" "18_text112" "18_text113" "18_text114"
[321] "18_text115" "18_text117" "18_text118" "18_text119" "18_text120"
[326] "18_text121" "18_text122" "18_text123" "18_text124" "18_text125"
[331] "18_text126" "18_text127" "18_text128" "18_text129" "18_text16042"
[336] "18_text16043" "18_text16045" "18_text16046" "18_text16047" "18_text16048"
[341] "18_text16049" "18_text16050" "18_text16051" "18_text16052" "18_text16053"
[346] "18_text16054" "18_text16055" "18_text16056" "18_text16057" "18_text16058"
[351] "18_text16059" "18_text16060" "18_text16061" "18_text16062" "18_text16063"
[356] "18_text16064" "18_text16065" "18_text16066" "18_text16067" "18_text16068"
[361] "18_text16069" "18_text16070" "18_text16071" "18_text16072" "18_text16073"
[366] "18_text16074" "18_text16075" "18_text16076" "18_text16077" "18_text16078"
[371] "18_text16079" "18_text16080" "18_text16081" "18_text16082" "18_text16083"
[376] "18_text16084" "18_text16085" "18_text16086" "18_text16087" "18_text16088"
[381] "18_text16089" "18_text16090" "18_text16091" "18_text16092" "18_text16094"
[386] "18_text16096" "18_text16098" "18_text16100" "18_text16101" "18_text16102"
[391] "18_text16103" "18_text16104" "18_text16105" "18_text16106" "18_text16107"
[396] "18_text16108" "18_text16109" "18_text16110" "18_text16111" "18_text16112"
[401] "18_text16113" "18_text16114" "18_text16115" "18_text16116" "18_text16117"
[406] "18_text28459" "18_text28460" "18_text28461" "18_text28462" "18_text28463"
[411] "18_text28464" "18_text28465" "18_text28466" "18_text28467" "18_text28468"
[416] "18_text28469" "18_text28470" "18_text28471" "18_text28472" "18_text28473"
[421] "18_text28474" "18_text28475" "18_text28476" "18_text28477" "18_text28478"
[426] "18_text28479" "18_text28480" "18_text28481" "18_text28482" "18_text28483"
[431] "18_text28484" "18_text28485" "18_text28486" "18_text28487" "18_text28488"
[436] "18_text28489" "18_text28490" "18_text28491" "18_text28492" "18_text28493"
[441] "18_text28494" "18_text28495" "18_text28496" "18_text28497" "18_text28498"
[446] "18_text28499" "18_text28500" "18_text28501" "18_text28502" "18_text28503"
[451] "18_text28504" "18_text28505" "18_text28506" "18_text28507" "18_text28508"
[456] "18_text28509" "18_text28510" "18_text28511" "18_text28512" "18_text28513"
[461] "18_text28514" "18_text28515" "18_text28516" "18_text28517" "18_text28518"
[466] "18_text28519" "18_text28520" "18_text28521" "18_text28522" "18_text28523"
[471] "18_text28524" "18_text28525" "18_text28526" "18_text28527" "18_text28528"
[476] "18_text28529" "18_text28530" "18_text28531" "18_text28532" "18_text28533"
[481] "18_text28534" "18_text28535" "18_text28536" "18_text28537" "18_text28538"
[486] "18_text28539" "18_text28540" "18_text28541" "18_text28542" "18_text28543"
[491] "18_text28544" "18_text28545" "18_text28546" "18_text28547" "18_text28548"
[496] "18_text28549" "18_text28550" "18_text28551" "18_text28552" "18_text28553"
[501] "18_text28554" "18_text28555" "19_text5" "19_text6" "19_text7"
[506] "19_text8" "19_text9" "19_text10" "19_text11" "19_text12"
[511] "19_text13" "19_text14" "19_text15" "19_text16" "19_text17"
[516] "19_text18" "19_text19" "19_text20" "19_text21" "19_text22"
[521] "19_text23" "19_text24" "19_text25" "19_text26" "19_text27"
[526] "19_text28" "19_text29" "19_text30" "19_text31" "19_text32"
[531] "19_text33" "19_text34" "19_text35" "19_text36" "19_text37"
[536] "19_text38" "19_text39" "19_text40" "19_text41" "19_text42"
[541] "19_text43" "19_text44" "19_text45" "19_text46" "19_text47"
[546] "19_text48" "19_text49" "19_text50" "19_text51" "19_text52"
[551] "19_text53" "19_text54" "19_text55"
$features
[1] "signor" "onorevoli" "colleghi"
[4] "lavoro" "aspetta" "ridare"
[7] "fiducia" "italia" "richiede"
[10] "ottimismo" "spirito" "missione"
[13] "elettori" "comune" "appello"
[16] "rendere" "chiaro" "efficiente"
[19] "paese" "politica" "scelto"
[22] "maggioranza" "opposizione" "proprie"
[25] "idee" "propria" "voto"
[28] "stato" "messaggio" "classe"
[31] "dirigente" "stata" "prima"
[34] "grande" "riforma" "tante"
[37] "altre" "necessarie" "italiani"
[40] "preso" "parola" "messo"
[43] "voce" "crede" "futuro"
[46] "sfiducia" "partecipato" "momento"
[49] "alto" "nobile" "democrazia"
[52] "liberale" "moderna" "detto"
[55] "mettiamo" "grado" "cittadini"
[58] "nome" "decisioni" "minoranze"
[61] "dentro" "fuori" "parlamento"
[64] "stabilità" "impegno" "azione"
[67] "fate" "sforzo" "governa"
[70] "controllo" "parlamentare" "possano"
[73] "fare" "ciascuno" "ambito"
[76] "proprio" "funzionare" "istituzioni"
[79] "repubblica" "area" "cosiddetta"
[82] "partiti" "promesso" "realizzare"
[85] "fretta" "cosa" "sicura"
[88] "tempo" "perdere" "società"
[91] "italiana" "nuova" "consapevolezza"
[94] "dopo" "anni" "difficili"
[97] "certi" "aspetti" "nuovo"
[100] "clima" "esprime" "composizione"
[103] "camere" "oggi" "qui"
[106] "discutere" "parte" "maggiore"
[109] "creato" "strumento" "tradizione"
[112] "può" "essere" "aiuto"
[115] "termini" "discussione" "parlamentari"
[118] "particolare" "urgenti" "ben"
[121] "modifiche" "funzionamento" "sistema"
[124] "politico" "costituzionale" "generale"
[127] "confronto" "interessi" "nuove"
[130] "luce" "sole" "dialogo"
[133] "concreto" "trasparente" "poi"
[136] "scelte" "riguardo" "esclusivamente"
[139] "capo" "definito" "maniera"
[142] "opera" "pensiero" "luigi"
[145] "dialettica" "presidenza" "guida"
[148] "tutte" "condizioni" "così"
[151] "intero" "seriamente" "pieno"
[154] "chiede" "invece" "responsabilità"
[157] "metodo" "cultura" "rispetto"
[160] "posto" "bellezza" "capace"
[163] "cambiare" "cose" "demagogia"
[166] "forte" "consenso" "democratico"
[169] "intendiamo" "piccole" "grandi"
[172] "interventi" "valore" "insieme"
[175] "prossimo" "consiglio" "ministri"
[178] "napoli" "punto" "primo"
[181] "rifiuti" "deve" "finire"
[184] "nessun" "lungo" "ambiente"
[187] "pubblica" "prestigio" "immagine"
[190] "confini" "nazione" "secondo"
[193] "casa" "bene" "primario"
[196] "intorno" "radici" "identità"
[199] "familiare" "capacità" "stessa"
[202] "sociale" "tassazione" "va"
[205] "definitivamente" "terzo" "reddito"
[208] "lavora" "sostenuto" "fiscalità"
[211] "soprattutto" "fase" "divario"
[214] "potere" "d" "acquisto"
[217] "salari" "stipendi" "fatto"
[220] "casi" "lavorare" "contribuire"
[223] "competitività" "imprese" "sensibile"
[226] "quarto" "sicurezza" "vita"
[229] "quotidiana" "pienamente" "norme"
[232] "diritto" "comportamenti" "forze"
[235] "ordine" "sovranità" "legge"
[238] "territorio" "mai" "paura"
[241] "contrario" "vogliamo" "liberare"
[244] "donne" "anziani" "coloro"
[247] "merito" "regola" "dice"
[250] "libertà" "tutela" "patto"
[253] "unione" "legittimazione" "pubblico"
[256] "elenco" "impegni" "programma"
[259] "presentato" "giorno" "agenda"
[262] "perciò" "carattere" "modo"
[265] "immediato" "onore" "disposizione"
[268] "commissioni" "ogni" "genere"
[271] "vorrei" "piuttosto" "temi"
[274] "fronte" "là" "primi"
[277] "adempimenti" "già" "parlato"
[280] "vera" "questione" "determinare"
[283] "svolta" "quel" "inizio"
[286] "senso" "potenzialità" "rapidamente"
[289] "tagliare" "decisivo" "crescita"
[292] "problema" "principale" "crescere"
[295] "lunga" "riduzione" "economico"
[298] "solo" "misura" "progresso"
[301] "civile" "significa" "soltanto"
[304] "produrre" "ricchezza" "mettersi"
[307] "condizione" "meglio" "attraverso"
[310] "virtuoso" "mercato" "garantire"
[313] "rilanciare" "talenti" "formare"
[316] "generazioni" "lavoratori" "dare"
[319] "ricerca" "istruzione" "destino"
[322] "senza" "lasciare" "indietro"
[325] "nessuno" "vuol" "dire"
[328] "ascoltare" "dolore" "leva"
[331] "nord" "standard" "europei"
[334] "produzione" "forme" "federalista"
[337] "partire" "federalismo" "fiscale"
[340] "solidale" "promuovere" "sud"
[343] "risorsa" "sviluppo" "peso"
[346] "criminalità" "organizzata" "mezzogiorno"
[349] "italiano" "vantaggio" "libera"
[352] "voglia" "volontà" "regioni"
[355] "meridionali" "ancora" "infrastrutture"
[358] "tornare" "investimenti" "altri"
[361] "paesi" "mondo" "uso"
[364] "tecnologie" "farla" "uscire"
[367] "rischio" "famiglia" "spinta"
[370] "intera" "organizzazione" "ruoli"
[373] "sociali" "sostegno" "autonomia"
[376] "rimuovere" "cause" "materiali"
[379] "piano" "nazionale" "risorse"
[382] "fine" "aumentare" "resto"
[385] "saggezza" "interne" "comunità"
[388] "sconfitta" "chiusura" "difficoltà"
[391] "rischi" "immigrazione" "accoglienza"
[394] "integrazione" "popolo" "salvaguardare"
[397] "mercati" "internazionali" "aprire"
[400] "problemi" "salute" "benessere"
[403] "battaglia" "seria" "retorica"
[406] "eredità" "esperienza" "spalle"
[409] "garanzia" "sicuro" "subito"
[412] "ciò" "indispensabile" "mettere"
[415] "morti" "contrastare" "alcune"
[418] "precariato" "particolarmente" "logica"
[421] "pagato" "educativa" "verso"
[424] "mancato" "realizzazione" "vocazione"
[427] "personale" "alcuni" "settori"
[430] "amministrazione" "dobbiamo" "affrontare"
[433] "situazione" "difficile" "finanziari"
[436] "posizione" "bancario" "istituti"
[439] "credito" "aperto" "giovane"
[442] "impresa" "giovani" "famiglie"
[445] "sempre" "promozione" "rete"
[448] "economia" "estera" "cooperazione"
[451] "assicurare" "materie" "prime"
[454] "rinunciare" "far" "sentire"
[457] "europa" "impedire" "concorrenza"
[460] "interesse" "media" "chiamati"
[463] "difendere" "intelligenza" "tenere"
[466] "conti" "ridurre" "debito"
[469] "evasione" "però" "principio"
[472] "tasse" "belle" "sé"
[475] "neppure" "imposte" "devono"
[478] "servizi" "quindi" "presupposto"
[481] "buon" "pubblici" "equilibrio"
[484] "responsabile" "produce" "equità"
[487] "mettendo" "passo" "italiane"
[490] "affrontato" "sfide" "globalizzazione"
[493] "successo" "amore" "colpire"
[496] "passato" "bisogni" "risolvere"
[499] "regole" "rilevante" "crisi"
[502] "alitalia" "contributo" "finanza"
[505] "niente" "moderno" "trasporti"
[508] "ruolo" "segno" "occidentale"
[511] "pace" "fondatore" "progetto"
[514] "europeo" "naturalmente" "chiamata"
[517] "due" "mare" "pilastro"
[520] "stati" "uniti" "america"
[523] "dia" "segnali" "chiari"
[526] "nuovi" "affermare" "presenza"
[529] "mondiale" "sostenere" "pacificazione"
[532] "impegnati" "migliaia" "orgogliosi"
[535] "volta" "ringraziamento" "sentito"
[538] "uscita" "trattato" "istituzionale"
[541] "appena" "motore" "spazio"
[544] "medio" "difesa" "esistenza"
[547] "storica" "costruzione" "forma"
[550] "violenza" "aprile" "occhi"
[553] "innanzitutto" "contrasto" "fermo"
[556] "deciso" "piena" "unità"
[559] "confronti" "lotta" "spreco"
[562] "efficienza" "spesa" "costo"
[565] "fiscali" "riuscire" "semplificare"
[568] "pressione" "produttivo" "redditi"
[571] "familiari" "affermazione" "giustizia"
[574] "tale" "tanti" "magistrati"
[577] "silenzio" "dovere" "rilancio"
[580] "occorre" "istituzionali" "sostanzialmente"
[583] "condivise" "larga" "noto"
[586] "definizione" "legislativa" "compiuto"
[589] "rafforzamento" "poteri" "esecutivo"
[592] "modifica" "regolamenti" "numero"
[595] "eletti" "compiti" "diversi"
[598] "assetto" "titolo" "v"
[601] "costituzione" "attenta" "condivisa"
[604] "elettorale" "prospettiva" "referendum"
[607] "prossima" "pronti" "cominciare"
[610] "chiediamo" "ormai" "costruire"
[613] "qualche" "molte" "uomo"
[616] "squadra" "relazioni" "personali"
[619] "insegna" "veri" "culturali"
[622] "solidarietà" "guidare" "cercato"
[625] "quando" "me" "vento"
[628] "massimo" "possibile" "avversari"
[631] "politici" "intendo" "continuare"
[634] "fallito" "forse" "disponibilità"
[637] "buona" "dibattito" "talvolta"
[640] "radicale" "inutile" "capaci"
[643] "rafforzare" "argomento" "giocare"
[646] "aver" "padri" "guerra"
[649] "persino" "comunque" "riconoscimento"
[652] "esiste" "scontro" "diverse"
[655] "classi" "umanità" "finalmente"
[658] "realizzato" "fatica" "luoghi"
[661] "memoria" "storia" "patrimonio"
[664] "molti" "parti" "aria"
[667] "decidere" "mandato" "considerare"
[670] "trova" "delicata" "funzione"
[673] "messa" "profilo" "negativo"
[676] "cattiva" "propaganda" "cari"
[679] "so" "aiutare" "speriamo"
[682] "avere" "fortuna" "sappiamo"
[685] "viene" "incontro" "fa"
[688] "coraggio" "virtù" "compito"
[691] "affidato" "auguro" "sinceramente"
[694] "quest" "aula" "ritrovare"
[697] "orgoglio" "cento" "città"
[700] "condividere" "ripresa" "saprà"
[703] "ringrazio" "viva" "applausi"
[706] "deputati" "gruppi" "lega"
[709] "padania" "partito" "piedi"
[712] "signori" "membri" "regione"
[715] "valle" "aosta" "eletto"
[718] "espressione" "diretta" "necessariamente"
[721] "cercare" "farsi" "regionale"
[724] "definire" "legislatura" "riforme"
[727] "recente" "occasione" "voluto"
[730] "dimostrare" "specifica" "attenzione"
[733] "rappresentanti" "linguistiche" "sottolineato"
[736] "apprezzamento" "intervento" "fini"
[739] "atto" "insediamento" "volte"
[742] "possa" "assumere" "costituente"
[745] "state" "condivisione" "commissione"
[748] "affari" "costituzionali" "camera"
[751] "riferisco" "funzioni" "senato"
[754] "legislativo" "trasformazione" "ottica"
[757] "avviso" "province" "autonome"
[760] "taglio" "costi" "allora"
[763] "parole" "fatti" "piccola"
[766] "attorno" "fino" "statuto"
[769] "speciale" "svolto" "importante"
[772] "intende" "portare" "tema"
[775] "sin" "secolo" "scorso"
[778] "termine" "luogo" "lì"
[781] "conseguenze" "cosiddetto" "peraltro"
[784] "scorsa" "portato" "sostanziale"
[787] "accordo" "articolo" "disegno"
[790] "auguriamo" "base" "attività"
[793] "materia" "quadro" "questioni"
[796] "componente" "specifiche" "iniziative"
[799] "riguarda" "intesa" "speciali"
[802] "ricordo" "norma" "seguito"
[805] "esito" "luglio" "seconda"
[808] "provincia" "pure" "indicato"
[811] "positivo" "essenziale" "montagna"
[814] "normativa" "concetto" "conto"
[817] "maggiori" "vive" "territori"
[820] "effettivamente" "consenta" "adeguata"
[823] "qualità" "essenziali" "testo"
[826] "condiviso" "riteniamo" "rappresentare"
[829] "concreta" "richiamo" "infine"
[832] "rilievo" "auspichiamo" "rapida"
[835] "attuazione" "importanza" "trasporto"
[838] "istituzione" "contesto" "attuale"
[841] "energia" "ordinamento" "linea"
[844] "collega" "internazionale" "avviato"
[847] "contratto" "ministero" "attesa"
[850] "importanti" "appalti" "fondi"
[853] "disponibili" "contratti" "gran"
[856] "san" "via" "accesso"
[859] "principali" "necessario" "puntuale"
[862] "interno" "approccio" "molto"
[865] "ideologico" "unico" "provvedimenti"
[868] "concretamente" "pensioni" "abolizione"
[871] "ici" "finanziarie" "valutare"
[874] "quegli" "riferimento" "costante"
[877] "principi" "sappia" "operare"
[880] "meno" "popoli" "risultato"
[883] "scelta" "precisa" "restituire"
[886] "bisogno" "cambiamenti" "radicali"
[889] "tali" "necessari" "poter"
[892] "altrimenti" "potranno" "andare"
[895] "giusto" "diciamo" "dunque"
[898] "bisogna" "distanza" "palazzi"
[901] "gente" "veramente" "vede"
[904] "certo" "positiva" "po"
[907] "rivoluzione" "democratica" "fatta"
[910] "elezioni" "veniva" "diceva"
[913] "doveva" "perso" "danno"
[916] "avanti" "sapere" "magari"
[919] "sanno" "poco" "preciso"
[922] "comporta" "male" "finito"
[925] "pena" "vediamo" "specie"
[928] "vogliono" "dipendenti" "vada"
[931] "comuni" "purtroppo" "cito"
[934] "esempio" "dovuto" "esprimere"
[937] "sinistra" "nemmeno" "frase"
[940] "ministro" "tremonti" "sacrifici"
[943] "chiedere" "tratta" "pronunciare"
[946] "oltre" "considerato" "deboli"
[949] "carico" "giustamente" "numerosi"
[952] "votato" "essi" "mezzo"
[955] "amministratori" "istanze" "addirittura"
[958] "ribadire" "credibile" "colmare"
[961] "sicuramente" "dovranno" "compiere"
[964] "probabilmente" "verità" "vuole"
[967] "quali" "obiettivi" "berlusconi"
[970] "ecco" "contenti" "rispondere"
[973] "sindaci" "sindaco" "vista"
[976] "colore" "aiuti" "mano"
[979] "realmente" "capire" "armate"
[982] "carabinieri" "polizia" "guardia"
[985] "spesso" "soldi" "realtà"
[988] "evidente" "stare" "vicino"
[991] "serve" "possiamo" "processo"
[994] "quindici" "venti" "chiedono"
[997] "altro" "firenze" "tragedia"
[1000] "passati" "decenni" "impressione"
[1003] "ricordare" "davvero" "dicendo"
[1006] "presente" "servono" "strada"
[1009] "risultati" "concreti" "bambini"
[1012] "mette" "figlio" "pensa"
[1015] "riesce" "neanche" "pertanto"
[1018] "attuali" "vanno" "vero"
[1021] "immaginare" "appartiene" "generazione"
[1024] "pensiamo" "cinque" "pensione"
[1027] "pensare" "future" "tutta"
[1030] "ottenere" "migliore" "conclusione"
[1033] "credo" "potrà" "diventare"
[1036] "ultimi" "infatti" "certamente"
[1039] "verrà" "ricordato" "aziende"
[1042] "stesso" "azienda" "apre"
[1045] "settimane" "straordinaria" "esigenza"
[1048] "altezza" "aspettative" "certezze"
[1051] "mille" "necessità" "cittadino"
[1054] "guardare" "serenità" "opportunità"
[1057] "reale" "motivo" "onorevole"
[1060] "dirle" "apprezzato" "tono"
[1063] "discorso" "lontano" "campagna"
[1066] "politiche" "apprezziamo" "guerre"
[1069] "civili" "centro" "attese"
[1072] "domande" "dato" "creazione"
[1075] "consentito" "precedente" "siedono"
[1078] "esigenze" "efficace" "pd"
[1081] "toni" "qualcuno" "soluzioni"
[1084] "giorni" "ombra" "efficacia"
[1087] "doveri" "azioni" "domani"
[1090] "sostanza" "proposte" "ritengo"
[1093] "sottolineare" "fondo" "quei"
[1096] "pensionati" "costretti" "vivere"
[1099] "euro" "mese" "disagio"
[1102] "quell" "portano" "paga"
[1105] "guarda" "preoccupazione" "livelli"
[1108] "imprenditori" "vissuto" "immigrati"
[1111] "asilo" "nido" "proposto"
[1114] "semplice" "vinto" "corpo"
[1117] "tuttavia" "slogan" "vincere"
[1120] "applicazione" "governare" "registrato"
[1123] "fortemente" "troppi" "burocratici"
[1126] "rapporto" "livello" "produttività"
[1129] "offre" "debba" "globale"
[1132] "pone" "campo" "modernizzazione"
[1135] "spendere" "scuola" "università"
[1138] "speso" "rischia" "precarietà"
[1141] "ebbene" "significativa" "aggiungere"
[1144] "deficit" "presto" "rigore"
[1147] "prodi" "mesi" "sotto"
[1150] "necessaria" "mentre" "investimento"
[1153] "indicare" "portata" "troverà"
[1156] "atteggiamento" "dovete" "consapevoli"
[1159] "prescindere" "bilancio" "dico"
[1162] "possono" "credere" "facile"
[1165] "banchi" "prova" "fondata"
[1168] "alta" "chiamato" "protezione"
[1171] "messe" "appunto" "costantemente"
[1174] "errore" "complesso" "liberi"
[1177] "porta" "chiunque" "priorità"
[1180] "assoluta" "sicuri" "destra"
[1183] "qualsiasi" "serietà" "invito"
[1186] "mattina" "ex" "quotidiano"
[1189] "sobrietà" "scorsi" "esponenti"
[1192] "banco" "compimento" "transizione"
[1195] "troppo" "urgente" "sperare"
[1198] "usato" "sede" "intese"
[1201] "efficaci" "dichiarato" "daremo"
[1204] "alcuna" "né" "forza"
[1207] "caso" "esattamente" "progetti"
[1210] "possibilità" "convergenza" "cammino"
[1213] "percorso" "augurio" "speranze"
[1216] "emozione" "prendo" "tanto"
[1219] "conseguenza" "vittoria" "netta"
[1222] "cambiamento" "giudizio" "rinnovamento"
[1225] "fra" "scenario" "attuare"
[1228] "inoltre" "saputo" "valorizzare"
[1231] "femminile" "culturale" "rappresentanza"
[1234] "pari" "centrali" "modello"
[1237] "consegnare" "risposte" "poiché"
[1240] "troviamo" "assenza" "emergenza"
[1243] "richiesta" "legalità" "diritti"
[1246] "ognuno" "determinazione" "onestà"
[1249] "profonda" "welfare" "economiche"
[1252] "fondamentale" "costituisce" "sogno"
[1255] "ovviamente" "concrete" "vedere"
[1258] "garantito" "obiettivo" "mezzi"
[1261] "amministrazioni" "locali" "singolo"
[1264] "donna" "voglio" "dovrà"
[1267] "finita" "epoca" "sola"
[1270] "centrodestra" "pregiudizi" "coalizione"
[1273] "reali" "certa" "resa"
[1276] "passare" "antipolitica" "ella"
[1279] "valori" "motivi" "programmatici"
[1282] "credibilità" "comportamento" "trovare"
[1285] "comprendere" "ritorno" "nuovamente"
[1288] "prendere" "pagine" "sorta"
[1291] "gravi" "grazie" "numerose"
[1294] "leggi" "riuscita" "approvare"
[1297] "riuscito" "ora" "relazione"
[1300] "idea" "momenti" "tempi"
[1303] "cioè" "eppure" "agire"
[1306] "ricorso" "promesse" "calabria"
[1309] "causa" "davanti" "uomini"
[1312] "reato" "penale" "potuto"
[1315] "carica" "massima" "pubbliche"
[1318] "diffusa" "continuano" "gestione"
[1321] "pronunciato" "impegnato" "incarico"
[1324] "gruppo" "industriale" "fallimento"
[1327] "peggio" "metà" "quattordici"
[1330] "sufficienti" "togliere" "spiegato"
[1333] "darà" "costruito" "compagine"
[1336] "sì" "qualunque" "dovesse"
[1339] "proporre" "informazione" "venga"
[1342] "nota" "sentenza" "corte"
[1345] "risposta" "europea" "circolare"
[1348] "alfano" "premesse" "parlare"
[1351] "ingiustizia" "oppure" "potrebbero"
[1354] "porto" "tipo" "corruzione"
[1357] "giudice" "dispiace" "anima"
[1360] "ministra" "meloni" "qualcun"
[1363] "appare" "venire" "conflitto"
[1366] "argomenti" "arrivare" "provvedimento"
[1369] "ultimo" "forti" "dubbi"
[1372] "dura" "proposta" "adeguate"
[1375] "passata" "ulteriori" "spiegare"
[1378] "posso" "riconoscere" "veltroni"
[1381] "deriva" "elezione" "presidenti"
[1384] "regionali" "diventa" "natura"
[1387] "glielo" "conosciamo" "altrettanto"
[1390] "andato" "speranza" "rappresentato"
[1393] "emerge" "debole" "amici"
[1396] "stile" "battere" "rendite"
[1399] "creare" "bruxelles" "commissario"
[1402] "monti" "apertura" "tasca"
[1405] "rimasto" "direbbe" "vorrebbe"
[1408] "tetto" "riformatore" "strutturali"
[1411] "nessuna" "cerca" "blocco"
[1414] "sfida" "accettato" "elemento"
[1417] "tessuto" "competizione" "sacrificio"
[1420] "innovazione" "pur" "affermato"
[1423] "lato" "ponte" "ragione"
[1426] "legato" "presentare" "reso"
[1429] "clandestina" "milioni" "mila"
[1432] "nero" "tre" "quattro"
[1435] "sera" "ginocchio" "accenno"
[1438] "testa" "origine" "povertà"
[1441] "liberalizzazioni" "letto" "nodo"
[1444] "locale" "schema" "potrebbe"
[1447] "economica" "migliori" "posizioni"
[1450] "privilegi" "competenze" "tendenza"
[1453] "anzi" "diventato" "gesto"
[1456] "seguire" "sbagliata" "farlo"
[1459] "permetto" "sufficiente" "governi"
[1462] "vedremo" "colpo" "fianco"
[1465] "andrà" "diversa" "votare"
[1468] "significato" "opere" "semplificazione"
[1471] "amministrativa" "chiarezza" "occuparsi"
[1474] "mancano" "raggiunto" "miliardi"
[1477] "interessante" "studio" "veneto"
[1480] "riformare" "prodotto" "operatori"
[1483] "trattati" "punti" "chiesto"
[1486] "studi" "settore" "aumentato"
[1489] "aumento" "farci" "precedenti"
[1492] "poche" "tagli" "enti"
[1495] "investitori" "stranieri" "lavori"
[1498] "ultima" "numeri" "germania"
[1501] "semplicemente" "incredibile" "centrosinistra"
[1504] "evidenza" "ottenuto" "ricorda"
[1507] "arriva" "altronde" "poteva"
[1510] "aspettare" "aumenti" "visto"
[1513] "poveri" "attendono" "cambio"
[1516] "marcia" "sistemi" "buoni"
[1519] "pericolo" "mani" "economici"
[1522] "fenomeno" "popolare" "esercitare"
[1525] "fermezza" "fin" "rappresenta"
[1528] "accaduto" "centinaia" "approvazione"
[1531] "contenuti" "magistratura" "quasi"
[1534] "assistito" "responsabili" "decine"
[1537] "danni" "piccoli" "commercianti"
[1540] "artigiani" "continueremo" "dovremmo"
[1543] "rivedere" "terza" "collaborazione"
[1546] "colleghe" "cambiato" "alleanze"
[1549] "domanda" "novità" "scegliere"
[1552] "contare" "tratti" "politicamente"
[1555] "conseguente" "ovvero" "velocità"
[1558] "resta" "urgenza" "drammatica"
[1561] "effetto" "alternativa" "alternativi"
[1564] "superamento" "concezione" "limite"
[1567] "consente" "indirizzo" "tramite"
[1570] "centralità" "no" "coerente"
[1573] "alternative" "nasce" "concretezza"
[1576] "minoranza" "difende" "breve"
[1579] "immaginiamo" "sa" "garante"
[1582] "carte" "fondamentali" "linguaggio"
[1585] "persona" "umano" "limiti"
[1588] "vivo" "morale" "programmi"
[1591] "lascia" "molta" "errori"
[1594] "tratto" "marzo" "raccogliere"
[1597] "sensibilità" "consentire" "diverso"
[1600] "direzione" "dinamica" "coalizioni"
[1603] "indicazione" "premier" "profondamente"
[1606] "ulteriore" "bipolarismo" "superare"
[1609] "partenza" "meccanismi" "riflessione"
[1612] "democrazie" "francia" "spagna"
[1615] "vale" "disciplina" "possibili"
[1618] "fattori" "senatore" "soluzione"
[1621] "professor" "passi" "intervenire"
[1624] "elettorali" "europee" "evitare"
[1627] "recenti" "tal" "assai"
[1630] "previsioni" "caratterizzato" "larghe"
[1633] "costituiscono" "regime" "margini"
[1636] "strategia" "riformatrice" "aspetto"
[1639] "nonostante" "corso" "debolezza"
[1642] "rimane" "decisione" "oggetto"
[1645] "vedo" "alcun" "indicazioni"
[1648] "nulla" "esso" "finale"
[1651] "continua" "dovrebbe" "esercizio"
[1654] "assemblea" "porre" "fenomeni"
[1657] "strumenti" "de" "formale"
[1660] "essa" "serie" "prerogative"
[1663] "introduzione" "figura" "componenti"
[1666] "proposito" "basi" "programmatiche"
[1669] "evidentemente" "finanziaria" "regolamento"
[1672] "profonde" "rimettere" "parlando"
[1675] "territoriali" "trovano" "pochi"
[1678] "flussi" "circa" "ossia"
[1681] "com" "basta" "straordinario"
[1684] "deputato" "segretario" "parlava"
[1687] "previsto" "praticamente" "adesso"
[1690] "vengono" "business" "condividiamo"
[1693] "durante" "zone" "mafia"
[1696] "libere" "settimana" "campania"
[1699] "dignità" "lombardia" "industriali"
[1702] "attenti" "vigili" "cercheremo"
[1705] "vergogna" "affinché" "movimento"
[1708] "analisi" "rivolto" "processi"
[1711] "lobby" "pelle" "titoli"
[1714] "alti" "attende" "linee"
[1717] "nazioni" "cina" "partecipare"
[1720] "tutelare" "accanto" "movimenti"
[1723] "declino" "aperta" "dramma"
[1726] "fuoco" "emergenze" "risanamento"
[1729] "introdurre" "aree" "stretto"
[1732] "solco" "storico" "permetta"
[1735] "chiudere" "leader" "partita"
[1738] "riusciremo" "dichiarazioni" "convinti"
[1741] "stagione" "contrapposizione" "compromesso"
[1744] "coesione" "dimostrato" "ascoltato"
[1747] "educazione" "critica" "sovrano"
[1750] "invertire" "rotta" "legata"
[1753] "colpiti" "continuo" "diversamente"
[1756] "progressività" "salario" "anno"
[1759] "unica" "coraggiose" "napolitano"
[1762] "ricevuto" "organizzazioni" "ulteriormente"
[1765] "modalità" "varie" "manca"
[1768] "ripartire" "ciclo" "figli"
[1771] "chiama" "combattere" "entusiasmo"
[1774] "prodotti" "produttivi" "tenuta"
[1777] "revisione" "infrastrutturali" "migliorare"
[1780] "offerta" "aggiunto" "capitale"
[1783] "tecnico" "mobilità" "professionalità"
[1786] "mancanza" "incentivi" "puntare"
[1789] "iniziativa" "umane" "utile"
[1792] "efficienti" "imprenditoriale" "coniugare"
[1795] "federale" "lontani" "opinione"
[1798] "saper" "chiarito" "solida"
[1801] "entrambi" "pensi" "sconti"
[1804] "sembra" "straordinari" "assolutamente"
[1807] "coerenti" "esponente" "grave"
[1810] "tocca" "sembrano" "sentimento"
[1813] "insicurezza" "direttamente" "pesante"
[1816] "ripeto" "maggior" "dover"
[1819] "inizia" "frutto" "naturale"
[1822] "misure" "pene" "strutturale"
[1825] "assunzioni" "vent" "bisognerà"
[1828] "considerazione" "sapendo" "distruggere"
[1831] "dieci" "procedere" "carriere"
[1834] "sente" "parlo" "carcere"
[1837] "durata" "burocrazia" "sofferenza"
[1840] "concludo" "delicato" "differenza"
[1843] "prevenzione" "recuperare" "largo"
[1846] "effettiva" "riguardano" "replica"
[1849] "minori" "crea" "imprenditore"
[1852] "giudiziario" "totalmente" "vengano"
[1855] "giuridica" "riconosciuto" "data"
[1858] "condivido" "indipendenza" "siccome"
[1861] "carriera" "legati" "zero"
[1864] "uguali" "certezza" "b"
[1867] "attualmente" "codice" "bravo"
[1870] "diamo" "altra" "meccanismo"
[1873] "giusta" "assunto" "prassi"
[1876] "sapremo" "carta" "approvato"
[1879] "prevede" "dirigenti" "nomi"
[1882] "scritto" "libro" "ipotesi"
[1885] "auguri" "fondamento" "sogni"
[1888] "convinto" "visione" "vecchio"
[1891] "qual" "piacere" "scopo"
[1894] "dando" "costruttivo" "laddove"
[1897] "esserci" "vivendo" "penso"
[1900] "richiedono" "strategica" "interna"
[1903] "chiara" "svolgere" "costruttiva"
[1906] "protagonista" "vorrà" "offrire"
[1909] "nazionali" "fragilità" "rapporti"
[1912] "globali" "commercio" "divisioni"
[1915] "sfruttamento" "rendono" "commerciali"
[1918] "dimensione" "strategici" "governance"
[1921] "caduta" "proseguire" "convinzione"
[1924] "protagonisti" "puntando" "ceto"
[1927] "cancellare" "respiro" "profondo"
[1930] "propri" "formazione" "elementi"
[1933] "medie" "valorizzazione" "ambientale"
[1936] "pianeta" "servire" "differenze"
[1939] "citato" "rappresentano" "criminali"
[1942] "made" "italy" "consapevole"
[1945] "citazione" "appartenenza" "percorsi"
[1948] "giorgia" "giovanile" "dopoguerra"
[1951] "grecia" "terra" "patria"
[1954] "paolo" "mente" "favorevole"
[1957] "ricostruire" "soddisfazione" "socialisti"
[1960] "autorevole" "amico" "sereno"
[1963] "sosterremo" "chiedo" "usare"
[1966] "lasci" "passaggio" "drammatico"
[1969] "ultime" "favore" "ampio"
[1972] "presenta" "presenti" "lasciato"
[1975] "persone" "avvio" "permettere"
[1978] "nascita" "vecchi" "soggetti"
[1981] "pagina" "passione" "ideale"
[1984] "lealtà" "occupazione" "assistenza"
[1987] "civiltà" "piani" "coscienza"
[1990] "civica" "libero" "preoccupa"
[1993] "autorità" "meritocrazia" "garanzie"
[1996] "avviare" "caro" "alleato"
[1999] "ampia" "merita" "visioni"
[2002] "viviamo" "servizio" "energie"
[2005] "energetiche" "consumi" "turismo"
[2008] "beni" "pil" "dati"
[2011] "esse" "esteri" "giro"
[2014] "export" "posti" "partendo"
[2017] "stima" "sussidiarietà" "fisco"
[2020] "equo" "dovrebbero" "verranno"
[2023] "fede" "insegnanti" "mettono"
[2026] "risparmio" "spetta" "buone"
[2029] "rinnovata" "convinta" "spero"
[2032] "auspicio" "rivolgo" "preferito"
[2035] "cuore" "dette" "trovato"
[2038] "voteremo" "pezzo" "esperienze"
[2041] "disastro" "impossibile" "porti"
[2044] "sviluppare" "cercando" "riportare"
[2047] "assistenzialismo" "cresce" "tecnologica"
[2050] "mediterraneo" "ambientali" "seri"
[2053] "serio" "strategico" "coinvolgimento"
[2056] "acqua" "strategiche" "investire"
[2059] "pratica" "utili" "produttive"
[2062] "trasparenza" "leale" "dubbio"
[2065] "stampa" "abituati" "decennio"
[2068] "impostazione" "interpretare" "parta"
[2071] "assieme" "gioco" "andiamo"
[2074] "delega" "sottosegretario" "scarsa"
[2077] "natalità" "criteri" "comparto"
[2080] "pare" "cenno" "studenti"
[2083] "giornali" "atti" "docenti"
[2086] "aspettano" "parità" "scolastica"
[2089] "costa" "aspettiamo" "diventi"
[2092] "annunciato" "bonus" "giuste"
[2095] "disabilità" "convenzione" "unite"
[2098] "dicembre" "nascere" "ore"
[2101] "n" "lettera" "sanità"
[2104] "umana" "orizzonte" "piazza"
[2107] "segnale" "ieri" "vari"
[2110] "ricordiamo" "guidato" "attacco"
[2113] "entrare" "banche" "torna"
[2116] "arrivano" "effetti" "tassi"
[2119] "inflazione" "banca" "centrale"
[2122] "buono" "gettito" "condotto"
[2125] "battaglie" "utilizzare" "dicono"
[2128] "parla" "potremmo" "categorie"
[2131] "decreto" "eliminare" "periodo"
[2134] "soglia" "aliquote" "solamente"
[2137] "chiaramente" "pensato" "considerazioni"
[2140] "democratici" "vivono" "situazioni"
[2143] "servirà" "richieste" "bella"
[2146] "saluto" "prossimi" "critiche"
[2149] "legate" "offerto" "terremoto"
[2152] "collettiva" "differenziata" "maggio"
[2155] "eccezionale" "centri" "giorgio"
[2158] "nato" "auspico" "febbraio"
[2161] "eventi" "milano" "vere"
[2164] "dimenticato" "governativa" "incapacità"
[2167] "contraddizioni" "riprendere" "operazione"
[2170] "dimenticare" "scusa" "carceri"
[2173] "colpa" "signora" "roma"
[2176] "riusciti" "adottare" "utilizzato"
[2179] "voleva" "distinzione" "permesso"
[2182] "bloccato" "tav" "verificare"
[2185] "autonomie" "logiche" "debbano"
[2188] "dirlo" "reati" "dimostrando"
[2191] "benissimo" "accadere" "benefici"
[2194] "iniziato" "ministre" "ragionevole"
[2197] "lavorano" "ragioni" "rispettare"
[2200] "nascondere" "perfettamente" "buonsenso"
[2203] "macchina" "terreno" "citare"
[2206] "singoli" "esistono" "parere"
[2209] "piazze" "opportuno" "competenza"
[2212] "ambizioso" "sottosegretari" "ferma"
[2215] "immediatamente" "partecipazione" "comunicazioni"
[2218] "spese" "ministeri" "dimostrano"
[2221] "lista" "mancata" "determinato"
[2224] "intenzione" "traccia" "contrari"
[2227] "bianco" "controlli" "legittima"
[2230] "diversità" "scritta" "impedito"
[2233] "meridionale" "disoccupazione" "venuto"
[2236] "tenuto" "vincoli" "tuttora"
[2239] "rimanere" "accordi" "riescono"
[2242] "programmatico" "dimostra" "vicepresidente"
[2245] "sincero" "finora" "opposizioni"
[2248] "vicenda" "sforzi" "enrico"
[2251] "letta" "sentiamo" "vicini"
[2254] "certe" "francesco" "totale"
[2257] "anch" "ideali" "storie"
[2260] "nemico" "avversario" "normale"
[2263] "avvenuto" "mostrato" "presa"
[2266] "segnato" "associazioni" "dà"
[2269] "passaggi" "assunzione" "avvenire"
[2272] "tentativo" "accompagnare" "legittimo"
[2275] "dovremo" "fatte" "scommessa"
[2278] "cos" "siede" "conosce"
[2281] "duro" "mantenere" "contribuito"
[2284] "personalità" "supporto" "industria"
[2287] "impatto" "chiave" "raggiungere"
[2290] "dovuta" "voler" "sento"
[2293] "qualcosa" "estero" "senatori"
[2296] "scientifica" "mafie" "limitare"
[2299] "percentuali" "passa" "almeno"
[2302] "evento" "colpito" "dichiarazione"
[2305] "papa" "minuti" "nonché"
[2308] "dirò" "valutazione" "voti"
[2311] "dite" "ve" "sapete"
[2314] "ce" "bocca" "poltrona"
[2317] "franchezza" "devo" "francamente"
[2320] "accettare" "affatto" "accade"
[2323] "presi" "ancor" "collocazione"
[2326] "consultazioni" "consideriamo" "preceduto"
[2329] "abbastanza" "quotidianamente" "minuto"
[2332] "espresso" "scrivere" "convintamente"
[2335] "vorremmo" "valutazioni" "dicevo"
[2338] "contributi" "parliamo" "diventano"
[2341] "strutture" "conoscenza" "dipende"
[2344] "decisamente" "silvio" "ahimè"
[2347] "equa" "madre" "insomma"
[2350] "metta" "andando" "estrema"
[2353] "agricoltura" "potremo" "notizia"
[2356] "occasioni" "climatici" "pensate"
[2359] "prese" "merkel" "impianti"
[2362] "entro" "volete" "crediamo"
[2365] "popolazione" "pensando" "potesse"
[2368] "semplici" "giornata" "vittime"
[2371] "andranno" "carlo" "troverete"
[2374] "ambizione" "atlantica" "cittadinanza"
[2377] "tanta" "risparmi" "fermare"
[2380] "ripetere" "peggiori" "economie"
[2383] "energetica" "impiego" "desidero"
[2386] "capitolo" "investito" "prospettive"
[2389] "capito" "personalmente" "arco"
[2392] "statale" "dna" "polemiche"
[2395] "conflitti" "perseguire" "prezzo"
[2398] "contemporaneamente" "sbagliato" "aule"
[2401] "repubblicana" "tesi" "provare"
[2404] "chiarire" "bello" "giugno"
[2407] "semmai" "pagano" "studiare"
[2410] "soli" "intenzioni" "reti"
[2413] "modelli" "troppe" "mancare"
[2416] "prendiamo" "rivolgere" "coerenza"
[2419] "continuità" "alleati" "conosciuto"
[2422] "ricostruzione" "complessi" "cifra"
[2425] "porterà" "universale" "inevitabilmente"
[2428] "cambiata" "umani" "africa"
[2431] "veti" "stelle" "militare"
[2434] "fragile" "accelerare" "illustrato"
[2437] "lasciamo" "guardiamo" "cogliere"
[2440] "disse" "stamattina" "concittadini"
[2443] "darle" "alimentare" "immagini"
[2446] "abbassare" "interessa" "eccesso"
[2449] "finanze" "minimo" "critico"
[2452] "operato" "sostengono" "compreso"
[2455] "ostacoli" "normativo" "unito"
[2458] "fonti" "inutili" "finanziamenti"
[2461] "ringraziare" "partite" "gennaio"
[2464] "contribuenti" "imposta" "edilizia"
[2467] "iniziare" "intanto" "territoriale"
[2470] "aperti" "potete" "debiti"
[2473] "direi" "pagare" "bersani"
[2476] "vince" "perde" "discusso"
[2479] "spazi" "strade" "favorire"
[2482] "esperti" "deputate" "liberali"
[2485] "urne" "attori" "guardi"
[2488] "continente" "fondatori" "democratiche"
[2491] "sostenuta" "russia" "morte"
[2494] "rischiano" "vite" "vedono"
[2497] "ascolto" "chiamare" "sprechi"
[2500] "tassa" "rinnovabili" "arrivati"
[2503] "nati" "potenziamento" "procedure"
[2506] "richiamato" "urgenze" "sedi"
[2509] "voterò" "andati" "lettura"
[2512] "enormi" "palazzo" "concludere"
[2515] "individuare" "felice" "odio"
[2518] "mozione" "scuole" "chiudo"
[2521] "chiare" "umiltà" "volto"
[2524] "salto" "cosiddetti" "precari"
[2527] "privato" "flessibilità" "ricchi"
[2530] "copertura" "presieduto" "tiene"
[2533] "sintesi" "compongono" "imprescindibile"
[2536] "finanziario" "punta" "corretto"
[2539] "sana" "produttiva" "dica"
[2542] "consumo" "decide" "collettività"
[2545] "ricordarle" "vedete" "gas"
[2548] "abolire" "poltrone" "struttura"
[2551] "sette" "discontinuità" "innovative"
[2554] "ideologia" "sostiene" "giuseppe"
[2557] "bambino" "enorme" "otto"
[2560] "età" "talento" "ragazzi"
[2563] "sguardo" "nodi" "capisce"
[2566] "iva" "semestre" "alleanza"
[2569] "piccolo" "valuteremo" "toccato"
[2572] "prossime" "dimissioni" "permettetemi"
[2575] "provato" "salvare" "impone"
[2578] "trasformare" "sopra" "basso"
[2581] "opposto" "qua" "arrivato"
[2584] "sembrava" "volevo" "lavorato"
[2587] "propone" "manovra" "programmatica"
[2590] "disuguaglianze" "spread" "nominato"
[2593] "fermi" "padre" "tempesta"
[2596] "mario" "banale" "metteremo"
[2599] "digitale" "asili" "tecnici"
[2602] "generazionale" "professionale" "dietro"
[2605] "guardate" "cambia" "partner"
[2608] "sanzioni" "patrimoniale" "appoggio"
[2611] "aggiungo" "europeista" "europeismo"
[2614] "moneta" "conferma" "paradosso"
[2617] "dirci" "alibi" "farle"
[2620] "conosco" "privati" "autorevolezza"
[2623] "tavoli" "fondato" "chiuso"
[2626] "nata" "speculazione" "potevano"
[2629] "completamente" "figlia" "considero"
[2632] "draghi" "guardando" "garantendo"
[2635] "dissesto" "idrogeologico" "dedicato"
[2638] "uguaglianza" "sanitaria" "sanitario"
[2641] "chigi" "cassa" "predecessore"
[2644] "netto" "piace" "voterà"
[2647] "lavoreremo" "populismo" "potrei"
[2650] "avvocato" "torni" "prestiti"
[2653] "ragionamento" "naturali" "sostenibile"
[2656] "perdita" "eccellenze" "uscente"
[2659] "aspettati" "coraggioso" "decreti"
[2662] "signore" "cura" "proteggere"
[2665] "recessione" "viaggio" "rabbia"
[2668] "diseguaglianze" "verde" "organica"
[2671] "ilva" "taranto" "sport"
[2674] "esodati" "finanziamento" "maggioranze"
[2677] "nipoti" "nave" "vado"
[2680] "fratelli" "imu" "green"
[2683] "economy" "attive" "austerità"
[2686] "funziona" "lavoratrici" "sostenibilità"
[2689] "fornero" "solitudine" "licenziamenti"
[2692] "compact" "pregiudizio" "obbligo"
[2695] "potenziare" "irpef" "scolastico"
[2698] "rende" "tutele" "eccellenza"
[2701] "eleggere" "tentare" "voteranno"
[2704] "notte" "finta" "raccontare"
[2707] "differenti" "volevano" "complimenti"
[2710] "capisco" "utilizzo" "cuneo"
[2713] "act" "milione" "italicum"
[2716] "delrio" "farvi" "jobs"
[2719] "matteo" "renzi" "tavolo"
[2722] "migranti" "ambiguità" "bocciato"
[2725] "boschi" "quota" "paradigma"
[2728] "ecologica" "gestire" "lingua"
[2731] "assegno" "social" "tax"
[2734] "grillo" "salvini" "digitalizzazione"
[2737] "cure" "benvenuto" "lezioni"
[2740] "prescrizione" "professionisti" "plan"
[2743] "fragili" "resistenza" "deal"
[2746] "mattarella" "completare" "dublino"
[2749] "gentiloni" "maio" "esclusivo"
[2752] "giurato" "flat" "conte"
[2755] "giustizialismo" "autonomi" "sovranismo"
[2758] "ucraina" "lega-salvini" "piatta"
[2761] "didattica" "resilienza" "pandemia"
[2764] "covid" "next" "generation"
[2767] "eu" "pnrr" "recovery"
[2770] "fund" "cristallo"
$dir
[1] 2 1
$dispersion
[1] "poisson"
$priors
[1] Inf Inf 3 1
Direction anchors vs. reference scores:
In Wordscores, the reference scores define the numeric scale (magnitude and direction). In Wordfish, dir only fixes the sign of the axis, in our case document 1 will be assigned a lower \(\theta\) than document 2, but the exact values of \(\theta\) are determined by the data. Changing dir to a different pair of parties can flip the axis but will not change the relative ordering of all other parties.
4.3.2 2.2 Plot estimated positions
The textplot_scale1d() function from quanteda.textplots provides a quick view of document-level positions with confidence intervals.
textplot_scale1d(wf_model,
margin = "documents")
4.3.3 The “Eiffel Tower” plot — word parameters
Wordfish estimates two parameters for each word:
- \(\psi_w\): the baseline (log) frequency of word \(w\) — its overall commonness.
- \(\beta_w\): the discrimination parameter — how strongly word \(w\) is associated with document position.
Plotting \(\psi_w\) on the x-axis and \(\beta_w\) on the y-axis produces the characteristic Eiffel Tower shape: common words (\(\psi_w\) high) cluster near \(\beta_w = 0\) (they appear in all texts, regardless of position), while discriminating words (\(|\beta_w|\) high) appear in the “arms”.
textplot_scale1d(wf_model,
margin = "features",
highlighted = c("lavoratori", "imprese", "tasse",
"diritti", "sicurezza", "mercato", "pmi", "clima", "precarietà", "detassazione", "flat", "sostenibile", "occupazione", "clandestini", "immigrazione"))
Words sitting in th pillars of the Eiffel Tower are the most discriminatory: these are the words doing the most work in the model.
Diagnosis tip:
If the words with the largest \(|\beta_w|\) are party names, speaker names, or other non-substantive tokens, your DFM pre-processing may be incomplete. Common fixes: remove proper nouns, remove very rare words, check that stopwords are removed. The word parameters are your primary diagnostic tool for understanding what the model is measuring.
4.3.4 Extract and plot positions manually
For publication-quality plots and downstream analysis, extract the model parameters into a tidy data frame.
wf_params <- tibble(
doc_id2 = wf_model$docs,
theta_wf = wf_model$theta)
head(wf_params)# A tibble: 6 × 2
doc_id2 theta_wf
<chr> <dbl>
1 16_text2 -0.920
2 16_text3 -1.42
3 16_text4 0.888
4 16_text5 -0.421
5 16_text6 -1.07
6 16_text7 0.541
4.4 Compare Wordscores and Wordfish
Both models have now produced a position for each party, but on different scales and using different information. Do they agree?
comparison <- investitutre_speeches_16_19 |>
select(doc_id2, sigla2, session_legislature,theta_ws) |>
left_join(wf_params |> select(doc_id2, theta_wf), by = "doc_id2")
head(comparison) doc_id2 sigla2 session_legislature theta_ws theta_wf
1 16_text2 BERLUSCONI (PM) 16 12.139055 -0.9195340
2 16_text3 MISTO 16 16.698358 -1.4240580
3 16_text4 LNP 16 14.976891 0.8875087
4 16_text5 PD 16 8.717842 -0.4212879
5 16_text6 PDL 16 5.719823 -1.0700744
6 16_text7 IDV 16 14.586625 0.5413051
# compute correlation with uncertainty
ct <- cor.test(comparison$theta_ws, comparison$theta_wf)
# build annotation string
cor_label <- sprintf(
"r = %.3f [%.3f, %.3f]\np %s",
ct$estimate,
ct$conf.int[1],
ct$conf.int[2],
ifelse(ct$p.value < 0.001, "< 0.001", sprintf("= %.3f", ct$p.value))
)
ggplot(comparison, aes(x = theta_ws, y = theta_wf, label = doc_id2,
colour = factor(session_legislature))) +
geom_point(size = 3) +
#ggrepel::geom_text_repel(size = 4, max.overlaps = 20) +
geom_smooth(method = "lm", se = TRUE, colour = "grey60", # se=TRUE adds uncertainty band
fill = "grey85", linetype = "dashed") +
annotate(
"label",
x = Inf, y = -Inf,
hjust = 1.05, vjust = -0.5,
label = cor_label,
size = 4,
family = "mono",
label.size = 0.3
) +
labs(
x = "Wordscores position (LBG rescaled)",
y = "Wordfish θ",
title = "Comparison: Wordscores vs. Wordfish"
) +
theme_minimal(base_size = 13)
Pearson correlation between the two sets of estimates:
cor(comparison$theta_ws, comparison$theta_wf, use = "complete.obs")[1] 0.3805811
Before proceeding we save the results of the estimates for later use.
bow_estimates <-comparison %>%
select(doc_id2, theta_ws, theta_wf)
save(bow_estimates, file = "data/bow_estimates.RData")Let’s aggregate by party and compare the average positions:
party_comparison <- comparison %>%
group_by(session_legislature, sigla2) %>%
summarise(
theta_ws = mean(theta_ws, na.rm = TRUE),
theta_wf = mean(theta_wf, na.rm = TRUE)
) %>%
ungroup()
party_comparison# A tibble: 43 × 4
session_legislature sigla2 theta_ws theta_wf
<int> <chr> <dbl> <dbl>
1 16 BERLUSCONI (PM) 12.8 -0.412
2 16 FLPTP 8.53 -0.336
3 16 IDV 11.7 0.245
4 16 LNP 17.8 0.187
5 16 MISTO 11.8 -0.734
6 16 MONTI (PM) 17.7 0.0288
7 16 PD 9.26 -0.0402
8 16 PDL 11.6 -0.367
9 16 PT 16.5 0.685
10 16 UDCPTP 12.1 -0.194
# ℹ 33 more rows
First we plot the aggregate averages for Wordscores with a facet for each legislature.
ggplot(party_comparison, aes(x = theta_ws, y = reorder(sigla2, theta_ws))) +
geom_point(size = 3) +
facet_wrap(~ session_legislature, ncol = 1, scales = "free_y") +
labs(
x = "Wordscores position (LBG rescaled)",
y = NULL,
title = "Party positions estimated via Wordscores by legislature"
) +
theme_minimal(base_size = 13)
Now we plot the aggregate averages for Wordfish with a facet for each legislature.
ggplot(party_comparison, aes(x = theta_wf, y = reorder(sigla2, theta_wf))) +
geom_point(size = 3) +
facet_wrap(~ session_legislature, ncol = 1, scales = "free_y") +
labs(
x = "Wordfish θ",
y = NULL,
title = "Party positions estimated via Wordfish by legislature"
) +
theme_minimal(base_size = 13)
Finnaly we plot the two estimates against each other, with a facet for each legislature. This allows us to see how well the two methods agree at the party level, and whether there are any systematic differences across legislatures.
ggplot(party_comparison, aes(x = theta_ws, y = theta_wf, label = sigla2)) +
geom_point(size = 3) +
ggrepel::geom_text_repel(size = 4, max.overlaps = 20) +
geom_smooth(method = "lm", se = TRUE, colour = "grey60", # se=TRUE adds uncertainty band
fill = "grey85", linetype = "dashed") +
labs(
x = "Wordscores position (LBG rescaled)",
y = "Wordfish θ",
title = "Comparison: Wordscores vs. Wordfish (party averages)"
) +
theme_minimal(base_size = 13) +
facet_wrap(~ session_legislature, ncol = 1, scales = "free")
The results are not quite satisfying both at the speech level and at the party level. The order of the party estimates seems to work better for the Wordscores estimates of the 17th and 18th legislatures but fails poorly for the 19th legislature, where Brothers of Italy (FDI) is estimated as the most left-wing party, close to the Democratic Party (PD-IDP), while the Five Star Movement is located at the other end of the scale.
Text analysis is not magic: the models are only as good as the data and the assumptions we feed them. Validation is crucial, and even by looking at the Face Validity of the estimates we can see that something is wrong.
5 Save the estimates for later use in the LSS module
df_sub <- comparison %>%
select(doc_id2, theta_ws, theta_wf)
save(df_sub, file = "data/party_positions_ws_wf.RData")Up next: In the next module we will cover LSX (Latent Semantic Scaling), a semi-supervised method that combines the strengths of supervised and unsupervised approaches. LSS allows us to use a small set of seed words to guide the estimation of document positions, while still leveraging the full vocabulary of the corpus.