A pile of endless side projects

A tiny blog on stuff I do

La cucina più famosa del mondo (su Wikipedia)

2020-10-06

Dall’ultimo post è passato un po’ di tempo, ma nel mentre un paio di progettini interessanti sono nati1

Fra una bozza di ricettario creato per organizzare alcune mie note ed il calcolo del baricentro della Sardegna (improvvisato rientrando dalle vacanze), girando su Wikipedia a leggere voci su cucine straniere mi sono chiesto:

Qual è la cucina più "famosa" del mondo (su Wikipedia)? 2 3

Posta così è una domanda vaga. Entrando nel dettaglio:

In parole povere, per ogni cucina nazionale ho misurato la lunghezza della pagina in ogni sua edizione linguistica, producendo grafici intuitivi e facili da consultare

Prima di parlare dell’aspetto tecnico vediamo direttamente i risultati! :)
(Ogni grafico è disponibile anche in versione interattiva, tramite l’apposito link. Ne è consigliata la visione da PC)

Heatmap (matrice di correlazione) delle cucine su Wikipedia

↬ Link alla versione interattiva ↫

Ci sono un sacco di cose da dire su questo grafico! Prima di spiegare come è stato realizzato, vediamo come leggerlo e cosa rappresenta!

Si consideri una porzione di matrice (ottenuta ingrandendo la versione interattiva):

Alcune cose interessanti che si possono notare solo dal colore: la pagina sulla cucina italiana in coreano è decisamente lunga, così come la pagina sulla cucina israeliana in indonesiano!

Cucine famose inaspettate

Esplorando la matrice si possono trovare strane combinazioni e cucine inaspettatamente “note e ben documentate” in altre lingue. Ne elenco alcune:

Osservazioni e disclaimer

↬ Link alla versione interattiva (con assi etichettati) ↫12

Statistiche e podio 🏆

Le statistiche presentate di seguito sono state calcolate utilizzando la versione completa del dataset, senza escludere voci o linguaggi nazionali (lingue regionali e dialetti locali sono stati ignorati)13

Le cucine più “famose” del mondo (somma su tutte le lingue)

↬ Link alla versione interattiva ↫

Sommando per ogni cucina la lunghezza delle pagine in tutte le lingue considerate, si ottiene la seguente classifica:

  Cucina Lunghezza
1 🥇 🇮🇹 Italiana 1263679
2 🥈 🇩🇪 Tedesca 1016720
3 🥉 🇯🇵 Giapponese 981386
4 🇰🇷 Coreana 912384
5 🇺🇸 Americana 893520
6 🇫🇷 Francese 874603
7 🇮🇩 Indonesiana 832875
8 🇷🇺 Russa 793379
9 🇮🇳 Indiana 778534
10 🇳🇱 Olandese 681041

Al primo posto, la cucina italiana, con un totale complessivo di 1,26 milioni di caratteri! :tada:

Le pagine più lunghe (indipendentemente dalla lingua)

La top 10 delle cucine più lunghe in assoluto (su tutte le edizioni di Wikipedia considerate) è la seguente:

  Cucina e lingua Titolo in lingua originale Lunghezza
1 🥇 🇷🇺 Russa in polacco Kuchnia rosyjska 363864
2 🥈 🇩🇪 Tedesca in russo Немецкая кухня 279328
3 🥉 🇦🇷 Argentina in italiano Cucina argentina 227606
4 🇺🇸 Americana in francese Cuisine des États-Unis 218192
5 🇺🇸 Americana in giapponese アメリカ料理 190920
6 🇺🇸 Americana in inglese American cuisine 181443
7 🇮🇩 Indonesiana in russo Индонезийская кухня 175120
8 🇲🇾 Malese in inglese Malaysian cuisine 162794
9 🇮🇹 Italiana in kannada ಇಟ್ಯಾಲಿಯನ್‌ ಪಾಕಪದ್ಧತಿ 152911
10 🇦🇷 Argentina in spagnolo Gastronomía de Argentina 140174

Al primo posto, la cucina nazionale più lunga in assoluto: la pagina sulla cucina russa (scritta in polacco) con ben 363864 caratteri! :tada:

Curiosità sul 9° posto
Non conoscevo l’esistenza della lingua kannada (una lingua parlata nel sud dell’India) ma a quanto pare sono molto interessati alla cucina italiana (ಇಟ್ಯಾಲಿಯನ್‌ ಪಾಕಪದ್ಧತಿ). Trovo stupendo leggere una pagina scritta in un alfabeto completamente diverso dal nostro e trovare immagini di caffettiere, focacce e tiramisù:

Mi fanno notare che la parte sul bicerin di Torino sembra intraducibile (“penso esista una parola per dire latte in Kannada”). Ma le traduzioni incomplete ci sono un po’ ovunque su Wikipedia, nulla di troppo strano! :)

Le lingue con più voci di cucina

↬ Link alla versione interattiva ↫

Nessuna sorpresa, l’edizione linguistica di Wikipedia con più voci di cucina è la Wikipedia in lingua inglese 🇬🇧

Com’è stata fatta questa analisi?

