Le Reti Sociali

Finalmente, dopo un lungo stop forzato e con una certa difficoltà, sono riuscito a trovare il tempo e la forza per continuare i discorsi iniziati tempo fa.

Di reti sociali abbiamo già accennato alcuni aspetti in un post precedente. Ora vorrei ampliare un po’ questo concetto e vedere se si riesce a “fare” qualcosa sulle reti sociali. Sappiamo tutti che la cerchia di amici che abbiamo su Facebook o Tweetter o ogni altra “social platform” e’ una rete sociale. E’ ovvio: ci si iscrive a questi siti web ( che tanti, troppi, confondono con la totalità di internet: “internet è facebook” o “facebook è internet“) per allacciare delle relazioni più o meno virtuali, più o meno blande, che dividono la totalità di queste piattaforme in una serie di tribù ( matematicamente “aggregati” o “cluster” ) più o meno strettamente interconnesse. Ovviamente le reti sociali sono qualcosa di più. Alcuni esempio di reti sociali possono essere:

  • l’organico del personale di una azienda,
  • il personale di un dipartimento,
  • l’assieme di ditte che servono a produrre un certo oggetto,
  • i rapporti fra specie di animali/insetti/vegetali che popolano un certo territorio,
  • l’assieme delle banche che intrattengono rapporti economici fra loro,
  • l’insieme dei fattori che qualifica un certo tipo di prodotto all’interno di una filiera,
  • l’assieme delle persone che producono un lavoro scientifico,
  • …. e così via.

I grafi che rappresentano queste relazioni hanno delle proprietà interessanti e rivelano, usando delle tecniche di rappresentazione e partizionamento, delle proprietà, degli aspetti che altrimenti sfuggono anche ai più attenti osservatori. Una di queste è la stra-famosa ( ma solo dopo che è stata scoperta ) “teoria dei sei gradi di separazione” o “teoria del piccolo mondo“; ovvero la teoria che afferma che – riferendomi a persone che conoscono altre persone, le quali a loro volta conoscono…. – la distanza che separa me da chiunque altro sul pianeta terra è al massimo di 6.

Ad esempio: vediamo che distanza c’è fra me ed il Presidente degli Stati Uniti. Immaginiamo che gli voglia mandare una lettera a mano. Per farlo devo trovare qualcuno che gliela porti direttamente o la consegni a qualcuno che può dargliela. A tale scopo immaginiamo che:

  1. io conosca un impiegato in comune,
  2. questo a sua volta conosca un impiegato nel ministero (se siamo fortunati in quello degli esteri),
  3. il quale a sua volta conosca il Ministro,
  4. il quale a sua volta conosca il Ministro degli Esteri degli Stati Uniti,
  5. il quale a sua volta conosca il Presidente degli Stati Uniti.

Se contiamo i passaggi in questo esempio ci fermiamo a 5, infatti “la teoria dei sei gradi di separazione” afferma che la distanza massima è di 6 persone. E questo vale per chiunque io voglia contattare. Ovviamente, a patto di seguire la via più diretta possibile: se seguiamo vie traverse ( e noi italiani siamo convinti fautori delle “vie traverse” ) i passaggi aumentano a dismisura e penso che si raggiungano numeri considerevoli. Il caso peggiore he mi viene in mente potrebbe essere pari al numero complessivo degli abitanti del pianeta. Se mi legge qualche matematico, per favore, mi smentisca!! 😀 Qualcuno mi dica che esiste un limite superiore al caos e che non è così alto! 😀

A questo punto vorrei fare una digressione per parlare di un software che può visualizzare grafi di ogni genere ed eseguire delle operazioni sui dati per riordinarli/evidenziarne delle caratteristiche non immediatamente evidenti: Gephi. Questo software può essere trovato/scaricato alla seguente url: http://gephi.github.io/ che si presenta più o meno ( a seconda della versione che state utilizzando ) come segue:

Non è mia intenzione scrivere qui un corso su come usarlo, quello lo potete trovare qui:  tutorial introduttivo a slide ( in inglese )  oppure guardarvi alcuni filmati tipo questo: http://www.youtube.com/watch?v=UgivNSMc2_A

Se non avete voglia di leggere tanto, ma solo di sapere quello che questo software può fare  potete guardare questo filmato:

Interessante, vero ?

“Un bel giochino” penseranno molti, “ma a che mi serve ?” Per rispondere a questa domanda, a questo punto pensiamo a qualche “applicazione” pratica. Per non “pestare i piedi a nessuno”, ed ispirati da un precedente articolo sulle pubblicazioni scientifiche, prendiamo in considerazione di fare una analisi delle relazioni nascoste all’interno dei gruppi che producono letteratura scientifica. Per fare ciò andiamo su un sito dove vengono pubblicati i lavori scientifici.

