Oggi il Web contiene più di 4,47 miliardi di pagine <46, che sono collegate tra loro con un numero superiore di link e che contengono una quantità incalcolabile di contenuti digitali. Questa enorme collezione di testi multimediali non è però dotata di una struttura definita, il che rende i contenuti difficilmente raggiungibili dagli utenti. L’unico modo disponibile per orientarsi in questo immenso universo di dati disordinati è usare i motori di ricerca, che sono gli unici strumenti capaci di organizzare le informazioni e renderle accessibili agli utenti. I motori di ricerca sono “intelligenze artificiali che navigano ed esplorano tutta la rete, memorizzando parte di quello che trovano in enormi database sparsi per tutto il mondo” (Piccari 2015, p. 12). Questi sistemi automatizzati elaborano milioni di pagine web e forniscono all’utente informazioni e risposte soddisfacenti per le proprie ricerche. In questa sede, non è possibile né utile affrontare nel dettaglio il funzionamento tecnico dei motori di ricerca (per approfondire, cfr. Baroncelli, Maragi 2008; Ippolita 2007, 2014; Langville, Meyer 2006; Lana 2004), ma basta sapere che, dopo l’inserimento di una query, cioè di una o più parole chiave digitate nella stringa di ricerca, il motore “riesce ad analizzare un’enorme quantità di dati restituendo un elenco ordinato di contenuti” chiamato SERP (Search Engine Results Page) (Maltraversi 2014, p. 16). Le informazioni sono indicizzate in base ad algoritmi complessi che ne indicano l’importanza per una determinata combinazione di keywords, e le informazioni ritenute più interessanti in relazione a una ricerca sono restituite nella parte alta della SERP. In generale esistono due tipi di motori di ricerca: quelli interni ai siti web, che agiscono sui database relativi al sito dentro cui fanno ricerche, e quelli generalisti, come Google e Bing, che organizzano e mettono a disposizione le informazioni sul Web a livello mondiale. In entrambi i casi, l’obiettivo è indicizzare, memorizzare, ordinare le pagine web sotto forma di liste e restituire i contenuti più pertintenti alla ricerca di ogni utente, portando ordine dove c’è confusione (Piccari 2015). Tuttavia, uno dei limiti dei motori di ricerca tradizionali è l’impossibilità di scandagliare il Web in base al significato delle pagine web. In termini semiotici, possiamo dire che scansionano solo il piano dell’espressione (Hjelmslev 1943), cioè lavorano sulle stringhe (sequenze di lettere, numeri e parole) cercate dall’utente, senza “capire” veramente cosa queste stringhe significano. Ad esempio, se cerco su Google la parola “città” ottengo per primi i testi in cui compare il termine, calcolati dall’algoritmo come più rilevanti per me che sto facendo la ricerca in un certo momento <47, in una certà località geografica (in via Azzo Gardino 23, Bologna, Italia, Europa), secondo certe mie abitudini di navigazione sul Web, che sono memorizzate nalla profilazione che mi contraddistinge come utente di Google <48: i primi risultati sono le definizioni di “città” e di “città circondariale” di Wikipedia, la definizione di “città” del vocabolario Treccani e la pagina della città metropolitana di Bologna, perché da Bologna è partita la ricerca. Comprendiamo quindi che il compito di Google non è “capire” il vero è proprio significato dell’espressione “città”, ma trovare quali pagine sono connesse a quel topic e sono più probabilmente pertinenti per la ricerca dell’utente. Insomma, i motori di ricerca, sia interni ai vari siti sia generalisti, si concentrano sul piano dell’espressione a discapito di quello del contenuto: sarà l’utente che investirà i risultati di significato, riconoscendoli come pertinenti alla query inserita e selezionandoli a seconda delle sue necessità. Di conseguenza però, se nel momento della ricerca l’utente non conosce il nome esatto di ciò che sta cercando, la questione diventa più complicata. Se ad esempio vogliamo cercare su Libraccio.it un romanzo ambientato in epoca fascista, dobbiamo sapere il nome preciso dell’opera: inserendo infatti il termine generico “fascismo” otteniamo solo i libri in cui il termine compare nel titolo, escludendo quelli che, pur chiamandosi in un altro modo, trattano del fascismo. Ciò mostra che il sistema di ricerca di Libraccio.it non conosce il contenuto dei testi che cataloga, ma li organizza e li recupera semplicemente grazie al riconoscimento di alcune parole chiave presenti nei loro titoli. L’uso di parole diverse, anche se dotate di significato uguale o simile a quelle che appaiono nel titolo, porta alla perdita di contenuti interessanti e coerenti con il topic. Ciò avviene a causa degli algoritmi di string-matching – o corrispondenza tra stringhe – che stanno alla base dei motori di ricerca tradizionali e che trovano tutte e solo le occorrenze di una stringa all’interno di un testo. Per molti anni i motori si sono basati su questo principio, ovvero sulla ricerca dettagliata dei termini oggetto di interrogazione all’interno dei testi digitali. Più recentemente, però, ci si è resi conto della necessità di dotare questi strumenti di funzioni semantiche, cioè attente al piano del contenuto, oltre che a quello dell’espressione (Hjelmslev 1943). Google ad esempio sta sviluppando diverse funzioni per offrire risultati semanticamente sempre più pregnanti, mentre, in ambito informatico, e in particolare nel campo di studi sul “semantic Web”, stiamo assistendo a un fiorire di tecnologie volte a riconoscere, per quanto possibile, la semantica dei testi digitali. Ne è un esempio FiND, un motore di ricerca semantico destinato a lavorare su singoli siti web e basato su un approccio di Natural Language Processing e Data Mining. Il motore è stato realizzato nell’ambito di un progetto finanziato nel 2014 da Working Capital, acceleratore per startup innovative di Telecom Italia. Il progetto, a cui ho partecipato dall’inizio, è stato concepito e realizzato da un team multidisciplinare composto da docenti, assegnisti e studenti dell’ateneo bolognese <49 e ha portato allo sviluppo di un software che ha le caratteristiche tipiche di un motore di ricerca semantico. In altre parole, abbiamo implementato lo strumento in modo da renderlo capace di: (1) non considerare parti del discorso come congiunzioni, articoli, preposizioni che non investono di senso i testi elaborati; (2) cercare le occorrenze ignorando la stringa e la sintassi: il sistema non deve interessarsi alle variazioni grammaticali dei termini come congiunzioni o declinazioni; (3) assegnare ai termini un giusto “peso” <50 in base al contesto di ricerca; (4) considerare l’intero contenuto delle pagine web che scandaglia, non limitandosi a cercare nei titoli delle risorse; (5) comprendere “l’intorno lessicale” dei termini cercati (quello che in semiotica e in linguistica si chiama “campo semantico”, cfr. Marmo 2015, p. 75), riconoscendo sinonimi, iperonimi e iponimi; (6) comprendere “l’intorno semantico” dei termini cercati, ricollegando ad esempio un regista ai suoi film (Nicoletti 2014). Il vantaggio principale di FiND rispetto ai motori di ricerca tradizionali è la possibilità di superare i limiti della ricerca per parola chiave: data una query, il motore riconosce i termini compresi nella semantic cloud delle parole cercate, grazie ai collegamenti semantici creati dagli sviluppatori del motore. Il prototipo che abbiamo implementato per il progetto finanziato da Working Capital di Telecom si concentra sulle pagine web e sui materiali accademici presenti sul sito dell’Università di Bologna e lavora su tutte le informazioni contenute nelle varie descrizioni degli insegnamenti e dei corsi di studio, nelle pagine personali di professori, ricercatori e dottorandi e negli abstract di tutte le loro pubblicazioni, considerandole come un corpus unico. Per migliorare ad esempio la ricerca di informazioni didattiche, sono stati tokenizzati <51 tutti i testi dei programmi dei vari insegnamenti, dopo aver eliminato le stop-words e altre parole “inutili” per la ricerca sui contenuti (come “esame”, “lezione” e “programma”). In questo modo abbiamo creato una matrice con gli insegnamenti sulle righe e le parole selezionate sulle colonne. L’idea alla base del progetto è che i vari “token”, intesi qui come sintagmi nominali, acquisiscano un peso diverso in dipendenza del contesto: “Kant” ad esempio ha un peso maggiore quando si parla di filosofia e minore, ma non pari a zero, se si parla di chimica. Nello specifico, ogni termine è rappresentato come un vettore e questo peso è determinato in base alla ricorrenza della parola e al suo posizionamento nel testo (ad esempio se la parola in questione compare nel titolo “pesa” di più).
Tornando alle possibilità che i motori di ricerca più o meno semantici offrono alla semiotica, è chiaro che sono strumenti imprescindibili per fare analisi su ampi corpora di testi digitali. E considerando gli obiettivi della semiotica, i motori semantici (o tendenzialmente più semantici) sono preferibili a quelli non semantici (o meno semantici) perché restituiscono contenuti che vanno oltre le parole chiave inserite da chi cerca e, riconoscendo fenomeni semantici come la sinonimia, danno liste più ampie di contenuti semanticamente pertinenti.
Tuttavia, anche i motori di ricerca tradizionali più diffusi sono uno strumento fondamentale per chiunque voglia ottenere informazioni dal Web, e ovviamente lo sono anche per il semiologo interessato a studiare il significato di grosse quantità di testi sul Web.
In base al tipo di testi che si vuole studiare si dovranno usare motori di ricerca più o meno semantici, in grado di estrarre contenuti provenienti da una certa piattaforma e accomunati da un unico topic. I social network sites ad esempio sono tutti dotati di un servizio di ricerca interno per recuperare post e commenti in base a diverse variabili (l’autore, le parole usate nel testo, gli hashtag e così via).
Come abbiamo visto, esistono inoltre applicazioni esterne capaci di fare ricerche mirate su singole piattaforme, come ad esempio gli strumenti implementati dalla Digital Methods Initiative di Amsterdam.
In sintesi, analizzare grandi quantità di dati digitali senza ricorrere all’aiuto dei sistemi intelligenti per il recupero dei contenuti è pressoché impossibile e ciò fa dei motori di ricerca “uno dei fenomeni tecnologici, culturali ed economici più importanti di questi ultimi anni” (Carpineto, Romano 2005, p. 1). Il semiologo che si avvale dei loro servizi per la costruzione del corpus dovrà avere una conoscenza almeno parziale del loro funzionamento, in modo da comprendere su quali basi selezionano i testi digitali. In seguito vedremo ad esempio come l’uso di due strumenti di ricerca su Instagram (Instagram Hashtag Explorer e il motore interno al social network) produca due liste di testi, diverse sia nella dimensione, sia, in alcuni casi, nei contenuti delle singole occorrenze testuali selezionate.
Starà allo/a studioso/a valutare il grado di rappresentatività dei risultati e determinare il proprio corpus di indagine.
[NOTE]
46 Secondo la stima di Worldwidewebsize.com, un sito che quantifica giornalmente la dimensione del World Wide Web, consultato il 12 settembre 2018.
47 Ricerca fatta su Google l’8 marzo 2018 da Bologna.
48 Con il termine profilazione si intendono le attività di raccolta ed elaborazione dei dati degli utenti di un servizio web, utili per segmentarli in base al loro comportamento online e offline. Questi dati comprendono ad esempio lo storico delle ricerche fatte su Google e dei nostri spostamenti nello spazio e permettono di creare un profilo di mercato per ciascun utente.
49 Il team era composto, in ordine alfabetico, da: Roberto Baroncelli, ingegnere informatico; Gabriele Baronio, laureando magistrale in Semiotica, Giovanna Cosenza, docente di Semiotica dei nuovi media e coordinatrice del Corso di laurea in Scienze della comunicazione all’Università di Bologna; Elisa Gasparri, assegnista di ricerca del Dipartimento di Filosofia e comunicazione dell’Università di Bologna; Maurizio Matteuzzi, docente di Intelligenza artificiale dell’Università di Bologna; Federico Nanni, dottore di ricerca in Science, Technology and Society all’Università di Bologna; Gianmarco Nicoletti, laureato triennale in Informatica all’Università di Bologna e sviluppatore software; e infine io, dottoranda in Philosophy, Science, Cognition and Semiotics all’Università di Bologna. Una breve presentazione del gruppo di ricerca è disponibile al link: http://www.dfc.unibo.it/it/ricerca/gruppi-di-ricerca/find.
50 Il “peso” è un valore numerico che indica l’importanza di un termine (token) all’interno di un testo raggiungibile grazie a una URL. Il peso si calcola contando le occorrenze del token nel testo e suggerisce se un certo termine è più rilevante per un tema invece che per un altro.
51 In generale, tokenizzare significa analizzare automaticamente i lessemi in un testo per categorizzarli in base alla funzione e dare loro un significato.
Jennifer Colombari, FRA SEMIOTICA, TECNOLOGIE DIGITALI E BIG DATA: INTERPRETARE LO SPAZIO URBANO CON GLI USER-GENERATED CONTENTS, Tesi di dottorato, Alma Mater Studiorum Università di Bologna, 2019