Per evitare una lunga digressione sull’implementazione, citerò le librerie utilizzate e riassumerò a grandi linee il processo di raccolta ed analisi dati, rimandando direttamente chi è interessato ad approfondire alla repository del progetto su GitHub

Librerie utilizzate
L’intero progetto è stato sviluppato in Python. Le principali librerie utilizzate (gestite con Poetry) sono le seguenti:

Libreria PyPi link Descrizione
beautifulsoup4 🔗 Manipolazione a basso livello di pagine HTML14
pandas 🔗 Insostituibile, per salvataggio ed analisi dati
emoji 🔗 Per inserire emoji, utilizzata per le bandiere nazionali
plotly 🔗 Un’ottima libreria grafica per creare visualizzazioni15

Download ed elaborazione dei dati
Ci sono 4 step di preparazione dei dati. Ad ogni step la stessa struttura dati viene arricchita con sempre più informazioni.
Le funzioni (che corrispondono agli step) sono le seguenti:

Visualizzazione e grafici
Un ultimo step (step5_create_plots, in visualization.py) utilizza le strutture dati ottenute in precedenza per creare grafici, tabelle e statistiche che vengono salvate in immagini, HTML e Markdown

Conclusioni

Quest’analisi è stata effettuata just for fun, per curiosità e per fare qualcosa di nuovo. Detto ciò, sono soddisfatto del risultato ottenuto! È molto interessante cercare strane correlazioni nella heatmap e scoprire cucine e lingue che non conoscevo!

Se trovate qualcosa di curioso o volete provare a creare statistiche simili con una categoria differente di Wikipedia, fatemelo sapere o provate direttamente voi (il codice è come sempre open-source (repository su GitHub) e rilasciato con licenza MIT)

Cose (ancora) da fare

Da quando ho iniziato la stesura di quest’articolo ho pensato ad alcuni miglioramenti da fare e a nuovi grafici da produrre. Sono soddisfatto dello stato attuale, ma vorrei implementare in futuro (in ordine di importanza):

Grazie per l’attenzione, alla prossima! :)


  1. Mentre ITAQA prosegue, ne riparlerò fra non troppo! 

  2. Restringere il campo a Wikipedia semplifica di molto il lavoro! 

  3. Dovendo indovinare, avevo già un’idea della risposta, ma non potevo dimostrarlo (non ancora, almeno

  4. Un posto che raccoglie voci notevoli è la vetrina, ma è solamente un’indicazione binaria 

  5. Come spiegato più avanti, so che la lunghezza di una pagina non è un’indicazione certa di quanto una voce sia “famosa”. Inoltre mi è stato fatto notare che diversi linguaggi hanno diversa densità di informazione 

  6. Ok, lo so, mancano un sacco di nazioni ed un sacco di lingue, più avanti spiego perché  2

  7. Si noti infatti che su alcune righe compaiono più pallini, ad indicare tutti gli stati in cui quella lingua è la più parlata. A questo proposito: in alcuni stati vengono parlate più lingue (Svizzera, Lussemburgo, Belgio…), quindi si dovrebbero vedere colonne con più pallini. Quest’ulteriore livello di dettaglio non è (ancora) implementato 

  8. Un mio carissimo amico (che adora la cucina greca) ha commentato: “c’è veramente poco da dire sulla loro cucina, è riassumibile in: feta, moussaka, gyros, i cosi con la vite, olive. Stop.” 

  9. Ovvero tutte le cucine nazionali che sono presenti anche sulla Wikipedia in inglese 

  10. Ovvero tutti i linguaggi che hanno almeno una voce che parla di una delle cucine nazionali considerate 

  11. Ho ignorato le voci più corte di 4000 caratteri, le cucine che compaiono in meno di 13 lingue, i linguaggi con meno di 14 pagine riguardanti cucine nazionali e tutte le edizioni di Wikipedia nei vari dialetti locali 

  12. La versione interattiva ha sull’asse dei linguaggi alcuni prefissi di lingue non convertiti in linguaggi estesi. È comunque interessante da vedere! 

  13. Statistiche e grafici basate sulla situazione al 04/10/2020 

  14. Inizialmente contavo di fare quasi tutto con la libreria wikipedia (🔗), ma allo stato attuale è incompleta e non molto ottimizzata. Per questo ho ripiegato sull’approccio di basso livello usando beautifulsoup 

  15. Diciamocelo, matplotlib è un po’ una zavorra, ci sono alternative come plotly che sono leggere e rendono facile produrre visualizzazioni interattive. Devo ancora provare seaborn (sito web), ho letto belle cose 

  16. Magari provando ad utilizzare direttamente GitHub Actions (non so quanto sia fattibile, ma volevo metterci mano prima o poi) 

  17. Da quando ho iniziato a scrivere questo post c’è già stato un sorpasso nella classifica delle cucine: la cucina tedesca ha sorpassato quella giapponese, passando al secondo posto, in seguito ad un massiccio ampliamento della voce sulla cucina tedesca in russo a fine settembre 

  18. Anche se le edizioni di Wikipedia nei vari dialetti sono abbastanza scarne, non penso abbiano moltissime informazioni sulle cucine delle altre regioni