Immaginiamo di fare una ricerca su un sito quale “Research Gate”  oppure “Scopus“, concentrandoci su un autore. ( Nota bene: i 2 siti citati in precedenza richiedono una registrazione, ma ne esistono altri per cui si può accedere anonimamente alle informazioni. ) Quello che vogliamo fare è vedere quanto ha pubblicato il nostro autore e con chi,  quanto queste persone hanno pubblicato a loro volta e con chi. Ovviamente se continuassimo così “all’infinito”, senza un criterio di arresto, il quale specifichi quando arrestare la nostra esplorazione, proseguiremmo fino a analizzare tutta la letteratura presente sul sito. Un criterio di arresto accettabile può essere quello di non andare oltre un certo numero di “salti”, ovvero quello di non allontanarsi dal punto iniziale più di una quantità stabilita.

Ovviamente esistono altri criteri di arresto tipo

  • fermarsi quando il nodo non ha connessioni dirette altrove;
  • fermarsi quando il nodo è più piccolo di una certa quantità;
  • …altro…

ognuno con i suoi vantaggi ed i suoi svantaggi. Non stiamo qui a parlarne, per una questione di brevità ( e visto che so che divago anche troppo ), ne parleremo un’altra volta.

Ma chi ci dice che il criterio di arresto che abbiamo scelto sia quello giusto ? Che io sappia nessuno. O meglio, sono giusti tutti, ma ognuno ha le sue limitazioni.

Primo passo per costruire il grafico o meglio il grafo: cominciamo col raccogliere i dati. Per scrivere questo post ho effettuato una ricerca manuale, l’ideale sarebbe quella di scrivere un programma che automaticamente raccoglie di dati e li riordinanel modo richiesto: se sapessi programmare lo avrei fatto!

Vediamo quante pubblicazioni ha fatto il soggetto che stiamo studiando e con chi. Ovvero dovremo estrarre dal web queste informazioni ed annotarle da qualche parte ( un foglio elettronico di calcolo – o spreadsheet – tipo quelli fatti con excel ) per poi importarle in Gephi con una certa semplicità. ( vedi filmato https://www.youtube.com/watch?v=knZEcHpJDkw )

L’importante è organizzare i dati in modo che siano interpretabili da Gephi. ( Ripeto: non è il mio scopo fare un tutorial di questo programma ma di illustrare quello che se ne può ricavare )

In base a quello che avevamo detto nel post precedente sarebbe necessario crearsi 2 file uno contenente i nodi del nostro grafo ed uno i collegamenti. Dico sarebbe, perché il programma consente di generare automaticamente i nodi in base ai collegamenti che vengono inseriti: se il nodo cui fa riferimento il collegamento non è presente lo genera basta selezionare l’apposita spunta quando si importano i dati.

Fondamentalmente è necessario creare uno spreadsheet come quello illustrato sotto:

Source Target Type Id Label Weight
1 2 Undirected 1 16.0
1 3 Undirected 2 9.0
1 4 Undirected 3 11.0
1 5 Undirected 4 2.0
1 6 Undirected 6 1.0
1 7 Undirected 7 1.0
1 8 Undirected 8 2.0
1 9 Undirected 9 2.0

E salvare il tutto in formato CSV ( ovvero testo semplice e senza formattazione con virgole usate come  separatori delle colonne ), chevisualizzato con “Gedit” oppure “notepad” compare come:

Source,Target,Type,Id,Label,Weight
1,2,Undirected,1,,16.0
1,3,Undirected,2,,9.0
1,4,Undirected,3,,11.0
1,5,Undirected,4,,2.0
1,6,Undirected,6,,1.0
1,7,Undirected,7,,1.0
1,8,Undirected,8,,2.0
1,9,Undirected,9,,2.0

 

Se qualcuno volesse sapere cosa mettere nel file dei nodi, sappia che esso, fondamentalmente, contiene solo un numero progressivo e l’etichetta del nome del nodo stesso:

Id,Label
1,autore uno
2,autore due
3,autore tre
4, ……..

 

L’Id di questo file corrisponde o al source oppure al target del file dei collegamenti. Altre informazioni sono opzionali e le lascio scoprire a voi.

Dopodiché potremo scegliere un  modo per distribuire i dati rappresentati secondo un certo criterio. Quello che ho scelto io è quello di rappresentare con la dimensione del cerchio il numero totale di pubblicazioni fatte dal soggetto in questioe, mentre con la dimensione del tratto indica quante pubblicazioni ha a comune con l’altro soggetto.

Alla fine, dopo una serie di manipolazioni testando i lauout e modificando le opzioni di “Force Atlas” e poi elaborando i dati con l’algoritmo di clutering “OpenOrd”, ( nota bene: quando scrivo “testando” intendo dire: “provando più o meno a caso le varie opzioni, cercando di mantenere una espressione intelligente e di chi sa quello che fa, esattamente come fanno i grandi consulenti che si fanno pagare centinaia di euro l’ora per quello che voi fate gratis” )  otterremo un grafico come questo:

 

Untitled

Nota bene: il grafico, è tratto da dati reali, e sarebbe possibile visualizzare i nomi delle persone che compongono questo grafico, ma non l’ho fatto per rispetto alla privacy e perché ininfluente per lo scopo di queste righe.

Vediamo ora di fare alcune considerazioni su questo grafico.

L’algoritmo di raggruppamento ( clustering ) ha evidenziato con i vari colori i gruppi indipendenti ( o quasi ) che compongono questo grafico.

Da questo si possono notare varie cose:

  • Gli appartenenti di un gruppo collaborano fortemente fra loro e solo in maniera marginale con gli altri. Ciò può essere dovuto al fatto che ogni gruppo ha una grande specializzazione nel suo campo, ma quello che se ne evince è che quasi nessuno ha un approccio interdisciplinare al proprio lavoro/campo di ricerca. (Come direbbe mia nonna: “ognuno zappa il proprio orto” ).
  • I gruppi in genere presentano una struttura “polare” o “bipolare ( ovvero c’è un “capo” o al massimo due ) a cui, attorno, gravitano svariati “satelliti” o gregari. Questi gruppi, in cui c’é una personalità trainante, sono quelli di “maggior produzione”. Si può pensare che i gruppi ove c’è un leader forte o carismatico, o che si impegna molto per “prendersi cura” o “prestare attenzione” alle persone che ha attorno, funzionino meglio, almeno sul piano produttivo. ( Se poi questo non è molto democratico, non è mio interesse sviscerare questo fatto ).
  • Ci sono dei nodi “isolati” o quasi: ovvero persone che per un motivo o un altro hanno dato solo un contributo minimo al lavoro del cluster. In ambito accademico, si può pensare che questo sia dovuto alla radicata usanza di pubblicare una tesi o di essa, farne uno o due articoli per poi “lasciar andare” la persona interessata per la propria strada ( vedi gruppo verde ).
  • Alcuni gruppi ( tipo quello rosa ) si posizionano fra più gruppi “grossi” e fanno da “trait d’union” fra loro, raccattando collaborazioni dall’uno e dall’altro. E’ probabile  che questo modo di fare sia un tentativo di ovviare alla “mancanza di forze” del gruppo stesso, sfruttando quello che si potrebbe scherzosamente definire “pubblicazione di scambio”. Possiamo pensare di riportare questo modo di fare in biologia animale: sarebbe tipico degli animali detti “opportinisti” o “parassitari”. In un italiano più corretto si potrebbero chiamare “mediatori”. 😉 E’ interessante notare il fatto che i gruppi più grossi non hanno collegamento fra loro se non tramite essi.

Altri gruppi possono evidenziare altri “comportamenti” ( non so come definirli ) dei proprio membri tramite il loro grafico. Onestamente, sarei curioso di fare ulteriori analisi, ma il tempo a disposizione è diventato sempre più raro.

Nota di completezza e scuse: alcuni colleghi ed amici – che vogliono rimanere anonimi – mi hanno fatto notare che sono fondamentalmente una persona “candida ed ingenua”. Riporto qui quello che mi è stato detto per dovere di completezza, facendo ammenda della mia scarsa profondità di pensiero.

“Nelle ricostruzioni/motivazioni che hai illustrato, hai omesso un meccanismo che  spesso è alla base di tutti della maggioranza dei raggruppamenti: “la pubblicazione di scambio”. Meccanismo molto facile da capire e molto conveniente per tutti i membri del gruppo che in italiano corrente può essere descritto come «Faccio un lavoro e ci metto il nome di tutti, li altri fanno lo stesso con me, e mi trovo N lavori al prezzo con la fatica di uno.» [ N.D.R.: La “pubblicazione di scambio” è l’equivalente scientifico del famoso “voto di scambio” che è diventato costume imperante negli anni passati. Ora, visto che il voto di scambio “dovrebbe” essere reato, perché un comportamento identico in altri campi non lo é ? Ricordiamoci che son questi signori, con le loro pubblicazioni che ci dicono “cosa é sano”, “cosa fa bene” e cosa NO…..]

Un altro meccanismo della “pubblicazione di scambio” può essere quella del mediatore. Ad esempio: «Devi fare una analisi che non sai come fare ? Io ti procuro il contatto con la persona giusta, però nella lista degli autori metti anche me» [ N.D.R.: anche in questo caso questo modo di fare, mi ricorda la battuta di un vecchio film che recitava piu’ o meno così: «Ti farò una proposta che non potrai rifutare…..»]

Visto che non sono capace di elaborare un criterio per discriminare questo “evento” e tantomeno sono capace di scrivere un programma che faccia questo, chiedo aiuto a chi ha tempo e voglia per farlo: un aiuto è estremamente gradito!!! 🙂 Scusandomi ancora con tutti, principalmente con coloro che seguono questo blog, spero di aver colmato così la lacuna che mi era sfuggita.

Al momento mi fermo qui, con la promessa di tornare su altri aspetti di questo argomento, visto che quello che ho scritto finora è solo una “prima occhiata” al vasto universo delle reti sociali.

Nel prossimo post dedicato a questo argomento vedremo come fare qualcosa di analogo per i nostri contatti facebook. Vi riferisco quello che ho trovato su internet, visto che non ho un account su tale “social”. Esiste una applicazione ( si dice così ? ) che consente di visualizzare ed in qualche modo analizzare la “nostra” ( sarebbe meglio dire “vostra ) rete sociale.

Inciso: se qualcuno avesse del tempo da perdere e volesse effettuare una “ricerca” analoga pubblicandola poi in un suo post, sarei felice di discutere con lui/lei dei risultati ottenuti.

Annunci

11 pensieri su “Le Reti Sociali

  1. Pingback: Visto nel Web – 161 | Ok, panico

  2. Innanzitutto bentornato! Purtroppo penso che discriminare le pubblicazioni di scambio da quelle reali non sia facile (per non dire impossibile) perché sono frutto di un comportamento scorretto che si manifesta con la sola “firma” sulla pubblicazione. Non c’è una percentuale di partecipazione che possa, ad esempio, farti classificare chi firma con alta frequenza e bassi contributi, giusto?
    Detto questo, non posso credere che tu abbia copiato i dati a manina in un foglio elettronico!

      • Questo anche è vero. Stavo pensando a soluzioni diverse (tipo script per la shell di Linux) ma col tablet non si può. Mi sa proprio che ti tocca fare l’amanuense! Ti auguro di rimetterti presto in piedi. 🙂

      • Grazie! Sono gia’ in piedi!!
        E sono FELICEMENTE tornato al mio “catorcio” con linux sopra 😀 Ed ora sto smaltendo il lavoro accumulato ( che i colleghi si son guardati bene di fare al posto mio 😀 )

      • Bene!!! E allora devi passarmi la pagina da cui hai meticolosamente ricopiato i dati, chissà che non mi venga qualche idea per estrarre automaticamente i dati (ed esportarli in un comodo CSV da dare in pasto a Gephi – strumentino interessante, tra l’altro).
        Per curiosità, quanto è “catorcio” il tuo catorcio?

      • Il catorcio ? Tanto!!! Figurati che potrebbe essere un FranKestIn dei pc, visto che l’ho rimesso assieme riutilizzando i pezzi ancora funzionanti di una mezza dozzina di pc disinventariati. 😉

        Il file ? Estrarre i dati ? …mmmm *stuzzicante*!! 🙂 ora come ora non ho tempo, ma appena riesco a far emergere lo snorkel dalle scartofie ti dico tutto 🙂

      • Eccomi, come promesso!
        I dati che ho recuperato vengono da “researgate.net” che è un sito dove i ricercatori mettono le loro pubblicazioni. Richiede una registrazione, ma è gratuito.
        Oppure entrando tramite il link diretto ad un profilo di una persona che è già iscritta. La persona che cervavo non c’è piu’ e mi ha mandato al link
        http://www.researchgate.net/directory/profiles
        A quel punto puoi cercare il nome della persona o della istituzione che ti interessa. Sulla scheda della singola persona ( la ricerca che ho fatto io ) compare in alto il numero delle pubblicazioni, il numero di visite ed altre cose.
        Poi a destra ci sono i “TOP COAUTHORS” (sono solo 4) ma se clicchi su “view” all ti si apre un pop-up in javascript che ti fa vedere tutti i coautori con accanto il numero di pubblicazioni che hanno fatto assieme.
        A questo punto, ho inserito a manina prima in un foglio excell e poi direttamente nella data table di Gephi i dati interessanti, attribuendo come già detto la size del nodo al numero di pubblicazioni in quuel momento ed il “weight” del link fra i 2 coautori pari al numero di pubblicazioni in comune.
        Un problema che si pone è che così facendo non hai ben chiaro di quanto ti sei allontanato dal nodo originale ed un altro se hai “preso” tutti i coautori dell’ennesimo ordine.
        Inoltre mentre fai questa cosa, i dati spesso e volentieri si aggiornano ( visto che la gente aggiunge lavori ).
        Non so come automatizzare la cosa!

        🙂

        Se hai qualche idea tu……

  3. Pingback: Mapping Corruption in the Panama Papers with Open Data | Num3ri v 2.0

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...